From d8a86474af87516587f4fa09105773e173a3ef29 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 1 Jan 1970 00:00:00 +0000 Subject: [PATCH] Added bzip2. --- .hgignore | 1 + bzip2/bzip2-1.0.4-bzip2recover.patch | 12 ++++ bzip2/bzip2-1.0.4-cflags.patch | 11 +++ bzip2/bzip2-1.0.4-saneso.patch | 11 +++ bzip2/mingw32-bzip2-1.0.5-dll.patch | 15 ++++ bzip2/mingw32-bzip2-1.0.5-slash.patch | 11 +++ bzip2/mingw32-bzip2.spec | 130 ++++++++++++++++++++++++++++++++++ 7 files changed, 191 insertions(+) create mode 100644 bzip2/bzip2-1.0.4-bzip2recover.patch create mode 100644 bzip2/bzip2-1.0.4-cflags.patch create mode 100644 bzip2/bzip2-1.0.4-saneso.patch create mode 100644 bzip2/mingw32-bzip2-1.0.5-dll.patch create mode 100644 bzip2/mingw32-bzip2-1.0.5-slash.patch create mode 100644 bzip2/mingw32-bzip2.spec diff --git a/.hgignore b/.hgignore index 3a8eabc..e173ea3 100644 --- a/.hgignore +++ b/.hgignore @@ -6,6 +6,7 @@ buildall.log atk/atk-1.23.5.tar.bz2 atk/atk-1.24.0.tar.bz2 binutils/binutils-2.18.50-20080109-2-src.tar.gz +bzip2/bzip2-1.0.5.tar.gz cairo/cairo-1.7.4.tar.gz fontconfig/fontconfig-2.6.0.tar.gz freetype/freetype-2.3.7.tar.bz2 diff --git a/bzip2/bzip2-1.0.4-bzip2recover.patch b/bzip2/bzip2-1.0.4-bzip2recover.patch new file mode 100644 index 0000000..e2bfe1c --- /dev/null +++ b/bzip2/bzip2-1.0.4-bzip2recover.patch @@ -0,0 +1,12 @@ +--- bzip2-1.0.4/bzip2recover.c.pom 2007-01-03 03:00:55.000000000 +0100 ++++ bzip2-1.0.4/bzip2recover.c 2007-02-05 11:55:17.000000000 +0100 +@@ -309,7 +309,8 @@ + UInt32 buffHi, buffLo, blockCRC; + Char* p; + +- strcpy ( progName, argv[0] ); ++ strncpy ( progName, argv[0], BZ_MAX_FILENAME-1); ++ progName[BZ_MAX_FILENAME-1]='\0'; + inFileName[0] = outFileName[0] = 0; + + fprintf ( stderr, diff --git a/bzip2/bzip2-1.0.4-cflags.patch b/bzip2/bzip2-1.0.4-cflags.patch new file mode 100644 index 0000000..cd3ba90 --- /dev/null +++ b/bzip2/bzip2-1.0.4-cflags.patch @@ -0,0 +1,11 @@ +--- bzip2-1.0.4/Makefile-libbz2_so.cflags 2007-01-08 09:47:27.000000000 +0100 ++++ bzip2-1.0.4/Makefile-libbz2_so 2007-01-08 09:48:47.000000000 +0100 +@@ -35,7 +35,7 @@ + bzlib.o + + all: $(OBJS) +- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.4 $(OBJS) ++ $(CC) $(CFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.4 $(OBJS) + $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.4 + rm -f libbz2.so.1.0 + ln -s libbz2.so.1.0.4 libbz2.so.1.0 diff --git a/bzip2/bzip2-1.0.4-saneso.patch b/bzip2/bzip2-1.0.4-saneso.patch new file mode 100644 index 0000000..d3b3cbc --- /dev/null +++ b/bzip2/bzip2-1.0.4-saneso.patch @@ -0,0 +1,11 @@ +--- bzip2-1.0.4/Makefile-libbz2_so.senaso 2007-01-03 03:00:55.000000000 +0100 ++++ bzip2-1.0.4/Makefile-libbz2_so 2007-01-08 09:12:42.000000000 +0100 +@@ -35,7 +35,7 @@ + bzlib.o + + all: $(OBJS) +- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.4 $(OBJS) ++ $(CC) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.4 $(OBJS) + $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.4 + rm -f libbz2.so.1.0 + ln -s libbz2.so.1.0.4 libbz2.so.1.0 diff --git a/bzip2/mingw32-bzip2-1.0.5-dll.patch b/bzip2/mingw32-bzip2-1.0.5-dll.patch new file mode 100644 index 0000000..0b6f23c --- /dev/null +++ b/bzip2/mingw32-bzip2-1.0.5-dll.patch @@ -0,0 +1,15 @@ +--- bzip2-1.0.5/Makefile-libbz2_so 2008-09-25 12:52:11.000000000 +0100 ++++ bzip2-1.0.5.dll/Makefile-libbz2_so 2008-09-25 12:59:22.000000000 +0100 +@@ -35,10 +35,8 @@ + bzlib.o + + all: $(OBJS) +- $(CC) $(CFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.4 $(OBJS) +- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.4 +- rm -f libbz2.so.1.0 +- ln -s libbz2.so.1.0.4 libbz2.so.1.0 ++ $(CC) $(CFLAGS) -shared -Wl,--out-implib -Wl,bz2.dll.a -Wl,-soname -Wl,bz2-1.dll -o bz2-1.dll $(OBJS) ++ $(CC) $(CFLAGS) -o bzip2-shared bzip2.c bz2-1.dll + + clean: + rm -f $(OBJS) bzip2.o libbz2.so.1.0.4 libbz2.so.1.0 bzip2-shared diff --git a/bzip2/mingw32-bzip2-1.0.5-slash.patch b/bzip2/mingw32-bzip2-1.0.5-slash.patch new file mode 100644 index 0000000..3b5ed14 --- /dev/null +++ b/bzip2/mingw32-bzip2-1.0.5-slash.patch @@ -0,0 +1,11 @@ +--- bzip2-1.0.5.orig/bzip2.c 2007-12-09 12:22:06.000000000 +0000 ++++ bzip2-1.0.5/bzip2.c 2008-09-25 12:31:02.000000000 +0100 +@@ -128,7 +128,7 @@ + #if BZ_LCCWIN32 + # include + # include +-# include ++# include + + # define NORETURN /**/ + # define PATH_SEP '\\' diff --git a/bzip2/mingw32-bzip2.spec b/bzip2/mingw32-bzip2.spec new file mode 100644 index 0000000..19a7e4a --- /dev/null +++ b/bzip2/mingw32-bzip2.spec @@ -0,0 +1,130 @@ +%define __strip %{_mingw32_strip} +%define __objdump %{_mingw32_objdump} +%define _use_internal_dependency_generator 0 +%define __find_requires %{_mingw32_findrequires} +%define __find_provides %{_mingw32_findprovides} + +%define library_version 1.0.4 + +Name: mingw32-bzip2 +Version: 1.0.5 +Release: 1%{?dist} +Summary: MinGW port of bzip2 file compression utility + +License: BSD +Group: Development/Libraries +URL: http://www.bzip.org/ +Source0: http://www.bzip.org/%{version}/bzip2-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildArch: noarch + +Patch0: bzip2-1.0.4-saneso.patch +Patch5: bzip2-1.0.4-cflags.patch +Patch6: bzip2-1.0.4-bzip2recover.patch + +Patch10: mingw32-bzip2-1.0.5-slash.patch +Patch11: mingw32-bzip2-1.0.5-dll.patch + +BuildRequires: mingw32-filesystem >= 26 +BuildRequires: mingw32-gcc +BuildRequires: mingw32-binutils + +# This is needed to run the tests. +BuildRequires: wine + + +%description +Bzip2 is a freely available, patent-free, high quality data compressor. +Bzip2 compresses files to within 10 to 15 percent of the capabilities +of the best techniques available. However, bzip2 has the added benefit +of being approximately two times faster at compression and six times +faster at decompression than those techniques. Bzip2 is not the +fastest compression utility, but it does strike a balance between speed +and compression capability. + +This package contains development tools and libraries for use when +cross-compiling Windows software in Fedora. + + +%prep +%setup -q -n bzip2-%{version} + +%patch0 -p1 -b .saneso +%patch5 -p1 -b .cflags +%patch6 -p1 -b .bz2recover + +%patch10 -p1 -b .slash +%patch11 -p1 -b .dll + + +%build +make -f Makefile-libbz2_so \ + CC="%{_mingw32_cc}" \ + AR="%{_mingw32_ar}" \ + RANLIB="%{_mingw32_ranlib}" \ + CFLAGS="%{_mingw32_cflags} -D_FILE_OFFSET_BITS=64" \ + %{?_smp_mflags} all + +rm -f *.o +make CC="%{_mingw32_cc}" \ + AR="%{_mingw32_ar}" \ + RANLIB="%{_mingw32_ranlib}" \ + CFLAGS="%{_mingw32_cflags} -D_FILE_OFFSET_BITS=64" \ + %{?_smp_mflags} all + + +%install +rm -rf $RPM_BUILD_ROOT +make PREFIX=$RPM_BUILD_ROOT%{_mingw32_prefix} install + +# The binaries which are symlinks contain the full buildroot +# name in the symlink, so replace those. +pushd $RPM_BUILD_ROOT%{_mingw32_bindir} +rm bzcmp bzegrep bzfgrep bzless +ln -s bzdiff bzcmp +ln -s bzgrep bzegrep +ln -s bzgrep bzfgrep +ln -s bzmore bzless +popd + +# Remove the manpages, they're duplicates of the native package, +# and located in the wrong place anyway. +rm -rf $RPM_BUILD_ROOT%{_mingw32_prefix}/man + +# The Makefile doesn't install the DLL. +install bz2.dll.a $RPM_BUILD_ROOT%{_mingw32_libdir}/ +install bz2-1.dll $RPM_BUILD_ROOT%{_mingw32_bindir}/ + +# Remove the static library. +rm $RPM_BUILD_ROOT%{_mingw32_libdir}/libbz2.a + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files +%defattr(-,root,root) + +%{_mingw32_bindir}/bz2-1.dll +%{_mingw32_libdir}/bz2.dll.a + +%{_mingw32_bindir}/bunzip2 +%{_mingw32_bindir}/bzcat +%{_mingw32_bindir}/bzcmp +%{_mingw32_bindir}/bzdiff +%{_mingw32_bindir}/bzegrep +%{_mingw32_bindir}/bzfgrep +%{_mingw32_bindir}/bzgrep +%{_mingw32_bindir}/bzip2 +%{_mingw32_bindir}/bzip2recover +%{_mingw32_bindir}/bzless +%{_mingw32_bindir}/bzmore + +%{_mingw32_includedir}/bzlib.h + + +%changelog +* Thu Sep 25 2008 Richard Jones - 1.0.5-1 +- Initial RPM release. -- 1.8.3.1