diff options
author | Eli Schwartz <eschwartz@gentoo.org> | 2024-09-02 20:38:49 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz@gentoo.org> | 2024-09-02 20:41:09 -0400 |
commit | f28a41f0ae6e45908049affbe9ed3fbff6bde573 (patch) | |
tree | 53d80520951325e558323c73f446bf5b2e218562 /sci-visualization | |
parent | x11-libs/libdrm: Stabilize 2.4.122 hppa, #937029 (diff) | |
download | gentoo-f28a41f0ae6e45908049affbe9ed3fbff6bde573.tar.gz gentoo-f28a41f0ae6e45908049affbe9ed3fbff6bde573.tar.bz2 gentoo-f28a41f0ae6e45908049affbe9ed3fbff6bde573.zip |
sci-visualization/grace: update to latest debian patches; fix modern C
Closes: https://bugs.gentoo.org/886603
Closes: https://bugs.gentoo.org/908528
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
Diffstat (limited to 'sci-visualization')
-rw-r--r-- | sci-visualization/grace/Manifest | 1 | ||||
-rw-r--r-- | sci-visualization/grace/files/grace-configure-c99.patch | 89 | ||||
-rw-r--r-- | sci-visualization/grace/grace-5.1.25_p17.ebuild | 120 |
3 files changed, 210 insertions, 0 deletions
diff --git a/sci-visualization/grace/Manifest b/sci-visualization/grace/Manifest index fdbc3eb13346..22f0aa59fe77 100644 --- a/sci-visualization/grace/Manifest +++ b/sci-visualization/grace/Manifest @@ -1,2 +1,3 @@ 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 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..3db7ac26d8a1 --- /dev/null +++ b/sci-visualization/grace/grace-5.1.25_p17.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +FORTRAN_NEEDED=fortran + +inherit desktop 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() { + 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 +} |