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