Merge pull request #64551 from jonringer/update-pyproj

proj: 5.2.0 -> 6.1.1
This commit is contained in:
Frederik Rietdijk 2019-07-15 21:14:04 +02:00 committed by GitHub
commit 800da69c8a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 409 additions and 179 deletions

View File

@ -1,19 +1,23 @@
{ stdenv, fetchurl, flex, bison, pkgconfig, zlib, libtiff, libpng, fftw
{ stdenv, fetchFromGitHub, flex, bison, pkgconfig, zlib, libtiff, libpng, fftw
, cairo, readline, ffmpeg, makeWrapper, wxGTK30, netcdf, blas
, proj, gdal, geos, sqlite, postgresql, mysql, python2Packages, libLAS
, proj, gdal, geos, sqlite, postgresql, mysql, python2Packages, libLAS, proj-datumgrid
}:
stdenv.mkDerivation {
name = "grass-7.2.2";
src = fetchurl {
url = https://grass.osgeo.org/grass72/source/grass-7.2.2.tar.gz;
sha256 = "0yzljbrxlqp4wbw08n1dvmm4vmwkg8glf1ff4xyh589r5ryb7gxv";
stdenv.mkDerivation rec {
name = "grass";
version = "7.6.1";
src = with stdenv.lib; fetchFromGitHub {
owner = "OSGeo";
repo = "grass";
rev = "${name}_${replaceStrings ["."] ["_"] version}";
sha256 = "1amjk9rz7vw5ha7nyl5j2bfwj5if9w62nlwx5qbp1x7spldimlll";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite cairo
buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite cairo proj
readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql mysql.connector-c blas
libLAS ]
libLAS proj-datumgrid ]
++ (with python2Packages; [ python dateutil wxPython30 numpy ]);
# On Darwin the installer tries to symlink the help files into a system
@ -22,6 +26,8 @@ stdenv.mkDerivation {
configureFlags = [
"--with-proj-share=${proj}/share/proj"
"--with-proj-includes=${proj.dev}/include"
"--with-proj-lib=${proj}/lib"
"--without-opengl"
"--with-readline"
"--with-wxwidgets"
@ -49,9 +55,11 @@ stdenv.mkDerivation {
scripts/d.what.vect/d.what.vect.py \
scripts/g.extension/g.extension.py \
scripts/g.extension.all/g.extension.all.py \
scripts/r.drain/r.drain.py \
scripts/r.pack/r.pack.py \
scripts/r.tileset/r.tileset.py \
scripts/r.unpack/r.unpack.py \
scripts/v.clip/v.clip.py \
scripts/v.rast.stats/v.rast.stats.py \
scripts/v.to.lines/v.to.lines.py \
scripts/v.what.strds/v.what.strds.py \
@ -72,13 +80,15 @@ stdenv.mkDerivation {
done
'';
NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1" ];
postInstall = ''
wrapProgram $out/bin/grass72 \
wrapProgram $out/bin/grass76 \
--set PYTHONPATH $PYTHONPATH \
--set GRASS_PYTHON ${python2Packages.python}/bin/${python2Packages.python.executable} \
--suffix LD_LIBRARY_PATH ':' '${gdal}/lib'
ln -s $out/grass-*/lib $out/lib
ln -s $out/grass-*/include $out/include
ln -s $out/grass*/lib $out/lib
ln -s $out/grass*/include $out/include
'';
enableParallelBuilding = true;

View File

@ -20,9 +20,6 @@ stdenv.mkDerivation rec {
cmakeFlags =
[
# Required by the build to be specified
"-DPROJ4_ROOT=${proj}"
# Building the manual and bundling licenses fails
"-DLICENSING_PROVIDER:BOOL=OFF"
"-DMapper_MANUAL_QTHELP:BOOL=OFF"
@ -43,6 +40,8 @@ stdenv.mkDerivation rec {
"-DMapper_PACKAGE_GDAL=0"
]);
# Needs to be available when proj_api.h gets evaluted by CPP
NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ];
postInstall =
stdenv.lib.optionalString stdenv.isDarwin ''

View File

@ -1,6 +1,6 @@
{ stdenv, lib, fetchurl, cmake, ninja, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
{ stdenv, lib, fetchFromGitHub, cmake, ninja, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
, qwt, fcgi, python3Packages, libspatialindex, libspatialite, postgresql
, txt2tags, openssl, libzip, hdf5, netcdf
, txt2tags, openssl, libzip, hdf5, netcdf, exiv2
, qtbase, qtwebkit, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport, qtxmlpatterns
, withGrass ? true, grass
}:
@ -10,12 +10,15 @@ let
[ qscintilla-qt5 gdal jinja2 numpy psycopg2
chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
in stdenv.mkDerivation rec {
version = "3.4.8";
name = "qgis-unwrapped-${version}";
version = "3.8.0";
pname = "qgis";
name = "${pname}-unwrapped-${version}";
src = fetchurl {
url = "http://qgis.org/downloads/qgis-${version}.tar.bz2";
sha256 = "13dy9y7ipv25x3k31njhjljdav36xay6s82g6ywaqf1xxh3s567w";
src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings ["."] ["_"] version}";
sha256 = "11jqj6lavpw9piv0rm8vvbgd99zhcxl6yfjg699wlrjlyf71xac5";
};
passthru = {
@ -23,7 +26,7 @@ in stdenv.mkDerivation rec {
inherit python3Packages;
};
buildInputs = [ openssl proj geos xlibsWrapper sqlite gsl qwt
buildInputs = [ openssl proj geos xlibsWrapper sqlite gsl qwt exiv2
fcgi libspatialindex libspatialite postgresql txt2tags libzip hdf5 netcdf
qtbase qtwebkit qtsensors qca-qt5 qtkeychain qscintilla qtserialport qtxmlpatterns] ++
(stdenv.lib.optional withGrass grass) ++ pythonBuildInputs;
@ -36,7 +39,7 @@ in stdenv.mkDerivation rec {
# build to use PYQT5_SIP_DIR consistently.
postPatch = ''
substituteInPlace cmake/FindPyQt5.py \
--replace 'pyqtcfg.pyqt_sip_dir' '"${python3Packages.pyqt5}/share/sip/PyQt5"'
--replace 'sip_dir = cfg.default_sip_dir' 'sip_dir = "${python3Packages.pyqt5}/share/sip/PyQt5"'
'';
cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF"

View File

@ -3,7 +3,9 @@
unixODBC , poppler, hdf4, hdf5, netcdf, sqlite, qhull, giflib }:
stdenv.mkDerivation rec {
name = "saga-7.2.0";
pname = "saga";
version = "7.3.0";
name = "${pname}-${version}";
# See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs
# for why the have additional buildInputs on darwin
@ -17,8 +19,8 @@ stdenv.mkDerivation rec {
CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing";
src = fetchurl {
url = "mirror://sourceforge/project/saga-gis/SAGA%20-%207/SAGA%20-%207.2.0/saga-7.2.0.tar.gz";
sha256 = "10gjc5mc5kwg2c2la22hgwx6s5q60z9xxffjpjw0zrlhksijl5an";
url = "https://sourceforge.net/projects/saga-gis/files/SAGA%20-%207/SAGA%20-%207.3.0/saga-7.3.0.tar.gz";
sha256 = "1g7v6vx7b8mfhbbg03pdk4kyks20maqbcdbasnxazhs8pl2zih7k";
};
meta = with stdenv.lib; {

View File

@ -1,36 +0,0 @@
{ stdenv, fetchgit, gdal, wxGTK30, proj, libiodbc, lzma, jasper,
libharu, opencv, vigra, postgresql, autoreconfHook, Cocoa
, unixODBC , poppler, hdf4, hdf5, netcdf, sqlite, qhull, giflib }:
stdenv.mkDerivation rec {
name = "saga-2.3.2";
# See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs
# for why the have additional buildInputs on darwin
buildInputs = [ autoreconfHook gdal wxGTK30 proj libharu opencv vigra
postgresql libiodbc lzma jasper
unixODBC poppler hdf4.out hdf5 netcdf sqlite qhull giflib ]
++ stdenv.lib.optional stdenv.isDarwin Cocoa ;
enableParallelBuilding = true;
CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing";
sourceRoot = "code-b6f474f/saga-gis";
patches = [ ./clang_patch.patch ./finite.patch];
src = fetchgit {
url = "https://git.code.sf.net/p/saga-gis/code.git";
rev = "b6f474f8af4af7f0ff82548cc6f88c53547d91f5";
sha256 = "0iakynai8mhcwj6wxvafkqhd7b417ss7hyhbcp9wf6092l6vc2zd";
};
meta = with stdenv.lib; {
description = "System for Automated Geoscientific Analyses";
homepage = http://www.saga-gis.org;
license = licenses.gpl2Plus;
maintainers = [ maintainers.mpickering ];
platforms = with platforms; unix;
};
}

View File

@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ];
postInstall = ''
wrapProgram $out/bin/merkaartor \
--set QT_QPA_PLATFORM_PLUGIN_PATH ${qtbase.bin}/lib/qt-*/plugins/platforms

View File

@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
"INSTALL_SHAREDIR=$(out)/share/"
];
NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ];
installFlags = [ "DESTDIR=$(out)" ];
buildInputs = [ libroxml proj libyamlcpp boost ];

View File

@ -5,7 +5,7 @@
stdenv.mkDerivation rec {
version = "0.11.1";
name = "openspace-${version}";
src = fetchFromGitHub {
owner = "OpenSpace";
repo = "OpenSpace";
@ -13,37 +13,37 @@ stdenv.mkDerivation rec {
sha256 = "0msqixf30r0d41xmfmzkdfw6w9jkx2ph5clq8xiwrg1jc3z9q7nv";
fetchSubmodules = true;
};
buildInputs = [
makeWrapper cmake
curl boost gdal glew soil
libX11 libXi libXxf86vm libXcursor libXrandr libXinerama
];
glmPlatformH = fetchurl {
url = "https://raw.githubusercontent.com/g-truc/glm/dd48b56e44d699a022c69155c8672caacafd9e8a/glm/simd/platform.h";
sha256 = "0y91hlbgn5va7ijg5mz823gqkq9hqxl00lwmdwnf8q2g086rplzw";
};
# See <https://github.com/g-truc/glm/issues/726>
prePatch = ''
cp ${glmPlatformH} ext/sgct/include/glm/simd/platform.h
cp ${glmPlatformH} ext/ghoul/ext/glm/glm/simd/platform.h
'';
patches = [
# See <https://github.com/opensgct/sgct/issues/13>
./vrpn.patch
./constexpr.patch
./config.patch
# WARNING: This patch disables some slow torrents in a very dirty way.
./assets.patch
./assets.patch
];
bundle = "$out/usr/share/openspace";
preConfigure = ''
cmakeFlagsArray=(
$cmakeFlagsArray
@ -51,28 +51,28 @@ stdenv.mkDerivation rec {
"-DCMAKE_INSTALL_PREFIX=${bundle}"
)
'';
preInstall = ''
mkdir -p $out/bin
mkdir -p ${bundle}
'';
postInstall = ''
cp ext/spice/libSpice.so ${bundle}/lib
cp ext/ghoul/ext/lua/libLua.so ${bundle}/lib
'';
postFixup = ''
for bin in ${bundle}/bin/*
do
rpath=$(patchelf --print-rpath $bin)
patchelf --set-rpath $rpath:${bundle}/lib $bin
name=$(basename $bin)
makeWrapper $bin $out/bin/$name --run "cd ${bundle}"
done
'';
meta = {
description = "Open-source astrovisualization project";
longDescription = ''
@ -85,5 +85,6 @@ stdenv.mkDerivation rec {
homepage = https://www.openspaceproject.com/;
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.linux;
broken = true; # fails to build
};
}

View File

@ -0,0 +1,29 @@
diff a/swig/python/setup.py b/swig/python/setup.py
--- a/swig/python/setup.py
+++ b/swig/python/setup.py
@@ -268,17 +268,17 @@ class gdal_ext(build_ext):
if ext.name != 'osgeo._gdalconst':
ext.extra_compile_args += [cxx11_flag]
- # Adding arch flags here if OS X and compiler is clang
- if sys.platform == 'darwin' and [int(x) for x in os.uname()[2].split('.')] >= [11, 0, 0]:
- # since MacOS X 10.9, clang no longer accepts -mno-fused-madd
- # extra_compile_args.append('-Qunused-arguments')
- clang_flag = '-Wno-error=unused-command-line-argument-hard-error-in-future'
- if has_flag(self.compiler, clang_flag):
- ext.extra_compile_args += [clang_flag]
- else:
- clang_flag = '-Wno-error=unused-command-line-argument'
- if has_flag(self.compiler, clang_flag):
- ext.extra_compile_args += [clang_flag]
+ # Adding arch flags here if OS X and compiler is clang
+ if sys.platform == 'darwin' and [int(x) for x in os.uname()[2].split('.')] >= [11, 0, 0]:
+ # since MacOS X 10.9, clang no longer accepts -mno-fused-madd
+ # extra_compile_args.append('-Qunused-arguments')
+ clang_flag = '-Wno-error=unused-command-line-argument-hard-error-in-future'
+ if has_flag(self.compiler, clang_flag):
+ ext.extra_compile_args += [clang_flag]
+ else:
+ clang_flag = '-Wno-error=unused-command-line-argument'
+ if has_flag(self.compiler, clang_flag):
+ ext.extra_compile_args += [clang_flag]

View File

@ -0,0 +1,95 @@
{ stdenv, fetchurl, fetchpatch, unzip, libjpeg, libtiff, zlib
, postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
, libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
, libiconv, libxml2
, netcdfSupport ? true, netcdf, hdf5, curl
}:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "gdal-${version}";
version = "2.4.0";
src = fetchurl {
url = "https://download.osgeo.org/gdal/${version}/${name}.tar.xz";
sha256 = "09qgy36z0jc9w05373m4n0vm4j54almdzql6z9p9zr9pdp61syf3";
};
buildInputs = [ unzip libjpeg libtiff libgeotiff libpng proj openssl sqlite
libspatialite poppler hdf4 qhull giflib expat libxml2 proj ]
++ (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-poppler=${poppler.dev}" # optional
"--with-libz=${zlib.dev}" # optional
"--with-pg=${postgresql}/bin/pg_config"
"--with-mysql=${mysql.connector-c or mysql}/bin/mysql_config"
"--with-geotiff=${libgeotiff.dev}"
"--with-sqlite3=${sqlite.dev}"
"--with-spatialite=${libspatialite}"
"--with-python" # optional
"--with-proj=${proj.dev}" # 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 "")
];
hardeningDisable = [ "format" ];
CXXFLAGS = "-fpermissive";
postPatch = ''
sed -i '/ifdef bool/i\
#ifdef swap\
#undef swap\
#endif' ogr/ogrsf_frmts/mysql/ogr_mysql.h
# poppler 0.73.0 support
patch -lp2 <${
fetchpatch {
url = "https://github.com/OSGeo/gdal/commit/29f4dfbcac2de718043f862166cd639ab578b552.diff";
sha256 = "1h2rsjjrgwqfgqzppmzv5jgjs1dbbg8pvfmay0j9y0618qp3r734";
}
} || true
patch -p2 <${
fetchpatch {
url = "https://github.com/OSGeo/gdal/commit/19967e682738977e11e1d0336e0178882c39cad2.diff";
sha256 = "12yqd77226i6xvzgqmxiac5ghdinixh8k2crg1r2gnhc0xlc3arj";
}
}
'';
# - 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 = https://www.gdal.org/;
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.marcweber ];
platforms = with stdenv.lib.platforms; linux ++ darwin;
};
}

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, fetchpatch, unzip, libjpeg, libtiff, zlib
{ stdenv, fetchFromGitHub, fetchpatch, unzip, libjpeg, libtiff, zlib
, postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
, libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
, libiconv, libxml2
, libiconv, libxml2, autoreconfHook
, netcdfSupport ? true, netcdf, hdf5, curl
}:
@ -9,15 +9,23 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "gdal-${version}";
version = "2.4.0";
version = "3.0.1";
src = fetchurl {
url = "https://download.osgeo.org/gdal/${version}/${name}.tar.xz";
sha256 = "09qgy36z0jc9w05373m4n0vm4j54almdzql6z9p9zr9pdp61syf3";
src = fetchFromGitHub {
owner = "OSGeo";
repo = "gdal";
rev = "v${version}";
sha256 = "04rraqhygv8b8fy87qvdhkgx87whby9n98p3gxqr7kdrfymwnh8l";
};
sourceRoot = "source/gdal";
patches = [ ./001.3_0_1.darwin.patch ];
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ unzip libjpeg libtiff libpng proj openssl sqlite
libspatialite poppler hdf4 qhull giflib expat libxml2 ]
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 ];
@ -35,7 +43,7 @@ stdenv.mkDerivation rec {
"--with-sqlite3=${sqlite.dev}"
"--with-spatialite=${libspatialite}"
"--with-python" # optional
"--with-proj=${proj}" # optional
"--with-proj=${proj.dev}" # optional
"--with-geos=${geos}/bin/geos-config"# optional
"--with-hdf4=${hdf4.dev}" # optional
"--with-xml2=${libxml2.dev}/bin/xml2-config" # optional
@ -46,31 +54,9 @@ stdenv.mkDerivation rec {
CXXFLAGS = "-fpermissive";
postPatch = ''
sed -i '/ifdef bool/i\
#ifdef swap\
#undef swap\
#endif' ogr/ogrsf_frmts/mysql/ogr_mysql.h
# poppler 0.73.0 support
patch -lp2 <${
fetchpatch {
url = "https://github.com/OSGeo/gdal/commit/29f4dfbcac2de718043f862166cd639ab578b552.diff";
sha256 = "1h2rsjjrgwqfgqzppmzv5jgjs1dbbg8pvfmay0j9y0618qp3r734";
}
} || true
patch -p2 <${
fetchpatch {
url = "https://github.com/OSGeo/gdal/commit/19967e682738977e11e1d0336e0178882c39cad2.diff";
sha256 = "12yqd77226i6xvzgqmxiac5ghdinixh8k2crg1r2gnhc0xlc3arj";
}
}
'';
# - 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"
'';

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "0hphxzvy23v3vqxx1y22hhhg4cypihrb8555y12nb4mrhzlw7zfl";
};
buildInputs = [ unzip libjpeg libtiff libpng python pythonPackages.numpy proj openssl ];
buildInputs = [ unzip libjpeg libtiff libgeotiff libpng python pythonPackages.numpy proj openssl ];
patches = [
# This ensures that the python package is installed into gdal's prefix,
@ -33,12 +33,17 @@ stdenv.mkDerivation rec {
"--with-pg=${postgresql}/bin/pg_config"
"--with-mysql=${mysql57.connector-c}/bin/mysql_config"
"--with-geotiff=${libgeotiff}"
"--with-geotiff=${libgeotiff.dev}"
"--with-python" # optional
"--with-static-proj4=${proj}" # optional
"--with-geos=${geos}/bin/geos-config"# optional
];
# Allow use of old proj_api.h
NIX_CFLAGS_COMPILE = [
"-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1"
];
# Prevent this:
#
# Checking .pth file support in /nix/store/xkrmb8xnvqxzjwsdmasqmsdh1a5y2y99-gdal-1.11.2/lib/python2.7/site-packages/

View File

@ -1,18 +1,27 @@
{ stdenv, fetchurl, libtiff, libjpeg, proj, zlib}:
{ stdenv, fetchFromGitHub, libtiff, libjpeg, proj, zlib, autoreconfHook }:
stdenv.mkDerivation rec {
version = "1.4.3";
version = "1.5.1";
name = "libgeotiff-${version}";
src = fetchurl {
url = "https://download.osgeo.org/geotiff/libgeotiff/${name}.tar.gz";
sha256 = "0rbjqixi4c8yz19larlzq6jda0px2gpmpp9c52cyhplbjsdhsldq";
src = fetchFromGitHub {
owner = "OSGeo";
repo = "libgeotiff";
rev = version;
sha256 = "081ag23pn2n5y4fkb2rnh4hmcnq92siqiqv0s20jmx0j3s2nvfxy";
};
outputs = [ "out" "dev" ];
sourceRoot = "source/libgeotiff";
configureFlags = [
"--with-jpeg=${libjpeg.dev}"
"--with-zlib=${zlib.dev}"
];
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ libtiff proj ];
hardeningDisable = [ "format" ];

View File

@ -11,12 +11,15 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libxml2 sqlite zlib proj geos libiconv ];
configureFlags = [ "--disable-freexl" ];
enableParallelBuilding = true;
CFLAGS = "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1";
postInstall = "" + optionalString stdenv.isDarwin ''
ln -s $out/lib/mod_spatialite.{so,dylib}
'';

View File

@ -0,0 +1,32 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "proj-datumgrid";
version = "world-1.0";
src = fetchFromGitHub {
owner = "OSGeo";
repo = "proj-datumgrid";
rev = version;
sha256 = "132wp77fszx33wann0fjkmi1isxvsb0v9iw0gd9sxapa9h6hf3am";
};
sourceRoot = "source/scripts";
buildPhase = ''
$CC nad2bin.c -o nad2bin
'';
installPhase = ''
mkdir -p $out/bin
cp nad2bin $out/bin/
'';
meta = with stdenv.lib; {
description = "Repository for proj datum grids";
homepage = https://proj4.org;
license = licenses.mit;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ ];
};
}

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "proj-5.2.0";
src = fetchurl {
url = https://download.osgeo.org/proj/proj-5.2.0.tar.gz;
sha256 = "0q3ydh2j8qhwlxmnac72pg69rw2znbi5b6k5wama8qmwzycr94gg";
};
doCheck = stdenv.is64bit;
meta = with stdenv.lib; {
description = "Cartographic Projections Library";
homepage = https://proj4.org;
license = licenses.mit;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ vbgl ];
};
}

View File

@ -1,13 +1,22 @@
{ stdenv, fetchurl }:
{ stdenv, fetchFromGitHub, pkg-config, sqlite, autoreconfHook }:
stdenv.mkDerivation {
name = "proj-5.2.0";
stdenv.mkDerivation rec {
name = "proj";
version = "6.1.1";
src = fetchurl {
url = https://download.osgeo.org/proj/proj-5.2.0.tar.gz;
sha256 = "0q3ydh2j8qhwlxmnac72pg69rw2znbi5b6k5wama8qmwzycr94gg";
src = fetchFromGitHub {
owner = "OSGeo";
repo = "PROJ";
rev = version;
sha256 = "0w2v2l22kv0xzq5hwl7n8ki6an8vfsr0lg0cdbkwcl4xv889ysma";
};
outputs = [ "out" "dev"];
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = [ sqlite ];
doCheck = stdenv.is64bit;
meta = with stdenv.lib; {

View File

@ -1,9 +1,10 @@
{ buildPythonPackage, lib, fetchPypi
, pytest, filelock, mock, pep8
, cython, isPy27
, six, pyshp, shapely, geos, proj, numpy
, six, pyshp, shapely, geos, numpy
, gdal, pillow, matplotlib, pyepsg, pykdtree, scipy, owslib, fiona
, xvfb_run
, proj_5 # see https://github.com/SciTools/cartopy/pull/1252 for status on proj 6 support
}:
buildPythonPackage rec {
@ -27,17 +28,17 @@ buildPythonPackage rec {
export HOME=$(mktemp -d)
${maybeXvfbRun} pytest --pyargs cartopy \
-m "not network and not natural_earth" \
-k "not test_nightshade_image"
-k "not test_nightshade_image and not background_img"
'';
nativeBuildInputs = [
cython
geos # for geos-config
proj
proj_5
];
buildInputs = [
geos proj
geos proj_5
];
propagatedBuildInputs = [

View File

@ -1,7 +1,7 @@
{ stdenv, buildPythonPackage, fetchPypi, isPy3k, pythonOlder
, attrs, click, cligj, click-plugins, six, munch, enum34
, pytest, boto3, mock
, gdal
, gdal_2 # can't bump to 3 yet, https://github.com/Toblerity/Fiona/issues/745
}:
buildPythonPackage rec {
@ -16,11 +16,11 @@ buildPythonPackage rec {
CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11";
nativeBuildInputs = [
gdal # for gdal-config
gdal_2 # for gdal-config
];
buildInputs = [
gdal
gdal_2
];
propagatedBuildInputs = [

View File

@ -0,0 +1,47 @@
diff a/pyproj/datadir.py b/pyproj/datadir.py
--- a/pyproj/datadir.py
+++ b/pyproj/datadir.py
@@ -52,6 +52,7 @@ def get_data_dir():
str: The valid data directory.
"""
+ return "@proj@/share/proj"
# to avoid re-validating
global _VALIDATED_PROJ_DATA
if _VALIDATED_PROJ_DATA is not None:
diff a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -16,7 +16,7 @@ INTERNAL_PROJ_DIR = os.path.join(CURRENT_FILE_PATH, "pyproj", BASE_INTERNAL_PROJ
def check_proj_version(proj_dir):
"""checks that the PROJ library meets the minimum version"""
- proj = os.path.join(proj_dir, "bin", "proj")
+ proj = "@proj@/bin/proj"
proj_ver_bytes = subprocess.check_output(proj, stderr=subprocess.STDOUT)
proj_ver_bytes = (proj_ver_bytes.decode("ascii").split()[1]).strip(",")
proj_version = parse_version(proj_ver_bytes)
@@ -33,6 +33,7 @@ def get_proj_dir():
"""
This function finds the base PROJ directory.
"""
+ return "@proj@"
proj_dir = os.environ.get("PROJ_DIR")
if proj_dir is None and os.path.exists(INTERNAL_PROJ_DIR):
proj_dir = INTERNAL_PROJ_DIR
@@ -56,6 +57,7 @@ def get_proj_libdirs(proj_dir):
"""
This function finds the library directories
"""
+ return ["@proj@/lib"]
proj_libdir = os.environ.get("PROJ_LIBDIR")
libdirs = []
if proj_libdir is None:
@@ -77,6 +79,7 @@ def get_proj_incdirs(proj_dir):
"""
This function finds the include directories
"""
+ return ["@proj@/include"]
proj_incdir = os.environ.get("PROJ_INCDIR")
incdirs = []
if proj_incdir is None:

View File

@ -1,38 +1,49 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, python
, nose2
{ lib, buildPythonPackage, fetchPypi, python, pkgs, pythonOlder, substituteAll
, aenum
, cython
, proj ? null
, pytest
, mock
, numpy
}:
buildPythonPackage (rec {
buildPythonPackage rec {
pname = "pyproj";
version = "unstable-2018-11-13";
version = "2.2.1";
src = fetchFromGitHub {
owner = "jswhit";
repo = pname;
rev = "78540f5ff40da92160f80860416c91ee74b7643c";
sha256 = "1vq5smxmpdjxialxxglsfh48wx8kaq9sc5mqqxn4fgv1r5n1m3n9";
src = fetchPypi {
inherit pname version;
sha256 = "0yigcxwmx5cczipf2mpmy2gq1dnl0635yjvjq86ay47j1j5fd2gc";
};
buildInputs = [ cython ];
# force pyproj to use ${pkgs.proj}
patches = [
(substituteAll {
src = ./001.proj.patch;
proj = pkgs.proj;
})
];
checkInputs = [ nose2 ];
buildInputs = [ cython pkgs.proj ];
propagatedBuildInputs = [
numpy
] ++ lib.optional (pythonOlder "3.6") aenum;
checkInputs = [ pytest mock ];
# ignore rounding errors, and impure docgen
# datadir is ignored because it does the proj look up logic, which isn't relevant
checkPhase = ''
runHook preCheck
pushd unittest # changing directory should ensure we're importing the global pyproj
${python.interpreter} test.py && ${python.interpreter} -c "import doctest, pyproj, sys; sys.exit(doctest.testmod(pyproj)[0])"
popd
runHook postCheck
pytest . -k 'not alternative_grid_name \
and not transform_wgs84_to_alaska \
and not repr' \
--ignore=test/test_doctest_wrapper.py \
--ignore=test/test_datadir.py
'';
meta = {
description = "Python interface to PROJ.4 library";
homepage = https://github.com/jswhit/pyproj;
homepage = "https://github.com/jswhit/pyproj";
license = with lib.licenses; [ isc ];
};
} // (if proj == null then {} else { PROJ_DIR = proj; }))
}

View File

@ -1,28 +1,26 @@
{ stdenv, fetchgit, cmake, expat, proj, bzip2, zlib, boost, postgresql, lua}:
{ stdenv, fetchFromGitHub, cmake, expat, proj, bzip2, zlib, boost, postgresql, lua}:
let
version = "0.92.1-unstable";
in
stdenv.mkDerivation rec {
name = "osm2pgsql-${version}";
version = "0.96.0";
src = fetchgit {
url = "https://github.com/openstreetmap/osm2pgsql.git";
rev = "2b72b2121e91b72b0db6911d65c5165ca46d9d66";
# Still waiting on release after:
# https://github.com/openstreetmap/osm2pgsql/pull/684
# https://github.com/openstreetmap/osm2pgsql/issues/634
#rev = "refs/tags/${version}";
sha256 = "1v6s863zsv9p2mni35gfamawj0xr2cv2p8a31z7sijf8m6fn0vpy";
src = fetchFromGitHub {
owner = "openstreetmap";
repo = "osm2pgsql";
rev = version;
sha256 = "032cydh8ynaqfhdzmkvgbmqyjql668y6qln1l59l2s3ni9963bbl";
};
nativeBuildInputs = [cmake];
buildInputs = [expat proj bzip2 zlib boost postgresql lua];
meta = {
nativeBuildInputs = [ cmake ];
buildInputs = [ expat proj bzip2 zlib boost postgresql lua ];
NIX_CFLAGS_COMPILE = [ "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" ];
meta = with stdenv.lib; {
description = "OpenStreetMap data to PostgreSQL converter";
version = "0.92.1-unstable";
homepage = https://github.com/openstreetmap/osm2pgsql;
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -10575,6 +10575,8 @@ in
gdal_1_11 = callPackage ../development/libraries/gdal/gdal-1_11.nix { };
gdal_2 = callPackage ../development/libraries/gdal/2.4.0.nix { };
gdcm = callPackage ../development/libraries/gdcm { };
ggz_base_libs = callPackage ../development/libraries/ggz_base_libs {};
@ -12727,6 +12729,10 @@ in
proj = callPackage ../development/libraries/proj { };
proj_5 = callPackage ../development/libraries/proj/5.2.nix { };
proj-datumgrid = callPackage ../development/libraries/proj-datumgrid { };
proselint = callPackage ../tools/text/proselint {
inherit (python3Packages)
buildPythonApplication click future six;
@ -19100,7 +19106,9 @@ in
mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; });
merkaartor = libsForQt59.callPackage ../applications/misc/merkaartor { };
merkaartor = libsForQt59.callPackage ../applications/misc/merkaartor {
gdal = gdal_2; # https://github.com/openstreetmap/merkaartor/issues/179
};
meshlab = libsForQt5.callPackage ../applications/graphics/meshlab { };
@ -21941,10 +21949,6 @@ in
inherit (darwin.apple_sdk.frameworks) Cocoa;
};
saga_2_3_2 = callPackage ../applications/gis/saga/lts.nix {
inherit (darwin.apple_sdk.frameworks) Cocoa;
};
samplv1 = callPackage ../applications/audio/samplv1 { };
sauerbraten = callPackage ../games/sauerbraten {};

View File

@ -2712,7 +2712,7 @@ in {
filelock = callPackage ../development/python-modules/filelock {};
fiona = callPackage ../development/python-modules/fiona { gdal = pkgs.gdal; };
fiona = callPackage ../development/python-modules/fiona { gdal_2 = pkgs.gdal_2; };
fitbit = callPackage ../development/python-modules/fitbit { };
@ -4028,11 +4028,7 @@ in {
pyotp = callPackage ../development/python-modules/pyotp { };
pyproj = callPackage ../development/python-modules/pyproj {
# pyproj does *work* if you want to use a system supplied proj, but with the current version(s) the tests fail by
# a few decimal places, so caveat emptor.
proj = null;
};
pyproj = callPackage ../development/python-modules/pyproj { };
pyqrcode = callPackage ../development/python-modules/pyqrcode { };
@ -4230,7 +4226,9 @@ in {
rabbitpy = callPackage ../development/python-modules/rabbitpy { };
rasterio = callPackage ../development/python-modules/rasterio { };
rasterio = callPackage ../development/python-modules/rasterio {
gdal = pkgs.gdal_2; # gdal 3.0 not supported yet
};
radicale_infcloud = callPackage ../development/python-modules/radicale_infcloud {};