[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] gnu: Add alsa-plugins.
From: |
Kei Kebreau |
Subject: |
Re: [PATCH] gnu: Add alsa-plugins. |
Date: |
Mon, 19 Dec 2016 12:59:52 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
ng0 <address@hidden> writes:
> * gnu/packages/linux.scm (alsa-plugins): New variable.
> ---
> gnu/packages/linux.scm | 63
> ++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 63 insertions(+)
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 8f0a9ab..3b20c95 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -15,6 +15,7 @@
> ;;; Copyright © 2016 Ricardo Wurmus <address@hidden>
> ;;; Copyright © 2016 David Craven <address@hidden>
> ;;; Copyright © 2016 John Darrington <address@hidden>
> +;;; Copyright © 2016 ng0 <address@hidden>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -69,6 +70,8 @@
> #:use-module (gnu packages slang)
> #:use-module (gnu packages texinfo)
> #:use-module (gnu packages tls)
> + #:use-module (gnu packages video)
> + #:use-module (gnu packages xiph)
> #:use-module (gnu packages xml)
> #:use-module (gnu packages xdisorg)
> #:use-module (gnu packages xorg)
> @@ -869,6 +872,66 @@ MIDI functionality to the Linux-based operating system.")
> ;; GPLv2-only.
> (license license:gpl2)))
>
> +(define-public alsa-plugins
> + (package
> + (name "alsa-plugins")
> + (version "1.1.1")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append "ftp://ftp.alsa-project.org/pub/plugins/"
> + name "-" version ".tar.bz2"))
> + (sha256
> + (base32
> + "1w81z5jlwqhd1l2m7qrq69lc4k9dnrg1wn52jsl2hrf3hbhd394f"))))
> + (build-system gnu-build-system)
> + ;; TODO: Split libavcodec and speex if possible. It looks like they can
> not
> + ;; be split, there are references to both in files.
> + ;; TODO: Remove OSS related plugins, they add support to run native
> + ;; ALSA applications on OSS however we do not offer OSS and OSS is
> + ;; obsolete.
> + (outputs '("out" "pulseaudio"))
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-after 'install 'split
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + ;; Distribute the binaries to the various outputs.
> + (let* ((out (assoc-ref outputs "out"))
> + (outlib (string-append out "/lib/alsa-lib"))
> + (outconf (string-append out "/share/alsa/alsa.conf.d"))
> + (pua (assoc-ref outputs "pulseaudio"))
> + (pualib (string-append pua "/lib/alsa-lib"))
> + (puaconf (string-append pua "/share/alsa/alsa.conf.d")))
> + (mkdir-p puaconf)
> + (mkdir-p pualib)
> + (for-each (lambda (file)
> + (rename-file file (string-append puaconf "/"
> file)))
> + (find-files out ".*\\.(conf|example)"))
> + (for-each (lambda (file)
> + (rename-file file (string-append pualib "/"
> file)))
> + (find-files out ".*pulse\\.(la|so)"))
> + (delete-file-recursively (string-append out "/share")))
> + #t)))))
"find-files" is returning the entire path to the files, so "rename-file"
sees the files' destination as
"/gnu/store/.../gnu/store...destination-file". You need to adjust
find-files accordingly, perhaps by changing into the directory to be
copied from first and then calling "find-files" from the current
directory ".". Hope that makes sense. :-)
> + (inputs
> + `(("alsa-lib" ,alsa-lib)
> + ("speex" ,speex) ; libspeexdsp resampling plugin
> + ("libsamplerate" ,libsamplerate) ; libsamplerate resampling plugin
> + ("ffmpeg" ,ffmpeg) ; libavcodec resampling plugin, a52 plugin
> + ("pulseaudio" ,pulseaudio))) ; PulseAudio plugin
> + (native-inputs
> + `(("pkg-config" ,pkg-config)))
> + (home-page "http://www.alsa-project.org/")
> + (synopsis "Plugins for the Advanced Linux Sound Architecture (ALSA)")
> + (description
> + "The Advanced Linux Sound Architecture (ALSA) provides audio and
> +MIDI functionality to the Linux-based operating system. This package
> enhances ALSA
> +by providing additional plugins which include: upmixing, downmixing, jackd
> and
> +pulseaudio support for native alsa applications, format conversion (s16 to
> a52), and
> +external rate conversion.")
> + (license (list license:gpl2+
> + ;; `rate/rate_samplerate.c': LGPL v2.1 or later.
> + license:lgpl2.1+))))
> +
> (define-public iptables
> (package
> (name "iptables")
signature.asc
Description: PGP signature
- Re: [PATCH] gnu: Add alsa-plugins.,
Kei Kebreau <=