forked from macports/macports-ports
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
gmt5, gmt6: deprecate gmt5, fix sighandler patch
- Loading branch information
Showing
5 changed files
with
215 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
--- src/common_sighandler.c.orig 2019-01-03 15:39:17 | ||
+++ src/common_sighandler.c 2024-07-15 17:48:27 | ||
@@ -58,11 +58,19 @@ | ||
# if __DARWIN_UNIX03 | ||
# ifdef __x86_64__ | ||
# define UC_IP(uc) ((void *) (uc)->uc_mcontext->__ss.__rip) | ||
+# elif defined(__arm64__) /* Apple Silicon, e.g. M1 */ | ||
+# define UC_IP(uc) ((void *) (uc)->uc_mcontext->__ss.__pc) | ||
+# elif defined(__POWERPC__) /* Both ppc and ppc64 */ | ||
+# define UC_IP(uc) ((void *) (uc)->uc_mcontext->__ss.__srr0) | ||
# else | ||
# define UC_IP(uc) ((void *) (uc)->uc_mcontext->__ss.__eip) | ||
# endif | ||
# else | ||
-# define UC_IP(uc) ((void *) (uc)->uc_mcontext->ss.eip) | ||
+# ifdef __ppc__ | ||
+# define UC_IP(uc) ((void *) (uc)->uc_mcontext->ss.srr0) | ||
+# else | ||
+# define UC_IP(uc) ((void *) (uc)->uc_mcontext->ss.eip) | ||
+# endif | ||
# endif | ||
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) | ||
# ifdef __x86_64__ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 | ||
|
||
PortSystem 1.0 | ||
PortGroup cmake 1.0 | ||
PortGroup github 1.0 | ||
|
||
name gmt6 | ||
github.setup GenericMappingTools gmt 6.5.0 | ||
github.tarball_from releases | ||
distname ${github.project}-${github.version}-src | ||
revision 2 | ||
epoch 1 | ||
|
||
categories science | ||
maintainers {me.com:remko.scharroo @remkos} openmaintainer | ||
license GPL-3 | ||
|
||
description The Generic Mapping Tools | ||
long_description GMT is an open source collection of ~120 tools \ | ||
for manipulating geographic and Cartesian data sets and \ | ||
producing PostScript illustrations ranging from simple x-y \ | ||
plots via contour maps to artificially illuminated surfaces \ | ||
and 3D perspective views. | ||
|
||
homepage https://www.generic-mapping-tools.org/ | ||
master_sites https://github.com/GenericMappingTools/gmt/releases/download/${version} \ | ||
ftp://ftp.soest.hawaii.edu/gmt \ | ||
ftp://ftp.star.nesdis.noaa.gov/pub/sod/lsa/gmt \ | ||
ftp://ftp.iris.washington.edu/pub/gmt \ | ||
ftp://ftp.iag.usp.br/pub/gmt \ | ||
ftp://gmt.mirror.ac.za/gmt \ | ||
http://mirrors.ustc.edu.cn/gmt \ | ||
http://www.scc.u-tokai.ac.jp/gmt | ||
use_xz yes | ||
distname gmt-${version} | ||
distfiles ${distname}-src${extract.suffix} | ||
|
||
checksums rmd160 3e47113d134bde756b98906a4704b3151902c4d1 \ | ||
sha256 4022adb44033f9c1d5a4d275b69506449e4d486efe2218313f3ff7a6c6c3141e \ | ||
size 58696516 | ||
|
||
patchfiles patch-gmt6-common_sighandler.diff | ||
|
||
depends_lib port:curl \ | ||
port:dcw-gmt \ | ||
port:ghostscript \ | ||
port:gshhg-gmt \ | ||
port:netcdf | ||
|
||
default_variants +gdal +pcre | ||
if {![variant_isset lgpl]} { | ||
default_variants-append +nonfree | ||
} | ||
|
||
cmake.out_of_source yes | ||
cmake.install_prefix ${prefix}/lib/${subport} | ||
|
||
# Mimic CMake's default FLAGS: | ||
if {[variant_isset debug]} { | ||
configure.optflags -O0 | ||
} else { | ||
# optflags deliberately unset: | ||
configure.optflags | ||
# Set CMAKE_BUILD_TYPE=RelWithDebInfo to get reliable backtraces: | ||
configure.args-delete -DCMAKE_BUILD_TYPE=Release | ||
configure.args-append -DCMAKE_BUILD_TYPE=RelWithDebInfo | ||
} | ||
|
||
configure.cflags-append -fstrict-aliasing | ||
configure.args-append -DDCW_ROOT=${prefix}/share/gmt/dcw \ | ||
-DCOPY_DCW=off \ | ||
-DGSHHG_ROOT=${prefix}/share/gmt/gshhg \ | ||
-DCOPY_GSHHG=off \ | ||
-DGS_ROOT=${prefix} \ | ||
-DNETCDF_ROOT=${prefix} \ | ||
-DCURL_ROOT=${prefix} \ | ||
-DFFTW3_ROOT=off \ | ||
-DGDAL_ROOT=off \ | ||
-DPCRE_ROOT=off \ | ||
-DGMT_OPENMP=off \ | ||
-DGMT_INSTALL_MODULE_LINKS=off \ | ||
-DGMT_INSTALL_TRADITIONAL_FOLDERNAMES=off \ | ||
-DLICENSE_RESTRICTED=GPL | ||
|
||
post-destroot { | ||
foreach l {gmt postscriptlight} { | ||
file delete ${destroot}${prefix}/lib/${subport}/bin/lib${l}.${version}.dylib | ||
} | ||
ln -s ${prefix}/lib/${subport}/bin/gmt ${destroot}${prefix}/bin/${subport} | ||
} | ||
|
||
variant fftw3 description {Optional support for FFTW-3 library} { | ||
depends_lib-append port:fftw-3-single | ||
configure.args-delete -DFFTW3_ROOT=off | ||
configure.args-append -DFFTW3_ROOT=${prefix} | ||
} | ||
|
||
variant gdal description {GDAL import support} { | ||
depends_lib-append port:gdal | ||
configure.args-delete -DGDAL_ROOT=off | ||
configure.args-append -DGDAL_ROOT=${prefix} | ||
} | ||
|
||
variant pcre description {PCRE regular expression support} { | ||
depends_lib-append port:pcre | ||
configure.args-delete -DPCRE_ROOT=off | ||
configure.args-append -DPCRE_ROOT=${prefix} | ||
} | ||
|
||
variant openmp description {Enable experimental OpenMP parallel acceleration} { | ||
configure.args-delete -DGMT_OPENMP=off | ||
configure.args-append -DGMT_OPENMP=on | ||
|
||
# FIXME: llvm-gcc42 is broken, https://trac.macports.org/ticket/40713 | ||
# Only clang really needs to be blacklisted | ||
compiler.blacklist *gcc-4.2 *clang* | ||
compiler.fallback macports-gcc-5 macports-gcc-4.9 macports-gcc-4.8 macports-gcc-4.7 macports-gcc-4.6 macports-gcc-4.5 macports-gcc-4.4 macports-gcc-4.3 | ||
|
||
# Needed for compiling with GCC and Accelerate Framework on OSX: | ||
configure.cflags-append -flax-vector-conversions | ||
} | ||
|
||
variant lgpl conflicts nonfree description {disallow use of GPL code, license will be LGPL} { | ||
license-delete GPL-3 | ||
license-append LGPL-3 | ||
configure.args-delete -DLICENSE_RESTRICTED=GPL | ||
configure.args-append -DLICENSE_RESTRICTED=LGPL | ||
} | ||
|
||
variant nonfree conflicts lgpl description {enable nonfree code, libraries and binaries \ | ||
will not be redistributable} { | ||
license-delete GPL-3 | ||
license-append Restrictive | ||
configure.args-delete -DLICENSE_RESTRICTED=GPL | ||
configure.args-append -DLICENSE_RESTRICTED=no | ||
} | ||
|
||
notes " | ||
${subport} is installed in ${prefix}/lib/${subport}. | ||
${prefix}/bin/${subport} is a symblic link to ${prefix}/lib/${subport}/bin/gmt. | ||
" | ||
|
||
# livecheck for the proper branch (5 or 6) and skipping any release candidates | ||
set firstchar [string range ${version} 0 0] | ||
livecheck.type regex | ||
livecheck.url ${github.homepage}/releases/ | ||
livecheck.regex gmt-(${firstchar}\\.\[0-9]+\\.\[0-9]+)-src${extract.suffix} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
From 458738d52a9068a140155061757c7fa3bc27cc45 Mon Sep 17 00:00:00 2001 | ||
From: Sergey Fedorov <vital.had@gmail.com> | ||
Date: Thu, 18 Jul 2024 22:36:57 +0800 | ||
Subject: [PATCH] gmt_common_sighandler.c: fix ucontext for Apple | ||
|
||
--- | ||
src/gmt_common_sighandler.c | 10 ++++++++-- | ||
1 file changed, 8 insertions(+), 2 deletions(-) | ||
|
||
diff --git src/gmt_common_sighandler.c src/gmt_common_sighandler.c | ||
index b6eaf7c95..f21d0ae58 100644 | ||
--- src/gmt_common_sighandler.c | ||
+++ src/gmt_common_sighandler.c | ||
@@ -80,13 +80,19 @@ GMT_LOCAL void backtrace_symbols_fd(void *const *buffer, int size, int fd) { | ||
# if __DARWIN_UNIX03 | ||
# ifdef __x86_64__ | ||
# define UC_IP(uc) ((void *) (uc)->uc_mcontext->__ss.__rip) | ||
-# elif __arm64__ /* Apple Silicon, e.g. M1 */ | ||
+# elif defined(__arm64__) /* Apple Silicon, e.g. M1 */ | ||
# define UC_IP(uc) ((void *) (uc)->uc_mcontext->__ss.__pc) | ||
+# elif defined(__POWERPC__) /* Both ppc and ppc64 */ | ||
+# define UC_IP(uc) ((void *) (uc)->uc_mcontext->__ss.__srr0) | ||
# else | ||
# define UC_IP(uc) ((void *) (uc)->uc_mcontext->__ss.__eip) | ||
# endif | ||
# else | ||
-# define UC_IP(uc) ((void *) (uc)->uc_mcontext->ss.eip) | ||
+# ifdef __ppc__ | ||
+# define UC_IP(uc) ((void *) (uc)->uc_mcontext->ss.srr0) | ||
+# else | ||
+# define UC_IP(uc) ((void *) (uc)->uc_mcontext->ss.eip) | ||
+# endif | ||
# endif | ||
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) | ||
# ifdef __x86_64__ |