diff options
Diffstat (limited to 'sci-visualization/grace')
-rw-r--r-- | sci-visualization/grace/Manifest | 3 | ||||
-rw-r--r-- | sci-visualization/grace/files/grace-configure-c99.patch | 89 | ||||
-rw-r--r-- | sci-visualization/grace/grace-5.1.25_p17.ebuild | 125 |
3 files changed, 217 insertions, 0 deletions
diff --git a/sci-visualization/grace/Manifest b/sci-visualization/grace/Manifest index b953a7400386..5269a24c7851 100644 --- a/sci-visualization/grace/Manifest +++ b/sci-visualization/grace/Manifest @@ -2,9 +2,12 @@ AUX grace-5.1.21-fortran.patch 649 BLAKE2B c0de10fc82809fa0ec73e6fdc03e7b50ac18f AUX grace-5.1.22-dlmodule.patch 355 BLAKE2B baee835ed77d6720f145a7973a5a1e58359d129eb514b4e8ec13f3390dcd39f9842cee30a6ac131b79c2f3deaffecf76e41ddb5df0b8a26f67aa1b85959aaddb SHA512 8ce040b56992712a11f2d00aa1aca67120e16df187ffed9541bb5fdc390c7555461d3ccbfbc3448e68d9a41b6b3bf9d1d2f3dca10259393c96665e3ba489ef34 AUX grace-5.1.25-honor-noask.patch 419 BLAKE2B 5fdfc9228d001ec8a0016b8dfc5a4df1d95f0a0931e602d2f2a4099ae88b65904546f337528b28a4de2af6561bf05172d25bad0a75bd3eb343c0fdafc92efde8 SHA512 5b089de3b58d7107674cb8f07fceb0ef639208a534c56d785add156b04857fe9ae2a04edd68ec1f74eac12a2a32d255550782042801a092137cd24b481368d04 AUX grace-c99.patch 346 BLAKE2B dc63430fd61f1dd53e3f0bc9515d61929d834e957af03c02c607eab8061c05c1e74bf5db57c08182e5bc95d005216b11d79309cd06fddee4b2578f7fe99f304b SHA512 880e825ee4ebbbb5bc7d8fb500bd54f773982817a6c52606d4b7f3a02bacc627416a08b1aa3f0e1a121424f4b0f8d9a9f23d239376d477239a5511b5c2f63c86 +AUX grace-configure-c99.patch 2322 BLAKE2B 0c7553d7ddf9ac5efc44f0e45c39d68910235eaf9d37192564dc9cc653e35d37a7d1535bf3630b28e5930bb14cb426e60aa5536e3ff7406e5e5b53d642ab437d SHA512 e0bad3183fbb0dadf707040570ef589da3bd15c2e5d060da9b98ee55219a533e5a22520d92e1116fa35aed88cb0ac36762322d9ae710bc547c7521f9542238a6 AUX grace.desktop 161 BLAKE2B a401e23fc2ee22cd47c36becfa742f5acafd2359185a92f1156159c2ea480a17a82219182873aaf9da4e6582bce6ac1ef62b66b1330759214fc21a364c376ac6 SHA512 6d43de6f8d5f85c3fff36202320864ea3611d3ee842efa677ad59ae1390c6499f9f14aefd37345c0cec62024637b057e804efd26577c45b4f7a5bb6717952b2a DIST grace-5.1.25.tar.gz 2957689 BLAKE2B f46032c92aa2ed2484ca05c0eb858f47adfa88517e7d06c0d95a6d23c044356edfc52b9a7566a625ef5f4a1a4b5450b0ce065a94ba15c59fb8395d53c85872c9 SHA512 9ea68483af1dfc98d217ae730b7a51b66deae5aaa8dfda29d5a3337ed4b5728b45aa03f561bf7d4173e73d6af8dee03cbabd95c0c8dd36999303c89451a3728a DIST grace_5.1.25-13.debian.tar.xz 110248 BLAKE2B 19dce6ed1b9e1d93d87036f5aba5ee262d54a58bc7daf2039fb2246bd2f45e413832561a33f8cb1b793fdf30831b0282f00e60efe3980df7875d2923a9f32f76 SHA512 51ee85525557c630fc3e208eb9b72b8973de6351698766ade1a59af6b9f16bc1b6b9c2c40d2270eb33d55806c4762c7b5d10b14f2a470ff00cfae2c9351bc922 +DIST grace_5.1.25-17.debian.tar.xz 112540 BLAKE2B 6637c87cda3dadbb3cf8040811e227a080a116101ee0da9c51d068e811bbe7516ae8ef462dcc50bd6d53a88765908ca955cd9b1bbebcfff37da1c40d7c76f640 SHA512 2d9a05e7f409893193e23f904d82afc6e930ae7b051b9ddcfa62c6ddfb0f892cc931f41968fa52ef95ea9c1aef4138de4bdac570789e494a0f6308e355b2bda7 EBUILD grace-5.1.25_p13-r1.ebuild 2861 BLAKE2B fd95edcc79f9ff9a4ca9b182a9336cbf2e007c93bcdaf7ab150b9c69cf2cd0dfe7aad1ade60f881a066d9814b3796f344ddd424d71c79a141b8c6c1a4f42aeb7 SHA512 17840bb0c82d8be359b20417548292927769ffe2e2529bee7d7bd80cabbf4ec679d71a71f9c5827fa30fa2609e56d1f4f02ff58dbb268d283f75ec727c6940c1 EBUILD grace-5.1.25_p13-r2.ebuild 3035 BLAKE2B 1faa0d707ee3d67a467337a8536b1bd272fd46481bca105faa0c1156c567c760aa02a87c3fce66614add4f1d8cf9dba83e657eac1920517dc7495edf8daeca25 SHA512 904f1db858eecc94d7c8d5bbf23b195699cef23311d00431f1655eb835d0f6e75449c597f677b68a8089ae5fd6cf7851114cdcc8c9a9595537ff3e02fcfd011e +EBUILD grace-5.1.25_p17.ebuild 3357 BLAKE2B 49b80c7b9d8435478dd8cf1d27948cad9bdbaa1895c472c63705c3f2a59cac1da2070e41eef5996ef0e2e2ded9ee7aadf495c8485f1b66476d6503ababec396a SHA512 b5bdc2a93ace7b0d26e7177af02954e22b1d501c5505df527ec236247fb37f8056f7fd798fe305f6d955d43b5988d711723a6f0dc0f8cb9a3e373fd0a2de7b8f MISC metadata.xml 731 BLAKE2B feed7db30735c68833d77ff620fba0fe0aa1bce8a5dbe28acc9fe173cd5ac43db832b1c7f6561c7ae4806518a8ac307bc8dd0e6d7fa0c01cfd2dfda1733bd50d SHA512 e8a3ba01961a1c0bcc3627670ddb286395f85d481ba1892aba65b5c661337b29e93e4457a3b86813d2381073e8bff9a2bef8b70fc19cdd4c0bca2dfafded8334 diff --git a/sci-visualization/grace/files/grace-configure-c99.patch b/sci-visualization/grace/files/grace-configure-c99.patch new file mode 100644 index 000000000000..ff8cf077a5f1 --- /dev/null +++ b/sci-visualization/grace/files/grace-configure-c99.patch @@ -0,0 +1,89 @@ +From 625be283aa5fcfe0cfe1cc3851226d7677a21cdc Mon Sep 17 00:00:00 2001 +From: Eli Schwartz <eschwartz93@gmail.com> +Date: Mon, 2 Sep 2024 20:00:20 -0400 +Subject: [PATCH] configure: fix implicit function declarations + +Import fedora patch: +https://src.fedoraproject.org/rpms/grace/blob/rawhide/f/grace-configure-c99-1.patch + +Do not call the XmRegisterConverters function because current Motif +does not declare it (but still exports it). With this call, the +result of this configure check depends on whether the compiler +supports implicit function declarations or not. + +Additionally add missing includes to various checks that lacked them. +Florian's patch moved from exit to return, but adding the includes is +shorter. +--- + configure | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/configure b/configure +index d58ce51..3f3c1f3 100755 +--- a/configure ++++ b/configure +@@ -4931,6 +4931,7 @@ else + /* end confdefs.h. */ + + #include <stdio.h> ++#include <stdlib.h> + #include <string.h> + + #define LOG2EA 0.44269504088896340735992 +@@ -8309,6 +8310,7 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + ++#include <stdlib.h> + #include <string.h> + #include <zlib.h> + int main(void) { +@@ -8395,6 +8397,7 @@ else + /* end confdefs.h. */ + + #include <stdio.h> ++#include <stdlib.h> + #include <jpeglib.h> + int main(void) { + int vinc; +@@ -8479,6 +8482,7 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + ++#include <stdlib.h> + #include <string.h> + #include <png.h> + int main(void) { +@@ -8566,6 +8570,8 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + ++#include <stdlib.h> ++#include <string.h> + #include <pdflib.h> + int main(void) { + char *vinc; +@@ -9516,11 +9522,11 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + ++#include <stdlib.h> + #include <Xm/XmAll.h> + int main(void) { + int vlibn, vincn; + vincn = XmVersion; +- XmRegisterConverters(); + vlibn = xmUseVersion; + if (vincn < 1002) { + exit(1); +@@ -9790,6 +9796,7 @@ else + /* end confdefs.h. */ + + #include <XmHTML/XmHTML.h> ++#include <stdlib.h> + int main(void) { + int vlib, vinc; + vlib = XmHTMLGetVersion(); +-- +2.44.2 + diff --git a/sci-visualization/grace/grace-5.1.25_p17.ebuild b/sci-visualization/grace/grace-5.1.25_p17.ebuild new file mode 100644 index 000000000000..2e8a4182babb --- /dev/null +++ b/sci-visualization/grace/grace-5.1.25_p17.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +FORTRAN_NEEDED=fortran + +inherit desktop flag-o-matic fortran-2 toolchain-funcs xdg + +DESCRIPTION="Motif based XY-plotting tool" +HOMEPAGE="https://plasma-gate.weizmann.ac.il/Grace/" +SRC_URI=" + ftp://plasma-gate.weizmann.ac.il/pub/${PN}/src/stable/${P/_p*}.tar.gz + mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV/_p*}-${PV/*_p}.debian.tar.xz +" + +SLOT="0" +LICENSE="GPL-2 LGPL-2" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="fftw fortran jpeg netcdf png" + +DEPEND=" + media-libs/t1lib + media-libs/tiff:= + sys-libs/zlib + >=x11-libs/motif-2.3:0 + x11-libs/xbae + fftw? ( sci-libs/fftw:3.0= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + netcdf? ( sci-libs/netcdf:= ) + png? ( media-libs/libpng:0= )" +RDEPEND="${DEPEND} + x11-misc/xdg-utils" + +S="${WORKDIR}/${P/_p*}" + +PATCHES=( + # Fix for missing defines when fortran is disabled + "${FILESDIR}"/${PN}-5.1.21-fortran.patch + # Fix a leak (from freebsd) + "${FILESDIR}"/${PN}-5.1.22-dlmodule.patch + # Honor -noask option and avoid accidentally overwritting files + "${FILESDIR}"/${PN}-5.1.25-honor-noask.patch + # Fix C99 compat (from Fedora); included in debian "source-hardening"??? + #"${FILESDIR}"/${PN}-c99.patch + "${FILESDIR}"/${PN}-configure-c99.patch +) + +pkg_setup() { + fortran-2_pkg_setup +} + +src_prepare() { + default + + # Debian patches + for p in $(<"${WORKDIR}"/debian/patches/series) ; do + # We have a safer one + [[ ${p} = configure-implicit-declarations.diff ]] && continue + + eapply -p1 "${WORKDIR}/debian/patches/${p}" + done + + # don't strip if not asked for + sed -i \ + -e 's:$(INSTALL_PROGRAM) -s:$(INSTALL_PROGRAM):g' \ + {auxiliary,grconvert,src}/Makefile || die + + sed -i \ + -e 's:$(GRACE_HOME)/bin:$(PREFIX)/bin:g' \ + -e "s:\$(GRACE_HOME)/lib:\$(PREFIX)/$(get_libdir):g" \ + -e 's:$(GRACE_HOME)/include:$(PREFIX)/include:g' \ + -e 's:$(PREFIX)/man:$(PREFIX)/share/man:g' \ + Makefile */Makefile || die "sed failed" + + sed -i \ + -e 's:bin/grconvert:grconvert:' \ + -e 's:auxiliary/fdf2fit:fdf2fit:' \ + gracerc || die +} + +src_configure() { + # -Werror=strict-aliasing, -Werror=lto-type-mismatch + # https://bugs.gentoo.org/863293 + append-flags -fno-strict-aliasing + filter-lto + + tc-export CC AR + + # the configure script just produces a basic Make.conf + # and a config.h + econf \ + --disable-pdfdrv \ + --disable-xmhtml \ + --without-bundled-xbae \ + --without-bundled-t1lib \ + --enable-grace-home="${EPREFIX}"/usr/share/${PN} \ + --with-helpviewer="xdg-open %s" \ + --with-editor="xdg-open %s" \ + --with-printcmd="lpr" \ + --x-includes="${EPREFIX}"/usr/include \ + --x-libraries="${EPREFIX}"/usr/$(get_libdir) \ + $(use_with fftw) \ + $(use_enable fortran f77-wrapper) \ + $(use_enable netcdf) \ + $(use_enable jpeg jpegdrv) \ + $(use_enable png pngdrv) \ + $(use_with fortran f77 $(tc-getFC)) +} + +src_install() { + default + + dosym ../../${PN}/examples /usr/share/doc/${PF}/examples + dosym ../../${PN}/doc /usr/share/doc/${PF}/html + + doman "${ED}"/usr/share/doc/${PF}/html/*.1 + rm -f "${ED}"/usr/share/doc/${PF}/html/*.1 || die + + domenu "${FILESDIR}"/${PN}.desktop + for size in 16 22 24 32; do + newicon -s "${size}" "${WORKDIR}"/debian/icons/grace"${size}".png "${PN}.png" + done + doicon -s 48 "${WORKDIR}"/debian/icons/grace.png + doicon -s scalable "${WORKDIR}"/debian/grace.svg +} |