diff --git a/.gitignore b/.gitignore index e69de29..c14ecf6 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +libdca-0.0.5.tar.bz2 diff --git a/libdca-0.0.5-relsymlinks.patch b/libdca-0.0.5-relsymlinks.patch new file mode 100644 index 0000000..79c44b0 --- /dev/null +++ b/libdca-0.0.5-relsymlinks.patch @@ -0,0 +1,53 @@ +diff -Naupr libdca-0.0.5.orig/libdca/Makefile.am libdca-0.0.5/libdca/Makefile.am +--- libdca-0.0.5/libdca/Makefile.am 2007-04-08 10:32:01.000000000 +0200 ++++ libdca-0.0.5/libdca/Makefile.am 2007-04-08 10:32:01.000000000 +0200 +@@ -14,7 +14,7 @@ pkgconfig_DATA = libdca.pc libdts.pc + EXTRA_DIST = configure.incl + + install-exec-hook: +- ln -sf "$(libdir)/libdca.a" "$(DESTDIR)$(libdir)/libdts.a" ++ [ -f "$(DESTDIR)$(libdir)/libdca.a" ] && ln -sf "libdca.a" "$(DESTDIR)$(libdir)/libdts.a" || true + + uninstall-hook: +- unlink "$(DESTDIR)$(libdir)/libdts.a" ++ [ -f "$(DESTDIR)$(libdir)/libdca.a" ] && unlink "$(DESTDIR)$(libdir)/libdts.a" || true +diff -Naupr libdca-0.0.5.orig/libdca/Makefile.in libdca-0.0.5/libdca/Makefile.in +--- libdca-0.0.5/libdca/Makefile.in 2007-04-10 14:31:23.000000000 +0200 ++++ libdca-0.0.5/libdca/Makefile.in 2007-04-10 14:31:23.000000000 +0200 +@@ -504,10 +504,10 @@ uninstall-am: uninstall-libLTLIBRARIES u + + + install-exec-hook: +- ln -sf "$(libdir)/libdca.a" "$(DESTDIR)$(libdir)/libdts.a" ++ [ -f "$(DESTDIR)$(libdir)/libdca.a" ] && ln -sf "libdca.a" "$(DESTDIR)$(libdir)/libdts.a" || true + + uninstall-hook: +- unlink "$(DESTDIR)$(libdir)/libdts.a" ++ [ -f "$(DESTDIR)$(libdir)/libdca.a" ] && unlink "$(DESTDIR)$(libdir)/libdts.a" || true + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: +diff -Naupr libdca-0.0.5.orig/src/Makefile.am libdca-0.0.5/src/Makefile.am +--- libdca-0.0.5/src/Makefile.am 2007-04-08 10:21:18.000000000 +0200 ++++ libdca-0.0.5/src/Makefile.am 2007-04-08 10:21:18.000000000 +0200 +@@ -24,7 +24,7 @@ install-data-hook: + for a in dcadec extract_dca; do \ + oldname=`echo "$$a" | sed -e 's/ca/ts/' | sed '$(transform)'` ; \ + name=`echo "$$a" | sed '$(transform)'` ; \ +- ln -sf "$(man1dir)/$${name}.1" "$(DESTDIR)$(man1dir)/$${oldname}.1" ; \ ++ ln -sf "$${name}.1" "$(DESTDIR)$(man1dir)/$${oldname}.1" ; \ + done + + uninstall-hook: +diff -Naupr libdca-0.0.5.orig/src/Makefile.in libdca-0.0.5/src/Makefile.in +--- libdca-0.0.5/src/Makefile.in 2007-04-10 14:31:23.000000000 +0200 ++++ libdca-0.0.5/src/Makefile.in 2007-04-10 14:31:23.000000000 +0200 +@@ -562,7 +562,7 @@ install-data-hook: + for a in dcadec extract_dca; do \ + oldname=`echo "$$a" | sed -e 's/ca/ts/' | sed '$(transform)'` ; \ + name=`echo "$$a" | sed '$(transform)'` ; \ +- ln -sf "$(man1dir)/$${name}.1" "$(DESTDIR)$(man1dir)/$${oldname}.1" ; \ ++ ln -sf "$${name}.1" "$(DESTDIR)$(man1dir)/$${oldname}.1" ; \ + done + + uninstall-hook: diff --git a/libdca-0.0.5-strict-aliasing.patch b/libdca-0.0.5-strict-aliasing.patch new file mode 100644 index 0000000..075939f --- /dev/null +++ b/libdca-0.0.5-strict-aliasing.patch @@ -0,0 +1,71 @@ +diff -up libdca-0.0.5/libao/Makefile.in.aliasing libdca-0.0.5/libao/Makefile.in +--- libdca-0.0.5/libao/Makefile.in.aliasing 2007-11-02 21:16:15.000000000 +0100 ++++ libdca-0.0.5/libao/Makefile.in 2007-11-02 21:16:46.000000000 +0100 +@@ -172,7 +172,7 @@ sysconfdir = @sysconfdir@ + target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-AM_CFLAGS = $(OPT_CFLAGS) ++AM_CFLAGS = $(OPT_CFLAGS) -fno-strict-aliasing + AM_CPPFLAGS = -I$(top_srcdir)/include + noinst_LTLIBRARIES = libao.la + libao_la_SOURCES = audio_out.c audio_out_null.c audio_out_float.c \ +diff -up libdca-0.0.5/libao/Makefile.am.aliasing libdca-0.0.5/libao/Makefile.am +--- libdca-0.0.5/libao/Makefile.am.aliasing 2007-04-08 10:23:11.000000000 +0200 ++++ libdca-0.0.5/libao/Makefile.am 2007-11-02 21:16:08.000000000 +0100 +@@ -1,4 +1,4 @@ +-AM_CFLAGS = $(OPT_CFLAGS) ++AM_CFLAGS = $(OPT_CFLAGS) -fno-strict-aliasing + AM_CPPFLAGS = -I$(top_srcdir)/include + + noinst_LTLIBRARIES = libao.la +diff -up libdca-0.0.5/libdca/bitstream.h.aliasing libdca-0.0.5/libdca/bitstream.h +--- libdca-0.0.5/libdca/bitstream.h.aliasing 2007-04-08 11:08:35.000000000 +0200 ++++ libdca-0.0.5/libdca/bitstream.h 2007-11-02 21:20:07.000000000 +0100 +@@ -29,22 +29,38 @@ + + #else + +-# define swab32(x)\ +-((((uint8_t*)&x)[0] << 24) | (((uint8_t*)&x)[1] << 16) | \ +- (((uint8_t*)&x)[2] << 8) | (((uint8_t*)&x)[3])) ++static inline uint32_t swab32(uint32_t x) { ++ union { ++ uint32_t x32; ++ uint8_t x8[4]; ++ } u; ++ u.x32 = x; ++ return u.x8[0] << 24 | u.x8[1] << 16 | u.x8[2] << 8 | u.x8[3]; ++} + + #endif + + #ifdef WORDS_BIGENDIAN + +-# define swable32(x)\ +-((((uint8_t*)&x)[0] << 16) | (((uint8_t*)&x)[1] << 24) | \ +- (((uint8_t*)&x)[2]) | (((uint8_t*)&x)[3] << 8)) ++static inline uint32_t swable32(uint32_t x) { ++ union { ++ uint32_t x32; ++ uint8_t x8[4]; ++ } u; ++ u.x32 = x; ++ return u.x8[0] << 16 | u.x8[1] << 24 | u.x8[2] | u.x8[3] << 8; ++} + + #else + +-# define swable32(x)\ +-((((uint32_t)x) >> 16) | (((uint32_t)x) << 16)) ++static inline uint32_t swable32(uint32_t x) { ++ union { ++ uint32_t x32; ++ uint16_t x16[2]; ++ } u; ++ u.x32 = x; ++ return u.x16[0] << 16 | u.x16[1]; ++} + + #endif + diff --git a/libdca.spec b/libdca.spec new file mode 100644 index 0000000..ca8d6b8 --- /dev/null +++ b/libdca.spec @@ -0,0 +1,121 @@ +# $Id: libdca.spec,v 1.1 2008/08/03 14:38:57 thl Exp $ + +Summary: DTS Coherent Acoustics decoder library +Name: libdca +Version: 0.0.5 +Release: 3%{?dist} +URL: http://www.videolan.org/developers/libdca.html +Group: System Environment/Libraries +Source: http://download.videolan.org/pub/videolan/libdca/0.0.5/%{name}-%{version}.tar.bz2 +Patch0: libdca-0.0.5-relsymlinks.patch +Patch1: libdca-0.0.5-strict-aliasing.patch +License: GPLv2+ +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%description +libdca is a free library for decoding DTS Coherent Acoustics streams. It is +released under the terms of the GPL license. The DTS Coherent Acoustics +standard is used in a variety of applications, including DVD, DTS audio CD and +radio broadcasting. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Obsoletes: libdts-devel < 0.0.2-2 +Provides: libdts-devel = 0.0.2-2 +Requires: %{name} = %{version}-%{release} +Requires: pkgconfig + +%description devel +Development files for %{name}. + +Install %{name}-devel if you wish to develop or compile +applications that use %{name}. + +%package tools +Summary: Various tools for use with %{name} +Group: Applications/Multimedia + +%description tools +Various tools that use %{name}. + +%prep +%setup -q +%patch0 -p1 -b .relsymlinks +%patch1 -p1 -b .aliasing +iconv -f ISO8859-1 -t UTF-8 AUTHORS > tmp; mv tmp AUTHORS + +%build +%configure --disable-static +# Get rid of the /usr/lib64 RPATH on 64bit (as of 0.0.5) +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +# Force PIC as applications fail to recompile against the lib on x86_64 without +%{__make} %{?_smp_mflags} OPT_CFLAGS="$RPM_OPT_FLAGS -fPIC" + +%install +rm -rf $RPM_BUILD_ROOT +make DESTDIR=$RPM_BUILD_ROOT install +rm $RPM_BUILD_ROOT%{_libdir}/%{name}.la + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%doc AUTHORS COPYING ChangeLog NEWS README +%{_libdir}/%{name}.so.* + +%files tools +%defattr(-,root,root,-) +%{_bindir}/* +%{_mandir}/man1/* + +%files devel +%defattr(-,root,root,-) +%doc TODO doc/%{name}.txt +%{_libdir}/pkgconfig/libd??.pc +%{_includedir}/d??.h +%{_libdir}/%{name}.so + +%changelog +* Sun Aug 03 2008 Thorsten Leemhuis 0.0.5-2 +- Merge freshrpms spec into livna spec for rpmfusion: +- Update to latest upstream releae 0.0.5 as used by freshrpms +- Set release to 2 to be higher as both livna and freshrpms latest release +- Drop x86_64 patch (not needed since we override OPT_CFLAGS anyways) +- Drop visibility patch, this should be done upstream +- Drop upstream integrated libtool patch +- No longer regenerate the autoxxx scripts as this is no longer needed +- Port strict aliasing patch to 0.0.5 release +- Add relative symlink creation patch from freshrpms +- Update license tag in accordance with new license tag guidelines + +* Sat Nov 25 2006 Dominik Mierzejewski 0.0.2-3 +- added patches from gentoo (shared build, strict aliasing and visibility) + +* Sat Oct 28 2006 Dominik Mierzejewski 0.0.2-2 +- renamed to libdca +- added Obsoletes/Provides +- simplified autotools call + +* Mon Aug 07 2006 Dominik Mierzejewski 0.0.2-1 +- stop pretending we have a newer version + +* Sat Apr 16 2005 Dominik Mierzejewski 0.0.3-0.20040725.1 +- adapted ArkLinux specfile +- x86_64 portability patch + +* Sun Jul 25 2004 Bernhard Rosenkraenzer 0.0.3-0.20040725.1ark +- Force -fPIC +- Update + +* Wed Jul 07 2004 Bernhard Rosenkraenzer 0.0.3-0.20040707.1ark +- initial RPM diff --git a/sources b/sources index e69de29..d9f5806 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +dab6b2795c66a82a6fcd4f8343343021 libdca-0.0.5.tar.bz2