about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/librest
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/librest')
-rw-r--r--nixpkgs/pkgs/development/libraries/librest/1.0.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/librest/default.nix3
2 files changed, 26 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/development/libraries/librest/1.0.nix b/nixpkgs/pkgs/development/libraries/librest/1.0.nix
index 30482a510274..1e134f62bad7 100644
--- a/nixpkgs/pkgs/development/libraries/librest/1.0.nix
+++ b/nixpkgs/pkgs/development/libraries/librest/1.0.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, fetchpatch
 , fetchurl
 , meson
 , ninja
@@ -24,6 +25,20 @@ stdenv.mkDerivation rec {
     sha256 = "kmalwQ7OOD4ZPft/+we1CcwfUVIauNrXavlu0UISwuM=";
   };
 
+  patches = [
+    # Pick up MR 30 (https://gitlab.gnome.org/GNOME/librest/-/merge_requests/30) to fix GOA crashes with libsoup 3
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/librest/-/commit/fbad64abe28a96f591a30e3a5d3189c10172a414.patch";
+      hash = "sha256-r8+h84Y/AdM1IOMRcBVwDvfqapqOY8ZtRXdOIQvFR9w=";
+    })
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/librest/-/commit/8049048a0f7d52b3f4101c7123797fed099d4cc8.patch";
+      hash = "sha256-AMhHKzzOoTIlkRwN4KfUwdhxlqvtRgiVjKRfnG7KZwc=";
+    })
+  ];
+
+  strictDeps = true;
+  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [
     meson
     ninja
@@ -32,7 +47,7 @@ stdenv.mkDerivation rec {
     gobject-introspection
   ];
 
-  buildInputs = [
+  propagatedBuildInputs = [
     glib
     json-glib
     libsoup_3
@@ -51,6 +66,12 @@ stdenv.mkDerivation rec {
     # https://gitlab.gnome.org/GNOME/librest/-/merge_requests/19
     substituteInPlace meson.build \
       --replace "con." "conf."
+
+    # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)
+    # it should be a build-time dep for build
+    # TODO: send upstream
+    substituteInPlace docs/meson.build \
+      --replace "'gi-docgen', ver" "'gi-docgen', native:true, ver"
   '';
 
   postFixup = ''
@@ -58,6 +79,8 @@ stdenv.mkDerivation rec {
     moveToOutput "share/doc" "$devdoc"
   '';
 
+  separateDebugInfo = true;
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/nixpkgs/pkgs/development/libraries/librest/default.nix b/nixpkgs/pkgs/development/libraries/librest/default.nix
index abe53ff3692f..19f7ced5986f 100644
--- a/nixpkgs/pkgs/development/libraries/librest/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librest/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkg-config
     gobject-introspection
+  ] ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
     gtk-doc
     docbook-xsl-nons
     docbook_xml_dtd_412
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
   ];
 
   configureFlags = [
-    "--enable-gtk-doc"
+    (lib.enableFeature (stdenv.hostPlatform == stdenv.buildPlatform) "gtk-doc")
     # Remove when https://gitlab.gnome.org/GNOME/librest/merge_requests/2 is merged.
     "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt"
   ];