aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/gis/gmt
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/gis/gmt')
-rw-r--r--nixpkgs/pkgs/applications/gis/gmt/dcw.nix32
-rw-r--r--nixpkgs/pkgs/applications/gis/gmt/default.nix73
-rw-r--r--nixpkgs/pkgs/applications/gis/gmt/gshhg.nix31
3 files changed, 136 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/gis/gmt/dcw.nix b/nixpkgs/pkgs/applications/gis/gmt/dcw.nix
new file mode 100644
index 00000000000..58390e89290
--- /dev/null
+++ b/nixpkgs/pkgs/applications/gis/gmt/dcw.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ pname = "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 ];
+ };
+
+}
diff --git a/nixpkgs/pkgs/applications/gis/gmt/default.nix b/nixpkgs/pkgs/applications/gis/gmt/default.nix
new file mode 100644
index 00000000000..f045ec067fe
--- /dev/null
+++ b/nixpkgs/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.1";
+ src = fetchurl {
+ url = "https://github.com/GenericMappingTools/gmt/releases/download/${version}/gmt-${version}-src.tar.gz";
+ sha256 = "04mdxxcild56jhg9ax522xh78v1wl1x8iqv2f6wv32x9b2lgy1lp";
+ };
+
+ 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 ];
+ };
+
+}
diff --git a/nixpkgs/pkgs/applications/gis/gmt/gshhg.nix b/nixpkgs/pkgs/applications/gis/gmt/gshhg.nix
new file mode 100644
index 00000000000..0f22f87c89b
--- /dev/null
+++ b/nixpkgs/pkgs/applications/gis/gmt/gshhg.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ pname = "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 ];
+ };
+
+}