9375da7c72
The level of indirection introduced by termite-with-config didn't mesh well with the terminfo database. This is solved by using symlinkJoin so the environment is properly propagated.
49 lines
1.4 KiB
Nix
49 lines
1.4 KiB
Nix
{ stdenv, fetchgit, pkgconfig, vte, gtk3, ncurses, makeWrapper, symlinkJoin
|
|
, configFile ? null
|
|
}:
|
|
|
|
let
|
|
version = "11";
|
|
termite = stdenv.mkDerivation {
|
|
name = "termite-${version}";
|
|
|
|
src = fetchgit {
|
|
url = "https://github.com/thestinger/termite";
|
|
rev = "refs/tags/v${version}";
|
|
sha256 = "1cw4yw7n9m2si8b7zcfyz9pyihncabxm5g39v1mxslfajxgwzmd8";
|
|
};
|
|
|
|
postPatch = "sed '1i#include <math.h>' -i termite.cc";
|
|
|
|
makeFlags = [ "VERSION=v${version}" "PREFIX=" "DESTDIR=$(out)" ];
|
|
|
|
buildInputs = [ pkgconfig vte gtk3 ncurses ];
|
|
|
|
outputs = [ "out" "terminfo" ];
|
|
|
|
postInstall = ''
|
|
mkdir -p $terminfo/share
|
|
mv $out/share/terminfo $terminfo/share/terminfo
|
|
|
|
mkdir -p $out/nix-support
|
|
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "A simple VTE-based terminal";
|
|
license = licenses.lgpl2Plus;
|
|
homepage = https://github.com/thestinger/termite/;
|
|
maintainers = with maintainers; [ koral garbas ];
|
|
platforms = platforms.all;
|
|
};
|
|
};
|
|
in if configFile == null then termite else symlinkJoin {
|
|
name = "termite-with-config-${version}";
|
|
paths = [ termite ];
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
postBuild = ''
|
|
wrapProgram $out/bin/termite \
|
|
--add-flags "--config ${configFile}"
|
|
'';
|
|
passthru.terminfo = termite.terminfo;
|
|
}
|