xine-lib/xine-lib.spec

328 lines
12 KiB
RPMSpec
Raw Normal View History

# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/
# - pulseaudio
%define codecdir %{_libdir}/codecs
Summary: Xine library
Name: xine-lib
Version: 1.1.3
Release: 3%{?dist}
License: GPL
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.gz
Source0: %{name}-%{version}-pruned.tar.bz2
Source1: %{name}-cleanup-sources.sh
# To recreate the autotools patch: install build deps, extract source0,
# remove run_configure "$@" from autogen.sh, copy the dir to -patched,
# run autogen.sh (doesn't work with automake 1.10 as of 1.1.3 so use 1.9),
# remove autom4te.cache, then diff the dirs. Apply rest of the patches during
# build so that autotools do not need to be run again.
Patch0: %{name}-1.1.3-autotools.patch.bz2
Patch1: %{name}-1.1.3-optflags.patch
Patch2: %{name}-1.1.3-flac113.patch
Patch3: %{name}-1.1.3-legacy-flac-init.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.1-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
# Video
BuildRequires: freetype-devel SDL-devel libtheora-devel libmng-devel
BuildRequires: aalib-devel >= 1.4
%if 0%{?_with_caca:1}
BuildRequires: libcaca-devel >= 0.99
%endif
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif
%if 0%{!?_without_imagemagick:1}
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
%endif
# Audio
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
BuildRequires: jack-audio-connection-kit-devel
# CDs
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel samba-common
%package devel
Summary: Xine library development files
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig zlib-devel
%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. Non-default rpmbuild options:
--without imagemagick: Disable ImageMagick support
--without directfb: Disable DirectFB support
--with caca: Enable CACA support
%description devel
This package contains development files for xine-lib.
%description extras
This package contains extra plugins for xine-lib:
- aRts
- EsounD
- JACK
- GDK-Pixbuf
- GNOME VFS
- SMB
- SDL
- AA-lib
%if 0%{?_with_caca:1}
- Libcaca
%endif
%if 0%{!?_without_imagemagick:1}
- Image decoding
%endif
%if 0%{!?_without_directfb:1}
- DirectFB output
%endif
%prep
%setup -q
%patch0 -p1 -b .autotools
cp -p m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch2 -p1 -b .flac113
%patch3 -p0 -b .legacy-flac-init
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
find . -name "*.[hc]" | xargs chmod -c -x
# 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)"
%configure --disable-dependency-tracking \
--with-xv-path=%{_libdir} \
--with-w32-path=%{codecdir} \
--with-external-ffmpeg \
--enable-ipv6 \
%if 0%{!?_without_directfb:1}
--enable-directfb \
%endif
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
%endif
%if 0%{!?_with_caca:1}
--without-caca \
%endif
--disable-libfame \
--disable-faad \
--disable-mad \
--disable-asf \
--disable-vcd \
--disable-a52dec \
--with-external-dvdnav --disable-dvdnavtest
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 __docs
rm -rf $RPM_BUILD_ROOT%{_docdir}/xine
# 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 CREDITS ChangeLog* README TODO __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}/
# I list all the plugins because I don't want a non-free plugin
# to sneak into a future version
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.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
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.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_cdda.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real_audio.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_flv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_image.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_matroska.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_mng.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_sputext.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
%endif
%ifnarch ppc64 s390 s390x
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
%endif
%{_libdir}/xine/plugins/%{version}/post/
%{_libdir}/xine/plugins/%{version}/vidix/
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
%if 0%{?_with_caca:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
%endif
%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
%endif
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
%endif
%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
* 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