earbuds: disable updateScript (#374592)
[NixPkgs.git] / pkgs / development / libraries / librest / 1.0.nix
blob4024ecd8a88437d9680f551b324e21359b504aa8
2   lib,
3   stdenv,
4   fetchpatch,
5   fetchurl,
6   meson,
7   ninja,
8   pkg-config,
9   gi-docgen,
10   glib,
11   json-glib,
12   libsoup_3,
13   libxml2,
14   gobject-introspection,
15   gnome,
18 stdenv.mkDerivation rec {
19   pname = "rest";
20   version = "0.9.1";
22   outputs = [
23     "out"
24     "dev"
25     "devdoc"
26   ];
28   src = fetchurl {
29     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
30     sha256 = "kmalwQ7OOD4ZPft/+we1CcwfUVIauNrXavlu0UISwuM=";
31   };
33   patches = [
34     # Pick up MR 30 (https://gitlab.gnome.org/GNOME/librest/-/merge_requests/30) to fix GOA crashes with libsoup 3
35     (fetchpatch {
36       url = "https://gitlab.gnome.org/GNOME/librest/-/commit/fbad64abe28a96f591a30e3a5d3189c10172a414.patch";
37       hash = "sha256-r8+h84Y/AdM1IOMRcBVwDvfqapqOY8ZtRXdOIQvFR9w=";
38     })
39     (fetchpatch {
40       url = "https://gitlab.gnome.org/GNOME/librest/-/commit/8049048a0f7d52b3f4101c7123797fed099d4cc8.patch";
41       hash = "sha256-AMhHKzzOoTIlkRwN4KfUwdhxlqvtRgiVjKRfnG7KZwc=";
42     })
43   ];
45   strictDeps = true;
46   depsBuildBuild = [ pkg-config ];
47   nativeBuildInputs = [
48     meson
49     ninja
50     pkg-config
51     gi-docgen
52     gobject-introspection
53   ];
55   propagatedBuildInputs = [
56     glib
57     json-glib
58     libsoup_3
59     libxml2
60   ];
62   mesonFlags = [
63     "-Dexamples=false"
65     # Remove when https://gitlab.gnome.org/GNOME/librest/merge_requests/2 is merged.
66     "-Dca_certificates=true"
67     "-Dca_certificates_path=/etc/ssl/certs/ca-certificates.crt"
68   ];
70   postPatch = ''
71     # https://gitlab.gnome.org/GNOME/librest/-/merge_requests/19
72     substituteInPlace meson.build \
73       --replace "con." "conf."
75     # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)
76     # it should be a build-time dep for build
77     # TODO: send upstream
78     substituteInPlace docs/meson.build \
79       --replace "'gi-docgen', ver" "'gi-docgen', native:true, ver"
80   '';
82   postFixup = ''
83     # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
84     moveToOutput "share/doc" "$devdoc"
85   '';
87   separateDebugInfo = true;
89   passthru = {
90     updateScript = gnome.updateScript {
91       packageName = pname;
92       attrPath = "librest_1_0";
93       versionPolicy = "odd-unstable";
94     };
95   };
97   meta = with lib; {
98     description = "Helper library for RESTful services";
99     homepage = "https://gitlab.gnome.org/GNOME/librest";
100     license = licenses.lgpl21Only;
101     platforms = platforms.unix;
102     maintainers = teams.gnome.members;
103   };