Blob Blame History Raw
# Disable firmware build for now; the alsa-firmware package is not built
# for Fedora yet (bug #217259)
%define _without_firmware 1

%{?!_without_tools:     %define builddirstools as10k1 echomixer envy24control hdspconf hdspmixer rmedigicontrol sbiload sb16_csp sscape_ctl us428control }
%{?!_without_firmware:  %define builddirsfirmw hdsploader mixartloader usx2yloader vxloader }

# The source tarball has been pruned to remove the "ac3dec" directory, due
# to legal concerns that the contents might be subject to patent claims

# Note that the Version is intended to coincide with the version of ALSA
# included with the Fedora kernel, rather than necessarily the very latest
# upstream version of alsa-tools

Summary:        Specialist tools for ALSA
Name:           alsa-tools
Version:        1.0.14
Release:        4%{?dist}

# Checked at least one source file from all the sub-projects contained in
# the source tarball and they are consistent GPLv2+ - TJ 2007-11-15
License:        GPLv2+
Group:          Applications/Multimedia
URL:            http://www.alsa-project.org/
Source0:        %{name}-%{version}-pruned.tar.bz2

# The icons below were created by Tim Jackson from screenshots of the
# apps in question. They suck, a lot. Better alternatives welcome!
Source1:        envy24control.desktop
Source2:        envy24control.png
Source3:        echomixer.desktop
Source4:        echomixer.png
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  alsa-lib-devel >= %{version}
%if 0%{!?_without_tools:1}
BuildRequires:  gtk+-devel
BuildRequires:  gtk2-devel
BuildRequires:  fltk-devel
Buildrequires:  desktop-file-utils
%endif

# Doesn't build on PPC; see bug #219010
ExcludeArch:    ppc ppc64

%description
This package contains several specialist tools for use with ALSA, including
a number of programs that provide access to special hardware facilities on
certain sound cards.

* as10k1 - AS10k1 Assembler
* cspctl - Sound Blaster 16 ASP/CSP control program
* echomixer - Mixer for Echo Audio (indigo) devices
* envy24control - Control tool for Envy24 (ice1712) based soundcards
* hdspmixer - Mixer for the RME Hammerfall DSP cards
* rmedigicontrol - Control panel for RME Hammerfall cards
* sbiload - An OPL2/3 FM instrument loader for ALSA sequencer
* sscape_ctl - ALSA SoundScape control utility
* us428control - Control tool for Tascam 428


%package firmware
Summary:        ALSA tools for uploading firmware to some soundcards
Group:          Applications/System
Requires:       udev alsa-firmware


%description firmware
This package contains tools for flashing firmware into certain sound cards.
The following tools are available:

* hdsploader   - for RME Hammerfall DSP cards
* mixartloader - for Digigram miXart soundcards
* vxloader     - for Digigram VX soundcards
* usx2yloader  - second phase firmware loader for Tascam USX2Y USB soundcards


%prep
%setup -q -n %{name}-%{version}


%build
mv seq/sbiload . ; rmdir seq
for i in %{?builddirstools:%builddirstools} %{?builddirsfirmw:%builddirsfirmw}
do
  cd $i ; %configure
  %{__make} %{?_smp_mflags} || exit 1
  cd ..
done


%install
%{__rm} -rf $RPM_BUILD_ROOT

mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/{pixmaps,applications}

