Diff alsa-firmware-1.2.4-r1 with a alsa-firmware-1.2.4-r2

/usr/portage/sys-firmware/alsa-firmware/alsa-firmware-1.2.4-r2.ebuild 2026-01-18 11:18:03.289801417 +0300
1
# Copyright 1999-2023 Gentoo Authors
1
# Copyright 1999-2026 Gentoo Authors
2 2
# Distributed under the terms of the GNU General Public License v2
3 3

  
4
EAPI=7
5
inherit udev
4
EAPI=8
5

  
6
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/alsa.asc
7
inherit linux-info udev verify-sig
6 8

  
7 9
DESCRIPTION="Advanced Linux Sound Architecture firmware"
8 10
HOMEPAGE="https://alsa-project.org/wiki/Main_Page"
9
SRC_URI="https://www.alsa-project.org/files/pub/firmware/${P}.tar.bz2"
11
SRC_URI="
12
	https://www.alsa-project.org/files/pub/firmware/${P}.tar.bz2
13
	verify-sig? ( https://www.alsa-project.org/files/pub/firmware/${P}.tar.bz2.sig )
14
"
10 15

  
11
LICENSE="GPL-2 freedist
16
LICENSE="
17
	GPL-2 freedist
12 18
	alsa_cards_korg1212? ( all-rights-reserved )
13 19
	alsa_cards_maestro3? ( all-rights-reserved )
14 20
	alsa_cards_sb16? ( all-rights-reserved )
15
	alsa_cards_ymfpci? ( all-rights-reserved )"
21
	alsa_cards_wavefront? ( all-rights-reserved )
22
	alsa_cards_ymfpci? ( all-rights-reserved )
23
"
16 24
SLOT="0"
17
KEYWORDS="amd64 ppc ppc64 x86"
18
RESTRICT="alsa_cards_korg1212? ( bindist )
25
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
26

  
27
ECHOAUDIO_CARDS="
28
	alsa_cards_darla20 alsa_cards_gina20 alsa_cards_layla20
29
	alsa_cards_darla24 alsa_cards_gina24 alsa_cards_layla24
30
	alsa_cards_mona alsa_cards_mia alsa_cards_indigo
31
	alsa_cards_indigoio alsa_cards_echo3g
32
"
33

  
34
EMU_CARDS="
35
	alsa_cards_emu1212 alsa_cards_emu1616 alsa_cards_emu1820
36
	alsa_cards_emu10k1
37
"
38

  
39
IUSE="compress-xz compress-zstd +deduplicate
40
	alsa_cards_cs46xx alsa_cards_pcxhr alsa_cards_vx222
41
	alsa_cards_usb-usx2y alsa_cards_hdsp alsa_cards_hdspm
42
	alsa_cards_mixart alsa_cards_asihpi alsa_cards_sb16
43
	alsa_cards_korg1212 alsa_cards_maestro3 alsa_cards_ymfpci
44
	alsa_cards_wavefront alsa_cards_msnd-pinnacle alsa_cards_aica
45
	alsa_cards_ca0132 ${ECHOAUDIO_CARDS} ${EMU_CARDS}
46
"
47
REQUIRED_USE="?? ( compress-xz compress-zstd )"
48

  
49
RESTRICT="
50
	alsa_cards_korg1212? ( bindist )
19 51
	alsa_cards_maestro3? ( bindist )
20 52
	alsa_cards_sb16? ( bindist )
21
	alsa_cards_ymfpci? ( bindist )"
53
	alsa_cards_wavefront? ( bindist )
54
	alsa_cards_ymfpci? ( bindist )
55
"
22 56

  
23
ECHOAUDIO_CARDS="alsa_cards_darla20 alsa_cards_gina20 alsa_cards_layla20
24
alsa_cards_darla24 alsa_cards_gina24 alsa_cards_layla24 alsa_cards_mona
25
alsa_cards_mia alsa_cards_indigo alsa_cards_indigoio alsa_cards_echo3g"
26

  
27
EMU_CARDS="alsa_cards_emu1212 alsa_cards_emu1616 alsa_cards_emu1820
28
alsa_cards_emu10k1"
29

  
30
IUSE="alsa_cards_cs46xx alsa_cards_pcxhr alsa_cards_vx222 alsa_cards_usb-usx2y alsa_cards_hdsp
31
alsa_cards_hdspm alsa_cards_mixart alsa_cards_asihpi alsa_cards_sb16
32
alsa_cards_korg1212 alsa_cards_maestro3 alsa_cards_ymfpci alsa_cards_wavefront
33
alsa_cards_msnd-pinnacle alsa_cards_aica alsa_cards_ca0132 ${ECHOAUDIO_CARDS}
34
${EMU_CARDS}"
35

  
36
RDEPEND="alsa_cards_usb-usx2y? ( sys-apps/fxload )
57
RDEPEND="
58
	alsa_cards_usb-usx2y? ( sys-apps/fxload )
37 59
	alsa_cards_hdsp? ( media-sound/alsa-tools )
38
	alsa_cards_hdspm? ( media-sound/alsa-tools )"
60
	alsa_cards_hdspm? ( media-sound/alsa-tools )
61
	deduplicate? (
62
		alsa_cards_ca0132? ( sys-kernel/linux-firmware[redistributable] )
63
		alsa_cards_korg1212? ( sys-kernel/linux-firmware[unknown-license] )
64
		alsa_cards_maestro3? ( sys-kernel/linux-firmware[unknown-license] )
65
		alsa_cards_sb16? ( sys-kernel/linux-firmware[unknown-license] )
66
		alsa_cards_wavefront? ( sys-kernel/linux-firmware[unknown-license] )
67
		alsa_cards_ymfpci? ( sys-kernel/linux-firmware[unknown-license] )
68
	)
69
"
70
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-alsa )"
39 71

  
40 72
DOCS="README"
41 73

  
......
43 75
	"${FILESDIR}"/${PN}-1.2.4-musl.patch
