1{
2 stdenv,
3 lib,
4 fetchurl,
5 gnome,
6 meson,
7 ninja,
8 pkg-config,
9 vala,
10 libssh2,
11 gtk-doc,
12 gobject-introspection,
13 gi-docgen,
14 libgit2,
15 glib,
16 python3,
17}:
18
19stdenv.mkDerivation (finalAttrs: {
20 pname = "libgit2-glib";
21 version = "1.2.1";
22
23 outputs = [
24 "out"
25 "dev"
26 "devdoc"
27 ];
28
29 src = fetchurl {
30 url = "mirror://gnome/sources/libgit2-glib/${lib.versions.majorMinor finalAttrs.version}/libgit2-glib-${finalAttrs.version}.tar.xz";
31 sha256 = "l0I6d5ACs76HUcdfnXkEnfzMo2FqJhWfwWJIZ3K6eF8=";
32 };
33
34 nativeBuildInputs = [
35 meson
36 ninja
37 pkg-config
38 vala
39 gtk-doc
40 gobject-introspection
41 gi-docgen
42 ];
43
44 propagatedBuildInputs = [
45 # Required by libgit2-glib-1.0.pc
46 libgit2
47 glib
48 ];
49
50 buildInputs = [
51 libssh2
52 python3.pkgs.pygobject3 # this should really be a propagated input of python output
53 ];
54
55 mesonFlags = [
56 "-Dgtk_doc=true"
57 ];
58
59 postPatch = ''
60 chmod +x meson_python_compile.py
61 patchShebangs meson_python_compile.py
62 '';
63
64 passthru = {
65 updateScript = gnome.updateScript {
66 packageName = "libgit2-glib";
67 versionPolicy = "none";
68 };
69 };
70
71 meta = with lib; {
72 description = "Glib wrapper library around the libgit2 git access library";
73 homepage = "https://gitlab.gnome.org/GNOME/libgit2-glib";
74 license = licenses.lgpl21Plus;
75 teams = [ teams.gnome ];
76 platforms = platforms.linux;
77 };
78})