Re: 02/05: gnu: libmad: Install pkg-config file.
Hi, Kei Kebreau skribis: > Ludovic Courtès writes: > >> Hi Kei, >> >> Perhaps we can keep the .pc file for libmad, adding a comment mentioning >> what you wrote above, but remove it in those cases where it’s not needed >> (as in: not required by Audacity & co., and not done in other distros)? >> >> Thanks, >> Ludo’. > > This sounds good to me. I take this message as permission to push some > changes with those comments? Yes, sure! (And sorry for the delay…) Ludo’.
Re: 02/05: gnu: libmad: Install pkg-config file.
Ludovic Courtès writes: > Hi Kei, > > Perhaps we can keep the .pc file for libmad, adding a comment mentioning > what you wrote above, but remove it in those cases where it’s not needed > (as in: not required by Audacity & co., and not done in other distros)? > > Thanks, > Ludo’. This sounds good to me. I take this message as permission to push some changes with those comments? signature.asc Description: PGP signature
Re: 02/05: gnu: libmad: Install pkg-config file.
Hi Kei, Kei skribis: >> It seems to me that we shouldn’t provide .pc files if upstream doesn’t >> do it. The main reason is that developers who use Guix will come to >> rely on it and unknowingly write code that doesn’t work on other >> distros. (I remember pestering in the past as I stumbled upon packages >> who depended on some library as packaged by a specific distro. :-)) >> >> WDYT? >> >> Apologies if I missed an earlier discussion! > > No apologies needed, the discussion was minimal at best. This patch is the > result of my yielding to the forces of incompatibility you mention. Major > distributions like Debian, Arch Linux [1], and Fedora [2] have all added pkg- > config files for (at least) libmad. Audacity expects to find pkg-config files > for the system libraries it uses, so I supplied those to follow the path of > least resistance. Ah, that makes sense; it’s a case where I think it’s OK to follow the majority. Perhaps we can keep the .pc file for libmad, adding a comment mentioning what you wrote above, but remove it in those cases where it’s not needed (as in: not required by Audacity & co., and not done in other distros)? Thanks, Ludo’.
Re: 02/05: gnu: libmad: Install pkg-config file.
Hi Ludovic, > It seems to me that we shouldn’t provide .pc files if upstream doesn’t > do it. The main reason is that developers who use Guix will come to > rely on it and unknowingly write code that doesn’t work on other > distros. (I remember pestering in the past as I stumbled upon packages > who depended on some library as packaged by a specific distro. :-)) > > WDYT? > > Apologies if I missed an earlier discussion! No apologies needed, the discussion was minimal at best. This patch is the result of my yielding to the forces of incompatibility you mention. Major distributions like Debian, Arch Linux [1], and Fedora [2] have all added pkg- config files for (at least) libmad. Audacity expects to find pkg-config files for the system libraries it uses, so I supplied those to follow the path of least resistance. If there's a way to supply "-I" and "-L" flags directly somewhere in the build process as was done before, I'm not opposed to reverting these changes and modifying Audacity's package definition myself during the next update. I'll investigate some of our other CMake packages for possible inspiration. Thanks, Kei [0]: https://packages.debian.org/buster/amd64/libmad0-dev/filelist [1]: https://github.com/archlinux/svntogit-packages/blob/packages/libmad/trunk/libmad.patch [2]: https://koji.fedoraproject.org/koji/rpminfo?fileOrder=-name=22388610=-id=0#filelist signature.asc Description: This is a digitally signed message part
Re: 02/05: gnu: libmad: Install pkg-config file.
Hi Kei, guix-comm...@gnu.org skribis: > commit 83afa4e9a6aa4dc69f86651d795007dc96a31e64 > Author: Kei Kebreau > AuthorDate: Sun Aug 2 16:54:03 2020 -0400 > > gnu: libmad: Install pkg-config file. > > * gnu/packages/mp3.scm (libmad)[arguments]: Add 'install-pkg-config phase. [...] > +(add-after 'install 'install-pkg-config > + (lambda* (#:key outputs #:allow-other-keys) > +(let* ((out (assoc-ref outputs "out")) > + (pkg-config-dir (string-append out "/lib/pkgconfig"))) > + (mkdir-p pkg-config-dir) > + (with-output-to-file (string-append pkg-config-dir "/mad.pc") > +(lambda _ > + (format #t > + "prefix=~@*~a~@ > + libdir=${prefix}/lib~@ It seems to me that we shouldn’t provide .pc files if upstream doesn’t do it. The main reason is that developers who use Guix will come to rely on it and unknowingly write code that doesn’t work on other distros. (I remember pestering in the past as I stumbled upon packages who depended on some library as packaged by a specific distro. :-)) WDYT? Apologies if I missed an earlier discussion! Ludo’.