emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#44436: closed ([PATCH] Add Cantata)


From: GNU bug Tracking System
Subject: bug#44436: closed ([PATCH] Add Cantata)
Date: Wed, 04 Nov 2020 19:56:02 +0000

Your message dated Wed, 4 Nov 2020 14:55:16 -0500
with message-id <20201104195516.GA15076@jasmine.lan>
and subject line Re: [bug#44436] [PATCH] Add Cantata
has caused the debbugs.gnu.org bug report #44436,
regarding [PATCH] Add Cantata
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
44436: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=44436
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH] Add Cantata Date: Wed, 04 Nov 2020 11:24:01 +0100 User-agent: mu4e 1.4.13; emacs 27.1
        modified:   mpd.scm
---
 gnu/packages/mpd.scm | 57 ++++++++++++++++++++++++++++++++++++++------
 1 file changed, 50 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 77666de7b2..87bdb61298 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
 ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net>
+;;; Copyright © 2020 Simon Streit <simon@netpanic.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,29 +36,36 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
-  #:use-module (gnu packages gettext)
-  #:use-module (gnu packages gnome)
-  #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages gtk)
-  #:use-module (gnu packages icu4c)
-  #:use-module (gnu packages readline)
+  #:use-module (gnu packages cdrom)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages mp3)
+  #:use-module (gnu packages music)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
-  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages video)
@@ -416,3 +424,38 @@ other MPD frontends.")
 support")
     (home-page "https://github.com/eonpatapon/mpDris2";)
     (license license:gpl3+)))
+
+(define-public cantata
+  (package
+    (name "cantata")
+    (version "2.4.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/CDrummond/";
+                                  name "/releases/download/v" version "/"
+                                  name "-" version ".tar.bz2"))
+              (sha256 (base32 
"10pcrpmb4n1mkgr21xd580nrbmh57q7s72cbs1zay847hc65vliy"))))
+    (build-system cmake-build-system)
+    (native-inputs `(("cmake" ,cmake)
+                     ("ffmpeg" ,ffmpeg)
+                     ("libebur128" ,libebur128)
+                     ("qttools" ,qttools)))
+    (inputs `(("libmtp" ,libmtp)
+              ("qtbase" ,qtbase)
+              ("libmusicbrainz" ,libmusicbrainz)
+              ("mpg123" ,mpg123)
+              ("qtmultimedia" ,qtmultimedia)
+              ("qtsvg" ,qtsvg)
+              ("taglib" ,taglib)
+              ("libcdio-paranoia" ,libcdio-paranoia)
+              ("udisks" ,udisks)
+              ("eudev", eudev)))
+    (arguments `(#:tests? #f))
+    (synopsis "Qt5 Graphical MPD Client")
+    (description "Cantata is a graphical client using the Qt5 toolkit
+for the Music Player Daemon (MPD).  Its user interface is highly
+costumisable, supports multiple collections, ratings, and dynamic
+playlists.  A local cache of the music album will be created to
+provide a hierarchy of albums and artists alongside with albumart. ")
+    (home-page "https://github.com/cdrummond/cantata";)
+    (license gpl3+)))
--
2.29.1



--- End Message ---
--- Begin Message --- Subject: Re: [bug#44436] [PATCH] Add Cantata Date: Wed, 4 Nov 2020 14:55:16 -0500
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!


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]