From a556cc26e703376e21134e0e7120774b7a6da376 Mon Sep 17 00:00:00 2001 From: odrling Date: Sun, 10 Nov 2019 14:54:05 +0100 Subject: [PATCH] [alsa-lib] add live package --- media-libs/alsa-lib/alsa-lib-9999.ebuild | 83 ++++++++ .../files/alsa-lib-1.1.6-missing_files.patch | 196 ++++++++++++++++++ media-libs/alsa-lib/metadata.xml | 14 ++ 3 files changed, 293 insertions(+) create mode 100644 media-libs/alsa-lib/alsa-lib-9999.ebuild create mode 100644 media-libs/alsa-lib/files/alsa-lib-1.1.6-missing_files.patch create mode 100644 media-libs/alsa-lib/metadata.xml diff --git a/media-libs/alsa-lib/alsa-lib-9999.ebuild b/media-libs/alsa-lib/alsa-lib-9999.ebuild new file mode 100644 index 0000000..356b8c1 --- /dev/null +++ b/media-libs/alsa-lib/alsa-lib-9999.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit autotools multilib multilib-minimal python-single-r1 git-r3 + +DESCRIPTION="Advanced Linux Sound Architecture Library" +HOMEPAGE="https://alsa-project.org/" +EGIT_REPO_URI="https://github.com/alsa-project/${PN}.git" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="" +IUSE="alisp debug doc elibc_uclibc python +thread-safety" + +RDEPEND="python? ( ${PYTHON_DEPS} )" +DEPEND="${RDEPEND} + doc? ( >=app-doc/doxygen-1.2.6 )" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +PATCHES=( + "${FILESDIR}/alsa-lib-1.1.6-missing_files.patch" +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + find . -name Makefile.am -exec sed -i -e '/CFLAGS/s:-g -O2::' {} + || die + # https://bugs.gentoo.org/509886 + use elibc_uclibc && { sed -i -e 's:oldapi queue_timer:queue_timer:' test/Makefile.am || die; } + # https://bugs.gentoo.org/545950 + sed -i -e '5s:^$:\nAM_CPPFLAGS = -I$(top_srcdir)/include:' test/lsb/Makefile.am || die + default + eautoreconf +} + +multilib_src_configure() { + local myeconfargs=( + --disable-maintainer-mode + --disable-resmgr + --enable-aload + --enable-rawmidi + --enable-seq + --enable-shared + # enable Python only on final ABI + $(multilib_native_use_enable python) + $(use_enable alisp) + $(use_enable thread-safety) + $(use_with debug) + $(usex elibc_uclibc --without-versioned '') + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + emake + + if multilib_is_native_abi && use doc; then + emake doc + grep -FZrl "${S}" doc/doxygen/html | \ + xargs -0 sed -i -e "s:${S}::" + fi +} + +multilib_src_install() { + emake DESTDIR="${D}" install + if multilib_is_native_abi && use doc; then + docinto html + dodoc -r doc/doxygen/html/. + fi +} + +multilib_src_install_all() { + find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die + dodoc ChangeLog doc/asoundrc.txt NOTES TODO +} diff --git a/media-libs/alsa-lib/files/alsa-lib-1.1.6-missing_files.patch b/media-libs/alsa-lib/files/alsa-lib-1.1.6-missing_files.patch new file mode 100644 index 0000000..909a00b --- /dev/null +++ b/media-libs/alsa-lib/files/alsa-lib-1.1.6-missing_files.patch @@ -0,0 +1,196 @@ +https://bugs.gentoo.org/652422 + +--- alsa-lib-1.1.6/src/conf/cards/aliases.alisp ++++ alsa-lib-1.1.6/src/conf/cards/aliases.alisp +@@ -0,0 +1,29 @@ ++(setq snd_card_aliases_array ++ ( ++ ("YMF724" . "YMF744") ++ ("YMF724F" . "YMF744") ++ ("YMF740" . "YMF744") ++ ("YMF740C" . "YMF744") ++ ("YMF754" . "YMF744") ++ ("CMIPCI" . "CMI8338") ++ ("CMI8738" . "CMI8338") ++ ("CMI8738-MC4" . "CMI8738-MC6") ++ ("E-mu APS" . "EMU10K1") ++ ("GUS Max" . "GUS") ++ ("GUS ACE" . "GUS") ++ ("GUS Extreme" . "GUS") ++ ("AMD InterWave" . "GUS") ++ ("Dynasonic 3-D" . "GUS") ++ ("InterWave STB" . "GUS") ++ ) ++) ++ ++(defun snd_card_alias (cardname) ++ (setq r (assq cardname snd_card_aliases_array)) ++ (setq r (if (null r) cardname r)) ++ (unsetq r) ++) ++ ++(defun snd_card_alias_unset () ++ (unsetq snd_card_aliases_array snd_card_alias) ++) +--- alsa-lib-1.1.6/src/conf/cards/SI7018/sndoc-mixer.alisp ++++ alsa-lib-1.1.6/src/conf/cards/SI7018/sndoc-mixer.alisp +@@ -0,0 +1,11 @@ ++; ++; SiS SI7018 mixer abstract layer ++; ++; Copyright (c) 2003 Jaroslav Kysela ++; License: GPL v2 (http://www.gnu.org/licenses/gpl.html) ++; ++ ++(defun sndoc_mixer_open (hctl pcm) ++ (princ "sndoc_mixer_open: hctl=" hctl " pcm=" pcm "\n") ++ 0 ++) +--- alsa-lib-1.1.6/src/conf/cards/SI7018/sndop-mixer.alisp ++++ alsa-lib-1.1.6/src/conf/cards/SI7018/sndop-mixer.alisp +@@ -0,0 +1,11 @@ ++; ++; SiS SI7018 mixer abstract layer ++; ++; Copyright (c) 2003 Jaroslav Kysela ++; License: GPL v2 (http://www.gnu.org/licenses/gpl.html) ++; ++ ++(defun sndop_mixer_open (hctl pcm) ++ (princ "sndop_mixer_open: hctl=" hctl " pcm=" pcm "\n") ++ 0 ++) +--- alsa-lib-1.1.6/src/conf/smixer.conf ++++ alsa-lib-1.1.6/src/conf/smixer.conf +@@ -0,0 +1,13 @@ ++_full smixer-python.so ++usb { ++ searchl "USB" ++ lib smixer-usb.so ++} ++ac97 { ++ searchl "AC97a:" ++ lib smixer-ac97.so ++} ++hda { ++ searchl "HDA:" ++ lib smixer-hda.so ++} +--- alsa-lib-1.1.6/src/conf/sndo-mixer.alisp ++++ alsa-lib-1.1.6/src/conf/sndo-mixer.alisp +@@ -0,0 +1,115 @@ ++; ++; Toplevel configuration for the ALSA Ordinary Mixer Interface ++; ++; Copyright (c) 2003 Jaroslav Kysela ++; License: GPL v2 (http://www.gnu.org/licenses/gpl.html) ++; ++ ++(defun sndo_include (hctl stream) ++ (setq info (Acall "ctl_card_info" (Acall "hctl_ctl" hctl))) ++ (if (= (Aerror info) 0) ++ (progn ++ (setq info (Aresult info)) ++ (setq driver (cdr (assq "driver" (unsetq info)))) ++ (setq file (concat (path "data") "/alsa/cards/" (snd_card_alias driver) "/sndo" stream "-mixer.alisp")) ++ (setq r (include file)) ++ (when (= r -2) (Asyserr "unable to find file " file)) ++ ) ++ (setq r (Aerror info)) ++ ) ++ (unsetq info driver file r) ++) ++ ++(defun sndo_mixer_open_fcn (hctl stream pcm) ++ (setq fcn (concat "sndo" stream "_mixer_open")) ++ (setq r (if (exfun fcn) (funcall fcn hctl pcm) 0)) ++ (when (= r 0) ++ (setq hctls (if hctls (cons hctls (cons hctl)) hctl)) ++ ) ++ (unsetq fcn r) ++) ++ ++(defun sndo_mixer_open_hctl (name stream pcm) ++ (setq hctl (Acall "hctl_open" name nil)) ++ (setq r (Aerror hctl)) ++ (when (= r 0) ++ (setq hctl (Aresult hctl)) ++ (setq r (sndo_include hctl stream)) ++ (if (= r 0) ++ (setq r (sndo_mixer_open_fcn hctl stream pcm)) ++ (Acall "hctl_close" hctl) ++ ) ++ ) ++ (unsetq hctl r) ++) ++ ++(defun sndo_mixer_open_virtual (name stream pcm) ++ (setq file (concat (path "data") "/alsa/virtual/" name "/sndo" stream "-mixer.alisp")) ++ (setq r (include file)) ++ (when (= r -2) (Asyserr "unable to find file " file)) ++ (when (= r 0) (setq r (sndo_mixer_open_fcn nil stream pcm))) ++ (unsetq file r) ++) ++ ++(defun sndo_mixer_open1 (name stream) ++ (if (compare-strings name 0 2 "hw:" 0 2) ++ (sndo_mixer_open_hctl name stream nil) ++ (sndo_mixer_open_virtual name stream nil) ++ ) ++) ++ ++(defun sndo_mixer_open (pname cname) ++ (setq r (sndo_mixer_open1 pname "p")) ++ (when (= r 0) (setq r (sndo_mixer_open1 cname "c"))) ++ (when (!= r 0) (sndo_mixer_close)) ++ (unsetq sndo_mixer_open ++ sndo_mixer_open_pcm sndo_mixer_open_pcm1 ++ sndo_mixer_open_virtual sndo_mixer_open_fcn ++ sndo_include r) ++) ++ ++(defun sndo_mixer_open_pcm1 (pcm stream) ++ (setq info (Acall "pcm_info" pcm)) ++ (setq r (Aerror info)) ++ (when (= r 0) ++ (setq info (Aresult info)) ++ (setq card (cdr (assq "card" info))) ++ (setq r ++ (if (< card 0) ++ (sndo_mixer_open_virtual (Acall "pcm_name" pcm) stream pcm) ++ (sndo_mixer_open_hctl (format "hw:%i" card) stream pcm) ++ ) ++ ) ++ ) ++ (unsetq info card r) ++) ++ ++(defun sndo_mixer_open_pcm (ppcm cpcm) ++ (setq r (sndo_mixer_open_pcm1 ppcm "p")) ++ (when (= r 0) (setq r (sndo_mixer_open_pcm1 cpcm "c"))) ++ (when (!= r 0) (sndo_mixer_close)) ++ (unsetq sndo_mixer_open ++ sndo_mixer_open_pcm sndo_mixer_open_pcm1 ++ sndo_mixer_open_virtual sndo_mixer_open_fcn ++ sndo_include r) ++) ++ ++(defun sndo_mixer_close1 (hctl stream) ++ (when hctl ++ (progn ++ (setq fcn (concat "sndo" stream "_mixer_close")) ++ (when (exfun fcn) (funcall fcn hctl)) ++ (unsetq fcn) ++ (Acall "hctl_close" hctl) ++ ) ++ ) ++) ++ ++(defun sndo_mixer_close nil ++ (sndo_mixer_close1 (nth 1 hctls) "c") ++ (sndo_mixer_close1 (nth 0 hctls) "p") ++ (snd_card_alias_unset) ++ (unsetq hctls) ++) ++ ++(include (concat (path "data") "/alsa/cards/aliases.alisp")) diff --git a/media-libs/alsa-lib/metadata.xml b/media-libs/alsa-lib/metadata.xml new file mode 100644 index 0000000..356924f --- /dev/null +++ b/media-libs/alsa-lib/metadata.xml @@ -0,0 +1,14 @@ + + + + + alsa-bugs@gentoo.org + + + Enable support for ALISP (ALSA LISP) interpreter for advanced features. + thread-safe API functions + + + cpe:/a:alsa-project:alsa-lib + +