diff --git a/.gitignore b/.gitignore index e69de29..db1ae0b 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/miniz_v115_r4.7z diff --git a/miniz.spec b/miniz.spec new file mode 100644 index 0000000..70c4b5b --- /dev/null +++ b/miniz.spec @@ -0,0 +1,87 @@ +%global miniz_revision r4 + +Name: miniz +Version: 1.15 +Release: 1.%{miniz_revision}%{?dist} +Summary: Compression library implementing the zlib and Deflate +Group: System Environment/Libraries +License: Unlicense +URL: https://code.google.com/p/%{name}/ +Source0: https://%{name}.googlecode.com/files/%{name}_v%(echo '%{version}' | tr -d .)_%{miniz_revision}.7z +BuildRequires: p7zip + +%description +Miniz is a lossless, high performance data compression library in a single +source file that implements the zlib (RFC 1950) and Deflate (RFC 1951) +compressed data format specification standards. It supports the most commonly +used functions exported by the zlib library, but is a completely independent +implementation so zlib's licensing requirements do not apply. It also +contains simple to use functions for writing PNG format image files and +reading/writing/appending ZIP format archives. Miniz's compression speed has +been tuned to be comparable to zlib's, and it also has a specialized real-time +compressor function designed to compare well against fastlz/minilzo. + +%package devel +Group: Development/Libraries +Summary: Development files for the %{name} library +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: glibc-headers%{?_isa} + +%description devel +Header files for developing applications that use the %{name} library. + + +%prep +%setup -c -T -n %{name}-%{version}_%{miniz_revision} +7za e '%{SOURCE0}' +# Remove prebuilt executables +find -name '*.exe' -exec rm -- {} + +# Extract a header file +sed -e '/End of Header/q' < %{name}.c > %{name}.h +# Prepare test for linking against the library +sed -i -e 's/#include "miniz.c"/#include /' miniz_tester.cpp + +%global soname lib%{name}.so.0.1 + +%build +# Upstream CMakeLists.txt does not produce a library, build it. +# Inject downstream SONAME, bug #1152653 +gcc %{optflags} -fPIC -DPIC -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 \ + -fno-strict-aliasing %{name}.c -c -o %{name}.o +gcc %{?__global_ldflags} -fPIC -shared -Wl,-soname,%{soname} \ + %{name}.o -o lib%{name}.so.0.1 +ln -s %{soname} lib%{name}.so +# Build test against the library +g++ %{optflags} -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 \ + -I. miniz_tester.cpp -c -o miniz_tester.o +g++ %{optflags} -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 \ + -I. timer.cpp -c -o timer.o +g++ %{?__global_ldflags} -L. -l%{name} miniz_tester.o timer.o -o miniz_tester + +%check +LD_LIBRARY_PATH=$PWD ./miniz_tester + +%install +install -d '%{buildroot}/%{_libdir}' +install %{soname} '%{buildroot}/%{_libdir}' +ln -s %{soname} '%{buildroot}/%{_libdir}/lib%{name}.so' +install -d '%{buildroot}/%{_includedir}' +install -m 0644 %{name}.h '%{buildroot}/%{_includedir}' + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%{_libdir}/%{soname} + +%files devel +%{_includedir}/%{name}.h +%{_libdir}/lib%{name}.so + + +%changelog +* Tue Oct 14 2014 Petr Pisar - 1.15-1.r4 +- 1.15r4 version packaged + + diff --git a/sources b/sources index e69de29..86ba868 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +f3146e44ef1182467592e2f2f4665260 miniz_v115_r4.7z