nixpkgs/pkgs/development/libraries/gdal/default.nix
Franz Pletz aff1f4ab94 Use general hardening flag toggle lists
The following parameters are now available:

  * hardeningDisable
    To disable specific hardening flags
  * hardeningEnable
    To enable specific hardening flags

Only the cc-wrapper supports this right now, but these may be reused by
other wrappers, builders or setup hooks.

cc-wrapper supports the following flags:

  * fortify
  * stackprotector
  * pie (disabled by default)
  * pic
  * strictoverflow
  * format
  * relro
  * bindnow
2016-03-05 18:55:26 +01:00

71 lines
2.5 KiB
Nix

{ stdenv, fetchurl, composableDerivation, unzip, libjpeg, libtiff, zlib
, postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
, libpng
, netcdf, hdf5 , curl
, netcdfSupport ? true
}:
composableDerivation.composableDerivation {} (fixed: rec {
version = "2.0.2";
name = "gdal-${version}";
src = fetchurl {
url = "http://download.osgeo.org/gdal/${version}/${name}.tar.gz";
sha256 = "db7722caf8d9dd798ec18012b9cacf40a518918466126a88b9fd277bd7d40cc4";
};
buildInputs = [ unzip libjpeg libtiff libpng proj openssl ]
++ (with pythonPackages; [ python numpy wrapPython ])
++ (stdenv.lib.optionals netcdfSupport [ netcdf hdf5 curl ]);
hardeningDisable = [ "format" ];
patches = [
# This ensures that the python package is installed into gdal's prefix,
# rather than trying to install into python's prefix.
./python.patch
];
# 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 = [
"--with-jpeg=${libjpeg}"
"--with-libtiff=${libtiff}" # optional (without largetiff support)
"--with-libpng=${libpng}" # optional
"--with-libz=${zlib}" # optional
"--with-pg=${postgresql}/bin/pg_config"
"--with-mysql=${mysql.lib}/bin/mysql_config"
"--with-geotiff=${libgeotiff}"
"--with-python" # optional
"--with-static-proj4=${proj}" # optional
"--with-geos=${geos}/bin/geos-config"# optional
(if netcdfSupport then "--with-netcdf=${netcdf}" else "")
];
# 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/${pythonPackages.python.libPrefix}/site-packages
mkdir -p $pythonInstallDir
export PYTHONPATH=''${PYTHONPATH:+''${PYTHONPATH}:}$pythonInstallDir
'';
postInstall = ''
wrapPythonPrograms
'';
meta = {
description = "Translator library for raster geospatial data formats";
homepage = http://www.gdal.org/;
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.marcweber ];
platforms = stdenv.lib.platforms.linux;
};
})