commit:     8773c1994ef72cd311a4c986e5cd4219cd18b6a8
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Jan  2 19:38:01 2021 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Jan  2 19:38:01 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=8773c199

app-arch/bzip2-1.0.8: sync

Package-Manager: Portage-3.0.12-prefix, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 app-arch/bzip2/Manifest                            |   1 +
 app-arch/bzip2/bzip2-1.0.8-r1.ebuild               | 142 +++++++++++++++++++++
 .../bzip2/files/bzip2-1.0.8-Makefile-libbz2_dylib  |  42 ++++++
 app-arch/bzip2/files/bzip2-1.0.8-mingw.patch       |  16 +++
 .../files/bzip2-1.0.8-out-of-tree-build.patch      |  76 +++++++++++
 app-arch/bzip2/files/bzip2-1.0.8-saneso.patch      |  13 ++
 6 files changed, 290 insertions(+)

diff --git a/app-arch/bzip2/Manifest b/app-arch/bzip2/Manifest
index 4db66c194b..03ffea8912 100644
--- a/app-arch/bzip2/Manifest
+++ b/app-arch/bzip2/Manifest
@@ -1 +1,2 @@
 DIST bzip2-1.0.6.tar.gz 782025 BLAKE2B 
b31533af7c71d715e6600874bb0a11b9b3aebbb08af0414a6d88bd5a2ad879a482ad408338159cb6c241815da8f48798d2ea7789ea971431d0be42ee827b0a7e
 SHA512 
00ace5438cfa0c577e5f578d8a808613187eff5217c35164ffe044fbafdfec9e98f4192c02a7d67e01e5a5ccced630583ad1003c37697219b0f147343a3fdd12
+DIST bzip2-1.0.8.tar.gz 810029 BLAKE2B 
22ab3acd84f4db8c3d6f59340c252faedfd4447cea00dafbd652e65b6cf8a20adf6835c22e58563004cfafdb15348c924996230b4b23cae42da5e25eeac4bdad
 SHA512 
083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3

