Add hdfview USE flag to science overlay's dev-java/hdf-java ebuild.
authorW. Trevor King <wking@drexel.edu>
Mon, 10 Oct 2011 17:25:00 +0000 (13:25 -0400)
committerW. Trevor King <wking@drexel.edu>
Mon, 10 Oct 2011 17:25:00 +0000 (13:25 -0400)
dev-java/hdf-java/ChangeLog [new file with mode: 0644]
dev-java/hdf-java/Manifest [new file with mode: 0644]
dev-java/hdf-java/files/2.7-hdfview.sh [new file with mode: 0755]
dev-java/hdf-java/files/2.7-shared.patch [new file with mode: 0644]
dev-java/hdf-java/hdf-java-2.7.ebuild [new file with mode: 0644]
dev-java/hdf-java/metadata.xml [new file with mode: 0644]

diff --git a/dev-java/hdf-java/ChangeLog b/dev-java/hdf-java/ChangeLog
new file mode 100644 (file)
index 0000000..9ac0978
--- /dev/null
@@ -0,0 +1,34 @@
+# ChangeLog for dev-java/hdf-java
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*hdf-java-2.7 (07 Jun 2011)
+
+  07 Jun 2011; Kacper Kowalik <xarthisius@gentoo.org> -hdf-java-2.6.1.ebuild,
+  -files/hdf-java-2.6.1-shared.patch, +hdf-java-2.7.ebuild,
+  +files/hdf-java-2.7-shared.patch:
+  Version bump wrt #301049 by Guillaume Horel <guillaume.horel@gmail.com>
+
+  14 Mar 2011; Justin Lecher <jlec@gentoo.org> hdf-java-2.6.1.ebuild:
+  Moved media-libs/jpeg -> virtual/jpeg
+
+*hdf-java-2.6.1 (24 Mar 2010)
+
+  24 Mar 2010; Sébastien Fabbro <bicatali@gentoo.org> -hdf-java-2.6.ebuild,
+  +hdf-java-2.6.1.ebuild, +files/hdf-java-2.6.1-shared.patch,
+  -files/hdf-java-2.6-shared.patch:
+  Version bump
+
+  12 Feb 2010; Sébastien Fabbro <bicatali@gentoo.org> hdf-java-2.6.ebuild:
+  Removed mpi use flag in favor of checking if hdf5 was built with mpi, see
+  bug #302621
+
+  04 Feb 2010; Sébastien Fabbro <bicatali@gentoo.org> hdf-java-2.6.ebuild:
+  Added mpi support
+
+*hdf-java-2.6 (22 Jan 2010)
+
+  22 Jan 2010; Sébastien Fabbro <bicatali@gentoo.org> +hdf-java-2.6.ebuild,
+  +files/hdf-java-2.6-shared.patch, +metadata.xml:
+  Initial import. Ebuild initially submitted by Guillaume Horel, bug #301049
+
diff --git a/dev-java/hdf-java/Manifest b/dev-java/hdf-java/Manifest
new file mode 100644 (file)
index 0000000..6000bcc
--- /dev/null
@@ -0,0 +1,6 @@
+AUX 2.7-hdfview.sh 234 RMD160 f6640b9a799b257c71602450bb242a3a2465e93e SHA1 9eb3103dc3cbe9e371e277fedf3a22edaf1f3e8c SHA256 8ac80c7a060230f731e87602dbadb3429b11391ae9b19e36cca926d023c89f65
+AUX 2.7-shared.patch 3399 RMD160 ef3f3ed007d981bc9b364984f6b7b0acb245fcc9 SHA1 69ae21acaa761d884a947a139a3c6548f846ae21 SHA256 a7ab3aac334602eb18cb2d5f21d020727d4ba5452ce121e8c1bac550c816ce3b
+DIST hdf-java-2.7-src.tar 13209600 RMD160 1f0957d6f9e57a6e2e237fab68753d214d60e177 SHA1 d85fc993b8631b1b8da80e3f217e2baa58e78add SHA256 091c999cf53266ba113bef45a83912b12444624cfe0253d5eb565b95e0832706
+EBUILD hdf-java-2.7.ebuild 2519 RMD160 54033a87bcab9bfe482eda769fb273971077ff94 SHA1 6ce9da766ed69b60f2148eb757c3dac2acb34d00 SHA256 ce5ce87ff927d051a8b5d95acbda01d718d897cf850b0a957ed52f59a17d4d19
+MISC ChangeLog 1228 RMD160 6de27fb7bf57b95c298422c9cb0e707d4d81cadf SHA1 579a25bba7cf2dc73c0009cbd76b372d1fb1d753 SHA256 e40f7488a5738e794d7499ca04533d61c2f83a43a10d50ca59064d55b886830e
+MISC metadata.xml 695 RMD160 ba84297087b26c64b36a4a5c269187ddbfe0563f SHA1 bc11c02484fab4059dd22881d4714d7b77caed37 SHA256 97a459b5696f58666686ad9722dd445459352350eef1d568097ac420de4a4954
diff --git a/dev-java/hdf-java/files/2.7-hdfview.sh b/dev-java/hdf-java/files/2.7-hdfview.sh
new file mode 100755 (executable)
index 0000000..8f72174
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+JAVA=$(java-config --java)
+LIBRARY=$(java-config --library hdf-java)
+HDFJAVA=/
+export CLASSPATH=$(java-config --classpath hdf-java)
+"$JAVA" -Xmx1000m "-Djava.library.path=$LIBRARY" ncsa.hdf.view.HDFView -root "$HDFJAVA" $*
diff --git a/dev-java/hdf-java/files/2.7-shared.patch b/dev-java/hdf-java/files/2.7-shared.patch
new file mode 100644 (file)
index 0000000..3b863a2
--- /dev/null
@@ -0,0 +1,112 @@
+Respect LDFLAGS, properly use shared libraries
+
+http://bugs.gentoo.org/show_bug.cgi?id=301049
+
+Patch written by Guillaume Horel <guillaume.horel@gmail.com>
+--- a/configure.in
++++ b/configure.in
+@@ -177,7 +177,7 @@
+   *)
+     if test -n "$withval" ; then
+         z_lib="`echo $withval |cut -f2 -d, -s`"
+-      ZLIB=$z_lib"/libz."$LLEXT
++      ZLIB="-L$z_lib -lz"
+       HAVE_ZLIB="yes"
+     else
+       ZLIB=""
+@@ -211,7 +211,7 @@
+   *)
+     if test -n "$withval" ; then
+         jpeg_lib="`echo $withval |cut -f2 -d, -s`"
+-      JPEGLIB=$jpeg_lib"/libjpeg."$LLEXT
++      JPEGLIB="-L$jpeg_lib -ljpeg"
+       dnl AC_MSG_RESULT([jpeg found: $JPEGLIB]);
+       HAVE_JPEG="yes"
+     else
+@@ -246,7 +246,7 @@
+   *)
+       if test -n "$withval" ; then
+           sz_lib="`echo $withval |cut -f2 -d, -s`"
+-              SZLIB=$sz_lib"/libsz."$LLEXT
++              SZLIB="-L$sz_lib -lsz"
+               dnl AC_MSG_RESULT([szlib found: $SZLIB]);
+               HAVE_SZIP="yes"
+       else
+@@ -302,7 +302,7 @@
+       ;;
+ esac
+ if test -n "$HDF4LIB"; then
+-      LIBS="$HDF4LIB/libdf.$LLEXT $HDF4LIB/libmfhdf.$LLEXT $LIBS"
++      LIBS="-L$HDF4LIB -ldf -lmhdf $LIBS"
+       HAVE_HDF4="yes"
+ fi
+ AC_MSG_RESULT([$HAVE_HDF4])
+@@ -363,7 +363,7 @@
+   *)
+       if test -n "$withval" ; then
+           hdf5_lib="`echo $withval |cut -f2 -d, -s`"
+-              HDF5LIB=$hdf5_lib"/libhdf.$LLEXT"
++              HDF5LIB="-L$hdf5_lib -lhdf"
+           hdf5_inc="`echo $withval |cut -f1 -d,`"
+           if test -n "$hdf5_inc"; then
+             HDF5INC="$hdf5_inc"
+@@ -380,7 +380,7 @@
+       ;;
+ esac
+ if test -n "$HDF5LIB"; then
+-      LIBS="$HDF5LIB/libhdf5.$LLEXT $LIBS"
++      LIBS="-L$HDF5LIB -lhdf5 $LIBS"
+       HAVE_HDF5="yes"
+ fi
+ AC_MSG_RESULT([$HAVE_HDF5])
+@@ -628,10 +628,6 @@
+       if test \( ! -d "$JH45INST" \); then
+               JH45INST_FOUND=0
+       fi
+-      if test \( ! -w "$JH45INST" \); then
+-              AC_MSG_ERROR( [ $JAVINST : not writable ])
+-              JH45INST_FOUND=0
+-      fi
+ fi
+ until test $JH45INST_FOUND -eq 1; do
+       echo "Please type the directory in which to install the JH45"
+--- a/native/hdf5lib/Makefile.in
++++ b/native/hdf5lib/Makefile.in
+@@ -35,7 +35,7 @@
+ CFLAGS = -D_FILE_OFFSET_BITS=64 $(DEFS) -I. -I$(HDF5INC) -I$(JAVAINC1) -I$(JAVAINC2)
+-LIBS =  $(HDF5LIB)/libhdf5.$(LLEXT) $(ZLIB) $(SZLIB) -lm
++LIBS =  -L$(HDF5LIB) -lhdf5 $(ZLIB) $(SZLIB) -lm
+ # Macro def: object filename used
+ OBJECTS =  exceptionImp.o h5Constants.o h5Imp.o h5aImp.o h5dImp.o h5eImp.o h5fImp.o h5gImp.o h5iImp.o h5lImp.o h5oImp.o h5pImp.o h5rImp.o h5sImp.o h5tImp.o nativeData.o h5util.o h5zImp.o
+@@ -47,7 +47,7 @@
+ libjhdf5: $(OBJECTS)
+       -mkdir -p $(LIBDIR);
+-      $(LD) $(LDOPT) -o $(LIBDIR)/libjhdf5.$(JSLEXT) $(LDOPT2) $(OBJECTS) $(LIBS)
++      $(LD) $(LDOPT) $(LDFLAGS) -o $(LIBDIR)/libjhdf5.$(JSLEXT) $(LDOPT2) $(OBJECTS) $(LIBS)
+ clean:
+       $(RM) -f *.o so_locations $(LIBDIR)/libjhdf5.$(JSLEXT)
+--- a/native/hdflib/Makefile.in
++++ b/native/hdflib/Makefile.in
+@@ -41,7 +41,7 @@
+ CFLAGS = $(DEFS) -I. -I$(JAVAINC1) -I$(JAVAINC2) -I$(HDFINC)
+ # Be sure to add -lbsd if compiling in a SYSV environment
+-LIBS =  $(HDFLIB)/libmfhdf.$(LLEXT) $(HDFLIB)/libdf.$(LLEXT) $(SZLIB) $(ZLIB) $(JPEGLIB) -lm
++LIBS =  -L$(HDFLIB) -lmfhdf -ldf $(SZLIB) $(ZLIB) $(JPEGLIB) -lm
+ # Macro def: object filename used
+ OBJECTS =  hdfstructsutil.o \
+@@ -60,7 +60,7 @@
+ libjhdf: $(OBJECTS) 
+       -mkdir -p $(LIBDIR);
+-      $(LD) $(LDOPT) -o $(LIBDIR)/libjhdf.$(JSLEXT) $(LDOPT2) $(OBJECTS) $(LIBS)
++      $(LD) $(LDOPT) $(LDFLAGS) -o $(LIBDIR)/libjhdf.$(JSLEXT) $(LDOPT2) $(OBJECTS) $(LIBS)
+ clean:
+       $(RM) -f *.o so_locations $(LIBDIR)/libjhdf.$(JSLEXT)
diff --git a/dev-java/hdf-java/hdf-java-2.7.ebuild b/dev-java/hdf-java/hdf-java-2.7.ebuild
new file mode 100644 (file)
index 0000000..b88c97d
--- /dev/null
@@ -0,0 +1,108 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=2
+JAVA_PKG_IUSE="doc examples"
+inherit eutils java-pkg-2 autotools
+
+DESCRIPTION="Java interface to the HDF5 library"
+HOMEPAGE="http://www.hdfgroup.org/hdf-java-html/index.html"
+SRC_URI="http://www.hdfgroup.org/ftp/HDF5/hdf-java/src/${P}-src.tar"
+
+LICENSE="NCSA-HDF"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="hdf szip zlib test hdfview"
+
+CDEPEND=">=sci-libs/hdf5-1.8[szip?,zlib?]
+       dev-java/fits
+       >=dev-java/junit-4
+       dev-java/netcdf
+       hdf? (
+               sci-libs/hdf
+               virtual/jpeg
+       )"
+
+RDEPEND="${CDEPEND}
+       >=virtual/jre-1.5"
+
+DEPEND=">=virtual/jdk-1.5
+       ${CDEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+       epatch "${FILESDIR}/${PV}-shared.patch"
+       eautoreconf
+       rm lib/*.jar
+       java-pkg_jar-from --into lib fits fits.jar
+       java-pkg_jar-from --into lib netcdf netcdf.jar
+       java-pkg_jar-from --into lib junit-4 junit.jar
+       if use hdfview; then
+               cp "${FILESDIR}/${PV}-hdfview.sh" bin/hdfview
+       fi
+}
+
+src_configure() {
+       local stdpath="/usr/include,/usr/$(get_libdir)"
+       local myconf="--with-hdf4=no --with-libjpeg=no"
+       use hdf && \
+               myconf="--with-libjpeg=${stdpath} --with-hdf4=${stdpath}"
+       use zlib &&     myconf="${myconf} --with-libz="${stdpath}""
+       use szip && myconf="${myconf} --with-libsz="${stdpath}""
+
+       econf \
+               ${myconf} \
+               --with-hdf5="${stdpath}" \
+               --with-jdk="$(java-config -o)/include,$(java-config -o)/jre/lib"
+}
+
+src_compile() {
+       # parallel needs work. anyone?
+       emake -j1 just-hdf5 || die
+
+       if use hdf; then
+               sed -i "s/MAX_VAR_DIMS/H4_MAX_VAR_DIMS/" \
+               native/hdflib/hdfstructsutil.c || die
+               sed -i "s/MAX_NC_NAME/H4_MAX_NC_NAME/" \
+               native/hdflib/hdfvdataImp.c || die
+               sed -i "s/MAX_NC_NAME/H4_MAX_NC_NAME/" \
+               native/hdflib/hdfsdsImp.c || die
+               emake -j1 just-hdf4|| die
+       fi
+
+       if use examples; then
+               emake -j1 do-examples || die
+       fi
+
+       if use doc; then
+               emake -j1 javadocs || die
+       fi
+
+       if use hdfview; then
+               #emake -j1 ncsa.hdf.view || die
+               emake -j1 || die
+       fi
+}
+
+src_install() {
+       java-pkg_dojar "lib/jhdf5.jar"
+       java-pkg_doso "lib/linux/libjhdf5.so"
+
+       if      use hdf; then
+               java-pkg_dojar "lib/jhdf.jar"
+               java-pkg_doso "lib/linux/libjhdf.so"
+       fi
+       use doc && java-pkg_dojavadoc "docs/javadocs"
+       use examples && java-pkg_doexamples "examples"
+       if use hdfview; then
+               dobin bin/hdfview
+               java-pkg_dojar lib/jhdf5.jar
+               java-pkg_dojar lib/jhdf5obj.jar
+               java-pkg_dojar lib/jhdfobj.jar
+               java-pkg_dojar lib/jhdfview.jar
+               java-pkg_dojar lib/ext/fitsobj.jar
+               java-pkg_dojar lib/ext/nc2obj.jar
+       fi
+}
diff --git a/dev-java/hdf-java/metadata.xml b/dev-java/hdf-java/metadata.xml
new file mode 100644 (file)
index 0000000..3792527
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+  HDF is a versatile data model that can represent very complex data
+  objects and a wide variety of metadata. It is a completely portable
+  file format with no limit on the number or size of data objects in
+  the collection.
+ 1;2202;0c This Java package implements HDF4/HDF5 data objects in an object-oriented
+  form. It provides a common Java API for accessing HDF files.
+</longdescription>
+<use>
+  <flag name='hdf'>Add support for the Hierarchical Data Format v.4
+    (<pkg>sci-libs/hdf</pkg>)</flag>
+</use>
+</pkgmetadata>