nixos-config/pkgs/domterm/default.nix
2022-07-22 12:20:21 +08:00

68 lines
1.6 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, desktop-file-utils
, pkg-config
, libwebsockets
, json_c
, openssl
, asciidoctor
, unixtools
, zlib
, # For including Java classes. Take note it doesn't compile them properly and it
# still builds successfully so including them is disabled by default.
openjdk
, # For Qt backend which is included by default.
qt5
, enableQt ? true
, enableJava ? false
}:
# TODO: Compile with the experimental wry backend.
# * Wait until gdk-pixbuf is >=3.0.
stdenv.mkDerivation rec {
pname = "domterm";
version = "unstable-2022-07-22";
src = fetchFromGitHub {
owner = "PerBothner";
repo = "DomTerm";
rev = "ae3e4a0037f3ead62a8db0f93e25ec529e3b4756";
sha256 = "sha256-0RrmKm3YqypWBpsE2rfKAGcTJdItvS+K5HTZeq77Pks=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ]
++ lib.optional enableQt qt5.wrapQtAppsHook;
buildInputs = [
asciidoctor
desktop-file-utils
json_c
libwebsockets
openssl
unixtools.xxd
zlib
] ++ lib.optionals enableQt (with qt5; [ qtbase qtwebengine qtwebchannel ])
++ lib.optional enableJava openjdk;
configureFlags = [
"--disable-java-pty"
"--with-libwebsockets"
# Until the dependencies are updated (e.g., `gdk-pixbuf >= 3.0`), this is
# going to be painful to build.
"--without-wry"
] ++ lib.optional enableJava "--with-java"
++ lib.optional enableQt "--with-qt";
# Force Java to take input as UTF-8 instead of ASCII.
JAVA_TOOL_OPTIONS = "-Dfile.encoding=UTF8";
meta = with lib; {
homepage = "https://domterm.org/";
description = "Terminal emulator based on web technologies.";
license = licenses.bsd3;
};
}