Browse Source

libvpx: update to 0.9.1, update build/install section

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@1304 ec354946-7b23-47d6-9f5a-488ba84defc7
daisuke 14 years ago
parent
commit
dd220549d4
1 changed files with 36 additions and 17 deletions
  1. 36 17
      lib/libv/libvpx/libvpx-vl.spec

+ 36 - 17
lib/libv/libvpx/libvpx-vl.spec

@@ -1,5 +1,5 @@
 Name:		libvpx
-Version:	0.9.0
+Version:	0.9.1
 Release:	1%{?_dist_release}
 Summary:        The VP8 Codec SDK
 Summary(ja):	VP8 コーデックソフトウェア開発キット
@@ -7,7 +7,7 @@ Summary(ja):	VP8 コーデックソフトウェア開発キット
 Group:		System Environment/Libraries
 License:	BSD
 URL:		http://www.webmproject.org/tools/vp8-sdk/
-Source0:        libvpx-0.9.0.tar.bz2
+Source0:        http://webm.googlecode.com/files/%{name}-%{version}.tar.bz2
 Source1:        libvpx.pc
 Source2:        libvpx.ver
 Patch0:         libvpx-0.9.0-no-explicit-dep-on-static-lib.patch
@@ -76,19 +76,31 @@ use %{name}.
 %endif
 %endif
 
+%if "%{vpxtarget}" == "generic-gnu"
+%global generic_target 1
+%else
+%global generic_target 0
+%endif
+
 ./configure \
  --target=%{vpxtarget} \
  --enable-pic \
+%if ! %{generic_target}
+ --enable-shared \
+%endif
+ --prefix=%{_prefix} \
+ --libdir=%{_libdir} \
  --disable-install-docs \
  --disable-install-srcs
 
 # fix up optflags
-sed -i "s|\"vpx_config.h\"|\"vpx_config.h\" %{optflags} -fPIC|g" libs-%{vpxtarget}.mk
-sed -i "s|\"vpx_config.h\"|\"vpx_config.h\" %{optflags} -fPIC|g" examples-%{vpxtarget}.mk
-sed -i "s|\"vpx_config.h\"|\"vpx_config.h\" %{optflags} -fPIC|g" docs-%{vpxtarget}.mk
+sed -i "s|-O3|%{optflags}|g" libs-%{vpxtarget}.mk
+sed -i "s|-O3|%{optflags}|g" examples-%{vpxtarget}.mk
+sed -i "s|-O3|%{optflags}|g" docs-%{vpxtarget}.mk
 
 %{__make} %{?_smp_mflags} verbose=true target=libs
 
+%if %{generic_target}
 mkdir -p tmp
 pushd tmp
 ar x ../libvpx_g.a
@@ -98,10 +110,11 @@ gcc -shared -fPIC -pthread -lm \
     -Wl,-soname,libvpx.so.0 \
     -Wl,--version-script,%{SOURCE2} \
     -Wl,-z,noexecstack \
-    -o libvpx.so.0.0.0 tmp/*.o
+    -o libvpx.so.%{version} tmp/*.o
 rm -rf tmp
+%endif
 
-ln -sf libvpx.so.0.0.0 libvpx.so
+ln -sf libvpx.so.%{version} libvpx.so
 
 mv libvpx.a libvpx.a.tmp
 mv libvpx_g.a libvpx_g.a.tmp
@@ -113,12 +126,7 @@ mv libvpx_g.a.tmp libvpx_g.a
 
 %install
 %{__rm} -rf $RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT%{_prefix}
-%{__make} DIST_DIR=$RPM_BUILD_ROOT%{_prefix} install
-mkdir -p $RPM_BUILD_ROOT%{_libdir}
-%{__install} -m755 libvpx.so.0.0.0 $RPM_BUILD_ROOT%{_libdir}
-ln -sf libvpx.so.0.0.0 $RPM_BUILD_ROOT%{_libdir}/libvpx.so.0
-ln -sf libvpx.so.0.0.0 $RPM_BUILD_ROOT%{_libdir}/libvpx.so
+%{__make} DIST_DIR=$RPM_BUILD_ROOT%{_prefix} dist
 
 # Install the pkg-config file
 mkdir -p %{buildroot}%{_libdir}/pkgconfig/
@@ -128,21 +136,29 @@ sed -i "s|@PREFIX@|%{_prefix}|g" %{buildroot}%{_libdir}/pkgconfig/libvpx.pc
 sed -i "s|@LIBDIR@|%{_libdir}|g" %{buildroot}%{_libdir}/pkgconfig/libvpx.pc
 sed -i "s|@INCLUDEDIR@|%{_includedir}|g" %{buildroot}%{_libdir}/pkgconfig/libvpx.pc
 
+%if %{generic_target}
+install -p libvpx.so.%{version} %{buildroot}%{_libdir}
+pushd %{buildroot}%{_libdir}
+ln -sf libvpx.so.%{version} libvpx.so
+ln -sf libvpx.so.%{version} libvpx.so.0
+ln -sf libvpx.so.%{version} libvpx.so.0.9
+popd
+%endif
+
 pushd %{buildroot}
 # Rename a few examples
+mv usr/bin/postproc usr/bin/vp8_postproc
 mv usr/bin/simple_decoder usr/bin/vp8_simple_decoder
 mv usr/bin/simple_encoder usr/bin/vp8_simple_encoder
 mv usr/bin/twopass_encoder usr/bin/vp8_twopass_encoder
-# Move the headers into the subdir
-mkdir -p usr/include/vpx/
-mv usr/include/*.h usr/include/vpx/
 # Fix the binary permissions
 chmod 755 usr/bin/*
 popd
 
 rm -f $RPM_BUILD_ROOT%{_prefix}/md5sums.txt
 rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.a
-
+rm -f $RPM_BUILD_ROOT%{_prefix}/{CHANGELOG,README}
+rm -rf $RPM_BUILD_ROOT%{_prefix}/build
 
 
 %clean
@@ -171,5 +187,8 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Sun Jul 11 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 0.9.1-1
+- new upstream release
+
 * Mon May 24 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 0.9.0-1
 - initial build for Vine Linux