From ee9c1cddcd88a41e52e054f68bc7ece9ba4cb1ac Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Tue, 2 Dec 2008 23:33:44 +0000 Subject: [PATCH] * Tue Dec 02 2008 Dominik Mierzejewski 0.0.0-0.19.20081202git71d34b4 - 20081202 snapshot - bring back asm optimized/unoptimized libs split - rebase and improve patch - GUI dropped upstream - dropped redundant BRs --- .gitignore | 2 +- sources | 2 +- x264-rpm.patch | 179 ++++++++++++++----------------------------------- x264.desktop | 10 --- x264.spec | 118 +++++++++++--------------------- 5 files changed, 90 insertions(+), 221 deletions(-) delete mode 100644 x264.desktop diff --git a/.gitignore b/.gitignore index 4f7cd7f..0543b87 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -x264-20080905.tar.bz2 +x264-20081202.tar.bz2 diff --git a/sources b/sources index 0895b33..ce7bdd3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -09795824d0c28bf221ba96ebeb971ed2 x264-20080905.tar.bz2 +e4e52e3a3c03e23934bf2ed656fcf26e x264-20081202.tar.bz2 diff --git a/x264-rpm.patch b/x264-rpm.patch index ab1bf19..e59c953 100644 --- a/x264-rpm.patch +++ b/x264-rpm.patch @@ -1,165 +1,84 @@ -diff -up x264-20080905/configure.r x264-20080905/configure ---- x264-20080905/configure.r 2008-09-05 11:30:52.000000000 +0200 -+++ x264-20080905/configure 2008-09-05 11:43:27.000000000 +0200 -@@ -158,7 +158,7 @@ for opt do - shared="yes" - ;; - --enable-visualize) -- LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11" -+ LDFLAGS="$LDFLAGS -lX11" - CFLAGS="$CFLAGS -DVISUALIZE=1" - vis="yes" - ;; -@@ -243,6 +243,7 @@ esac - case $host_cpu in +diff -up x264-20081202/configure.r x264-20081202/configure +--- x264-20081202/configure.r 2008-12-02 23:26:25.000000000 +0100 ++++ x264-20081202/configure 2008-12-03 00:19:58.000000000 +0100 +@@ -41,7 +41,7 @@ as_check() { + return $TMP + } + +-rm -f config.h config.mak x264.pc conftest* ++rm -f config.mak x264.pc conftest* + + prefix='/usr/local' + exec_prefix='${prefix}' +@@ -239,6 +239,7 @@ case $host_cpu in i*86) ARCH="X86" -+ LDFLAGS="$LDFLAGS -m32" - AS="yasm" ASFLAGS="-O2" ++ LDFLAGS="$LDFLAGS -m32" if [ "$SYS" = MACOSX ]; then -@@ -363,7 +364,7 @@ if test "$pthread" = "yes" ; then + ASFLAGS="$ASFLAGS -f macho -DPREFIX" + elif [ "$SYS" = MINGW ]; then +@@ -352,7 +353,11 @@ if test "$pthread" = "yes" ; then LDFLAGS="$LDFLAGS $libpthread" fi --MP4_LDFLAGS="-lgpac_static" ++if [ "$shared" = "yes" ]; then +MP4_LDFLAGS="-lgpac" ++else + MP4_LDFLAGS="-lgpac_static" ++fi if [ $SYS = MINGW ]; then MP4_LDFLAGS="$MP4_LDFLAGS -lwinmm" fi -@@ -478,7 +479,6 @@ if [ "$shared" = "yes" ]; then - fi - - if [ "$gtk" = "yes" ]; then -- echo 'default: libx264gtk.a' >> config.mak - echo 'install: install-gtk' >> config.mak +@@ -452,8 +457,6 @@ if [ "$shared" = "yes" ]; then + echo 'default: $(SONAME)' >> config.mak fi -diff -up x264-20080905/gtk/Makefile.r x264-20080905/gtk/Makefile ---- x264-20080905/gtk/Makefile.r 2008-09-05 11:30:52.000000000 +0200 -+++ x264-20080905/gtk/Makefile 2008-09-05 11:41:36.000000000 +0200 -@@ -46,14 +46,14 @@ SOURCES_ALL = $(OBJECTS_ALL:%.o=%.c) - - X264GTK_PC = x264gtk.pc - --EXTERNAL_DEPS= ../muxers.o ../matroska.o ../libx264.a -+EXTERNAL_DEPS= ../muxers.o ../matroska.o $(SONAME) - - - all: $(ENCODE_BIN) $(TEST_BIN) $(MO_FILES) $(X264GTK_PC) - - # Already provides iconv/intl - CPPFLAGS = -g `pkg-config --cflags gtk+-2.0 gthread-2.0` -I.. -DX264_DATA_DIR=\"${datadir}\" --LDFLAGS += `pkg-config --libs gtk+-2.0 gthread-2.0` ../libx264.a -+LDFLAGS += `pkg-config --libs gtk+-2.0 gthread-2.0` -L.. -lx264 - - - # gettext rules -@@ -86,11 +86,6 @@ x264_icon.h: x264.ico - - - # Linking rule --libx264gtk.a: $(OBJECTS_LIB) -- @echo " L: $(@F)" -- @ar rc libx264gtk.a $(OBJECTS_LIB) -- @ranlib libx264gtk.a +-./version.sh - - $(SONAMEGTK): $(OBJECTS_LIB) - @echo " L: $(@F)" - @$(CC) -shared -o $@ $(OBJECTS_LIB) $(SOFLAGS) $(LDFLAGS) -@@ -102,7 +97,7 @@ $(TEST_BIN): $(OBJECTS_LIB) $(OBJECTS_TE - @$(CC) -o $(TEST_BIN) $(OBJECTS_LIB) $(OBJECTS_TEST) $(LDFLAGS) $(ICONV_LIB) - - # Program : x264_gtk_encode --$(ENCODE_BIN): x264_icon.h libx264gtk.a $(SONAMEGTK) $(OBJECTS_ENCODE) $(EXTERNAL_DEPS) $(X264GTK_O) -+$(ENCODE_BIN): x264_icon.h $(SONAMEGTK) $(OBJECTS_ENCODE) $(EXTERNAL_DEPS) $(X264GTK_O) - @echo " B: $(@F)" - @$(CC) -o $(ENCODE_BIN) $(OBJECTS_LIB) $(OBJECTS_ENCODE) $(EXTERNAL_DEPS) $(LDFLAGS) $(X264GTK_O) - -@@ -110,17 +105,17 @@ $(ENCODE_BIN): x264_icon.h libx264gtk.a - $(X264GTK_PC): - @echo " S: $(X264GTK_PC)" - @rm -f $(X264GTK_PC) -- @echo "prefix=$(DESTDIR)${prefix}" > $(X264GTK_PC) -- @echo "exec_prefix=$(DESTDIR)${exec_prefix}" >> $(X264GTK_PC) -- @echo "libdir=$(DESTDIR)${libdir}" >> $(X264GTK_PC) -- @echo "includedir=$(DESTDIR)${includedir}" >> $(X264GTK_PC) -+ @echo "prefix=${prefix}" > $(X264GTK_PC) -+ @echo "exec_prefix=${exec_prefix}" >> $(X264GTK_PC) -+ @echo "libdir=${libdir}" >> $(X264GTK_PC) -+ @echo "includedir=${includedir}" >> $(X264GTK_PC) - @echo "" >> $(X264GTK_PC) - @echo "Name: Gtk+ interface for X264" >> $(X264GTK_PC) - @echo "Description: Gtk+ interface to configure X264" >> $(X264GTK_PC) - @echo "Requires: x264" >> $(X264GTK_PC) - @echo "Version: 0.1" >> $(X264GTK_PC) -- @echo "Libs: -L$(DESTDIR)$(libdir) -lx264gtk" >> $(X264GTK_PC) -- @echo "Cflags: -I$(DESTDIR)$(includedir)" >> $(X264GTK_PC) -+ @echo "Libs: -L$(libdir) -lx264gtk" >> $(X264GTK_PC) -+ @echo "Cflags: -I$(includedir)" >> $(X264GTK_PC) - - # Clean rule - clean: -@@ -140,8 +135,6 @@ install: $(ENCODE_BIN) - @install -m 644 x264_gtk_enum.h "$(DESTDIR)$(includedir)" - @echo " D: $(DESTDIR)$(libdir)" - @install -d "$(DESTDIR)$(libdir)" -- @echo " I: $(DESTDIR)$(libdir)/libx264gtk.a" -- @install -m 644 libx264gtk.a "$(DESTDIR)$(libdir)" - @echo " I: $(DESTDIR)$(libdir)/libx264gtk.$(SOSUFFIX)" - @$(if $(SONAMEGTK), ln -sf $(SONAMEGTK) $(DESTDIR)$(libdir)/libx264gtk.$(SOSUFFIX)) - @$(if $(SONAMEGTK), install -m 755 $(SONAMEGTK) $(DESTDIR)$(libdir)) -diff -up x264-20080905/Makefile.r x264-20080905/Makefile ---- x264-20080905/Makefile.r 2008-09-05 11:30:52.000000000 +0200 -+++ x264-20080905/Makefile 2008-09-05 11:41:36.000000000 +0200 -@@ -71,7 +71,7 @@ DEP = depend - - .PHONY: all default fprofiled clean distclean install install-gtk uninstall dox test testclean - --default: $(DEP) x264$(EXE) -+default: $(DEP) x264$(EXE) x264_gtk_encode$(EXE) + pclibs="-L$libdir -lx264 $libpthread" - libx264.a: .depend $(OBJS) $(OBJASM) + cat > x264.pc << EOF +diff -up x264-20081202/Makefile.r x264-20081202/Makefile +--- x264-20081202/Makefile.r 2008-12-02 23:26:25.000000000 +0100 ++++ x264-20081202/Makefile 2008-12-03 00:21:09.000000000 +0100 +@@ -77,14 +77,25 @@ libx264.a: .depend $(OBJS) $(OBJASM) ar rc libx264.a $(OBJS) $(OBJASM) -@@ -79,15 +79,16 @@ libx264.a: .depend $(OBJS) $(OBJASM) + ranlib libx264.a ++libx264.so: $(SONAME) ++ ln -sf $(SONAME) libx264.$(SOSUFFIX) ++ $(SONAME): .depend $(OBJS) $(OBJASM) $(CC) -shared -o $@ $(OBJS) $(OBJASM) $(SOFLAGS) $(LDFLAGS) -+ ln -s $(SONAME) libx264.so --x264$(EXE): $(OBJCLI) libx264.a -- $(CC) -o $@ $+ $(LDFLAGS) -+x264$(EXE): $(OBJCLI) $(SONAME) ++ifneq ($(SONAME),) ++x264$(EXE): $(OBJCLI) libx264.so + $(CC) -o $@ $+ $(LDFLAGS) -lx264 -L. - --libx264gtk.a: muxers.o libx264.a -+x264_gtk_encode$(EXE): muxers.o $(SONAME) - $(MAKE) -C gtk - --checkasm: tools/checkasm.o libx264.a -- $(CC) -o $@ $+ $(LDFLAGS) ++ +checkasm: tools/checkasm.o $(SONAME) + $(CC) -o $@ $+ $(LDFLAGS) -lx264 -L. ++else + x264$(EXE): $(OBJCLI) libx264.a + $(CC) -o $@ $+ $(LDFLAGS) + + checkasm: tools/checkasm.o libx264.a + $(CC) -o $@ $+ $(LDFLAGS) ++endif %.o: %.asm $(AS) $(ASFLAGS) -o $@ $< -@@ -154,10 +155,8 @@ install: x264$(EXE) $(SONAME) +@@ -148,10 +159,12 @@ install: x264$(EXE) $(SONAME) install -d $(DESTDIR)$(bindir) $(DESTDIR)$(includedir) install -d $(DESTDIR)$(libdir) $(DESTDIR)$(libdir)/pkgconfig install -m 644 x264.h $(DESTDIR)$(includedir) -- install -m 644 libx264.a $(DESTDIR)$(libdir) ++ifeq ($(SONAME),) + install -m 644 libx264.a $(DESTDIR)$(libdir) ++ ranlib $(DESTDIR)$(libdir)/libx264.a ++endif install -m 644 x264.pc $(DESTDIR)$(libdir)/pkgconfig install x264$(EXE) $(DESTDIR)$(bindir) - ranlib $(DESTDIR)$(libdir)/libx264.a ifeq ($(SYS),MINGW) $(if $(SONAME), install -m 755 $(SONAME) $(DESTDIR)$(bindir)) else -@@ -166,7 +165,7 @@ else - endif - $(if $(IMPLIBNAME), install -m 644 $(IMPLIBNAME) $(DESTDIR)$(libdir)) - --install-gtk: libx264gtk.a -+install-gtk: x264_gtk_encode$(EXE) - $(MAKE) -C gtk install - - uninstall: diff --git a/x264.desktop b/x264.desktop deleted file mode 100644 index 6c5ac31..0000000 --- a/x264.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=Gtk+ interface for X264 -GenericName=Video encoder -Comment=Gtk+ interface to configure X264 -Exec=x264_gtk_encode -Terminal=false -Icon=x264 -Type=Application -Encoding=UTF-8 -Categories=Video;AudioVideoEditing;GTK; diff --git a/x264.spec b/x264.spec index 25602c3..49b1f14 100644 --- a/x264.spec +++ b/x264.spec @@ -1,28 +1,23 @@ -%define snapshot 20080905 +%define snapshot 20081202 +%define git 71d34b4 Summary: H264/AVC video streams encoder Name: x264 Version: 0.0.0 -Release: 0.18.%{snapshot}%{?dist} +Release: 0.19.%{snapshot}git%{git}%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://developers.videolan.org/x264.html Source0: http://rpm.greysector.net/livna/%{name}-%{snapshot}.tar.bz2 Source1: x264-snapshot.sh -Source2: %{name}.desktop Patch0: %{name}-rpm.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -u -n) -BuildRequires: desktop-file-utils -# version.sh requires git -BuildRequires: git-core -BuildRequires: gtk2-devel -BuildRequires: gettext BuildRequires: gpac-devel -BuildRequires: ImageMagick %ifarch x86_64 %{ix86} BuildRequires: yasm %endif Requires: %{name}-libs = %{version}-%{release} +Obsoletes: %{name}-gui < 0.0.0-0.19 %description x264 is a free library for encoding H264/AVC video streams, written from @@ -51,35 +46,6 @@ scratch. This package contains the development files. -%package gui -Summary: GUI for x264 encoder -Group: Applications/Multimedia -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig -Obsoletes: %{name}-gtk < %{version}-%{release} -Provides: %{name}-gtk = %{version}-%{release} - -%description gui -x264 is a free library for encoding H264/AVC video streams, written from -scratch. - -This package contains the GTK GUI. - -%package gui-devel -Summary: Development files for the x264 encoder GUI -Group: Development/Libraries -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-gui = %{version}-%{release} -Requires: pkgconfig -Obsoletes: %{name}-gtk-devel < %{version}-%{release} -Provides: %{name}-gtk-devel = %{version}-%{release} - -%description gui-devel -x264 is a free library for encoding H264/AVC video streams, written from -scratch. - -This package contains the GUI development files. - %define x_configure \ ./configure \\\ --host=%{_target_platform} \\\ @@ -88,7 +54,7 @@ This package contains the GUI development files. --bindir=%{_bindir} \\\ --includedir=%{_includedir} \\\ --extra-cflags="$RPM_OPT_FLAGS" \\\ - %{?_with_gpac:--enable-mp4-output} \\\ + --enable-mp4-output \\\ %{?_with_visualize:--enable-visualize} \\\ --enable-pthread \\\ --enable-debug \\\ @@ -102,28 +68,37 @@ This package contains the GUI development files. # AUTHORS file is in iso-8859-1 iconv -f iso-8859-1 -t utf-8 -o AUTHORS.utf8 AUTHORS mv -f AUTHORS.utf8 AUTHORS -convert gtk/x264.ico x264icon.png +%ifarch %{ix86} +mkdir sse2 +cp -a `ls -1|grep -v sse2` sse2/ +%endif %build %{x_configure}\ --libdir=%{_libdir} \ - --enable-gtk \ +%ifarch %{ix86} + --disable-asm +%endif + +%{__make} %{?_smp_mflags} +%ifarch %{ix86} +pushd sse2 +%{x_configure}\ + --libdir=%{_libdir}/sse2 \ %{__make} %{?_smp_mflags} +popd +%endif %install %{__rm} -rf %{buildroot} %{__make} DESTDIR=%{buildroot} install - -desktop-file-install --vendor livna \ - --dir $RPM_BUILD_ROOT%{_datadir}/applications \ - --mode 644 \ - %{SOURCE2} - -%{__install} -Dpm 644 x264icon.png \ - %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png - -%find_lang %{name}_gtk +%ifarch %{ix86} +pushd sse2 +%{__make} DESTDIR=%{buildroot} install +popd +rm %{buildroot}%{_libdir}/sse2/pkgconfig/x264.pc +%endif %clean %{__rm} -rf %{buildroot} @@ -132,20 +107,6 @@ desktop-file-install --vendor livna \ %postun libs -p /sbin/ldconfig -%post gui -/sbin/ldconfig -touch --no-create %{_datadir}/icons/hicolor || : -if [ -x %{_bindir}/gtk-update-icon-cache ]; then - %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : -fi - -%postun gui -/sbin/ldconfig -touch --no-create %{_datadir}/icons/hicolor || : -if [ -x %{_bindir}/gtk-update-icon-cache ]; then - %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : -fi - %files %defattr(644, root, root, 0755) %doc AUTHORS COPYING @@ -154,6 +115,9 @@ fi %files libs %defattr(644, root, root, 0755) %{_libdir}/libx264.so.* +%ifarch %{ix86} +%{_libdir}/sse2/libx264.so.* +%endif %files devel %defattr(644, root, root, 0755) @@ -161,22 +125,18 @@ fi %{_includedir}/x264.h %{_libdir}/libx264.so %{_libdir}/pkgconfig/%{name}.pc - -%files gui -f %{name}_gtk.lang -%defattr(644, root, root, 0755) -%attr(755,root,root) %{_bindir}/x264_gtk_encode -%{_libdir}/libx264gtk.so.* -%{_datadir}/x264/ -%{_datadir}/applications/*%{name}.desktop -%{_datadir}/icons/hicolor/*/apps/x264.png - -%files gui-devel -%defattr(644, root, root, 0755) -%{_includedir}/x264_gtk*.h -%{_libdir}/libx264gtk.so -%{_libdir}/pkgconfig/%{name}gtk.pc +%ifarch %{ix86} +%{_libdir}/sse2/libx264.so +%endif %changelog +* Tue Dec 02 2008 Dominik Mierzejewski 0.0.0-0.19.20081202git71d34b4 +- 20081202 snapshot +- bring back asm optimized/unoptimized libs split +- rebase and improve patch +- GUI dropped upstream +- dropped redundant BRs + * Mon Nov 17 2008 Dominik Mierzejewski 0.0.0-0.18.20080905 - partially revert latest changes (the separate sse2 libs part) until selinux policy catches up