[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Pkg-octave-devel] Bug#756689: octave: [hdf5 transition] please support hdf5 1.8.13 new packaging layout



Source: octave
Version: 3.8.1-3
Severity: important
Tags: patch
User: pini@debian.org
Usertags: HDF5-transition

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hi,

The hdf5 1.8.13 package in experimental features a new layout for
headers and libraries, so that all the binary packages are now
co-installable.

Please find attached a patch proposal to support both the current
and the new layouts.

Because this bug is in the way of the hdf5 transition I intend to NMU
in a few days. I apologize for the urge, and I hope this approach won't
offend you. Please tell me otherwise.

Kind regards,

_g.

- -- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.14-1-486
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBCAAGBQJT2sbvAAoJEO/obGx//s+Dj5sIAJsTeDsr95f3P6YzHPJIY8C6
Y0sLO3V8VzAYvXmXGZWW/cdVRR4M0cwuKcQ2Jb9NCvkwccI6kAFrJ7l9WR++r79T
aX6eJFc0U2ZhwfIj5WGwGGcJoOXY+46huYFjkdROwamSifQhVJkabvBrJ0NSuX0M
A1WQaSGbKa4p5Fvrgs6EJLyXCwfu4oTU7QV02yl3Y821WmOD0YJOBXa28YzNb/ty
fxlW6ZuTHnZpoQBvc+M6BpZVNG1EjSP6IfaMsO5JIRHMIqGyEhFVdyHui/fB0icB
y52w2vsMpNMYUB62YxlM/wS9EYRCXpKWS4u1LIGeCfoTsAMWTbpXKNTsA/ktJAk=
=xHe+
-----END PGP SIGNATURE-----
diff -Nru octave-3.8.1/debian/changelog octave-3.8.1/debian/changelog
--- octave-3.8.1/debian/changelog	2014-05-10 10:40:26.000000000 +0200
+++ octave-3.8.1/debian/changelog	2014-07-25 17:10:38.000000000 +0200
@@ -1,3 +1,12 @@
+octave (3.8.1-3.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Support hdf5 1.8.13 new packaging layout.
+  * New patch hdf5-flags.patch to fix a couple of makefiles regarding
+    new paths.
+
+ -- Gilles Filippini <pini@debian.org>  Fri, 25 Jul 2014 14:39:07 +0200
+
 octave (3.8.1-3) unstable; urgency=medium
 
   [ Thomas Weber ]
diff -Nru octave-3.8.1/debian/patches/hdf5-flags.patch octave-3.8.1/debian/patches/hdf5-flags.patch
--- octave-3.8.1/debian/patches/hdf5-flags.patch	1970-01-01 01:00:00.000000000 +0100
+++ octave-3.8.1/debian/patches/hdf5-flags.patch	2014-07-25 17:13:20.000000000 +0200
@@ -0,0 +1,24 @@
+Index: octave-3.8.1/libgui/src/module.mk
+===================================================================
+--- octave-3.8.1.orig/libgui/src/module.mk	2014-03-06 20:37:51.000000000 +0100
++++ octave-3.8.1/libgui/src/module.mk	2014-07-25 17:12:53.028220949 +0200
+@@ -172,6 +172,7 @@
+   $(AM_CPPFLAGS) \
+   @OCTGUI_DLL_DEFS@ \
+   @QT_CPPFLAGS@ \
++  @HDF5_CPPFLAGS@ \
+   -I$(srcdir)/qterminal/libqterminal \
+   -Isrc -I$(srcdir)/src \
+   -I$(srcdir)/src/m-editor \
+Index: octave-3.8.1/libinterp/Makefile.am
+===================================================================
+--- octave-3.8.1.orig/libinterp/Makefile.am	2014-07-25 14:38:24.000000000 +0200
++++ octave-3.8.1/libinterp/Makefile.am	2014-07-25 17:13:10.124810238 +0200
+@@ -22,6 +22,7 @@
+ 
+ ## Search local directories before those specified by the user.
+ AM_CPPFLAGS = \
++  @HDF5_CPPFLAGS@ \
+   -I$(top_srcdir)/liboctave/cruft/misc \
+   -I$(top_srcdir)/liboctave/array \
+   -I$(top_builddir)/liboctave/numeric -I$(top_srcdir)/liboctave/numeric \
diff -Nru octave-3.8.1/debian/patches/hdf5-mkoctfile.patch octave-3.8.1/debian/patches/hdf5-mkoctfile.patch
--- octave-3.8.1/debian/patches/hdf5-mkoctfile.patch	1970-01-01 01:00:00.000000000 +0100
+++ octave-3.8.1/debian/patches/hdf5-mkoctfile.patch	2014-07-27 21:33:04.000000000 +0200
@@ -0,0 +1,24 @@
+Description: Add hdf5 paths to CPPFLAGS and LDFLAGS in mkoctfile
+ so that packages build-depending on octave-dev don't have to care.
+Index: octave-3.8.1/src/mkoctfile.in.cc
+===================================================================
+--- octave-3.8.1.orig/src/mkoctfile.in.cc	2014-07-25 14:38:24.000000000 +0200
++++ octave-3.8.1/src/mkoctfile.in.cc	2014-07-27 18:47:49.439137810 +0200
+@@ -130,7 +130,7 @@
+   if (vars["LIBDIR"] != "/usr/lib")
+     DEFAULT_LFLAGS += " -L" + quote_path (vars["LIBDIR"]);
+ 
+-  vars["CPPFLAGS"] = get_variable ("CPPFLAGS", %OCTAVE_CONF_CPPFLAGS%);
++  vars["CPPFLAGS"] = get_variable ("CPPFLAGS", std::string(%OCTAVE_CONF_CPPFLAGS%) + " " + %OCTAVE_CONF_HDF5_CPPFLAGS%);
+   vars["INCFLAGS"] = get_variable ("INCFLAGS", DEFAULT_INCFLAGS);
+   vars["F77"] = get_variable ("F77", %OCTAVE_CONF_MKOCTFILE_F77%);
+   vars["FFLAGS"] = get_variable ("FFLAGS", %OCTAVE_CONF_FFLAGS%);
+@@ -182,7 +182,7 @@
+   vars["OCT_LINK_OPTS"] = get_variable ("OCT_LINK_OPTS",
+                                         %OCTAVE_CONF_OCT_LINK_OPTS%);
+   vars["LD_CXX"] = get_variable ("LD_CXX", %OCTAVE_CONF_MKOCTFILE_LD_CXX%);
+-  vars["LDFLAGS"] = get_variable ("LDFLAGS", %OCTAVE_CONF_LDFLAGS%);
++  vars["LDFLAGS"] = get_variable ("LDFLAGS", std::string(%OCTAVE_CONF_LDFLAGS%) + " " + %OCTAVE_CONF_HDF5_LDFLAGS%);
+   vars["LD_STATIC_FLAG"] = get_variable ("LD_STATIC_FLAG",
+                                          %OCTAVE_CONF_LD_STATIC_FLAG%);
+   vars["LFLAGS"] = get_variable ("LFLAGS", DEFAULT_LFLAGS);
diff -Nru octave-3.8.1/debian/patches/series octave-3.8.1/debian/patches/series
--- octave-3.8.1/debian/patches/series	2014-03-09 20:01:54.000000000 +0100
+++ octave-3.8.1/debian/patches/series	2014-07-27 21:30:47.000000000 +0200
@@ -7,3 +7,5 @@
 dblquad-s390x.diff
 hurd_path_max.diff
 always-build-octave-jar.patch
+hdf5-flags.patch
+hdf5-mkoctfile.patch
diff -Nru octave-3.8.1/debian/rules octave-3.8.1/debian/rules
--- octave-3.8.1/debian/rules	2014-05-10 10:40:01.000000000 +0200
+++ octave-3.8.1/debian/rules	2014-07-31 11:17:00.000000000 +0200
@@ -36,6 +36,12 @@
 # libraries, for example the mesa graphics stack which also uses LLVM.
 JIT_FLAG := --disable-jit
 
+# HDF5 paths
+ifneq ($(wildcard /usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/serial/libhdf5.so),)
+  HDF5_FLAGS := --with-hdf5-includedir=/usr/include/hdf5/serial \
+	--with-hdf5-libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/serial
+endif
+
 %:
 	dh $@ --with autoreconf --parallel
 
@@ -44,7 +50,7 @@
 
 # override normal dh_auto_configure call to pass OpenMP flag to it (#631831)
 override_dh_auto_configure:
-	dh_auto_configure -- --enable-openmp $(WITH_JAVA_FLAGS) $(JIT_FLAG)
+	dh_auto_configure -- --enable-openmp $(WITH_JAVA_FLAGS) $(JIT_FLAG) $(HDF5_FLAGS)
 
 # dh_auto_test tries to run "make test", so override it
 override_dh_auto_test:

Reply to: