summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-libs/hdf
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-libs/hdf')
-rw-r--r--sci-libs/hdf/Manifest2
-rw-r--r--sci-libs/hdf/files/4.2.7_p1-autotools.patch116
-rw-r--r--sci-libs/hdf/files/hdf-4.2.9-autotools.patch112
-rw-r--r--sci-libs/hdf/files/hdf-ppc.patch214
-rw-r--r--sci-libs/hdf/hdf-4.2.8.ebuild57
-rw-r--r--sci-libs/hdf/hdf-4.2.9.ebuild57
-rw-r--r--sci-libs/hdf/metadata.xml16
7 files changed, 574 insertions, 0 deletions
diff --git a/sci-libs/hdf/Manifest b/sci-libs/hdf/Manifest
new file mode 100644
index 000000000000..f1ec6cf57c40
--- /dev/null
+++ b/sci-libs/hdf/Manifest
@@ -0,0 +1,2 @@
+DIST hdf-4.2.8.tar.bz2 3027253 SHA256 e8a94ae2c838007ccdd55bb3cd9684adba3ded367c09803ffc84a2704f83c00f SHA512 d033007eff74d957572db8433f66e9df6fec44f67b28ddbad6e9a2d832b5504a29e9ecc5565d861b8308bab8d0dbfce19ae1e2ade0dd758d370a333819364c8e WHIRLPOOL 89ac6a092024fe2fac61bff918c14bf90e80db0b77f48e2ffe7cbf05610a3687e214c684f49e909b985c09b6baacf3dc730a15141fb44a3d59c191777c538299
+DIST hdf-4.2.9.tar.bz2 3126686 SHA256 942a54bff4da8c0733c5626b5e11162deda1adeb65c384b141f0681c935ca98a SHA512 99630177167f115f4a7f4424cf3fc77962c4eb46698f884d0e89acfe7d585aa659fd7cdf36a29246ae518675b07182223d4337a7d0aac6344ce21ccbed9aa390 WHIRLPOOL 0ed161fba7f862c1d93aebbcb6184c0b256ce71be12fa49598f9c8bf727ea1ef46c612c41908a49774b7982f5dfe577bcb8ada2c26bf2488627952040bdd9934
diff --git a/sci-libs/hdf/files/4.2.7_p1-autotools.patch b/sci-libs/hdf/files/4.2.7_p1-autotools.patch
new file mode 100644
index 000000000000..6ae9ccfc64e5
--- /dev/null
+++ b/sci-libs/hdf/files/4.2.7_p1-autotools.patch
@@ -0,0 +1,116 @@
+diff -Nur hdf-4.2.7-patch1.orig/configure.ac hdf-4.2.7-patch1/configure.ac
+--- hdf-4.2.7-patch1.orig/configure.ac 2012-03-18 03:45:46.000000000 +0000
++++ hdf-4.2.7-patch1/configure.ac 2012-04-13 03:04:17.000000000 +0100
+@@ -200,20 +200,6 @@
+ dnl Build static libraries by default. Furthermore, fortran shared libraries
+ dnl are unsupported. Disallow a user from enabling both shared libraries and
+ dnl fortran.
+-if test "X${enable_shared}" != "Xyes"; then
+- enable_shared="no"
+-fi
+-
+-if test "X${enable_shared}" = "Xyes"; then
+- if test "X${BUILD_FORTRAN}" = "Xyes"; then
+- AC_MSG_ERROR([Cannot build shared fortran libraries. Please configure with --disable-fortran flag.])
+- fi
+-fi
+-
+-AC_PROG_INSTALL
+-AC_PROG_LN_S
+-
+-AC_CHECK_PROGS([AR], [ar xar], [:], [$PATH])
+
+ AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [none], [])
+
+@@ -404,6 +390,8 @@
+
+ if test -z "$HAVE_SZIP"; then
+ AC_MSG_ERROR([couldn't find szlib library])
++ else
++ USE_COMP_SZIP="yes"
+ fi
+ ;;
+ no)
+@@ -447,7 +435,7 @@
+
+ AC_CHECK_LIB([sz], [SZ_BufftoBuffCompress],, [unset HAVE_SZIP])
+
+- if test -z "$HAVE_SZIP"; then
++ if test "X$HAVE_SZIP" != "Xyes"; then
+ AC_MSG_ERROR([couldn't find szlib library])
+ else
+ USE_COMP_SZIP="yes"
+@@ -703,7 +691,7 @@
+ dnl ======================================================================
+ dnl Libtool initialization
+ dnl ======================================================================
+-LT_INIT(dlopen disable-shared)
++LT_INIT(dlopen)
+ LT_OUTPUT
+
+ dnl ======================================================================
+@@ -781,11 +769,6 @@
+ dnl ------------------------------------------------------------------------
+ dnl Check to see if libtool has enabled shared libraries. Set a conditional
+ dnl as some Makefiles will build based on availability of shared libraries.
+-if (./libtool --features | grep '^enable shared libraries' > /dev/null); then
+- enable_shared=yes
+-else
+- enable_shared=no
+-fi
+
+ dnl ------------------------------------------------------------------------
+ dnl Specify shared library extension the host machine should recognize.
+@@ -840,23 +823,8 @@
+ dnl name of the compiler and the reported version number.
+ AC_SUBST([F77_VERSION])
+ dnl Strip anything that looks like a flag off of $F77
+-F77_NOFLAGS=`echo $F77 | sed 's/ -.*//'`
+-
+-if `echo $F77_NOFLAGS | grep ^/ >/dev/null 2>&1`; then
+- F77_VERSION="$F77"
+-else
+- F77_VERSION="$F77";
+- for x in `echo $PATH | sed -e 's/:/ /g'`; do
+- if test -x $x/$F77_NOFLAGS; then
+- F77_VERSION="$x/$F77"
+- break
+- fi
+- done
+-fi
+-if test -n "$fc_version_info"; then
+- F77_VERSION="$F77_VERSION ( $fc_version_info)"
+-fi
+
++F77_VERSION="$F77";
+
+ dnl This part doesn't work yet since HDF4 config files do not contain
+ dnl information for fortran_vendor and fortran_version.
+diff -Nur hdf-4.2.7-patch1.orig/hdf/test/fortestF.f hdf-4.2.7-patch1/hdf/test/fortestF.f
+--- hdf-4.2.7-patch1.orig/hdf/test/fortestF.f 2012-03-18 03:44:01.000000000 +0000
++++ hdf-4.2.7-patch1/hdf/test/fortestF.f 2012-04-13 02:20:45.000000000 +0100
+@@ -203,7 +203,7 @@
+
+ if (cmd .NE. 'Test' .AND. cmd .NE. 'test') then
+ print *, 'Unknown Command: ', cmd, param
+- print *, 'Try one of "Skip", "Test", "Verbosity" or "Cleanup"'
++ print *, 'Try one of Skip, Test, Verbosity or Cleanup'
+ retcode = -1
+ return
+ endif
+diff -Nur hdf-4.2.7-patch1.orig/mfhdf/libsrc/Makefile.am hdf-4.2.7-patch1/mfhdf/libsrc/Makefile.am
+--- hdf-4.2.7-patch1.orig/mfhdf/libsrc/Makefile.am 2012-03-18 03:44:00.000000000 +0000
++++ hdf-4.2.7-patch1/mfhdf/libsrc/Makefile.am 2012-04-13 02:20:45.000000000 +0100
+@@ -32,10 +32,11 @@
+ else
+ libmfhdf_la_SOURCES = $(CSOURCES)
+ endif
++libmfhdf_la_LIBADD = $(top_builddir)/hdf/src/libdf.la
+
+ if HDF_BUILD_XDR
+ XDRLIB = ../xdr/libxdr.la
+-libmfhdf_la_LIBADD = $(XDRLIB)
++libmfhdf_la_LIBADD += $(XDRLIB)
+ endif
+
+ if HDF_BUILD_NETCDF
diff --git a/sci-libs/hdf/files/hdf-4.2.9-autotools.patch b/sci-libs/hdf/files/hdf-4.2.9-autotools.patch
new file mode 100644
index 000000000000..a31946a0dfee
--- /dev/null
+++ b/sci-libs/hdf/files/hdf-4.2.9-autotools.patch
@@ -0,0 +1,112 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -216,20 +216,6 @@ AC_SUBST([BUILD_FORTRAN])
+ ## Build static libraries by default. Furthermore, fortran shared libraries
+ ## are unsupported. Disallow a user from enabling both shared libraries and
+ ## fortran.
+-if test "X${enable_shared}" != "Xyes"; then
+- enable_shared="no"
+-fi
+-
+-if test "X${enable_shared}" = "Xyes"; then
+- if test "X${BUILD_FORTRAN}" = "Xyes"; then
+- AC_MSG_ERROR([Cannot build shared fortran libraries. Please configure with --disable-fortran flag.])
+- fi
+-fi
+-
+-AC_PROG_INSTALL
+-AC_PROG_LN_S
+-
+-AC_CHECK_PROGS([AR], [ar xar], [:], [$PATH])
+
+ AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [none], [])
+
+@@ -261,7 +247,7 @@ AC_SUBST([LT_STATIC_EXEC])
+ ## ======================================================================
+ ## Libtool initialization
+ ## ======================================================================
+-LT_INIT([dlopen disable-shared])
++LT_INIT([dlopen])
+ LT_OUTPUT
+
+ ## ----------------------------------------------------------------------
+@@ -453,6 +439,8 @@ case "$withval" in
+
+ if test -z "$HAVE_SZIP"; then
+ AC_MSG_ERROR([couldn't find szlib library])
++ else
++ USE_COMP_SZIP="yes"
+ fi
+ ;;
+ no)
+@@ -496,7 +484,7 @@ case "$withval" in
+
+ AC_CHECK_LIB([sz], [SZ_BufftoBuffCompress],, [unset HAVE_SZIP])
+
+- if test -z "$HAVE_SZIP"; then
++ if test "X$HAVE_SZIP" != "Xyes"; then
+ AC_MSG_ERROR([couldn't find szlib library])
+ else
+ USE_COMP_SZIP="yes"
+@@ -837,11 +825,6 @@ done
+ ## ------------------------------------------------------------------------
+ ## Check to see if libtool has enabled shared libraries. Set a conditional
+ ## as some Makefiles will build based on availability of shared libraries.
+-if (./libtool --features | grep '^enable shared libraries' > /dev/null); then
+- enable_shared=yes
+-else
+- enable_shared=no
+-fi
+
+ ## ------------------------------------------------------------------------
+ ## Specify shared library extension the host machine should recognize.
+@@ -911,22 +894,7 @@ fi
+ ## name of the compiler and the reported version number.
+ AC_SUBST([F77_VERSION])
+ ## Strip anything that looks like a flag off of $F77
+-F77_NOFLAGS=`echo $F77 | sed 's/ -.*//'`
+-
+-if `echo $F77_NOFLAGS | grep ^/ >/dev/null 2>&1`; then
+- F77_VERSION="$F77"
+-else
+- F77_VERSION="$F77";
+- for x in `echo $PATH | sed -e 's/:/ /g'`; do
+- if test -x $x/$F77_NOFLAGS; then
+- F77_VERSION="$x/$F77"
+- break
+- fi
+- done
+-fi
+-if test -n "$fc_version_info"; then
+- F77_VERSION="$F77_VERSION ( $fc_version_info)"
+-fi
++F77_VERSION="$F77"
+
+ ## This part doesn't work yet since HDF4 config files do not contain
+ ## information for fortran_vendor and fortran_version.
+--- a/hdf/test/fortestF.f
++++ b/hdf/test/fortestF.f
+@@ -203,7 +203,7 @@ C Skip command
+
+ if (cmd .NE. 'Test' .AND. cmd .NE. 'test') then
+ print *, 'Unknown Command: ', cmd, param
+- print *, 'Try one of "Skip", "Test", "Verbosity" or "Cleanup"'
++ print *, 'Try one of Skip, Test, Verbosity or Cleanup'
+ retcode = -1
+ return
+ endif
+--- a/mfhdf/libsrc/Makefile.am
++++ b/mfhdf/libsrc/Makefile.am
+@@ -32,10 +32,11 @@ libmfhdf_la_SOURCES = $(CSOURCES) $(FSOURCES)
+ else
+ libmfhdf_la_SOURCES = $(CSOURCES)
+ endif
++libmfhdf_la_LIBADD = $(top_builddir)/hdf/src/libdf.la
+
+ if HDF_BUILD_XDR
+ XDRLIB = $(top_builddir)/mfhdf/xdr/libxdr.la
+-libmfhdf_la_LIBADD = $(XDRLIB)
++libmfhdf_la_LIBADD += $(XDRLIB)
+ endif
+
+ if HDF_BUILD_NETCDF
diff --git a/sci-libs/hdf/files/hdf-ppc.patch b/sci-libs/hdf/files/hdf-ppc.patch
new file mode 100644
index 000000000000..3cf62d09371d
--- /dev/null
+++ b/sci-libs/hdf/files/hdf-ppc.patch
@@ -0,0 +1,214 @@
+Fix FTBS on ppc
+
+https://bugs.gentoo.org/show_bug.cgi?id=450188
+
+Source: http://pkgs.fedoraproject.org/cgit/hdf.git
+--- a/hdf/src/hdfi.h
++++ b/hdf/src/hdfi.h
+@@ -76,6 +76,7 @@
+ #define DFMT_IA64 0x4441
+ #define DFMT_LINUX64 0x4441
+ #define DFMT_POWERPC64 0x1111
++#define DFMT_LINUXPPC 0x1111
+
+ /* I/O library constants */
+ #define UNIXUNBUFIO 1
+@@ -1289,6 +1290,57 @@ typedef long hdf_pint_t;
+
+ #endif /*Linux 64 */
+
++/* Linux PPC */
++#if defined __powerpc__ && !defined __powerpc64__
++
++#ifdef GOT_MACHINE
++If you get an error on this line more than one machine type has been defined.
++Please check your Makefile.
++#endif
++#define GOT_MACHINE
++
++#include <sys/file.h> /* for unbuffered i/o stuff */
++#include <sys/stat.h>
++#define DF_MT DFMT_LINUXPPC
++typedef void VOID;
++typedef void *VOIDP;
++typedef char *_fcd;
++typedef char char8;
++typedef unsigned char uchar8;
++typedef char int8;
++typedef unsigned char uint8;
++typedef short int int16;
++typedef unsigned short int uint16;
++typedef int int32;
++typedef unsigned int uint32;
++typedef int intn;
++typedef unsigned int uintn;
++typedef int intf; /* size of INTEGERs in Fortran compiler */
++typedef float float32;
++typedef double float64;
++typedef long hdf_pint_t; /* an integer the same size as a pointer */
++#define FNAME_POST_UNDERSCORE
++#define _fcdtocp(desc) (desc)
++#ifdef HAVE_FMPOOL
++#define FILELIB PAGEBUFIO /* enable page buffering */
++#else
++#define FILELIB UNIXBUFIO
++#endif
++
++/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
++
++/* Determine the memory manager we are going to use. Valid values are: */
++/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
++/* what each does */
++#define JMEMSYS MEM_ANSI
++
++#ifdef __GNUC__
++#define HAVE_STDC
++#define INCLUDES_ARE_ANSI
++#endif
++
++#endif /*Linux PPC */
++
+ /*-----------------------------------------------------*/
+ /* 64-bit Free BSD */
+
+--- a/mfhdf/fortran/config/jackets-linux.c
++++ b/mfhdf/fortran/config/jackets-linux.c
+@@ -34,7 +34,7 @@
+
+ struct ncfils { /* This will be a common block from Fortran */
+ double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ int ll;
+ #else
+ long ll;
+@@ -65,7 +65,7 @@ struct ncfils { /* This will be a comm
+
+ struct ncfils { /* This will be a common block from Fortran */
+ double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ int ll;
+ #else
+ long ll;
+@@ -430,7 +430,7 @@ stoig(shorts, ints, dims, basis, ndims)
+ }
+ #endif /* FORTRAN_HAS_NO_SHORT */
+
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ /*
+ * Convert multi-dimensional array of NCLONGs stored in ints to packed
+ * array of longs, in malloc'ed space. Returns pointer to longs or NULL
+@@ -916,7 +916,7 @@ nncvpt1(cdfid, varid, indices, value, rc
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long longs = *(int *)value;
+@@ -1030,7 +1030,7 @@ nncvpt(cdfid, varid, start, count, value
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itol (value, ncount, ndims);
+@@ -1141,7 +1141,7 @@ nncvptg(cdfid, varid, start, count, stri
+ tmpbasis = nctypelen(NC_LONG);
+ else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ if (datatype == NC_LONG)
+ tmpbasis = sizeof(int);
+ else
+@@ -1198,7 +1198,7 @@ nncvptg(cdfid, varid, start, count, stri
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itolg (value, ncount, nbasis, ndims);
+@@ -1334,7 +1334,7 @@ nncvgt1(cdfid, varid, indices, value, rc
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long longs;
+@@ -1476,7 +1476,7 @@ nncvgt(cdfid, varid, start, count, value
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long iocount = dimprod (ncount, ndims); /* product of dimensions */
+@@ -1614,7 +1614,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ tmpbasis = nctypelen(NC_LONG);
+ else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ if (datatype == NC_LONG)
+ tmpbasis = sizeof(int);
+ else
+@@ -1685,7 +1685,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long iocount = dimprod (ncount, ndims); /* product of dimensions */
+@@ -1851,7 +1851,7 @@ nncapt(cdfid, varid, attname, datatype,
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itol (value, attlen, 1);
+@@ -2016,7 +2016,7 @@ nncagt(cdfid, varid, attname, value, rco
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ /* EIP We need to use int buffer to read data in on the platforms where long is 8 bytes
+--- a/mfhdf/libsrc/netcdf.h.in
++++ b/mfhdf/libsrc/netcdf.h.in
+@@ -295,7 +295,7 @@ typedef double ncdouble;
+ */
+ #if defined _CRAYMPP
+ typedef short nclong;
+-#elif defined __alpha || (_MIPS_SZLONG == 64) || defined IA64 || (defined __sun__ && defined _LP64) || defined AIX5L64
++#elif defined __alpha || (_MIPS_SZLONG == 64) || defined IA64 || (defined __sun__ && defined _LP64) || defined AIX5L64 || defined __powerpc64__
+ typedef int nclong;
+ #else
+ typedef long nclong; /* default, compatible type */
+--- a/mfhdf/ncgen/ncgen.l
++++ b/mfhdf/ncgen/ncgen.l
+@@ -134,7 +134,7 @@ FloatInf|Infinity|Inf { /* float miss
+ yyerror(errstr);
+ }
+
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ if (dd < INT_MIN || dd > INT_MAX)
+ #else
+ #if defined (_CRAYMPP)
diff --git a/sci-libs/hdf/hdf-4.2.8.ebuild b/sci-libs/hdf/hdf-4.2.8.ebuild
new file mode 100644
index 000000000000..1ac5cf7c3f6d
--- /dev/null
+++ b/sci-libs/hdf/hdf-4.2.8.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+FORTRAN_NEEDED=fortran
+
+inherit eutils fortran-2 toolchain-funcs autotools flag-o-matic
+
+MYP=${P/_p/-patch}
+
+DESCRIPTION="General purpose library and format for storing scientific data"
+HOMEPAGE="http://www.hdfgroup.org/hdf4.html"
+SRC_URI="http://www.hdfgroup.org/ftp/HDF/HDF_Current/src/${MYP}.tar.bz2"
+
+SLOT="0"
+LICENSE="NCSA-HDF"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="fortran szip static-libs"
+
+RDEPEND="
+ sys-libs/zlib
+ virtual/jpeg
+ szip? ( >=sci-libs/szip-2 )"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MYP}
+
+src_prepare() {
+ epatch "${FILESDIR}"/4.2.7_p1-autotools.patch \
+ "${FILESDIR}"/${PN}-ppc.patch
+ sed -i -e 's/-R/-L/g' config/commence.am || die #rpath
+ eautoreconf
+ [[ $(tc-getFC) = *gfortran ]] && append-fflags -fno-range-check
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ --enable-production=gentoo \
+ --disable-netcdf \
+ $(use_enable fortran) \
+ $(use_enable static-libs static) \
+ $(use_with szip szlib) \
+ CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+ dodoc release_notes/{RELEASE,HISTORY,bugs_fixed,misc_docs}.txt
+ cd "${ED}"usr
+ mv bin/ncgen{,-hdf} || die
+ mv bin/ncdump{,-hdf} || die
+ mv share/man/man1/ncgen{,-hdf}.1 || die
+ mv share/man/man1/ncdump{,-hdf}.1 || die
+}
diff --git a/sci-libs/hdf/hdf-4.2.9.ebuild b/sci-libs/hdf/hdf-4.2.9.ebuild
new file mode 100644
index 000000000000..b2b1e652468a
--- /dev/null
+++ b/sci-libs/hdf/hdf-4.2.9.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+FORTRAN_NEEDED=fortran
+
+inherit eutils fortran-2 toolchain-funcs autotools flag-o-matic
+
+MYP=${P/_p/-patch}
+
+DESCRIPTION="General purpose library and format for storing scientific data"
+HOMEPAGE="http://www.hdfgroup.org/hdf4.html"
+SRC_URI="http://www.hdfgroup.org/ftp/HDF/HDF_Current/src/${MYP}.tar.bz2"
+
+SLOT="0"
+LICENSE="NCSA-HDF"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="fortran szip static-libs"
+
+RDEPEND="
+ sys-libs/zlib
+ virtual/jpeg
+ szip? ( >=sci-libs/szip-2 )"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MYP}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-autotools.patch \
+ "${FILESDIR}"/${PN}-ppc.patch
+ sed -i -e 's/-R/-L/g' config/commence.am || die #rpath
+ eautoreconf
+ [[ $(tc-getFC) = *gfortran ]] && append-fflags -fno-range-check
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ --enable-production=gentoo \
+ --disable-netcdf \
+ $(use_enable fortran) \
+ $(use_enable static-libs static) \
+ $(use_with szip szlib) \
+ CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+ dodoc release_notes/{RELEASE,HISTORY,bugs_fixed,misc_docs}.txt
+ cd "${ED}"usr
+ mv bin/ncgen{,-hdf} || die
+ mv bin/ncdump{,-hdf} || die
+ mv share/man/man1/ncgen{,-hdf}.1 || die
+ mv share/man/man1/ncdump{,-hdf}.1 || die
+}
diff --git a/sci-libs/hdf/metadata.xml b/sci-libs/hdf/metadata.xml
new file mode 100644
index 000000000000..40b295a48396
--- /dev/null
+++ b/sci-libs/hdf/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The Hierarchical Data Format is a general purpose library and
+ file format for storing scientific data.
+ HDF can store two primary objects: datasets and groups. A dataset is
+ essentially a multidimensional array of data elements, and a group is
+ a structure for organizing objects in an HDF file. Using these two basic
+ objects, one can create and store almost any kind of scientific data
+ structure, such as images, arrays of vectors, and structured and
+ unstructured grids. You can also mix and match them in HDF files
+ according to your needs.
+</longdescription>
+</pkgmetadata>