1{
2 lib,
3 stdenv,
4 fetchbzr,
5 pkg-config,
6 systemd,
7 autoreconfHook,
8 glib,
9 dbus-glib,
10 json-glib,
11 gtk3,
12 libindicator-gtk3,
13 libdbusmenu-gtk3,
14 libappindicator-gtk3,
15}:
16
17stdenv.mkDerivation rec {
18 pname = "indicator-application";
19 version = "12.10.1";
20
21 name = "${pname}-gtk3-${version}";
22
23 src = fetchbzr {
24 url = "https://code.launchpad.net/~indicator-applet-developers/${pname}/trunk.17.04";
25 rev = "260";
26 sha256 = "1f0jdyqqb5g86zdpbcyn16x94yjigsfiv2kf73dvni5rp1vafbq1";
27 };
28
29 nativeBuildInputs = [
30 pkg-config
31 autoreconfHook
32 dbus-glib # dbus-binding-tool
33 ];
34
35 buildInputs = [
36 glib
37 dbus-glib
38 json-glib
39 systemd
40 gtk3
41 libindicator-gtk3
42 libdbusmenu-gtk3
43 libappindicator-gtk3
44 ];
45
46 postPatch = ''
47 substituteInPlace data/Makefile.am \
48 --replace "/etc/xdg/autostart" "$out/etc/xdg/autostart"
49 '';
50
51 configureFlags = [
52 "CFLAGS=-Wno-error"
53 "--sysconfdir=/etc"
54 "--localstatedir=/var"
55 ];
56
57 installFlags = [
58 "sysconfdir=\${out}/etc"
59 "localstatedir=\${TMPDIR}"
60 ];
61
62 PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "$(out)/lib/systemd/user";
63 PKG_CONFIG_INDICATOR3_0_4_INDICATORDIR = "$(out)/lib/indicators3/7/";
64
65 # Upstart is not used in NixOS
66 postFixup = ''
67 rm -rf $out/share/indicator-application/upstart
68 rm -rf $out/share/upstart
69 '';
70
71 meta = with lib; {
72 description = "Indicator to take menus from applications and place them in the panel";
73 homepage = "https://launchpad.net/indicator-application";
74 license = licenses.gpl3;
75 platforms = platforms.linux;
76 maintainers = [ maintainers.msteen ];
77 };
78}