about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/gdal/tests.nix
blob: e6d767301403506ab9beae62af1c383a1db1f07c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
{ runCommand, gdal, jdk, lib, testers }:

let
  inherit (gdal) pname version;

in
{
  ogrinfo-version = testers.testVersion {
    package = gdal;
    command = "ogrinfo --version";
  };

  gdalinfo-version = testers.testVersion {
    package = gdal;
    command = "gdalinfo --version";
  };

  ogrinfo-format-geopackage = runCommand "${pname}-ogrinfo-format-geopackage" { } ''
    ${lib.getExe' gdal "ogrinfo"} --formats \
      | grep 'GPKG.*GeoPackage'
    touch $out
  '';

  gdalinfo-format-geotiff = runCommand "${pname}-gdalinfo-format-geotiff" { } ''
    ${lib.getExe' gdal "gdalinfo"} --formats \
      | grep 'GTiff.*GeoTIFF'
    touch $out
  '';

  vector-file = runCommand "${pname}-vector-file" { } ''
    echo -e "Latitude,Longitude,Name\n48.1,0.25,'Test point'" > test.csv
    ${lib.getExe' gdal "ogrinfo"} ./test.csv
    touch $out
  '';

  raster-file = runCommand "${pname}-raster-file" { } ''
    ${lib.getExe' gdal "gdal_create"} \
      -a_srs "EPSG:4326" \
      -of GTiff \
      -ot UInt16 \
      -a_nodata 255 \
      -burn 0 \
      -outsize 800 600 \
      -co COMPRESS=LZW \
      test.tif

    ${lib.getExe' gdal "gdalinfo"} ./test.tif
    touch $out
  '';

  java-bindings = runCommand "${pname}-java-bindings" { } ''
    cat <<EOF > main.java
    import org.gdal.gdal.gdal;
    class Main {
      public static void main(String[] args) {
      gdal.AllRegister();
      }
    }
    EOF
    ${lib.getExe jdk} -Djava.library.path=${gdal}/lib/ -cp ${gdal}/share/java/gdal-${version}.jar main.java
    touch $out
  '';
}