From 33001f6d88c663c00b1f550353ed7a63fb3615eb Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Mon, 10 Oct 2011 13:25:00 -0400 Subject: [PATCH] Add hdfview USE flag to science overlay's dev-java/hdf-java ebuild. --- dev-java/hdf-java/ChangeLog | 34 +++++++ dev-java/hdf-java/Manifest | 6 ++ dev-java/hdf-java/files/2.7-hdfview.sh | 7 ++ dev-java/hdf-java/files/2.7-shared.patch | 112 +++++++++++++++++++++++ dev-java/hdf-java/hdf-java-2.7.ebuild | 108 ++++++++++++++++++++++ dev-java/hdf-java/metadata.xml | 17 ++++ 6 files changed, 284 insertions(+) create mode 100644 dev-java/hdf-java/ChangeLog create mode 100644 dev-java/hdf-java/Manifest create mode 100755 dev-java/hdf-java/files/2.7-hdfview.sh create mode 100644 dev-java/hdf-java/files/2.7-shared.patch create mode 100644 dev-java/hdf-java/hdf-java-2.7.ebuild create mode 100644 dev-java/hdf-java/metadata.xml diff --git a/dev-java/hdf-java/ChangeLog b/dev-java/hdf-java/ChangeLog new file mode 100644 index 0000000..9ac0978 --- /dev/null +++ b/dev-java/hdf-java/ChangeLog @@ -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 -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 + + 14 Mar 2011; Justin Lecher 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 -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 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 hdf-java-2.6.ebuild: + Added mpi support + +*hdf-java-2.6 (22 Jan 2010) + + 22 Jan 2010; Sébastien Fabbro +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 index 0000000..6000bcc --- /dev/null +++ b/dev-java/hdf-java/Manifest @@ -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 index 0000000..8f72174 --- /dev/null +++ b/dev-java/hdf-java/files/2.7-hdfview.sh @@ -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 index 0000000..3b863a2 --- /dev/null +++ b/dev-java/hdf-java/files/2.7-shared.patch @@ -0,0 +1,112 @@ +Respect LDFLAGS, properly use shared libraries + +http://bugs.gentoo.org/show_bug.cgi?id=301049 + +Patch written by Guillaume Horel +--- 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 index 0000000..b88c97d --- /dev/null +++ b/dev-java/hdf-java/hdf-java-2.7.ebuild @@ -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 index 0000000..3792527 --- /dev/null +++ b/dev-java/hdf-java/metadata.xml @@ -0,0 +1,17 @@ + + + +sci + + 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. + + + Add support for the Hierarchical Data Format v.4 + (sci-libs/hdf) + + -- 2.26.2