Merge pull request #241164 from imincik/grass-ordering-cleanup
grass: alphabetical reordering of dependencies and adding package tests
This commit is contained in:
commit
4774ffce45
2 changed files with 93 additions and 26 deletions
|
@ -1,10 +1,38 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, flex, bison, pkg-config, zlib, libtiff, libpng, fftw
|
{ lib
|
||||||
, cairo, readline, ffmpeg, makeWrapper, wxGTK32, libiconv, libxml2, netcdf, blas
|
, stdenv
|
||||||
, proj, gdal, geos, sqlite, postgresql, libmysqlclient, python3Packages, proj-datumgrid
|
, callPackage
|
||||||
, zstd, pdal, wrapGAppsHook
|
, fetchFromGitHub
|
||||||
|
, makeWrapper
|
||||||
|
, wrapGAppsHook
|
||||||
|
|
||||||
|
, bison
|
||||||
|
, blas
|
||||||
|
, cairo
|
||||||
|
, ffmpeg
|
||||||
|
, fftw
|
||||||
|
, flex
|
||||||
|
, gdal
|
||||||
|
, geos
|
||||||
|
, libiconv
|
||||||
|
, libmysqlclient
|
||||||
|
, libpng
|
||||||
|
, libtiff
|
||||||
|
, libxml2
|
||||||
|
, netcdf
|
||||||
|
, pdal
|
||||||
|
, pkg-config
|
||||||
|
, postgresql
|
||||||
|
, proj
|
||||||
|
, proj-datumgrid
|
||||||
|
, python3Packages
|
||||||
|
, readline
|
||||||
|
, sqlite
|
||||||
|
, wxGTK32
|
||||||
|
, zlib
|
||||||
|
, zstd
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: rec {
|
||||||
pname = "grass";
|
pname = "grass";
|
||||||
version = "8.3.0";
|
version = "8.3.0";
|
||||||
|
|
||||||
|
@ -16,22 +44,39 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config bison flex makeWrapper wrapGAppsHook
|
makeWrapper
|
||||||
|
wrapGAppsHook
|
||||||
|
|
||||||
|
bison
|
||||||
|
flex
|
||||||
gdal # for `gdal-config`
|
gdal # for `gdal-config`
|
||||||
geos # for `geos-config`
|
geos # for `geos-config`
|
||||||
netcdf # for `nc-config`
|
|
||||||
libmysqlclient # for `mysql_config`
|
libmysqlclient # for `mysql_config`
|
||||||
|
netcdf # for `nc-config`
|
||||||
|
pkg-config
|
||||||
] ++ (with python3Packages; [ python-dateutil numpy wxPython_4_2 ]);
|
] ++ (with python3Packages; [ python-dateutil numpy wxPython_4_2 ]);
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cairo zlib proj libtiff libpng libxml2 fftw sqlite
|
blas
|
||||||
readline ffmpeg postgresql blas wxGTK32
|
cairo
|
||||||
proj-datumgrid zstd
|
ffmpeg
|
||||||
|
fftw
|
||||||
gdal
|
gdal
|
||||||
geos
|
geos
|
||||||
netcdf
|
|
||||||
libmysqlclient
|
libmysqlclient
|
||||||
|
libpng
|
||||||
|
libtiff
|
||||||
|
libxml2
|
||||||
|
netcdf
|
||||||
pdal
|
pdal
|
||||||
|
postgresql
|
||||||
|
proj
|
||||||
|
proj-datumgrid
|
||||||
|
readline
|
||||||
|
sqlite
|
||||||
|
wxGTK32
|
||||||
|
zlib
|
||||||
|
zstd
|
||||||
] ++ lib.optionals stdenv.isDarwin [ libiconv ];
|
] ++ lib.optionals stdenv.isDarwin [ libiconv ];
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
@ -46,24 +91,24 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-proj-share=${proj}/share/proj"
|
"--with-blas"
|
||||||
"--with-proj-includes=${proj.dev}/include"
|
"--with-fftw"
|
||||||
"--with-proj-libs=${proj}/lib"
|
|
||||||
"--without-opengl"
|
|
||||||
"--with-readline"
|
|
||||||
"--with-wxwidgets"
|
|
||||||
"--with-netcdf"
|
|
||||||
"--with-geos"
|
"--with-geos"
|
||||||
"--with-postgres"
|
# It complains about missing libmysqld but doesn't really seem to need it
|
||||||
"--with-postgres-libs=${postgresql.lib}/lib/"
|
|
||||||
# it complains about missing libmysqld but doesn't really seem to need it
|
|
||||||
"--with-mysql"
|
"--with-mysql"
|
||||||
"--with-mysql-includes=${lib.getDev libmysqlclient}/include/mysql"
|
"--with-mysql-includes=${lib.getDev libmysqlclient}/include/mysql"
|
||||||
"--with-mysql-libs=${libmysqlclient}/lib/mysql"
|
"--with-mysql-libs=${libmysqlclient}/lib/mysql"
|
||||||
"--with-blas"
|
"--with-netcdf"
|
||||||
"--with-zstd"
|
"--with-postgres"
|
||||||
"--with-fftw"
|
"--with-postgres-libs=${postgresql.lib}/lib/"
|
||||||
|
"--with-proj-includes=${proj.dev}/include"
|
||||||
|
"--with-proj-libs=${proj}/lib"
|
||||||
|
"--with-proj-share=${proj}/share/proj"
|
||||||
"--with-pthread"
|
"--with-pthread"
|
||||||
|
"--with-readline"
|
||||||
|
"--with-wxwidgets"
|
||||||
|
"--with-zstd"
|
||||||
|
"--without-opengl"
|
||||||
] ++ lib.optionals stdenv.isLinux [
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
"--with-pdal"
|
"--with-pdal"
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
|
@ -96,11 +141,15 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
grass = callPackage ./tests.nix { grass = finalAttrs.finalPackage; };
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://grass.osgeo.org/";
|
|
||||||
description = "GIS software suite used for geospatial data management and analysis, image processing, graphics and maps production, spatial modeling, and visualization";
|
description = "GIS software suite used for geospatial data management and analysis, image processing, graphics and maps production, spatial modeling, and visualization";
|
||||||
|
homepage = "https://grass.osgeo.org/";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; teams.geospatial.members ++ [ mpickering ];
|
maintainers = with maintainers; teams.geospatial.members ++ [ mpickering ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
18
pkgs/applications/gis/grass/tests.nix
Normal file
18
pkgs/applications/gis/grass/tests.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ runCommand, grass }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (grass) pname version;
|
||||||
|
|
||||||
|
in
|
||||||
|
runCommand "${pname}-tests" { meta.timeout = 60; }
|
||||||
|
''
|
||||||
|
HOME=$(mktemp -d)
|
||||||
|
|
||||||
|
${grass}/bin/grass --tmp-location EPSG:3857 --exec g.version \
|
||||||
|
| grep 'GRASS ${version}'
|
||||||
|
|
||||||
|
${grass}/bin/grass --tmp-location EPSG:3857 --exec g.mapset -l \
|
||||||
|
| grep 'PERMANENT'
|
||||||
|
|
||||||
|
touch $out
|
||||||
|
''
|
Loading…
Reference in a new issue