summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@gentoo.org>2024-09-02 20:38:49 -0400
committerEli Schwartz <eschwartz@gentoo.org>2024-09-02 20:41:09 -0400
commitf28a41f0ae6e45908049affbe9ed3fbff6bde573 (patch)
tree53d80520951325e558323c73f446bf5b2e218562 /sci-visualization
parentx11-libs/libdrm: Stabilize 2.4.122 hppa, #937029 (diff)
downloadgentoo-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/Manifest1
-rw-r--r--sci-visualization/grace/files/grace-configure-c99.patch89
-rw-r--r--sci-visualization/grace/grace-5.1.25_p17.ebuild120
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
+}