From mboxrd@z Thu Jan 1 00:00:00 1970 From: ng0 Subject: [PATCH] gnu: Add alsa-plugins. Date: Tue, 20 Dec 2016 14:53:31 +0000 Message-ID: <20161220145331.14168-2-ng0@libertad.pw> References: <87h95z3ilj.fsf@openmailbox.org> <20161220145331.14168-1-ng0@libertad.pw> 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]:45520) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cJLnN-0000O4-2c for guix-devel@gnu.org; Tue, 20 Dec 2016 09:53:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cJLnI-000434-UY for guix-devel@gnu.org; Tue, 20 Dec 2016 09:53:37 -0500 Received: from aibo.runbox.com ([91.220.196.211]:34355) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cJLnI-00042Z-Nl for guix-devel@gnu.org; Tue, 20 Dec 2016 09:53:32 -0500 Received: from [10.9.9.210] (helo=mailfront10.runbox.com) by bars.runbox.com with esmtp (Exim 4.71) (envelope-from ) id 1cJLnH-000711-Lc for guix-devel@gnu.org; Tue, 20 Dec 2016 15:53:31 +0100 In-Reply-To: <20161220145331.14168-1-ng0@libertad.pw> 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 Cc: ng0 From: ng0 * gnu/packages/linux.scm (alsa-plugins): New variable. --- gnu/packages/linux.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 827ee8b37..78fab4e18 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2016 Rene Saavedra +;;; Copyright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -72,6 +73,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) @@ -894,6 +897,68 @@ 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")) + (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) + (chdir (string-append out "/share")) + (for-each (lambda (file) + (rename-file file (string-append puaconf "/" (basename file)))) + (find-files out "\\.(conf|example)")) + (for-each (lambda (file) + (rename-file file (string-append pualib "/" (basename file)))) + (find-files out ".*pulse\\.(la|so)")) + (chdir "..") + ;; We have moved the files to output pulsaudio, the + ;; directory is now empty. + (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.11.0