mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
gmt: modernize
Nixfmt; Use `finalAttrs:` pattern; don't use `with lib;` in meta; Switch to fetchFromGitHub, for better automatic updates, with hash instead of sha256.
This commit is contained in:
parent
7b067a12a8
commit
ca6795545c
@ -1,59 +1,97 @@
|
||||
{ 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,
|
||||
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 {
|
||||
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=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "GenericMappingTools";
|
||||
repo = "gmt";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-rRNEo7dGkmgrkhNCBacyfBYrl7zHnE0KMWQHT0Ekbo0=";
|
||||
};
|
||||
|
||||
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) [
|
||||
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
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
"-DFFTW3_ROOT=${fftwSinglePrec.dev}"
|
||||
"-DLAPACK_LIBRARY=${lapack}/lib/liblapack.so"
|
||||
"-DBLAS_LIBRARY=${blas}/lib/libblas.so"
|
||||
]);
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
homepage = "https://www.generic-mapping-tools.org";
|
||||
description = "Tools for manipulating geographic and cartesian data sets";
|
||||
longDescription = ''
|
||||
@ -65,9 +103,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 ];
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user