Pierre Langlois writes: > Hello guix! > > Here are patches to add the Clementine music player [1] and its dependencies. > First of all, thanks all of you for Guix{,SD}! It's a lot of fun to play > with. Hi Pierre! Thanks a lot for packaging this! > I have a couple of questions about this series: > > * cryptopp > > I believe this *should* be an optional dependency but I wasn't able to disable > it. It seems to be used for spotify support: > > ~~~(CMakeLists.txt) > if(NOT HAVE_SPOTIFY_BLOB AND NOT CRYPTOPP_FOUND) > message(FATAL_ERROR "Either crypto++ must be available or the non-GPL Spotify " > "code must be compiled in") > elseif(CRYPTOPP_FOUND) > set(HAVE_CRYPTOPP ON) > set(HAVE_SPOTIFY_DOWNLOADER ON) > endif() > ~~~ > > What do you think? Should we patch the above file to disable spotify support > or should we package cryptopp? I've done the latter in this series. I don't see any reason not to use crypto++ here. > * sqlite/nss > > I ran into complications with this package when I realized Clementine needed > the FTS3 extension enabled in sqlite [2]. I've been able to test this but it > took an entire day to rebuild all packages depending on sqlite in my profile > :-P. By the way, the fact I can do this is great! I wonder why FTS3 is not enabled by default in sqlite, as it seems useful. Any idea? If there are performance or compatibility problems, we could probably ship it as a separate package. > As a result, the nss package was rebuilt and I consistently got 6 failures, > all due to a PayPal certificate. I had no idea how to fix this so I updated > the nss package to the latest release and the tests passed. Yes, this is a known problem. https://lists.gnu.org/archive/html/guix-devel/2016-12/msg00828.html We also tried updating to 3.28 recently, but it also fails to build on ARM platforms, so we're currently "stuck" on 3.27.1. https://lists.gnu.org/archive/html/guix-devel/2017-01/msg01982.html > So I suppose this series should probably go in a branch as it will require a > lot of rebuilding. For now, you can define a separate sqlite package with FTS enabled. See e.g. "gd-for-php" in php.scm for an example of inheriting a package, and grep around for 'substitute-keyword-arguments' to see how to override inherited configure flags. I will comment on the other patches individually. Thank you!