From: Tobias Geerinckx-Rice via Guix-patches via <guix-patches@gnu.org>
To: 37329@debbugs.gnu.org
Cc: kkebreau@posteo.net
Subject: [bug#37329] [PATCH] gnu: Add audacious.
Date: Sat, 07 Sep 2019 13:45:40 +0200 [thread overview]
Message-ID: <87ef0swcrf.fsf@nckx> (raw)
In-Reply-To: <20190907045755.6578-1-kkebreau@posteo.net>
[-- Attachment #1: Type: text/plain, Size: 7063 bytes --]
Kei,
Kei Kebreau 写道:
> * gnu/packages/music.scm (audacious): New variable.
> ---
> gnu/packages/music.scm | 102
> +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 102 insertions(+)
>
> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index a43bccf4f8..33c53dec35 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -203,6 +203,108 @@ and play MIDI files with a few clicks in a
> user-friendly interface offering
> score, keyboard, guitar, drum and controller views.")
> (license license:gpl3+)))
>
> +(define-public audacious
> + (package
> + (name "audacious")
> + (version "3.10.1")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append
> "https://distfiles.audacious-media-player.org/"
> + "audacious-" version
> ".tar.bz2"))
> + (sha256
> + (base32
> +
> "14vbkhld5hwh96j8p8hjq9ybvc2m060a1y8crz14i51wpd0fhrl3"))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:configure-flags
> + (list "--disable-gtk" "--enable-qt"
> + ;; Add the output lib directory to the RUNPATH.
> + (string-append "LDFLAGS=-Wl,-rpath=" %output
> "/lib"))
This comment just repeats the code, so it's not needed.
> + #:tests? #f ; no check target
Could you run C-M-q (or etc/indent-code.el) on the whole
definition? That will allow later editors to do the same without
changing unrelated lines.
> + #:phases
> + (modify-phases %standard-phases
> + (add-after 'install 'unpack-plugins
> + (lambda* (#:key inputs #:allow-other-keys)
> + (let ((plugins (assoc-ref inputs
> "audacious-plugins")))
> + (invoke "tar" "xvf" plugins)
> + (chdir (string-append "audacious-plugins-"
> ,version))
It's not wrong, and I know this saves (with-directory-excursion)s
down the road, but brr. :-)
> + #t)))
> + (add-after 'unpack-plugins 'configure-plugins
> + (lambda* (#:key configure-flags outputs
> #:allow-other-keys)
> + (let ((out (assoc-ref outputs "out")))
> + (substitute* "configure"
> + (("/bin/sh") (which "sh")))
> + (apply invoke "./configure"
> + (append configure-flags
> + ;; audacious-plugins requires
> audacious to build.
> + (list (string-append
> "PKG_CONFIG_PATH="
> + out
> "/lib/pkgconfig:"
> + (getenv
> "PKG_CONFIG_PATH"))
> + (string-append "--prefix="
> out)))))))
> + (add-after 'configure-plugins 'build-plugins
> + (lambda _
> + (invoke "make" "-j" (number->string
> (parallel-job-count)))))
> + (add-after 'build-plugins 'install-plugins
> + (lambda _
> + (invoke "make" "install"))))))
> + (native-inputs
> + `(("audacious-plugins"
> + ,(origin
> + (method url-fetch)
> + (uri (string-append
> "https://distfiles.audacious-media-playerorg/"
^^^^^^^^^
Typo!
> + "audacious-plugins-" version
> ".tar.bz2"))
> + (sha256
> + (base32
> +
> "0hi61825ayrwc4snwr76f2669k06fii3n8ll1szjk5zr65v1ghzf"))))
I don't mind bundling these like this (Audacious's a leaf package
and — subjectively — media things are allowed/expected to be a bit
bloaty), but it may prove controversial :-)
Would it not be worth supporting a plug-in search path? Are
there, for example, well-supported Audacious plug-ins that aren't
part of this collection?
$ guix size audacious-with-plugins # although I'd prefer 2
packages
…
total: 1649.2 MiB
$ guix size audacious # no plugins or plugin inputs
…
total: 1333.9 MiB
Have you considered a separate ‘audacious-plugins’ package that
could use that mechanism? Why [not]?
> + ("gettext" ,gettext-minimal)
> + ("glib:bin" ,glib "bin") ; for gdbus-codegen
> + ("pkg-config" ,pkg-config)))
> + (inputs
> + `(("dbus" ,dbus)
> + ("glib" ,glib)
> + ("qtbase" ,qtbase)
> + ;; Plugin dependencies
> + ("alsa-lib" ,alsa-lib)
> + ("curl" ,curl)
> + ("ffmpeg" ,ffmpeg)
> + ("flac" ,flac)
> + ("fluidsynth" ,fluidsynth)
> + ("gdk-pixbuf" ,gdk-pixbuf)
> + ("libbs2b" ,libbs2b)
> + ("libcddb" ,libcddb)
> + ("libcdio-paranoia" ,libcdio-paranoia)
> + ("libcue" ,libcue)
> + ("libmodplug" ,libmodplug)
> + ("libnotify" ,libnotify)
> + ("libogg" ,libogg)
> + ("libsamplerate" ,libsamplerate)
> + ("libsndfile" ,libsndfile)
> + ("libvorbis" ,libvorbis)
> + ("libxml2" ,libxml2)
> + ("lirc" ,lirc)
> + ("jack" ,jack-1)
> + ("mpg123" ,mpg123)
> + ("neon" ,neon)
> + ("pulseaudio" ,pulseaudio)
> + ("qtmultimedia" ,qtmultimedia)
> + ("soxr" ,soxr)
> + ("wavpack" ,wavpack)))
> + (home-page "https://audacious-media-player.org")
> + (synopsis "Audio player based on XMMS")
Hmm. To me, ‘Foo copied a lot of files from bar once’ is never
a useful answer to ‘What is foo?’.
All ‘XMMS’ means to me is ‘that ugly audio player I installed
and then immediately removed in the nineties’. Now, that may be
all I need to know about Audacious, I don't know :o)
I hope it's not. Is there something in particular that
distinguishes Audacious from most other players that we could
mention instead?
> + (description
> + "Audacious is an audio player descended from XMMS. Drag
> and drop folders
> +and individual song files, search for artists and albums in
> your entire music
> +library, or create and edit your own custom playlists. Listen
> to CD’s or stream
> +music from the Internet. Tweak the sound with the graphical
> equalizer or
> +experiment with LADSPA effects. Enjoy the modern GTK-themed
> interface or change
> +things up with Winamp Classic skins. Use the plugins included
> with Audacious to
> +fetch lyrics for your music, to set an alarm in the morning,
> and more.")
> + ;; According to COPYING, Audacious and its plugins are
> licensed under the
> + ;; BSD 2-clause license and libguess is licensed under the
> BSD 3-clause
> + ;; license.
> + (license (list license:bsd-2
> + license:bsd-3))))
From COPYING:
“Please note that many of the plugins distributed with
Audacious are under
different licenses.”
And indeed, I see quite a bit of GPL and some ISC code in there.
Thanks!
T G-R
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
next prev parent reply other threads:[~2019-09-07 11:46 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-07 4:57 [bug#37329] [PATCH] gnu: Add audacious Kei Kebreau
2019-09-07 11:45 ` Tobias Geerinckx-Rice via Guix-patches via [this message]
2019-09-07 12:04 ` Tobias Geerinckx-Rice via Guix-patches via
2019-09-07 14:56 ` Kei Kebreau
2019-09-07 20:43 ` Ricardo Wurmus
2019-09-08 0:18 ` Kei Kebreau
2020-11-18 17:14 ` Nicolas Goaziou
2020-11-26 17:35 ` bug#37329: " Nicolas Goaziou
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=87ef0swcrf.fsf@nckx \
--to=guix-patches@gnu.org \
--cc=37329@debbugs.gnu.org \
--cc=kkebreau@posteo.net \
/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).