Commit baffffbd authored by Frederick Zhang's avatar Frederick Zhang
Browse files

bzip2

parent ae43201a
......@@ -45,6 +45,19 @@ RUN CROSS_COMPILE="x86_64-w64-mingw32-" ./Configure -DHAVE_STRUCT_TIMESPEC -lz -
RUN make depend
RUN make && make install
# BZIP2
WORKDIR /builds
RUN curl -O -J http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
RUN tar xf bzip2-1.0.6.tar.gz
WORKDIR /builds/bzip2-1.0.6
RUN rm -f autogen.sh README.autotools configure.ac Makefile.am bzip2.pc.in
RUN patch -p1 -i "$srcdir/"bzip2-1.0.5-autoconfiscated.patch
RUN patch bzlib.h < "$srcdir/"bzip2-use-cdecl-calling-convention.patch
RUN patch bzip2.c < "$srcdir/"mingw32-bzip2-1.0.5-slash.patch
RUN sh autogen.sh
RUN ./configure --host=x86_64-w64-mingw32 --prefix=/usr/x86_64-w64-mingw32
RUN make && make install
# SQLITE3
WORKDIR /builds
RUN curl -O -J https://sqlite.org/2017/sqlite-autoconf-3160200.tar.gz
......
diff -urN files/autogen.sh ./autogen.sh
--- bzip2-1.0.5.orig/autogen.sh 1970-01-01 01:00:00.000000000 +0100
+++ bzip2-1.0.5.autoconfiscated/autogen.sh 2009-11-06 12:10:43.574602171 +0100
@@ -0,0 +1,8 @@
+mv LICENSE COPYING
+mv CHANGES NEWS
+touch AUTHORS
+touch ChangeLog
+libtoolize --force
+aclocal
+automake --add-missing --gnu
+autoconf
diff -urN bzip2-1.0.5.orig/README.autotools bzip2-1.0.5.autoconfiscated/README.autotools
--- bzip2-1.0.5.orig/README.autotools 1970-01-01 01:00:00.000000000 +0100
+++ bzip2-1.0.5.autoconfiscated/README.autotools 2010-11-02 17:04:06.000000000 +0100
@@ -0,0 +1,39 @@
+bzip2 autoconfiscated
+=====================
+
+Temporarily at http://ftp.suse.com/pub/people/sbrabec/bzip2/ expecting
+that it will become a new upstream version to prevent per-distribution
+shared library patching done by nearly each Linux vendor separately.
+
+Autoconfiscation brings standard ./configure ; make ; make install
+installation, seamless support of DESTDIR, automatic check for supported
+CFLAGS, standard shared library support, automatic large files CFLAGS
+check and all things that are supported by automake.
+
+It makes obsolete Makefile-libbz2_so and README.COMPILATION.PROBLEMS.
+Now configure should automatically detect correct build flags.
+
+In case of any problem or question with autotools support feel free to
+contact me: Stanislav Brabec <[email protected]>
+
+Autoconfiscated version binaries are exactly equal to
+bzip2-1.0.5.tar.gz. There are only few changes. See below.
+
+
+New features:
+
+Trivial link man pages for bzcat and bunzip2 added.
+
+bzip2.pc file for pkg-config. Packages can use it for checks.
+
+
+Incompatible changes:
+
+soname change. Libtool has no support for two parts name suffix (e. g.
+libbz2.so.1.0). It must be a single number (e. g. libbz2.so.1). That is
+why soname must change. But I see not a big problem with it. Several
+distributions already use the new number instead of the non-standard
+number from Makefile-libbz2_so.
+
+To be super-safe, I incremented minor number of the library file, so
+both instances of the shared library can live together.
diff -urN bzip2-1.0.5.orig/configure.ac bzip2-1.0.5.autoconfiscated/configure.ac
--- bzip2-1.0.5.orig/configure.ac 1970-01-01 01:00:00.000000000 +0100
+++ bzip2-1.0.5.autoconfiscated/configure.ac 2009-11-06 17:04:04.000000000 +0100
@@ -0,0 +1,70 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ([2.57])
+AC_INIT([bzip2], [1.0.6], [Julian Seward <[email protected]>])
+BZIP2_LT_CURRENT=1
+BZIP2_LT_REVISION=5
+BZIP2_LT_AGE=0
+AC_CONFIG_SRCDIR([bzlib.h])
+AC_CONFIG_MACRO_DIR([m4])
+
+AM_INIT_AUTOMAKE
+AM_MAINTAINER_MODE
+
+# Checks for programs.
+AC_PROG_AWK
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+AC_PROG_LIBTOOL
+PKG_PROG_PKG_CONFIG
+
+# Checks for libraries.
+
+# Checks for header files.
+
+# Checks for typedefs, structures, and compiler characteristics.
+
+# Check for system features.
+AC_SYS_LARGEFILE
+
+AC_MSG_CHECKING([whether compiler understands -Wall])
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -Wall"
+AC_TRY_COMPILE([], [], [
+ AC_MSG_RESULT([yes])
+], [
+ AC_MSG_RESULT([no])
+ CFLAGS="$save_CFLAGS"
+])
+
+AC_MSG_CHECKING([whether compiler understands -Winline])
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -Winline"
+AC_TRY_COMPILE([], [], [
+ AC_MSG_RESULT([yes])
+], [
+ AC_MSG_RESULT([no])
+ CFLAGS="$save_CFLAGS"
+])
+
+AC_MSG_CHECKING([whether compiler understands -fno-strength-reduce])
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -fno-strength-reduce"
+AC_TRY_COMPILE([], [], [
+ AC_MSG_RESULT([yes])
+], [
+ AC_MSG_RESULT([no])
+ CFLAGS="$save_CFLAGS"
+])
+
+# Checks for library functions.
+
+# Write the output.
+AC_SUBST([BZIP2_LT_CURRENT])
+AC_SUBST([BZIP2_LT_REVISION])
+AC_SUBST([BZIP2_LT_AGE])
+AC_CONFIG_FILES([Makefile bzip2.pc])
+AC_OUTPUT
diff -urN bzip2-1.0.5.orig/Makefile.am bzip2-1.0.5.autoconfiscated/Makefile.am
--- bzip2-1.0.5.orig/Makefile.am 1970-01-01 01:00:00.000000000 +0100
+++ bzip2-1.0.5.autoconfiscated/Makefile.am 2009-11-05 16:45:11.000000000 +0100
@@ -0,0 +1,138 @@
+lib_LTLIBRARIES = libbz2.la
+
+libbz2_la_SOURCES = \
+ blocksort.c \
+ huffman.c \
+ crctable.c \
+ randtable.c \
+ compress.c \
+ decompress.c \
+ bzlib.c
+
+libbz2_la_LDFLAGS = \
+ -version-info $(BZIP2_LT_CURRENT):$(BZIP2_LT_REVISION):$(BZIP2_LT_AGE) \
+ -no-undefined
+
+include_HEADERS = bzlib.h
+
+noinst_HEADERS = bzlib_private.h
+
+bin_PROGRAMS = bzip2 bzip2recover
+
+bzip2_SOURCES = bzip2.c
+bzip2_LDADD = libbz2.la
+
+bzip2recover_SOURCES = bzip2recover.c
+bzip2recover_LDADD = libbz2.la
+
+bin_SCRIPTS = bzgrep bzmore bzdiff
+
+man_MANS = bzip2.1 bzgrep.1 bzmore.1 bzdiff.1
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = bzip2.pc
+
+$(pkgconfig_DATA): $(srcdir)/bzip2.pc.in config.status
+
+install-exec-hook:
+ rm -f $(DESTDIR)$(bindir)/`echo "bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzegrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzfgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzless" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzcmp" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bzegrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bzfgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzmore" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bzless" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ $(LN_S) `echo "bzdiff" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'` $(DESTDIR)$(bindir)/`echo "bzcmp" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+
+install-data-hook:
+ echo ".so man1/`echo "bzip2" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bunzip2" | sed 's,^.*/,,;$(transform)'`.1
+ echo ".so man1/`echo "bzip2" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzcat" | sed 's,^.*/,,;$(transform)'`.1
+ echo ".so man1/`echo "bzgrep" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzegrep" | sed 's,^.*/,,;$(transform)'`.1
+ echo ".so man1/`echo "bzgrep" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzfgrep" | sed 's,^.*/,,;$(transform)'`.1
+ echo ".so man1/`echo "bzmore" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzless" | sed 's,^.*/,,;$(transform)'`.1
+ echo ".so man1/`echo "bzdiff" | sed 's,^.*/,,;$(transform)'`.1" >$(DESTDIR)$(mandir)/man1/`echo "bzcmp" | sed 's,^.*/,,;$(transform)'`.1
+
+uninstall-hook:
+ rm -f $(DESTDIR)$(bindir)/`echo "bunzip2" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzcat" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzegrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzfgrep" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzless" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(bindir)/`echo "bzcmp" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bunzip2" | sed 's,^.*/,,;$(transform)'`.1
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzcat" | sed 's,^.*/,,;$(transform)'`.1
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzegrep" | sed 's,^.*/,,;$(transform)'`.1
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzfgrep" | sed 's,^.*/,,;$(transform)'`.1
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzless" | sed 's,^.*/,,;$(transform)'`.1
+ rm -f $(DESTDIR)$(mandir)/man1/`echo "bzcmp" | sed 's,^.*/,,;$(transform)'`.1
+
+test: bzip2
+ @cat $(srcdir)/words1
+ ./bzip2 -1 <$(srcdir)/sample1.ref >sample1.rb2
+ ./bzip2 -2 <$(srcdir)/sample2.ref >sample2.rb2
+ ./bzip2 -3 <$(srcdir)/sample3.ref >sample3.rb2
+ ./bzip2 -d <$(srcdir)/sample1.bz2 >sample1.tst
+ ./bzip2 -d <$(srcdir)/sample2.bz2 >sample2.tst
+ ./bzip2 -ds <$(srcdir)/sample3.bz2 >sample3.tst
+ cmp $(srcdir)/sample1.bz2 sample1.rb2
+ cmp $(srcdir)/sample2.bz2 sample2.rb2
+ cmp $(srcdir)/sample3.bz2 sample3.rb2
+ cmp sample1.tst $(srcdir)/sample1.ref
+ cmp sample2.tst $(srcdir)/sample2.ref
+ cmp sample3.tst $(srcdir)/sample3.ref
+ @cat $(srcdir)/words3
+
+manual: $(srcdir)/manual.html $(srcdir)/manual.ps $(srcdir)/manual.pdf
+
+manual.ps: $(MANUAL_SRCS)
+ cd $(srcdir); ./xmlproc.sh -ps manual.xml
+
+manual.pdf: $(MANUAL_SRCS)
+ cd $(srcdir); ./xmlproc.sh -pdf manual.xml
+
+manual.html: $(MANUAL_SRCS)
+ cd $(srcdir); ./xmlproc.sh -html manual.xml
+
+EXTRA_DIST = \
+ $(bin_SCRIPTS) \
+ $(man_MANS) \
+ README.autotools \
+ README.XML.STUFF \
+ bz-common.xsl \
+ bz-fo.xsl \
+ bz-html.xsl \
+ bzip.css \
+ bzip2.1.preformatted \
+ bzip2.pc.in \
+ bzip2.txt \
+ dlltest.c \
+ dlltest.dsp \
+ entities.xml \
+ format.pl \
+ libbz2.def \
+ libbz2.dsp \
+ makefile.msc \
+ manual.html \
+ manual.pdf \
+ manual.ps \
+ manual.xml \
+ mk251.c \
+ sample1.bz2 \
+ sample1.ref \
+ sample2.bz2 \
+ sample2.ref \
+ sample3.bz2 \
+ sample3.ref \
+ spewG.c \
+ unzcrash.c \
+ words0 \
+ words1 \
+ words2 \
+ words3 \
+ xmlproc.sh
+
+ACLOCAL_AMFLAGS = -I m4
diff -urN bzip2-1.0.5.orig/bzip2.pc.in bzip2-1.0.5.autoconfiscated/bzip2.pc.in
--- bzip2-1.0.5.orig/bzip2.pc.in 1970-01-01 01:00:00.000000000 +0100
+++ bzip2-1.0.5.autoconfiscated/bzip2.pc.in 2009-11-03 18:48:28.000000000 +0100
@@ -0,0 +1,11 @@
[email protected]@
[email protected][email protected]
[email protected]@
[email protected]@
[email protected]@
+
+Name: bzip2
+Description: Lossless, block-sorting data compression
+Version: @[email protected]
+Libs: -L${libdir} -lbz2
+Cflags: -I${includedir}
--- bzip2-1.0.5/bzlib.h 2007-12-09 13:34:39.000000000 +0100
+++ src/bzip2/1.0.5/bzip2-1.0.5/bzlib.h 2008-03-20 20:05:47.000000000 +0100
@@ -81,18 +81,52 @@
/* windows.h define small to char */
# undef small
# endif
-# ifdef BZ_EXPORT
-# define BZ_API(func) WINAPI func
-# define BZ_EXTERN extern
+//# ifdef BZ_EXPORT
+//# define BZ_API(func) WINAPI func
+//# define BZ_EXTERN extern
+//# else
+// /* import windows dll dynamically */
+//# define BZ_API(func) (WINAPI * func)
+//# define BZ_EXTERN
+//# endif
+//#else
+//# define BZ_API(func) func
+//# define BZ_EXTERN extern
+# include <stdio.h>
+# include <io.h>
+# include <sys/utime.h>
+# define fdopen _fdopen
+# define isatty _isatty
+# define setmode _setmode
+# define utime _utime
+# endif
+
+#ifndef __GNUC__
+# define __DLL_IMPORT__ __declspec(dllimport)
+# define __DLL_EXPORT__ __declspec(dllexport)
# else
- /* import windows dll dynamically */
-# define BZ_API(func) (WINAPI * func)
-# define BZ_EXTERN
+# define __DLL_IMPORT__ __attribute__((dllimport)) extern
+# define __DLL_EXPORT__ __attribute__((dllexport)) extern
# endif
-#else
-# define BZ_API(func) func
-# define BZ_EXTERN extern
+
+#if (defined __WIN32__) || (defined _WIN32)
+# if defined BUILD_BZIP2_DLL || defined BZ_EXPORT
+# define BZIP2_DLL_IMPEXP __DLL_EXPORT__
+# elif defined(BZIP2_STATIC)
+# define BZIP2_DLL_IMPEXP
+# elif defined (USE_BZIP2_DLL) || defined BZ_IMPORT
+# define BZIP2_DLL_IMPEXP __DLL_IMPORT__
+# elif defined (USE_BZIP2_STATIC)
+# define BZIP2_DLL_IMPEXP
+# else /* assume USE_BZIP2_DLL */
+# define BZIP2_DLL_IMPEXP __DLL_IMPORT__
#endif
+#else /* __WIN32__ */
+# define BZIP2_DLL_IMPEXP
+#endif
+
+#define BZ_API(func) func
+#define BZ_EXTERN BZIP2_DLL_IMPEXP
/*-- Core (low-level) library functions --*/
--- 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 '\\'
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment