Added bzip2.
authorRichard W.M. Jones <rjones@redhat.com>
Thu, 25 Sep 2008 13:01:19 +0000 (14:01 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Thu, 25 Sep 2008 13:01:19 +0000 (14:01 +0100)
.hgignore
bzip2/bzip2-1.0.4-bzip2recover.patch [new file with mode: 0644]
bzip2/bzip2-1.0.4-cflags.patch [new file with mode: 0644]
bzip2/bzip2-1.0.4-saneso.patch [new file with mode: 0644]
bzip2/mingw32-bzip2-1.0.5-dll.patch [new file with mode: 0644]
bzip2/mingw32-bzip2-1.0.5-slash.patch [new file with mode: 0644]
bzip2/mingw32-bzip2.spec [new file with mode: 0644]

index 3a8eabc..e173ea3 100644 (file)
--- 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 (file)
index 0000000..e2bfe1c
--- /dev/null
@@ -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 (file)
index 0000000..cd3ba90
--- /dev/null
@@ -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 (file)
index 0000000..d3b3cbc
--- /dev/null
@@ -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 (file)
index 0000000..0b6f23c
--- /dev/null
@@ -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 (file)
index 0000000..3b5ed14
--- /dev/null
@@ -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 <io.h>
+ #   include <fcntl.h>
+-#   include <sys\stat.h>
++#   include <sys/stat.h>
+ #   define NORETURN       /**/
+ #   define PATH_SEP       '\\'
diff --git a/bzip2/mingw32-bzip2.spec b/bzip2/mingw32-bzip2.spec
new file mode 100644 (file)
index 0000000..19a7e4a
--- /dev/null
@@ -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 <rjones@redhat.com> - 1.0.5-1
+- Initial RPM release.