Takashi Iwai
6aadf67e35
- Fix build with older distros without %_firmwaredir OBS-URL: https://build.opensuse.org/request/show/851067 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-firmware?expand=0&rev=42
155 lines
4.9 KiB
RPMSpec
155 lines
4.9 KiB
RPMSpec
#
|
|
# spec file for package alsa-firmware
|
|
#
|
|
# Copyright (c) 2020 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%if 0%{?suse_version} < 1550
|
|
%define _firmwaredir /lib/firmware
|
|
%endif
|
|
|
|
Name: alsa-firmware
|
|
URL: http://www.alsa-project.org/
|
|
Summary: Firmware Data Files for ALSA
|
|
# BuildRequires: automake
|
|
License: GPL-2.0-or-later
|
|
Group: Hardware/Other
|
|
BuildRequires: fdupes
|
|
%if 0%{?suse_version} > 1220
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: pkgconfig(udev)
|
|
%endif
|
|
Version: 1.2.4
|
|
Release: 0
|
|
Source: ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-%{version}.tar.bz2
|
|
Source1: usx2yaudio.rules
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
BuildArch: noarch
|
|
Requires: alsa
|
|
# for asihpi
|
|
Supplements: modalias(pci:v0000104Cd0000AC60sv0000175Csd*bc*sc*i*)
|
|
Supplements: modalias(pci:v0000104Cd0000A106sv0000175Csd*bc*sc*i*)
|
|
# for ca0132
|
|
Supplements: modalias(pci:v00001102d00000010sv*sd*bc*sc*i*)
|
|
Supplements: modalias(pci:v00001102d00000012sv*sd*bc*sc*i*)
|
|
# for cs46xx
|
|
Supplements: modalias(pci:v00001013d00006004sv*sd*bc*sc*i*)
|
|
Supplements: modalias(pci:v00001013d00006003sv*sd*bc*sc*i*)
|
|
Supplements: modalias(pci:v00001013d00006001sv*sd*bc*sc*i*)
|
|
# for echoaudio
|
|
Supplements: modalias(pci:v00001057d00001801sv0000ECC0sd*bc*sc*i*)
|
|
Supplements: modalias(pci:v00001057d00003410sv0000ECC0sd*bc*sc*i*)
|
|
# for emu10k1
|
|
Supplements: modalias(pci:v00001102d00000008sv*sd*bc*sc*i*)
|
|
Supplements: modalias(pci:v00001102d00000004sv*sd*bc*sc*i*)
|
|
Supplements: modalias(pci:v00001102d00000002sv*sd*bc*sc*i*)
|
|
# for hdsp
|
|
Supplements: modalias(pci:v000010EEd00003FC5sv*sd*bc*sc*i*)
|
|
# for mixart
|
|
Supplements: modalias(pci:v00001057d00000003sv*sd*bc*sc*i*)
|
|
# for pcxhr
|
|
Supplements: modalias(pci:v000010B5d00009056sv00001369sd*bc*sc*i*)
|
|
# for usx2y
|
|
Supplements: modalias(usb:v1604p8005d*dc*dsc*dp*ic*isc*ip*in*)
|
|
Supplements: modalias(usb:v1604p8007d*dc*dsc*dp*ic*isc*ip*in*)
|
|
Supplements: modalias(usb:v1604p8001d*dc*dsc*dp*ic*isc*ip*in*)
|
|
# for vx
|
|
Supplements: modalias(pci:v000010B5d00009030sv00001369sd*bc*sc*i*)
|
|
Supplements: modalias(pci:v000010B5d00009050sv00001369sd*bc*sc*i*)
|
|
|
|
%if 0%{?suse_version} > 1220
|
|
%define _udevdir %(pkg-config --variable=udevdir udev)
|
|
%else
|
|
%define _udevdir /etc/udev
|
|
%endif
|
|
|
|
%description
|
|
Various firmware data files for ALSA drivers.
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
%build
|
|
# autoreconf -fi
|
|
%configure \
|
|
--enable-loader \
|
|
--enable-hotplug \
|
|
--with-hotplug-dir=%{_firmwaredir}
|
|
make %{?_smp_mflags}
|
|
|
|
%install
|
|
make DESTDIR="%{buildroot}" install
|
|
# remove duplicated entries that are already in kernel-firmware package
|
|
rm -f %{buildroot}%{_firmwaredir}/ctefx.bin
|
|
rm -f %{buildroot}%{_firmwaredir}/ctspeq.bin
|
|
# remove unnecessary loader firmwares
|
|
for d in vxloader mixartloader pcxhrloader; do
|
|
rm -rf %{buildroot}%{_datadir}/alsa/firmware/$d
|
|
done
|
|
# some files are included in the new "kernel-firmware" package
|
|
for d in ess korg sb16 yamaha; do
|
|
rm -rf %{buildroot}%{_firmwaredir}/$d
|
|
done
|
|
# change identical files to symlinks for hdsploader
|
|
pushd %{buildroot}%{_datadir}/alsa/firmware/hdsploader
|
|
for i in *.bin; do
|
|
hotplug=%{buildroot}%{_firmwaredir}/$i
|
|
if [ -f $hotplug ]; then
|
|
if cmp -s -b $hotplug $i; then
|
|
rm $i
|
|
ln -s %{_firmwaredir}/$i
|
|
fi
|
|
fi
|
|
done
|
|
popd
|
|
# FIXME: remove non-existing msnd firmware symlinks
|
|
rm -rf %{buildroot}%{_firmwaredir}/turtlebeach
|
|
# install documents
|
|
mkdir -p %{buildroot}%{_docdir}/%{name}
|
|
mkdir -p %{buildroot}%{_licensedir}/%{name}
|
|
install -c -m 0644 COPYING %{buildroot}%{_licensedir}/%{name}
|
|
install -c -m 0644 README %{buildroot}%{_docdir}/%{name}
|
|
for d in echoaudio hdsploader mixartloader pcxhrloader usx2yloader vxloader asihpi ca0132; do
|
|
(cd $d
|
|
n=${d##*/}
|
|
mkdir -p %{buildroot}%{_docdir}/%{name}/$n
|
|
for f in AUTHORS ChangeLog README* TODO *.txt; do
|
|
test -f $f || continue
|
|
case $f in
|
|
licen[cs]e*)
|
|
mkdir -p %{buildroot}%{_licensedir}/%{name}/$n
|
|
install -c -m 0644 $f %{buildroot}%{_licensedir}/%{name}/$n
|
|
;;
|
|
*)
|
|
install -c -m 0644 $f %{buildroot}%{_docdir}/%{name}/$n
|
|
;;
|
|
esac
|
|
done
|
|
)
|
|
done
|
|
# udev rules
|
|
install -D -c -m 0644 %{SOURCE1} %{buildroot}%{_udevdir}/rules.d/52-usx2yaudio.rules
|
|
%fdupes -s %{buildroot}
|
|
|
|
%files
|
|
%defattr(-, root, root)
|
|
%doc %{_docdir}/%{name}
|
|
%license %{_licensedir}/%{name}
|
|
%{_firmwaredir}/*
|
|
%{_datadir}/alsa
|
|
%{_udevdir}
|
|
|
|
%changelog
|