diff options
author | 2024-11-30 17:08:04 +0100 | |
---|---|---|
committer | 2024-12-01 08:36:33 +0000 | |
commit | 3ca573c730559e095047180c04dc4f45dcaf758f (patch) | |
tree | e8164fb48ae970aa32b5cfb74732b0d3b70907f9 /sci-geosciences | |
parent | dev-util/ROPgadget: Stabilize 7.5 x86, #945498 (diff) | |
download | gentoo-3ca573c730559e095047180c04dc4f45dcaf758f.tar.gz gentoo-3ca573c730559e095047180c04dc4f45dcaf758f.tar.bz2 gentoo-3ca573c730559e095047180c04dc4f45dcaf758f.zip |
sci-geosciences/gmt: fix implicit function declaration
[sam: Revbump for modern C fix.]
Closes: https://bugs.gentoo.org/945480
Signed-off-by: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
Closes: https://github.com/gentoo/gentoo/pull/39531
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sci-geosciences')
-rw-r--r-- | sci-geosciences/gmt/files/gmt-6.4.0-mergesort.patch | 57 | ||||
-rw-r--r-- | sci-geosciences/gmt/gmt-6.4.0-r1.ebuild (renamed from sci-geosciences/gmt/gmt-6.4.0.ebuild) | 6 |
2 files changed, 62 insertions, 1 deletions
diff --git a/sci-geosciences/gmt/files/gmt-6.4.0-mergesort.patch b/sci-geosciences/gmt/files/gmt-6.4.0-mergesort.patch new file mode 100644 index 000000000000..55a31f29e44b --- /dev/null +++ b/sci-geosciences/gmt/files/gmt-6.4.0-mergesort.patch @@ -0,0 +1,57 @@ +From a898ed6598541a70976a44ece58f5f358a80e1bc Mon Sep 17 00:00:00 2001 +From: Paul Wessel <pwessel@hawaii.edu> +Date: Mon, 24 Apr 2023 14:41:35 +0200 +Subject: [PATCH] Ensure mergesort is declared if needed +Upstream: https://github.com/GenericMappingTools/gmt/pull/7411 +Bug: https://bugs.gentoo.org/945480 + +See #7410 for background. Here I implement it a bit differently. The mergesort function is used both in a module (gmtspatial) as well as by some gmt_*.c libraries, hence if it is not part of the standard libraries we declare it in gmt_prototypes.h so it is set for both modules and libs. +--- a/src/gmt_init.c ++++ b/src/gmt_init.c +@@ -167,6 +167,10 @@ + # include <mex.h> + #endif + ++#ifndef HAVE_MERGESORT ++#include "mergesort.c" ++#endif ++ + /* These are used in gmtinit_init_custom_annot and gmtinit_decode_tinfo only */ + #define GMT_ITEM_ANNOT 0 + #define GMT_ITEM_INTVAL 1 +--- a/src/gmt_prototypes.h ++++ b/src/gmt_prototypes.h +@@ -39,6 +39,15 @@ EXTERN_MSC void gmt_grd_dump (struct GMT_GRID_HEADER *header, gmt_grdfloat *grid + EXTERN_MSC char * gmt_strdup (struct GMT_CTRL *GMT, const char *s); + #endif + ++#ifdef __APPLE__ ++/* macOX has it built in, so ensure we define this flag */ ++#define HAVE_MERGESORT ++#endif ++ ++#ifndef HAVE_MERGESORT ++EXTERN_MSC int mergesort (void *base, size_t nmemb, size_t size, int (*cmp)(const void *, const void *)); ++#endif ++ + /* gmt_nc.c: */ + + EXTERN_MSC bool gmt_nc_is_cube (struct GMTAPI_CTRL *API, char *file); +--- a/src/gmtspatial.c ++++ b/src/gmtspatial.c +@@ -165,15 +165,6 @@ struct GMTSPATIAL_PAIR { + uint64_t pos; + }; + +-#ifdef __APPLE__ +-/* macOX has it built in, so ensure we define this flag */ +-#define HAVE_MERGESORT +-#endif +- +-#ifndef HAVE_MERGESORT +-#include "mergesort.c" +-#endif +- + static void *New_Ctrl (struct GMT_CTRL *GMT) { /* Allocate and initialize a new control structure */ + struct GMTSPATIAL_CTRL *C; + diff --git a/sci-geosciences/gmt/gmt-6.4.0.ebuild b/sci-geosciences/gmt/gmt-6.4.0-r1.ebuild index ab7b61b5eb63..7f7d94e82835 100644 --- a/sci-geosciences/gmt/gmt-6.4.0.ebuild +++ b/sci-geosciences/gmt/gmt-6.4.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -34,6 +34,10 @@ RDEPEND="${DEPEND} sci-geosciences/gshhg-gmt " +PATCHES=( + "${FILESDIR}/${P}-mergesort.patch" +) + src_prepare() { cmake_src_prepare # Rename man pages to avoid a name conflict with gmt5 |