diff --git a/lame-3.100.tar.gz b/lame-3.100.tar.gz new file mode 100644 index 0000000..32336a6 Binary files /dev/null and b/lame-3.100.tar.gz differ diff --git a/lame-noexecstack.patch b/lame-noexecstack.patch new file mode 100644 index 0000000..34fcde8 --- /dev/null +++ b/lame-noexecstack.patch @@ -0,0 +1,77 @@ +diff -up lame-398-2/libmp3lame/i386/choose_table.nas.noexec lame-398-2/libmp3lame/i386/choose_table.nas +--- lame-398-2/libmp3lame/i386/choose_table.nas.noexec 2008-08-31 14:28:37.000000000 +0200 ++++ lame-398-2/libmp3lame/i386/choose_table.nas 2008-10-20 22:34:23.000000000 +0200 +@@ -445,3 +445,7 @@ from2: + ret + + end ++ ++%ifidn __OUTPUT_FORMAT__,elf ++section .note.GNU-stack noalloc noexec nowrite progbits ++%endif +diff -up lame-398-2/libmp3lame/i386/cpu_feat.nas.noexec lame-398-2/libmp3lame/i386/cpu_feat.nas +--- lame-398-2/libmp3lame/i386/cpu_feat.nas.noexec 2003-11-10 16:41:00.000000000 +0100 ++++ lame-398-2/libmp3lame/i386/cpu_feat.nas 2008-10-20 22:34:23.000000000 +0200 +@@ -105,3 +105,7 @@ return0: + ret + + end ++ ++%ifidn __OUTPUT_FORMAT__,elf ++section .note.GNU-stack noalloc noexec nowrite progbits ++%endif +diff -up lame-398-2/libmp3lame/i386/fft3dn.nas.noexec lame-398-2/libmp3lame/i386/fft3dn.nas +--- lame-398-2/libmp3lame/i386/fft3dn.nas.noexec 2008-08-31 14:28:37.000000000 +0200 ++++ lame-398-2/libmp3lame/i386/fft3dn.nas 2008-10-20 22:34:23.000000000 +0200 +@@ -486,3 +486,7 @@ proc fht_E3DN + add esp,20 + popd ebp, ebx, esi, edi + endproc ++ ++%ifidn __OUTPUT_FORMAT__,elf ++section .note.GNU-stack noalloc noexec nowrite progbits ++%endif +diff -up lame-398-2/libmp3lame/i386/fftfpu.nas.noexec lame-398-2/libmp3lame/i386/fftfpu.nas +--- lame-398-2/libmp3lame/i386/fftfpu.nas.noexec 2000-10-04 14:13:26.000000000 +0200 ++++ lame-398-2/libmp3lame/i386/fftfpu.nas 2008-10-20 22:34:23.000000000 +0200 +@@ -617,3 +617,7 @@ fht_FPU_FXCH_3rd_part: + endproc + + end ++ ++%ifidn __OUTPUT_FORMAT__,elf ++section .note.GNU-stack noalloc noexec nowrite progbits ++%endif +diff -up lame-398-2/libmp3lame/i386/fft.nas.noexec lame-398-2/libmp3lame/i386/fft.nas +--- lame-398-2/libmp3lame/i386/fft.nas.noexec 2000-10-04 14:13:26.000000000 +0200 ++++ lame-398-2/libmp3lame/i386/fft.nas 2008-10-20 22:34:23.000000000 +0200 +@@ -265,3 +265,7 @@ fht_3DN: + pop esi + pop ebx + ret ++ ++%ifidn __OUTPUT_FORMAT__,elf ++section .note.GNU-stack noalloc noexec nowrite progbits ++%endif +diff -up lame-398-2/libmp3lame/i386/fftsse.nas.noexec lame-398-2/libmp3lame/i386/fftsse.nas +--- lame-398-2/libmp3lame/i386/fftsse.nas.noexec 2008-08-31 14:28:37.000000000 +0200 ++++ lame-398-2/libmp3lame/i386/fftsse.nas 2008-10-20 22:34:23.000000000 +0200 +@@ -420,3 +420,7 @@ fht_SSE: + ret + + end ++ ++%ifidn __OUTPUT_FORMAT__,elf ++section .note.GNU-stack noalloc noexec nowrite progbits ++%endif +diff -up lame-398-2/libmp3lame/i386/ffttbl.nas.noexec lame-398-2/libmp3lame/i386/ffttbl.nas +--- lame-398-2/libmp3lame/i386/ffttbl.nas.noexec 2000-10-04 14:13:26.000000000 +0200 ++++ lame-398-2/libmp3lame/i386/ffttbl.nas 2008-10-20 22:34:23.000000000 +0200 +@@ -76,3 +76,7 @@ gray_index: + segment_code + + end ++ ++%ifidn __OUTPUT_FORMAT__,elf ++section .note.GNU-stack noalloc noexec nowrite progbits ++%endif diff --git a/lame.spec b/lame.spec new file mode 100644 index 0000000..fcd2463 --- /dev/null +++ b/lame.spec @@ -0,0 +1,87 @@ +Name: lame +Version: 3.100 +Release: 7 +Summary: Free MP3 audio compressor +License: GPLv2+ +URL: http://lame.sourceforge.net/ +Source0: http://downloads.sourceforge.net/sourceforge/lame/%{name}-%{version}.tar.gz +Patch0001: lame-noexecstack.patch +Patch0002: libmp3lame-symbols.patch + +BuildRequires: ncurses-devel gtk+-devel + +Provides: %{name}-libs = %{version}-%{release} +Obsoletes: %{name}-libs < %{version}-%{release} + +%description +LAME is a high quality MPEG Audio Layer III (MP3) encoder. + +%package devel +Summary: Development files for lame +Requires: %{name} = %{version}-%{release} + +%description devel +The lame-devel package contains development files for lame. + +%package help +Summary: man info for lame + +%description help +The lame-help Package contains man info for lame. + +%package mp3x +Summary: MP3 frame analyzer +Requires: %{name} = %{version}-%{release} + +%description mp3x +The lame-mp3x package contains the mp3x frame analyzer. + + +%prep +%autosetup -p1 + + +%build +sed -i -e 's/^\(\s*hardcode_libdir_flag_spec\s*=\).*/\1/' configure +%configure \ + --disable-dependency-tracking --disable-static --enable-mp3x --enable-mp3rtp +%make_build + + +%install +%make_install +%delete_la +ln -sf lame/lame.h %{buildroot}%{_includedir}/lame.h + + +%check +make test + +%post +/sbin/ldconfig + +%postun +/sbin/ldconfig + + +%files +%exclude %{_docdir}/%{name} +%doc README TODO USAGE doc/html/*.html ChangeLog COPYING LICENSE +%{_bindir}/{lame,mp3rtp} +%{_libdir}/libmp3lame.so.0* + +%files devel +%exclude %{_docdir}/%{name} +%doc API HACKING STYLEGUIDE +%{_libdir}/libmp3lame.so +%{_includedir}/{lame,lame.h} + +%files help +%{_mandir}/man1/lame.1* + +%files mp3x +%{_bindir}/mp3x + +%changelog +* Thu Dec 12 2019 zoushuangshuang - 3.100-7 +- Package init diff --git a/libmp3lame-symbols.patch b/libmp3lame-symbols.patch new file mode 100644 index 0000000..eb3a3b5 --- /dev/null +++ b/libmp3lame-symbols.patch @@ -0,0 +1,16 @@ +--- lame-3.100/include/libmp3lame.sym 2017-09-06 14:33:35.000000000 -0500 ++++ lame-3.100/include/libmp3lame.sym 2017-10-22 16:18:44.708436200 -0500 +@@ -1,5 +1,4 @@ + lame_init +-lame_init_old + lame_set_num_samples + lame_get_num_samples + lame_set_in_samplerate +@@ -188,6 +187,7 @@ hip_decode_exit + hip_set_errorf + hip_set_debugf + hip_set_msgf ++hip_set_pinfo + hip_decode + hip_decode_headers + hip_decode1