Skip to content

Commit

Permalink
gmt: init at 6.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
tviti committed Aug 23, 2020
1 parent d1c0f74 commit 115a367
Show file tree
Hide file tree
Showing 4 changed files with 145 additions and 0 deletions.
32 changes: 32 additions & 0 deletions pkgs/applications/gis/gmt/dcw.nix
@@ -0,0 +1,32 @@
{ stdenv, fetchurl }:

stdenv.mkDerivation rec {
name = "dcw-gmt";
version = "1.1.4";
src = fetchurl {
url = "ftp://ftp.soest.hawaii.edu/gmt/dcw-gmt-${version}.tar.gz";
sha256 = "8d47402abcd7f54a0f711365cd022e4eaea7da324edac83611ca035ea443aad3";
};

installPhase = ''
mkdir -p $out/share/dcw-gmt
cp -rv ./* $out/share/dcw-gmt
'';

meta = with stdenv.lib; {
homepage = "https://www.soest.hawaii.edu/pwessel/dcw/";
description = "Vector basemap of the world, for use with GMT";
longDescription = ''
DCW-GMT is an enhancement to the original 1:1,000,000 scale vector basemap
of the world, available from the Princeton University Digital Map and
Geospatial Information Center. It contains more state boundaries (the
largest 8 countries are now represented) than the original data
source. Information about DCW can be found on Wikipedia
(https://en.wikipedia.org/wiki/Digital_Chart_of_the_World). This data is
for use by GMT, the Generic Mapping Tools.
'';
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ tviti ];
};

}
73 changes: 73 additions & 0 deletions pkgs/applications/gis/gmt/default.nix
@@ -0,0 +1,73 @@
{ stdenv, fetchurl, 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
*/

stdenv.mkDerivation rec {
pname = "gmt";
version = "6.1.0";
src = fetchurl {
url = "https://github.com/GenericMappingTools/gmt/releases/download/${version}/gmt-${version}-src.tar.gz";
sha256 = "0vzxzpvbf1sqma2airsibxvqb9m4sajm7jsfr7rrv6q7924c7ijw";
};

nativeBuildInputs = [ cmake ];

buildInputs = [ curl gdal netcdf pcre dcw-gmt gshhg-gmt ]
++ (if stdenv.isDarwin then [
Accelerate
CoreGraphics
CoreVideo
] else [
glibc
fftwSinglePrec
blas
lapack
]);

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.optional (!isDarwin) [
"-DFFTW3_ROOT=${fftwSinglePrec.dev}"
"-DLAPACK_LIBRARY=${lapack}/lib/liblapack.so"
"-DBLAS_LIBRARY=${blas}/lib/libblas.so"
]);

meta = with stdenv.lib; {
homepage = "https://www.generic-mapping-tools.org";
description = "Tools for manipulating geographic and cartesian data sets";
longDescription = ''
GMT is an open-source collection of command-line tools for manipulating
geographic and Cartesian data sets (including filtering, trend fitting,
gridding, projecting, etc.) and producing high-quality illustrations
ranging from simple x–y plots via contour maps to artificially illuminated
surfaces and 3D perspective views. It supports many map projections and
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 ];
};

}
31 changes: 31 additions & 0 deletions pkgs/applications/gis/gmt/gshhg.nix
@@ -0,0 +1,31 @@
{ stdenv, fetchurl }:

stdenv.mkDerivation rec {
name = "gshhg-gmt";
version = "2.3.7";
src = fetchurl {
url = "ftp://ftp.soest.hawaii.edu/gmt/gshhg-gmt-${version}.tar.gz";
sha256 = "9bb1a956fca0718c083bef842e625797535a00ce81f175df08b042c2a92cfe7f";
};

installPhase = ''
mkdir -p $out/share/gshhg-gmt
cp -rv ./* $out/share/gshhg-gmt
'';

meta = with stdenv.lib; {
homepage = "https://www.soest.hawaii.edu/pwessel/gshhg/";
description = "High-resolution shoreline data set, for use with GMT";
longDescription = ''
GSHHG is a high-resolution shoreline data set amalgamated from two
databases: Global Self-consistent Hierarchical High-resolution Shorelines
(GSHHS) and CIA World Data Bank II (WDBII). GSHHG contains vector
descriptions at five different resolutions of land outlines, lakes,
rivers, and political boundaries. This data is for use by GMT, the Generic
Mapping Tools.
'';
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ tviti ];
};

}
9 changes: 9 additions & 0 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -1618,6 +1618,8 @@ in

dconf = callPackage ../development/libraries/dconf { };

dcw-gmt = callPackage ../applications/gis/gmt/dcw.nix { };

ddar = callPackage ../tools/backup/ddar { };

ddate = callPackage ../tools/misc/ddate { };
Expand Down Expand Up @@ -1884,6 +1886,11 @@ in
variant = "krita";
};

gmt = callPackage ../applications/gis/gmt {
inherit (darwin.apple_sdk.frameworks)
Accelerate CoreGraphics CoreVideo;
};

goa = callPackage ../development/tools/goa { };

gohai = callPackage ../tools/system/gohai { };
Expand Down Expand Up @@ -23590,6 +23597,8 @@ in

gshogi = python3Packages.callPackage ../games/gshogi {};

gshhg-gmt = callPackage ../applications/gis/gmt/gshhg.nix { };

qtads = qt5.callPackage ../games/qtads { };

gtetrinet = callPackage ../games/gtetrinet {
Expand Down

0 comments on commit 115a367

Please sign in to comment.