1{
2 stdenv,
3 lib,
4 fetchurl,
5 meson,
6 mesonEmulatorHook,
7 ninja,
8 pkg-config,
9 gtk-doc,
10 docbook_xsl,
11 docbook_xml_dtd_412,
12 libX11,
13 glib,
14 gtk3,
15 pango,
16 cairo,
17 libXres,
18 libXi,
19 libstartup_notification,
20 gettext,
21 gobject-introspection,
22 gnome,
23}:
24
25stdenv.mkDerivation rec {
26 pname = "libwnck";
27 version = "43.2";
28
29 outputs = [
30 "out"
31 "dev"
32 "devdoc"
33 ];
34 outputBin = "dev";
35
36 src = fetchurl {
37 url = "mirror://gnome/sources/libwnck/${lib.versions.major version}/libwnck-${version}.tar.xz";
38 sha256 = "VadETsH7uVwIbUCWc4jyMbXAu8jP+qCGv5KQrkSeUdU=";
39 };
40
41 nativeBuildInputs = [
42 meson
43 ninja
44 pkg-config
45 gettext
46 gobject-introspection
47 gtk-doc
48 docbook_xsl
49 docbook_xml_dtd_412
50 ]
51 ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
52 mesonEmulatorHook
53 ];
54
55 buildInputs = [
56 libX11
57 libstartup_notification
58 pango
59 cairo
60 libXres
61 libXi
62 ];
63
64 propagatedBuildInputs = [
65 glib
66 gtk3
67 ];
68
69 mesonFlags = [
70 "-Dgtk_doc=true"
71 ];
72
73 passthru = {
74 updateScript = gnome.updateScript {
75 packageName = "libwnck";
76 };
77 };
78
79 meta = with lib; {
80 description = "Library to manage X windows and workspaces (via pagers, tasklists, etc.)";
81 license = licenses.lgpl21Plus;
82 platforms = platforms.linux;
83 maintainers = with maintainers; [ liff ];
84 };
85}