diff --git a/science/hdf/Makefile b/science/hdf/Makefile new file mode 100644 index 000000000000..80917e1efef6 --- /dev/null +++ b/science/hdf/Makefile @@ -0,0 +1,50 @@ +# Created by: mi +# $FreeBSD$ + +PORTNAME= hdf +PORTVERSION= 4.2.11 +PORTEPOCH= 1 +CATEGORIES= science archivers graphics +MASTER_SITES= http://www.hdfgroup.org/ftp/HDF/releases/HDF${PORTVERSION}/src/ \ + ftp://ftp.hdfgroup.org/HDF/releases/HDF${PORTVERSION}/src/ + +MAINTAINER= ports@FreeBSD.org +COMMENT= Hierarchical Data Format library (from NCSA) + +BROKEN_powerpc64= Does not build + +LIB_DEPENDS= libsz.so:science/szip + +CONFLICTS_INSTALL= netcdf-4.[0-9]* + +USES= fortran jpeg libtool tar:bzip2 +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --enable-shared --with-jpeg=${LOCALBASE} \ + --with-szlib=${LOCALBASE} +USE_LDCONFIG= yes +INSTALL_TARGET= install-strip + +PORTDATA= * +PORTEXAMPLES= * + +OPTIONS_DEFINE= EXAMPLES + +post-patch: + @${REINPLACE_CMD} -e '/PROD_/ s|=.*|=""|' ${WRKSRC}/config/freebsd +# Allow to build on PowerPC + @${REINPLACE_CMD} -e '/if defined (__APPLE__)/ \ + s,),) || defined(__powerpc__),' ${WRKSRC}/hdf/src/hdfi.h + @${REINPLACE_CMD} -e 's/ || (__APPLE__.*//' \ + ${WRKSRC}/hdf/test/fortest.c + +post-install: + ${INSTALL_MAN} ${WRKSRC}/man/hdfunpac.1 \ + ${STAGEDIR}${MAN1PREFIX}/man/man1 + ${INSTALL_MAN} ${WRKSRC}/man/gr_chunk.3 \ + ${STAGEDIR}${MAN3PREFIX}/man/man3 + +regression-test: build + @${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} \ + ${MAKE_ARGS} check -C ${WRKSRC}/hdf/test + +.include diff --git a/science/hdf/distinfo b/science/hdf/distinfo new file mode 100644 index 000000000000..de47ed8f66f0 --- /dev/null +++ b/science/hdf/distinfo @@ -0,0 +1,2 @@ +SHA256 (hdf-4.2.11.tar.bz2) = bb0e900b8cc6bc89a5730abc97e654e7705e8e1fbc4e0d4477f417822428d99b +SIZE (hdf-4.2.11.tar.bz2) = 3173535 diff --git a/science/hdf/dragonfly/patch-configure b/science/hdf/dragonfly/patch-configure new file mode 100644 index 000000000000..b394cfed507f --- /dev/null +++ b/science/hdf/dragonfly/patch-configure @@ -0,0 +1,18 @@ +--- configure.intermediate 2016-08-18 14:16:30 UTC ++++ configure +@@ -3533,6 +3533,7 @@ case "$host_os" in + darwin10.*) host_os_novers="darwin10.x" ;; + darwin11.*) host_os_novers="darwin11.x" ;; + darwin12.*) host_os_novers="darwin12.x" ;; ++ dragonfly*) host_os_novers="dragonfly" ;; + freebsd*) host_os_novers="freebsd" ;; + solaris2.*) host_os_novers="solaris2.x" ;; + *) host_os_novers="$host_os" ;; +@@ -23576,6 +23577,7 @@ done + ## of being copied depending upon the host. + case "$host" in + *-linux*) BAR="linux" ;; ++ *-dragonfly*) BAR="fbsd" ;; + *-freebsd*) BAR="fbsd" ;; + *-ibm-aix*) BAR="aix" ;; + sparc64-*-solaris2*) BAR="solaris64" ;; diff --git a/science/hdf/dragonfly/patch-hdf_src_hdfi.h b/science/hdf/dragonfly/patch-hdf_src_hdfi.h new file mode 100644 index 000000000000..adf0c086386c --- /dev/null +++ b/science/hdf/dragonfly/patch-hdf_src_hdfi.h @@ -0,0 +1,11 @@ +--- hdf/src/hdfi.h.orig 2016-08-18 14:16:30.000000000 +0300 ++++ hdf/src/hdfi.h +@@ -1016,7 +1016,7 @@ typedef long hdf_pint_t; + /*-----------------------------------------------------*/ + /* 64-bit Free BSD */ + +-#if defined __FreeBSD__ && defined __x86_64__ ++#if (defined __FreeBSD__ || defined __DragonFly__) && defined __x86_64__ + + #ifdef GOT_MACHINE + If you get an error on this line more than one machine type has been defined. diff --git a/science/hdf/files/patch-configure b/science/hdf/files/patch-configure new file mode 100644 index 000000000000..7d5bc5edeff9 --- /dev/null +++ b/science/hdf/files/patch-configure @@ -0,0 +1,19 @@ +--- configure.orig 2012-08-07 13:11:45.000000000 +0900 ++++ configure 2012-08-14 21:08:48.000000000 +0900 +@@ -5837,11 +5837,11 @@ + enable_shared="no" + fi + +-if test "X${enable_shared}" = "Xyes"; then +- if test "X${BUILD_FORTRAN}" = "Xyes"; then +- as_fn_error $? "Cannot build shared fortran libraries. Please configure with --disable-fortran flag." "$LINENO" 5 +- fi +-fi ++#if test "X${enable_shared}" = "Xyes"; then ++# if test "X${BUILD_FORTRAN}" = "Xyes"; then ++# as_fn_error $? "Cannot build shared fortran libraries. Please configure with --disable-fortran flag." "$LINENO" 5 ++# fi ++#fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 diff --git a/science/hdf/files/patch-hdf-examples-Makefile.in b/science/hdf/files/patch-hdf-examples-Makefile.in new file mode 100644 index 000000000000..85f4a1451715 --- /dev/null +++ b/science/hdf/files/patch-hdf-examples-Makefile.in @@ -0,0 +1,13 @@ +--- hdf/examples/Makefile.in.orig 2015-02-10 00:43:49.000000000 +0800 ++++ hdf/examples/Makefile.in 2015-03-16 23:05:52.348877136 +0800 +@@ -530,8 +530,8 @@ + INSTALL_TOP_FILES = README + + # Where to install example files +-EXAMPLEDIR = $(prefix)/examples/c +-EXAMPLETOPDIR = $(prefix)/examples ++EXAMPLEDIR = $(DESTDIR)$(prefix)/share/examples/hdf/c ++EXAMPLETOPDIR = $(DESTDIR)$(prefix)/share/examples/hdf + DISTCLEANFILES = *.chkexe *.chklog + @BUILD_SHARED_SZIP_CONDITIONAL_TRUE@LD_LIBRARY_PATH = $(LL_PATH) + diff --git a/science/hdf/files/patch-hdf-fortran-examples-Makefile.in b/science/hdf/files/patch-hdf-fortran-examples-Makefile.in new file mode 100644 index 000000000000..5a3e51d42b56 --- /dev/null +++ b/science/hdf/files/patch-hdf-fortran-examples-Makefile.in @@ -0,0 +1,11 @@ +--- hdf/fortran/examples/Makefile.in.orig 2015-02-10 00:43:49.000000000 +0800 ++++ hdf/fortran/examples/Makefile.in 2015-03-16 23:41:52.776730245 +0800 +@@ -525,7 +525,7 @@ + INSTALL_SCRIPT_FILES = run-fortran-ex.sh + + # Where to install Fortran example files +-EXAMPLEDIR = $(prefix)/examples/fortran ++EXAMPLEDIR = $(DESTDIR)$(prefix)/share/hdf/examples/fortran + DISTCLEANFILES = *.chkexe *.chklog + @BUILD_SHARED_SZIP_CONDITIONAL_TRUE@LD_LIBRARY_PATH = $(LL_PATH) + diff --git a/science/hdf/files/patch-hdf-src-Makefile.in b/science/hdf/files/patch-hdf-src-Makefile.in new file mode 100644 index 000000000000..64cd97670426 --- /dev/null +++ b/science/hdf/files/patch-hdf-src-Makefile.in @@ -0,0 +1,20 @@ +--- hdf/src/Makefile.in.orig 2015-02-10 00:43:49.000000000 +0800 ++++ hdf/src/Makefile.in 2015-03-16 23:48:46.316696873 +0800 +@@ -296,7 +296,7 @@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ + INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LD = @LD@ +-LDFLAGS = @LDFLAGS@ ++LDFLAGS = @LDFLAGS@ -version-number 2 + LEX = @LEX@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ +@@ -408,8 +408,6 @@ + LIBMFHDF = $(top_builddir)/mfhdf/libsrc/libmfhdf.la + H4CC = ${DESTDIR}$(bindir)/h4cc + H4FC = ${DESTDIR}$(bindir)/h4fc +-@HDF_BUILD_XDR_TRUE@XDR_ADD = -R$(abs_top_builddir)/mfhdf/xdr/.libs +-@HDF_BUILD_SHARED_TRUE@AM_LDFLAGS = -R$(abs_top_builddir)/mfhdf/libsrc/.libs -R$(abs_top_builddir)/hdf/src/.libs $(XDR_ADD) + ACLOCAL_AMFLAGS = "-I m4" + + # .chkexe files are used to mark tests that have run successfully. diff --git a/science/hdf/files/patch-mfhdf-examples-Makefile.in b/science/hdf/files/patch-mfhdf-examples-Makefile.in new file mode 100644 index 000000000000..8fb080a5c523 --- /dev/null +++ b/science/hdf/files/patch-mfhdf-examples-Makefile.in @@ -0,0 +1,11 @@ +--- mfhdf/examples/Makefile.in.orig 2015-02-10 00:43:50.000000000 +0800 ++++ mfhdf/examples/Makefile.in 2015-03-16 23:43:17.287721940 +0800 +@@ -507,7 +507,7 @@ + SD_get_info.c SD_find_sds_by_name.c SD_set_get_dim_info.c \ + SD_dimscale_vs_sds.c SD_set_attr.c SD_get_attr.c SD_chunking_example.c + +-EXAMPLEDIR = $(prefix)/examples/c ++EXAMPLEDIR = $(DESTDIR)$(prefix)/share/examples/hdf/c + DISTCLEANFILES = *.chklog *.chkexe .deps + @BUILD_SHARED_SZIP_CONDITIONAL_TRUE@LD_LIBRARY_PATH = $(LL_PATH) + diff --git a/science/hdf/files/patch-mfhdf-fortran-examples-Makefile.in b/science/hdf/files/patch-mfhdf-fortran-examples-Makefile.in new file mode 100644 index 000000000000..8687c46b5547 --- /dev/null +++ b/science/hdf/files/patch-mfhdf-fortran-examples-Makefile.in @@ -0,0 +1,11 @@ +--- mfhdf/fortran/examples/Makefile.in.orig 2015-02-10 00:43:50.000000000 +0800 ++++ mfhdf/fortran/examples/Makefile.in 2015-03-16 23:44:30.846716566 +0800 +@@ -511,7 +511,7 @@ + + + # Where to install example files +-EXAMPLEDIR = $(prefix)/examples/fortran ++EXAMPLEDIR = $(DESTDIR)$(prefix)/share/examples/hdf/fortran + DISTCLEANFILES = *.chkexe *.chklog + @BUILD_SHARED_SZIP_CONDITIONAL_TRUE@LD_LIBRARY_PATH = $(LL_PATH) + diff --git a/science/hdf/files/patch-mfhdf-libsrc-Makefile.in b/science/hdf/files/patch-mfhdf-libsrc-Makefile.in new file mode 100644 index 000000000000..e9ca8914a248 --- /dev/null +++ b/science/hdf/files/patch-mfhdf-libsrc-Makefile.in @@ -0,0 +1,20 @@ +--- mfhdf/libsrc/Makefile.in.orig 2015-02-10 00:43:51.000000000 +0800 ++++ mfhdf/libsrc/Makefile.in 2015-03-16 23:48:46.325704247 +0800 +@@ -272,7 +272,7 @@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ + INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LD = @LD@ +-LDFLAGS = @LDFLAGS@ ++LDFLAGS = @LDFLAGS@ -version-number 3 + LEX = @LEX@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ +@@ -384,8 +384,6 @@ + LIBMFHDF = $(top_builddir)/mfhdf/libsrc/libmfhdf.la + H4CC = ${DESTDIR}$(bindir)/h4cc + H4FC = ${DESTDIR}$(bindir)/h4fc +-@HDF_BUILD_XDR_TRUE@XDR_ADD = -R$(abs_top_builddir)/mfhdf/xdr/.libs +-@HDF_BUILD_SHARED_TRUE@AM_LDFLAGS = -R$(abs_top_builddir)/mfhdf/libsrc/.libs -R$(abs_top_builddir)/hdf/src/.libs $(XDR_ADD) + ACLOCAL_AMFLAGS = "-I m4" + + # .chkexe files are used to mark tests that have run successfully. diff --git a/science/hdf/pkg-descr b/science/hdf/pkg-descr new file mode 100644 index 000000000000..c49f6bb60ae5 --- /dev/null +++ b/science/hdf/pkg-descr @@ -0,0 +1,19 @@ +HDF4 (originally known as HDF) is file format for storing scientific data +and a software library that provides high-level APIs and a low-level data +access interface. + +HDF technologies at present include two data management formats (HDF4 and +HDF5) and libraries, a modular data browser/editor, associated tools and +utilities, and a conversion library. Both HDF4 and HDF5 were designed to +be a general scientific format, adaptable to virtually any scientific or +engineering application, and also have been used successfully in non- +technical areas. The Open Source format is a key technological foundation +for HDF core technologies. It allows users to collaborate with The HDF +Group regarding functionality requirements and permits users' experience +and knowledge to be incorporated into the HDF product when appropriate. + +It also permits users and organizations without adequate technology +resources to use a sophisticated and robust data management tool for no +charge. + +WWW: http://www.hdfgroup.org/products/hdf4/ diff --git a/science/hdf/pkg-plist b/science/hdf/pkg-plist new file mode 100644 index 000000000000..9c3d6a6b5f04 --- /dev/null +++ b/science/hdf/pkg-plist @@ -0,0 +1,97 @@ +bin/gif2hdf +bin/h4cc +bin/h4fc +bin/h4redeploy +bin/hdf24to8 +bin/hdf2gif +bin/hdf2jpeg +bin/hdf8to24 +bin/hdfcomp +bin/hdfed +bin/hdfimport +bin/hdfls +bin/hdfpack +bin/hdftopal +bin/hdftor8 +bin/hdfunpac +bin/hdiff +bin/hdp +bin/hrepack +bin/jpeg2hdf +bin/ncdump +bin/ncgen +bin/paltohdf +bin/r8tohdf +bin/ristosds +bin/vmake +bin/vshow +include/H4api_adpt.h +include/atom.h +include/bitvect.h +include/cdeflate.h +include/cnbit.h +include/cnone.h +include/crle.h +include/cskphuff.h +include/cszip.h +include/df.h +include/dfan.h +include/dffunc.f90 +include/dffunc.inc +include/dfgr.h +include/dfi.h +include/dfrig.h +include/dfsd.h +include/dfstubs.h +include/dfufp2i.h +include/dynarray.h +include/h4config.h +include/hbitio.h +include/hchunks.h +include/hcomp.h +include/hcompi.h +include/hconv.h +include/hdatainfo.h +include/hdf.f90 +include/hdf.h +include/hdf.inc +include/hdf2netcdf.h +include/hdfi.h +include/herr.h +include/hfile.h +include/hkit.h +include/hlimits.h +include/hntdefs.h +include/hproto.h +include/hproto_fortran.h +include/htags.h +include/linklist.h +include/local_nc.h +include/mfan.h +include/mfdatainfo.h +include/mffunc.f90 +include/mffunc.inc +include/mfgr.h +include/mfhdf.h +include/mfhdfi.h +include/mstdio.h +include/netcdf.f90 +include/netcdf.h +include/netcdf.inc +include/tbbt.h +include/vattr.h +include/vg.h +lib/libdf.a +lib/libdf.so +lib/libdf.so.2 +lib/libdf.so.2.0.0 +lib/libhdf4.settings +lib/libmfhdf.a +lib/libmfhdf.so +lib/libmfhdf.so.3 +lib/libmfhdf.so.3.0.0 +man/man1/hdf.1.gz +man/man1/hdfunpac.1.gz +man/man1/ncdump.1.gz +man/man1/ncgen.1.gz +man/man3/gr_chunk.3.gz