import libmad-0.15.1b-24.el8

This commit is contained in:
CentOS Sources 2019-08-01 12:35:24 -04:00 committed by Stepan Oksanichenko
commit 556db6130d
9 changed files with 493 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/libmad-0.15.1b.tar.gz

1
.libmad.metadata Normal file
View File

@ -0,0 +1 @@
cac19cd00e1a907f3150cc040ccc077783496d76 SOURCES/libmad-0.15.1b.tar.gz

View File

@ -0,0 +1,34 @@
From: Dave Martin
Subject: "rsc" doesnt exist anymore in thumb2
diff --git a/fixed.h b/fixed.h
index 4b58abf..ba4bc26 100644
--- a/fixed.h
+++ b/fixed.h
@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y)
: "+r" (lo), "+r" (hi) \
: "%r" (x), "r" (y))
+#ifdef __thumb__
+/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero
+ operand. If needed this code can also support Thumb-1
+ (simply append "s" to the end of the second two instructions). */
+# define MAD_F_MLN(hi, lo) \
+ asm ("rsbs %0, %0, #0\n\t" \
+ "sbc %1, %1, %1\n\t" \
+ "sub %1, %1, %2" \
+ : "+&r" (lo), "=&r" (hi) \
+ : "r" (hi) \
+ : "cc")
+#else /* ! __thumb__ */
# define MAD_F_MLN(hi, lo) \
asm ("rsbs %0, %2, #0\n\t" \
"rsc %1, %3, #0" \
- : "=r" (lo), "=r" (hi) \
+ : "=&r" (lo), "=r" (hi) \
: "0" (lo), "1" (hi) \
: "cc")
+#endif /* __thumb__ */
# define mad_f_scale64(hi, lo) \
({ mad_fixed_t __result; \

View File

@ -0,0 +1,12 @@
diff -Naur libmad-0.15.1b-orig/configure.ac libmad-0.15.1b/configure.ac
--- libmad-0.15.1b-orig/configure.ac 2007-07-01 12:58:13.000000000 -0600
+++ libmad-0.15.1b/configure.ac 2007-07-01 12:59:13.000000000 -0600
@@ -105,7 +105,7 @@
shift
;;
-O2)
- optimize="-O"
+ optimize="-O2"
shift
;;
-fomit-frame-pointer)

View File

