1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-18 19:51:17 +00:00

gmt: 6.4.0 -> 6.5.0 (#340707)

This commit is contained in:
Doron Behar 2024-09-30 08:20:05 +03:00 committed by GitHub
commit 991c0e8c9c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 89 additions and 52 deletions

View file

@ -1,59 +1,98 @@
{ lib, stdenv, fetchurl, cmake, curl, Accelerate, CoreGraphics, CoreVideo
, fftwSinglePrec, netcdf, pcre, gdal, blas, lapack, glibc, ghostscript, dcw-gmt
, gshhg-gmt }:
{
lib,
stdenv,
fetchFromGitHub,
cmake,
curl,
Accelerate,
CoreGraphics,
CoreVideo,
fftwSinglePrec,
netcdf,
libxml2,
pcre,
gdal,
blas,
lapack,
glibc,
ghostscript,
dcw-gmt,
gshhg-gmt,
}:
/* The onus is on the user to also install:
- ffmpeg for webm or mp4 output
- graphicsmagick for gif output
/*
The onus is on the user to also install:
- ffmpeg for webm or mp4 output
- graphicsmagick for gif output
*/
stdenv.mkDerivation rec {
let
# Certainly not an ideal situation, See:
# https://github.com/NixOS/nixpkgs/pull/340707#issuecomment-2361894717
netcdf' = netcdf.override {
libxml2 = libxml2.override {
enableHttp = true;
};
};
in stdenv.mkDerivation (finalAttrs: {
pname = "gmt";
version = "6.4.0";
src = fetchurl {
url = "https://github.com/GenericMappingTools/gmt/releases/download/${version}/gmt-${version}-src.tar.gz";
sha256 = "sha256-0mfAx9b7MMnqfgKe8n2tsm/9e5LLS0cD+aO6Do85Ohs=";
version = "6.5.0";
src = fetchFromGitHub {
owner = "GenericMappingTools";
repo = "gmt";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-KKIYhljCtk9t9CuvTLsSGvUkUwazWTm9ymBB3wLwSoI=";
};
nativeBuildInputs = [ cmake ];
nativeBuildInputs = [
cmake
];
buildInputs = [ curl gdal netcdf pcre dcw-gmt gshhg-gmt ]
++ (if stdenv.hostPlatform.isDarwin then [
Accelerate
CoreGraphics
CoreVideo
] else [
glibc
fftwSinglePrec
blas
lapack
]);
buildInputs =
[
curl
gdal
netcdf'
pcre
dcw-gmt
gshhg-gmt
]
++ (
if stdenv.hostPlatform.isDarwin then
[
Accelerate
CoreGraphics
CoreVideo
]
else
[
glibc
fftwSinglePrec
blas
lapack
]
);
propagatedBuildInputs = [ ghostscript ];
propagatedBuildInputs = [
ghostscript
];
cmakeFlags = [
"-DGMT_DOCDIR=share/doc/gmt"
"-DGMT_MANDIR=share/man"
"-DGMT_LIBDIR=lib"
"-DCOPY_GSHHG:BOOL=FALSE"
"-DGSHHG_ROOT=${gshhg-gmt.out}/share/gshhg-gmt"
"-DCOPY_DCW:BOOL=FALSE"
"-DDCW_ROOT=${dcw-gmt.out}/share/dcw-gmt"
"-DGDAL_ROOT=${gdal.out}"
"-DNETCDF_ROOT=${netcdf.out}"
"-DPCRE_ROOT=${pcre.out}"
"-DGMT_INSTALL_TRADITIONAL_FOLDERNAMES:BOOL=FALSE"
"-DGMT_ENABLE_OPENMP:BOOL=TRUE"
"-DGMT_INSTALL_MODULE_LINKS:BOOL=FALSE"
"-DLICENSE_RESTRICTED=LGPL" # "GPL" and "no" also valid
] ++ (with stdenv;
lib.optionals (!isDarwin) [
"-DFFTW3_ROOT=${fftwSinglePrec.dev}"
"-DLAPACK_LIBRARY=${lapack}/lib/liblapack.so"
"-DBLAS_LIBRARY=${blas}/lib/libblas.so"
]);
cmakeFlags =
[
"-DGMT_DOCDIR=share/doc/gmt"
"-DGMT_MANDIR=share/man"
"-DGMT_LIBDIR=lib"
"-DCOPY_GSHHG:BOOL=FALSE"
"-DGSHHG_ROOT=${gshhg-gmt.out}/share/gshhg-gmt"
"-DCOPY_DCW:BOOL=FALSE"
"-DDCW_ROOT=${dcw-gmt.out}/share/dcw-gmt"
"-DGMT_INSTALL_TRADITIONAL_FOLDERNAMES:BOOL=FALSE"
"-DGMT_ENABLE_OPENMP:BOOL=TRUE"
"-DGMT_INSTALL_MODULE_LINKS:BOOL=FALSE"
"-DLICENSE_RESTRICTED=LGPL" # "GPL" and "no" also valid
];
meta = with lib; {
meta = {
homepage = "https://www.generic-mapping-tools.org";
description = "Tools for manipulating geographic and cartesian data sets";
longDescription = ''
@ -65,9 +104,9 @@ stdenv.mkDerivation rec {
transformations and includes supporting data such as coastlines, rivers,
and political boundaries and optionally country polygons.
'';
platforms = [ "x86_64-linux" "x86_64-darwin" ];
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ tviti ];
platforms = lib.platforms.unix;
license = lib.licenses.lgpl3Plus;
maintainers = with lib.maintainers; [ tviti ];
};
}
})

View file

@ -67,8 +67,6 @@ buildPythonPackage rec {
homepage = "https://github.com/GenericMappingTools/pygmt";
license = licenses.bsd3;
changelog = "https://github.com/GenericMappingTools/pygmt/releases/tag/v${version}";
# pygmt.exceptions.GMTCLibNotFoundError: Error loading the GMT shared library '/nix/store/r3xnnqgl89vrnq0kzxx0bmjwzks45mz8-gmt-6.1.1/lib/libgmt.dylib'
broken = stdenv.hostPlatform.isDarwin;
maintainers = with maintainers; [ sikmir ];
};
}