6b05651c20
Firstly this creates a cycle in 9.6 .out <-> .dev after fixing the PGXS path. Secondly this breaks extension handling and the pg_config as it resolves a lot of paths relatively resulting in the following bogus output: BINDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/bin DOCDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/doc HTMLDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/doc INCLUDEDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/include PKGINCLUDEDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/include INCLUDEDIR-SERVER = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/include/server LIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib PKGLIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib LOCALEDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/locale MANDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share/man SHAREDIR = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/share SYSCONFDIR = /etc/postgresql PGXS = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/lib/pgxs/src/makefiles/pgxs.mk CONFIGURE = '--prefix=/nix/store/irqqq4g173g9xrk1mh12kxv0s1d8dbyh-postgresql-9.5.9' '--with-openssl' '--with-libxml' '--sysconfdir=/etc' '--libdir=/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib' '--with-ossp-uuid' 'CC=gcc' CC = gcc CPPFLAGS = -D_GNU_SOURCE -I/nix/store/z6r0j2b4bcdfw3pck2x6ay0vvx0qzb92-libxml2-2.9.5-dev/include/libxml2 CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 CFLAGS_SL = -fPIC LDFLAGS = -L../../../src/common -L/nix/store/ighspl5sa3qi1zy7nkih0c9p73xjfqa6-libxml2-2.9.5/lib -Wl,--as-needed -Wl,-rpath,'/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib',--enable-new-dtags LDFLAGS_EX = LDFLAGS_SL = LIBS = -lpgcommon -lpgport -lxml2 -lssl -lcrypto -lz -lreadline -lrt -lcrypt -ldl -lm VERSION = PostgreSQL 9.5.9 This can probably only be properly fixed by rewriting pg_config in large parts as it does not in any way respect splitting the postgres tree and assumes it can simply resolve paths relative to its location. This does not even handle symlinks: $ result-dev/bin/pg_config BINDIR = /home/robin/dev/nixpkgs-upstream/result-dev/bin DOCDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/doc HTMLDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/doc INCLUDEDIR = /home/robin/dev/nixpkgs-upstream/result-dev/include PKGINCLUDEDIR = /home/robin/dev/nixpkgs-upstream/result-dev/include INCLUDEDIR-SERVER = /home/robin/dev/nixpkgs-upstream/result-dev/include/server LIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib PKGLIBDIR = /nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib LOCALEDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/locale MANDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share/man SHAREDIR = /home/robin/dev/nixpkgs-upstream/result-dev/share SYSCONFDIR = /etc/postgresql PGXS = /nix/store/csiq6zkn2c994kkdjln461jvgbka4yb1-postgresql-9.5.9-dev/lib/pgxs/src/makefiles/pgxs.mk CONFIGURE = '--prefix=/nix/store/irqqq4g173g9xrk1mh12kxv0s1d8dbyh-postgresql-9.5.9' '--with-openssl' '--with-libxml' '--sysconfdir=/etc' '--libdir=/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib' '--with-ossp-uuid' 'CC=gcc' CC = gcc CPPFLAGS = -D_GNU_SOURCE -I/nix/store/z6r0j2b4bcdfw3pck2x6ay0vvx0qzb92-libxml2-2.9.5-dev/include/libxml2 CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 CFLAGS_SL = -fPIC LDFLAGS = -L../../../src/common -L/nix/store/ighspl5sa3qi1zy7nkih0c9p73xjfqa6-libxml2-2.9.5/lib -Wl,--as-needed -Wl,-rpath,'/nix/store/85s9m7hpfzsl93wcb5gr6ii2km9mpx3z-postgresql-9.5.9-lib/lib',--enable-new-dtags LDFLAGS_EX = LDFLAGS_SL = LIBS = -lpgcommon -lpgport -lxml2 -lssl -lcrypto -lz -lreadline -lrt -lcrypt -ldl -lm VERSION = PostgreSQL 9.5.9 cc @edolstra Revert "bacula: fix after postgresql output splitting" This reverts commit13c9cbacdd
. Revert "postgresql: fix pgxs dir in pg_config" This reverts commit21998d597b
. Revert "rubyGems.pg: fix postgresql path" This reverts commite253ae7d3a
. Revert "kea: fix path to pg_config" This reverts commit086c636eb7
. Revert "php: fix build wrt. new postgres.dev build output" This reverts commit2f23a83920
. Revert "gdal: fix path to pg_config" This reverts commit032c50d45b
. Revert "postgresql: Add dev output" This reverts commitb0280f598e
.
81 lines
2.4 KiB
Nix
81 lines
2.4 KiB
Nix
{ stdenv, fetchurl, unzip, libjpeg, libtiff, zlib
|
|
, postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
|
|
, libpng, sqlite, libspatialite, poppler, hdf4
|
|
, libiconv
|
|
, netcdfSupport ? true, netcdf, hdf5 , curl
|
|
}:
|
|
|
|
with stdenv.lib;
|
|
|
|
stdenv.mkDerivation rec {
|
|
version = "2.2.1";
|
|
name = "gdal-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "http://download.osgeo.org/gdal/${version}/${name}.tar.xz";
|
|
sha256 = "0rk0p0k787whzzdl8m1f9wcrm7h9bf1pny3z96d93b4383arhw4j";
|
|
};
|
|
|
|
buildInputs = [ unzip libjpeg libtiff libpng proj openssl sqlite
|
|
libspatialite poppler hdf4 ]
|
|
++ (with pythonPackages; [ python numpy wrapPython ])
|
|
++ stdenv.lib.optional stdenv.isDarwin libiconv
|
|
++ stdenv.lib.optionals netcdfSupport [ netcdf hdf5 curl ];
|
|
|
|
configureFlags = [
|
|
"--with-jpeg=${libjpeg.dev}"
|
|
"--with-libtiff=${libtiff.dev}" # optional (without largetiff support)
|
|
"--with-png=${libpng.dev}" # optional
|
|
"--with-poppler=${poppler.dev}" # optional
|
|
"--with-libz=${zlib.dev}" # optional
|
|
"--with-pg=${postgresql}/bin/pg_config"
|
|
"--with-mysql=${mysql.lib.dev}/bin/mysql_config"
|
|
"--with-geotiff=${libgeotiff}"
|
|
"--with-sqlite3=${sqlite.dev}"
|
|
"--with-spatialite=${libspatialite}"
|
|
"--with-python" # optional
|
|
"--with-static-proj4=${proj}" # optional
|
|
"--with-geos=${geos}/bin/geos-config"# optional
|
|
"--with-hdf4=${hdf4.dev}" # optional
|
|
(if netcdfSupport then "--with-netcdf=${netcdf}" else "")
|
|
];
|
|
|
|
hardeningDisable = [ "format" ];
|
|
|
|
CXXFLAGS = "-fpermissive";
|
|
|
|
postPatch = ''
|
|
sed -i '/ifdef bool/i\
|
|
#ifdef swap\
|
|
#undef swap\
|
|
#endif' ogr/ogrsf_frmts/mysql/ogr_mysql.h
|
|
'';
|
|
|
|
# - Unset CC and CXX as they confuse libtool.
|
|
# - teach gdal that libdf is the legacy name for libhdf
|
|
preConfigure = ''
|
|
unset CC CXX
|
|
substituteInPlace configure \
|
|
--replace "-lmfhdf -ldf" "-lmfhdf -lhdf"
|
|
'';
|
|
|
|
preBuild = ''
|
|
substituteInPlace swig/python/GNUmakefile \
|
|
--replace "ifeq (\$(STD_UNIX_LAYOUT),\"TRUE\")" "ifeq (1,1)"
|
|
'';
|
|
|
|
postInstall = ''
|
|
wrapPythonPrograms
|
|
'';
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
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 = with stdenv.lib.platforms; linux ++ darwin;
|
|
};
|
|
}
|