diff options
80 files changed, 2195 insertions, 255 deletions
diff --git a/graphics/hdf/Makefile b/graphics/hdf/Makefile index 7d13c145f3b3..bd569b4a26e7 100644 --- a/graphics/hdf/Makefile +++ b/graphics/hdf/Makefile @@ -6,63 +6,32 @@ # $FreeBSD$ # -DISTNAME= HDF4.1r2 -PKGNAME= hdf-4.1r2 +DISTNAME= HDF4.1r3 +PKGNAME= hdf-4.1r3 CATEGORIES= graphics -MASTER_SITES= ftp://ftp.ncsa.uiuc.edu/HDF/HDF4.1r2/tar/ +MASTER_SITES= ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF4.1r3/tar/ MAINTAINER= mi@aldan.algebra.com LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg MAN1= hdf.1 hdfunpac.1 ncdump.1 ncgen.1 +MAN3= gr_chunk.3 +MANCOMPRESSED= maybe -GNU_CONFIGURE= yes -FC?= f77 # Can also be g77 for the newer one -MAKE_FLAGS= CC="$(CC)" FC="${FC}" -f -MAKE_ENV= pwrkdir=${WRKDIR} -#"wrkdir" doesn't work for some reason in the above +MAKE_ARGS= PREFIX="${PREFIX}" -j 2 -# This will create dummy Makefiles and some links in the jpeg and libz -# subdirectories. This way, we do not need to hunt all the dependencies -# out. Shame on the lib's developers, though, this can not be done through -# `configure'. -mi -pre-build: - ${AR} -r ${WRKDIR}/libz.a /dev/null - ${RANLIB} ${WRKDIR}/libz.a - test -d ${WRKSRC}/hdf/jpeg.came-with-HDF || \ - ${MV} -f ${WRKSRC}/hdf/jpeg ${WRKSRC}/hdf/jpeg.came-with-HDF - -${MKDIR} ${WRKSRC}/hdf/jpeg - ${RM} -f ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} #Phony makefile > ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} >> ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} libjpeg.a: >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\t@${ECHO} Using the already installed JPEG library\n' \ - >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\nclean:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\ninstall-lib:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\ninstall:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - -${LN} -s ${PREFIX}/lib/libjpeg* ${WRKSRC}/hdf/jpeg/ - -${LN} -s ${PREFIX}/include/j*.h ${WRKSRC}/hdf/jpeg/ - test -d ${WRKSRC}/hdf/zlib.came-with-HDF || \ - ${MV} -f ${WRKSRC}/hdf/zlib ${WRKSRC}/hdf/zlib.came-with-HDF - -${MKDIR} ${WRKSRC}/hdf/zlib - ${RM} -f ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} #Phony makefile > ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} >> ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} libzlib.a: >> ${WRKSRC}/hdf/zlib/Makefile - printf '\t@${ECHO} Using the already installed ZLIB library\n' \ - >> ${WRKSRC}/hdf/zlib/Makefile - printf '\nclean:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - printf '\ninstall-lib:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - printf '\ninstall:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - -${LN} -s /usr/lib/${BINFORMAT}/libz* ${WRKSRC}/hdf/zlib/ - -${LN} -s /usr/include/zconf.h /usr/include/zlib.h ${WRKSRC}/hdf/zlib/ +post-patch: + ${RM} -rf ${WRKSRC}/hdf/jpeg + ${RM} -rf ${WRKSRC}/hdf/zlib -post-install: - @for binary in `${GREP} ^bin/ ${PLIST}` ; do strip ${PREFIX}/$$binary; done +do-configure: + ${CP} -rp ${FILESDIR}/Makefile ${FILESDIR}/hdf \ + ${FILESDIR}/mfhdf ${FILESDIR}/man ${WRKSRC} + ${LN} -s config/netcdf-fbsd.h ${WRKSRC}/mfhdf/libsrc/netcdf.h + ${LN} -s netcdf-fbsd.inc ${WRKSRC}/mfhdf/fortran/config/netcdf.inc -test: - cd ${WRKSRC}; make ${MAKE_FLAGS} ${MAKEFILE} test +test: build + cd ${WRKSRC}; ${MAKE} test .include <bsd.port.mk> diff --git a/graphics/hdf/distinfo b/graphics/hdf/distinfo index da49d2737e3e..6e22d24afd1e 100644 --- a/graphics/hdf/distinfo +++ b/graphics/hdf/distinfo @@ -1 +1 @@ -MD5 (HDF4.1r2.tar.gz) = 52814865529791e3a39637fd851a7143 +MD5 (HDF4.1r3.tar.gz) = 975f84ad8c5910841995c9d339fbd8bb diff --git a/graphics/hdf/files/Makefile b/graphics/hdf/files/Makefile new file mode 100644 index 000000000000..0dc23c19cf80 --- /dev/null +++ b/graphics/hdf/files/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +SUBDIR = hdf mfhdf man +#PREFIX ?= /usr/local +LIBDIR ?= ${PREFIX}/lib +BINDIR ?= ${PREFIX}/bin + +.MAKEFLAGS: PREFIX=${PREFIX} LIBDIR=${LIBDIR} BINDIR=${BINDIR} + +test: all + # testing in hdf + @cd hdf && ${MAKE} hdf-test + # testing in mfhdf + @cd mfhdf && ${MAKE} test + +.include <bsd.subdir.mk> diff --git a/graphics/hdf/files/hdf/Makefile b/graphics/hdf/files/hdf/Makefile new file mode 100644 index 000000000000..1f9663c03246 --- /dev/null +++ b/graphics/hdf/files/hdf/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +SUBDIR = src util test + +hdf-test: all + cd util && ${MAKE} test + cd test && ${MAKE} test + +.include <bsd.subdir.mk> diff --git a/graphics/hdf/files/hdf/src/Makefile b/graphics/hdf/files/hdf/src/Makefile new file mode 100644 index 000000000000..5dde282ec816 --- /dev/null +++ b/graphics/hdf/files/hdf/src/Makefile @@ -0,0 +1,54 @@ +# $FreeBSD$ + +LIB=df + +# uncomment the line below to avoid building static libraries +#INTERNALLIB=YES +LIBDIR=${PREFIX}/lib + +SHLIB_MAJOR=1 +SHLIB_MINOR=0 + +SRCS=atom.c bitvect.c cdeflate.c cnbit.c cnone.c crle.c cskphuff.c \ + df24.c df24f.c dfan.c dfanf.c dfcomp.c dfconv.c dff.c dfgr.c \ + dfgroup.c dfimcomp.c dfjpeg.c dfkconv.c dfkcray.c dfkfuji.c \ + dfknat.c dfkswap.c dfkvms.c dfp.c dfpf.c dfr8.c dfr8f.c dfrle.c \ + dfsd.c dfsdf.c dfstubs.c dfufp2i.c dfunjpeg.c dfutil.c dfutilf.c \ + dir_mac.c dynarray.c glist.c hbitio.c hblocks.c hbuffer.c \ + hchunks.c hcomp.c hcompri.c hdfalloc.c herr.c herrf.c hextelt.c \ + hfile.c hfiledd.c hfilef.c hkit.c linklist.c mcache.c \ + mfan.c mfanf.c mfgr.c mfgrf.c mstdio.c tbbt.c vattr.c vattrf.c \ + vconv.c vg.c vgf.c vgp.c vhi.c vio.c vparse.c vrw.c vsfld.c \ + df24ff.f dfanff.f dfff.f dfpff.f dfr8ff.f dfsdff.f dfufp2if.f \ + hfileff.f mfgrff.f vattrff.f vgff.f + +CFLAGS += -I${PREFIX}/include +FFLAGS += ${CFLAGS} + +.if !defined(OSVERSION) +.if exists(/sbin/sysctl) +OSVERSION!= /sbin/sysctl -n kern.osreldate +.else +OSVERSION!= /usr/sbin/sysctl -n kern.osreldate +.endif +.endif + +.if ${OSVERSION} >= 400004 +LDADD += -L${PREFIX}/lib -ljpeg -lg2c -lz -lm +.else +LDADD += -L${PREFIX}/lib -ljpeg -lf2c -lz +.endif + +afterinstall: + install -c -o root -g wheel -m 444 \ + atom.h bitvect.h cdeflate.h cnbit.h cnone.h crle.h \ + cskphuff.h df.h dfan.h dfconvrt.h dfgr.h dfi.h dfivms.h \ + dfrig.h dfsd.h dfstubs.h dfufp2i.h dir_mac.h dynarray.h \ + glist.h hbitio.h hchunks.h hcomp.h hcompi.h hconv.h \ + hdf.h hdfi.h herr.h hfile.h hkit.h hlimits.h hntdefs.h \ + hproto.h hqueue.h htags.h linklist.h maldebug.h mcache.h \ + mfan.h mfgr.h mstdio.h patchlevel.h sys_dir_mac.h tbbt.h \ + trace.h vattr.h vg.h vgint.h hdf.inc dffunc.inc \ + ${PREFIX}/include + +.include <bsd.lib.mk> diff --git a/graphics/hdf/files/hdf/test/Makefile b/graphics/hdf/files/hdf/test/Makefile new file mode 100644 index 000000000000..3a3c8ca98524 --- /dev/null +++ b/graphics/hdf/files/hdf/test/Makefile @@ -0,0 +1,68 @@ +# $FreeBSD$ + +CSRCS= rig.c sdstr.c blocks.c an.c anfile.c extelt.c file.c file1.c vers.c \ + sdmms.c sdnmms.c slab.c litend.c tvset.c comp.c bitio.c tree.c macros.c \ + conv.c nbit.c man.c mgr.c testhdf.c tbv.c tvsfpack.c chunks.c tvattr.c \ + buffer.c + +COBJS= ${CSRCS:S/.c/.o/g} + +FSRCS= fortest.c fortestF.f forsupff.f forsupf.c \ + manf.f mgrf.f slabwf.f t24f.f tanf.f tanfilef.f tpf.f tr8f.f \ + tsdmmsf.f tsdnmmsf.f tsdnntf.f tsdntf.f tsdstrf.f tstubsf.f \ + tvsetf.f, tvattrf.f + +FOBJS = fortestF.o forsupff.o forsupf.o \ + manf.o mgrf.o slabwf.o t24f.o tanf.o tanfilef.o tpf.o tr8f.o \ + tsdmmsf.o tsdnmmsf.o tsdnntf.o tsdntf.o tsdstrf.o tstubsf.o \ + tvsetf.o tvattrf.o + +#CFORSUPSRCS = forsupf.c + +HDFLIB = ${.CURDIR}/../src +CFLAGS += -I${HDFLIB} +FFLAGS += ${CFLAGS} -Nn802 -Nx400 + +FTESTS = fortest fortestF + +all: testhdf $(FTESTS) gentest + +#CFORSUPOBJS = forsupf.o + +TESTF = fortest.o + +# directory used by extelt test. +TESTDIR = testdir + +$(FOBJS): fortest.inc + +test: atest-hdf + +atest-hdf: testhdf $(FTESTS) + -rm -f *.hdf + env LD_LIBRARY_PATH=${.CURDIR}/../src ./testhdf + -rm -f *.hdf + env LD_LIBRARY_PATH=${.CURDIR}/../src ./fortest + +testhdf: $(COBJS) $(HDFLIB)/libdf.so + $(CC) -o testhdf $(COBJS) $(HDFLIB)/libdf.so -lm + test -d $(TESTDIR) || mkdir $(TESTDIR) + +fortestF: $(FOBJS) $(HDFLIB)/libdf.so + $(FC) $(FFLAGS) -o $@ $(FOBJS) $(HDFLIB)/libdf.so -lm + +fortest: $(HDFLIB)/libdf.so fortest.c $(CHDRS) + $(CC) $(CFLAGS) -o fortest fortest.c $(HDFLIB)/libdf.so -lm + +gentest: gentest.c $(HDFLIB)/libdf.so + $(CC) $(CFLAGS) gentest.c -o gentest $(HDFLIB)/libdf.so -lm + +clean: + -rm -f $(COBJS) testhdf $(FOBJS) $(FTESTS) \ + core *.hdf ptesthdf qtesthdf gentest *.o fortest.arg $(TESTDIR)/* \ + .depend + +depend: + mkdep ${CFLAGS} ${CSRCS} + +install: diff --git a/graphics/hdf/files/hdf/util/Makefile b/graphics/hdf/files/hdf/util/Makefile new file mode 100644 index 000000000000..6d4ccae200d4 --- /dev/null +++ b/graphics/hdf/files/hdf/util/Makefile @@ -0,0 +1,30 @@ +# $FreeBSD$ + +UTILS = hdf24to8 hdfcomp hdfls hdfpack hdftopal hdftor8 paltohdf \ + r8tohdf ristosds vmake vshow hdf8to24 hdf2jpeg jpeg2hdf fp2hdf \ + hdfunpac vcompat + +all: ${UTILS} hdfed + +HEOBJ = he_main.o he_cntrl.o he_disp.o he_file.o + +#CFLAGS += -I${PREFIX}/include -I${.CURDIR}/../src/ +CFLAGS += -I${.CURDIR}/../src/ +#LDFLAGS += -L${PREFIX}/lib -ljpeg -L${.CURDIR}/../src/ -ldf -lz +LDFLAGS += -L${.CURDIR}/../src/ -ldf + +hdfed: he.h he_proto.h $(HEOBJ) + $(CC) $(HEOBJ) $(LDFLAGS) -o hdfed + +test: all fptest + env LD_LIBRARY_PATH=${.CURDIR}/../src ./testutil.sh + +clean: + -rm -f *.o $(UTILS) hdfed fptest + -rm -f o* ctx* cb* fptestf .depend + +depend: + mkdep ${CFLAGS} ${UTILS:S/$/.c/g} ${HEOBJ:S/.o/.c/g} + +install: all + install -c -s -o root -g wheel -m 555 ${UTILS} hdfed ${BINDIR} diff --git a/graphics/hdf/files/man/Makefile b/graphics/hdf/files/man/Makefile new file mode 100644 index 000000000000..eeea6c1997f7 --- /dev/null +++ b/graphics/hdf/files/man/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +MANDIR = ${PREFIX}/man/man + +MAN1 = hdf.1 hdfunpac.1 +MAN3 = gr_chunk.3 + +.include <bsd.man.mk> + +install: all-man maninstall + +clean: + -rm -f *.gz + +all: all-man + +depend: diff --git a/graphics/hdf/files/mfhdf/Makefile b/graphics/hdf/files/mfhdf/Makefile new file mode 100644 index 000000000000..202766e54f67 --- /dev/null +++ b/graphics/hdf/files/mfhdf/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +SUBDIR = fortran libsrc ncgen ncdump nctest dumper + +.include <bsd.subdir.mk> + +test: all + @for d in ${SUBDIR} ; do \ + echo "===> testing in $$d"; \ + cd $$d; \ + ${MAKE} test; \ + cd ..; \ + done diff --git a/graphics/hdf/files/mfhdf/dumper/Makefile b/graphics/hdf/files/mfhdf/dumper/Makefile new file mode 100644 index 000000000000..1bd8b3dfa744 --- /dev/null +++ b/graphics/hdf/files/mfhdf/dumper/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +PROG = hdp +NOMAN = 1 +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc -I${.CURDIR}/../../hdf/src + +SRCS = hdp.c hdp_list.c hdp_sds.c hdp_util.c hdp_vd.c hdp_vg.c hdp_rig.c show.c hdp_dump.c hdp_gr.c + +.include <bsd.prog.mk> + +test: ${PROG} + env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src sh testhdp.sh diff --git a/graphics/hdf/files/mfhdf/fortran/Makefile b/graphics/hdf/files/mfhdf/fortran/Makefile new file mode 100644 index 000000000000..03571382ccc3 --- /dev/null +++ b/graphics/hdf/files/mfhdf/fortran/Makefile @@ -0,0 +1,42 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR} ${.CURDIR}/config + +all: + +NOMAN = 1 + +FFLAGS += ${CFLAGS} -DNDEBUG -Nn802 -Nx400 + +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf + +afterinstall: + install -c -o root -g wheel -m 444 config/netcdf-fbsd.inc \ + ${PREFIX}/include/netcdf.inc + +.include <bsd.prog.mk> + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src + +CLEANFILES+= hdftest hdftest.o ftest ftest-fbsd.o + +config/netcdf.inc: + ln -s netcdf-fbsd.inc config/netcdf.inc + +ftest: ftest-fbsd.f config/netcdf.inc + ${MAKE} PROG=$@ SRCS=ftest-fbsd.f $@ + +hdftest: hdftest.f + ${MAKE} PROG=$@ SRCS=hdftest.f $@ + +test: ftest hdftest + mkdir -p testdir + # ================================ + # netCDF Fortran interface tests + # ================================ + ${ENVIR} ./ftest + ${ENVIR} ./hdftest > hdfout.new + @diff -Bb hdfout.new hdftst.sav && \ + echo "*** HDF-SD Fortran interface tests passed ***" || \ + (echo "*** HDF-SD Fortran interface tests failed ***"; \ + echo "The above differences are OK if small") diff --git a/graphics/hdf/files/mfhdf/libsrc/Makefile b/graphics/hdf/files/mfhdf/libsrc/Makefile new file mode 100644 index 000000000000..7ca23f2d374e --- /dev/null +++ b/graphics/hdf/files/mfhdf/libsrc/Makefile @@ -0,0 +1,43 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR} ${.CURDIR}/../fortran/config ${.CURDIR}/../fortran + +SRCS = array.c attr.c cdf.c dim.c file.c iarray.c error.c \ + globdef.c putget.c putgetg.c sharray.c string.c var.c \ + hdfsds.c mfsd.c nssdc.c xdrposix.c \ + jackets-fbsd.c mfsdf.c mfsdff.f + +LIB = mfhdf +SHLIB_MAJOR = 2 +SHLIB_MINOR = 3 + +LIBDIR = ${PREFIX}/lib + +# uncomment the line below to avoid building static libraries +#INTERNALLIB = Yes + +CFLAGS += -DNDEBUG -DHDF -I${.CURDIR}/../../hdf/src -I${.CURDIR} +.if ${MACHINE_ARCH} == "i386" +CFLAGS += -DSWAP +.endif + +LDADD += -L${.CURDIR}/../../hdf/src -ldf +LDFLAGS += -L. -l${LIB} ${LDADD} + +afterinstall: + install -c -o root -g wheel -m 444 hdf2netcdf.h local_nc.h \ + mfhdf.h netcdf.h ${PREFIX}/include + +.include <bsd.lib.mk> + +test: ${SHLIB_NAME} cdftest hdftest + env LD_LIBRARY_PATH=${.CURDIR}:${.CURDIR}/../../hdf/src ./cdftest > cdfout.new + @diff cdfout.new testout.sav && \ + echo "*** netCDF passes formatted test ***" || \ + (echo "*** netCDF fails formatted test ***" ; \ + echo "The above differences are OK if small") + env LD_LIBRARY_PATH=${.CURDIR}:${.CURDIR}/../../hdf/src ./hdftest > hdfout.new + @diff hdfout.new hdfout.sav && \ + echo "*** HDF passes formatted test ***" || \ + (echo "*** HDF fails formatted test ***" ; \ + echo "The above differences are OK if small") diff --git a/graphics/hdf/files/mfhdf/ncdump/Makefile b/graphics/hdf/files/mfhdf/ncdump/Makefile new file mode 100644 index 000000000000..727b1de60b32 --- /dev/null +++ b/graphics/hdf/files/mfhdf/ncdump/Makefile @@ -0,0 +1,22 @@ +# $FreeBSD$ + +PROG = ncdump +MANDIR = ${PREFIX}/man/man + +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc +SRCS = ncdump.c vardata.c dumplib.c + +.include <bsd.prog.mk> + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../../hdf/src:${.CURDIR}/../libsrc +NCGEN = ${.CURDIR}/../ncgen/ncgen + +test: $(PROG) test0.cdl + ${ENVIR} $(NCGEN) -o test0.nc -n test0.cdl + ${ENVIR} ./$(PROG) test0.nc > test1.cdl + ${ENVIR} $(NCGEN) -o test1.nc -n test1.cdl + ${ENVIR} ./$(PROG) -n test0 test1.nc > test2.cdl + @cmp test1.cdl test2.cdl && \ + echo "*** $(PROGRAM) test successful ***" ; \ + rm test1.cdl test1.nc test2.cdl diff --git a/graphics/hdf/files/mfhdf/ncgen/Makefile b/graphics/hdf/files/mfhdf/ncgen/Makefile new file mode 100644 index 000000000000..d954137cffa8 --- /dev/null +++ b/graphics/hdf/files/mfhdf/ncgen/Makefile @@ -0,0 +1,72 @@ +# $FreeBSD$ + +PROG = ncgen +MANDIR = ${PREFIX}/man/man +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc -I${.CURDIR}/../../hdf/src -DNDEBUG +SRCS = main.c generate.c load.c ncgentab.c escapes.c \ + getfill.c init.c close.c genlib.c + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src +NCDUMP = ${.CURDIR}/../ncdump/ncdump + +test: $(PROG) test0.cdl btest ctest ftest + +ncgenyy.c: ncgen.l + ${LEX} ${LFLAGS} ncgen.l + mv lex.yy.c ncgenyy.c + +ncgentab.c: ncgenyy.c ncgen.y + ${YACC} ${YFLAGS} ncgen.y + mv y.tab.c ncgentab.c + mv y.tab.h ncgentab.h + +.include <bsd.prog.mk> + +# +# test "-b" option of ncgen +# +btest: $(PROG) test0.cdl test1.cdl + ${ENVIR} ./$(PROG) -b test1.cdl + ${ENVIR} $(NCDUMP) test1.nc > test2.cdl + @diff test1.cdl test2.cdl && \ + echo "*** $(PROG) -b test successful ***" + +# +# test "-c" option of ncgen +# +ctest: test1.cdl ctest0 + ${ENVIR} ./ctest0 # tests `-c' option, creates ctest0.nc + ${ENVIR} $(NCDUMP) -n test1 ctest0.nc > ctest1.cdl + @diff test1.cdl ctest1.cdl && \ + echo "*** $(PROG) -c test successful ***" + +ctest0: ncgen test0.cdl + ${ENVIR} ./$(PROG) -c -o ctest0.nc test0.cdl > test0.c + $(CC) $(CFLAGS) -o $@ test0.c ${LDFLAGS} + +# +# test "-f" option of ncgen +# +ftest: test1.cdl ftest0 + ${ENVIR} ./ftest0 + ${ENVIR} $(NCDUMP) -n test1 ftest0.nc > ftest1.cdl + @if diff test1.cdl ftest1.cdl; then \ + echo "*** ncgen -f test successful ***"; \ + else \ + echo "*** ncgen -f test failed " \ + "(but roundoff differences are OK) ***"; \ + fi + +ftest0: $(PROG) test0.cdl netcdf.inc + ${ENVIR} ./$(PROG) -f -o ftest0.nc test0.cdl > test0.f; \ + $(FC) $(FFLAGS) ${CFLAGS} -o $@ test0.f ${LDFLAGS} + +test1.cdl: test0.nc + ${ENVIR} $(NCDUMP) -n test1 test0.nc > $@ + +test0.nc: $(PROG) test0.cdl + ${ENVIR} ./$(PROG) -b -o test0.nc test0.cdl + +netcdf.inc: + ln -s ../fortran/config/netcdf-fbsd.inc $@ diff --git a/graphics/hdf/files/mfhdf/nctest/Makefile b/graphics/hdf/files/mfhdf/nctest/Makefile new file mode 100644 index 000000000000..722d3524a482 --- /dev/null +++ b/graphics/hdf/files/mfhdf/nctest/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD$ + +PROG = nctest +NOMAN = 1 +CFLAGS += -I${.CURDIR}/../libsrc +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +SRCS = varget.c vargetg.c varput.c varputg.c vardef.c vartests.c \ + vputget.c vputgetg.c driver.c cdftests.c dimtests.c rec.c \ + atttests.c misctest.c add.c error.c emalloc.c val.c slabs.c + +install: + +.include <bsd.prog.mk> + +test: $(PROG) + @ echo "===========================" + @ echo "netCDF C interface tests" + @ echo "===========================" + env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src ./$(PROG) diff --git a/graphics/hdf/pkg-plist b/graphics/hdf/pkg-plist index f24c36cc89ae..3a4df094bb16 100644 --- a/graphics/hdf/pkg-plist +++ b/graphics/hdf/pkg-plist @@ -20,7 +20,11 @@ bin/vcompat bin/vmake bin/vshow lib/libmfhdf.a +lib/libmfhdf.so.2 +lib/libmfhdf.so lib/libdf.a +lib/libdf.so +lib/libdf.so.1 include/atom.h include/bitvect.h include/cdeflate.h @@ -30,7 +34,6 @@ include/crle.h include/cskphuff.h include/df.h include/dfan.h -include/dffunc.f90 include/dffunc.inc include/dfgr.h include/dfi.h @@ -45,7 +48,6 @@ include/hcomp.h include/hcompi.h include/hconv.h include/hdf.h -include/hdf.f90 include/hdf.inc include/hdf2netcdf.h include/hdfi.h @@ -63,7 +65,6 @@ include/mfgr.h include/mfhdf.h include/mstdio.h include/netcdf.h -include/netcdf.f90 include/netcdf.inc include/tbbt.h include/vattr.h diff --git a/graphics/hdf5/Makefile b/graphics/hdf5/Makefile index 7d13c145f3b3..bd569b4a26e7 100644 --- a/graphics/hdf5/Makefile +++ b/graphics/hdf5/Makefile @@ -6,63 +6,32 @@ # $FreeBSD$ # -DISTNAME= HDF4.1r2 -PKGNAME= hdf-4.1r2 +DISTNAME= HDF4.1r3 +PKGNAME= hdf-4.1r3 CATEGORIES= graphics -MASTER_SITES= ftp://ftp.ncsa.uiuc.edu/HDF/HDF4.1r2/tar/ +MASTER_SITES= ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF4.1r3/tar/ MAINTAINER= mi@aldan.algebra.com LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg MAN1= hdf.1 hdfunpac.1 ncdump.1 ncgen.1 +MAN3= gr_chunk.3 +MANCOMPRESSED= maybe -GNU_CONFIGURE= yes -FC?= f77 # Can also be g77 for the newer one -MAKE_FLAGS= CC="$(CC)" FC="${FC}" -f -MAKE_ENV= pwrkdir=${WRKDIR} -#"wrkdir" doesn't work for some reason in the above +MAKE_ARGS= PREFIX="${PREFIX}" -j 2 -# This will create dummy Makefiles and some links in the jpeg and libz -# subdirectories. This way, we do not need to hunt all the dependencies -# out. Shame on the lib's developers, though, this can not be done through -# `configure'. -mi -pre-build: - ${AR} -r ${WRKDIR}/libz.a /dev/null - ${RANLIB} ${WRKDIR}/libz.a - test -d ${WRKSRC}/hdf/jpeg.came-with-HDF || \ - ${MV} -f ${WRKSRC}/hdf/jpeg ${WRKSRC}/hdf/jpeg.came-with-HDF - -${MKDIR} ${WRKSRC}/hdf/jpeg - ${RM} -f ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} #Phony makefile > ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} >> ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} libjpeg.a: >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\t@${ECHO} Using the already installed JPEG library\n' \ - >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\nclean:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\ninstall-lib:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\ninstall:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - -${LN} -s ${PREFIX}/lib/libjpeg* ${WRKSRC}/hdf/jpeg/ - -${LN} -s ${PREFIX}/include/j*.h ${WRKSRC}/hdf/jpeg/ - test -d ${WRKSRC}/hdf/zlib.came-with-HDF || \ - ${MV} -f ${WRKSRC}/hdf/zlib ${WRKSRC}/hdf/zlib.came-with-HDF - -${MKDIR} ${WRKSRC}/hdf/zlib - ${RM} -f ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} #Phony makefile > ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} >> ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} libzlib.a: >> ${WRKSRC}/hdf/zlib/Makefile - printf '\t@${ECHO} Using the already installed ZLIB library\n' \ - >> ${WRKSRC}/hdf/zlib/Makefile - printf '\nclean:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - printf '\ninstall-lib:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - printf '\ninstall:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - -${LN} -s /usr/lib/${BINFORMAT}/libz* ${WRKSRC}/hdf/zlib/ - -${LN} -s /usr/include/zconf.h /usr/include/zlib.h ${WRKSRC}/hdf/zlib/ +post-patch: + ${RM} -rf ${WRKSRC}/hdf/jpeg + ${RM} -rf ${WRKSRC}/hdf/zlib -post-install: - @for binary in `${GREP} ^bin/ ${PLIST}` ; do strip ${PREFIX}/$$binary; done +do-configure: + ${CP} -rp ${FILESDIR}/Makefile ${FILESDIR}/hdf \ + ${FILESDIR}/mfhdf ${FILESDIR}/man ${WRKSRC} + ${LN} -s config/netcdf-fbsd.h ${WRKSRC}/mfhdf/libsrc/netcdf.h + ${LN} -s netcdf-fbsd.inc ${WRKSRC}/mfhdf/fortran/config/netcdf.inc -test: - cd ${WRKSRC}; make ${MAKE_FLAGS} ${MAKEFILE} test +test: build + cd ${WRKSRC}; ${MAKE} test .include <bsd.port.mk> diff --git a/graphics/hdf5/distinfo b/graphics/hdf5/distinfo index da49d2737e3e..6e22d24afd1e 100644 --- a/graphics/hdf5/distinfo +++ b/graphics/hdf5/distinfo @@ -1 +1 @@ -MD5 (HDF4.1r2.tar.gz) = 52814865529791e3a39637fd851a7143 +MD5 (HDF4.1r3.tar.gz) = 975f84ad8c5910841995c9d339fbd8bb diff --git a/graphics/hdf5/files/Makefile b/graphics/hdf5/files/Makefile new file mode 100644 index 000000000000..0dc23c19cf80 --- /dev/null +++ b/graphics/hdf5/files/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +SUBDIR = hdf mfhdf man +#PREFIX ?= /usr/local +LIBDIR ?= ${PREFIX}/lib +BINDIR ?= ${PREFIX}/bin + +.MAKEFLAGS: PREFIX=${PREFIX} LIBDIR=${LIBDIR} BINDIR=${BINDIR} + +test: all + # testing in hdf + @cd hdf && ${MAKE} hdf-test + # testing in mfhdf + @cd mfhdf && ${MAKE} test + +.include <bsd.subdir.mk> diff --git a/graphics/hdf5/files/hdf/Makefile b/graphics/hdf5/files/hdf/Makefile new file mode 100644 index 000000000000..1f9663c03246 --- /dev/null +++ b/graphics/hdf5/files/hdf/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +SUBDIR = src util test + +hdf-test: all + cd util && ${MAKE} test + cd test && ${MAKE} test + +.include <bsd.subdir.mk> diff --git a/graphics/hdf5/files/hdf/src/Makefile b/graphics/hdf5/files/hdf/src/Makefile new file mode 100644 index 000000000000..5dde282ec816 --- /dev/null +++ b/graphics/hdf5/files/hdf/src/Makefile @@ -0,0 +1,54 @@ +# $FreeBSD$ + +LIB=df + +# uncomment the line below to avoid building static libraries +#INTERNALLIB=YES +LIBDIR=${PREFIX}/lib + +SHLIB_MAJOR=1 +SHLIB_MINOR=0 + +SRCS=atom.c bitvect.c cdeflate.c cnbit.c cnone.c crle.c cskphuff.c \ + df24.c df24f.c dfan.c dfanf.c dfcomp.c dfconv.c dff.c dfgr.c \ + dfgroup.c dfimcomp.c dfjpeg.c dfkconv.c dfkcray.c dfkfuji.c \ + dfknat.c dfkswap.c dfkvms.c dfp.c dfpf.c dfr8.c dfr8f.c dfrle.c \ + dfsd.c dfsdf.c dfstubs.c dfufp2i.c dfunjpeg.c dfutil.c dfutilf.c \ + dir_mac.c dynarray.c glist.c hbitio.c hblocks.c hbuffer.c \ + hchunks.c hcomp.c hcompri.c hdfalloc.c herr.c herrf.c hextelt.c \ + hfile.c hfiledd.c hfilef.c hkit.c linklist.c mcache.c \ + mfan.c mfanf.c mfgr.c mfgrf.c mstdio.c tbbt.c vattr.c vattrf.c \ + vconv.c vg.c vgf.c vgp.c vhi.c vio.c vparse.c vrw.c vsfld.c \ + df24ff.f dfanff.f dfff.f dfpff.f dfr8ff.f dfsdff.f dfufp2if.f \ + hfileff.f mfgrff.f vattrff.f vgff.f + +CFLAGS += -I${PREFIX}/include +FFLAGS += ${CFLAGS} + +.if !defined(OSVERSION) +.if exists(/sbin/sysctl) +OSVERSION!= /sbin/sysctl -n kern.osreldate +.else +OSVERSION!= /usr/sbin/sysctl -n kern.osreldate +.endif +.endif + +.if ${OSVERSION} >= 400004 +LDADD += -L${PREFIX}/lib -ljpeg -lg2c -lz -lm +.else +LDADD += -L${PREFIX}/lib -ljpeg -lf2c -lz +.endif + +afterinstall: + install -c -o root -g wheel -m 444 \ + atom.h bitvect.h cdeflate.h cnbit.h cnone.h crle.h \ + cskphuff.h df.h dfan.h dfconvrt.h dfgr.h dfi.h dfivms.h \ + dfrig.h dfsd.h dfstubs.h dfufp2i.h dir_mac.h dynarray.h \ + glist.h hbitio.h hchunks.h hcomp.h hcompi.h hconv.h \ + hdf.h hdfi.h herr.h hfile.h hkit.h hlimits.h hntdefs.h \ + hproto.h hqueue.h htags.h linklist.h maldebug.h mcache.h \ + mfan.h mfgr.h mstdio.h patchlevel.h sys_dir_mac.h tbbt.h \ + trace.h vattr.h vg.h vgint.h hdf.inc dffunc.inc \ + ${PREFIX}/include + +.include <bsd.lib.mk> diff --git a/graphics/hdf5/files/hdf/test/Makefile b/graphics/hdf5/files/hdf/test/Makefile new file mode 100644 index 000000000000..3a3c8ca98524 --- /dev/null +++ b/graphics/hdf5/files/hdf/test/Makefile @@ -0,0 +1,68 @@ +# $FreeBSD$ + +CSRCS= rig.c sdstr.c blocks.c an.c anfile.c extelt.c file.c file1.c vers.c \ + sdmms.c sdnmms.c slab.c litend.c tvset.c comp.c bitio.c tree.c macros.c \ + conv.c nbit.c man.c mgr.c testhdf.c tbv.c tvsfpack.c chunks.c tvattr.c \ + buffer.c + +COBJS= ${CSRCS:S/.c/.o/g} + +FSRCS= fortest.c fortestF.f forsupff.f forsupf.c \ + manf.f mgrf.f slabwf.f t24f.f tanf.f tanfilef.f tpf.f tr8f.f \ + tsdmmsf.f tsdnmmsf.f tsdnntf.f tsdntf.f tsdstrf.f tstubsf.f \ + tvsetf.f, tvattrf.f + +FOBJS = fortestF.o forsupff.o forsupf.o \ + manf.o mgrf.o slabwf.o t24f.o tanf.o tanfilef.o tpf.o tr8f.o \ + tsdmmsf.o tsdnmmsf.o tsdnntf.o tsdntf.o tsdstrf.o tstubsf.o \ + tvsetf.o tvattrf.o + +#CFORSUPSRCS = forsupf.c + +HDFLIB = ${.CURDIR}/../src +CFLAGS += -I${HDFLIB} +FFLAGS += ${CFLAGS} -Nn802 -Nx400 + +FTESTS = fortest fortestF + +all: testhdf $(FTESTS) gentest + +#CFORSUPOBJS = forsupf.o + +TESTF = fortest.o + +# directory used by extelt test. +TESTDIR = testdir + +$(FOBJS): fortest.inc + +test: atest-hdf + +atest-hdf: testhdf $(FTESTS) + -rm -f *.hdf + env LD_LIBRARY_PATH=${.CURDIR}/../src ./testhdf + -rm -f *.hdf + env LD_LIBRARY_PATH=${.CURDIR}/../src ./fortest + +testhdf: $(COBJS) $(HDFLIB)/libdf.so + $(CC) -o testhdf $(COBJS) $(HDFLIB)/libdf.so -lm + test -d $(TESTDIR) || mkdir $(TESTDIR) + +fortestF: $(FOBJS) $(HDFLIB)/libdf.so + $(FC) $(FFLAGS) -o $@ $(FOBJS) $(HDFLIB)/libdf.so -lm + +fortest: $(HDFLIB)/libdf.so fortest.c $(CHDRS) + $(CC) $(CFLAGS) -o fortest fortest.c $(HDFLIB)/libdf.so -lm + +gentest: gentest.c $(HDFLIB)/libdf.so + $(CC) $(CFLAGS) gentest.c -o gentest $(HDFLIB)/libdf.so -lm + +clean: + -rm -f $(COBJS) testhdf $(FOBJS) $(FTESTS) \ + core *.hdf ptesthdf qtesthdf gentest *.o fortest.arg $(TESTDIR)/* \ + .depend + +depend: + mkdep ${CFLAGS} ${CSRCS} + +install: diff --git a/graphics/hdf5/files/hdf/util/Makefile b/graphics/hdf5/files/hdf/util/Makefile new file mode 100644 index 000000000000..6d4ccae200d4 --- /dev/null +++ b/graphics/hdf5/files/hdf/util/Makefile @@ -0,0 +1,30 @@ +# $FreeBSD$ + +UTILS = hdf24to8 hdfcomp hdfls hdfpack hdftopal hdftor8 paltohdf \ + r8tohdf ristosds vmake vshow hdf8to24 hdf2jpeg jpeg2hdf fp2hdf \ + hdfunpac vcompat + +all: ${UTILS} hdfed + +HEOBJ = he_main.o he_cntrl.o he_disp.o he_file.o + +#CFLAGS += -I${PREFIX}/include -I${.CURDIR}/../src/ +CFLAGS += -I${.CURDIR}/../src/ +#LDFLAGS += -L${PREFIX}/lib -ljpeg -L${.CURDIR}/../src/ -ldf -lz +LDFLAGS += -L${.CURDIR}/../src/ -ldf + +hdfed: he.h he_proto.h $(HEOBJ) + $(CC) $(HEOBJ) $(LDFLAGS) -o hdfed + +test: all fptest + env LD_LIBRARY_PATH=${.CURDIR}/../src ./testutil.sh + +clean: + -rm -f *.o $(UTILS) hdfed fptest + -rm -f o* ctx* cb* fptestf .depend + +depend: + mkdep ${CFLAGS} ${UTILS:S/$/.c/g} ${HEOBJ:S/.o/.c/g} + +install: all + install -c -s -o root -g wheel -m 555 ${UTILS} hdfed ${BINDIR} diff --git a/graphics/hdf5/files/man/Makefile b/graphics/hdf5/files/man/Makefile new file mode 100644 index 000000000000..eeea6c1997f7 --- /dev/null +++ b/graphics/hdf5/files/man/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +MANDIR = ${PREFIX}/man/man + +MAN1 = hdf.1 hdfunpac.1 +MAN3 = gr_chunk.3 + +.include <bsd.man.mk> + +install: all-man maninstall + +clean: + -rm -f *.gz + +all: all-man + +depend: diff --git a/graphics/hdf5/files/mfhdf/Makefile b/graphics/hdf5/files/mfhdf/Makefile new file mode 100644 index 000000000000..202766e54f67 --- /dev/null +++ b/graphics/hdf5/files/mfhdf/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +SUBDIR = fortran libsrc ncgen ncdump nctest dumper + +.include <bsd.subdir.mk> + +test: all + @for d in ${SUBDIR} ; do \ + echo "===> testing in $$d"; \ + cd $$d; \ + ${MAKE} test; \ + cd ..; \ + done diff --git a/graphics/hdf5/files/mfhdf/dumper/Makefile b/graphics/hdf5/files/mfhdf/dumper/Makefile new file mode 100644 index 000000000000..1bd8b3dfa744 --- /dev/null +++ b/graphics/hdf5/files/mfhdf/dumper/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +PROG = hdp +NOMAN = 1 +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc -I${.CURDIR}/../../hdf/src + +SRCS = hdp.c hdp_list.c hdp_sds.c hdp_util.c hdp_vd.c hdp_vg.c hdp_rig.c show.c hdp_dump.c hdp_gr.c + +.include <bsd.prog.mk> + +test: ${PROG} + env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src sh testhdp.sh diff --git a/graphics/hdf5/files/mfhdf/fortran/Makefile b/graphics/hdf5/files/mfhdf/fortran/Makefile new file mode 100644 index 000000000000..03571382ccc3 --- /dev/null +++ b/graphics/hdf5/files/mfhdf/fortran/Makefile @@ -0,0 +1,42 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR} ${.CURDIR}/config + +all: + +NOMAN = 1 + +FFLAGS += ${CFLAGS} -DNDEBUG -Nn802 -Nx400 + +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf + +afterinstall: + install -c -o root -g wheel -m 444 config/netcdf-fbsd.inc \ + ${PREFIX}/include/netcdf.inc + +.include <bsd.prog.mk> + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src + +CLEANFILES+= hdftest hdftest.o ftest ftest-fbsd.o + +config/netcdf.inc: + ln -s netcdf-fbsd.inc config/netcdf.inc + +ftest: ftest-fbsd.f config/netcdf.inc + ${MAKE} PROG=$@ SRCS=ftest-fbsd.f $@ + +hdftest: hdftest.f + ${MAKE} PROG=$@ SRCS=hdftest.f $@ + +test: ftest hdftest + mkdir -p testdir + # ================================ + # netCDF Fortran interface tests + # ================================ + ${ENVIR} ./ftest + ${ENVIR} ./hdftest > hdfout.new + @diff -Bb hdfout.new hdftst.sav && \ + echo "*** HDF-SD Fortran interface tests passed ***" || \ + (echo "*** HDF-SD Fortran interface tests failed ***"; \ + echo "The above differences are OK if small") diff --git a/graphics/hdf5/files/mfhdf/libsrc/Makefile b/graphics/hdf5/files/mfhdf/libsrc/Makefile new file mode 100644 index 000000000000..7ca23f2d374e --- /dev/null +++ b/graphics/hdf5/files/mfhdf/libsrc/Makefile @@ -0,0 +1,43 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR} ${.CURDIR}/../fortran/config ${.CURDIR}/../fortran + +SRCS = array.c attr.c cdf.c dim.c file.c iarray.c error.c \ + globdef.c putget.c putgetg.c sharray.c string.c var.c \ + hdfsds.c mfsd.c nssdc.c xdrposix.c \ + jackets-fbsd.c mfsdf.c mfsdff.f + +LIB = mfhdf +SHLIB_MAJOR = 2 +SHLIB_MINOR = 3 + +LIBDIR = ${PREFIX}/lib + +# uncomment the line below to avoid building static libraries +#INTERNALLIB = Yes + +CFLAGS += -DNDEBUG -DHDF -I${.CURDIR}/../../hdf/src -I${.CURDIR} +.if ${MACHINE_ARCH} == "i386" +CFLAGS += -DSWAP +.endif + +LDADD += -L${.CURDIR}/../../hdf/src -ldf +LDFLAGS += -L. -l${LIB} ${LDADD} + +afterinstall: + install -c -o root -g wheel -m 444 hdf2netcdf.h local_nc.h \ + mfhdf.h netcdf.h ${PREFIX}/include + +.include <bsd.lib.mk> + +test: ${SHLIB_NAME} cdftest hdftest + env LD_LIBRARY_PATH=${.CURDIR}:${.CURDIR}/../../hdf/src ./cdftest > cdfout.new + @diff cdfout.new testout.sav && \ + echo "*** netCDF passes formatted test ***" || \ + (echo "*** netCDF fails formatted test ***" ; \ + echo "The above differences are OK if small") + env LD_LIBRARY_PATH=${.CURDIR}:${.CURDIR}/../../hdf/src ./hdftest > hdfout.new + @diff hdfout.new hdfout.sav && \ + echo "*** HDF passes formatted test ***" || \ + (echo "*** HDF fails formatted test ***" ; \ + echo "The above differences are OK if small") diff --git a/graphics/hdf5/files/mfhdf/ncdump/Makefile b/graphics/hdf5/files/mfhdf/ncdump/Makefile new file mode 100644 index 000000000000..727b1de60b32 --- /dev/null +++ b/graphics/hdf5/files/mfhdf/ncdump/Makefile @@ -0,0 +1,22 @@ +# $FreeBSD$ + +PROG = ncdump +MANDIR = ${PREFIX}/man/man + +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc +SRCS = ncdump.c vardata.c dumplib.c + +.include <bsd.prog.mk> + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../../hdf/src:${.CURDIR}/../libsrc +NCGEN = ${.CURDIR}/../ncgen/ncgen + +test: $(PROG) test0.cdl + ${ENVIR} $(NCGEN) -o test0.nc -n test0.cdl + ${ENVIR} ./$(PROG) test0.nc > test1.cdl + ${ENVIR} $(NCGEN) -o test1.nc -n test1.cdl + ${ENVIR} ./$(PROG) -n test0 test1.nc > test2.cdl + @cmp test1.cdl test2.cdl && \ + echo "*** $(PROGRAM) test successful ***" ; \ + rm test1.cdl test1.nc test2.cdl diff --git a/graphics/hdf5/files/mfhdf/ncgen/Makefile b/graphics/hdf5/files/mfhdf/ncgen/Makefile new file mode 100644 index 000000000000..d954137cffa8 --- /dev/null +++ b/graphics/hdf5/files/mfhdf/ncgen/Makefile @@ -0,0 +1,72 @@ +# $FreeBSD$ + +PROG = ncgen +MANDIR = ${PREFIX}/man/man +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc -I${.CURDIR}/../../hdf/src -DNDEBUG +SRCS = main.c generate.c load.c ncgentab.c escapes.c \ + getfill.c init.c close.c genlib.c + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src +NCDUMP = ${.CURDIR}/../ncdump/ncdump + +test: $(PROG) test0.cdl btest ctest ftest + +ncgenyy.c: ncgen.l + ${LEX} ${LFLAGS} ncgen.l + mv lex.yy.c ncgenyy.c + +ncgentab.c: ncgenyy.c ncgen.y + ${YACC} ${YFLAGS} ncgen.y + mv y.tab.c ncgentab.c + mv y.tab.h ncgentab.h + +.include <bsd.prog.mk> + +# +# test "-b" option of ncgen +# +btest: $(PROG) test0.cdl test1.cdl + ${ENVIR} ./$(PROG) -b test1.cdl + ${ENVIR} $(NCDUMP) test1.nc > test2.cdl + @diff test1.cdl test2.cdl && \ + echo "*** $(PROG) -b test successful ***" + +# +# test "-c" option of ncgen +# +ctest: test1.cdl ctest0 + ${ENVIR} ./ctest0 # tests `-c' option, creates ctest0.nc + ${ENVIR} $(NCDUMP) -n test1 ctest0.nc > ctest1.cdl + @diff test1.cdl ctest1.cdl && \ + echo "*** $(PROG) -c test successful ***" + +ctest0: ncgen test0.cdl + ${ENVIR} ./$(PROG) -c -o ctest0.nc test0.cdl > test0.c + $(CC) $(CFLAGS) -o $@ test0.c ${LDFLAGS} + +# +# test "-f" option of ncgen +# +ftest: test1.cdl ftest0 + ${ENVIR} ./ftest0 + ${ENVIR} $(NCDUMP) -n test1 ftest0.nc > ftest1.cdl + @if diff test1.cdl ftest1.cdl; then \ + echo "*** ncgen -f test successful ***"; \ + else \ + echo "*** ncgen -f test failed " \ + "(but roundoff differences are OK) ***"; \ + fi + +ftest0: $(PROG) test0.cdl netcdf.inc + ${ENVIR} ./$(PROG) -f -o ftest0.nc test0.cdl > test0.f; \ + $(FC) $(FFLAGS) ${CFLAGS} -o $@ test0.f ${LDFLAGS} + +test1.cdl: test0.nc + ${ENVIR} $(NCDUMP) -n test1 test0.nc > $@ + +test0.nc: $(PROG) test0.cdl + ${ENVIR} ./$(PROG) -b -o test0.nc test0.cdl + +netcdf.inc: + ln -s ../fortran/config/netcdf-fbsd.inc $@ diff --git a/graphics/hdf5/files/mfhdf/nctest/Makefile b/graphics/hdf5/files/mfhdf/nctest/Makefile new file mode 100644 index 000000000000..722d3524a482 --- /dev/null +++ b/graphics/hdf5/files/mfhdf/nctest/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD$ + +PROG = nctest +NOMAN = 1 +CFLAGS += -I${.CURDIR}/../libsrc +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +SRCS = varget.c vargetg.c varput.c varputg.c vardef.c vartests.c \ + vputget.c vputgetg.c driver.c cdftests.c dimtests.c rec.c \ + atttests.c misctest.c add.c error.c emalloc.c val.c slabs.c + +install: + +.include <bsd.prog.mk> + +test: $(PROG) + @ echo "===========================" + @ echo "netCDF C interface tests" + @ echo "===========================" + env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src ./$(PROG) diff --git a/graphics/hdf5/pkg-plist b/graphics/hdf5/pkg-plist index f24c36cc89ae..3a4df094bb16 100644 --- a/graphics/hdf5/pkg-plist +++ b/graphics/hdf5/pkg-plist @@ -20,7 +20,11 @@ bin/vcompat bin/vmake bin/vshow lib/libmfhdf.a +lib/libmfhdf.so.2 +lib/libmfhdf.so lib/libdf.a +lib/libdf.so +lib/libdf.so.1 include/atom.h include/bitvect.h include/cdeflate.h @@ -30,7 +34,6 @@ include/crle.h include/cskphuff.h include/df.h include/dfan.h -include/dffunc.f90 include/dffunc.inc include/dfgr.h include/dfi.h @@ -45,7 +48,6 @@ include/hcomp.h include/hcompi.h include/hconv.h include/hdf.h -include/hdf.f90 include/hdf.inc include/hdf2netcdf.h include/hdfi.h @@ -63,7 +65,6 @@ include/mfgr.h include/mfhdf.h include/mstdio.h include/netcdf.h -include/netcdf.f90 include/netcdf.inc include/tbbt.h include/vattr.h diff --git a/science/hdf/Makefile b/science/hdf/Makefile index 7d13c145f3b3..bd569b4a26e7 100644 --- a/science/hdf/Makefile +++ b/science/hdf/Makefile @@ -6,63 +6,32 @@ # $FreeBSD$ # -DISTNAME= HDF4.1r2 -PKGNAME= hdf-4.1r2 +DISTNAME= HDF4.1r3 +PKGNAME= hdf-4.1r3 CATEGORIES= graphics -MASTER_SITES= ftp://ftp.ncsa.uiuc.edu/HDF/HDF4.1r2/tar/ +MASTER_SITES= ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF4.1r3/tar/ MAINTAINER= mi@aldan.algebra.com LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg MAN1= hdf.1 hdfunpac.1 ncdump.1 ncgen.1 +MAN3= gr_chunk.3 +MANCOMPRESSED= maybe -GNU_CONFIGURE= yes -FC?= f77 # Can also be g77 for the newer one -MAKE_FLAGS= CC="$(CC)" FC="${FC}" -f -MAKE_ENV= pwrkdir=${WRKDIR} -#"wrkdir" doesn't work for some reason in the above +MAKE_ARGS= PREFIX="${PREFIX}" -j 2 -# This will create dummy Makefiles and some links in the jpeg and libz -# subdirectories. This way, we do not need to hunt all the dependencies -# out. Shame on the lib's developers, though, this can not be done through -# `configure'. -mi -pre-build: - ${AR} -r ${WRKDIR}/libz.a /dev/null - ${RANLIB} ${WRKDIR}/libz.a - test -d ${WRKSRC}/hdf/jpeg.came-with-HDF || \ - ${MV} -f ${WRKSRC}/hdf/jpeg ${WRKSRC}/hdf/jpeg.came-with-HDF - -${MKDIR} ${WRKSRC}/hdf/jpeg - ${RM} -f ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} #Phony makefile > ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} >> ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} libjpeg.a: >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\t@${ECHO} Using the already installed JPEG library\n' \ - >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\nclean:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\ninstall-lib:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\ninstall:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - -${LN} -s ${PREFIX}/lib/libjpeg* ${WRKSRC}/hdf/jpeg/ - -${LN} -s ${PREFIX}/include/j*.h ${WRKSRC}/hdf/jpeg/ - test -d ${WRKSRC}/hdf/zlib.came-with-HDF || \ - ${MV} -f ${WRKSRC}/hdf/zlib ${WRKSRC}/hdf/zlib.came-with-HDF - -${MKDIR} ${WRKSRC}/hdf/zlib - ${RM} -f ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} #Phony makefile > ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} >> ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} libzlib.a: >> ${WRKSRC}/hdf/zlib/Makefile - printf '\t@${ECHO} Using the already installed ZLIB library\n' \ - >> ${WRKSRC}/hdf/zlib/Makefile - printf '\nclean:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - printf '\ninstall-lib:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - printf '\ninstall:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - -${LN} -s /usr/lib/${BINFORMAT}/libz* ${WRKSRC}/hdf/zlib/ - -${LN} -s /usr/include/zconf.h /usr/include/zlib.h ${WRKSRC}/hdf/zlib/ +post-patch: + ${RM} -rf ${WRKSRC}/hdf/jpeg + ${RM} -rf ${WRKSRC}/hdf/zlib -post-install: - @for binary in `${GREP} ^bin/ ${PLIST}` ; do strip ${PREFIX}/$$binary; done +do-configure: + ${CP} -rp ${FILESDIR}/Makefile ${FILESDIR}/hdf \ + ${FILESDIR}/mfhdf ${FILESDIR}/man ${WRKSRC} + ${LN} -s config/netcdf-fbsd.h ${WRKSRC}/mfhdf/libsrc/netcdf.h + ${LN} -s netcdf-fbsd.inc ${WRKSRC}/mfhdf/fortran/config/netcdf.inc -test: - cd ${WRKSRC}; make ${MAKE_FLAGS} ${MAKEFILE} test +test: build + cd ${WRKSRC}; ${MAKE} test .include <bsd.port.mk> diff --git a/science/hdf/distinfo b/science/hdf/distinfo index da49d2737e3e..6e22d24afd1e 100644 --- a/science/hdf/distinfo +++ b/science/hdf/distinfo @@ -1 +1 @@ -MD5 (HDF4.1r2.tar.gz) = 52814865529791e3a39637fd851a7143 +MD5 (HDF4.1r3.tar.gz) = 975f84ad8c5910841995c9d339fbd8bb diff --git a/science/hdf/files/Makefile b/science/hdf/files/Makefile new file mode 100644 index 000000000000..0dc23c19cf80 --- /dev/null +++ b/science/hdf/files/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +SUBDIR = hdf mfhdf man +#PREFIX ?= /usr/local +LIBDIR ?= ${PREFIX}/lib +BINDIR ?= ${PREFIX}/bin + +.MAKEFLAGS: PREFIX=${PREFIX} LIBDIR=${LIBDIR} BINDIR=${BINDIR} + +test: all + # testing in hdf + @cd hdf && ${MAKE} hdf-test + # testing in mfhdf + @cd mfhdf && ${MAKE} test + +.include <bsd.subdir.mk> diff --git a/science/hdf/files/hdf/Makefile b/science/hdf/files/hdf/Makefile new file mode 100644 index 000000000000..1f9663c03246 --- /dev/null +++ b/science/hdf/files/hdf/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +SUBDIR = src util test + +hdf-test: all + cd util && ${MAKE} test + cd test && ${MAKE} test + +.include <bsd.subdir.mk> diff --git a/science/hdf/files/hdf/src/Makefile b/science/hdf/files/hdf/src/Makefile new file mode 100644 index 000000000000..5dde282ec816 --- /dev/null +++ b/science/hdf/files/hdf/src/Makefile @@ -0,0 +1,54 @@ +# $FreeBSD$ + +LIB=df + +# uncomment the line below to avoid building static libraries +#INTERNALLIB=YES +LIBDIR=${PREFIX}/lib + +SHLIB_MAJOR=1 +SHLIB_MINOR=0 + +SRCS=atom.c bitvect.c cdeflate.c cnbit.c cnone.c crle.c cskphuff.c \ + df24.c df24f.c dfan.c dfanf.c dfcomp.c dfconv.c dff.c dfgr.c \ + dfgroup.c dfimcomp.c dfjpeg.c dfkconv.c dfkcray.c dfkfuji.c \ + dfknat.c dfkswap.c dfkvms.c dfp.c dfpf.c dfr8.c dfr8f.c dfrle.c \ + dfsd.c dfsdf.c dfstubs.c dfufp2i.c dfunjpeg.c dfutil.c dfutilf.c \ + dir_mac.c dynarray.c glist.c hbitio.c hblocks.c hbuffer.c \ + hchunks.c hcomp.c hcompri.c hdfalloc.c herr.c herrf.c hextelt.c \ + hfile.c hfiledd.c hfilef.c hkit.c linklist.c mcache.c \ + mfan.c mfanf.c mfgr.c mfgrf.c mstdio.c tbbt.c vattr.c vattrf.c \ + vconv.c vg.c vgf.c vgp.c vhi.c vio.c vparse.c vrw.c vsfld.c \ + df24ff.f dfanff.f dfff.f dfpff.f dfr8ff.f dfsdff.f dfufp2if.f \ + hfileff.f mfgrff.f vattrff.f vgff.f + +CFLAGS += -I${PREFIX}/include +FFLAGS += ${CFLAGS} + +.if !defined(OSVERSION) +.if exists(/sbin/sysctl) +OSVERSION!= /sbin/sysctl -n kern.osreldate +.else +OSVERSION!= /usr/sbin/sysctl -n kern.osreldate +.endif +.endif + +.if ${OSVERSION} >= 400004 +LDADD += -L${PREFIX}/lib -ljpeg -lg2c -lz -lm +.else +LDADD += -L${PREFIX}/lib -ljpeg -lf2c -lz +.endif + +afterinstall: + install -c -o root -g wheel -m 444 \ + atom.h bitvect.h cdeflate.h cnbit.h cnone.h crle.h \ + cskphuff.h df.h dfan.h dfconvrt.h dfgr.h dfi.h dfivms.h \ + dfrig.h dfsd.h dfstubs.h dfufp2i.h dir_mac.h dynarray.h \ + glist.h hbitio.h hchunks.h hcomp.h hcompi.h hconv.h \ + hdf.h hdfi.h herr.h hfile.h hkit.h hlimits.h hntdefs.h \ + hproto.h hqueue.h htags.h linklist.h maldebug.h mcache.h \ + mfan.h mfgr.h mstdio.h patchlevel.h sys_dir_mac.h tbbt.h \ + trace.h vattr.h vg.h vgint.h hdf.inc dffunc.inc \ + ${PREFIX}/include + +.include <bsd.lib.mk> diff --git a/science/hdf/files/hdf/test/Makefile b/science/hdf/files/hdf/test/Makefile new file mode 100644 index 000000000000..3a3c8ca98524 --- /dev/null +++ b/science/hdf/files/hdf/test/Makefile @@ -0,0 +1,68 @@ +# $FreeBSD$ + +CSRCS= rig.c sdstr.c blocks.c an.c anfile.c extelt.c file.c file1.c vers.c \ + sdmms.c sdnmms.c slab.c litend.c tvset.c comp.c bitio.c tree.c macros.c \ + conv.c nbit.c man.c mgr.c testhdf.c tbv.c tvsfpack.c chunks.c tvattr.c \ + buffer.c + +COBJS= ${CSRCS:S/.c/.o/g} + +FSRCS= fortest.c fortestF.f forsupff.f forsupf.c \ + manf.f mgrf.f slabwf.f t24f.f tanf.f tanfilef.f tpf.f tr8f.f \ + tsdmmsf.f tsdnmmsf.f tsdnntf.f tsdntf.f tsdstrf.f tstubsf.f \ + tvsetf.f, tvattrf.f + +FOBJS = fortestF.o forsupff.o forsupf.o \ + manf.o mgrf.o slabwf.o t24f.o tanf.o tanfilef.o tpf.o tr8f.o \ + tsdmmsf.o tsdnmmsf.o tsdnntf.o tsdntf.o tsdstrf.o tstubsf.o \ + tvsetf.o tvattrf.o + +#CFORSUPSRCS = forsupf.c + +HDFLIB = ${.CURDIR}/../src +CFLAGS += -I${HDFLIB} +FFLAGS += ${CFLAGS} -Nn802 -Nx400 + +FTESTS = fortest fortestF + +all: testhdf $(FTESTS) gentest + +#CFORSUPOBJS = forsupf.o + +TESTF = fortest.o + +# directory used by extelt test. +TESTDIR = testdir + +$(FOBJS): fortest.inc + +test: atest-hdf + +atest-hdf: testhdf $(FTESTS) + -rm -f *.hdf + env LD_LIBRARY_PATH=${.CURDIR}/../src ./testhdf + -rm -f *.hdf + env LD_LIBRARY_PATH=${.CURDIR}/../src ./fortest + +testhdf: $(COBJS) $(HDFLIB)/libdf.so + $(CC) -o testhdf $(COBJS) $(HDFLIB)/libdf.so -lm + test -d $(TESTDIR) || mkdir $(TESTDIR) + +fortestF: $(FOBJS) $(HDFLIB)/libdf.so + $(FC) $(FFLAGS) -o $@ $(FOBJS) $(HDFLIB)/libdf.so -lm + +fortest: $(HDFLIB)/libdf.so fortest.c $(CHDRS) + $(CC) $(CFLAGS) -o fortest fortest.c $(HDFLIB)/libdf.so -lm + +gentest: gentest.c $(HDFLIB)/libdf.so + $(CC) $(CFLAGS) gentest.c -o gentest $(HDFLIB)/libdf.so -lm + +clean: + -rm -f $(COBJS) testhdf $(FOBJS) $(FTESTS) \ + core *.hdf ptesthdf qtesthdf gentest *.o fortest.arg $(TESTDIR)/* \ + .depend + +depend: + mkdep ${CFLAGS} ${CSRCS} + +install: diff --git a/science/hdf/files/hdf/util/Makefile b/science/hdf/files/hdf/util/Makefile new file mode 100644 index 000000000000..6d4ccae200d4 --- /dev/null +++ b/science/hdf/files/hdf/util/Makefile @@ -0,0 +1,30 @@ +# $FreeBSD$ + +UTILS = hdf24to8 hdfcomp hdfls hdfpack hdftopal hdftor8 paltohdf \ + r8tohdf ristosds vmake vshow hdf8to24 hdf2jpeg jpeg2hdf fp2hdf \ + hdfunpac vcompat + +all: ${UTILS} hdfed + +HEOBJ = he_main.o he_cntrl.o he_disp.o he_file.o + +#CFLAGS += -I${PREFIX}/include -I${.CURDIR}/../src/ +CFLAGS += -I${.CURDIR}/../src/ +#LDFLAGS += -L${PREFIX}/lib -ljpeg -L${.CURDIR}/../src/ -ldf -lz +LDFLAGS += -L${.CURDIR}/../src/ -ldf + +hdfed: he.h he_proto.h $(HEOBJ) + $(CC) $(HEOBJ) $(LDFLAGS) -o hdfed + +test: all fptest + env LD_LIBRARY_PATH=${.CURDIR}/../src ./testutil.sh + +clean: + -rm -f *.o $(UTILS) hdfed fptest + -rm -f o* ctx* cb* fptestf .depend + +depend: + mkdep ${CFLAGS} ${UTILS:S/$/.c/g} ${HEOBJ:S/.o/.c/g} + +install: all + install -c -s -o root -g wheel -m 555 ${UTILS} hdfed ${BINDIR} diff --git a/science/hdf/files/man/Makefile b/science/hdf/files/man/Makefile new file mode 100644 index 000000000000..eeea6c1997f7 --- /dev/null +++ b/science/hdf/files/man/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +MANDIR = ${PREFIX}/man/man + +MAN1 = hdf.1 hdfunpac.1 +MAN3 = gr_chunk.3 + +.include <bsd.man.mk> + +install: all-man maninstall + +clean: + -rm -f *.gz + +all: all-man + +depend: diff --git a/science/hdf/files/mfhdf/Makefile b/science/hdf/files/mfhdf/Makefile new file mode 100644 index 000000000000..202766e54f67 --- /dev/null +++ b/science/hdf/files/mfhdf/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +SUBDIR = fortran libsrc ncgen ncdump nctest dumper + +.include <bsd.subdir.mk> + +test: all + @for d in ${SUBDIR} ; do \ + echo "===> testing in $$d"; \ + cd $$d; \ + ${MAKE} test; \ + cd ..; \ + done diff --git a/science/hdf/files/mfhdf/dumper/Makefile b/science/hdf/files/mfhdf/dumper/Makefile new file mode 100644 index 000000000000..1bd8b3dfa744 --- /dev/null +++ b/science/hdf/files/mfhdf/dumper/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +PROG = hdp +NOMAN = 1 +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc -I${.CURDIR}/../../hdf/src + +SRCS = hdp.c hdp_list.c hdp_sds.c hdp_util.c hdp_vd.c hdp_vg.c hdp_rig.c show.c hdp_dump.c hdp_gr.c + +.include <bsd.prog.mk> + +test: ${PROG} + env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src sh testhdp.sh diff --git a/science/hdf/files/mfhdf/fortran/Makefile b/science/hdf/files/mfhdf/fortran/Makefile new file mode 100644 index 000000000000..03571382ccc3 --- /dev/null +++ b/science/hdf/files/mfhdf/fortran/Makefile @@ -0,0 +1,42 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR} ${.CURDIR}/config + +all: + +NOMAN = 1 + +FFLAGS += ${CFLAGS} -DNDEBUG -Nn802 -Nx400 + +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf + +afterinstall: + install -c -o root -g wheel -m 444 config/netcdf-fbsd.inc \ + ${PREFIX}/include/netcdf.inc + +.include <bsd.prog.mk> + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src + +CLEANFILES+= hdftest hdftest.o ftest ftest-fbsd.o + +config/netcdf.inc: + ln -s netcdf-fbsd.inc config/netcdf.inc + +ftest: ftest-fbsd.f config/netcdf.inc + ${MAKE} PROG=$@ SRCS=ftest-fbsd.f $@ + +hdftest: hdftest.f + ${MAKE} PROG=$@ SRCS=hdftest.f $@ + +test: ftest hdftest + mkdir -p testdir + # ================================ + # netCDF Fortran interface tests + # ================================ + ${ENVIR} ./ftest + ${ENVIR} ./hdftest > hdfout.new + @diff -Bb hdfout.new hdftst.sav && \ + echo "*** HDF-SD Fortran interface tests passed ***" || \ + (echo "*** HDF-SD Fortran interface tests failed ***"; \ + echo "The above differences are OK if small") diff --git a/science/hdf/files/mfhdf/libsrc/Makefile b/science/hdf/files/mfhdf/libsrc/Makefile new file mode 100644 index 000000000000..7ca23f2d374e --- /dev/null +++ b/science/hdf/files/mfhdf/libsrc/Makefile @@ -0,0 +1,43 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR} ${.CURDIR}/../fortran/config ${.CURDIR}/../fortran + +SRCS = array.c attr.c cdf.c dim.c file.c iarray.c error.c \ + globdef.c putget.c putgetg.c sharray.c string.c var.c \ + hdfsds.c mfsd.c nssdc.c xdrposix.c \ + jackets-fbsd.c mfsdf.c mfsdff.f + +LIB = mfhdf +SHLIB_MAJOR = 2 +SHLIB_MINOR = 3 + +LIBDIR = ${PREFIX}/lib + +# uncomment the line below to avoid building static libraries +#INTERNALLIB = Yes + +CFLAGS += -DNDEBUG -DHDF -I${.CURDIR}/../../hdf/src -I${.CURDIR} +.if ${MACHINE_ARCH} == "i386" +CFLAGS += -DSWAP +.endif + +LDADD += -L${.CURDIR}/../../hdf/src -ldf +LDFLAGS += -L. -l${LIB} ${LDADD} + +afterinstall: + install -c -o root -g wheel -m 444 hdf2netcdf.h local_nc.h \ + mfhdf.h netcdf.h ${PREFIX}/include + +.include <bsd.lib.mk> + +test: ${SHLIB_NAME} cdftest hdftest + env LD_LIBRARY_PATH=${.CURDIR}:${.CURDIR}/../../hdf/src ./cdftest > cdfout.new + @diff cdfout.new testout.sav && \ + echo "*** netCDF passes formatted test ***" || \ + (echo "*** netCDF fails formatted test ***" ; \ + echo "The above differences are OK if small") + env LD_LIBRARY_PATH=${.CURDIR}:${.CURDIR}/../../hdf/src ./hdftest > hdfout.new + @diff hdfout.new hdfout.sav && \ + echo "*** HDF passes formatted test ***" || \ + (echo "*** HDF fails formatted test ***" ; \ + echo "The above differences are OK if small") diff --git a/science/hdf/files/mfhdf/ncdump/Makefile b/science/hdf/files/mfhdf/ncdump/Makefile new file mode 100644 index 000000000000..727b1de60b32 --- /dev/null +++ b/science/hdf/files/mfhdf/ncdump/Makefile @@ -0,0 +1,22 @@ +# $FreeBSD$ + +PROG = ncdump +MANDIR = ${PREFIX}/man/man + +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc +SRCS = ncdump.c vardata.c dumplib.c + +.include <bsd.prog.mk> + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../../hdf/src:${.CURDIR}/../libsrc +NCGEN = ${.CURDIR}/../ncgen/ncgen + +test: $(PROG) test0.cdl + ${ENVIR} $(NCGEN) -o test0.nc -n test0.cdl + ${ENVIR} ./$(PROG) test0.nc > test1.cdl + ${ENVIR} $(NCGEN) -o test1.nc -n test1.cdl + ${ENVIR} ./$(PROG) -n test0 test1.nc > test2.cdl + @cmp test1.cdl test2.cdl && \ + echo "*** $(PROGRAM) test successful ***" ; \ + rm test1.cdl test1.nc test2.cdl diff --git a/science/hdf/files/mfhdf/ncgen/Makefile b/science/hdf/files/mfhdf/ncgen/Makefile new file mode 100644 index 000000000000..d954137cffa8 --- /dev/null +++ b/science/hdf/files/mfhdf/ncgen/Makefile @@ -0,0 +1,72 @@ +# $FreeBSD$ + +PROG = ncgen +MANDIR = ${PREFIX}/man/man +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc -I${.CURDIR}/../../hdf/src -DNDEBUG +SRCS = main.c generate.c load.c ncgentab.c escapes.c \ + getfill.c init.c close.c genlib.c + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src +NCDUMP = ${.CURDIR}/../ncdump/ncdump + +test: $(PROG) test0.cdl btest ctest ftest + +ncgenyy.c: ncgen.l + ${LEX} ${LFLAGS} ncgen.l + mv lex.yy.c ncgenyy.c + +ncgentab.c: ncgenyy.c ncgen.y + ${YACC} ${YFLAGS} ncgen.y + mv y.tab.c ncgentab.c + mv y.tab.h ncgentab.h + +.include <bsd.prog.mk> + +# +# test "-b" option of ncgen +# +btest: $(PROG) test0.cdl test1.cdl + ${ENVIR} ./$(PROG) -b test1.cdl + ${ENVIR} $(NCDUMP) test1.nc > test2.cdl + @diff test1.cdl test2.cdl && \ + echo "*** $(PROG) -b test successful ***" + +# +# test "-c" option of ncgen +# +ctest: test1.cdl ctest0 + ${ENVIR} ./ctest0 # tests `-c' option, creates ctest0.nc + ${ENVIR} $(NCDUMP) -n test1 ctest0.nc > ctest1.cdl + @diff test1.cdl ctest1.cdl && \ + echo "*** $(PROG) -c test successful ***" + +ctest0: ncgen test0.cdl + ${ENVIR} ./$(PROG) -c -o ctest0.nc test0.cdl > test0.c + $(CC) $(CFLAGS) -o $@ test0.c ${LDFLAGS} + +# +# test "-f" option of ncgen +# +ftest: test1.cdl ftest0 + ${ENVIR} ./ftest0 + ${ENVIR} $(NCDUMP) -n test1 ftest0.nc > ftest1.cdl + @if diff test1.cdl ftest1.cdl; then \ + echo "*** ncgen -f test successful ***"; \ + else \ + echo "*** ncgen -f test failed " \ + "(but roundoff differences are OK) ***"; \ + fi + +ftest0: $(PROG) test0.cdl netcdf.inc + ${ENVIR} ./$(PROG) -f -o ftest0.nc test0.cdl > test0.f; \ + $(FC) $(FFLAGS) ${CFLAGS} -o $@ test0.f ${LDFLAGS} + +test1.cdl: test0.nc + ${ENVIR} $(NCDUMP) -n test1 test0.nc > $@ + +test0.nc: $(PROG) test0.cdl + ${ENVIR} ./$(PROG) -b -o test0.nc test0.cdl + +netcdf.inc: + ln -s ../fortran/config/netcdf-fbsd.inc $@ diff --git a/science/hdf/files/mfhdf/nctest/Makefile b/science/hdf/files/mfhdf/nctest/Makefile new file mode 100644 index 000000000000..722d3524a482 --- /dev/null +++ b/science/hdf/files/mfhdf/nctest/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD$ + +PROG = nctest +NOMAN = 1 +CFLAGS += -I${.CURDIR}/../libsrc +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +SRCS = varget.c vargetg.c varput.c varputg.c vardef.c vartests.c \ + vputget.c vputgetg.c driver.c cdftests.c dimtests.c rec.c \ + atttests.c misctest.c add.c error.c emalloc.c val.c slabs.c + +install: + +.include <bsd.prog.mk> + +test: $(PROG) + @ echo "===========================" + @ echo "netCDF C interface tests" + @ echo "===========================" + env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src ./$(PROG) diff --git a/science/hdf/pkg-plist b/science/hdf/pkg-plist index f24c36cc89ae..3a4df094bb16 100644 --- a/science/hdf/pkg-plist +++ b/science/hdf/pkg-plist @@ -20,7 +20,11 @@ bin/vcompat bin/vmake bin/vshow lib/libmfhdf.a +lib/libmfhdf.so.2 +lib/libmfhdf.so lib/libdf.a +lib/libdf.so +lib/libdf.so.1 include/atom.h include/bitvect.h include/cdeflate.h @@ -30,7 +34,6 @@ include/crle.h include/cskphuff.h include/df.h include/dfan.h -include/dffunc.f90 include/dffunc.inc include/dfgr.h include/dfi.h @@ -45,7 +48,6 @@ include/hcomp.h include/hcompi.h include/hconv.h include/hdf.h -include/hdf.f90 include/hdf.inc include/hdf2netcdf.h include/hdfi.h @@ -63,7 +65,6 @@ include/mfgr.h include/mfhdf.h include/mstdio.h include/netcdf.h -include/netcdf.f90 include/netcdf.inc include/tbbt.h include/vattr.h diff --git a/science/hdf5-18/Makefile b/science/hdf5-18/Makefile index 7d13c145f3b3..bd569b4a26e7 100644 --- a/science/hdf5-18/Makefile +++ b/science/hdf5-18/Makefile @@ -6,63 +6,32 @@ # $FreeBSD$ # -DISTNAME= HDF4.1r2 -PKGNAME= hdf-4.1r2 +DISTNAME= HDF4.1r3 +PKGNAME= hdf-4.1r3 CATEGORIES= graphics -MASTER_SITES= ftp://ftp.ncsa.uiuc.edu/HDF/HDF4.1r2/tar/ +MASTER_SITES= ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF4.1r3/tar/ MAINTAINER= mi@aldan.algebra.com LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg MAN1= hdf.1 hdfunpac.1 ncdump.1 ncgen.1 +MAN3= gr_chunk.3 +MANCOMPRESSED= maybe -GNU_CONFIGURE= yes -FC?= f77 # Can also be g77 for the newer one -MAKE_FLAGS= CC="$(CC)" FC="${FC}" -f -MAKE_ENV= pwrkdir=${WRKDIR} -#"wrkdir" doesn't work for some reason in the above +MAKE_ARGS= PREFIX="${PREFIX}" -j 2 -# This will create dummy Makefiles and some links in the jpeg and libz -# subdirectories. This way, we do not need to hunt all the dependencies -# out. Shame on the lib's developers, though, this can not be done through -# `configure'. -mi -pre-build: - ${AR} -r ${WRKDIR}/libz.a /dev/null - ${RANLIB} ${WRKDIR}/libz.a - test -d ${WRKSRC}/hdf/jpeg.came-with-HDF || \ - ${MV} -f ${WRKSRC}/hdf/jpeg ${WRKSRC}/hdf/jpeg.came-with-HDF - -${MKDIR} ${WRKSRC}/hdf/jpeg - ${RM} -f ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} #Phony makefile > ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} >> ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} libjpeg.a: >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\t@${ECHO} Using the already installed JPEG library\n' \ - >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\nclean:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\ninstall-lib:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\ninstall:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - -${LN} -s ${PREFIX}/lib/libjpeg* ${WRKSRC}/hdf/jpeg/ - -${LN} -s ${PREFIX}/include/j*.h ${WRKSRC}/hdf/jpeg/ - test -d ${WRKSRC}/hdf/zlib.came-with-HDF || \ - ${MV} -f ${WRKSRC}/hdf/zlib ${WRKSRC}/hdf/zlib.came-with-HDF - -${MKDIR} ${WRKSRC}/hdf/zlib - ${RM} -f ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} #Phony makefile > ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} >> ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} libzlib.a: >> ${WRKSRC}/hdf/zlib/Makefile - printf '\t@${ECHO} Using the already installed ZLIB library\n' \ - >> ${WRKSRC}/hdf/zlib/Makefile - printf '\nclean:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - printf '\ninstall-lib:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - printf '\ninstall:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - -${LN} -s /usr/lib/${BINFORMAT}/libz* ${WRKSRC}/hdf/zlib/ - -${LN} -s /usr/include/zconf.h /usr/include/zlib.h ${WRKSRC}/hdf/zlib/ +post-patch: + ${RM} -rf ${WRKSRC}/hdf/jpeg + ${RM} -rf ${WRKSRC}/hdf/zlib -post-install: - @for binary in `${GREP} ^bin/ ${PLIST}` ; do strip ${PREFIX}/$$binary; done +do-configure: + ${CP} -rp ${FILESDIR}/Makefile ${FILESDIR}/hdf \ + ${FILESDIR}/mfhdf ${FILESDIR}/man ${WRKSRC} + ${LN} -s config/netcdf-fbsd.h ${WRKSRC}/mfhdf/libsrc/netcdf.h + ${LN} -s netcdf-fbsd.inc ${WRKSRC}/mfhdf/fortran/config/netcdf.inc -test: - cd ${WRKSRC}; make ${MAKE_FLAGS} ${MAKEFILE} test +test: build + cd ${WRKSRC}; ${MAKE} test .include <bsd.port.mk> diff --git a/science/hdf5-18/distinfo b/science/hdf5-18/distinfo index da49d2737e3e..6e22d24afd1e 100644 --- a/science/hdf5-18/distinfo +++ b/science/hdf5-18/distinfo @@ -1 +1 @@ -MD5 (HDF4.1r2.tar.gz) = 52814865529791e3a39637fd851a7143 +MD5 (HDF4.1r3.tar.gz) = 975f84ad8c5910841995c9d339fbd8bb diff --git a/science/hdf5-18/files/Makefile b/science/hdf5-18/files/Makefile new file mode 100644 index 000000000000..0dc23c19cf80 --- /dev/null +++ b/science/hdf5-18/files/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +SUBDIR = hdf mfhdf man +#PREFIX ?= /usr/local +LIBDIR ?= ${PREFIX}/lib +BINDIR ?= ${PREFIX}/bin + +.MAKEFLAGS: PREFIX=${PREFIX} LIBDIR=${LIBDIR} BINDIR=${BINDIR} + +test: all + # testing in hdf + @cd hdf && ${MAKE} hdf-test + # testing in mfhdf + @cd mfhdf && ${MAKE} test + +.include <bsd.subdir.mk> diff --git a/science/hdf5-18/files/hdf/Makefile b/science/hdf5-18/files/hdf/Makefile new file mode 100644 index 000000000000..1f9663c03246 --- /dev/null +++ b/science/hdf5-18/files/hdf/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +SUBDIR = src util test + +hdf-test: all + cd util && ${MAKE} test + cd test && ${MAKE} test + +.include <bsd.subdir.mk> diff --git a/science/hdf5-18/files/hdf/src/Makefile b/science/hdf5-18/files/hdf/src/Makefile new file mode 100644 index 000000000000..5dde282ec816 --- /dev/null +++ b/science/hdf5-18/files/hdf/src/Makefile @@ -0,0 +1,54 @@ +# $FreeBSD$ + +LIB=df + +# uncomment the line below to avoid building static libraries +#INTERNALLIB=YES +LIBDIR=${PREFIX}/lib + +SHLIB_MAJOR=1 +SHLIB_MINOR=0 + +SRCS=atom.c bitvect.c cdeflate.c cnbit.c cnone.c crle.c cskphuff.c \ + df24.c df24f.c dfan.c dfanf.c dfcomp.c dfconv.c dff.c dfgr.c \ + dfgroup.c dfimcomp.c dfjpeg.c dfkconv.c dfkcray.c dfkfuji.c \ + dfknat.c dfkswap.c dfkvms.c dfp.c dfpf.c dfr8.c dfr8f.c dfrle.c \ + dfsd.c dfsdf.c dfstubs.c dfufp2i.c dfunjpeg.c dfutil.c dfutilf.c \ + dir_mac.c dynarray.c glist.c hbitio.c hblocks.c hbuffer.c \ + hchunks.c hcomp.c hcompri.c hdfalloc.c herr.c herrf.c hextelt.c \ + hfile.c hfiledd.c hfilef.c hkit.c linklist.c mcache.c \ + mfan.c mfanf.c mfgr.c mfgrf.c mstdio.c tbbt.c vattr.c vattrf.c \ + vconv.c vg.c vgf.c vgp.c vhi.c vio.c vparse.c vrw.c vsfld.c \ + df24ff.f dfanff.f dfff.f dfpff.f dfr8ff.f dfsdff.f dfufp2if.f \ + hfileff.f mfgrff.f vattrff.f vgff.f + +CFLAGS += -I${PREFIX}/include +FFLAGS += ${CFLAGS} + +.if !defined(OSVERSION) +.if exists(/sbin/sysctl) +OSVERSION!= /sbin/sysctl -n kern.osreldate +.else +OSVERSION!= /usr/sbin/sysctl -n kern.osreldate +.endif +.endif + +.if ${OSVERSION} >= 400004 +LDADD += -L${PREFIX}/lib -ljpeg -lg2c -lz -lm +.else +LDADD += -L${PREFIX}/lib -ljpeg -lf2c -lz +.endif + +afterinstall: + install -c -o root -g wheel -m 444 \ + atom.h bitvect.h cdeflate.h cnbit.h cnone.h crle.h \ + cskphuff.h df.h dfan.h dfconvrt.h dfgr.h dfi.h dfivms.h \ + dfrig.h dfsd.h dfstubs.h dfufp2i.h dir_mac.h dynarray.h \ + glist.h hbitio.h hchunks.h hcomp.h hcompi.h hconv.h \ + hdf.h hdfi.h herr.h hfile.h hkit.h hlimits.h hntdefs.h \ + hproto.h hqueue.h htags.h linklist.h maldebug.h mcache.h \ + mfan.h mfgr.h mstdio.h patchlevel.h sys_dir_mac.h tbbt.h \ + trace.h vattr.h vg.h vgint.h hdf.inc dffunc.inc \ + ${PREFIX}/include + +.include <bsd.lib.mk> diff --git a/science/hdf5-18/files/hdf/test/Makefile b/science/hdf5-18/files/hdf/test/Makefile new file mode 100644 index 000000000000..3a3c8ca98524 --- /dev/null +++ b/science/hdf5-18/files/hdf/test/Makefile @@ -0,0 +1,68 @@ +# $FreeBSD$ + +CSRCS= rig.c sdstr.c blocks.c an.c anfile.c extelt.c file.c file1.c vers.c \ + sdmms.c sdnmms.c slab.c litend.c tvset.c comp.c bitio.c tree.c macros.c \ + conv.c nbit.c man.c mgr.c testhdf.c tbv.c tvsfpack.c chunks.c tvattr.c \ + buffer.c + +COBJS= ${CSRCS:S/.c/.o/g} + +FSRCS= fortest.c fortestF.f forsupff.f forsupf.c \ + manf.f mgrf.f slabwf.f t24f.f tanf.f tanfilef.f tpf.f tr8f.f \ + tsdmmsf.f tsdnmmsf.f tsdnntf.f tsdntf.f tsdstrf.f tstubsf.f \ + tvsetf.f, tvattrf.f + +FOBJS = fortestF.o forsupff.o forsupf.o \ + manf.o mgrf.o slabwf.o t24f.o tanf.o tanfilef.o tpf.o tr8f.o \ + tsdmmsf.o tsdnmmsf.o tsdnntf.o tsdntf.o tsdstrf.o tstubsf.o \ + tvsetf.o tvattrf.o + +#CFORSUPSRCS = forsupf.c + +HDFLIB = ${.CURDIR}/../src +CFLAGS += -I${HDFLIB} +FFLAGS += ${CFLAGS} -Nn802 -Nx400 + +FTESTS = fortest fortestF + +all: testhdf $(FTESTS) gentest + +#CFORSUPOBJS = forsupf.o + +TESTF = fortest.o + +# directory used by extelt test. +TESTDIR = testdir + +$(FOBJS): fortest.inc + +test: atest-hdf + +atest-hdf: testhdf $(FTESTS) + -rm -f *.hdf + env LD_LIBRARY_PATH=${.CURDIR}/../src ./testhdf + -rm -f *.hdf + env LD_LIBRARY_PATH=${.CURDIR}/../src ./fortest + +testhdf: $(COBJS) $(HDFLIB)/libdf.so + $(CC) -o testhdf $(COBJS) $(HDFLIB)/libdf.so -lm + test -d $(TESTDIR) || mkdir $(TESTDIR) + +fortestF: $(FOBJS) $(HDFLIB)/libdf.so + $(FC) $(FFLAGS) -o $@ $(FOBJS) $(HDFLIB)/libdf.so -lm + +fortest: $(HDFLIB)/libdf.so fortest.c $(CHDRS) + $(CC) $(CFLAGS) -o fortest fortest.c $(HDFLIB)/libdf.so -lm + +gentest: gentest.c $(HDFLIB)/libdf.so + $(CC) $(CFLAGS) gentest.c -o gentest $(HDFLIB)/libdf.so -lm + +clean: + -rm -f $(COBJS) testhdf $(FOBJS) $(FTESTS) \ + core *.hdf ptesthdf qtesthdf gentest *.o fortest.arg $(TESTDIR)/* \ + .depend + +depend: + mkdep ${CFLAGS} ${CSRCS} + +install: diff --git a/science/hdf5-18/files/hdf/util/Makefile b/science/hdf5-18/files/hdf/util/Makefile new file mode 100644 index 000000000000..6d4ccae200d4 --- /dev/null +++ b/science/hdf5-18/files/hdf/util/Makefile @@ -0,0 +1,30 @@ +# $FreeBSD$ + +UTILS = hdf24to8 hdfcomp hdfls hdfpack hdftopal hdftor8 paltohdf \ + r8tohdf ristosds vmake vshow hdf8to24 hdf2jpeg jpeg2hdf fp2hdf \ + hdfunpac vcompat + +all: ${UTILS} hdfed + +HEOBJ = he_main.o he_cntrl.o he_disp.o he_file.o + +#CFLAGS += -I${PREFIX}/include -I${.CURDIR}/../src/ +CFLAGS += -I${.CURDIR}/../src/ +#LDFLAGS += -L${PREFIX}/lib -ljpeg -L${.CURDIR}/../src/ -ldf -lz +LDFLAGS += -L${.CURDIR}/../src/ -ldf + +hdfed: he.h he_proto.h $(HEOBJ) + $(CC) $(HEOBJ) $(LDFLAGS) -o hdfed + +test: all fptest + env LD_LIBRARY_PATH=${.CURDIR}/../src ./testutil.sh + +clean: + -rm -f *.o $(UTILS) hdfed fptest + -rm -f o* ctx* cb* fptestf .depend + +depend: + mkdep ${CFLAGS} ${UTILS:S/$/.c/g} ${HEOBJ:S/.o/.c/g} + +install: all + install -c -s -o root -g wheel -m 555 ${UTILS} hdfed ${BINDIR} diff --git a/science/hdf5-18/files/man/Makefile b/science/hdf5-18/files/man/Makefile new file mode 100644 index 000000000000..eeea6c1997f7 --- /dev/null +++ b/science/hdf5-18/files/man/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +MANDIR = ${PREFIX}/man/man + +MAN1 = hdf.1 hdfunpac.1 +MAN3 = gr_chunk.3 + +.include <bsd.man.mk> + +install: all-man maninstall + +clean: + -rm -f *.gz + +all: all-man + +depend: diff --git a/science/hdf5-18/files/mfhdf/Makefile b/science/hdf5-18/files/mfhdf/Makefile new file mode 100644 index 000000000000..202766e54f67 --- /dev/null +++ b/science/hdf5-18/files/mfhdf/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +SUBDIR = fortran libsrc ncgen ncdump nctest dumper + +.include <bsd.subdir.mk> + +test: all + @for d in ${SUBDIR} ; do \ + echo "===> testing in $$d"; \ + cd $$d; \ + ${MAKE} test; \ + cd ..; \ + done diff --git a/science/hdf5-18/files/mfhdf/dumper/Makefile b/science/hdf5-18/files/mfhdf/dumper/Makefile new file mode 100644 index 000000000000..1bd8b3dfa744 --- /dev/null +++ b/science/hdf5-18/files/mfhdf/dumper/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +PROG = hdp +NOMAN = 1 +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc -I${.CURDIR}/../../hdf/src + +SRCS = hdp.c hdp_list.c hdp_sds.c hdp_util.c hdp_vd.c hdp_vg.c hdp_rig.c show.c hdp_dump.c hdp_gr.c + +.include <bsd.prog.mk> + +test: ${PROG} + env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src sh testhdp.sh diff --git a/science/hdf5-18/files/mfhdf/fortran/Makefile b/science/hdf5-18/files/mfhdf/fortran/Makefile new file mode 100644 index 000000000000..03571382ccc3 --- /dev/null +++ b/science/hdf5-18/files/mfhdf/fortran/Makefile @@ -0,0 +1,42 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR} ${.CURDIR}/config + +all: + +NOMAN = 1 + +FFLAGS += ${CFLAGS} -DNDEBUG -Nn802 -Nx400 + +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf + +afterinstall: + install -c -o root -g wheel -m 444 config/netcdf-fbsd.inc \ + ${PREFIX}/include/netcdf.inc + +.include <bsd.prog.mk> + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src + +CLEANFILES+= hdftest hdftest.o ftest ftest-fbsd.o + +config/netcdf.inc: + ln -s netcdf-fbsd.inc config/netcdf.inc + +ftest: ftest-fbsd.f config/netcdf.inc + ${MAKE} PROG=$@ SRCS=ftest-fbsd.f $@ + +hdftest: hdftest.f + ${MAKE} PROG=$@ SRCS=hdftest.f $@ + +test: ftest hdftest + mkdir -p testdir + # ================================ + # netCDF Fortran interface tests + # ================================ + ${ENVIR} ./ftest + ${ENVIR} ./hdftest > hdfout.new + @diff -Bb hdfout.new hdftst.sav && \ + echo "*** HDF-SD Fortran interface tests passed ***" || \ + (echo "*** HDF-SD Fortran interface tests failed ***"; \ + echo "The above differences are OK if small") diff --git a/science/hdf5-18/files/mfhdf/libsrc/Makefile b/science/hdf5-18/files/mfhdf/libsrc/Makefile new file mode 100644 index 000000000000..7ca23f2d374e --- /dev/null +++ b/science/hdf5-18/files/mfhdf/libsrc/Makefile @@ -0,0 +1,43 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR} ${.CURDIR}/../fortran/config ${.CURDIR}/../fortran + +SRCS = array.c attr.c cdf.c dim.c file.c iarray.c error.c \ + globdef.c putget.c putgetg.c sharray.c string.c var.c \ + hdfsds.c mfsd.c nssdc.c xdrposix.c \ + jackets-fbsd.c mfsdf.c mfsdff.f + +LIB = mfhdf +SHLIB_MAJOR = 2 +SHLIB_MINOR = 3 + +LIBDIR = ${PREFIX}/lib + +# uncomment the line below to avoid building static libraries +#INTERNALLIB = Yes + +CFLAGS += -DNDEBUG -DHDF -I${.CURDIR}/../../hdf/src -I${.CURDIR} +.if ${MACHINE_ARCH} == "i386" +CFLAGS += -DSWAP +.endif + +LDADD += -L${.CURDIR}/../../hdf/src -ldf +LDFLAGS += -L. -l${LIB} ${LDADD} + +afterinstall: + install -c -o root -g wheel -m 444 hdf2netcdf.h local_nc.h \ + mfhdf.h netcdf.h ${PREFIX}/include + +.include <bsd.lib.mk> + +test: ${SHLIB_NAME} cdftest hdftest + env LD_LIBRARY_PATH=${.CURDIR}:${.CURDIR}/../../hdf/src ./cdftest > cdfout.new + @diff cdfout.new testout.sav && \ + echo "*** netCDF passes formatted test ***" || \ + (echo "*** netCDF fails formatted test ***" ; \ + echo "The above differences are OK if small") + env LD_LIBRARY_PATH=${.CURDIR}:${.CURDIR}/../../hdf/src ./hdftest > hdfout.new + @diff hdfout.new hdfout.sav && \ + echo "*** HDF passes formatted test ***" || \ + (echo "*** HDF fails formatted test ***" ; \ + echo "The above differences are OK if small") diff --git a/science/hdf5-18/files/mfhdf/ncdump/Makefile b/science/hdf5-18/files/mfhdf/ncdump/Makefile new file mode 100644 index 000000000000..727b1de60b32 --- /dev/null +++ b/science/hdf5-18/files/mfhdf/ncdump/Makefile @@ -0,0 +1,22 @@ +# $FreeBSD$ + +PROG = ncdump +MANDIR = ${PREFIX}/man/man + +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc +SRCS = ncdump.c vardata.c dumplib.c + +.include <bsd.prog.mk> + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../../hdf/src:${.CURDIR}/../libsrc +NCGEN = ${.CURDIR}/../ncgen/ncgen + +test: $(PROG) test0.cdl + ${ENVIR} $(NCGEN) -o test0.nc -n test0.cdl + ${ENVIR} ./$(PROG) test0.nc > test1.cdl + ${ENVIR} $(NCGEN) -o test1.nc -n test1.cdl + ${ENVIR} ./$(PROG) -n test0 test1.nc > test2.cdl + @cmp test1.cdl test2.cdl && \ + echo "*** $(PROGRAM) test successful ***" ; \ + rm test1.cdl test1.nc test2.cdl diff --git a/science/hdf5-18/files/mfhdf/ncgen/Makefile b/science/hdf5-18/files/mfhdf/ncgen/Makefile new file mode 100644 index 000000000000..d954137cffa8 --- /dev/null +++ b/science/hdf5-18/files/mfhdf/ncgen/Makefile @@ -0,0 +1,72 @@ +# $FreeBSD$ + +PROG = ncgen +MANDIR = ${PREFIX}/man/man +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc -I${.CURDIR}/../../hdf/src -DNDEBUG +SRCS = main.c generate.c load.c ncgentab.c escapes.c \ + getfill.c init.c close.c genlib.c + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src +NCDUMP = ${.CURDIR}/../ncdump/ncdump + +test: $(PROG) test0.cdl btest ctest ftest + +ncgenyy.c: ncgen.l + ${LEX} ${LFLAGS} ncgen.l + mv lex.yy.c ncgenyy.c + +ncgentab.c: ncgenyy.c ncgen.y + ${YACC} ${YFLAGS} ncgen.y + mv y.tab.c ncgentab.c + mv y.tab.h ncgentab.h + +.include <bsd.prog.mk> + +# +# test "-b" option of ncgen +# +btest: $(PROG) test0.cdl test1.cdl + ${ENVIR} ./$(PROG) -b test1.cdl + ${ENVIR} $(NCDUMP) test1.nc > test2.cdl + @diff test1.cdl test2.cdl && \ + echo "*** $(PROG) -b test successful ***" + +# +# test "-c" option of ncgen +# +ctest: test1.cdl ctest0 + ${ENVIR} ./ctest0 # tests `-c' option, creates ctest0.nc + ${ENVIR} $(NCDUMP) -n test1 ctest0.nc > ctest1.cdl + @diff test1.cdl ctest1.cdl && \ + echo "*** $(PROG) -c test successful ***" + +ctest0: ncgen test0.cdl + ${ENVIR} ./$(PROG) -c -o ctest0.nc test0.cdl > test0.c + $(CC) $(CFLAGS) -o $@ test0.c ${LDFLAGS} + +# +# test "-f" option of ncgen +# +ftest: test1.cdl ftest0 + ${ENVIR} ./ftest0 + ${ENVIR} $(NCDUMP) -n test1 ftest0.nc > ftest1.cdl + @if diff test1.cdl ftest1.cdl; then \ + echo "*** ncgen -f test successful ***"; \ + else \ + echo "*** ncgen -f test failed " \ + "(but roundoff differences are OK) ***"; \ + fi + +ftest0: $(PROG) test0.cdl netcdf.inc + ${ENVIR} ./$(PROG) -f -o ftest0.nc test0.cdl > test0.f; \ + $(FC) $(FFLAGS) ${CFLAGS} -o $@ test0.f ${LDFLAGS} + +test1.cdl: test0.nc + ${ENVIR} $(NCDUMP) -n test1 test0.nc > $@ + +test0.nc: $(PROG) test0.cdl + ${ENVIR} ./$(PROG) -b -o test0.nc test0.cdl + +netcdf.inc: + ln -s ../fortran/config/netcdf-fbsd.inc $@ diff --git a/science/hdf5-18/files/mfhdf/nctest/Makefile b/science/hdf5-18/files/mfhdf/nctest/Makefile new file mode 100644 index 000000000000..722d3524a482 --- /dev/null +++ b/science/hdf5-18/files/mfhdf/nctest/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD$ + +PROG = nctest +NOMAN = 1 +CFLAGS += -I${.CURDIR}/../libsrc +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +SRCS = varget.c vargetg.c varput.c varputg.c vardef.c vartests.c \ + vputget.c vputgetg.c driver.c cdftests.c dimtests.c rec.c \ + atttests.c misctest.c add.c error.c emalloc.c val.c slabs.c + +install: + +.include <bsd.prog.mk> + +test: $(PROG) + @ echo "===========================" + @ echo "netCDF C interface tests" + @ echo "===========================" + env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src ./$(PROG) diff --git a/science/hdf5-18/pkg-plist b/science/hdf5-18/pkg-plist index f24c36cc89ae..3a4df094bb16 100644 --- a/science/hdf5-18/pkg-plist +++ b/science/hdf5-18/pkg-plist @@ -20,7 +20,11 @@ bin/vcompat bin/vmake bin/vshow lib/libmfhdf.a +lib/libmfhdf.so.2 +lib/libmfhdf.so lib/libdf.a +lib/libdf.so +lib/libdf.so.1 include/atom.h include/bitvect.h include/cdeflate.h @@ -30,7 +34,6 @@ include/crle.h include/cskphuff.h include/df.h include/dfan.h -include/dffunc.f90 include/dffunc.inc include/dfgr.h include/dfi.h @@ -45,7 +48,6 @@ include/hcomp.h include/hcompi.h include/hconv.h include/hdf.h -include/hdf.f90 include/hdf.inc include/hdf2netcdf.h include/hdfi.h @@ -63,7 +65,6 @@ include/mfgr.h include/mfhdf.h include/mstdio.h include/netcdf.h -include/netcdf.f90 include/netcdf.inc include/tbbt.h include/vattr.h diff --git a/science/hdf5/Makefile b/science/hdf5/Makefile index 7d13c145f3b3..bd569b4a26e7 100644 --- a/science/hdf5/Makefile +++ b/science/hdf5/Makefile @@ -6,63 +6,32 @@ # $FreeBSD$ # -DISTNAME= HDF4.1r2 -PKGNAME= hdf-4.1r2 +DISTNAME= HDF4.1r3 +PKGNAME= hdf-4.1r3 CATEGORIES= graphics -MASTER_SITES= ftp://ftp.ncsa.uiuc.edu/HDF/HDF4.1r2/tar/ +MASTER_SITES= ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF4.1r3/tar/ MAINTAINER= mi@aldan.algebra.com LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg MAN1= hdf.1 hdfunpac.1 ncdump.1 ncgen.1 +MAN3= gr_chunk.3 +MANCOMPRESSED= maybe -GNU_CONFIGURE= yes -FC?= f77 # Can also be g77 for the newer one -MAKE_FLAGS= CC="$(CC)" FC="${FC}" -f -MAKE_ENV= pwrkdir=${WRKDIR} -#"wrkdir" doesn't work for some reason in the above +MAKE_ARGS= PREFIX="${PREFIX}" -j 2 -# This will create dummy Makefiles and some links in the jpeg and libz -# subdirectories. This way, we do not need to hunt all the dependencies -# out. Shame on the lib's developers, though, this can not be done through -# `configure'. -mi -pre-build: - ${AR} -r ${WRKDIR}/libz.a /dev/null - ${RANLIB} ${WRKDIR}/libz.a - test -d ${WRKSRC}/hdf/jpeg.came-with-HDF || \ - ${MV} -f ${WRKSRC}/hdf/jpeg ${WRKSRC}/hdf/jpeg.came-with-HDF - -${MKDIR} ${WRKSRC}/hdf/jpeg - ${RM} -f ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} #Phony makefile > ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} >> ${WRKSRC}/hdf/jpeg/Makefile - ${ECHO} libjpeg.a: >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\t@${ECHO} Using the already installed JPEG library\n' \ - >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\nclean:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\ninstall-lib:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - printf '\ninstall:\n\ttrue\n' >> ${WRKSRC}/hdf/jpeg/Makefile - -${LN} -s ${PREFIX}/lib/libjpeg* ${WRKSRC}/hdf/jpeg/ - -${LN} -s ${PREFIX}/include/j*.h ${WRKSRC}/hdf/jpeg/ - test -d ${WRKSRC}/hdf/zlib.came-with-HDF || \ - ${MV} -f ${WRKSRC}/hdf/zlib ${WRKSRC}/hdf/zlib.came-with-HDF - -${MKDIR} ${WRKSRC}/hdf/zlib - ${RM} -f ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} #Phony makefile > ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} >> ${WRKSRC}/hdf/zlib/Makefile - ${ECHO} libzlib.a: >> ${WRKSRC}/hdf/zlib/Makefile - printf '\t@${ECHO} Using the already installed ZLIB library\n' \ - >> ${WRKSRC}/hdf/zlib/Makefile - printf '\nclean:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - printf '\ninstall-lib:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - printf '\ninstall:\n\ttrue\n' >> ${WRKSRC}/hdf/zlib/Makefile - -${LN} -s /usr/lib/${BINFORMAT}/libz* ${WRKSRC}/hdf/zlib/ - -${LN} -s /usr/include/zconf.h /usr/include/zlib.h ${WRKSRC}/hdf/zlib/ +post-patch: + ${RM} -rf ${WRKSRC}/hdf/jpeg + ${RM} -rf ${WRKSRC}/hdf/zlib -post-install: - @for binary in `${GREP} ^bin/ ${PLIST}` ; do strip ${PREFIX}/$$binary; done +do-configure: + ${CP} -rp ${FILESDIR}/Makefile ${FILESDIR}/hdf \ + ${FILESDIR}/mfhdf ${FILESDIR}/man ${WRKSRC} + ${LN} -s config/netcdf-fbsd.h ${WRKSRC}/mfhdf/libsrc/netcdf.h + ${LN} -s netcdf-fbsd.inc ${WRKSRC}/mfhdf/fortran/config/netcdf.inc -test: - cd ${WRKSRC}; make ${MAKE_FLAGS} ${MAKEFILE} test +test: build + cd ${WRKSRC}; ${MAKE} test .include <bsd.port.mk> diff --git a/science/hdf5/distinfo b/science/hdf5/distinfo index da49d2737e3e..6e22d24afd1e 100644 --- a/science/hdf5/distinfo +++ b/science/hdf5/distinfo @@ -1 +1 @@ -MD5 (HDF4.1r2.tar.gz) = 52814865529791e3a39637fd851a7143 +MD5 (HDF4.1r3.tar.gz) = 975f84ad8c5910841995c9d339fbd8bb diff --git a/science/hdf5/files/Makefile b/science/hdf5/files/Makefile new file mode 100644 index 000000000000..0dc23c19cf80 --- /dev/null +++ b/science/hdf5/files/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +SUBDIR = hdf mfhdf man +#PREFIX ?= /usr/local +LIBDIR ?= ${PREFIX}/lib +BINDIR ?= ${PREFIX}/bin + +.MAKEFLAGS: PREFIX=${PREFIX} LIBDIR=${LIBDIR} BINDIR=${BINDIR} + +test: all + # testing in hdf + @cd hdf && ${MAKE} hdf-test + # testing in mfhdf + @cd mfhdf && ${MAKE} test + +.include <bsd.subdir.mk> diff --git a/science/hdf5/files/hdf/Makefile b/science/hdf5/files/hdf/Makefile new file mode 100644 index 000000000000..1f9663c03246 --- /dev/null +++ b/science/hdf5/files/hdf/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +SUBDIR = src util test + +hdf-test: all + cd util && ${MAKE} test + cd test && ${MAKE} test + +.include <bsd.subdir.mk> diff --git a/science/hdf5/files/hdf/src/Makefile b/science/hdf5/files/hdf/src/Makefile new file mode 100644 index 000000000000..5dde282ec816 --- /dev/null +++ b/science/hdf5/files/hdf/src/Makefile @@ -0,0 +1,54 @@ +# $FreeBSD$ + +LIB=df + +# uncomment the line below to avoid building static libraries +#INTERNALLIB=YES +LIBDIR=${PREFIX}/lib + +SHLIB_MAJOR=1 +SHLIB_MINOR=0 + +SRCS=atom.c bitvect.c cdeflate.c cnbit.c cnone.c crle.c cskphuff.c \ + df24.c df24f.c dfan.c dfanf.c dfcomp.c dfconv.c dff.c dfgr.c \ + dfgroup.c dfimcomp.c dfjpeg.c dfkconv.c dfkcray.c dfkfuji.c \ + dfknat.c dfkswap.c dfkvms.c dfp.c dfpf.c dfr8.c dfr8f.c dfrle.c \ + dfsd.c dfsdf.c dfstubs.c dfufp2i.c dfunjpeg.c dfutil.c dfutilf.c \ + dir_mac.c dynarray.c glist.c hbitio.c hblocks.c hbuffer.c \ + hchunks.c hcomp.c hcompri.c hdfalloc.c herr.c herrf.c hextelt.c \ + hfile.c hfiledd.c hfilef.c hkit.c linklist.c mcache.c \ + mfan.c mfanf.c mfgr.c mfgrf.c mstdio.c tbbt.c vattr.c vattrf.c \ + vconv.c vg.c vgf.c vgp.c vhi.c vio.c vparse.c vrw.c vsfld.c \ + df24ff.f dfanff.f dfff.f dfpff.f dfr8ff.f dfsdff.f dfufp2if.f \ + hfileff.f mfgrff.f vattrff.f vgff.f + +CFLAGS += -I${PREFIX}/include +FFLAGS += ${CFLAGS} + +.if !defined(OSVERSION) +.if exists(/sbin/sysctl) +OSVERSION!= /sbin/sysctl -n kern.osreldate +.else +OSVERSION!= /usr/sbin/sysctl -n kern.osreldate +.endif +.endif + +.if ${OSVERSION} >= 400004 +LDADD += -L${PREFIX}/lib -ljpeg -lg2c -lz -lm +.else +LDADD += -L${PREFIX}/lib -ljpeg -lf2c -lz +.endif + +afterinstall: + install -c -o root -g wheel -m 444 \ + atom.h bitvect.h cdeflate.h cnbit.h cnone.h crle.h \ + cskphuff.h df.h dfan.h dfconvrt.h dfgr.h dfi.h dfivms.h \ + dfrig.h dfsd.h dfstubs.h dfufp2i.h dir_mac.h dynarray.h \ + glist.h hbitio.h hchunks.h hcomp.h hcompi.h hconv.h \ + hdf.h hdfi.h herr.h hfile.h hkit.h hlimits.h hntdefs.h \ + hproto.h hqueue.h htags.h linklist.h maldebug.h mcache.h \ + mfan.h mfgr.h mstdio.h patchlevel.h sys_dir_mac.h tbbt.h \ + trace.h vattr.h vg.h vgint.h hdf.inc dffunc.inc \ + ${PREFIX}/include + +.include <bsd.lib.mk> diff --git a/science/hdf5/files/hdf/test/Makefile b/science/hdf5/files/hdf/test/Makefile new file mode 100644 index 000000000000..3a3c8ca98524 --- /dev/null +++ b/science/hdf5/files/hdf/test/Makefile @@ -0,0 +1,68 @@ +# $FreeBSD$ + +CSRCS= rig.c sdstr.c blocks.c an.c anfile.c extelt.c file.c file1.c vers.c \ + sdmms.c sdnmms.c slab.c litend.c tvset.c comp.c bitio.c tree.c macros.c \ + conv.c nbit.c man.c mgr.c testhdf.c tbv.c tvsfpack.c chunks.c tvattr.c \ + buffer.c + +COBJS= ${CSRCS:S/.c/.o/g} + +FSRCS= fortest.c fortestF.f forsupff.f forsupf.c \ + manf.f mgrf.f slabwf.f t24f.f tanf.f tanfilef.f tpf.f tr8f.f \ + tsdmmsf.f tsdnmmsf.f tsdnntf.f tsdntf.f tsdstrf.f tstubsf.f \ + tvsetf.f, tvattrf.f + +FOBJS = fortestF.o forsupff.o forsupf.o \ + manf.o mgrf.o slabwf.o t24f.o tanf.o tanfilef.o tpf.o tr8f.o \ + tsdmmsf.o tsdnmmsf.o tsdnntf.o tsdntf.o tsdstrf.o tstubsf.o \ + tvsetf.o tvattrf.o + +#CFORSUPSRCS = forsupf.c + +HDFLIB = ${.CURDIR}/../src +CFLAGS += -I${HDFLIB} +FFLAGS += ${CFLAGS} -Nn802 -Nx400 + +FTESTS = fortest fortestF + +all: testhdf $(FTESTS) gentest + +#CFORSUPOBJS = forsupf.o + +TESTF = fortest.o + +# directory used by extelt test. +TESTDIR = testdir + +$(FOBJS): fortest.inc + +test: atest-hdf + +atest-hdf: testhdf $(FTESTS) + -rm -f *.hdf + env LD_LIBRARY_PATH=${.CURDIR}/../src ./testhdf + -rm -f *.hdf + env LD_LIBRARY_PATH=${.CURDIR}/../src ./fortest + +testhdf: $(COBJS) $(HDFLIB)/libdf.so + $(CC) -o testhdf $(COBJS) $(HDFLIB)/libdf.so -lm + test -d $(TESTDIR) || mkdir $(TESTDIR) + +fortestF: $(FOBJS) $(HDFLIB)/libdf.so + $(FC) $(FFLAGS) -o $@ $(FOBJS) $(HDFLIB)/libdf.so -lm + +fortest: $(HDFLIB)/libdf.so fortest.c $(CHDRS) + $(CC) $(CFLAGS) -o fortest fortest.c $(HDFLIB)/libdf.so -lm + +gentest: gentest.c $(HDFLIB)/libdf.so + $(CC) $(CFLAGS) gentest.c -o gentest $(HDFLIB)/libdf.so -lm + +clean: + -rm -f $(COBJS) testhdf $(FOBJS) $(FTESTS) \ + core *.hdf ptesthdf qtesthdf gentest *.o fortest.arg $(TESTDIR)/* \ + .depend + +depend: + mkdep ${CFLAGS} ${CSRCS} + +install: diff --git a/science/hdf5/files/hdf/util/Makefile b/science/hdf5/files/hdf/util/Makefile new file mode 100644 index 000000000000..6d4ccae200d4 --- /dev/null +++ b/science/hdf5/files/hdf/util/Makefile @@ -0,0 +1,30 @@ +# $FreeBSD$ + +UTILS = hdf24to8 hdfcomp hdfls hdfpack hdftopal hdftor8 paltohdf \ + r8tohdf ristosds vmake vshow hdf8to24 hdf2jpeg jpeg2hdf fp2hdf \ + hdfunpac vcompat + +all: ${UTILS} hdfed + +HEOBJ = he_main.o he_cntrl.o he_disp.o he_file.o + +#CFLAGS += -I${PREFIX}/include -I${.CURDIR}/../src/ +CFLAGS += -I${.CURDIR}/../src/ +#LDFLAGS += -L${PREFIX}/lib -ljpeg -L${.CURDIR}/../src/ -ldf -lz +LDFLAGS += -L${.CURDIR}/../src/ -ldf + +hdfed: he.h he_proto.h $(HEOBJ) + $(CC) $(HEOBJ) $(LDFLAGS) -o hdfed + +test: all fptest + env LD_LIBRARY_PATH=${.CURDIR}/../src ./testutil.sh + +clean: + -rm -f *.o $(UTILS) hdfed fptest + -rm -f o* ctx* cb* fptestf .depend + +depend: + mkdep ${CFLAGS} ${UTILS:S/$/.c/g} ${HEOBJ:S/.o/.c/g} + +install: all + install -c -s -o root -g wheel -m 555 ${UTILS} hdfed ${BINDIR} diff --git a/science/hdf5/files/man/Makefile b/science/hdf5/files/man/Makefile new file mode 100644 index 000000000000..eeea6c1997f7 --- /dev/null +++ b/science/hdf5/files/man/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +MANDIR = ${PREFIX}/man/man + +MAN1 = hdf.1 hdfunpac.1 +MAN3 = gr_chunk.3 + +.include <bsd.man.mk> + +install: all-man maninstall + +clean: + -rm -f *.gz + +all: all-man + +depend: diff --git a/science/hdf5/files/mfhdf/Makefile b/science/hdf5/files/mfhdf/Makefile new file mode 100644 index 000000000000..202766e54f67 --- /dev/null +++ b/science/hdf5/files/mfhdf/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +SUBDIR = fortran libsrc ncgen ncdump nctest dumper + +.include <bsd.subdir.mk> + +test: all + @for d in ${SUBDIR} ; do \ + echo "===> testing in $$d"; \ + cd $$d; \ + ${MAKE} test; \ + cd ..; \ + done diff --git a/science/hdf5/files/mfhdf/dumper/Makefile b/science/hdf5/files/mfhdf/dumper/Makefile new file mode 100644 index 000000000000..1bd8b3dfa744 --- /dev/null +++ b/science/hdf5/files/mfhdf/dumper/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +PROG = hdp +NOMAN = 1 +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc -I${.CURDIR}/../../hdf/src + +SRCS = hdp.c hdp_list.c hdp_sds.c hdp_util.c hdp_vd.c hdp_vg.c hdp_rig.c show.c hdp_dump.c hdp_gr.c + +.include <bsd.prog.mk> + +test: ${PROG} + env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src sh testhdp.sh diff --git a/science/hdf5/files/mfhdf/fortran/Makefile b/science/hdf5/files/mfhdf/fortran/Makefile new file mode 100644 index 000000000000..03571382ccc3 --- /dev/null +++ b/science/hdf5/files/mfhdf/fortran/Makefile @@ -0,0 +1,42 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR} ${.CURDIR}/config + +all: + +NOMAN = 1 + +FFLAGS += ${CFLAGS} -DNDEBUG -Nn802 -Nx400 + +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf + +afterinstall: + install -c -o root -g wheel -m 444 config/netcdf-fbsd.inc \ + ${PREFIX}/include/netcdf.inc + +.include <bsd.prog.mk> + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src + +CLEANFILES+= hdftest hdftest.o ftest ftest-fbsd.o + +config/netcdf.inc: + ln -s netcdf-fbsd.inc config/netcdf.inc + +ftest: ftest-fbsd.f config/netcdf.inc + ${MAKE} PROG=$@ SRCS=ftest-fbsd.f $@ + +hdftest: hdftest.f + ${MAKE} PROG=$@ SRCS=hdftest.f $@ + +test: ftest hdftest + mkdir -p testdir + # ================================ + # netCDF Fortran interface tests + # ================================ + ${ENVIR} ./ftest + ${ENVIR} ./hdftest > hdfout.new + @diff -Bb hdfout.new hdftst.sav && \ + echo "*** HDF-SD Fortran interface tests passed ***" || \ + (echo "*** HDF-SD Fortran interface tests failed ***"; \ + echo "The above differences are OK if small") diff --git a/science/hdf5/files/mfhdf/libsrc/Makefile b/science/hdf5/files/mfhdf/libsrc/Makefile new file mode 100644 index 000000000000..7ca23f2d374e --- /dev/null +++ b/science/hdf5/files/mfhdf/libsrc/Makefile @@ -0,0 +1,43 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR} ${.CURDIR}/../fortran/config ${.CURDIR}/../fortran + +SRCS = array.c attr.c cdf.c dim.c file.c iarray.c error.c \ + globdef.c putget.c putgetg.c sharray.c string.c var.c \ + hdfsds.c mfsd.c nssdc.c xdrposix.c \ + jackets-fbsd.c mfsdf.c mfsdff.f + +LIB = mfhdf +SHLIB_MAJOR = 2 +SHLIB_MINOR = 3 + +LIBDIR = ${PREFIX}/lib + +# uncomment the line below to avoid building static libraries +#INTERNALLIB = Yes + +CFLAGS += -DNDEBUG -DHDF -I${.CURDIR}/../../hdf/src -I${.CURDIR} +.if ${MACHINE_ARCH} == "i386" +CFLAGS += -DSWAP +.endif + +LDADD += -L${.CURDIR}/../../hdf/src -ldf +LDFLAGS += -L. -l${LIB} ${LDADD} + +afterinstall: + install -c -o root -g wheel -m 444 hdf2netcdf.h local_nc.h \ + mfhdf.h netcdf.h ${PREFIX}/include + +.include <bsd.lib.mk> + +test: ${SHLIB_NAME} cdftest hdftest + env LD_LIBRARY_PATH=${.CURDIR}:${.CURDIR}/../../hdf/src ./cdftest > cdfout.new + @diff cdfout.new testout.sav && \ + echo "*** netCDF passes formatted test ***" || \ + (echo "*** netCDF fails formatted test ***" ; \ + echo "The above differences are OK if small") + env LD_LIBRARY_PATH=${.CURDIR}:${.CURDIR}/../../hdf/src ./hdftest > hdfout.new + @diff hdfout.new hdfout.sav && \ + echo "*** HDF passes formatted test ***" || \ + (echo "*** HDF fails formatted test ***" ; \ + echo "The above differences are OK if small") diff --git a/science/hdf5/files/mfhdf/ncdump/Makefile b/science/hdf5/files/mfhdf/ncdump/Makefile new file mode 100644 index 000000000000..727b1de60b32 --- /dev/null +++ b/science/hdf5/files/mfhdf/ncdump/Makefile @@ -0,0 +1,22 @@ +# $FreeBSD$ + +PROG = ncdump +MANDIR = ${PREFIX}/man/man + +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc +SRCS = ncdump.c vardata.c dumplib.c + +.include <bsd.prog.mk> + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../../hdf/src:${.CURDIR}/../libsrc +NCGEN = ${.CURDIR}/../ncgen/ncgen + +test: $(PROG) test0.cdl + ${ENVIR} $(NCGEN) -o test0.nc -n test0.cdl + ${ENVIR} ./$(PROG) test0.nc > test1.cdl + ${ENVIR} $(NCGEN) -o test1.nc -n test1.cdl + ${ENVIR} ./$(PROG) -n test0 test1.nc > test2.cdl + @cmp test1.cdl test2.cdl && \ + echo "*** $(PROGRAM) test successful ***" ; \ + rm test1.cdl test1.nc test2.cdl diff --git a/science/hdf5/files/mfhdf/ncgen/Makefile b/science/hdf5/files/mfhdf/ncgen/Makefile new file mode 100644 index 000000000000..d954137cffa8 --- /dev/null +++ b/science/hdf5/files/mfhdf/ncgen/Makefile @@ -0,0 +1,72 @@ +# $FreeBSD$ + +PROG = ncgen +MANDIR = ${PREFIX}/man/man +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +CFLAGS += -I${.CURDIR}/../libsrc -I${.CURDIR}/../../hdf/src -DNDEBUG +SRCS = main.c generate.c load.c ncgentab.c escapes.c \ + getfill.c init.c close.c genlib.c + +ENVIR = env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src +NCDUMP = ${.CURDIR}/../ncdump/ncdump + +test: $(PROG) test0.cdl btest ctest ftest + +ncgenyy.c: ncgen.l + ${LEX} ${LFLAGS} ncgen.l + mv lex.yy.c ncgenyy.c + +ncgentab.c: ncgenyy.c ncgen.y + ${YACC} ${YFLAGS} ncgen.y + mv y.tab.c ncgentab.c + mv y.tab.h ncgentab.h + +.include <bsd.prog.mk> + +# +# test "-b" option of ncgen +# +btest: $(PROG) test0.cdl test1.cdl + ${ENVIR} ./$(PROG) -b test1.cdl + ${ENVIR} $(NCDUMP) test1.nc > test2.cdl + @diff test1.cdl test2.cdl && \ + echo "*** $(PROG) -b test successful ***" + +# +# test "-c" option of ncgen +# +ctest: test1.cdl ctest0 + ${ENVIR} ./ctest0 # tests `-c' option, creates ctest0.nc + ${ENVIR} $(NCDUMP) -n test1 ctest0.nc > ctest1.cdl + @diff test1.cdl ctest1.cdl && \ + echo "*** $(PROG) -c test successful ***" + +ctest0: ncgen test0.cdl + ${ENVIR} ./$(PROG) -c -o ctest0.nc test0.cdl > test0.c + $(CC) $(CFLAGS) -o $@ test0.c ${LDFLAGS} + +# +# test "-f" option of ncgen +# +ftest: test1.cdl ftest0 + ${ENVIR} ./ftest0 + ${ENVIR} $(NCDUMP) -n test1 ftest0.nc > ftest1.cdl + @if diff test1.cdl ftest1.cdl; then \ + echo "*** ncgen -f test successful ***"; \ + else \ + echo "*** ncgen -f test failed " \ + "(but roundoff differences are OK) ***"; \ + fi + +ftest0: $(PROG) test0.cdl netcdf.inc + ${ENVIR} ./$(PROG) -f -o ftest0.nc test0.cdl > test0.f; \ + $(FC) $(FFLAGS) ${CFLAGS} -o $@ test0.f ${LDFLAGS} + +test1.cdl: test0.nc + ${ENVIR} $(NCDUMP) -n test1 test0.nc > $@ + +test0.nc: $(PROG) test0.cdl + ${ENVIR} ./$(PROG) -b -o test0.nc test0.cdl + +netcdf.inc: + ln -s ../fortran/config/netcdf-fbsd.inc $@ diff --git a/science/hdf5/files/mfhdf/nctest/Makefile b/science/hdf5/files/mfhdf/nctest/Makefile new file mode 100644 index 000000000000..722d3524a482 --- /dev/null +++ b/science/hdf5/files/mfhdf/nctest/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD$ + +PROG = nctest +NOMAN = 1 +CFLAGS += -I${.CURDIR}/../libsrc +LDFLAGS += -L${.CURDIR}/../libsrc -L${.CURDIR}/../../hdf/src -lmfhdf -ldf +SRCS = varget.c vargetg.c varput.c varputg.c vardef.c vartests.c \ + vputget.c vputgetg.c driver.c cdftests.c dimtests.c rec.c \ + atttests.c misctest.c add.c error.c emalloc.c val.c slabs.c + +install: + +.include <bsd.prog.mk> + +test: $(PROG) + @ echo "===========================" + @ echo "netCDF C interface tests" + @ echo "===========================" + env LD_LIBRARY_PATH=${.CURDIR}/../libsrc:${.CURDIR}/../../hdf/src ./$(PROG) diff --git a/science/hdf5/pkg-plist b/science/hdf5/pkg-plist index f24c36cc89ae..3a4df094bb16 100644 --- a/science/hdf5/pkg-plist +++ b/science/hdf5/pkg-plist @@ -20,7 +20,11 @@ bin/vcompat bin/vmake bin/vshow lib/libmfhdf.a +lib/libmfhdf.so.2 +lib/libmfhdf.so lib/libdf.a +lib/libdf.so +lib/libdf.so.1 include/atom.h include/bitvect.h include/cdeflate.h @@ -30,7 +34,6 @@ include/crle.h include/cskphuff.h include/df.h include/dfan.h -include/dffunc.f90 include/dffunc.inc include/dfgr.h include/dfi.h @@ -45,7 +48,6 @@ include/hcomp.h include/hcompi.h include/hconv.h include/hdf.h -include/hdf.f90 include/hdf.inc include/hdf2netcdf.h include/hdfi.h @@ -63,7 +65,6 @@ include/mfgr.h include/mfhdf.h include/mstdio.h include/netcdf.h -include/netcdf.f90 include/netcdf.inc include/tbbt.h include/vattr.h |