diff --git a/app-arch/bzip2/bzip2-1.0.8-r1.ebuild 
b/app-arch/bzip2/bzip2-1.0.8-r1.ebuild
new file mode 100644
index 0000000000..ee1d4cd81a
--- /dev/null
+++ b/app-arch/bzip2/bzip2-1.0.8-r1.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly
+#      (since we're building shared libs) ...
+
+EAPI=7
+
+inherit toolchain-funcs multilib-minimal usr-ldscript prefix
+
+DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux"
+HOMEPAGE="https://sourceware.org/bzip2/";
+SRC_URI="https://sourceware.org/pub/${PN}/${P}.tar.gz";
+
+LICENSE="BZIP2"
+SLOT="0/1" # subslot = SONAME
+KEYWORDS="~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="static static-libs"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch
+       "${FILESDIR}"/${PN}-1.0.8-saneso.patch
+       "${FILESDIR}"/${PN}-1.0.4-man-links.patch #172986
+       "${FILESDIR}"/${PN}-1.0.6-progress.patch
+       "${FILESDIR}"/${PN}-1.0.3-no-test.patch
+       "${FILESDIR}"/${PN}-1.0.8-mingw.patch #393573
+       "${FILESDIR}"/${PN}-1.0.8-out-of-tree-build.patch
+)
+
+DOCS=( CHANGES README{,.COMPILATION.PROBLEMS,.XML.STUFF} manual.pdf )
+HTML_DOCS=( manual.html )
+
+src_prepare() {
+       default
+
+       # - Use right man path
+       # - Generate symlinks instead of hardlinks
+       # - pass custom variables to control libdir
+       sed -i \
+               -e 's:\$(PREFIX)/man:\$(PREFIX)/share/man:g' \
+               -e 's:ln -s -f $(PREFIX)/bin/:ln -s -f :' \
+               -e 's:$(PREFIX)/lib:$(PREFIX)/$(LIBDIR):g' \
+               Makefile || die
+
+       hprefixify -w "/^PATH=/" bz{diff,grep,more}
+       # this a makefile for Darwin, which already "includes" saneso
+       cp "${FILESDIR}"/${P}-Makefile-libbz2_dylib Makefile-libbz2_dylib || die
+
+       if [[ ${CHOST} == *-cygwin* ]] ; then
+               sed -i -e "s/-o 
libbz2\.so\.${PV}/-Wl,--out-implib=libbz2$(get_libname ${PV})/" \
+                          -e "s/-Wl,-soname -Wl,libbz2\.so\.1/-o 
cygbz2-${PV%%.*}.dll/" \
+                          -e "s/libbz2\.so/libbz2$(get_libname)/g" \
+                       Makefile-libbz2_so
+       fi
+}
+
+bemake() {
+       emake \
+               VPATH="${S}" \
+               CC="$(tc-getCC)" \
+               AR="$(tc-getAR)" \
+               RANLIB="$(tc-getRANLIB)" \
+               "$@"
+}
+
+multilib_src_compile() {
+       local checkopts=
+       case "${CHOST}" in
+               *-darwin*)
+                       bemake PREFIX="${EPREFIX}"/usr -f 
"${S}"/Makefile-libbz2_dylib all
+               ;;
+               *)
+                       bemake -f "${S}"/Makefile-libbz2_so all
+               ;;
+       esac
+       # Make sure we link against the shared lib #504648
+       ln -sf libbz2$(get_libname ${PV}) libbz2$(get_libname) || die
+       bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static 
'')"
+}
+
+multilib_src_install() {
+       into /usr
+
+       # Install the shared lib manually.  We install:
+       #  .x.x.x - standard shared lib behavior
+       #  .x.x   - SONAME some distros use #338321
+       #  .x     - SONAME Gentoo uses
+       dolib.so libbz2$(get_libname ${PV})
+       [[ ${CHOST} == *-cygwin* ]] && dobin cygbz2-${PV%%.*}.dll
+       local v
+       for v in libbz2$(get_libname) libbz2$(get_libname ${PV%%.*}) 
libbz2$(get_libname ${PV%.*}) ; do
+               dosym libbz2$(get_libname ${PV}) /usr/$(get_libdir)/${v}
+       done
+
+       # Install libbz2.so.1.0 due to accidental soname change in 1.0.7.
+       # Reference: 98da0ad82192d21ad74ae52366ea8466e2acea24.
+       # OK to remove one year after 2020-04-11.
+       if [[ ! -L "${ED}/usr/$(get_libdir)/libbz2$(get_libname 1.0)" ]]; then
+               dosym libbz2.so.${PV} "/usr/$(get_libdir)/libbz2$(get_libname 
1.0)"
+       fi
+
+       use static-libs && dolib.a libbz2.a
+
+       if multilib_is_native_abi ; then
+               gen_usr_ldscript -a bz2
+
+               dobin bzip2recover
+               into /
+               dobin bzip2
+       fi
+}
+
+multilib_src_install_all() {
+       # `make install` doesn't cope with out-of-tree builds, nor with
+       # installing just non-binaries, so handle things ourselves.
+       insinto /usr/include
+       doins bzlib.h
+       into /usr
+       dobin bz{diff,grep,more}
+       doman *.1
+
+       dosym bzdiff /usr/bin/bzcmp
+       dosym bzdiff.1 /usr/share/man/man1/bzcmp.1
+
+       dosym bzmore /usr/bin/bzless
+       dosym bzmore.1 /usr/share/man/man1/bzless.1
+
+       local x
+       for x in bunzip2 bzcat bzip2recover ; do
+               dosym bzip2.1 /usr/share/man/man1/${x}.1
+       done
+       for x in bz{e,f}grep ; do
+               dosym bzgrep /usr/bin/${x}
+               dosym bzgrep.1 /usr/share/man/man1/${x}.1
+       done
+
+       einstalldocs
+
+       # move "important" bzip2 binaries to /bin and use the shared libbz2.so
+       dosym bzip2 /bin/bzcat
+       dosym bzip2 /bin/bunzip2
+}

