linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / glib-networking / default.nix
blob5858973416625b4de269ff1d5a85391dd0fae1a8
1 { lib, stdenv
2 , fetchurl
3 , substituteAll
4 , meson
5 , ninja
6 , nixosTests
7 , pkg-config
8 , glib
9 , gettext
10 , makeWrapper
11 , python3
12 , gnutls
13 , p11-kit
14 , libproxy
15 , gnome3
16 , gsettings-desktop-schemas
19 stdenv.mkDerivation rec {
20   pname = "glib-networking";
21   version = "2.66.0";
23   outputs = [ "out" "installedTests" ];
25   src = fetchurl {
26     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
27     sha256 = "16807qwflbghp0c66jdx2gnaffvdp4bla35ppzp9dlgx6wjbxmy5";
28   };
30   patches = [
31     (substituteAll {
32       src = ./hardcode-gsettings.patch;
33       gds_gsettings_path = glib.getSchemaPath gsettings-desktop-schemas;
34     })
36     ./installed-tests-path.patch
37   ];
39   postPatch = ''
40     chmod +x meson_post_install.py # patchShebangs requires executable file
41     patchShebangs meson_post_install.py
42   '';
44   nativeBuildInputs = [
45     meson
46     ninja
47     pkg-config
48     gettext
49     makeWrapper
50     python3 # for install_script
51   ];
53   buildInputs = [
54     glib
55     gnutls
56     p11-kit
57     libproxy
58     gsettings-desktop-schemas
59   ];
61   doCheck = false; # tests need to access the certificates (among other things)
63   mesonFlags = [
64     "-Dinstalled_tests=true"
65     "-Dinstalled_test_prefix=${placeholder "installedTests"}"
66   ];
68   postFixup = ''
69     find "$installedTests/libexec" "$out/libexec" -type f -executable -print0 \
70       | while IFS= read -r -d "" file; do
71       echo "Wrapping program '$file'"
72       wrapProgram "$file" --prefix GIO_EXTRA_MODULES : "$out/lib/gio/modules"
73     done
74   '';
76   passthru = {
77     updateScript = gnome3.updateScript {
78       packageName = pname;
79     };
81     tests = {
82       installedTests = nixosTests.installed-tests.glib-networking;
83     };
84   };
86   meta = with lib; {
87     description = "Network-related giomodules for glib";
88     homepage = "https://gitlab.gnome.org/GNOME/glib-networking";
89     license = licenses.lgpl21Plus;
90     maintainers = teams.gnome.members;
91     platforms = platforms.unix;
92   };