1{ stdenv, lib, fetchgit, makeWrapper
2, pkgconfig, cmake, libxml2, vala, intltool, libmx, gnome3, gtk3, gtk_doc
3, keybinder3, clutter_gtk, libnotify
4, libxkbcommon, xlibs, udev
5, bashInteractive
6}:
7
8stdenv.mkDerivation {
9 name = "finalterm-git-2014-11-15";
10
11 src = fetchgit {
12 url = "https://github.com/p-e-w/finalterm.git";
13 rev = "39b078b2a96a5c3c9e74f92b1929f383d220ca8b";
14 sha256 = "c3ec9b36692b66a3aaa3125b2947c83beda4705b6d6f4a10b9bde9d8db8367c5";
15 };
16
17 buildInputs = [
18 pkgconfig cmake vala intltool gtk3 gnome3.gnome_common gnome3.libgee
19 gtk_doc clutter_gtk libmx keybinder3 libxml2 libnotify makeWrapper
20 xlibs.libpthreadstubs xlibs.libXdmcp xlibs.libxshmfence
21 libxkbcommon
22 ] ++ lib.optionals stdenv.isLinux [
23 udev
24 ];
25
26 preConfigure = ''
27 substituteInPlace data/org.gnome.finalterm.gschema.xml \
28 --replace "/bin/bash" "${bashInteractive}/bin/bash"
29
30 cmakeFlagsArray=(
31 -DMINIMAL_FLAGS=ON
32 )
33 '';
34
35 postInstall = ''
36 mkdir -p $out/share/gsettings-schemas/$name
37 mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name/
38 '';
39
40 postFixup = ''
41 wrapProgram "$out/bin/finalterm" \
42 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
43 --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" \
44 --prefix XDG_DATA_DIRS : "${gnome3.defaultIconTheme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
45 '';
46
47 meta = with lib; {
48 homepage = "http://finalterm.org";
49 description = "A new breed of terminal emulator";
50 longDescription = ''
51 Final Term is a new breed of terminal emulator.
52
53 It goes beyond mere emulation and understands what is happening inside the shell it is hosting. This allows it to offer features no other terminal can, including:
54
55 - Semantic text menus
56 - Smart command completion
57 - GUI terminal controls
58 '';
59 license = licenses.gpl3Plus;
60 maintainers = with maintainers; [ cstrahan ];
61 platforms = with platforms; linux;
62 };
63}