From 175d83634b7684a63a00e83e4d482a60b833365b Mon Sep 17 00:00:00 2001 From: brano543 Date: Sat, 15 Feb 2020 13:05:56 +0100 Subject: [PATCH 1/4] gdal: Clean up formatting --- pkgs/development/libraries/gdal/default.nix | 50 +++++++++++++-------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix index 7a00a5aa94e..ed31d34f65e 100644 --- a/pkgs/development/libraries/gdal/default.nix +++ b/pkgs/development/libraries/gdal/default.nix @@ -1,9 +1,7 @@ -{ stdenv, fetchFromGitHub, fetchpatch, unzip, libjpeg, libtiff, zlib -, postgresql, libmysqlclient, libgeotiff, pythonPackages, proj, geos, openssl -, libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat -, libiconv, libxml2, autoreconfHook -, netcdfSupport ? true, netcdf, hdf5, curl -}: +{ stdenv, fetchFromGitHub, fetchpatch, unzip, libjpeg, libtiff, zlib, postgresql +, libmysqlclient, libgeotiff, pythonPackages, proj, geos, openssl, libpng +, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat, libiconv, libxml2 +, autoreconfHook, netcdfSupport ? true, netcdf, hdf5, curl }: with stdenv.lib; @@ -22,27 +20,41 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ unzip libjpeg libtiff libpng proj openssl sqlite - libspatialite libgeotiff poppler hdf4 qhull giflib expat libxml2 ] - ++ (with pythonPackages; [ python numpy wrapPython ]) - ++ stdenv.lib.optional stdenv.isDarwin libiconv - ++ stdenv.lib.optionals netcdfSupport [ netcdf hdf5 curl ]; + buildInputs = [ + unzip + libjpeg + libtiff + libpng + proj + openssl + sqlite + libspatialite + libgeotiff + poppler + hdf4 + qhull + giflib + expat + libxml2 + ] ++ (with pythonPackages; [ python numpy wrapPython ]) + ++ stdenv.lib.optional stdenv.isDarwin libiconv + ++ stdenv.lib.optionals netcdfSupport [ netcdf hdf5 curl ]; configureFlags = [ "--with-expat=${expat.dev}" "--with-jpeg=${libjpeg.dev}" "--with-libtiff=${libtiff.dev}" # optional (without largetiff support) - "--with-png=${libpng.dev}" # optional + "--with-png=${libpng.dev}" # optional "--with-poppler=${poppler.dev}" # optional - "--with-libz=${zlib.dev}" # optional + "--with-libz=${zlib.dev}" # optional "--with-pg=${postgresql}/bin/pg_config" "--with-mysql=${libmysqlclient}/bin/mysql_config" "--with-geotiff=${libgeotiff}" "--with-sqlite3=${sqlite.dev}" "--with-spatialite=${libspatialite}" - "--with-python" # optional + "--with-python" # optional "--with-proj=${proj.dev}" # optional - "--with-geos=${geos}/bin/geos-config"# optional + "--with-geos=${geos}/bin/geos-config" # optional "--with-hdf4=${hdf4.dev}" # optional "--with-xml2=${libxml2.dev}/bin/xml2-config" # optional (if netcdfSupport then "--with-netcdf=${netcdf}" else "") @@ -55,9 +67,9 @@ stdenv.mkDerivation rec { # - Unset CC and CXX as they confuse libtool. # - teach gdal that libdf is the legacy name for libhdf preConfigure = '' - substituteInPlace configure \ - --replace "-lmfhdf -ldf" "-lmfhdf -lhdf" - ''; + substituteInPlace configure \ + --replace "-lmfhdf -ldf" "-lmfhdf -lhdf" + ''; preBuild = '' substituteInPlace swig/python/GNUmakefile \ @@ -72,7 +84,7 @@ stdenv.mkDerivation rec { meta = { description = "Translator library for raster geospatial data formats"; - homepage = https://www.gdal.org/; + homepage = "https://www.gdal.org/"; license = stdenv.lib.licenses.mit; maintainers = [ stdenv.lib.maintainers.marcweber ]; platforms = with stdenv.lib.platforms; linux ++ darwin; From b57af2d024b13784dad35aac282533fc09797b58 Mon Sep 17 00:00:00 2001 From: brano543 Date: Sat, 15 Feb 2020 13:09:14 +0100 Subject: [PATCH 2/4] gdal: Fix finding postgresql after 3.0 update --- pkgs/development/libraries/gdal/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix index ed31d34f65e..085c23c49cf 100644 --- a/pkgs/development/libraries/gdal/default.nix +++ b/pkgs/development/libraries/gdal/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fetchpatch, unzip, libjpeg, libtiff, zlib, postgresql , libmysqlclient, libgeotiff, pythonPackages, proj, geos, openssl, libpng , sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat, libiconv, libxml2 -, autoreconfHook, netcdfSupport ? true, netcdf, hdf5, curl }: +, autoreconfHook, netcdfSupport ? true, netcdf, hdf5, curl, pkg-config }: with stdenv.lib; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { sourceRoot = "source/gdal"; - nativeBuildInputs = [ autoreconfHook ]; + nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ unzip @@ -36,6 +36,7 @@ stdenv.mkDerivation rec { giflib expat libxml2 + postgresql ] ++ (with pythonPackages; [ python numpy wrapPython ]) ++ stdenv.lib.optional stdenv.isDarwin libiconv ++ stdenv.lib.optionals netcdfSupport [ netcdf hdf5 curl ]; @@ -47,7 +48,7 @@ stdenv.mkDerivation rec { "--with-png=${libpng.dev}" # optional "--with-poppler=${poppler.dev}" # optional "--with-libz=${zlib.dev}" # optional - "--with-pg=${postgresql}/bin/pg_config" + "--with-pg=yes" # since gdal 3.0 doesn't use ${postgresql}/bin/pg_config "--with-mysql=${libmysqlclient}/bin/mysql_config" "--with-geotiff=${libgeotiff}" "--with-sqlite3=${sqlite.dev}" From 1e263a638ff900d544b3960fb4dd54a9a9944174 Mon Sep 17 00:00:00 2001 From: brano543 Date: Sat, 15 Feb 2020 13:20:36 +0100 Subject: [PATCH 3/4] gdal: Port to Python 3 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f768541ad80..8577a4deec0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11487,7 +11487,9 @@ in libXpm = null; }; - gdal = callPackage ../development/libraries/gdal { }; + gdal = callPackage ../development/libraries/gdal { + pythonPackages = python3Packages; + }; gdal_1_11 = callPackage ../development/libraries/gdal/gdal-1_11.nix { }; From 78b6642e5d5c1ebd5d07b3a5905828ac80f7f9e0 Mon Sep 17 00:00:00 2001 From: brano543 Date: Sat, 15 Feb 2020 13:29:00 +0100 Subject: [PATCH 4/4] gdal: correct indentation in preConfigure --- pkgs/development/libraries/gdal/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix index 085c23c49cf..1734ee9ce58 100644 --- a/pkgs/development/libraries/gdal/default.nix +++ b/pkgs/development/libraries/gdal/default.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { # - teach gdal that libdf is the legacy name for libhdf preConfigure = '' substituteInPlace configure \ - --replace "-lmfhdf -ldf" "-lmfhdf -lhdf" + --replace "-lmfhdf -ldf" "-lmfhdf -lhdf" ''; preBuild = ''