Unverified Commit 991c0e8c authored by Doron Behar's avatar Doron Behar Committed by GitHub
Browse files

gmt: 6.4.0 -> 6.5.0 (#340707)

parents d31bb1e0 ebc36a9d
Loading
Loading
Loading
Loading
+89 −50
Original line number Diff line number Diff line
{ 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:
/*
  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 [
  buildInputs =
    [
      curl
      gdal
      netcdf'
      pcre
      dcw-gmt
      gshhg-gmt
    ]
    ++ (
      if stdenv.hostPlatform.isDarwin then
        [
          Accelerate
          CoreGraphics
          CoreVideo
    ] else [
        ]
      else
        [
          glibc
          fftwSinglePrec
          blas
          lapack
    ]);
        ]
    );

  propagatedBuildInputs = [ ghostscript ];
  propagatedBuildInputs = [
    ghostscript
  ];

  cmakeFlags = [
  cmakeFlags =
    [
      "-DGMT_DOCDIR=share/doc/gmt"
      "-DGMT_MANDIR=share/man"
      "-DGMT_LIBDIR=lib"
@@ -39,21 +86,13 @@ stdenv.mkDerivation rec {
      "-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"
    ]);
    ];

  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 ];
  };

}
})
+0 −2
Original line number Diff line number Diff line
@@ -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 ];
  };
}