Add pigz as gzip-native alternative.
authorBjörn Stenberg <bjst@enea.com>
Thu, 15 Mar 2012 08:25:45 +0000 (09:25 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 19 Mar 2012 14:37:35 +0000 (14:37 +0000)
pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data. pigz was written by Mark Adler, and uses the zlib and pthread libraries.

This recipe adds pigz as an alternative gzip-native implementation only.

(From OE-Core rev: fe5f165c775ccef36a251bb83ca5dadbd209e355)

Signed-off-by: Björn Stenberg <bjst@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-extended/pigz/files/ldflags.patch [new file with mode: 0644]
meta/recipes-extended/pigz/pigz.inc [new file with mode: 0644]
meta/recipes-extended/pigz/pigz_2.2.4.bb [new file with mode: 0644]

diff --git a/meta/recipes-extended/pigz/files/ldflags.patch b/meta/recipes-extended/pigz/files/ldflags.patch
new file mode 100644 (file)
index 0000000..928c3a5
--- /dev/null
@@ -0,0 +1,17 @@
+Link using the bitbake LDFLAGS.
+
+Signed-off-by: Björn Stenberg <bjst@enea.com>
+
+Upstream-Status: Pending
+
+--- pigz-2.2.4/Makefile.orig   2012-01-01 02:46:58.000000000 +0100
++++ pigz-2.2.4/Makefile        2012-03-09 08:47:40.025094863 +0100
+@@ -2,7 +2,7 @@
+ CFLAGS=-O3 -Wall -Wextra
+ pigz: pigz.o yarn.o
+-      $(CC) -o pigz pigz.o yarn.o -lpthread -lz
++      $(CC) $(LDFLAGS) -o pigz pigz.o yarn.o -lpthread -lz
+       ln -f pigz unpigz
+ pigz.o: pigz.c yarn.h
diff --git a/meta/recipes-extended/pigz/pigz.inc b/meta/recipes-extended/pigz/pigz.inc
new file mode 100644 (file)
index 0000000..acf1b71
--- /dev/null
@@ -0,0 +1,21 @@
+SUMMARY = "A parallel implementation of gzip"
+DESCRIPTION = "pigz, which stands for parallel implementation of gzip, is a \
+fully functional replacement for gzip that exploits multiple processors and \
+multiple cores to the hilt when compressing data. pigz was written by Mark \
+Adler, and uses the zlib and pthread libraries."
+HOMEPAGE = "http://zlib.net/pigz/"
+SECTION = "console/utils"
+LICENSE = "Zlib"
+
+SRC_URI = "http://zlib.net/pigz/pigz-${PV}.tar.gz \
+           file://ldflags.patch"
+
+PROVIDES_virtclass-native += "gzip-native"
+
+DEPENDS_virtclass-native = "zlib-native"
+
+do_install () {
+        install -d ${D}${bindir}
+        install ${B}/pigz ${D}${bindir}/gzip
+        install ${B}/unpigz ${D}${bindir}/gunzip
+}
diff --git a/meta/recipes-extended/pigz/pigz_2.2.4.bb b/meta/recipes-extended/pigz/pigz_2.2.4.bb
new file mode 100644 (file)
index 0000000..598bbe3
--- /dev/null
@@ -0,0 +1,9 @@
+require pigz.inc
+
+PR = "r0"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "9df2a3c742524446fa4e797c17e8fd85"
+SRC_URI[sha256sum] = "7e7967c47f66c07be97cbfa25c8816b72f9d35258466ea31eddc7666c914160e"
+LIC_FILES_CHKSUM = "file://pigz.c;md5=53f47c097bbf11b937a421b1816a8dc5"