sci-mathematics/octave: Fix zlib underlinking
authorDavid Seifert <soap@gentoo.org>
Sat, 24 Sep 2016 12:43:45 +0000 (14:43 +0200)
committerDavid Seifert <soap@gentoo.org>
Sat, 24 Sep 2016 12:44:27 +0000 (14:44 +0200)
Gentoo-bug: 593670
* [QA] Add -Wl,-z,defs to LDFLAGS
* Make dependency on sys-libs/zlib unconditional

Package-Manager: portage-2.3.1

sci-mathematics/octave/files/octave-4.0.3-zlib-underlinking.patch [new file with mode: 0644]
sci-mathematics/octave/octave-4.0.3.ebuild

diff --git a/sci-mathematics/octave/files/octave-4.0.3-zlib-underlinking.patch b/sci-mathematics/octave/files/octave-4.0.3-zlib-underlinking.patch
new file mode 100644 (file)
index 0000000..7bc1187
--- /dev/null
@@ -0,0 +1,13 @@
+Fix underlinking caused by missing -lz link.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=593670
+
+--- a/libinterp/corefcn/module.mk
++++ b/libinterp/corefcn/module.mk
+@@ -361,6 +361,7 @@
+                                  $(HDF5_CPPFLAGS) \
+                                  $(LLVM_CPPFLAGS) \
+                                  $(Z_CPPFLAGS)
++corefcn_libcorefcn_la_LIBADD = $(Z_LIBS)
+ 
+ corefcn_libcorefcn_la_CXXFLAGS = $(AM_CXXFLAGS) $(LLVM_CXXFLAGS)
+ 
index 408fc9eb09b4e8b85a6c744958f250ce4b3460e7..53b5c7e54b3346e74a6c561d3f44c3dfcd16c815 100644 (file)
@@ -54,7 +54,7 @@ RDEPEND="
                sci-libs/cxsparse:0=
                sci-libs/umfpack:0= )
        X? ( x11-libs/libX11:0= )
-       zlib? ( sys-libs/zlib:0= )"
+       sys-libs/zlib"
 
 DEPEND="${RDEPEND}
        qrupdate? ( app-misc/pax-utils )
@@ -75,6 +75,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-4.0.3-imagemagick.patch
        "${FILESDIR}"/${PN}-3.8.1-pkgbuilddir.patch
        "${FILESDIR}"/${PN}-4.0.3-ncurses-pkgconfig.patch
+       "${FILESDIR}"/${PN}-4.0.3-zlib-underlinking.patch
 )
 
 src_prepare() {
@@ -98,6 +99,9 @@ src_prepare() {
 }
 
 src_configure() {
+       # [QA] detect underlinking #593670
+       append-ldflags $(test-flags-CXX -Wl,-z,defs)
+
        # unfortunate dependency on mpi from hdf5 (bug #302621)
        use hdf5 && has_version sci-libs/hdf5[mpi] && \
                export CXX=mpicxx CC=mpicc FC=mpif77 F77=mpif77
@@ -118,6 +122,7 @@ src_configure() {
                --disable-64 \
                --disable-jit \
                --enable-shared \
+               --with-z \
                $(use_enable static-libs static) \
                $(use_enable doc docs) \
                $(use_enable java) \
@@ -138,8 +143,7 @@ src_configure() {
                $(use_with sparse ccolamd) \
                $(use_with sparse cholmod) \
                $(use_with sparse cxsparse) \
-               $(use_with X x) \
-               $(use_with zlib z)
+               $(use_with X x)
 }
 
 src_compile() {
@@ -160,7 +164,7 @@ src_install() {
        fi
        [[ -e test/fntests.log ]] && dodoc test/fntests.log
        use java && \
-               java-pkg_regjar "${ED}/usr/share/${PN}/${PV}/m/java/octave.jar"
-       echo "LDPATH=${EROOT}usr/$(get_libdir)/${PN}/${PV}" > 99octave
+               java-pkg_regjar "${ED%/}/usr/share/${PN}/${PV}/m/java/octave.jar"
+       echo "LDPATH=${EROOT%/}/usr/$(get_libdir)/${PN}/${PV}" > 99octave || die
        doenvd 99octave
 }