about summary refs log tree commit diff
path: root/pkgs/development/libraries/libchamplain
diff options
context:
space:
mode:
authorBobby Rong <rjl931189261@126.com>2022-09-21 10:11:23 +0800
committerJan Tojnar <jtojnar@gmail.com>2022-10-11 18:52:33 +0200
commit5364f7c7ec04285ec95f3fa9b547c4f8b3395f29 (patch)
tree4e771e4e329a31b886b540c33842e2263bb8c4a0 /pkgs/development/libraries/libchamplain
parent8499247e8cef808d70b79360bf3264f9ac997173 (diff)
libchamplain_libsoup3: init
Diffstat (limited to 'pkgs/development/libraries/libchamplain')
-rw-r--r--pkgs/development/libraries/libchamplain/default.nix17
1 files changed, 15 insertions, 2 deletions
diff --git a/pkgs/development/libraries/libchamplain/default.nix b/pkgs/development/libraries/libchamplain/default.nix
index 119e7ec5eccab..34440d67818d8 100644
--- a/pkgs/development/libraries/libchamplain/default.nix
+++ b/pkgs/development/libraries/libchamplain/default.nix
@@ -1,4 +1,5 @@
 { fetchurl
+, fetchpatch
 , lib
 , stdenv
 , meson
@@ -15,7 +16,9 @@
 , gnome
 , clutter-gtk
 , libsoup
+, libsoup_3
 , gobject-introspection /*, libmemphis */
+, withLibsoup3 ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -27,6 +30,16 @@ stdenv.mkDerivation rec {
     sha256 = "0rihpb0npqpihqcdz4w03rq6xl7jdckfqskvv9diq2hkrnzv8ch2";
   };
 
+  patches = lib.optionals withLibsoup3 [
+    # Port to libsoup3
+    # https://gitlab.gnome.org/GNOME/libchamplain/-/merge_requests/13
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/libchamplain/-/commit/1cbaf3193c2b38e447fbc383d4c455c3dcac6db8.patch";
+      excludes = [ ".gitlab-ci.yml" ];
+      sha256 = "uk38gExnUgeUKwhDsqRU77hGWhJ+8fG5dSiV2MAWLFk=";
+    })
+  ];
+
   outputs = [ "out" "dev" "devdoc" ];
 
   nativeBuildInputs = [
@@ -42,7 +55,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     sqlite
-    libsoup
+    (if withLibsoup3 then libsoup_3 else libsoup)
   ];
 
   propagatedBuildInputs = [
@@ -78,7 +91,7 @@ stdenv.mkDerivation rec {
        OpenCycleMap, OpenAerialMap, and Maps for free.
     '';
 
-    maintainers = teams.gnome.members;
+    maintainers = teams.gnome.members ++ teams.pantheon.members;
     platforms = platforms.gnu ++ platforms.linux; # arbitrary choice
   };
 }