90 lines
1.8 KiB
Nix
90 lines
1.8 KiB
Nix
|
{ lib, stdenv
|
||
|
, fetchFromGitHub
|
||
|
, fetchpatch
|
||
|
, cmake
|
||
|
, pkg-config
|
||
|
, openscenegraph
|
||
|
, curl
|
||
|
, gdal
|
||
|
, hdf5-cpp
|
||
|
, LASzip
|
||
|
, libe57format
|
||
|
, libgeotiff
|
||
|
, libxml2
|
||
|
, postgresql
|
||
|
, tiledb
|
||
|
, xercesc
|
||
|
, zlib
|
||
|
, zstd
|
||
|
}:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "pdal";
|
||
|
version = "2.3.0";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "PDAL";
|
||
|
repo = "PDAL";
|
||
|
rev = version;
|
||
|
sha256 = "sha256-DKIraCyp8fcgnVp5dFrtQ4Wq96cQGC9SiAPLS6htUZc=";
|
||
|
};
|
||
|
|
||
|
patches = [
|
||
|
# fix build with GCC 11
|
||
|
(fetchpatch {
|
||
|
url = "https://github.com/PDAL/PDAL/commit/47e1eb2dc884d1b8c5caa8e3b48ef90f4f12c68d.patch";
|
||
|
hash = "sha256-Ls2LkVpbwQAMt2Iuq0zq9D9l2eyP8m1IO3poCnbxGDU=";
|
||
|
})
|
||
|
];
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
cmake
|
||
|
pkg-config
|
||
|
];
|
||
|
|
||
|
buildInputs = [
|
||
|
openscenegraph
|
||
|
curl
|
||
|
gdal
|
||
|
hdf5-cpp
|
||
|
LASzip
|
||
|
libe57format
|
||
|
libgeotiff
|
||
|
libxml2
|
||
|
postgresql
|
||
|
tiledb
|
||
|
xercesc
|
||
|
zlib
|
||
|
zstd
|
||
|
];
|
||
|
|
||
|
cmakeFlags = [
|
||
|
"-DBUILD_PLUGIN_E57=ON"
|
||
|
"-DBUILD_PLUGIN_HDF=ON"
|
||
|
"-DBUILD_PLUGIN_PGPOINTCLOUD=ON"
|
||
|
"-DBUILD_PLUGIN_TILEDB=ON"
|
||
|
|
||
|
# Plugins can probably not be made work easily:
|
||
|
"-DBUILD_PLUGIN_CPD=OFF"
|
||
|
"-DBUILD_PLUGIN_FBX=OFF" # Autodesk FBX SDK is gratis+proprietary; not packaged in nixpkgs
|
||
|
"-DBUILD_PLUGIN_GEOWAVE=OFF"
|
||
|
"-DBUILD_PLUGIN_I3S=OFF"
|
||
|
"-DBUILD_PLUGIN_ICEBRIDGE=OFF"
|
||
|
"-DBUILD_PLUGIN_MATLAB=OFF"
|
||
|
"-DBUILD_PLUGIN_MBIO=OFF"
|
||
|
"-DBUILD_PLUGIN_MRSID=OFF"
|
||
|
"-DBUILD_PLUGIN_NITF=OFF"
|
||
|
"-DBUILD_PLUGIN_OCI=OFF"
|
||
|
"-DBUILD_PLUGIN_RDBLIB=OFF" # Riegl rdblib is proprietary; not packaged in nixpkgs
|
||
|
"-DBUILD_PLUGIN_RIVLIB=OFF"
|
||
|
];
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "PDAL is Point Data Abstraction Library. GDAL for point cloud data";
|
||
|
homepage = "https://pdal.io";
|
||
|
license = licenses.bsd3;
|
||
|
maintainers = with maintainers; [ nh2 ];
|
||
|
platforms = platforms.all;
|
||
|
};
|
||
|
}
|