summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@gentoo.org>2021-05-29 17:42:42 +0200
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2021-05-29 17:52:02 +0200
commita33ab5b83c948af447f85eeb1cd0ac21d517b66d (patch)
tree56d055eb040203cd9d1e28efb8ae92673bb73cf7
parentdev-perl/Error: Stabilize 0.170.290 arm64, #792660 (diff)
downloadgentoo-a33ab5b8.tar.gz
gentoo-a33ab5b8.tar.bz2
gentoo-a33ab5b8.zip
sci-libs/cdf: add version 3.8.0
- bumped java version - no longer installs into /usr/CDFLeapSeconds.txt - no longer calls CC directly - restricted bindist Closes: https://bugs.gentoo.org/786708 Closes: https://bugs.gentoo.org/773076 Closes: https://bugs.gentoo.org/633438 Closes: https://bugs.gentoo.org/544588 Closes: https://bugs.gentoo.org/544588 Closes: https://bugs.gentoo.org/731932 Closes: https://bugs.gentoo.org/695390 Package-Manager: Portage-3.0.19, Repoman-3.0.3 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
-rw-r--r--sci-libs/cdf/Manifest9
-rw-r--r--sci-libs/cdf/cdf-3.5.0.2.ebuild1
-rw-r--r--sci-libs/cdf/cdf-3.8.0.ebuild133
-rw-r--r--sci-libs/cdf/files/cdf-3.8.0-respect-flags.patch96
4 files changed, 239 insertions, 0 deletions
diff --git a/sci-libs/cdf/Manifest b/sci-libs/cdf/Manifest
index 96f0d78594eb..9e3f6128d7dc 100644
--- a/sci-libs/cdf/Manifest
+++ b/sci-libs/cdf/Manifest
@@ -6,3 +6,12 @@ DIST cdf350ug.pdf 1396156 BLAKE2B 39f3e3b0441ef103c9131b3c5523c5a387eb785d545c68
DIST cdf35_0-dist-cdf.tar.gz 1137065 BLAKE2B df3235338e63686dd0446663b8738618c45c4e86c858b4f41d3326ebf14d391ecce43309cf5d6a3db4a9f9e53820bf8a73acb77549a0432594859b24acb7eb84 SHA512 f26bd1e298494563cb30c52751bd175124814dca2fe2c05ae056d6c2ad905fb5ddc7da35888c6a07d69914f52481cb4e9fcab9684c9a8a0ca4b80ca449ad3406
DIST cdf35_0-dist-java.tar.gz 724055 BLAKE2B 563542821106b040bb0eaefa303cbda46ace5a127cda1936c55e5eaf3b395eb67073a622e84d1bfc33cb65faa4b51710008cfbae86fd680e5cca2c80dbc5162b SHA512 2e69447e9c36ced39a6bfcd1f2a5dfa7c36c04e9a5acac12952c1b415c5191471efbf2cc432b5b31eb37c8ee31bda3e27bce0fa266c5549fb1b0ab86c4dd6c4f
DIST cdf35ifd.pdf 560458 BLAKE2B c44722d30c4217b492fe140833ae9c58721040b629cf414fe8d9d7d44433b3f62241d621d4b6d634f54e4f0ecb4c026b66a1e752a1d868b0861eed54d4a95bee SHA512 018a524f7fc8dc5b8b3512ed8bdea42bae141eb65d24b4fbbdac6ecebaeac5c458caf3a476fc4b7c0313b17441cbe7dce32d1002f9344d056cd46853ee3cd438
+DIST cdf380crm.pdf 2671048 BLAKE2B 2605d6465c744b57f11d08605aa888ead724b7553a0efd8830dae759eb54c6d0df807cca1c6611fd40b4c5eb9327fbfcd66f0f7cf82b69bf7619385928ebc6dd SHA512 fc1eef589ff0f3cd989d8743cc1d6cfeb5946cf9ae8e4a328ba746b33fe0f6a286cf7b7b7e7cab5e0231bef566c03d7b68afe6c0879e5fb32fc1e6c980f7e081
+DIST cdf380csrm.pdf 2409166 BLAKE2B 7e97e61865531b788553ca9747513ec32bc5e1a743e10e5bad5f62980a883d00cfeede975b83826ad72327071062080cd1db611fd40c4e5b3d22caf7d4dd3d0f SHA512 d669f032722e270d3f16f8d9a8920d4536430bd83a509591cf82b447770d16a9c6d9aba17e096f78445c4f0b7f4ab85082cf2480bc9384b46677a2325be0f163
+DIST cdf380frm.pdf 2570409 BLAKE2B c8fb1444c7e02297af0c3bffbf58c048077e0d69c4aca8cb3e48331f496dba1551289d2e2b95f9f2d9fabe8048bd56f73a72bab58a52772cae22f184a6b39745 SHA512 de90e4893b976ab9e77f1e9512b2f310b043b8dc921ca43cf1d37e767bf5cbae5d06f91388ff5f4fb1258db5a1149712fa9a5dbc1c2d18f78705021fc31087bb
+DIST cdf380prm.pdf 1521804 BLAKE2B 4afa792f3b5f2bda7e896e10ccb6b2b073e127fca9ece229bb3dbe3b8e8920ef5b8cce5a45a15fa648525c8241fbcc678c8eea0a32a3dabad4cd3b9e959e0913 SHA512 413ce06f36d151cc5380884111376fb54108fcf692ac56ed4d96204f56d4d434ca695d42114e1e89626288802cb4d5d48097664e8e0411a041950aff8199fea0
+DIST cdf380ug.pdf 1716882 BLAKE2B e36f0a9624756d6d5bf71fcc0958d33d060b7f32dd7bbb93fcf6a58a33a5154017fd0ba8a598fe652919785398d306e84fe7a89b5c4aa0d305ee0bc2fbf20b8f SHA512 f2e865b55d293a17a5d85c36e04d14050b7f17adc97dfc284d95db36ae1b94678e31b107cbab32ad690630bbde0f3f0caf558ecdb4e1d0e60cd5f53b30faa0fc
+DIST cdf380vbrm.pdf 2260048 BLAKE2B 30abdf365763df753569289a74013033e0dc56c3ce0a787bcdb9d179d334f4cb79f2b5c6d98427ab9a6451b44e333f48932c152674ce7c9229291b3b714e0f70 SHA512 8552d1f1a83a0f327bc20e8dc03f8728aad132e5765084839ee02900d19c93f9c7f67a1e3f4429cc01d51d75ab00b666d18a247522da2b4fda529cf6333889b5
+DIST cdf38_0-dist-cdf.tar.gz 1251571 BLAKE2B d51463fcf196e0c35617b93725104b34a9047ee7ef22d5d5b7ed9ed5816903e435f130b8ebb0d75e0f05c4908b71de3a4c9bab910a9472b3111be22f659e1bc8 SHA512 cc13358ddd5dfa90731ec6d9da0985697ff9e297be0bc03d8132761d479f5ff062c822085d3141a2fa4320ccd7d1b59064fc236f143a00f24b22c6edf0f618ce
+DIST cdf38_0-dist-java.tar.gz 1007414 BLAKE2B 64fb991d937e9242d42a9b6524facff35acefe4fb2279b92942faf6a9403fae98c3a6b8e9881a916e8669ead5bca4a404dbc250d3a95be26cbe761b6dfa48227 SHA512 12b4d98561f4c07ef4837daa0fc90e1d1cb78622b3837d3cdc30643eae3e9f1ffe50dfa22e8be56615aa4cf4b983df6bde2d1c9fbe2115142d9fdfa653bee2be
+DIST cdf38ifd.pdf 881707 BLAKE2B b80e15e631eb5025317d324893c16838b3a44218cf2c592692eff4d0b778494f2555cf79d2d35b54d66606a82c3835ad896fe809ef363f85ab8261879bf55167 SHA512 2dd3ff5867f5faba3502f877057e9d3110e7be03219dcf5aa657c6685e4a63f847b3d3fbea8d201ae5601a78773c636799cc1ab53e77e12d0ffd5c543322340c
diff --git a/sci-libs/cdf/cdf-3.5.0.2.ebuild b/sci-libs/cdf/cdf-3.5.0.2.ebuild
index 1bdd8d2b12b9..2942136cd5fb 100644
--- a/sci-libs/cdf/cdf-3.5.0.2.ebuild
+++ b/sci-libs/cdf/cdf-3.5.0.2.ebuild
@@ -27,6 +27,7 @@ LICENSE="CDF"
SLOT="0"
KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
IUSE="doc examples java ncurses static-libs"
+RESTRICT="bindist"
RDEPEND="
java? ( >=virtual/jre-1.5:= )
diff --git a/sci-libs/cdf/cdf-3.8.0.ebuild b/sci-libs/cdf/cdf-3.8.0.ebuild
new file mode 100644
index 000000000000..4350f3e58cc9
--- /dev/null
+++ b/sci-libs/cdf/cdf-3.8.0.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit java-pkg-opt-2 multilib toolchain-funcs
+
+MY_DP="${PN}$(ver_cut 1)$(ver_cut 2)"
+MY_P="${MY_DP}_$(ver_cut 3)"
+
+DESCRIPTION="Common Data Format I/O library for multi-dimensional data sets"
+HOMEPAGE="https://cdf.gsfc.nasa.gov"
+SRC_BASE="https://spdf.gsfc.nasa.gov/pub/software/${PN}/dist/${MY_P}/unix/"
+
+SRC_URI="${SRC_BASE}/${MY_P}-dist-${PN}.tar.gz
+ java? ( ${SRC_BASE}/${MY_P}-dist-java.tar.gz )
+ doc? (
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}ifd.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0crm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0csrm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0frm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0prm.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0ug.pdf
+ ${SRC_BASE}/${MY_DP}_documentation/${MY_DP}0vbrm.pdf
+ )"
+
+LICENSE="CDF"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples java ncurses static-libs"
+RESTRICT="bindist"
+
+RDEPEND="
+ java? ( >=virtual/jre-1.8:= )
+ ncurses? ( sys-libs/ncurses:0= )
+"
+DEPEND="
+ ${RDEPEND}
+ ncurses? ( virtual/pkgconfig )
+"
+
+S="${WORKDIR}/${MY_P}-dist"
+
+# respect cflags, ldflags, soname
+PATCHES=(
+ "${FILESDIR}"/${P}-respect-flags.patch
+)
+
+src_prepare() {
+ default
+
+ # use proper lib dir
+ sed -i \
+ -e "s:\$(INSTALLDIR)/lib:\$(INSTALLDIR)/$(get_libdir):g" \
+ Makefile || die "sed failed"
+}
+
+src_compile() {
+ PV_SO=${PV:0:1}
+ emake \
+ OS=linux \
+ CC=$(tc-getCC) \
+ ENV=gnu \
+ SHARED=yes \
+ SHAREDEXT_linux=so.${PV_SO} \
+ CURSESLIB_linux_gnu="$(usex ncurses "$($(tc-getPKG_CONFIG) --libs ncurses)" "")" \
+ CURSES=$(usex ncurses) \
+ ${myconf} \
+ all
+
+ if use java; then
+ export CDF_BASE="${S}"
+ export CDF_LIB="${S}/src/lib"
+ cd cdfjava/jni
+ $(tc-getCC) \
+ ${CFLAGS} -fPIC \
+ -I${CDF_BASE}/src/include \
+ -I$(java-config -O)/include \
+ -I$(java-config -O)/include/linux \
+ -c cdfNativeLibrary.c \
+ -o cdfNativeLibrary.o \
+ || die "compiling java lib failed"
+ $(tc-getCC) \
+ ${LDFLAGS} \
+ -shared cdfNativeLibrary.o \
+ -Wl,-soname=libcdfNativeLibrary.so.${PV_SO} \
+ -L${CDF_LIB} -lcdf -lm \
+ -o libcdfNativeLibrary.so.${PV_SO} \
+ || die "linking java lib failed"
+ fi
+}
+
+src_test() {
+ emake -j1 test
+}
+
+src_install() {
+ dodir /usr/bin /usr/$(get_libdir)
+ # -j1 (fragile non-autotooled make)
+ emake -j1 \
+ INSTALLDIR="${ED}/usr" \
+ SHAREDEXT=so.${PV_SO} \
+ install
+ dosym libcdf.so.${PV_SO} /usr/$(get_libdir)/libcdf.so
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/libcdf.a
+ dodoc Release.notes CHANGES.txt Welcome.txt
+ doenvd "${FILESDIR}"/50cdf
+
+ if use doc; then
+ dodoc "${DISTDIR}"/${MY_DP}{0{crm,csrm,frm,prm,ug,vbrm},ifd}.pdf
+ fi
+
+ if use examples; then
+ docinto /usr/share/doc/${PF}/examples
+ dodoc samples/*
+ fi
+
+ if use java; then
+ cd cdfjava || die
+ dolib.so jni/libcdfNativeLibrary.so.${PV_SO}
+ dosym libcdfNativeLibrary.so.${PV_SO} \
+ /usr/$(get_libdir)/libcdfNativeLibrary.so
+ java-pkg_dojar */*.jar
+ if use examples; then
+ docinto /usr/share/doc/${PF}/examples/java
+ dodoc examples/*
+ fi
+ fi
+
+ # move this to a better location
+ dodir "/usr/share/${PF}"
+ mv "${ED}/usr/CDFLeapSeconds.txt" "${ED}/usr/share/${PF}/" || die
+}
diff --git a/sci-libs/cdf/files/cdf-3.8.0-respect-flags.patch b/sci-libs/cdf/files/cdf-3.8.0-respect-flags.patch
new file mode 100644
index 000000000000..8ffd226a1ed1
--- /dev/null
+++ b/sci-libs/cdf/files/cdf-3.8.0-respect-flags.patch
@@ -0,0 +1,96 @@
+diff --git a/Makefile b/Makefile
+index 9857fa9..6dc0953 100644
+--- a/Makefile
++++ b/Makefile
+@@ -896,7 +896,7 @@ install.tools: create.bin copy.tools
+ install.help_: create.help copy.help
+
+ install.lib: create.lib copy.lib.a
+- @if [ -f $(LIBsrcDIR)/libcdf.so ] ; then \
++ @if [ -f $(LIBsrcDIR)/libcdf.$(SHAREDEXT) ] ; then \
+ $(MAKE) MAKE=$(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \
+ else \
+ $(NULL) ; \
+@@ -1010,10 +1010,10 @@ copy.include:
+ cp $(INCsrcDIR)/cdfconfig.h $(INSTALLDIR)/include
+
+ copy.lib.so:
+- @echo cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib
+- cp $(LIBsrcDIR)/libcdf.so $(INSTALLDIR)/lib/libcdf.$(VERSION).so
+- rm -f $(INSTALLDIR)/lib/libcdf.so
+- cd $(INSTALLDIR)/lib && ln -s libcdf.$(VERSION).so libcdf.so
++ @echo cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib
++ cp $(LIBsrcDIR)/libcdf.$(SHAREDEXT) $(INSTALLDIR)/lib/libcdf.$(VERSION).so
++ rm -f $(INSTALLDIR)/lib/libcdf.$(SHAREDEXT)
++ cd $(INSTALLDIR)/lib && ln -s libcdf.$(VERSION).so libcdf.$(SHAREDEXT)
+
+ copy.lib.sl:
+ @echo cp $(LIBsrcDIR)/libcdf.sl $(INSTALLDIR)/lib
+diff --git a/src/lib/Makefile b/src/lib/Makefile
+index 2017c46..b666ce3 100644
+--- a/src/lib/Makefile
++++ b/src/lib/Makefile
+@@ -62,9 +62,9 @@ AR=ar
+ RANLIBcmd=ranlib
+ MACos=Darwin
+
+-CFLAGS=$(COPTIONS) $(PIC) -I$(INCLUDEcdf) -I$(ZlibDIR)
++CFLAGS+=$(COPTIONS) $(PIC) -I$(INCLUDEcdf) -I$(ZlibDIR)
+ CFLAGS2=-DZ_PREFIX
+-LDFLAGS=$(LDOPTIONS)
++LDFLAGS+=$(LDOPTIONS)
+ ARFLAGS=$(AROPTIONS)
+ ZLIB=zlib
+
+@@ -120,13 +120,13 @@ ranlib.yes:
+
+ shared.yes: libcdf.$(SHAREDEXT)
+
+-libcdf.so \
++libcdf.$(SHAREDEXT) \
+ libcdf.dylib \
+ libcdf.dll \
+ libcdf.sl: $(OBJs)
+ @if [ -f $@ ] ; then rm $@ ; else $(NULL) ; fi
+- @echo $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+- $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ @echo $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libcdf.$(SHAREDEXT) -o $@ $(OBJs) $(SYSLIBS)
++ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libcdf.$(SHAREDEXT) -o $@ $(OBJs) $(SYSLIBS)
+ # @if [ $(MACVERSION) -gt 0 ]; then \
+ # rm -f $(MACLIB)/$@; \
+ # cp $@ $(MACLIB)/libcdf.$(VERSION).dylib; \
+@@ -134,8 +134,8 @@ libcdf.sl: $(OBJs)
+ # fi
+
+ libcdf.o: $(OBJs)
+- @echo $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+- $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ @echo $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS)
+
+ .c.o:
+ @if [ "$<" = "cdfgzip.c" ] || [ "$<" = "cdfgzip64.c" ] ; then \
+diff --git a/src/tools/Makefile b/src/tools/Makefile
+index bac4ca0..ef44264 100644
+--- a/src/tools/Makefile
++++ b/src/tools/Makefile
+@@ -33,7 +33,7 @@
+ SHELL=/bin/sh
+
+ CURSES=yes
+-CCx=gcc
++CCx=$(CC)
+ COPTIONS=-I/usr/include/ncurses -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -O2
+ COPTIONSld=
+ SYSLIBS=-lgcc
+@@ -43,8 +43,8 @@ MAKE=make
+ INCLUDEcdf= ../include
+
+ CC=$(CCx)
+-CFLAGS=$(COPTIONS) -I$(INCLUDEcdf)
+-CFLAGSld=$(COPTIONSld)
++CFLAGS+=$(COPTIONS) -I$(INCLUDEcdf)
++CFLAGSld=$(COPTIONSld) $(LDFLAGS)
+
+ WHICHOS=$(shell uname -a | cut -f1 -d" ")
+ ifeq ("$(WHICHOS)","Darwin")