xine-lib/xine-lib.spec
Ville Skyttä 1e7ec3f6bf * Sat Sep 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-3
- Move XCB plugins to the main package.
- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
  time in preparation for the first EPEL build.
2007-09-19 19:04:27 +00:00

494 lines
18 KiB
RPMSpec

# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
# - move pulseaudio to main package from -extras?
# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
# --> not yet:
# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
%define have_vidix 1
%else
%define have_vidix 0
%endif
%if 0%{?fedora} >= 8
%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%define with_caca %{?_without_caca:0}%{!?_without_caca:1}
%define with_jack %{?_without_jack:0}%{!?_without_jack:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_jack %{?_with_jack:1}%{!?_with_jack:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
%define with_wpack %{?_with_wavpack:1}%{!?_with_wavpack:0}
%endif
Summary: Xine library
Name: xine-lib
Version: 1.1.8
Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
Source0: %{name}-%{version}-pruned.tar.bz2
Source1: %{name}-cleanup-sources.sh
Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel
BuildRequires: libGLU-devel
%if %{with_xcb}
BuildRequires: libxcb-devel
%endif # xcb
# Video
BuildRequires: SDL-devel libtheora-devel libmng-devel
%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
%endif # aalib
%if %{with_caca}
BuildRequires: libcaca-devel >= 0.99
%endif # caca
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif # directfb
%if 0%{!?_without_imagemagick:1}
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
%endif # imagemagick
%if 0%{?_with_freetype:1}
BuildRequires: fontconfig-devel
%endif # freetype
# Audio
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
BuildRequires: libmpcdec-devel
%if %{with_wpack}
BuildRequires: wavpack-devel
%endif # wpack
%if %{with_pa}
BuildRequires: pulseaudio-lib-devel
%endif # pa
%if %{with_jack}
BuildRequires: jack-audio-connection-kit-devel
%endif # jack
# CDs
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
# samba-common in <= FC-6, libsmbclient-devel in FC7+
BuildRequires: %{_includedir}/libsmbclient.h
%package devel
Summary: Xine library development files
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig zlib-devel
%package arts
Summary: aRts plugin for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
# -arts was split off the -extras subpackage at 1.1.7-3
Obsoletes: xine-lib-extras < 1.1.7-3
%package extras
Summary: Additional plugins for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
%description
This package contains the Xine library. Xine is a free multimedia player.
It can play back various media. It also decodes multimedia files from local
disk drives, and displays multimedia streamed over the Internet. It
interprets many of the most common multimedia formats available - and some
of the most uncommon formats, too. --with/--without rpmbuild options
(some default values depend on target distribution): aalib, caca, directfb,
imagemagick, freetype, antialiasing (with freetype), jack, pulseaudio,
wavpack, xcb.
%description devel
This package contains development files for xine-lib.
%description arts
This package contains the aRts extra plugin for xine-lib.
%description extras
This package contains extra plugins for xine-lib:
- EsounD
%if %{with_jack}
- JACK
%endif # jack
%if %{with_pa}
- Pulseaudio
%endif # pa
- GDK-Pixbuf
- GNOME VFS
- SMB
- SDL
%if %{with_aalib}
- AA-lib
%endif # aalib
%if %{with_caca}
- Libcaca
%endif # caca
%if 0%{!?_without_imagemagick:1}
- Image decoding
%endif # imagemagick
%if 0%{!?_without_directfb:1}
- DirectFB output
%endif # directfb
%prep
%setup -q
%patch0 -p1 -b .autotools
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
%build
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
# Keep list of options in mostly the same order as ./configure --help.
%configure \
--disable-dependency-tracking \
--enable-ipv6 \
%if 0%{!?_without_directfb:1}
--enable-directfb \
%endif # directfb
--disable-a52dec \
--disable-mad \
--disable-dvdnavtest --with-external-dvdnav \
--disable-vcd \
--disable-asf \
--disable-faad \
%if 0%{?_with_freetype:1}
%if 0%{?_with_antialiasing:1}
--enable-antialiasing \
%endif # antialiasing
--with-freetype \
--with-fontconfig \
%endif # freetype
--with-external-ffmpeg \
--with-xv-path=%{_libdir} \
--with-libflac \
--with-external-libmpcdec \
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
%endif # imagemagick
--with-arts \
%if %{with_wpack}
--with-wavpack \
%endif
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT __docs
make install DESTDIR=$RPM_BUILD_ROOT
%find_lang libxine1
cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs
rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib
# Removing useless files
rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
__docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \
__docs/README.{dxr3,network_dvd}
# Directory for binary codecs
mkdir -p $RPM_BUILD_ROOT%{codecdir}
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files -f libxine1.lang
%defattr(-,root,root,-)
%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO
%doc __docs/README.* __docs/faq.*
%dir %{codecdir}/
%{_datadir}/xine/
%{_libdir}/libxine.so.*
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
%dir %{_libdir}/xine/plugins/%{version}/
%{_libdir}/xine/plugins/%{version}/mime.types
# Listing every plugin separately for better control over binary packages
# containing exactly the plugins we want, nothing accidentally snuck in
# nor dropped.
%dir %{_libdir}/xine/plugins/%{version}/post/
%{_libdir}/xine/plugins/%{version}/post/xineplug_post_audio_filters.so
%{_libdir}/xine/plugins/%{version}/post/xineplug_post_goom.so
%{_libdir}/xine/plugins/%{version}/post/xineplug_post_mosaico.so
%{_libdir}/xine/plugins/%{version}/post/xineplug_post_switch.so
%{_libdir}/xine/plugins/%{version}/post/xineplug_post_visualizations.so
%if %{have_vidix}
%dir %{_libdir}/xine/plugins/%{version}/vidix/
%{_libdir}/xine/plugins/%{version}/vidix/cyberblade_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/mach64_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/mga_crtc2_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/mga_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/nvidia_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/pm2_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/pm3_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/radeon_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/rage128_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/savage_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/sis_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/unichrome_vid.so
%endif # vidix
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
%endif # ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
%endif # ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_flv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_image.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_matroska.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_mng.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_pva.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_qt.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_rawdv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_file.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_http.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so
%if %{have_vidix}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
%endif # vidix
%if %{with_xcb}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so
%endif # xcb
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
%files arts
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%if %{with_jack}
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
%endif # jack
%if %{with_pa}
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so
%endif # pa
%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
%endif # imagemagick
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
%if %{with_aalib}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
%endif # aalib
%if %{with_caca}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
%endif # caca
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so
%endif # directfb
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
%files devel
%defattr(-,root,root,-)
%doc __docs/hackersguide/*
%{_bindir}/xine-config
%{_datadir}/aclocal/xine.m4
%{_includedir}/xine.h
%{_includedir}/xine/
%{_libdir}/libxine.so
%{_libdir}/pkgconfig/libxine.pc
%{_mandir}/man1/xine-config.1*
%changelog
* Sat Sep 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-3
- Move XCB plugins to the main package.
- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
time in preparation for the first EPEL build.
* Sun Sep 09 2007 Aurelien Bompard <abompard@fedoraproject.org> 1.1.8-2
- remove the dependency from -extras to -arts, and use Obsoletes to
provide an upgrade path
* Thu Aug 30 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-1
- 1.1.8, "open" patch applied upstream.
- Build XCB plugins by default for Fedora 8+ only.
* Sat Aug 25 2007 Aurelien Bompard <abompard@fedoraproject.org> 1.1.7-3
- Split the aRts plugin into its own subpackage
* Tue Aug 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-2
- Include XCB output plugins (in -extras at least for now).
- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
- Clean up %%configure options.
- License: GPLv2+
* Thu Jun 7 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-1
- 1.1.7.
* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 1.1.6-3
- respin (for libmpcdec)
* Wed Apr 25 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-2
- Make Real codec search path /usr/lib(64)/codecs again (#237743).
* Wed Apr 18 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-1
- 1.1.6.
* Wed Apr 11 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.5-1
- 1.1.5.
- Include GSM 06.10 decoder (#228186).
- Re-enable CACA support.
* Sun Apr 8 2007 Ville Skyttä <ville.skytta at iki.fi>
- Exclude vidix dir on systems that don't have vidix.
- Specfile cleanups.
* Mon Mar 26 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-4
- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
- Adjust Samba build dependencies to work for both <= and > FC6.
- Add --with freetype and --with antialiasing build time options,
default disabled, and an upstream patch for FreeType memory leak (#233194).
* Sat Mar 10 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-3
- Apply upstream fix for CVE-2007-1246.
* Wed Feb 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-2
- Rebuild.
* Wed Jan 31 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-1
- 1.1.4, with wavpack and system libmpcdec support.
* Thu Jan 18 2007 Aurelien Bompard <abompard@fedoraproject.org> 1.1.3-4
- rebuild
* Wed Jan 3 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-3
- Fix libflac decoder with FLAC < 1.1.3 (#220961).
- Apply upstream patch for FLAC >= 1.1.3.
* Sun Dec 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-2
- Don't run autotools during build.
* Mon Dec 04 2006 Aurelien Bompard <abompard@fedoraproject.org> 1.1.3-1
- version 1.1.3
- patch2 applied upstream
- Disable CACA support by default, needs newer than what's in FE ATM.
- Split extras plugins in a separate package
- Enable JACK support (in extras subpackage)
- Enable DirectFB support (in extras subpackage)
* Sat Nov 11 2006 Aurelien Bompard <abompard@fedoraproject.org> 1.1.2-18
- Make shn files available to amarok. References:
http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1=1.1.2.2&r2=1.2
https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130
* Wed Oct 18 2006 Aurelien Bompard <abompard@fedoraproject.org> 1.1.2-17
- cleanup docs
- remove mms
- delete more source files in the cleanup script
- drop patch3 (affecting mms)
* Tue Oct 17 2006 Aurelien Bompard <abompard@fedoraproject.org> 1.1.2-16
- fix files list
- add BR gtk2-devel
- remove xineplug_decode_gdk_pixbuf.so from x86-only
* Mon Oct 16 2006 Aurelien Bompard <abompard@fedoraproject.org> 1.1.2-15
- removed libdts
- drop dxr patch (it's removed from tarball)
- list xineplug_decode_gdk_pixbuf.so and xineplug_vo_out_vidix.so only on x86
* Sun Oct 15 2006 Aurelien Bompard <abompard@fedoraproject.org> 1.1.2-14
- update SOURCE1 to remove liba52 from tarball (patented)
* Tue Sep 12 2006 Aurelien Bompard <abompard@fedoraproject.org> 1.1.2-13
- drop patches 2 and 4
* Fri Sep 08 2006 Aurelien Bompard <abompard@fedoraproject.org> 1.1.2-12
- initial Fedora Extras package