commit:     cb21070a45e736d674aede6991df0b6da7cded63
Author:     Tim Harder <radhermit <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 20 02:13:39 2016 +0000
Commit:     Tim Harder <radhermit <AT> gentoo <DOT> org>
CommitDate: Sat Aug 20 02:27:58 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb21070a

app-arch/zopfli: link binaries against installed libraries

Also install headers so the installed libraries are actually useful to
third party builds.

 app-arch/zopfli/files/zopfli-1.0.1-makefile.patch | 33 ++++++++++++------
 app-arch/zopfli/zopfli-1.0.1-r2.ebuild            | 42 +++++++++++++++++++++++
 2 files changed, 64 insertions(+), 11 deletions(-)

diff --git a/app-arch/zopfli/files/zopfli-1.0.1-makefile.patch 
b/app-arch/zopfli/files/zopfli-1.0.1-makefile.patch
index 8a5e87f..a4a7dc2 100644
--- a/app-arch/zopfli/files/zopfli-1.0.1-makefile.patch
+++ b/app-arch/zopfli/files/zopfli-1.0.1-makefile.patch
@@ -10,35 +10,46 @@
 -CXXFLAGS = -W -Wall -Wextra -ansi -pedantic -O2
 +CFLAGS += -W -Wall -Wextra -ansi -pedantic
 +CXXFLAGS += -W -Wall -Wextra -ansi -pedantic
++LDFLAGS += -L.
 +LIBS = -lm
-+LDFLAGS += $(LIBS)
  
  ZOPFLILIB_SRC = src/zopfli/blocksplitter.c src/zopfli/cache.c\
                  src/zopfli/deflate.c src/zopfli/gzip_container.c\
-@@ -20,22 +22,22 @@
+@@ -18,24 +20,28 @@
  
+ .PHONY: zopfli zopflipng
+ 
++all: zopfli zopflipng
++
  # Zopfli binary
- zopfli:
+-zopfli:
 -      $(CC) $(ZOPFLILIB_SRC) $(ZOPFLIBIN_SRC) $(CFLAGS) -o zopfli
-+      $(CC) $(ZOPFLILIB_SRC) $(ZOPFLIBIN_SRC) $(CFLAGS) $(LDFLAGS) -o zopfli
++zopfli: libzopfli
++      $(CC) $(ZOPFLIBIN_SRC) $(CFLAGS) $(LDFLAGS) $(LIBS) -lzopfli -o zopfli
  
  # Zopfli shared library
  libzopfli:
        $(CC) $(ZOPFLILIB_SRC) $(CFLAGS) -fPIC -c
 -      $(CC) $(ZOPFLILIB_OBJ) $(CFLAGS) -shared -Wl,-soname,libzopfli.so.1 -o 
libzopfli.so.1.0.1
-+      $(CC) $(ZOPFLILIB_OBJ) $(CFLAGS) $(LDFLAGS) -shared 
-Wl,-soname,libzopfli.so.1 -o libzopfli.so.1.0.1
++      $(CC) $(ZOPFLILIB_OBJ) $(CFLAGS) $(LDFLAGS) $(LIBS) -shared 
-Wl,-soname,libzopfli.so.1 -o libzopfli.so.1.0.1
++      @ln -s libzopfli.so.1.0.1 libzopfli.so.1
++      @ln -s libzopfli.so.1.0.1 libzopfli.so
  
  # ZopfliPNG binary
- zopflipng:
-       $(CC) $(ZOPFLILIB_SRC) $(CFLAGS) -c
+-zopflipng:
+-      $(CC) $(ZOPFLILIB_SRC) $(CFLAGS) -c
 -      $(CXX) $(ZOPFLILIB_OBJ) $(LODEPNG_SRC) $(ZOPFLIPNGLIB_SRC) 
$(ZOPFLIPNGBIN_SRC) $(CFLAGS) -o zopflipng
-+      $(CXX) $(ZOPFLILIB_OBJ) $(LODEPNG_SRC) $(ZOPFLIPNGLIB_SRC) 
$(ZOPFLIPNGBIN_SRC) $(CFLAGS) $(LDFLAGS) -o zopflipng
++zopflipng: libzopflipng
++      $(CXX) $(ZOPFLILIB_OBJ) $(LODEPNG_SRC) $(ZOPFLIPNGBIN_SRC) $(CFLAGS) 
$(LDFLAGS) $(LIBS) -lzopflipng -o zopflipng
  
  # ZopfliPNG shared library
- libzopflipng:
-       $(CC) $(ZOPFLILIB_SRC) $(CFLAGS) -fPIC -c
+-libzopflipng:
+-      $(CC) $(ZOPFLILIB_SRC) $(CFLAGS) -fPIC -c
 -      $(CXX) $(ZOPFLILIB_OBJ) $(LODEPNG_SRC) $(ZOPFLIPNGLIB_SRC) $(CFLAGS) 
-fPIC --shared -Wl,-soname,libzopflipng.so.1 -o libzopflipng.so.1.0.0
-+      $(CXX) $(ZOPFLILIB_OBJ) $(LODEPNG_SRC) $(ZOPFLIPNGLIB_SRC) $(CFLAGS) 
$(LDFLAGS) -fPIC --shared -Wl,-soname,libzopflipng.so.1 -o libzopflipng.so.1.0.0
++libzopflipng: libzopfli
++      $(CXX) $(ZOPFLILIB_OBJ) $(LODEPNG_SRC) $(ZOPFLIPNGLIB_SRC) $(CFLAGS) 
$(LDFLAGS) $(LIBS) -fPIC --shared -Wl,-soname,libzopflipng.so.1 -o 
libzopflipng.so.1.0.0
++      @ln -s libzopflipng.so.1.0.0 libzopflipng.so.1
++      @ln -s libzopflipng.so.1.0.0 libzopflipng.so
  
  # Remove all libraries and binaries
  clean:

diff --git a/app-arch/zopfli/zopfli-1.0.1-r2.ebuild 
b/app-arch/zopfli/zopfli-1.0.1-r2.ebuild
new file mode 100644
index 0000000..3d155dc
--- /dev/null
+++ b/app-arch/zopfli/zopfli-1.0.1-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="Very good, but slow, deflate or zlib compression"
+HOMEPAGE="https://github.com/google/zopfli/";
+SRC_URI="https://github.com/google/zopfli/archive/${P}.tar.gz";
+
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="Apache-2.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DOCS=( CONTRIBUTORS README README.zopflipng )
+
+PATCHES=( "${FILESDIR}"/${P}-makefile.patch )
+
+# zopflipng statically links an exact version of LodePNG 
(https://github.com/lvandeve/lodepng)
+
+src_prepare() {
+       default
+       tc-export CC CXX
+}
+
+# The Makefile has no install phase
+src_install() {
+       dolib.so libzopfli.so*
+       doheader src/zopfli/zopfli.h
+
+       dobin ${PN}
+
+       # This version was erroneously not bumped to match ${PV}
+       dolib.so libzopflipng.so*
+       doheader src/zopflipng/zopflipng_lib.h
+
+       dobin zopflipng
+}

Reply via email to