lol
1{ lib
2, stdenv
3, callPackage
4, fetchpatch
5, fetchurl
6, testers
7
8, cmake
9}:
10
11stdenv.mkDerivation (finalAttrs: {
12 pname = "geos";
13 version = "3.11.2";
14
15 src = fetchurl {
16 url = "https://download.osgeo.org/geos/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
17 hash = "sha256-sfB3ZpSBxaPmKv/EnpbrBvKBmHpdNv2rIlIX5bgl5Mw=";
18 };
19
20 patches = [
21 # Pull upstream fix of `gcc-13` build failure:
22 # https://github.com/libgeos/geos/pull/805
23 (fetchpatch {
24 name = "gcc-13.patch";
25 url = "https://github.com/libgeos/geos/commit/bea3188be44075034fd349f5bb117c943bdb7fb1.patch";
26 hash = "sha256-dQT3Hf9YJchgjon/r46TLIXXbE6C0ZnewyvfYJea4jM=";
27 })
28 ];
29
30 nativeBuildInputs = [ cmake ];
31
32 doCheck = true;
33
34 passthru.tests = {
35 pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
36 geos = callPackage ./tests.nix { geos = finalAttrs.finalPackage; };
37 };
38
39 meta = with lib; {
40 description = "C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software";
41 homepage = "https://libgeos.org";
42 license = licenses.lgpl21Only;
43 maintainers = teams.geospatial.members;
44 pkgConfigModules = [ "geos" ];
45 mainProgram = "geosop";
46 };
47})