* gnu/packages/linux.scm (alsa-plugins): New variable. --- gnu/packages/linux.scm | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 934a67f..2448250 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rek...@elephly.net> ;;; Copyright © 2016 David Craven <da...@craven.ch> ;;; Copyright © 2016 John Darrington <j...@gnu.org> +;;; Copyright © 2016 ng0 <n...@we.make.ritual.n0.is> ;;; ;;; 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 (guix build-system cmake) #:use-module (guix build-system gnu) @@ -867,6 +870,82 @@ 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. + (outputs '("out" "pulseaudio")) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'split + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Split the binaries to the various outputs. + (let* ((out (assoc-ref outputs "out")) + (pua (assoc-ref outputs "pulseaudio"))) + (mkdir-p (string-append pua "/share/alsa/alsa.conf.d/")) + (mkdir-p (string-append pua "/lib/alsa-lib")) + (rename-file (string-append out "/share/alsa/alsa.conf.d/" + "50-pulseaudio.conf") + (string-append pua "/share/alsa/alsa.conf.d/" + "50-pulseaudio.conf")) + (rename-file (string-append out "/share/alsa/alsa.conf.d/" + "99-pulseaudio-default.conf.example") + (string-append pua "/share/alsa/alsa.conf.d/" + "99-pulseaudio-default.conf.example")) + (rename-file (string-append out "/lib/alsa-lib/" + "libasound_module_conf_pulse.la") + (string-append pua "/lib/alsa-lib/" + "libasound_module_conf_pulse.la")) + (rename-file (string-append out "/lib/alsa-lib/" + "libasound_module_conf_pulse.so") + (string-append pua "/lib/alsa-lib/" + "libasound_module_conf_pulse.so")) + (rename-file (string-append out "/lib/alsa-lib/" + "libasound_module_ctl_pulse.la") + (string-append pua "/lib/alsa-lib/" + "libasound_module_ctl_pulse.la")) + (rename-file (string-append out "/lib/alsa-lib/" + "libasound_module_ctl_pulse.so") + (string-append pua "/lib/alsa-lib/" + "libasound_module_ctl_pulse.so")) + (rename-file (string-append out "/lib/alsa-lib/" + "libasound_module_pcm_pulse.la") + (string-append pua "/lib/alsa-lib/" + "libasound_module_pcm_pulse.la")) + (rename-file (string-append out "/lib/alsa-lib/" + "libasound_module_pcm_pulse.so") + (string-append pua "/lib/alsa-lib/" + "libasound_module_pcm_pulse.so")) + (delete-file-recursively (string-append out "/share")))))))) + (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 "Utilities 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 provides +additional plugins.") + (license (list license:gpl2+ + ;; `rate/rate_samplerate.c': LGPL v2.1 or later. + license:lgpl2.1+)))) + (define-public iptables (package (name "iptables") -- 2.10.1