summaryrefslogtreecommitdiff
path: root/app-arch
diff options
context:
space:
mode:
authoreroen2013-06-23 14:31:28 +0200
committereroen2013-06-23 14:31:28 +0200
commite42477d5d2845d933316892b4c323232c9afe634 (patch)
tree82d037fe9ed25d48b263ee25af9053786483c1fc /app-arch
parent46e12a74d0bb6087a88e52c761879c241b84f5a8 (diff)
downloaderoen-overlay-e42477d5d2845d933316892b4c323232c9afe634.tar.gz
eroen-overlay-e42477d5d2845d933316892b4c323232c9afe634.tar.bz2
eroen-overlay-e42477d5d2845d933316892b4c323232c9afe634.tar.xz
bzip2-1.0.6-r4 from gentoo
Diffstat (limited to 'app-arch')
-rw-r--r--app-arch/bzip2/Manifest10
-rw-r--r--app-arch/bzip2/bzip2-1.0.6-r4.ebuild86
-rw-r--r--app-arch/bzip2/files/bzip2-1.0.3-no-test.patch9
-rw-r--r--app-arch/bzip2/files/bzip2-1.0.4-POSIX-shell.patch21
-rw-r--r--app-arch/bzip2/files/bzip2-1.0.4-makefile-CFLAGS.patch25
-rw-r--r--app-arch/bzip2/files/bzip2-1.0.4-man-links.patch12
-rw-r--r--app-arch/bzip2/files/bzip2-1.0.6-mingw.patch27
-rw-r--r--app-arch/bzip2/files/bzip2-1.0.6-progress.patch163
-rw-r--r--app-arch/bzip2/files/bzip2-1.0.6-saneso.patch13
-rw-r--r--app-arch/bzip2/metadata.xml8
10 files changed, 374 insertions, 0 deletions
diff --git a/app-arch/bzip2/Manifest b/app-arch/bzip2/Manifest
new file mode 100644
index 00000000..a1457ba7
--- /dev/null
+++ b/app-arch/bzip2/Manifest
@@ -0,0 +1,10 @@
+AUX bzip2-1.0.3-no-test.patch 161 SHA256 806dcb0f9f46a2b0b3ef04212405708198a25e281617e27a44c565948c159a49 SHA512 a07f04189bce8a53980f324769cc8eb79eed9e42cbed223b74f566802e61eacb45e677c122266689a654d4fc946cba4a2171c72be87f98e4996c6cde5cb0c462 WHIRLPOOL bf32302ea76029ca01c07e70024460ab8cde0c4db84ebad1b0fe66717f465f515b96c70fe67fb7d0f48233e3bd883f77dc83c489e8a0418c982ff416e66c1c11
+AUX bzip2-1.0.4-POSIX-shell.patch 672 SHA256 34bc42c1d6c980e0970a517c9602b904efb2f676ec191e80fcbcd185ccb6b1fe SHA512 7fc5e34ac2fccb7e096bafa6dd934fb72375c17e0cfa3e0549648ecc82ec44521eb8f8ac3ce49a4064ee67fa9319da9e52db86a971443956f71d11c056289d19 WHIRLPOOL 42d9a3b0ac26fc59ee74fa5fb1b7f74a6c4cebab13100ed1165e6d8d40bddfc58425b0a3018f6e6216789fad498e25419199c020df24197a8ca5730ccb2d8e36
+AUX bzip2-1.0.4-makefile-CFLAGS.patch 569 SHA256 853621ae207f0115210e06f738d4e79861110712823419707875116cb45b105e SHA512 5ad3ecad8b577737386f0e5fc6f9adfd72334598b6dc76755cab6e38611b048c5c6b97462cbca48237a95802e1e2ac0de34b03d579d737edda8eea3e6a31346e WHIRLPOOL f4906ca56ce15b6ea18fccbc745c18858458ac2ecf6d2f1cb57de710ce5888d567dfed1dc34048cf1909d3d9f66a7c3b356bec0ee02674924669e7d717e2e6e2
+AUX bzip2-1.0.4-man-links.patch 413 SHA256 1fc9d91f3f7bd3eecd86149b9c95b3162d9d7956f7de543aa8bc41cbcd04f88b SHA512 2d9a306bc0f552a58916ebc702d32350a225103c487e070d2082121a54e07f1813d3228f43293cc80a4bee62053fd597294c99a1751b1685cd678f4e5c6a2fe7 WHIRLPOOL 20b6ddb25628bcd24d96998bb7a9e81e2e69dce0305133b546936b558a1d93f72dec7f1e9637d6b1a539b25326112403e878c049d280914cd08cea1b66f523b9
+AUX bzip2-1.0.6-mingw.patch 556 SHA256 8da568f1d7daac4ac6b9d7946dd3b807e062b5a1710a2548029cc4f158e8d717 SHA512 e28442acc456c996eb6bc1866cd3814a9aea9c8a4ac2767a59bd03273ee95e34efdb4d00a17c64242a3395056b38c7083ec6f4c986e91d02f5348af1af2a35c8 WHIRLPOOL 66cbedef7eef3b4890a56dd0aad28529960c2e205fc7809ded96dd7ece17cdd3f18d92eeca25e009f2ca3689f9ad2d2bf81238562078d4147d87124107ac41af
+AUX bzip2-1.0.6-progress.patch 5756 SHA256 f93e6b50082a8e880ee8436c7ec6a65a8f01e9282436af77f95bb259b1c7f7f7 SHA512 c3f5959027346a471182fbcac72fe3b755d9327557ac31fd8d36746c643afd418f5a59bf434493109af4536b90e69220e985a25eb3ce7e3d05029583a9d0bcdc WHIRLPOOL 830dab52ec0efd50a0266863dec0180e40db7ef519cd5c02991bc12fb978bb5df5d0329ede896aff02fc2abbfa09c4380949c8f5eb48a9ccbb562675fa5d2003
+AUX bzip2-1.0.6-saneso.patch 439 SHA256 8345a9fcfce28a459a12126748ac27480a384e80974c31d9fae752d818ea05d9 SHA512 4f5d499227e3381e87c43b4afa48b5cd1f796142805dee19bf7f9f3a8547ca5baaf0b1d1f42079a61b63e3c279650292cca119e7d177ad04425c93e23f1bbd88 WHIRLPOOL 35d83bd455116a1121c87675bf0ceda0e37ac48a76a1379d0455e39026b1445c3d90493923ee1c4c49f3cc388c8344b8a4379d6c44e01564d658ebd22c3a5a10
+DIST bzip2-1.0.6.tar.gz 782025 SHA256 a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd SHA512 00ace5438cfa0c577e5f578d8a808613187eff5217c35164ffe044fbafdfec9e98f4192c02a7d67e01e5a5ccced630583ad1003c37697219b0f147343a3fdd12 WHIRLPOOL 8e92c24f77c3711f5103a26d6fefbe61fe49a7d1e46879d259d46347c606ca956b7228ab011aa88007db771f86a500d4954057c7f9c70bd8380ca6c9430bd81e
+EBUILD bzip2-1.0.6-r4.ebuild 2551 SHA256 6b4ae7364b897a494d26b81d0304cce022bbf474d2baaf466894c0cc346b6bee SHA512 f48592ba2f4d19bbe70f44fdfa765414d7ca9ab10ddb70f220beff0ee52c59d6f937278dbeb5f4255aa8c438e25741474a47c090acdfaa7b573f3878338200c9 WHIRLPOOL c249bfe593ce1b33344b645be89385e2072ba3897c1ff20452be63a7cbc8db807ce68c0dd9aa94f94df9cf1505ba74e912eb82ee23f9953cd5a0a98d47c7456d
+MISC metadata.xml 241 SHA256 c9ef9f8a652ceb4655983472cec571c6762f53934447a83b38b311cf9e50254d SHA512 23ed7f7371d00caf97235d7a4f905286637cd286f9e8fc7c0413865dbab0772ff00dd9ecf65b5f199d694b42f032dc14ad9d3ac447cf1bb95124abf9203c0f1d WHIRLPOOL d687e040f4378e573d241a08b46ba7bd0f4c9d5ef4c9cf836a479102e5f8902e67244308747adf34b6bc605511244d37873b796f8089dc3e181a627302843d02
diff --git a/app-arch/bzip2/bzip2-1.0.6-r4.ebuild b/app-arch/bzip2/bzip2-1.0.6-r4.ebuild
new file mode 100644
index 00000000..a6f51bfe
--- /dev/null
+++ b/app-arch/bzip2/bzip2-1.0.6-r4.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/bzip2/bzip2-1.0.6-r4.ebuild,v 1.1 2013/06/23 07:42:43 pacho Exp $
+
+# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly
+# (since we're building shared libs) ...
+
+EAPI=4
+
+inherit eutils toolchain-funcs flag-o-matic multilib multilib-minimal
+
+DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux"
+HOMEPAGE="http://www.bzip.org/"
+SRC_URI="http://www.bzip.org/${PV}/${P}.tar.gz"
+
+LICENSE="BZIP2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="static static-libs"
+
+RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224 )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch
+ epatch "${FILESDIR}"/${PN}-1.0.6-saneso.patch
+ epatch "${FILESDIR}"/${PN}-1.0.4-man-links.patch #172986
+ epatch "${FILESDIR}"/${PN}-1.0.6-progress.patch
+ epatch "${FILESDIR}"/${PN}-1.0.3-no-test.patch
+ epatch "${FILESDIR}"/${PN}-1.0.4-POSIX-shell.patch #193365
+ epatch "${FILESDIR}"/${PN}-1.0.6-mingw.patch #393573
+
+ # - 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 -f -s :' \
+ -e 's:$(PREFIX)/lib:$(PREFIX)/$(LIBDIR):g' \
+ -e 's:ln -s bzip2.1:& -f:g' \
+ Makefile || die
+
+ multilib_copy_sources
+}
+
+bemake() {
+ emake \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ "$@"
+}
+
+multilib_src_compile() {
+ bemake -f Makefile-libbz2_so all
+ use static && append-flags -static
+ bemake all
+}
+
+multilib_src_install() {
+ emake PREFIX="${ED}"/usr LIBDIR=$(get_libdir) install
+
+ # 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.so.${PV}
+ local v
+ for v in libbz2.so{,.{${PV%%.*},${PV%.*}}} ; do
+ dosym libbz2.so.${PV} /usr/$(get_libdir)/${v}
+ done
+ gen_usr_ldscript -a bz2
+
+ use static || newbin bzip2-shared bzip2
+}
+
+multilib_src_install_all() {
+ dodoc README* CHANGES bzip2.txt manual.*
+
+ # move "important" bzip2 binaries to /bin and use the shared libbz2.so
+ dodir /bin
+ mv "${ED}"/usr/bin/b{zip2,zcat,unzip2} "${ED}"/bin/ || die
+ dosym bzip2 /bin/bzcat
+ dosym bzip2 /bin/bunzip2
+
+ use static-libs || find "${ED}"/usr -name libbz2.a -delete
+}
diff --git a/app-arch/bzip2/files/bzip2-1.0.3-no-test.patch b/app-arch/bzip2/files/bzip2-1.0.3-no-test.patch
new file mode 100644
index 00000000..672c89df
--- /dev/null
+++ b/app-arch/bzip2/files/bzip2-1.0.3-no-test.patch
@@ -0,0 +1,9 @@
+--- Makefile
++++ Makefile
+@@ -23,5 +23,5 @@
+ bzlib.o
+
+-all: libbz2.a bzip2 bzip2recover test
++all: libbz2.a bzip2 bzip2recover
+
+ bzip2: libbz2.a bzip2.o
diff --git a/app-arch/bzip2/files/bzip2-1.0.4-POSIX-shell.patch b/app-arch/bzip2/files/bzip2-1.0.4-POSIX-shell.patch
new file mode 100644
index 00000000..b31cc061
--- /dev/null
+++ b/app-arch/bzip2/files/bzip2-1.0.4-POSIX-shell.patch
@@ -0,0 +1,21 @@
+bzgrep uses !/bin/sh but then uses the bashism ${var//} so replace those
+with calls to sed so POSIX shells work
+
+http://bugs.gentoo.org/193365
+
+--- bzgrep
++++ bzgrep
+@@ -63,10 +63,9 @@
+ bzip2 -cdfq "$i" | $grep $opt "$pat"
+ r=$?
+ else
+- j=${i//\\/\\\\}
+- j=${j//|/\\|}
+- j=${j//&/\\&}
+- j=`printf "%s" "$j" | tr '\n' ' '`
++ # the backslashes here are doubled up as we have to escape each one for the
++ # shell and then escape each one for the sed expression
++ j=`printf "%s" "${i}" | sed -e 's:\\\\:\\\\\\\\:g' -e 's:[|]:\\\\|:g' -e 's:[&]:\\\\&:g' | tr '\n' ' '`
+ bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|"
+ r=$?
+ fi
diff --git a/app-arch/bzip2/files/bzip2-1.0.4-makefile-CFLAGS.patch b/app-arch/bzip2/files/bzip2-1.0.4-makefile-CFLAGS.patch
new file mode 100644
index 00000000..5a95ed68
--- /dev/null
+++ b/app-arch/bzip2/files/bzip2-1.0.4-makefile-CFLAGS.patch
@@ -0,0 +1,25 @@
+--- Makefile
++++ Makefile
+@@ -18,10 +18,9 @@
+ CC=gcc
+ AR=ar
+ RANLIB=ranlib
+-LDFLAGS=
+
+ BIGFILES=-D_FILE_OFFSET_BITS=64
+-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
++CFLAGS+=-Wall -Winline $(BIGFILES) $(CPPFLAGS)
+
+ # Where you want it installed when you do 'make install'
+ PREFIX=/usr/local
+--- Makefile-libbz2_so
++++ Makefile-libbz2_so
+@@ -24,7 +24,7 @@
+ SHELL=/bin/sh
+ CC=gcc
+ BIGFILES=-D_FILE_OFFSET_BITS=64
+-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
++CFLAGS+=-fpic -fPIC -Wall -Winline $(BIGFILES) $(CPPFLAGS)
+
+ OBJS= blocksort.o \
+ huffman.o \
diff --git a/app-arch/bzip2/files/bzip2-1.0.4-man-links.patch b/app-arch/bzip2/files/bzip2-1.0.4-man-links.patch
new file mode 100644
index 00000000..2427d6a7
--- /dev/null
+++ b/app-arch/bzip2/files/bzip2-1.0.4-man-links.patch
@@ -0,0 +1,12 @@
+http://bugs.gentoo.org/172986
+
+--- bzip2-1.0.4/Makefile
++++ bzip2-1.0.4/Makefile
+@@ -85,4 +85,7 @@
+ cp -f bzip2.1 $(PREFIX)/share/man/man1
+ chmod a+r $(PREFIX)/share/man/man1/bzip2.1
++ ln -s bzip2.1 $(PREFIX)/share/man/man1/bunzip2.1
++ ln -s bzip2.1 $(PREFIX)/share/man/man1/bzcat.1
++ ln -s bzip2.1 $(PREFIX)/share/man/man1/bzip2recover.1
+ cp -f bzlib.h $(PREFIX)/include
+ chmod a+r $(PREFIX)/include/bzlib.h
diff --git a/app-arch/bzip2/files/bzip2-1.0.6-mingw.patch b/app-arch/bzip2/files/bzip2-1.0.6-mingw.patch
new file mode 100644
index 00000000..51469ca4
--- /dev/null
+++ b/app-arch/bzip2/files/bzip2-1.0.6-mingw.patch
@@ -0,0 +1,27 @@
+make it build for mingw targets
+
+https://bugs.gentoo.org/393573
+
+--- a/bzip2.c
++++ b/bzip2.c
+@@ -129,7 +129,7 @@
+ #if BZ_LCCWIN32
+ # include <io.h>
+ # include <fcntl.h>
+-# include <sys\stat.h>
++# include <sys/stat.h>
+
+ # define NORETURN /**/
+ # define PATH_SEP '\\'
+--- 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.6-progress.patch b/app-arch/bzip2/files/bzip2-1.0.6-progress.patch
new file mode 100644
index 00000000..7691d63e
--- /dev/null
+++ b/app-arch/bzip2/files/bzip2-1.0.6-progress.patch
@@ -0,0 +1,163 @@
+Ripped from Mandrake
+
+http://bugs.gentoo.org/82192
+
+--- bzip2-1.0.6/bzip2.1
++++ bzip2-1.0.6/bzip2.1
+@@ -235,6 +235,10 @@
+ Suppress non-essential warning messages. Messages pertaining to
+ I/O errors and other critical events will not be suppressed.
+ .TP
++.B \-p \-\-show\-progress
++Show percentage of input\-file done and while compressing show the percentage
++of the original file the new file is.
++.TP
+ .B \-v --verbose
+ Verbose mode -- show the compression ratio for each file processed.
+ Further \-v's increase the verbosity level, spewing out lots of
+--- bzip2-1.0.6/bzip2.c
++++ bzip2-1.0.6/bzip2.c
+@@ -145,6 +145,7 @@
+ #include <signal.h>
+ #include <math.h>
+ #include <errno.h>
++#include <time.h>
+ #include <ctype.h>
+ #include "bzlib.h"
+
+@@ -301,6 +302,7 @@
+ Char progNameReally[FILE_NAME_LEN];
+ FILE *outputHandleJustInCase;
+ Int32 workFactor;
++Char showProgress;
+
+ static void panic ( Char* ) NORETURN;
+ static void ioError ( void ) NORETURN;
+@@ -425,6 +427,12 @@
+ UInt32 nbytes_in_lo32, nbytes_in_hi32;
+ UInt32 nbytes_out_lo32, nbytes_out_hi32;
+ Int32 bzerr, bzerr_dummy, ret;
++ double fileSize = 0; /* initialized to make the compiler stop crying */
++ /* double because big files might otherwhise give
++ * overflows. not long long since not all compilers
++ * support that one
++ */
++ time_t startTime, currentTime;
+
+ SET_BINARY_MODE(stream);
+ SET_BINARY_MODE(zStream);
+@@ -432,12 +440,21 @@
+ if (ferror(stream)) goto errhandler_io;
+ if (ferror(zStream)) goto errhandler_io;
+
++ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) {
++ (void)fseek(stream, 0, SEEK_END);
++ fileSize = ftello(stream);
++ rewind(stream);
++ if (verbosity >= 1)
++ fprintf(stderr, "Input-file size: %ld\n", (long)fileSize);
++ }
++
+ bzf = BZ2_bzWriteOpen ( &bzerr, zStream,
+ blockSize100k, verbosity, workFactor );
+ if (bzerr != BZ_OK) goto errhandler;
+
+ if (verbosity >= 2) fprintf ( stderr, "\n" );
+
++ time(&startTime);
+ while (True) {
+
+ if (myfeof(stream)) break;
+@@ -446,6 +463,22 @@
+ if (nIbuf > 0) BZ2_bzWrite ( &bzerr, bzf, (void*)ibuf, nIbuf );
+ if (bzerr != BZ_OK) goto errhandler;
+
++ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) {
++ time(&currentTime);
++
++ if ((currentTime - startTime) > 1) { /* show progress every 2 seconds */
++ double curInPos = ftello(stream);
++ double curOutPos = ftello(zStream);
++
++ startTime = currentTime;
++
++ fprintf(stderr, "%.2f%% done", (curInPos * 100.0) / fileSize);
++ if (srcMode == SM_F2F)
++ fprintf(stderr, ", new size: %.2f%%", (curOutPos * 100.0) / curInPos);
++
++ fprintf(stderr, " \r");
++ }
++ }
+ }
+
+ BZ2_bzWriteClose64 ( &bzerr, bzf, 0,
+@@ -526,6 +559,8 @@
+ UChar unused[BZ_MAX_UNUSED];
+ Int32 nUnused;
+ UChar* unusedTmp;
++ double fileSize = 0; /* initialized to make the compiler stop crying */
++ time_t startTime, currentTime;
+
+ nUnused = 0;
+ streamNo = 0;
+@@ -533,9 +568,19 @@
+ SET_BINARY_MODE(stream);
+ SET_BINARY_MODE(zStream);
+
++ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) {
++ off_t dummy = ftello(zStream);
++ (void)fseeko(zStream, 0, SEEK_END);
++ fileSize = ftello(zStream);
++ (void)fseeko(zStream, dummy, SEEK_SET);
++ if (verbosity >= 1)
++ fprintf(stderr, "Input-file size: %ld\n", (long)fileSize);
++ }
++
+ if (ferror(stream)) goto errhandler_io;
+ if (ferror(zStream)) goto errhandler_io;
+
++ time(&startTime);
+ while (True) {
+
+ bzf = BZ2_bzReadOpen (
+@@ -551,6 +596,16 @@
+ if ((bzerr == BZ_OK || bzerr == BZ_STREAM_END) && nread > 0)
+ fwrite ( obuf, sizeof(UChar), nread, stream );
+ if (ferror(stream)) goto errhandler_io;
++
++ if ((srcMode == SM_F2F || srcMode == SM_F2O) && showProgress == True) {
++ time(&currentTime);
++ if ((currentTime - startTime) >= 2) {
++ double curInPos = ftello(zStream);
++ startTime = currentTime;
++
++ fprintf(stderr, "%.2f%% done\r", (curInPos * 100.0) / fileSize);
++ }
++ }
+ }
+ if (bzerr != BZ_STREAM_END) goto errhandler;
+
+@@ -1872,6 +1927,7 @@
+ deleteOutputOnInterrupt = False;
+ exitValue = 0;
+ i = j = 0; /* avoid bogus warning from egcs-1.1.X */
++ showProgress = False;
+
+ /*-- Set up signal handlers for mem access errors --*/
+ signal (SIGSEGV, mySIGSEGVorSIGBUScatcher);
+@@ -1949,6 +2005,7 @@
+ case 'k': keepInputFiles = True; break;
+ case 's': smallMode = True; break;
+ case 'q': noisy = False; break;
++ case 'p': showProgress = True; break;
+ case '1': blockSize100k = 1; break;
+ case '2': blockSize100k = 2; break;
+ case '3': blockSize100k = 3; break;
+@@ -1985,6 +2042,7 @@
+ if (ISFLAG("--keep")) keepInputFiles = True; else
+ if (ISFLAG("--small")) smallMode = True; else
+ if (ISFLAG("--quiet")) noisy = False; else
++ if (ISFLAG("--show-progress")) showProgress = True; else
+ if (ISFLAG("--version")) license(); else
+ if (ISFLAG("--license")) license(); else
+ if (ISFLAG("--exponential")) workFactor = 1; else
diff --git a/app-arch/bzip2/files/bzip2-1.0.6-saneso.patch b/app-arch/bzip2/files/bzip2-1.0.6-saneso.patch
new file mode 100644
index 00000000..9c4ddf05
--- /dev/null
+++ b/app-arch/bzip2/files/bzip2-1.0.6-saneso.patch
@@ -0,0 +1,13 @@
+--- Makefile-libbz2_so
++++ 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.6 $(OBJS)
+- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
++ $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.6 $(OBJS)
++ $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
+ rm -f libbz2.so.1.0
+ ln -s libbz2.so.1.0.6 libbz2.so.1.0
+
diff --git a/app-arch/bzip2/metadata.xml b/app-arch/bzip2/metadata.xml
new file mode 100644
index 00000000..80408f47
--- /dev/null
+++ b/app-arch/bzip2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>base-system</herd>
+<upstream>
+ <remote-id type="cpe">cpe:/a:bzip:bzip2</remote-id>
+</upstream>
+</pkgmetadata>