44 76
)
45 77

  
78
pkg_setup() {
79
	if use compress-xz || use compress-zstd ; then
80
		local CONFIG_CHECK
81

  
82
		if kernel_is -ge 5 19; then
83
			use compress-xz && CONFIG_CHECK="~FW_LOADER_COMPRESS_XZ"
84
			use compress-zstd && CONFIG_CHECK="~FW_LOADER_COMPRESS_ZSTD"
85
		else
86
			use compress-xz && CONFIG_CHECK="~FW_LOADER_COMPRESS"
87
			if use compress-zstd; then
88
				eerror "Kernels <5.19 do not support ZSTD-compressed firmware files"
89
			fi
90
		fi
91
	fi
92
	linux-info_pkg_setup
93
}
94

  
46 95
src_configure() {
47
	econf --with-hotplug-dir=/lib/firmware
96
	local myeconfargs=(
97
		--with-hotplug-dir=/lib/firmware
98
		$(use_enable alsa_cards_usb-usx2y buildfw)
99
	)
100
	econf "${myeconfargs[@]}"
48 101
}
49 102

  
50 103
src_install() {
51 104
	default
52 105

  
53
	use alsa_cards_pcxhr || rm -rf "${ED}"/usr/share/alsa/firmware/pcxhrloader "${ED}"/lib/firmware/pcxhr
54
	use alsa_cards_vx222 || rm -rf "${ED}"/usr/share/alsa/firmware/vxloader "${ED}"/lib/firmware/vx
55
	use alsa_cards_usb-usx2y || rm -rf "${ED}"/usr/share/alsa/firmware/usx2yloader "${ED}"/lib/firmware/vx
56
	use alsa_cards_mixart || rm -rf "${ED}"/usr/share/alsa/firmware/mixartloader "${ED}"/lib/firmware/mixart
57
	use alsa_cards_hdsp || use alsa_cards_hdspm || rm -rf "${ED}"/usr/share/alsa/firmware/hdsploader
58
	use alsa_cards_asihpi || rm -rf "${ED}"/lib/firmware/asihpi
59
	use alsa_cards_sb16 || rm -rf "${ED}"/lib/firmware/sb16
60
	use alsa_cards_korg1212 || rm -rf "${ED}"/lib/firmware/korg
61
	use alsa_cards_maestro3 || rm -rf "${ED}"/lib/firmware/ess
62
	use alsa_cards_ymfpci || rm -rf "${ED}"/lib/firmware/yamaha
63
	use alsa_cards_wavefront || rm -rf "${ED}"/lib/firmware/wavefront
64
	use alsa_cards_msnd-pinnacle || rm -rf "${ED}"/lib/firmware/turtlebeach
65
	use alsa_cards_aica || rm -rf "${ED}"/lib/firmware/aica_firmware.bin
66
	use alsa_cards_ca0132 || rm -rf "${ED}"/lib/firmware/c{tefx,tspeq}.bin
67
	use alsa_cards_cs46xx || rm -rf "${ED}"/lib/firmware/cs46xx
106
	if ! use alsa_cards_pcxhr; then
107
		rm -r "${ED}"/usr/share/alsa/firmware/pcxhrloader "${ED}"/lib/firmware/pcxhr || die
108
	fi
109

  
110
	if ! use alsa_cards_vx222; then
111
		rm -r "${ED}"/usr/share/alsa/firmware/vxloader || die
112
	fi
113

  
114
	if ! use alsa_cards_usb-usx2y; then
115
		rm -r "${ED}"/usr/share/alsa/firmware/usx2yloader || die
116
		if ! use alsa_cards_vx222; then
117
			rm -r "${ED}"/lib/firmware/vx || die
118
		fi
119
	else
120
		udev_dorules "${FILESDIR}"/52-usx2yaudio.rules
121
	fi
122

  
123
	if ! use alsa_cards_mixart; then
124
		rm -r "${ED}"/usr/share/alsa/firmware/mixartloader "${ED}"/lib/firmware/mixart || die
125
	fi
126

  
127
	if ! use alsa_cards_hdsp && ! use alsa_cards_hdspm; then
128
		rm -r "${ED}"/usr/share/alsa/firmware/hdsploader || die
129
		rm "${ED}"/lib/firmware/digiface_firmware{,_rev11}.bin || die
130
		rm "${ED}"/lib/firmware/multiface_firmware{,_rev11}.bin || die
131
		rm "${ED}"/lib/firmware/rpm_firmware.bin || die
132
	fi
133

  
134
	if ! use alsa_cards_asihpi; then
135
		rm -r "${ED}"/lib/firmware/asihpi || die
136
	fi
137

  
138
	if ! use alsa_cards_sb16; then
139
		rm -r "${ED}"/lib/firmware/sb16 || die
140
	elif use deduplicate; then
141
		rm -r "${ED}"/lib/firmware/sb16 || die
142
	fi
143

  
144
	if ! use alsa_cards_korg1212; then
145
		rm -r "${ED}"/lib/firmware/korg || die
146
	elif use deduplicate; then
147
		rm "${ED}"/lib/firmware/korg/k1212.dsp || die
148
	fi
149

  
150
	if ! use alsa_cards_maestro3; then
151
		rm -r "${ED}"/lib/firmware/ess || die
152
	elif use deduplicate; then
153
		rm "${ED}"/lib/firmware/ess/maestro3_assp_{kernel,minisrc}.fw || die
154
	fi
155

  
156
	if ! use alsa_cards_ymfpci && ! use alsa_cards_wavefront; then
157
		rm -r "${ED}"/lib/firmware/yamaha || die
158
	elif use deduplicate; then
159
		rm -r "${ED}"/lib/firmware/yamaha || die
160
	fi
161

  
162
	if ! use alsa_cards_msnd-pinnacle; then
163
		rm -r "${ED}"/lib/firmware/turtlebeach || die
164
	fi
165

  
166
	if ! use alsa_cards_aica; then
167
		rm "${ED}"/lib/firmware/aica_firmware.bin || die
168
	fi
169

  
170
	if ! use alsa_cards_ca0132; then
171
		rm "${ED}"/lib/firmware/ctspeq.bin || die
172
		rm "${ED}"/lib/firmware/ctefx{,-desktop,-r3di}.bin || die
173
	elif use deduplicate; then
174
		rm "${ED}"/lib/firmware/ctspeq.bin || die
175
		rm "${ED}"/lib/firmware/ctefx.bin || die
176
	fi
177

  
178
	if ! use alsa_cards_cs46xx; then
179
		rm -r "${ED}"/lib/firmware/cs46xx || die
180
	fi
68 181

  
69
	local ea="no"
182
	local ea=
70 183
	for card in ${ECHOAUDIO_CARDS}; do
71
		use ${card} && ea="yes" && break
184
		use ${card} && ea=1 && break
72 185
	done
73 186

  
74
	local emu="no"
187
	local emu=
75 188
	for card in ${EMU_CARDS}; do
76
		use ${card} && emu="yes" && break
189
		use ${card} && emu=1 && break
77 190
	done
78 191

  
79
	[[ ${ea} == "no" ]] && rm -rf "${ED}"/lib/firmware/ea
80
	[[ ${emu} == "no" ]] && rm -rf "${ED}"/lib/firmware/emu
192
	if [[ ! ${ea} ]]; then
193
		rm -r "${ED}"/lib/firmware/ea || die
194
	fi
195
	if [[ ! ${emu} ]]; then
196
		rm -r "${ED}"/lib/firmware/emu || die
197
	fi
198

  
199
	# Copied from sys-kernel/linux-firmware
200
	if use compress-xz; then
201
		find "${ED}"/lib/firmware -type f -exec \
202
			xz --compress --quiet --check=crc32 "{}" \; || die
203
	elif use compress-zstd; then
204
		find "${ED}"/lib/firmware -type f -exec \
205
			zstd --compress --quiet --rm "{}" \; || die
206
	fi
207
}
208

  
209
pkg_preinst() {
210
	if [[ ! -d "${ED}"/lib/firmware ]]; then
211
		ewarn "No firmware files are being installed, is ALSA_CARDS= empty?"
212
		ewarn "Please populate ALSA_CARDS with your sound card in make.conf"
213
	fi
214
}
81 215

  
82
	use alsa_cards_usb-usx2y && udev_dorules "${FILESDIR}"/52-usx2yaudio.rules
216
pkg_postinst() {
217
	udev_reload
218
	if use alsa_cards_msnd-pinnacle; then
219
		einfo "Please download the actual firmware files from:"
220
		einfo "    ftp://ftp.voyetra.com/pub/tbs/msndcl/msndvkit.zip"
221
		einfo "    ftp://ftp.voyetra.com/pub/tbs/pinn/pnddk100.zip"
222
		einfo "and copy them to /etc/sound/. Registration required."
223
		einfo
224
		einfo "See also: https://www.kernel.org/doc/Documentation/sound/oss/MultiSound"
225
	fi
83 226
}
Thank you!