You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-packaging/redhat/dependencies/akode/akode.spec

366 lines
9.4 KiB

#
# spec file for package akode (version R14)
#
# Copyright (c) 2014 Trinity Desktop Environment
#
# 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 http://www.trinitydesktop.org/
#
# BUILD WARNING:
# Remove qt-devel and qt3-devel and any kde*-devel on your system !
# Having KDE libraries may cause FTBFS here !
# TDE variables
%define tde_epoch 2
%if "%{?tde_version}" == ""
%define tde_version 14.1.2
%endif
%define tde_prefix /opt/trinity
%define tde_bindir %{tde_prefix}/bin
%define tde_datadir %{tde_prefix}/share
%define tde_docdir %{tde_datadir}/doc
%define tde_includedir %{tde_prefix}/include
%define tde_libdir %{tde_prefix}/%{_lib}
%define tde_mandir %{tde_datadir}/man
%define tde_tdeappdir %{tde_datadir}/applications/tde
%define tde_tdedocdir %{tde_docdir}/tde
%define tde_tdeincludedir %{tde_includedir}/tde
%define tde_tdelibdir %{tde_libdir}/trinity
%if 0%{?mdkversion} || 0%{?mgaversion} || 0%{?pclinuxos}
%define libakode %{_lib}akode
%else
%define libakode libakode
%endif
Name: trinity-akode
Epoch: %{tde_epoch}
Version: 2.0.2
Release: %{?tde_version}_%{?!preversion:1}%{?preversion:0_%{preversion}}%{?dist}
Summary: Audio-decoding framework
Group: System Environment/Libraries
URL: http://www.kde-apps.org/content/show.php?content=30375
#URL: http://carewolf.com/akode/
%if 0%{?suse_version}
License: GPL-2.0+
%else
License: GPLv2+
%endif
Source0: %{name}-%{tde_version}%{?preversion:~%{preversion}}.tar.gz
Prefix: %{tde_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: trinity-tde-cmake >= %{tde_version}
BuildRequires: gcc-c++
BuildRequires: libtool
# TQT support
BuildRequires: libtqt4-devel
BuildRequires: trinity-filesystem >= %{tde_version}
# FLAC support
%define _with_flac --with-flac
%if 0%{?mgaversion} || 0%{?mdkversion}
BuildRequires: libflac-devel
%endif
%if 0%{?rhel} || 0%{?fedora} || 0%{?suse_version}
BuildRequires: flac-devel
%endif
# JACK support
%if 0%{?rhel} >= 5 || 0%{?fedora} || 0%{?mgaversion} || 0%{?mdkversion} || 0%{?suse_version}
%define _with_jack --with-jack
%if 0%{?mgaversion} || 0%{?mdkversion}
BuildRequires: %{_lib}jack-devel
%endif
%if 0%{?rhel} || 0%{?fedora} || 0%{?suse_version}
BuildRequires: jack-audio-connection-kit-devel
%endif
%endif
# SAMPLERATE support
%if 0%{?rhel} >= 4 || 0%{?fedora} || 0%{?mgaversion} || 0%{?mdkversion} || 0%{?suse_version}
%define _with_libsamplerate --with-libsamplerate
BuildRequires: libsamplerate-devel
%endif
# PULSEAUDIO support
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 6 || 0%{?mgaversion} || 0%{?mdkversion} || 0%{?suse_version}
%define _with_pulseaudio --with-pulseaudio
%if 0%{?mgaversion} || 0%{?mdkversion}
BuildRequires: libpulseaudio-devel
%endif
%if 0%{?rhel} || 0%{?fedora}
BuildRequires: pulseaudio-libs-devel
%endif
%if 0%{?suse_version}
BuildRequires: pulseaudio-devel
%endif
%endif
# MAD support
%ifarch %{ix86} x86_64
%if 0%{?mdkversion} || 0%{?mgaversion} || 0%{?fedora} || 0%{?suse_version} || 0%{?rhel}
%define _with_libmad --with-libmad
BuildRequires: libmad-devel
%endif
%endif
# ALSA support
%if 0%{?suse_version}
BuildRequires: alsa-devel
%else
BuildRequires: alsa-lib-devel
%endif
BuildRequires: libvorbis-devel
BuildRequires: speex-devel
%description
aKode is a simple audio-decoding frame-work that provides a uniform
interface to decode the most common audio-formats. It also has a direct
playback option for a number of audio-outputs.
aKode currently has the following decoder plugins:
* mpc: Decodes musepack aka mpc audio.
* xiph: Decodes FLAC, Ogg/FLAC, Speex and Ogg Vorbis audio.
aKode also has the following audio outputs:
* alsa: Outputs to ALSA (dmix is recommended).
* jack
* pulseaudio
%files
%defattr(-,root,root,-)
%doc rpmdocs/*
%{_bindir}/akodeplay
%{_libdir}/libakode.so.*
%{_libdir}/libakode_alsa_sink.la
%{_libdir}/libakode_alsa_sink.so
%{_libdir}/libakode_mpc_decoder.la
%{_libdir}/libakode_mpc_decoder.so
%{_libdir}/libakode_oss_sink.la
%{_libdir}/libakode_oss_sink.so
%{_libdir}/libakode_xiph_decoder.la
%{_libdir}/libakode_xiph_decoder.so
%post
/sbin/ldconfig
%postun
/sbin/ldconfig
##########
%package devel
Summary: Headers for developing programs that will use %{name}
Group: Development/Libraries
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
%{?_with_jack:Requires: %{libakode}_jack_sink = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_pulseaudio:Requires: %{libakode}_pulse_sink = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_libsamplerate:Requires: %{libakode}_src_resampler = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_libmad:Requires: %{libakode}_mpeg_decoder = %{?epoch:%{epoch}:}%{version}-%{release}}
Requires: pkgconfig
%description devel
This package contains the development files for Akode.
It is needed if you intend to build an application linked against Akode.
%files devel
%defattr(-,root,root,-)
%{_bindir}/akode-config
%{_includedir}/*
%{_libdir}/libakode.la
%{_libdir}/libakode.so
%{_libdir}/pkgconfig/akode.pc
%post devel
/sbin/ldconfig
%postun devel
/sbin/ldconfig
##########
%if "%{?_with_jack}" != ""
%package -n %{libakode}_jack_sink
Summary: Jack audio output backend for %{name}
Group: Development/Libraries
Provides: libakode_jack_sink = %{version}-%{release}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
%description -n %{libakode}_jack_sink
This package contains the Jack audio output backend for Akode.
%files -n %{libakode}_jack_sink
%defattr(-,root,root,-)
%{_libdir}/libakode_jack_sink.la
%{_libdir}/libakode_jack_sink.so
%post -n %{libakode}_jack_sink
/sbin/ldconfig
%postun -n %{libakode}_jack_sink
/sbin/ldconfig
%endif
##########
%if "%{?_with_pulseaudio}" != ""
%package -n %{libakode}_pulse_sink
Summary: Pulseaudio output backend for %{name}
Group: Development/Libraries
Provides: libakode_pulse_sink = %{version}-%{release}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
%description -n %{libakode}_pulse_sink
This package contains the pulseaudio backend for Akode.
Recommended for network transparent audio.
%files -n %{libakode}_pulse_sink
%defattr(-,root,root,-)
%{_libdir}/libakode_pulse_sink.la
%{_libdir}/libakode_pulse_sink.so
%post -n %{libakode}_pulse_sink
/sbin/ldconfig
%postun -n %{libakode}_pulse_sink
/sbin/ldconfig
%endif
##########
# Packaged separately to keep main/core %{akode} package LGPL-clean.
%if "%{?_with_libsamplerate:1}" == "1"
%package -n %{libakode}_src_resampler
Summary: Resampler based on libsamplerate for %{name}
Group: Development/Libraries
Provides: libakode_src_resampler = %{version}-%{release}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
%description -n %{libakode}_src_resampler
This package contains the samplerate decoder for Akode.
%files -n %{libakode}_src_resampler
%defattr(-,root,root,-)
%{_libdir}/libakode_src_resampler.la
%{_libdir}/libakode_src_resampler.so
%post -n %{libakode}_src_resampler
/sbin/ldconfig
%postun -n %{libakode}_src_resampler
/sbin/ldconfig
%endif
##########
%if "%{?_with_libmad}" != ""
%package -n %{libakode}_mpeg_decoder
Summary: Decoder based on libmad for %{name}
Group: Development/Libraries
Provides: libakode_mpeg_decoder = %{version}-%{release}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
%description -n %{libakode}_mpeg_decoder
This package contains the mad decoder for Akode.
%files -n %{libakode}_mpeg_decoder
%defattr(-,root,root,-)
%{_libdir}/libakode_mpeg_decoder.la
%{_libdir}/libakode_mpeg_decoder.so
%post -n %{libakode}_mpeg_decoder
/sbin/ldconfig
%postun -n %{libakode}_mpeg_decoder
/sbin/ldconfig
%endif
##########
%if 0%{?pclinuxos} || 0%{?suse_version} && 0%{?opensuse_bs} == 0
%debug_package
%endif
##########
%prep
%setup -q -n %{name}-%{tde_version}%{?preversion:~%{preversion}}
%build
unset QTDIR QTINC QTLIB
if ! rpm -E %%cmake|grep -q "cd build"; then
%__mkdir_p build
cd build
fi
%cmake \
-DCMAKE_BUILD_TYPE="RelWithDebInfo" \
-DCMAKE_C_FLAGS="${RPM_OPT_FLAGS}" \
-DCMAKE_CXX_FLAGS="${RPM_OPT_FLAGS}" \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWITH_GCC_VISIBILITY=OFF \
\
-DINCLUDE_INSTALL_DIR=%{_includedir} \
-DLIB_INSTALL_DIR=%{_libdir} \
\
-DWITH_ALL_OPTIONS="ON" \
-DWITH_LIBLTDL="OFF" \
-DWITH_ALSA_SINK="ON" \
%{!?_with_jack:-DWITH_JACK_SINK="OFF"} %{?_with_jack:-DWITH_JACK_SINK="ON"} \
%{!?_with_pulseaudio:-DWITH_PULSE_SINK="OFF"} %{?_with_pulseaudio:-DWITH_PULSE_SINK="ON"} \
-DWITH_OSS_SINK="ON" \
-DWITH_SUN_SINK="OFF" \
\
-DWITH_FFMPEG_DECODER="OFF" \
-DWITH_MPC_DECODER="ON" \
%{!?_with_libmad:-DWITH_MPEG_DECODER="OFF"} %{?_with_libmad:-DWITH_MPEG_DECODER="ON"} \
-DWITH_SRC_RESAMPLER="ON" \
-DWITH_XIPH_DECODER="ON" \
..
%__make %{?_smp_mflags} || %__make
%install
%__rm -rf %{buildroot}
%__make install DESTDIR=%{?buildroot} -C build
# rpmdocs
for file in AUTHORS COPYING NEWS README TODO ; do
test -s "$file" && install -p -m644 -D "$file" "rpmdocs/$file"
done
%clean
%__rm -rf %{buildroot}
%changelog