2017-08-27 19:14:17 +01:00
|
|
|
{ stdenv, fetchurl, unzip, libjpeg, libtiff, zlib
|
2017-12-27 23:06:58 +00:00
|
|
|
, postgresql, mysql57, libgeotiff, python, pythonPackages, proj, geos, openssl
|
2015-07-10 08:33:08 +01:00
|
|
|
, libpng }:
|
|
|
|
|
2017-08-27 19:14:17 +01:00
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 13:41:18 +01:00
|
|
|
pname = "gdal";
|
2018-08-09 00:15:23 +01:00
|
|
|
version = "1.11.5";
|
2015-07-10 08:33:08 +01:00
|
|
|
|
|
|
|
src = fetchurl {
|
2019-08-15 13:41:18 +01:00
|
|
|
url = "https://download.osgeo.org/gdal/${version}/${pname}-${version}.tar.xz";
|
2018-08-09 00:15:23 +01:00
|
|
|
sha256 = "0hphxzvy23v3vqxx1y22hhhg4cypihrb8555y12nb4mrhzlw7zfl";
|
2015-07-10 08:33:08 +01:00
|
|
|
};
|
|
|
|
|
2019-07-11 11:38:05 +01:00
|
|
|
buildInputs = [ unzip libjpeg libtiff libgeotiff libpng python pythonPackages.numpy proj openssl ];
|
2015-07-10 08:33:08 +01:00
|
|
|
|
|
|
|
patches = [
|
|
|
|
# This ensures that the python package is installed into gdal's prefix,
|
|
|
|
# rather than trying to install into python's prefix.
|
|
|
|
./python.patch
|
|
|
|
];
|
|
|
|
|
2018-08-09 00:15:23 +01:00
|
|
|
hardeningDisable = [ "format" "fortify" ];
|
2016-02-12 01:10:08 +00:00
|
|
|
|
2015-07-10 08:33:08 +01:00
|
|
|
# Don't use optimization for gcc >= 4.3. That's said to be causing segfaults.
|
|
|
|
# Unset CC and CXX as they confuse libtool.
|
|
|
|
preConfigure = "export CFLAGS=-O0 CXXFLAGS=-O0; unset CC CXX";
|
|
|
|
|
|
|
|
configureFlags = [
|
2016-04-16 18:36:59 +01:00
|
|
|
"--with-jpeg=${libjpeg.dev}"
|
2016-04-16 18:39:17 +01:00
|
|
|
"--with-libtiff=${libtiff.dev}" # optional (without largetiff support)
|
2016-04-16 18:37:32 +01:00
|
|
|
"--with-libpng=${libpng.dev}" # optional
|
2016-04-16 18:50:01 +01:00
|
|
|
"--with-libz=${zlib.dev}" # optional
|
2015-07-10 08:33:08 +01:00
|
|
|
|
|
|
|
"--with-pg=${postgresql}/bin/pg_config"
|
2017-12-27 23:06:58 +00:00
|
|
|
"--with-mysql=${mysql57.connector-c}/bin/mysql_config"
|
2019-07-11 11:38:05 +01:00
|
|
|
"--with-geotiff=${libgeotiff.dev}"
|
2015-07-10 08:33:08 +01:00
|
|
|
"--with-python" # optional
|
|
|
|
"--with-static-proj4=${proj}" # optional
|
|
|
|
"--with-geos=${geos}/bin/geos-config"# optional
|
|
|
|
];
|
|
|
|
|
2019-07-11 11:38:05 +01:00
|
|
|
# Allow use of old proj_api.h
|
|
|
|
NIX_CFLAGS_COMPILE = [
|
|
|
|
"-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1"
|
|
|
|
];
|
|
|
|
|
2015-07-10 08:33:08 +01:00
|
|
|
# Prevent this:
|
|
|
|
#
|
|
|
|
# Checking .pth file support in /nix/store/xkrmb8xnvqxzjwsdmasqmsdh1a5y2y99-gdal-1.11.2/lib/python2.7/site-packages/
|
|
|
|
# /nix/store/pbi1lgank10fy0xpjckbdpgacqw34dsz-python-2.7.9/bin/python -E -c pass
|
|
|
|
# TEST FAILED: /nix/store/xkrmb8xnvqxzjwsdmasqmsdh1a5y2y99-gdal-1.11.2/lib/python2.7/site-packages/ does NOT support .pth files
|
|
|
|
# error: bad install directory or PYTHONPATH
|
|
|
|
preBuild = ''
|
|
|
|
pythonInstallDir=$out/lib/${python.libPrefix}/site-packages
|
|
|
|
mkdir -p $pythonInstallDir
|
|
|
|
export PYTHONPATH=''${PYTHONPATH:+''${PYTHONPATH}:}$pythonInstallDir
|
|
|
|
'';
|
|
|
|
|
2018-08-09 00:15:23 +01:00
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2015-07-10 08:33:08 +01:00
|
|
|
meta = {
|
|
|
|
description = "Translator library for raster geospatial data formats";
|
2019-04-22 09:14:28 +01:00
|
|
|
homepage = https://www.gdal.org/;
|
2015-07-10 08:33:08 +01:00
|
|
|
license = stdenv.lib.licenses.mit;
|
|
|
|
maintainers = [ stdenv.lib.maintainers.marcweber ];
|
2018-08-16 23:36:45 +01:00
|
|
|
platforms = with stdenv.lib.platforms; linux ++ darwin;
|
2015-07-10 08:33:08 +01:00
|
|
|
};
|
2017-08-27 19:14:17 +01:00
|
|
|
}
|