btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / li / libgit2-glib / package.nix
blobabf15fdec4d8714ab54e54cf662af0edf4835a73
1 { stdenv
2 , lib
3 , fetchurl
4 , gnome
5 , meson
6 , ninja
7 , pkg-config
8 , vala
9 , libssh2
10 , gtk-doc
11 , gobject-introspection
12 , gi-docgen
13 , libgit2
14 , glib
15 , python3
16 , fetchpatch
19 stdenv.mkDerivation rec {
20   pname = "libgit2-glib";
21   version = "1.2.0";
23   outputs = [ "out" "dev" "devdoc" ];
25   src = fetchurl {
26     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
27     sha256 = "EzHa2oOPTh9ZGyZFnUQSajJd52LcPNJhU6Ma+9/hgZA=";
28   };
30   patches = [
31     (fetchpatch {
32       name = "support-libgit2-1.8.patch";
33       # https://gitlab.gnome.org/GNOME/libgit2-glib/-/merge_requests/40
34       url = "https://gitlab.gnome.org/GNOME/libgit2-glib/-/commit/a76fdf96c3af9ce9d21a3985c4be8a1aa6eea661.patch";
35       hash = "sha256-ysU8pAixyftensfEC9bE0RUFMPMei0jYT26WKN5uOFE=";
36     })
37   ];
39   nativeBuildInputs = [
40     meson
41     ninja
42     pkg-config
43     vala
44     gtk-doc
45     gobject-introspection
46     gi-docgen
47   ];
49   propagatedBuildInputs = [
50     # Required by libgit2-glib-1.0.pc
51     libgit2
52     glib
53   ];
55   buildInputs = [
56     libssh2
57     python3.pkgs.pygobject3 # this should really be a propagated input of python output
58   ];
60   mesonFlags = [
61     "-Dgtk_doc=true"
62   ];
64   postPatch = ''
65     chmod +x meson_python_compile.py
66     patchShebangs meson_python_compile.py
67   '';
69   passthru = {
70     updateScript = gnome.updateScript {
71       packageName = pname;
72       versionPolicy = "none";
73     };
74   };
76   meta = with lib; {
77     description = "Glib wrapper library around the libgit2 git access library";
78     homepage = "https://gitlab.gnome.org/GNOME/libgit2-glib";
79     license = licenses.lgpl21Plus;
80     maintainers = teams.gnome.members;
81     platforms = platforms.linux;
82   };