1{
2 stdenv,
3 lib,
4 vala,
5 meson,
6 ninja,
7 pkg-config,
8 fetchFromGitea,
9 gobject-introspection,
10 glib,
11 gtk3,
12}:
13
14stdenv.mkDerivation rec {
15 pname = "libgflow";
16 version = "1.0.4";
17
18 outputs = [
19 "out"
20 "dev"
21 "devdoc"
22 ];
23 outputBin = "devdoc"; # demo app
24
25 src = fetchFromGitea {
26 domain = "notabug.org";
27 owner = "grindhold";
28 repo = "libgtkflow";
29 rev = "gflow_${version}";
30 hash = "sha256-JoVq7U5JQ3pRxptR7igWFw7lcBTsgr3aVXxayLqhyFo=";
31 };
32
33 nativeBuildInputs = [
34 vala
35 meson
36 ninja
37 pkg-config
38 gobject-introspection
39 ];
40
41 buildInputs = [
42 gtk3
43 glib
44 ];
45
46 postFixup = ''
47 # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
48 moveToOutput "share/doc" "$devdoc"
49 '';
50
51 mesonFlags = [
52 "-Denable_valadoc=true"
53 "-Denable_gtk3=false"
54 "-Denable_gtk4=false"
55 ];
56
57 meta = with lib; {
58 description = "Flow graph widget for GTK 3";
59 homepage = "https://notabug.org/grindhold/libgtkflow";
60 maintainers = with maintainers; [ grindhold ];
61 license = licenses.lgpl3Plus;
62 platforms = platforms.unix;
63 };
64}