nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 lib,
4 fetchFromGitLab,
5 gobject-introspection,
6 meson,
7 ninja,
8 pkg-config,
9 vala,
10 glib,
11 libgee,
12 libxml2,
13 gitUpdater,
14}:
15
16stdenv.mkDerivation (finalAttrs: {
17 pname = "gxml";
18 version = "0.20.4";
19
20 outputs = [
21 "out"
22 "dev"
23 "devdoc"
24 ];
25
26 src = fetchFromGitLab {
27 domain = "gitlab.gnome.org";
28 owner = "GNOME";
29 repo = "gxml";
30 rev = finalAttrs.version;
31 hash = "sha256-/gaWuUytBsvAsC95ee6MtTW6g3ltGbkD+JWqrAjJLDc=";
32 };
33
34 nativeBuildInputs = [
35 gobject-introspection
36 meson
37 ninja
38 pkg-config
39 vala
40 ];
41
42 propagatedBuildInputs = [
43 glib
44 libgee
45 libxml2
46 ];
47
48 postPatch = ''
49 # https://gitlab.gnome.org/GNOME/gxml/-/merge_requests/24
50 # https://gitlab.gnome.org/GNOME/gxml/-/merge_requests/28
51 substituteInPlace gxml/gxml.pc.in \
52 --replace-fail "includedir=@prefix@/include" "includedir=${placeholder "dev"}/include" \
53 --replace-fail ">=2" ">= 2" \
54 --replace-fail ">=0" ">= 0"
55 '';
56
57 # https://github.com/NixOS/nixpkgs/issues/407969
58 doCheck = false;
59
60 passthru.updateScript = gitUpdater { };
61
62 meta = with lib; {
63 description = "GXml provides a GObject API for manipulating XML and a Serializable framework from GObject to XML";
64 homepage = "https://gitlab.gnome.org/GNOME/gxml";
65 changelog = "https://gitlab.gnome.org/GNOME/gxml/-/blob/${finalAttrs.version}/NEWS?ref_type=tags";
66 license = licenses.lgpl21Plus;
67 platforms = platforms.linux;
68 maintainers = with maintainers; [ jmarmstrong1207 ];
69 teams = [ teams.gnome ];
70 };
71})