Blame alsa-firmware.spec

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