diff --git a/app-arch/bzip2/files/bzip2-1.0.8-Makefile-libbz2_dylib 
b/app-arch/bzip2/files/bzip2-1.0.8-Makefile-libbz2_dylib
new file mode 100644
index 0000000000..4a6508d400
--- /dev/null
+++ b/app-arch/bzip2/files/bzip2-1.0.8-Makefile-libbz2_dylib
@@ -0,0 +1,42 @@
+
+# This Makefile builds a shared version of the library, 
+# libbz2.1.0.8.dylib, with install_name libbz2.1.dylib on Darwin
+#
+# Makefile created and used by Gentoo
+
+# ------------------------------------------------------------------
+# This file is part of bzip2/libbzip2, a program and library for
+# lossless, block-sorting data compression.
+#
+# bzip2/libbzip2 version 1.0.8 of 13 July 2019
+# Copyright (C) 1996-2019 Julian Seward <jsew...@acm.org>
+#
+# Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+# README file.
+#
+# This program is released under the terms of the license contained
+# in the file LICENSE.
+# ------------------------------------------------------------------
+
+
+SHELL=/bin/sh
+CC=gcc
+BIGFILES=-D_FILE_OFFSET_BITS=64
+CFLAGS+=-fpic -fPIC -Wall -Winline $(BIGFILES) $(CPPFLAGS)
+PREFIX=/usr
+LIBDIR=lib
+SOLDFLAGS=-dynamiclib -install_name $(PREFIX)/$(LIBDIR)/libbz2.1.dylib 
-compatibility_version 1.0.0 -current_version 1.0.8
+
+OBJS= blocksort.o  \
+      huffman.o    \
+      crctable.o   \
+      randtable.o  \
+      compress.o   \
+      decompress.o \
+      bzlib.o
+
+all: $(OBJS)
+       $(CC) $(LDFLAGS) $(SOLDFLAGS) -o libbz2.1.0.8.dylib $(OBJS)
+
+clean: 
+       rm -f $(OBJS) bzip2.o libbz2.1.0.8.dylib libbz2.1.0.dylib bzip2-shared

diff --git a/app-arch/bzip2/files/bzip2-1.0.8-mingw.patch 
b/app-arch/bzip2/files/bzip2-1.0.8-mingw.patch
new file mode 100644
index 0000000000..b512a8f466
--- /dev/null
+++ b/app-arch/bzip2/files/bzip2-1.0.8-mingw.patch
@@ -0,0 +1,16 @@
+make it build for mingw targets
+
+https://bugs.gentoo.org/393573
+
+--- a/bzlib.h
++++ b/bzlib.h
+@@ -81,6 +81,9 @@ typedef
+       /* windows.h define small to char */
+ #      undef small
+ #   endif
++#   ifndef WINAPI
++#   define WINAPI
++#   endif
+ #   ifdef BZ_EXPORT
+ #   define BZ_API(func) WINAPI func
+ #   define BZ_EXTERN extern

