summary refs log tree commit diff
path: root/pkgs/applications/misc/roxterm/default.nix
blob: ec055f3055fc4b9b6f9b2c3cd8d66dae7fbb512a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
{ stdenv, fetchurl, docbook_xsl, dbus_libs, dbus_glib, expat, gettext
, gsettings_desktop_schemas, gdk_pixbuf, gtk2, gtk3, hicolor_icon_theme
, imagemagick, itstool, librsvg, libtool, libxslt, lockfile, makeWrapper
, pkgconfig, pythonFull, pythonPackages, vte }:

# TODO: Still getting following warning.
# WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
# Seems related to this:
# https://forums.gentoo.org/viewtopic-t-947210-start-0.html

let version = "2.9.4";
in stdenv.mkDerivation rec {
  name = "roxterm-${version}";

  src = fetchurl {
    url = "mirror://sourceforge/roxterm/${name}.tar.bz2";
    sha256 = "0djfiwfmnqqp6930kswzr2rss0mh40vglcdybwpxrijcw4n8j21x";
  };

  buildInputs =
    [ docbook_xsl expat imagemagick itstool librsvg libtool libxslt
      makeWrapper pkgconfig pythonFull pythonPackages.lockfile ];

  propagatedBuildInputs =
    [ dbus_libs dbus_glib gdk_pixbuf gettext gsettings_desktop_schemas gtk2 gtk3 hicolor_icon_theme vte ];

  NIX_CFLAGS_COMPILE = [ "-I${dbus_glib.dev}/include/dbus-1.0"
                         "-I${dbus_libs.dev}/include/dbus-1.0"
                         "-I${dbus_libs.lib}/lib/dbus-1.0/include" ];

  # Fix up python path so the lockfile library is on it.
  PYTHONPATH = stdenv.lib.makeSearchPathOutputs pythonFull.sitePackages ["lib"] [
    pythonPackages.curses pythonPackages.lockfile
  ];

  buildPhase = ''
    # Fix up the LD_LIBRARY_PATH so that expat is on it
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${expat.out}/lib"

    python mscript.py configure --prefix="$out"
    python mscript.py build
  '';

  installPhase = ''
    python mscript.py install

    wrapProgram "$out/bin/roxterm" \
        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
        --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
  '';

  meta = with stdenv.lib; {
    homepage = http://roxterm.sourceforge.net/;
    license = licenses.gpl3;
    description = "Tabbed, VTE-based terminal emulator";
    longDescription = ''
      Tabbed, VTE-based terminal emulator.  Similar to gnome-terminal without the dependencies on Gnome.
    '';
    maintainers = with maintainers; [ cdepillabout ];
    platforms = platforms.linux;
  };
}