@ -0,0 +1,146 @@
diff -Naur libmad-0.15.1b-orig/configure.ac libmad-0.15.1b/configure.ac
--- libmad-0.15.1b-orig/configure.ac 2007-06-30 20:22:31.000000000 -0600
+++ libmad-0.15.1b/configure.ac 2007-06-30 20:25:31.000000000 -0600
@@ -122,74 +122,74 @@
esac
done
-if test "$GCC" = yes
-then
- if test -z "$arch"
- then
- case "$host" in
- i386-*) ;;
- i?86-*) arch="-march=i486" ;;
- arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
- armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
- powerpc-*) ;;
- mips*-agenda-*) arch="-mcpu=vr4100" ;;
- mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
- esac
- fi
-
- case "$optimize" in
- -O|"-O "*)
- optimize="-O"
- optimize="$optimize -fforce-mem"
- optimize="$optimize -fforce-addr"
- : #x optimize="$optimize -finline-functions"
- : #- optimize="$optimize -fstrength-reduce"
- optimize="$optimize -fthread-jumps"
- optimize="$optimize -fcse-follow-jumps"
- optimize="$optimize -fcse-skip-blocks"
- : #x optimize="$optimize -frerun-cse-after-loop"
- : #x optimize="$optimize -frerun-loop-opt"
- : #x optimize="$optimize -fgcse"
- optimize="$optimize -fexpensive-optimizations"
- optimize="$optimize -fregmove"
- : #* optimize="$optimize -fdelayed-branch"
- : #x optimize="$optimize -fschedule-insns"
- optimize="$optimize -fschedule-insns2"
- : #? optimize="$optimize -ffunction-sections"
- : #? optimize="$optimize -fcaller-saves"
- : #> optimize="$optimize -funroll-loops"
- : #> optimize="$optimize -funroll-all-loops"
- : #x optimize="$optimize -fmove-all-movables"
- : #x optimize="$optimize -freduce-all-givs"
- : #? optimize="$optimize -fstrict-aliasing"
- : #* optimize="$optimize -fstructure-noalias"
-
- case "$host" in
- arm*-*)
- optimize="$optimize -fstrength-reduce"
- ;;
- mips*-*)
- optimize="$optimize -fstrength-reduce"
- optimize="$optimize -finline-functions"
- ;;
- i?86-*)
- optimize="$optimize -fstrength-reduce"
- ;;
- powerpc-apple-*)
- # this triggers an internal compiler error with gcc2
- : #optimize="$optimize -fstrength-reduce"
-
- # this is really only beneficial with gcc3
- : #optimize="$optimize -finline-functions"
- ;;
- *)
- # this sometimes provokes bugs in gcc 2.95.2
- : #optimize="$optimize -fstrength-reduce"
- ;;
- esac
- ;;
- esac
-fi
+#if test "$GCC" = yes
+#then
+# if test -z "$arch"
+# then
+# case "$host" in
+# i386-*) ;;
+# i?86-*) arch="-march=i486" ;;
+# arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
+# armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
+# powerpc-*) ;;
+# mips*-agenda-*) arch="-mcpu=vr4100" ;;
+# mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
+# esac
+# fi
+#
+# case "$optimize" in
+# -O|"-O "*)
+# optimize="-O"
+# optimize="$optimize -fforce-mem"
+# optimize="$optimize -fforce-addr"
+# : #x optimize="$optimize -finline-functions"
+# : #- optimize="$optimize -fstrength-reduce"
+# optimize="$optimize -fthread-jumps"
+# optimize="$optimize -fcse-follow-jumps"
+# optimize="$optimize -fcse-skip-blocks"
+# : #x optimize="$optimize -frerun-cse-after-loop"
+# : #x optimize="$optimize -frerun-loop-opt"
+# : #x optimize="$optimize -fgcse"
+# optimize="$optimize -fexpensive-optimizations"
+# optimize="$optimize -fregmove"
+# : #* optimize="$optimize -fdelayed-branch"
+# : #x optimize="$optimize -fschedule-insns"
+# optimize="$optimize -fschedule-insns2"
+# : #? optimize="$optimize -ffunction-sections"
+# : #? optimize="$optimize -fcaller-saves"
+# : #> optimize="$optimize -funroll-loops"
+# : #> optimize="$optimize -funroll-all-loops"
+# : #x optimize="$optimize -fmove-all-movables"
+# : #x optimize="$optimize -freduce-all-givs"
+# : #? optimize="$optimize -fstrict-aliasing"
+# : #* optimize="$optimize -fstructure-noalias"
+#
+# case "$host" in
+# arm*-*)
+# optimize="$optimize -fstrength-reduce"
+# ;;
+# mips*-*)
+# optimize="$optimize -fstrength-reduce"
+# optimize="$optimize -finline-functions"
+# ;;
+# i?86-*)
+# optimize="$optimize -fstrength-reduce"
+# ;;
+# powerpc-apple-*)
+# # this triggers an internal compiler error with gcc2
+# : #optimize="$optimize -fstrength-reduce"
+#
+# # this is really only beneficial with gcc3
+# : #optimize="$optimize -finline-functions"
+# ;;
+# *)
+# # this sometimes provokes bugs in gcc 2.95.2
+# : #optimize="$optimize -fstrength-reduce"
+# ;;
+# esac
+# ;;
+# esac
+#fi
case "$host" in
mips*-agenda-*)

View File

@ -0,0 +1,37 @@
diff -up libmad-0.15.1b/Makefile.am.orig libmad-0.15.1b/Makefile.am
--- libmad-0.15.1b/Makefile.am.orig 2009-01-25 14:35:56.000000000 +0200
+++ libmad-0.15.1b/Makefile.am 2009-01-25 18:35:07.000000000 +0200
@@ -110,15 +110,28 @@ mad.h: config.status config.h Makefile.a
echo "# ifdef __cplusplus"; \
echo 'extern "C" {'; \
echo "# endif"; echo; \
- if [ ".$(FPM)" != "." ]; then \
- echo ".$(FPM)" | sed -e 's|^\.-D|# define |'; echo; \
- fi; \
+ echo "# ifdef __i386__"; \
+ echo "# define FPM_INTEL"; \
+ echo "# define SIZEOF_LONG 4"; \
+ echo "# endif"; \
+ echo "#ifdef __x86_64__";\
+ echo "# define FPM_64BIT"; \
+ echo "# define SIZEOF_LONG 8"; \
+ echo "# endif"; \
+ echo "#ifdef __powerpc__"; \
+ echo "#define FPM_PPC"; \
+ echo "#define SIZEOF_LONG 4"; \
+ echo "#endif"; \
+ echo "#ifdef __powerpc64__"; \
+ echo "#define FPM_PPC"; \
+ echo "#define SIZEOF_LONG 8"; \
+ echo "#endif"; echo; \
sed -ne 's/^# *define *\(HAVE_.*_ASM\).*/# define \1/p' \
config.h; echo; \
sed -ne 's/^# *define *OPT_\(SPEED\|ACCURACY\).*/# define OPT_\1/p' \
config.h; echo; \
- sed -ne 's/^# *define *\(SIZEOF_.*\)/# define \1/p' \
- config.h; echo; \
+ echo "# define SIZEOF_INT 4"; \
+ echo "# define SIZEOF_LONG_LONG 8"; echo; \
for header in $(exported_headers); do \
echo; \
sed -n -f $(srcdir)/mad.h.sed $(srcdir)/$$header; \