diff --git a/app-arch/bzip2/files/bzip2-1.0.8-out-of-tree-build.patch 
b/app-arch/bzip2/files/bzip2-1.0.8-out-of-tree-build.patch
new file mode 100644
index 0000000000..04818265b7
--- /dev/null
+++ b/app-arch/bzip2/files/bzip2-1.0.8-out-of-tree-build.patch
@@ -0,0 +1,76 @@
+--- bzip2-1.0.8/Makefile
++++ bzip2-1.0.8/Makefile
+@@ -54,7 +54,6 @@
+ 
+ check: test
+ test: bzip2
+-      @cat words1
+       ./bzip2 -1  < sample1.ref > sample1.rb2
+       ./bzip2 -2  < sample2.ref > sample2.rb2
+       ./bzip2 -3  < sample3.ref > sample3.rb2
+@@ -67,7 +66,6 @@
+       cmp sample1.tst sample1.ref
+       cmp sample2.tst sample2.ref
+       cmp sample3.tst sample3.ref
+-      @cat words3
+ 
+ install: bzip2 bzip2recover
+       if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
+@@ -113,25 +111,8 @@
+       sample1.rb2 sample2.rb2 sample3.rb2 \
+       sample1.tst sample2.tst sample3.tst
+ 
+-blocksort.o: blocksort.c
+-      @cat words0
+-      $(CC) $(CFLAGS) -c blocksort.c
+-huffman.o: huffman.c
+-      $(CC) $(CFLAGS) -c huffman.c
+-crctable.o: crctable.c
+-      $(CC) $(CFLAGS) -c crctable.c
+-randtable.o: randtable.c
+-      $(CC) $(CFLAGS) -c randtable.c
+-compress.o: compress.c
+-      $(CC) $(CFLAGS) -c compress.c
+-decompress.o: decompress.c
+-      $(CC) $(CFLAGS) -c decompress.c
+-bzlib.o: bzlib.c
+-      $(CC) $(CFLAGS) -c bzlib.c
+-bzip2.o: bzip2.c
+-      $(CC) $(CFLAGS) -c bzip2.c
+-bzip2recover.o: bzip2recover.c
+-      $(CC) $(CFLAGS) -c bzip2recover.c
++%.o: %.c
++      $(CC) $(CFLAGS) -c $<
+ 
+ 
+ distclean: clean
+--- bzip2-1.0.8/Makefile-libbz2_so
++++ bzip2-1.0.8/Makefile-libbz2_so
+@@ -36,24 +36,10 @@
+ 
+ all: $(OBJS)
+       $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 
$(OBJS)
+-      $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
+-      rm -f libbz2.so.1.0
+-      ln -s libbz2.so.1.0.8 libbz2.so.1.0
++      ln -sf libbz2.so.1.0.8 libbz2.so.1.0
+ 
+ clean: 
+       rm -f $(OBJS) bzip2.o libbz2.so.1.0.8 libbz2.so.1.0 bzip2-shared
+ 
+-blocksort.o: blocksort.c
+-      $(CC) $(CFLAGS) -c blocksort.c
+-huffman.o: huffman.c
+-      $(CC) $(CFLAGS) -c huffman.c
+-crctable.o: crctable.c
+-      $(CC) $(CFLAGS) -c crctable.c
+-randtable.o: randtable.c
+-      $(CC) $(CFLAGS) -c randtable.c
+-compress.o: compress.c
+-      $(CC) $(CFLAGS) -c compress.c
+-decompress.o: decompress.c
+-      $(CC) $(CFLAGS) -c decompress.c
+-bzlib.o: bzlib.c
+-      $(CC) $(CFLAGS) -c bzlib.c
++%.o: %.c
++      $(CC) $(CFLAGS) -c $<

diff --git a/app-arch/bzip2/files/bzip2-1.0.8-saneso.patch 
b/app-arch/bzip2/files/bzip2-1.0.8-saneso.patch
new file mode 100644
index 0000000000..63409f5a85
--- /dev/null
+++ b/app-arch/bzip2/files/bzip2-1.0.8-saneso.patch
@@ -0,0 +1,13 @@
+--- bzip2-1.0.8/Makefile-libbz2_so
++++ bzip2-1.0.8/Makefile-libbz2_so
+@@ -35,8 +35,8 @@
+       bzlib.o
+ 
+ all: $(OBJS)
+-      $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS)
+-      $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
++      $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 
$(OBJS)
++      $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
+       rm -f libbz2.so.1.0
+       ln -s libbz2.so.1.0.8 libbz2.so.1.0
+ 

Reply via email to