parent
94fa2edf7d
commit
48393863d3
|
@ -0,0 +1,52 @@
|
||||||
|
diff -up hdf-4.2.14/java/examples/Makefile.am.build hdf-4.2.14/java/examples/Makefile.am
|
||||||
|
--- hdf-4.2.14/java/examples/Makefile.am.build 2018-06-26 22:42:58.000000000 -0600
|
||||||
|
+++ hdf-4.2.14/java/examples/Makefile.am 2019-04-09 20:51:31.031211605 -0600
|
||||||
|
@@ -12,8 +12,8 @@ classes:
|
||||||
|
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
|
||||||
|
|
||||||
|
pkgpath = examples
|
||||||
|
-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
|
||||||
|
-jarfile = jar$(PACKAGE_TARNAME)examples.jar
|
||||||
|
+hdfjarfile = $(PACKAGE_TARNAME).jar
|
||||||
|
+jarfile = $(PACKAGE_TARNAME)examples.jar
|
||||||
|
|
||||||
|
CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
|
||||||
|
AM_JAVACFLAGS = $(H4_JAVACFLAGS) -deprecation
|
||||||
|
diff -up hdf-4.2.14/java/src/Makefile.am.build hdf-4.2.14/java/src/Makefile.am
|
||||||
|
--- hdf-4.2.14/java/src/Makefile.am.build 2018-06-26 22:42:58.000000000 -0600
|
||||||
|
+++ hdf-4.2.14/java/src/Makefile.am 2019-04-09 21:20:56.625579495 -0600
|
||||||
|
@@ -13,8 +13,8 @@ JAVAROOT = .classes
|
||||||
|
classes:
|
||||||
|
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
|
||||||
|
|
||||||
|
-jarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
|
||||||
|
-hdf_javadir = $(libdir)
|
||||||
|
+jarfile = $(PACKAGE_TARNAME).jar
|
||||||
|
+hdf_javadir = $(prefix)/lib/java
|
||||||
|
|
||||||
|
pkgpath = hdf/hdflib
|
||||||
|
CLASSPATH_ENV=CLASSPATH=.:$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$$CLASSPATH
|
||||||
|
diff -up hdf-4.2.14/java/test/junit.sh.in.build hdf-4.2.14/java/test/junit.sh.in
|
||||||
|
--- hdf-4.2.14/java/test/junit.sh.in.build 2018-06-26 22:42:58.000000000 -0600
|
||||||
|
+++ hdf-4.2.14/java/test/junit.sh.in 2019-04-09 20:51:31.032211610 -0600
|
||||||
|
@@ -40,7 +40,7 @@ HDFLIB_HOME="$top_srcdir/java/lib"
|
||||||
|
BLDLIBDIR="$top_builddir/java/lib"
|
||||||
|
BLDDIR="."
|
||||||
|
HDFTEST_HOME="$top_srcdir/java/test"
|
||||||
|
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
|
||||||
|
+JARFILE=@PACKAGE_TARNAME@.jar
|
||||||
|
TESTJARFILE=jar@PACKAGE_TARNAME@test.jar
|
||||||
|
test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
|
||||||
|
|
||||||
|
diff -up hdf-4.2.14/java/test/Makefile.am.build hdf-4.2.14/java/test/Makefile.am
|
||||||
|
--- hdf-4.2.14/java/test/Makefile.am.build 2018-06-26 22:42:58.000000000 -0600
|
||||||
|
+++ hdf-4.2.14/java/test/Makefile.am 2019-04-09 20:51:31.033211614 -0600
|
||||||
|
@@ -12,7 +12,7 @@ classes:
|
||||||
|
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
|
||||||
|
|
||||||
|
pkgpath = test
|
||||||
|
-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
|
||||||
|
+hdfjarfile = $(PACKAGE_TARNAME).jar
|
||||||
|
CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/junit.jar:$(top_srcdir)/java/lib/hamcrest-core.jar:$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
|
||||||
|
|
||||||
|
jarfile = jar$(PACKAGE_TARNAME)test.jar
|
112
hdf.spec
112
hdf.spec
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
Name: hdf
|
Name: hdf
|
||||||
Version: 4.2.14
|
Version: 4.2.14
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: A general purpose library and file format for storing scientific data
|
Summary: A general purpose library and file format for storing scientific data
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: https://portal.hdfgroup.org/
|
URL: https://portal.hdfgroup.org/
|
||||||
|
@ -28,23 +28,34 @@ Patch9: hdf-ppc64le.patch
|
||||||
# Use only if java is disabled
|
# Use only if java is disabled
|
||||||
Patch10: hdf-avoid_syntax_error_el6.patch
|
Patch10: hdf-avoid_syntax_error_el6.patch
|
||||||
|
|
||||||
|
# Fix java build
|
||||||
|
Patch11: hdf-build.patch
|
||||||
|
|
||||||
# For destdir/examplesdir patches
|
# For destdir/examplesdir patches
|
||||||
BuildRequires: automake, libtool, gcc, gcc-c++
|
BuildRequires: automake, libtool, gcc, gcc-c++
|
||||||
|
BuildRequires: chrpath
|
||||||
BuildRequires: flex byacc libjpeg-devel zlib-devel %{!?el6:libaec-devel}
|
BuildRequires: flex byacc libjpeg-devel zlib-devel %{!?el6:libaec-devel}
|
||||||
BuildRequires: libtirpc-devel
|
BuildRequires: libtirpc-devel
|
||||||
BuildRequires: gcc-gfortran, gcc
|
BuildRequires: gcc-gfortran, gcc
|
||||||
|
BuildRequires: java-devel
|
||||||
|
BuildRequires: javapackages-tools
|
||||||
|
BuildRequires: hamcrest
|
||||||
|
BuildRequires: junit
|
||||||
|
BuildRequires: slf4j
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
HDF is a general purpose library and file format for storing scientific data.
|
HDF4 is a general purpose library and file format for storing scientific data.
|
||||||
HDF can store two primary objects: datasets and groups. A dataset is
|
HDF4 can store two primary objects: datasets and groups. A dataset is
|
||||||
essentially a multidimensional array of data elements, and a group is a
|
essentially a multidimensional array of data elements, and a group is a
|
||||||
structure for organizing objects in an HDF file. Using these two basic
|
structure for organizing objects in an HDF4 file. Using these two basic
|
||||||
objects, one can create and store almost any kind of scientific data
|
objects, one can create and store almost any kind of scientific data
|
||||||
structure, such as images, arrays of vectors, and structured and unstructured
|
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.
|
grids. You can also mix and match them in HDF4 files according to your needs.
|
||||||
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: HDF development files
|
Summary: HDF4 development files
|
||||||
Provides: %{name}-static = %{version}-%{release}
|
Provides: %{name}-static = %{version}-%{release}
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: libjpeg-devel%{?_isa}
|
Requires: libjpeg-devel%{?_isa}
|
||||||
|
@ -52,7 +63,25 @@ Requires: libtirpc-devel%{?_isa}
|
||||||
Requires: zlib-devel%{?_isa}
|
Requires: zlib-devel%{?_isa}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
HDF development headers and libraries.
|
HDF4 development headers and libraries.
|
||||||
|
|
||||||
|
|
||||||
|
%package static
|
||||||
|
Summary: HDF4 static libraries
|
||||||
|
Requires: %{name}-devel = %{version}-%{release}
|
||||||
|
|
||||||
|
%description static
|
||||||
|
HDF4 static libraries.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n java-hdf
|
||||||
|
Summary: HDF4 java library
|
||||||
|
Requires: slf4j
|
||||||
|
Obsoletes: jhdf < 3.3.1-2
|
||||||
|
|
||||||
|
%description -n java-hdf
|
||||||
|
HDF4 java library
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
@ -66,6 +95,19 @@ HDF development headers and libraries.
|
||||||
%patch6 -p1 -b .examplesdir
|
%patch6 -p1 -b .examplesdir
|
||||||
%patch8 -p1 -b .aarch64
|
%patch8 -p1 -b .aarch64
|
||||||
%patch9 -p1 -b .ppc64le
|
%patch9 -p1 -b .ppc64le
|
||||||
|
%patch11 -p1 -b .build
|
||||||
|
|
||||||
|
# Replace jars with system versions
|
||||||
|
find -name \*.jar -delete
|
||||||
|
ln -s %{_javadir}/hamcrest/core.jar java/lib/hamcrest-core.jar
|
||||||
|
ln -s %{_javadir}/junit.jar java/lib/junit.jar
|
||||||
|
ln -s %{_javadir}/slf4j/api.jar java/lib/slf4j-api-1.7.5.jar
|
||||||
|
ln -s %{_javadir}/slf4j/nop.jar java/lib/ext/slf4j-nop-1.7.5.jar
|
||||||
|
ln -s %{_javadir}/slf4j/simple.jar java/lib/ext/slf4j-simple-1.7.5.jar
|
||||||
|
|
||||||
|
# Fix test output
|
||||||
|
junit_ver=$(sed -n '/<version>/{s/^.*>\([0-9]\.[0-9]*\)<.*/\1/;p;q}' /usr/share/maven-poms/junit.pom)
|
||||||
|
sed -i -e "s/JUnit version .*/JUnit version $junit_ver/" java/test/testfiles/JUnit-*.txt
|
||||||
|
|
||||||
## Fix syntax error bacause 'CLASSPATH_ENV=$H4_CLASSPATH' line on epel6 builds
|
## Fix syntax error bacause 'CLASSPATH_ENV=$H4_CLASSPATH' line on epel6 builds
|
||||||
# Use only if java is disabled
|
# Use only if java is disabled
|
||||||
|
@ -79,6 +121,7 @@ find . -type f -name "*.c" -exec chmod 0644 '{}' \;
|
||||||
# restore include file timestamps modified by patching
|
# restore include file timestamps modified by patching
|
||||||
touch -c -r ./hdf/src/hdfi.h.ppc ./hdf/src/hdfi.h
|
touch -c -r ./hdf/src/hdfi.h.ppc ./hdf/src/hdfi.h
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
# For destdir/examplesdir patches
|
# For destdir/examplesdir patches
|
||||||
|
@ -86,15 +129,27 @@ autoreconf -vif
|
||||||
# avoid upstream compiler flags settings
|
# avoid upstream compiler flags settings
|
||||||
rm config/*linux-gnu
|
rm config/*linux-gnu
|
||||||
# TODO: upstream fix
|
# TODO: upstream fix
|
||||||
# Shared libraries disabled: libmfhdf.so is not correctly compiled
|
# libmfhdf.so is link to libdf.so
|
||||||
# for missing link to libdf.so
|
export CFLAGS="%{optflags} -I%{_includedir}/tirpc"
|
||||||
export CFLAGS="%{optflags} -fPIC -I%{_includedir}/tirpc"
|
|
||||||
export LIBS="-ltirpc"
|
export LIBS="-ltirpc"
|
||||||
export FFLAGS="%{optflags} -fPIC -ffixed-line-length-none"
|
%global _configure ../configure
|
||||||
|
# Java test needs this but doesn't create it
|
||||||
|
mkdir -p build-shared/java/lib
|
||||||
|
cd build-shared
|
||||||
|
# Java requires shared libraries, fortran requires static
|
||||||
|
%configure --disable-production --enable-java --disable-netcdf \
|
||||||
|
--enable-shared=yes --enable-static=no --disable-fortran %{!?el6:--with-szlib} \
|
||||||
|
--includedir=%{_includedir}/%{name} --libdir=%{_libdir}/%{name}
|
||||||
|
%make_build
|
||||||
|
cd -
|
||||||
|
mkdir build-static
|
||||||
|
cd build-static
|
||||||
|
# Java requires shared libraries, fortran requires static
|
||||||
%configure --disable-production --disable-java --disable-netcdf \
|
%configure --disable-production --disable-java --disable-netcdf \
|
||||||
--enable-shared=no --enable-static=yes --enable-fortran %{!?el6:--with-szlib} \
|
--enable-shared=no --enable-static=yes --enable-fortran %{!?el6:--with-szlib} \
|
||||||
--includedir=%{_includedir}/%{name} --libdir=%{_libdir}/%{name}
|
--includedir=%{_includedir}/%{name} --libdir=%{_libdir}/%{name}
|
||||||
%make_build
|
%make_build
|
||||||
|
cd -
|
||||||
|
|
||||||
# correct the timestamps based on files used to generate the header files
|
# correct the timestamps based on files used to generate the header files
|
||||||
touch -c -r hdf/src/hdf.inc hdf/src/hdf.f90
|
touch -c -r hdf/src/hdf.inc hdf/src/hdf.f90
|
||||||
|
@ -102,8 +157,11 @@ touch -c -r hdf/src/dffunc.inc hdf/src/dffunc.f90
|
||||||
touch -c -r mfhdf/fortran/mffunc.inc mfhdf/fortran/mffunc.f90
|
touch -c -r mfhdf/fortran/mffunc.inc mfhdf/fortran/mffunc.f90
|
||||||
# netcdf fortran include need same treatement, but they are not shipped
|
# netcdf fortran include need same treatement, but they are not shipped
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install
|
%make_install -C build-static
|
||||||
|
%make_install -C build-shared
|
||||||
|
chrpath --delete --keepgoing %{buildroot}%{_bindir}/* %{buildroot}%{_libdir}/%{name}/*.so.* || :
|
||||||
|
|
||||||
install -pm 644 MANIFEST README.txt release_notes/*.txt %{buildroot}%{_pkgdocdir}/
|
install -pm 644 MANIFEST README.txt release_notes/*.txt %{buildroot}%{_pkgdocdir}/
|
||||||
|
|
||||||
|
@ -128,22 +186,40 @@ touch -c -r h4config.h h4config.h.tmp
|
||||||
mv h4config.h.tmp h4config.h
|
mv h4config.h.tmp h4config.h
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
make -j1 check
|
make -j1 -C build-shared check
|
||||||
|
make -j1 -C build-static check
|
||||||
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license COPYING
|
%license COPYING
|
||||||
%{_pkgdocdir}/
|
%{_pkgdocdir}/
|
||||||
%exclude %{_pkgdocdir}/examples
|
%exclude %{_pkgdocdir}/examples
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
|
%dir %{_libdir}/%{name}
|
||||||
|
%{_libdir}/%{name}/*.so.0*
|
||||||
%{_mandir}/man1/*.gz
|
%{_mandir}/man1/*.gz
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_includedir}/%{name}/
|
%{_includedir}/%{name}/
|
||||||
%{_libdir}/%{name}/
|
%{_libdir}/%{name}/*.so
|
||||||
|
%{_libdir}/%{name}/*.settings
|
||||||
%{_pkgdocdir}/examples/
|
%{_pkgdocdir}/examples/
|
||||||
|
|
||||||
|
%files static
|
||||||
|
%{_libdir}/%{name}/*.a
|
||||||
|
|
||||||
|
%files -n java-hdf
|
||||||
|
%{_jnidir}/hdf.jar
|
||||||
|
%{_libdir}/%{name}/libhdf_java.so
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Apr 9 2019 Orion Poplawski <orion@nwra.com> - 4.2.14-3
|
||||||
|
- Build shared libraries
|
||||||
|
- Enable java
|
||||||
|
|
||||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.14-2
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.14-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
@ -169,7 +245,7 @@ make -j1 check
|
||||||
- Rebuild for gcc 8.0
|
- Rebuild for gcc 8.0
|
||||||
|
|
||||||
* Sat Jan 20 2018 Antonio Trande <sagitter@fedoraproject.org> 4.2.13-5
|
* Sat Jan 20 2018 Antonio Trande <sagitter@fedoraproject.org> 4.2.13-5
|
||||||
- Enable szlib support
|
- Enable szlib support
|
||||||
|
|
||||||
* Wed Jan 17 2018 Pavel Raiskup <praiskup@redhat.com> - 4.2.13-4
|
* Wed Jan 17 2018 Pavel Raiskup <praiskup@redhat.com> - 4.2.13-4
|
||||||
- rpc api moved from glibc to libtirpc:
|
- rpc api moved from glibc to libtirpc:
|
||||||
|
|
Loading…
Reference in New Issue