initial import

This commit is contained in:
Tom Callaway 2010-05-21 15:21:15 +00:00
parent 2178f51fa7
commit 96de2eb421
7 changed files with 244 additions and 0 deletions

View File

@ -0,0 +1 @@
libvpx-0.9.0.tar.bz2

1
import.log Normal file
View File

@ -0,0 +1 @@
libvpx-0_9_0-4_fc13:HEAD:libvpx-0.9.0-4.fc13.src.rpm:1274455258

View File

@ -0,0 +1,11 @@
diff -up libvpx-0.9.0/examples.mk.BAD libvpx-0.9.0/examples.mk
--- libvpx-0.9.0/examples.mk.BAD 2010-05-19 17:58:42.611058552 -0400
+++ libvpx-0.9.0/examples.mk 2010-05-19 17:59:11.934181029 -0400
@@ -129,7 +129,6 @@ BINS-$(NOT_MSVS) += $(addprefi
# Instantiate linker template for all examples.
CODEC_LIB=$(if $(CONFIG_DEBUG_LIBS),vpx_g,vpx)
$(foreach bin,$(BINS-yes),\
- $(if $(BUILD_OBJS),$(eval $(bin): $(LIB_PATH)/lib$(CODEC_LIB).a))\
$(if $(BUILD_OBJS),$(eval $(call linker_template,$(bin),\
$(call objs,$($(notdir $(bin)).SRCS)) \
-l$(CODEC_LIB) $(addprefix -l,$(CODEC_EXTRA_LIBS))\

14
libvpx.pc Normal file
View File

@ -0,0 +1,14 @@
prefix=@PREFIX@
exec_prefix=@PREFIX@
libdir=@LIBDIR@
includedir=@INCLUDEDIR@
Name: libvpx
Description: VP8 Video Codec SDK library
Version: 0.9.0
URL: http://www.webmproject.org/tools/vp8-sdk/
Requires:
Conflicts:
Libs: -L${libdir} -lvpx
Libs.private:
Cflags: -I${includedir}/vpx/

160
libvpx.spec Normal file
View File

@ -0,0 +1,160 @@
Name: libvpx
Summary: VP8 Video Codec SDK
Version: 0.9.0
Release: 4%{?dist}
License: BSD
Group: System Environment/Libraries
Source0: http://webm.googlecode.com/files/%{name}-%{version}.tar.bz2
Source1: libvpx.pc
# Thanks to debian.
Source2: libvpx.ver
Patch0: libvpx-0.9.0-no-explicit-dep-on-static-lib.patch
URL: http://www.webmproject.org/tools/vp8-sdk/
%ifarch %{ix86} x86_64
BuildRequires: yasm
%endif
BuildRequires: doxygen, php-cli
%description
libvpx provides the VP8 SDK, which allows you to integrate your applications
with the VP8 video codec, a high quality, royalty free, open source codec
deployed on millions of computers and devices worldwide.
%package devel
Summary: Development files for libvpx
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
Development libraries and headers for developing software against
libvpx.
%package utils
Summary: VP8 utilities and tools
Group: Development/Tools
Requires: %{name} = %{version}-%{release}
%description utils
A selection of utilities and tools for VP8, including a sample encoder
and decoder.
%prep
%setup -q
%patch0 -p1 -b .no-static-lib
%build
%ifarch %{ix86}
%global vpxtarget x86-linux-gcc
%else
%ifarch x86_64
%global vpxtarget x86_64-linux-gcc
%else
%global vpxtarget generic-gnu
%endif
%endif
./configure --target=%{vpxtarget} --enable-pic --disable-install-srcs
# Hack our optflags in.
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
make %{?_smp_mflags} verbose=true target=libs
# Really? You couldn't make this a shared library? Ugh.
# Oh well, I'll do it for you.
mkdir tmp
cd tmp
ar x ../libvpx_g.a
cd ..
gcc -fPIC -shared -pthread -lm -Wl,--no-undefined -Wl,-soname,libvpx.so.0 -Wl,--version-script,%{SOURCE2} -z noexecstack -o libvpx.so.0.0.0 tmp/*.o
rm -rf tmp
# Temporarily dance the static libs out of the way
mv libvpx.a libNOTvpx.a
mv libvpx_g.a libNOTvpx_g.a
# We need to do this so the examples can link against it.
ln -sf libvpx.so.0.0.0 libvpx.so
make %{?_smp_mflags} verbose=true target=examples
make %{?_smp_mflags} verbose=true target=docs
# Put them back so the install doesn't fail
mv libNOTvpx.a libvpx.a
mv libNOTvpx_g.a libvpx_g.a
%install
make DIST_DIR=%{buildroot}%{_prefix} install
# Install the pkg-config file
mkdir -p %{buildroot}%{_libdir}/pkgconfig/
install -m0644 %{SOURCE1} %{buildroot}%{_libdir}/pkgconfig/
# Fill in the variables
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
# Simpler to label the dir as %doc.
mv %{buildroot}/usr/docs doc/
mkdir -p %{buildroot}%{_includedir}/vpx/
install -p libvpx.so.0.0.0 %{buildroot}%{_libdir}
pushd %{buildroot}%{_libdir}
ln -sf libvpx.so.0.0.0 libvpx.so
ln -sf libvpx.so.0.0.0 libvpx.so.0
ln -sf libvpx.so.0.0.0 libvpx.so.0.0
popd
pushd %{buildroot}
# Stuff we don't need.
rm -rf usr/build/ usr/md5sums.txt usr/lib*/*.a usr/CHANGELOG usr/README
# Rename a few examples
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
mv usr/include/*.h usr/include/vpx/
# Fix the binary permissions
chmod 755 usr/bin/*
popd
%clean
rm -rf %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc AUTHORS CHANGELOG LICENSE README
%{_libdir}/libvpx.so.*
%files devel
%defattr(-,root,root,-)
# These are SDK docs, not really useful to an end-user.
%doc doc/
%{_includedir}/vpx/
%{_libdir}/pkgconfig/libvpx.pc
%{_libdir}/libvpx.so
%files utils
%defattr(-,root,root,-)
%{_bindir}/*
%changelog
* Thu May 20 2010 Tom "spot" Callaway <tcallawa@redhat.com> 0.9.0-4
- BuildRequires: yasm (we're optimized again)
* Thu May 20 2010 Tom "spot" Callaway <tcallawa@redhat.com> 0.9.0-3
- add pkg-config file
- move headers into include/vpx/
- enable optimization
* Thu May 20 2010 Tom "spot" Callaway <tcallawa@redhat.com> 0.9.0-2
- fix permissions on binaries
- rename generic binaries to v8_*
- link shared library to -lm, -lpthread to resolve missing weak symbols
* Wed May 19 2010 Tom "spot" Callaway <tcallawa@redhat.com> 0.9.0-1
- Initial package for Fedora

56
libvpx.ver Normal file
View File

@ -0,0 +1,56 @@
{ global:
vpx_codec_build_config;
vpx_codec_control_;
vpx_codec_dec_init_ver;
vpx_codec_decode;
vpx_codec_destroy;
vpx_codec_enc_config_default;
vpx_codec_enc_config_set;
vpx_codec_enc_init_ver;
vpx_codec_encode;
vpx_codec_error;
vpx_codec_error_detail;
vpx_codec_err_to_string;
vpx_codec_get_caps;
vpx_codec_get_cx_data;
vpx_codec_get_frame;
vpx_codec_get_global_headers;
vpx_codec_get_mem_map;
vpx_codec_get_preview_frame;
vpx_codec_get_stream_info;
vpx_codec_iface_name;
vpx_codec_peek_stream_info;
vpx_codec_register_put_frame_cb;
vpx_codec_register_put_slice_cb;
vpx_codec_set_cx_data_buf;
vpx_codec_set_mem_map;
vpx_codec_version;
vpx_codec_version_extra_str;
vpx_codec_version_str;
vpx_codec_vp8_algo;
vpx_codec_vp8_cx_algo;
vpx_codec_vp8_dx_algo;
vpx_dec_control;
vpx_dec_decode;
vpx_dec_destroy;
vpx_dec_error;
vpx_dec_error_detail;
vpx_dec_err_to_string;
vpx_dec_get_caps;
vpx_dec_get_frame;
vpx_dec_get_mem_map;
vpx_dec_get_stream_info;
vpx_dec_iface_name;
vpx_dec_init_ver;
vpx_dec_peek_stream_info;
vpx_dec_register_put_frame_cb;
vpx_dec_register_put_slice_cb;
vpx_dec_set_mem_map;
vpx_dec_xma_init_ver;
vpx_enc_vp8_algo;
vpx_img_alloc;
vpx_img_flip;
vpx_img_free;
vpx_img_set_rect;
vpx_img_wrap;
local: *; };

View File

@ -0,0 +1 @@
9eb8e818d2f3263623c258fe66924082 libvpx-0.9.0.tar.bz2