diff options
Diffstat (limited to 'sci-libs/cdf')
-rw-r--r-- | sci-libs/cdf/Manifest | 13 | ||||
-rw-r--r-- | sci-libs/cdf/cdf-3.8.0-r1.ebuild | 8 | ||||
-rw-r--r-- | sci-libs/cdf/cdf-3.9.0.ebuild | 148 | ||||
-rw-r--r-- | sci-libs/cdf/files/cdf-3.9.0-respect-flags.patch | 85 |
4 files changed, 251 insertions, 3 deletions
diff --git a/sci-libs/cdf/Manifest b/sci-libs/cdf/Manifest index 7354e1f6425e..1b47783b15ef 100644 --- a/sci-libs/cdf/Manifest +++ b/sci-libs/cdf/Manifest @@ -1,5 +1,6 @@ AUX 50cdf 124 BLAKE2B 93acfc3dd493c8518497ed7dafa35cc61f66501bd9d7c4db1f4072cdda9742f2927b5f388dde26d33e76d4d33405a8a92fbf133a1ed729ce8cba21458f552123 SHA512 4fe515d03379f2b6e1723c771f73e65be9f67365a46e75dbeb3358bbdc6f3446b91efd989363bf229b7ae93a446ddedeefd883a0d59d28c1480a10a8994eeadc AUX cdf-3.8.0-respect-flags.patch 3080 BLAKE2B 1a89fef44861e1954d42fa68f8dc9398299656eaa08686ea07577e329c70f28ea5967079a94819c8f8b4d99369ec8041fa37443a9be0d3e580fe396dacb1b3fd SHA512 7d6dd822f81a2d80b73cc55b76b46c0016ab1dc4c754a90b57c2d2c99912c045853cf132d7c26dbfe804fc4cc908647ad7832b3048edfe5b2b4e735b23499953 +AUX cdf-3.9.0-respect-flags.patch 2704 BLAKE2B befb5b5bdfe01334ccce346f15fa079505a4c544f38cad26ea36e8e18db2ed55a08602d2a4798be1ac2feaa6fa3806aac590e4f2f551736371bff8973957565c SHA512 d51dea20c4f708aa3a4d77147cef50c8d1e572088ffa2e8a9323d3b31915a77760a0dd3e04d161b29859b734424ad34616277ad8fdf032ce1a50d843058c20c2 DIST cdf380crm.pdf 2671048 BLAKE2B 2605d6465c744b57f11d08605aa888ead724b7553a0efd8830dae759eb54c6d0df807cca1c6611fd40b4c5eb9327fbfcd66f0f7cf82b69bf7619385928ebc6dd SHA512 fc1eef589ff0f3cd989d8743cc1d6cfeb5946cf9ae8e4a328ba746b33fe0f6a286cf7b7b7e7cab5e0231bef566c03d7b68afe6c0879e5fb32fc1e6c980f7e081 DIST cdf380csrm.pdf 2409166 BLAKE2B 7e97e61865531b788553ca9747513ec32bc5e1a743e10e5bad5f62980a883d00cfeede975b83826ad72327071062080cd1db611fd40c4e5b3d22caf7d4dd3d0f SHA512 d669f032722e270d3f16f8d9a8920d4536430bd83a509591cf82b447770d16a9c6d9aba17e096f78445c4f0b7f4ab85082cf2480bc9384b46677a2325be0f163 DIST cdf380frm.pdf 2570409 BLAKE2B c8fb1444c7e02297af0c3bffbf58c048077e0d69c4aca8cb3e48331f496dba1551289d2e2b95f9f2d9fabe8048bd56f73a72bab58a52772cae22f184a6b39745 SHA512 de90e4893b976ab9e77f1e9512b2f310b043b8dc921ca43cf1d37e767bf5cbae5d06f91388ff5f4fb1258db5a1149712fa9a5dbc1c2d18f78705021fc31087bb @@ -9,5 +10,15 @@ DIST cdf380vbrm.pdf 2260048 BLAKE2B 30abdf365763df753569289a74013033e0dc56c3ce0a 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 -EBUILD cdf-3.8.0-r1.ebuild 3251 BLAKE2B 9b758381574ab0c5afe1411b2574374628437b4eb3070f45e868724ae1e37f9451a3b9a79f722e69b6bc679cd39733f9d754e3a90dd7ee3d075dbfe7ada8148b SHA512 e7c63628bdca9d8f1bc422ef944016346932eded0c99dd88b8e3cc32652897ccba01d78410005eafe5f1243be75a62d8c73df33f74b8a677c8da9b8e1eb63b6e +DIST cdf390crm.pdf 2029732 BLAKE2B 011652b3c55910dea6c4e7b47e003335826e3471bfab41e27a1baf44397b4efd684f75b8e09018279cf9ee53f3d3de65a8c5905769e04aa93b893bbc470117a8 SHA512 b1b60c0b77bece7f0f722505bff1abba1798a220627216f04c84163a3efb51fdd31bc3abe2f8dacd0bb31e6aee585301939d38dc9353fda0535475ba973593be +DIST cdf390csrm.pdf 1865382 BLAKE2B 83bc066468867b946e3962f1c4b2717f218ea2b92100b43ff18457c1759e2bd71028919aa6403030b840aaa5709a0fafa3e5e6a8843df52e44b3ff335e44dff0 SHA512 f614e1cea672c69eb08e0559e6d1b743f1eaf4f20c1e9dda8ca372ece3040676ba312b5800640b6f202aa9cc45b90e3ce9fbf07fcf621ed8591cbcbfc4e42a24 +DIST cdf390frm.pdf 1896169 BLAKE2B 26cafadaaaf861a4556d54c2fcd09f74c763a8d56e170a75b1247ac700c4082b1d09c446568e814b8b126b5ca2c4d1d0c3cc658ceb49fa6823fcbfe6db7326b2 SHA512 a696a1a774d31f1b023e15d9d510baa7407ea0f6a76bd065bb7c69bb85a3ea5aff6999949a6ed8ce21c418928eca6d90d22e0439ab959f3c1d2b7b9f0a33878e +DIST cdf390prm.pdf 1226869 BLAKE2B c07bb0f0a078c3e68a9811d36bfb459840c6396cf67e129b2b138d0f194ab2637b32a9826709fff03a58e5b43d680197df27fa09182a03ff1501eca62e6fac6f SHA512 38dbff0fbf05c21270395d2207d171c4746d016a6a8051d39d3c66603aedd3d73b1b4e83924af53aaf391f9108770647c56f380fd98fdae3a3f027fe3cf88de3 +DIST cdf390ug.pdf 1566123 BLAKE2B 639f800454e8f27286d769d505001e07e972b194d589a189b291c51f322d3995c7a4040f319ca50ccd1a27bc0a494e356722071db058da52816d44af9eb685b5 SHA512 980e995534da349f7b38480924ace002ccd1b41c1d3468d7a7741f28edda6c65fb3bdb3b9a43a3b29d92195283c42eecc0d494be4a77275dec85430b9bffb54b +DIST cdf390vbrm.pdf 1729074 BLAKE2B d30d177202b516891dba0cb99113d6d19af41d950384469ec8a35d96dd2f7418646d1622bbf35376f02cabe686d6da0382e65b98a5beef0bcf81eb827dab5270 SHA512 98379bb4f30c8073ea1d43b7b4b75559722b6de1c7a500bb79b25162cb1bbc82afd9eec443af4645e369de6f59bf031fd097bc802896ad7310b7614a73486961 +DIST cdf39_0-dist-cdf.tar.gz 1290187 BLAKE2B 03f7c7840c44514046df0d63ff6086be7263858f90225debfb8a4fe6c4d6e5b03c95faa2762f76e2ffc198ac77359b3494520258ec17678746fd7f619e362853 SHA512 e054b763d86c09c53375ef60a8690f43fcb106be1dc6fd907763379db1ab4c9677692671a63da74d955aec8ce3f866f420ddc7217a59ed68e51c4623562af387 +DIST cdf39_0-dist-java.tar.gz 1162924 BLAKE2B 4e6416ec5a2a2eede428fa00906ca0e42460916506e7b2075d622e322ffe53e337a77bf81aa871e1559fb6b9339f2f49e365ca835874e060da33cd7c68e45177 SHA512 860468257c70bd6cb9592f40e495b5efb9092fc6fa3ab68c2fdc729c46d9ea4f0499a0b29904fe9c1ae07c13958e551b4e5cc8b9b71c2401ca833f2020073606 +DIST cdf39ifd.pdf 656522 BLAKE2B 2ec3831f27e92fcec8191bedb1617c9f590b726732e02dd8ca317b814c369b46d50dd19e7bfc81df233e1e32ca6fb8191bf7e075ce67dda1ddd50645d5fc754b SHA512 f4de5bea46b7d1ea2621b9fa0ac1ab0f9904ada9a1625ce613f6fdb68ad25ca52398cbf75bb27902e54ba5ee7820f3ea1a563c655186047b8954cb53b4cd8197 +EBUILD cdf-3.8.0-r1.ebuild 3370 BLAKE2B 228ec6a849cae4a6a62fdb595e6746cb2c75ccc6bee68f0446afc3ab53180dc6bcdaa726523e9cbb8518cbedf961433f9d3eb8753b2c6b26a7ff625b16c68436 SHA512 a1cbb2e8f50281ba4155b03d5b802823210229e7d00a184d0f1fb5bc055133d9e4c5ee2cdb2da191ca4bc076dbbbd7f224e26f84616f070fd33cc70d23bff16d +EBUILD cdf-3.9.0.ebuild 3635 BLAKE2B bd77f0d52b94bc14b866fcfe92a33cd16e38db6ee4411628235d7f54588a39f15aed3bc378a58faceebeb36f03ae7c41ee091efdc06bdb06e2e5b36b44ef9124 SHA512 d7ffd82cbc1d75d049f4ee61615a2f346348268d4ec4768e98414eae0e6d1e330a079a4b5794017b49b7fdbd7a49e5f6bac2d4c8bfba565a3a45a164911324e5 MISC metadata.xml 1050 BLAKE2B fb46e44a9381f11bbb49a6d0429b7906026f68812064c2f6bf57d1445ed98c640659563cd323e5a6d22897a0a07af3ab60e23082d080111094ba607c97049e8b SHA512 e4e6c6a12b6fb7f12c165726c8238276e14b5873b6d476ae84935e6ba5c903b4214190ad778918d538825ff04280c174e2629e8e5b8424413085431eb7d449d0 diff --git a/sci-libs/cdf/cdf-3.8.0-r1.ebuild b/sci-libs/cdf/cdf-3.8.0-r1.ebuild index 7d3f32ecb62b..7a705868953c 100644 --- a/sci-libs/cdf/cdf-3.8.0-r1.ebuild +++ b/sci-libs/cdf/cdf-3.8.0-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit java-pkg-opt-2 multilib toolchain-funcs +inherit flag-o-matic java-pkg-opt-2 multilib toolchain-funcs MY_DP="${PN}$(ver_cut 1)$(ver_cut 2)" MY_P="${MY_DP}_$(ver_cut 3)" @@ -56,6 +56,10 @@ src_prepare() { } src_compile() { + # Reported upstream by email in 2024-03-22 (bug #862675) + append-flags -fno-strict-aliasing + filter-lto + PV_SO=${PV:0:1} emake \ OS=linux \ diff --git a/sci-libs/cdf/cdf-3.9.0.ebuild b/sci-libs/cdf/cdf-3.9.0.ebuild new file mode 100644 index 000000000000..041ee9765e53 --- /dev/null +++ b/sci-libs/cdf/cdf-3.9.0.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic java-pkg-opt-2 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 + ) +" +S="${WORKDIR}/${MY_P}-dist" + +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:= ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ncurses? ( virtual/pkgconfig ) +" + +PATCHES=( + # Respect cflags, ldflags, soname + "${FILESDIR}"/${PN}-3.9.0-respect-flags.patch +) + +src_prepare() { + default + + # Use proper lib dir + sed -i \ + -e "s:\$(INSTALLDIR)/lib:\$(INSTALLDIR)/$(get_libdir):g" \ + Makefile || die "sed failed" + # Uses the wide variant of *curses functions + sed -i \ + -e "s:-I/usr/include/ncurses:$($(tc-getPKG_CONFIG) --cflags-only-I ncursesw):g" \ + Makefile src/tools/Makefile || die "sed failed" +} + +src_compile() { + # Reported upstream by email in 2024-03-22 (bug #862675) + append-flags -fno-strict-aliasing + filter-lto + + PV_SO=${PV:0:1} + + emake \ + OS=linux \ + AR="$(tc-getAR)" \ + CC="$(tc-getCC)" \ + LD="$(tc-getCC)" \ + RANLIB="$(tc-getRANLIB)" \ + RANLIBcmd="$(tc-getRANLIB)" \ + ENV=gnu \ + SHARED=yes \ + SHAREDEXT_linux=so.${PV_SO} \ + CURSESLIB_linux_gnu="$(usex ncurses "$($(tc-getPKG_CONFIG) --libs ncursesw)" "")" \ + 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 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 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.9.0-respect-flags.patch b/sci-libs/cdf/files/cdf-3.9.0-respect-flags.patch new file mode 100644 index 000000000000..b47d5f1e9eeb --- /dev/null +++ b/sci-libs/cdf/files/cdf-3.9.0-respect-flags.patch @@ -0,0 +1,85 @@ +--- a/Makefile ++++ b/Makefile +@@ -1051,7 +1051,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) $(EXTRAMAKE) MAKE=$(MAKE) "INSTALLDIR=$(INSTALLDIR)" install.lib.so ; \ + else \ + $(NULL) ; \ +@@ -1200,10 +1200,10 @@ copy.include: + cp $(INCsrcDIR)/cdftools.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 +--- 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 + +@@ -108,17 +108,18 @@ ranlib.yes: + + shared.yes: libcdf.$(SHAREDEXT) + ++libcdf.$(SHAREDEXT) \ + libcdf.so \ + 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) + + 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 \ +--- 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") |