for i in %{?builddirstools:%builddirstools} %{?builddirsfirmw:%builddirsfirmw}
do 
  case $i in
    echomixer)
      (cd $i ; %makeinstall ; install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/pixmaps/ ; install -m 644 %{SOURCE3} ${RPM_BUILD_ROOT}%{_datadir}/applications/ ) || exit 1
      ;;
    envy24control)
      (cd $i ; %makeinstall ; install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/pixmaps/ ; install -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_datadir}/applications/ ) || exit 1
      ;;
    hdspconf)
      (cd $i ; %makeinstall pixmapdir=${RPM_BUILD_ROOT}%{_datadir}/pixmaps desktopdir=${RPM_BUILD_ROOT}%{_datadir}/applications ) || exit 1
      ;;
    hdspmixer)
      (cd $i ; %makeinstall pixmapdir=${RPM_BUILD_ROOT}%{_datadir}/pixmaps desktopdir=${RPM_BUILD_ROOT}%{_datadir}/applications ) || exit 1
      ;;
    usx2yloader)
      (cd $i ; %makeinstall hotplugdir=${RPM_BUILD_ROOT}%{_sysconfdir}/hotplug/usb) || exit 1
      ;;
    *) (cd $i ; %makeinstall) || exit 1
   esac
   if [[ -s "${i}"/README ]] 
   then
      if [[ ! -d "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}" ]]
      then
         mkdir -p "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}"
      fi
      cp "${i}"/README "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}"
   fi
   if [[ -s "${i}"/COPYING ]] 
   then
      if [[ ! -d "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}" ]]
      then
         mkdir -p "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}"
      fi
      cp "${i}"/COPYING "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}"
   fi 
   if [[ -s ${RPM_BUILD_ROOT}%{_datadir}/applications/${i}.desktop ]] ; then
      desktop-file-install --vendor fedora \
        --add-category "X-Fedora" \
        --delete-original \
        --dir $RPM_BUILD_ROOT%{_datadir}/applications \
        ${RPM_BUILD_ROOT}%{_datadir}/applications/${i}.desktop
   fi
done

%clean
%{__rm} -rf $RPM_BUILD_ROOT

%if 0%{!?_without_tools:1}
%files
%defattr(-,root,root,-)
%dir %{_docdir}/%{name}-%{version}
%doc %{_docdir}/%{name}-%{version}/as10k1
%doc %{_docdir}/%{name}-%{version}/echomixer
%doc %{_docdir}/%{name}-%{version}/envy24control
%doc %{_docdir}/%{name}-%{version}/hdspconf
%doc %{_docdir}/%{name}-%{version}/hdspmixer
%doc %{_docdir}/%{name}-%{version}/rmedigicontrol
%doc %{_docdir}/%{name}-%{version}/sbiload
%doc %{_docdir}/%{name}-%{version}/sb16_csp
%{_bindir}/as10k1
%{_bindir}/cspctl
%{_bindir}/echomixer
%{_bindir}/envy24control
%{_bindir}/hdspconf
%{_bindir}/hdspmixer
%{_bindir}/rmedigicontrol
%{_bindir}/sbiload
%{_bindir}/sscape_ctl
%{_bindir}/us428control
%{_datadir}/applications/fedora-echomixer.desktop
%{_datadir}/applications/fedora-envy24control.desktop
%{_datadir}/applications/fedora-hdspconf.desktop
%{_datadir}/applications/fedora-hdspmixer.desktop
%{_datadir}/man/man1/cspctl.1.gz
%{_datadir}/man/man1/envy24control.1.gz
%{_datadir}/pixmaps/echomixer.png
%{_datadir}/pixmaps/envy24control.png
%{_datadir}/pixmaps/hdspconf.png
%{_datadir}/pixmaps/hdspmixer.png
%{_datadir}/sounds/
%endif

%if 0%{!?_without_firmware:1}
%files firmware
%defattr(-,root,root,-)
%doc %{_docdir}/%{name}-%{version}/hdsploader
%doc %{_docdir}/%{name}-%{version}/mixartloader
%doc %{_docdir}/%{name}-%{version}/usx2yloader
%doc %{_docdir}/%{name}-%{version}/vxloader
%{_sysconfdir}/hotplug/usb/tascam_fpga
%{_sysconfdir}/hotplug/usb/tascam_fw
%attr(0644,root,root) %{_sysconfdir}/hotplug/usb/tascam_fw.usermap
%{_bindir}/hdsploader
%{_bindir}/mixartloader
%{_bindir}/usx2yloader
%{_bindir}/vxloader
%endif

