From mboxrd@z Thu Jan 1 00:00:00 1970 From: ng0 Subject: [PATCH] gnu: Add alsa-plugins. Date: Mon, 31 Oct 2016 14:39:58 +0000 Message-ID: <20161031143958.24208-2-ng0@we.make.ritual.n0.is> References: <87r36yale0.fsf@elephly.net> <20161031143958.24208-1-ng0@we.make.ritual.n0.is> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38758) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c1DlC-00006t-3t for guix-devel@gnu.org; Mon, 31 Oct 2016 10:40:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c1Dl7-00050T-NA for guix-devel@gnu.org; Mon, 31 Oct 2016 10:40:26 -0400 Received: from aibo.runbox.com ([91.220.196.211]:33675) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c1Dl7-0004zj-DO for guix-devel@gnu.org; Mon, 31 Oct 2016 10:40:21 -0400 Received: from [10.9.9.210] (helo=mailfront10.runbox.com) by bars.runbox.com with esmtp (Exim 4.71) (envelope-from ) id 1c1Dl4-0007yq-Dz for guix-devel@gnu.org; Mon, 31 Oct 2016 15:40:18 +0100 In-Reply-To: <20161031143958.24208-1-ng0@we.make.ritual.n0.is> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * 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 ;;; Copyright © 2016 David Craven ;;; Copyright © 2016 John Darrington +;;; Copyright © 2016 ng0 ;;; ;;; 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))))) + (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") -- 2.10.1