nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib, stdenv, fetchFromGitHub
2, libtool, pkg-config, automake, autoconf, intltool
3, glib, gobject-introspection, gtk2, gtk-doc
4, clutter, clutter-gtk
5}:
6
7stdenv.mkDerivation rec {
8 pname = "libmx";
9 version = "1.4.7";
10
11 src = fetchFromGitHub {
12 owner = "clutter-project";
13 repo = "mx";
14 rev = version;
15 sha256 = "sha256-+heIPSkg3d22xsU48UOTJ9FPLXC7zLivcnabQOM9aEk=";
16 };
17
18 # remove the following superfluous checks
19 preConfigure = ''
20 substituteInPlace "autogen.sh" \
21 --replace '`which intltoolize`' '"x"' \
22 --replace '`which gtkdocize`' '"x"' \
23 --replace '`which autoreconf`' '"x"'
24 '';
25
26 configureFlags = [ "--enable-introspection"
27 "--without-startup-notification"
28 "--without-dbus"
29 "--without-glade"
30 "--without-clutter-imcontext"
31 "--without-clutter-gesture"
32 ];
33
34 configureScript = "sh autogen.sh";
35
36 nativeBuildInputs = [ pkg-config automake autoconf ];
37 buildInputs = [
38 libtool
39 intltool
40 gobject-introspection glib
41 gtk2 gtk-doc clutter clutter-gtk
42 ];
43
44 # patch to resolve GL errors
45 # source : https://github.com/clutter-project/mx/pull/62
46 preBuild = ''
47 sed -i 's/GLushort/gushort/g' mx/mx-deform-texture.c
48 sed -i 's/GLfloat/gfloat/g' mx/mx-texture-frame.c
49 '';
50
51 meta = with lib; {
52 homepage = "http://www.clutter-project.org/";
53 description = "A Clutter-based toolkit";
54 longDescription =
55 ''Mx is a widget toolkit using Clutter that provides a set of standard
56 interface elements, including buttons, progress bars, scroll bars and
57 others. It also implements some standard managers. One other interesting
58 feature is the possibility setting style properties from a CSS format
59 file.'';
60 license = licenses.lgpl21;
61 maintainers = with maintainers; [ cstrahan ];
62 platforms = with platforms; linux;
63 };
64}