View File

@ -0,0 +1,13 @@
--- libmad-0.15.1b/fixed.h~ 2004-02-17 02:02:03.000000000 +0000
+++ libmad-0.15.1b/fixed.h 2009-07-19 13:03:08.000000000 +0100
@@ -379,8 +379,8 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t
asm ("addc %0,%2,%3\n\t" \
"adde %1,%4,%5" \
: "=r" (lo), "=r" (hi) \
- : "%r" (lo), "r" (__lo), \
- "%r" (hi), "r" (__hi) \
+ : "0" (lo), "r" (__lo), \
+ "1" (hi), "r" (__hi) \
: "xer"); \
})
# endif

12
SOURCES/libmad.thumb.diff Normal file
View File

@ -0,0 +1,12 @@
--- ./imdct_l_arm.S.orig 2010-02-25 13:25:23.000000000 +0100
+++ ./imdct_l_arm.S 2010-02-25 13:27:26.000000000 +0100
@@ -468,7 +468,7 @@
@----
- add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?)
+ adr r2, imdct36_long_karray
loop:

237
SPECS/libmad.spec Normal file
View File

@ -0,0 +1,237 @@
Name: libmad
Version: 0.15.1b
Release: 24%{?dist}
Summary: MPEG audio decoder library
License: GPLv2+
URL: http://www.underbit.com/products/mad/
Source0: http://download.sourceforge.net/mad/%{name}-%{version}.tar.gz
#Create the same header on multilibs arches
Patch0: libmad-0.15.1b-multiarch.patch
Patch1: libmad-0.15.1b-ppc.patch
#https://bugs.launchpad.net/ubuntu/+source/libmad/+bug/534287
Patch2: Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff
#https://bugs.launchpad.net/ubuntu/+source/libmad/+bug/513734
Patch3: libmad.thumb.diff
Patch4: https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libmad/files/libmad-0.15.1b-cflags.patch
Patch5: https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libmad/files/libmad-0.15.1b-cflags-O2.patch
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
%description
MAD is a high-quality MPEG audio decoder. It currently supports MPEG-1
and the MPEG-2 extension to Lower Sampling Frequencies, as well as the
so-called MPEG 2.5 format. All three audio layers (Layer I, Layer II,
and Layer III a.k.a. MP3) are fully implemented.
%package devel
Summary: MPEG audio decoder library development files
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
%if 0%{?el5}
Requires: pkgconfig
%endif
%description devel
%{summary}.
%prep
%setup -q
#Only relevant on multilibs arches
%ifarch %{ix86} x86_64 ppc ppc64
%patch0 -p1 -b .multiarch
%endif
%patch1 -p1 -b .ppc
%patch2 -p1 -b .alt_t2
%patch3 -p1 -b .thumb
%patch4 -p1 -b .cflags
%patch5 -p1 -b .02
touch -r aclocal.m4 configure.ac NEWS AUTHORS ChangeLog
# Create an additional pkgconfig file
%{__cat} << EOF > mad.pc
prefix=%{_prefix}
exec_prefix=%{_prefix}
libdir=%{_libdir}
includedir=%{_includedir}
Name: mad
Description: MPEG Audio Decoder
Requires:
Version: %{version}
Libs: -L%{_libdir} -lmad -lm
Cflags: -I%{_includedir}
EOF
%build
autoreconf -sfiv
%configure \
%if 0%{?__isa_bits} == 64
--enable-fpm=64bit \
%endif
%ifarch %{arm}
--enable-fpm=arm \
%endif
--disable-dependency-tracking \
--enable-accuracy \
--disable-static
%make_build
%install
%make_install
rm -f %{buildroot}%{_libdir}/*.la
install -D -p -m 0644 mad.pc %{buildroot}%{_libdir}/pkgconfig/mad.pc
touch -r mad.h.sed %{buildroot}/%{_includedir}/mad.h
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%doc CHANGES CREDITS README TODO
%license COPYING COPYRIGHT
%{_libdir}/libmad.so.*
%files devel
%{_libdir}/libmad.so
%{_libdir}/pkgconfig/mad.pc
%{_includedir}/mad.h
%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.1b-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.1b-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.1b-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.1b-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jan 19 2017 Nicolas Chauvet <kwizart@gmail.com> - 0.15.1b-20
- Update Thumb-2 patch - rhbz#1414486
* Wed Nov 23 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.15.1b-19
- Add patches from gentoo
- Allow debuginfo generation
* Fri Nov 18 2016 Nicolas Chauvet <kwizart@gmail.com> -0.15.1b-18
- Spec file clean-up and review
* Sun Aug 31 2014 Sérgio Basto <sergio@serjux.com> - 0.15.1b-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Mar 03 2013 Nicolas Chauvet <kwizart@gmail.com> - 0.15.1b-16
- Mass rebuilt for Fedora 19 Features
* Sat Apr 28 2012 Nicolas Chauvet <kwizart@gmail.com> - 0.15.1b-15
- Don't use multiarch patch when the result is not hardcoded
- Update FPM
- Add patches from lp#534287 and lp#534287
* Wed Jan 25 2012 Nicolas Chauvet <kwizart@gmail.com> - 0.15.1b-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Sun Jul 19 2009 David Juran <david@juran.se> - 0.15.1b-13
- ppc asm patch from David Woodhouse (Bz 730)
- rpmlint warnings
* Wed Jul 1 2009 David Juran <david@juran.se> - 0.15.1b-12
- fix typo in multiarch patch
- fix ppc64 version (Bz 691)
* Sun Mar 29 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 0.15.1b-11
- rebuild for new F11 features
* Wed Jan 28 2009 David Juran <david@juran.se> - 0.15.1b-10
- fix timestamps (Bz 264)
* Sun Jan 25 2009 David Juran <david@juran.se> - 0.15.1b-9
- fix multiarch (Bz 264)
* Wed Jul 30 2008 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info - 0.15.1b-8
- rebuild for buildsys cflags issue
* Thu Jul 24 2008 David Juran <david@juran.se> - 0.15.1b-7
- Bump release for RpmFusion
* Tue Feb 19 2008 David Juran <david@juran.se> - 0.15.1b-6
- use $RPM_OPT_FLAGS - Bz 1873
* Sun Sep 30 2007 David Juran <david@juran.se> - 0.15.1b-5
- Grab mad.pc from freshrpms.
- merge configure-optioins with freshrpms
- Adjusted Licence tag (GPLv2)
- Drop static archive
* Fri Oct 06 2006 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> 0.15.1b-4
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
* Tue Sep 19 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.15.1b-3
- Use 64bit fixed point math on x86_64.
- Filter deprecated gcc flags, build with dependency tracking disabled.
- Move "b" to version field.
* Mon Mar 13 2006 Thorsten Leemhuis <fedora[AT]leemhuis.info> 0.15.1-2.b
- Drop Epoch in devel dep, too
* Thu Mar 09 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
- switch to new release field
- drop Epoch
* Tue Feb 28 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
- add dist
* Wed Feb 18 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.1-0.lvn.1.b
- Update to 0.15.1b.
* Sun Sep 28 2003 Dams <anvil[AT]livna.org> 0:0.15.0-0.fdr.1.b.0.94
- Remove comment after scriptlets
* Mon Jun 30 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.15.0-0.fdr.1.b
- Update to 0.15.0b.
- Split separate from the old mad package to follow upstream.
- -devel requires pkgconfig.
* Thu Apr 24 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.14.2-0.fdr.3.b
- Fix missing "main" package dependencies in *-devel.
- Include patch from Debian, possibly fixes #187 comment 7, and adds
pkgconfig files for libraries.
* Sun Apr 20 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.14.2-0.fdr.2.b
- Split into mad, libmad, -devel, libid3tag and -devel packages (#187).
- Provide mp3-cmdline virtual package and alternative.
- Build shared library.
* Fri Apr 4 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:0.14.2-0.fdr.1.b
- Update to current Fedora guidelines.
- Exclude %%{_libdir}/*.la.
* Thu Feb 20 2003 Ville Skyttä <ville.skytta at iki.fi> - 0.14.2b-1.fedora.1
- First Fedora release, based on Matthias Saou's work.
* Fri Sep 27 2002 Matthias Saou <matthias.saou@est.une.marmotte.net>
- Rebuild for Red Hat Linux 8.0 (missing because of license issues).
- Spec file cleanup.
* Tue Mar 12 2002 Bill Nottingham <notting@redhat.com> 0.14.2b-3
- ship libid3tag too
* Thu Feb 21 2002 Bill Nottingham <notting@redhat.com>
- rebuild
* Mon Jan 28 2002 Bill Nottingham <notting@redhat.com>
- split libmad off into a separate package