unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: Simon Streit <lists@netpanic.org>
Cc: 44436-done@debbugs.gnu.org
Subject: bug#44436: [PATCH] Add Cantata
Date: Wed, 4 Nov 2020 14:55:16 -0500	[thread overview]
Message-ID: <20201104195516.GA15076@jasmine.lan> (raw)
In-Reply-To: <ygu1rh9fmim.fsf@netpanic.org>

On Wed, Nov 04, 2020 at 11:24:01AM +0100, Simon Streit wrote:
> +(define-public cantata

Thanks! I use MPD every day so I'm always glad to have another client
available. Pushed as 79e9168aa6ebe3eee83e852ba96f46dda8ec0490 with the
changes described below...

First, I tried building it, but that failed for two reasons:

> +    (build-system cmake-build-system)

The build system was not available — I needed to add '#:use-module (guix
build-system cmake)' to mpd.scm's module imports.

> +    (license gpl3+)))

The license needs to be "prefixed" like the other licenses in this file.
That is: '(license license:gpl3+)'. If you look in mpd.scm's module
imports, you'll see that we import the license module with a "prefix":

#:use-module ((guix licenses) #:prefix license:)

This is to work around the fact there are both packages and licenses
named 'zlib' and 'expat', and the namespaces would otherwise collide
when importing the license module and either of those packages.

After that, I looked more closely at the inputs and native-inputs. In
general, native-inputs are things that are used *only* while building
the package. There were some unused inputs, and some were
miscategorized. I fixed that by 1) reading the output of CMake's
'configure' phase, 2) intuition and 3) checking which inputs the built
Cantata refers to:

------
$ guix gc --references $(./pre-inst-env guix build cantata)
/gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib
/gnu/store/3bp88g40ay0zca3azdk7wf4nyrwrdjjx-qtsvg-5.14.2
/gnu/store/9z2412yyy95bcq7brfhdjlh8im2lxkpc-ffmpeg-4.3.1
/gnu/store/af00wnjldgbbyzb17bjkkw2mn0b1gr4d-qtbase-5.14.2
/gnu/store/b12szz8wy7wxvfv2jfj5ygqkgqar03ih-taglib-1.12-beta-1
/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31
/gnu/store/gklxpq6zmalxspwvj9md140skfpayrah-libmtp-1.1.18
/gnu/store/irsg92y6hnz1agsqvl6mwqxz32lkmi8v-cantata-2.4.2
/gnu/store/n1azzzjsq99n05r5xl0hcljvpvw5arxn-qtmultimedia-5.14.2
/gnu/store/ngv0dqjz88cn5553ys8w19ydwc55lvky-mpg123-1.26.3
/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16
/gnu/store/rykm237xkmq7rl1p0nwass01p090p88x-zlib-1.2.11
/gnu/store/v52179lrpvl6cdqr7li45zd8zafc6156-libebur128-1.2.4
/gnu/store/z1ngxz9rc1vqpbwvvlm8l37fa0q6ga5x-eudev-3.2.9
------

Anything not listed there is either used only while building, not
used at all, or the relevant software is copied into Cantata.

Note that libcdio-paranoia is not listed — it is registered by the CMake
configure phase, so either something is broken in the build scripts or
it has been copied into Cantata. I left it in, just in case it works...
somebody with an optical drive will find out.

Also, libmusicbrainz is not listed. If libcdio-paranoia is not included,
CMake doesn't complain about the missing libmusicbrainz. No matter what,
CMake fails to find libmusicbrainz, so I removed it from Cantata's
inputs.

It's not unusual for older CMake projects that are no longer being
actively developed to have this kind of inconsistency with their build
scripts.  Follow-up patches that address this are quite welcome! Are you
able to test those features?

Finally, I made some stylistic or grammatical changes to the synopsis,
description, and source URI, added a comment about why we skip the
tests, and pushed. Thanks again!




      reply	other threads:[~2020-11-04 19:56 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-04 10:24 [bug#44436] [PATCH] Add Cantata Simon Streit
2020-11-04 19:55 ` Leo Famulari [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201104195516.GA15076@jasmine.lan \
    --to=leo@famulari.name \
    --cc=44436-done@debbugs.gnu.org \
    --cc=lists@netpanic.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).