1{
2 lib,
3 stdenv,
4 fetchgit,
5 fetchpatch,
6 pkg-config,
7 glib,
8 icu,
9 gobject-introspection,
10 dbus-glib,
11 vala,
12 python3,
13 autoreconfHook,
14 gtk-doc,
15}:
16
17stdenv.mkDerivation rec {
18 pname = "dee";
19 version = "unstable-2017-06-16";
20
21 outputs = [
22 "out"
23 "dev"
24 "py"
25 ];
26
27 src = fetchgit {
28 url = "https://git.launchpad.net/ubuntu/+source/dee";
29 rev = "import/1.2.7+17.10.20170616-4ubuntu3";
30 sha256 = "09blrdj7229vscp4mkg0fabmcvc6jdpamvblrq86rbky7j2nnwlk";
31 };
32
33 patches = [
34 "${src}/debian/patches/gtkdocize.patch"
35 "${src}/debian/patches/strict-prototype.patch"
36 "${src}/debian/patches/vapi-skip-properties.patch"
37 ./0001-Fix-build-with-Vala-0.54.patch
38
39 # Fixes glib 2.62 deprecations
40 (fetchpatch {
41 name = "dee-1.2.7-deprecated-g_type_class_add_private.patch";
42 url = "https://src.fedoraproject.org/rpms/dee/raw/1a9a4ce3377074fabfca653ffe0287cd73aef82f/f/dee-1.2.7-deprecated-g_type_class_add_private.patch";
43 sha256 = "13nyprq7bb7lnzkcb7frcpzidbl836ycn5bvmwa2k0nhmj6ycbx5";
44 })
45 ];
46
47 nativeBuildInputs = [
48 pkg-config
49 vala
50 autoreconfHook
51 gobject-introspection
52 python3
53 gtk-doc
54 ];
55
56 buildInputs = [
57 glib
58 icu
59 dbus-glib
60 ];
61
62 configureFlags = [
63 "--disable-gtk-doc"
64 "--with-pygi-overrides-dir=${placeholder "py"}/${python3.sitePackages}/gi/overrides"
65 ];
66
67 # Compilation fails after a change in glib where
68 # g_string_free now returns a value
69 env.NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
70
71 enableParallelBuilding = true;
72
73 meta = with lib; {
74 description = "Library that uses DBus to provide objects allowing you to create Model-View-Controller type programs across DBus";
75 mainProgram = "dee-tool";
76 homepage = "https://launchpad.net/dee";
77 license = licenses.lgpl3;
78 platforms = platforms.linux;
79 maintainers = with maintainers; [ abbradar ];
80 };
81}