Skip to content

Instantly share code, notes, and snippets.

@infinisil
Created June 26, 2017 22:29
Show Gist options
  • Save infinisil/20b88644993e1d36da8e7f0c94433ff9 to your computer and use it in GitHub Desktop.
Save infinisil/20b88644993e1d36da8e7f0c94433ff9 to your computer and use it in GitHub Desktop.
{ stdenv, lib, fetchFromGitHub
, enableSELinux ? false
, boost
, libsodium
, ncurses
, protobuf
, cmake
, glog
, google-gflags
, libselinux
, libsepol
, pcre
}:
let
mygflags = google-gflags.overrideAttrs (old: { cmakeFlags = old.cmakeFlags ++ [ "-DGFLAGS_NAMESPACE=google" ]; } );
mglog = glog.overrideAttrs (old: {
cmakeFlags = [
"-DWITH_GFLAGS=ON"
"-Dgflags_DIR=${google-gflags}"
];
nativeBuildInputs = old.nativeBuildInputs ++ [ mygflags ];
});
myglog = glog.overrideAttrs (old: { nativeBuildInputs = old.nativeBuildInputs ++ [ mygflags ];});
in
stdenv.mkDerivation rec {
name = "et";
version = "3.0.6";
src = fetchFromGitHub {
owner = "MisterTea";
repo = "EternalTCP";
rev = "et-v${version}";
sha256 = "001r6v2p4v9q99rfyamv9kxpii4ksvx4rk5fdrz3azpb9avdn7xc";
};
buildInputs = [
boost
libsodium
ncurses
protobuf
cmake
mglog
google-gflags
] ++ lib.optional enableSELinux [ libselinux libsepol pcre ];
postInstall = ''
substituteInPlace $out/bin/et\
--replace "'/bin/bash'" "'/usr/bin/env bash'"
'';
meta = with stdenv.lib; {
description = "Eternal Terminal is a remote shell that automatically reconnects without interrupting the session.";
homepage = https://mistertea.github.io/EternalTCP/;
license = licenses.asl20;
maintainers = with maintainers; [ infinisil ];
platforms = platforms.linux;
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment