@@ -0,0 +1,52 @@
1+{ stdenv
2+, lib
3+, fetchFromGitLab
4+, meson
5+, ninja
6+, pkg-config
7+, llvmPackages
8+, gobject-introspection
9+, glib
10+, unstableGitUpdater
11+}:
12+
13+stdenv.mkDerivation rec {
14+ pname = "tartan";
15+ version = "unstable-2021-12-23";
16+
17+ src = fetchFromGitLab {
18+ domain = "gitlab.freedesktop.org";
19+ owner = "tartan";
20+ repo = "tartan";
21+ rev = "bd4ea95d8b3ce1258491e9fac7fcc37d2b241a16";
22+ sha256 = "l3duPt8Kh/JljzOV+Dm26XbS7gZ+mmFfYUYofWSJRyo=";
23+ };
24+
25+ nativeBuildInputs = [
26+ meson
27+ ninja
28+ pkg-config
29+ ];
30+
31+ buildInputs = [
32+ gobject-introspection
33+ glib
34+ llvmPackages.libclang
35+ llvmPackages.libllvm
36+ ];
37+
38+ passthru = {
39+ updateScript = unstableGitUpdater {
40+ # The updater tries src.url by default, which does not exist for fetchFromGitLab (fetchurl).
41+ url = "https://gitlab.freedesktop.org/tartan/tartan.git";
42+ };
43+ };
44+
45+ meta = with lib; {
46+ description = "Tools and Clang plugins for developing code with GLib";
47+ homepage = "https://freedesktop.org/wiki/Software/tartan";
48+ license = licenses.gpl3Plus;
49+ platforms = platforms.unix;
50+ maintainers = with maintainers; [ jtojnar ];
51+ };
52+}