restructure #3

Merged
wyj merged 82 commits from dev into main 2026-01-18 20:12:27 -05:00
2 changed files with 262 additions and 0 deletions
Showing only changes of commit 4327854e50 - Show all commits

View File

@@ -0,0 +1,66 @@
pkgname=alsa-lib
pkgver=1.2.14
_commit="7e3a3c2b0a092d0f568ba3c98365030dd91cc877"
pkgdesc="An alternative implementation of Linux sound support"
arch=(x86_64)
homepage="https://www.alsa-project.org"
license=(LGPL-2.1-or-later)
depends=(
alsa-topology-conf
alsa-ucm-conf
glibc
)
_patches=("alsa-lib-1.1.6-missing_files.patch")
_patch_sums=("879d11cf369a1aab2cc86c72ba90ad3dfeced2395c4cafda064a89a8f7790f032d4bc1c9065a86be28a3f7656bf91b4148df4e59d962ba4470221dc13a4fec90")
sources=("${pkgname}-${pkgver}.tar.bz2"
${_patches[@]}
)
urls=("https://www.alsa-project.org/files/pub/lib/${sources[0]}"
${_patches[@]}
)
sha512sums=("2716cc3a2299da4a1a170d734af082d78dc452b253179d0f1a9ec190140734aecf002b6924eec4ff2699ce88ce1ae5c56821c267f36384910984db726d1f9626"
${_patch_sums[@]}
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
find . -name Makefile.am -exec sed -i -e '/CFLAGS/s:-g -O2::' {} +
# bug #545950
sed -i -e '5s:^$:\nAM_CPPFLAGS = -I$(top_srcdir)/include:' test/lsb/Makefile.am
autoreconf -fiv
}
src_build() {
CFLAGS+=" -std=gnu17"
local conf_args=(
--prefix=/usr
--disable-maintainer-mode
--disable-resmgr
--enable-aload
--enable-rawmidi
--enable-seq
--enable-shared
--enable-thread-safety
--disable-python
--disable-debug
)
./configure "${conf_args[@]}"
make
}
src_check() {
make -k check
}
src_install() {
make DESTDIR="$pkgdir" install
install -vDm 644 {MEMORY-LEAK,TODO,NOTES,ChangeLog,doc/asoundrc.txt} -t "$pkgdir/usr/share/doc/${pkgname}-${pkgver}/"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -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 <perex@perex.cz>
+; 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 <perex@perex.cz>
+; 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 <perex@perex.cz>
+; 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"))