%changelog
* Thu Nov 15 2007 Tim Jackson <rpm@timj.co.uk> - 1.0.14-4
- ExcludeArch ppc64

* Thu Nov 15 2007 Tim Jackson <rpm@timj.co.uk> - 1.0.14-3
- Update License tag to GPLv2+

* Sun Oct 28 2007 Tim Jackson <rpm@timj.co.uk> - 1.0.14-2
- Don't build -firmware subpackage again; licensing problems with 
  alsa-firmware are delaying and there is a circular dep
- Remove bogus "echomixer" from -firmware subpackage

* Sat Aug 18 2007 Tim Jackson <rpm@timj.co.uk> - 1.0.14-1
- Update to upstream 1.0.14
- Add icon for envy24control
- Build echomixer
- Enable -firmware subpackage by default, ready for firmware hitting
  Fedora soon

* Sat Dec 09 2006 Tim Jackson <rpm@timj.co.uk> - 1.0.12-4
- ExcludeArch ppc (#219010)

* Sun Nov 26 2006 Tim Jackson <rpm@timj.co.uk> - 1.0.12-3
- Add gtk2-devel BR

* Sun Nov 26 2006 Tim Jackson <rpm@timj.co.uk> - 1.0.12-2
- Own our docdir explicitly

* Sat Nov 25 2006 Tim Jackson <rpm@timj.co.uk> - 1.0.12-1
- Update to 1.0.12
- Resubmit to Fedora Extras 6
- Replace hotplug requirement with udev

* Mon Feb 13 2006 Thorsten Leemhuis <fedora[AT]leemhuis.info>
- Rebuild for Fedora Extras 5

* Tue Dec 06 2005 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 1.0.10-1
- Update to 1.0.10

* Fri May 06 2005 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 1.0.9-1
- Update to 1.0.9
- Use disttag
- Remove gcc4 patch

* Fri May 06 2005 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 1.0.8-3
- prune ac3dec from sources

* Thu May 05 2005 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 1.0.8-2
- don't build ac3dec -- use a52dec instead

* Wed Apr 06 2005 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 1.0.8-1
- Update to 1.0.8

* Sun Mar 29 2005 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 0:1.0.6-2
- Add "--without tools" and "--with firmware" options
- Drop unneeded BR: automake

* Sun Jan 02 2005 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 0:1.0.6-0.fdr.1
- Update to 1.0.6 for FC3
- add new files in {_datadir}/sounds/
- add patch0 for as10k1 

* Sat Apr 03 2004 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 0:1.0.4-0.fdr.1
- Update to 1.0.4

* Fri Jan 16 2004 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 0:1.0.1-0.fdr.2
- Integrate Michaels patch that fixes:
- fix desktop files for fedora.us, adds buildreq desktop-file-utils
- fix %%install section for short-circuit installs

* Fri Jan 09 2004 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 0:1.0.1-0.fdr.1
- Update to 1.0.1

* Sun Dec 14 2003 Thorsten Leemhuis <fedora[AT]leemhuis.info> 1.0.0-0.fdr.0.3.rc2
- exit if error during build or install
- fix install errors hdspconf, hdspmixer, usx2yloader
- Split package in alsa-tools and alsa-tools-firmware
- Integrate more docs

* Fri Dec 06 2003 Thorsten Leemhuis <fedora[AT]leemhuis.info> 1.0.0-0.fdr.0.2.rc2
- Update to 1.0.0rc2
- some minor corrections in style

* Thu Dec 04 2003 Thorsten Leemhuis <fedora[AT]leemhuis.info> 1.0.0-0.fdr.0.1.rc1
- Update to 1.0.0rc1
- Remove firmware files -- extra package now.
- Add description

* Wed Aug 13 2003 Dams <anvil[AT]livna.org> 0:tools-0.fdr.1
- Initial build.