gnu: coda: Remove bundled libraries.
authorThomas Danckaert <thomas.danckaert@gmail.com>
Tue, 25 Oct 2016 08:56:46 +0000 (10:56 +0200)
committerLudovic Courtès <ludo@gnu.org>
Tue, 25 Oct 2016 12:56:37 +0000 (14:56 +0200)
* gnu/packages/maths.scm (coda): Remove bundled libraries.
[source]: Add patch and snippet to remove bundled zlib, pcre and expat.
[inputs]: Add system zlib, pcre and expat.
* gnu/packages/patches/coda-use-system-libs.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu/local.mk
gnu/packages/maths.scm
gnu/packages/patches/coda-use-system-libs.patch [new file with mode: 0644]

index 51849f4..4ffd37a 100644 (file)
@@ -484,6 +484,7 @@ dist_patch_DATA =                                           \
   %D%/packages/patches/clucene-pkgconfig.patch                 \
   %D%/packages/patches/clx-remove-demo.patch                   \
   %D%/packages/patches/cmake-fix-tests.patch                   \
+  %D%/packages/patches/coda-use-system-libs.patch              \
   %D%/packages/patches/cpio-CVE-2016-2037.patch                        \
   %D%/packages/patches/cpufrequtils-fix-aclocal.patch          \
   %D%/packages/patches/cracklib-CVE-2016-6318.patch            \
index 2928cb6..1b43bda 100644 (file)
@@ -123,18 +123,28 @@ interactive dialogs to guide them.")
        (uri (string-append "https://github.com/stcorp/coda/releases/download/"
                            version "/coda-" version ".tar.gz"))
        (sha256
-        (base32 "04b9l3wzcix0mnfq77mwnil6cbr8h2mki8myvy0lzn236qcwaq1h"))))
+        (base32 "04b9l3wzcix0mnfq77mwnil6cbr8h2mki8myvy0lzn236qcwaq1h"))
+       (patches (search-patches "coda-use-system-libs.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        ;; Make sure we don't use the bundled software.
+        '(for-each (lambda (d)
+                     (delete-file-recursively (string-append "libcoda/" d)))
+                   '("zlib" "pcre" "expat")))))
     (native-inputs
      `(("fortran" ,gfortran)
        ("python" ,python)
        ("python-numpy" ,python-numpy)))
     (inputs
      `(("zlib" ,zlib)
+       ("pcre" ,pcre)
+       ("expat" ,expat)
        ("hdf4" ,hdf4-alt)
        ("hdf5" ,hdf5)))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags '("--with-hdf4" "--with-hdf5" "--enable-python")))
+     '(#:configure-flags '("--with-hdf4" "--with-hdf5" "--enable-python"
+                           "LIBS= -lz -lpcre -lexpat")))
     (synopsis "A common interface to various earth observation data formats")
     (description
      "The Common Data Access toolbox (CODA) provides a set of interfaces for
diff --git a/gnu/packages/patches/coda-use-system-libs.patch b/gnu/packages/patches/coda-use-system-libs.patch
new file mode 100644 (file)
index 0000000..fbf8441
--- /dev/null
@@ -0,0 +1,46 @@
+Remove dependencies on bundled zlib, pcre and expat.
+
+diff --git a/Makefile.in b/Makefile.in
+index 4360a26..80f9f59 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -210,8 +210,7 @@ coda_matlab_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ @BUILD_MATLAB_TRUE@@SUBPACKAGE_MODE_FALSE@    -rpath \
+ @BUILD_MATLAB_TRUE@@SUBPACKAGE_MODE_FALSE@    $(matlabmexexecdir)
+ am__DEPENDENCIES_1 =
+-libcoda_la_DEPENDENCIES = @LTLIBOBJS@ libexpat_internal.la \
+-      libpcre_internal.la libz_internal.la $(am__DEPENDENCIES_1) \
++libcoda_la_DEPENDENCIES = @LTLIBOBJS@ $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1)
+ am__libcoda_la_SOURCES_DIST = libcoda/coda-ascbin-cursor.c \
+       libcoda/coda-ascbin.h libcoda/coda-ascii-cursor.c \
+@@ -306,8 +305,7 @@ libcoda_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(libcoda_la_LDFLAGS) $(LDFLAGS) -o $@
+ @SUBPACKAGE_MODE_FALSE@am_libcoda_la_rpath = -rpath $(libdir)
+-am__DEPENDENCIES_2 = @LTLIBOBJS@ libexpat_internal.la \
+-      libpcre_internal.la libz_internal.la $(am__DEPENDENCIES_1) \
++am__DEPENDENCIES_2 = @LTLIBOBJS@ $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1)
+ libcoda_internal_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
+ am__libcoda_internal_la_SOURCES_DIST = libcoda/coda-ascbin-cursor.c \
+@@ -898,8 +896,8 @@ INSTALL_DATA_HOOK_TARGETS = $(am__append_1)
+ UNINSTALL_HOOK_TARGETS = 
+ CLEAN_LOCAL_TARGETS = $(am__append_11)
+ ALL_LOCAL_TARGETS = 
+-@SUBPACKAGE_MODE_FALSE@noinst_LTLIBRARIES = libcoda_internal.la libexpat_internal.la libpcre_internal.la libz_internal.la
+-@SUBPACKAGE_MODE_TRUE@noinst_LTLIBRARIES = libcoda_internal.la libexpat_internal.la libpcre_internal.la libz_internal.la
++@SUBPACKAGE_MODE_FALSE@noinst_LTLIBRARIES = libcoda_internal.la
++@SUBPACKAGE_MODE_TRUE@noinst_LTLIBRARIES = libcoda_internal.la
+ # libraries (+ related files)
+ @SUBPACKAGE_MODE_FALSE@lib_LTLIBRARIES = libcoda.la
+@@ -1048,7 +1046,7 @@ libcoda_hdf5_files = \
+ libcoda_la_CPPFLAGS = -Ilibcoda/expat -I$(srcdir)/libcoda/expat -Ilibcoda/pcre -I$(srcdir)/libcoda/pcre -Ilibcoda/zlib -I$(srcdir)/libcoda/zlib $(AM_CPPFLAGS)
+ libcoda_la_LDFLAGS = -no-undefined -version-info $(LIBCODA_CURRENT):$(LIBCODA_REVISION):$(LIBCODA_AGE)
+-libcoda_la_LIBADD = @LTLIBOBJS@ libexpat_internal.la libpcre_internal.la libz_internal.la $(HDF4LIBS) $(HDF5LIBS)
++libcoda_la_LIBADD = @LTLIBOBJS@ $(HDF4LIBS) $(HDF5LIBS)
+ libcoda_internal_la_SOURCES = libcoda/coda-ascbin-cursor.c \
+       libcoda/coda-ascbin.h libcoda/coda-ascii-cursor.c \
+       libcoda/coda-ascii-internal.h libcoda/coda-ascii.c \