nixos-config/pkgs/domterm/default.nix
2022-05-14 22:56:34 +08:00

59 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-05-13";
src = fetchFromGitHub {
owner = "PerBothner";
repo = "DomTerm";
rev = "b78f55a595b82a28042ac5297a1c1b0cce30cdc3";
sha256 = "sha256-U0w9i3Eb/tAUTRWuIjhO4xfOgR0Xa4I4hSpkHuVeG9c=";
};
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;
};
}