summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/terminal-emulators/st
diff options
context:
space:
mode:
authorAndersonTorres <torres.anderson.85@protonmail.com>2020-10-27 22:38:58 -0300
committerAndersonTorres <torres.anderson.85@protonmail.com>2020-10-28 10:22:39 -0300
commit2bb3a9da24ca60d9f5bed69f679a1ec50dbdf997 (patch)
tree23f671aff1d1de5a1530a39004fc373e045a4504 /pkgs/applications/terminal-emulators/st
parentc3feda093d342da8f12ac710f64ac341812bb455 (diff)
A directory-category for terminal emulators
This is a mostly cosmetical commit, in the sense it doesn't change the contents of any package, but reorganizes the overall Nixpkgs expressions. Terminal emulators are an ubiquitous tool for any Unix user; even the beginners are routinely familiarized to it. And, manifestly, there are many implementations of terminal emulators out there, from those traditionally made in C and C++ to those written in Haskell and Go. Terminal emulators deserve more highlight. This commit does that by creating a category for them.
Diffstat (limited to 'pkgs/applications/terminal-emulators/st')
-rw-r--r--pkgs/applications/terminal-emulators/st/default.nix38
-rw-r--r--pkgs/applications/terminal-emulators/st/xst.nix32
2 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/applications/terminal-emulators/st/default.nix b/pkgs/applications/terminal-emulators/st/default.nix
new file mode 100644
index 000000000000..a91229f2921e
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/st/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses
+, libXft, conf ? null, patches ? [], extraLibs ? []}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+ pname = "st";
+ version = "0.8.4";
+
+ src = fetchurl {
+ url = "https://dl.suckless.org/st/${pname}-${version}.tar.gz";
+ sha256 = "19j66fhckihbg30ypngvqc9bcva47mp379ch5vinasjdxgn3qbfl";
+ };
+
+ inherit patches;
+
+ configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
+
+ postPatch = optionalString (conf!=null) "cp ${configFile} config.def.h"
+ + optionalString stdenv.isDarwin ''
+ substituteInPlace config.mk --replace "-lrt" ""
+ '';
+
+ nativeBuildInputs = [ pkgconfig ncurses ];
+ buildInputs = [ libX11 libXft ] ++ extraLibs;
+
+ installPhase = ''
+ TERMINFO=$out/share/terminfo make install PREFIX=$out
+ '';
+
+ meta = {
+ homepage = "https://st.suckless.org/";
+ description = "Simple Terminal for X from Suckless.org Community";
+ license = licenses.mit;
+ maintainers = with maintainers; [ andsild ];
+ platforms = platforms.linux ++ platforms.darwin;
+ };
+}
diff --git a/pkgs/applications/terminal-emulators/st/xst.nix b/pkgs/applications/terminal-emulators/st/xst.nix
new file mode 100644
index 000000000000..3e29abee5d65
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/st/xst.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, pkgconfig, libX11, ncurses, libXext, libXft, fontconfig }:
+
+with stdenv.lib;
+
+let
+ version = "0.7.2";
+ name = "xst-${version}";
+in stdenv.mkDerivation {
+ inherit name;
+
+ src = fetchFromGitHub {
+ owner = "gnotclub";
+ repo = "xst";
+ rev = "v${version}";
+ sha256 = "1fplgy30gyrwkjsw3z947327r98i13zd1whwkplpj9fzckhb9vs9";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ libX11 ncurses libXext libXft fontconfig ];
+
+ installPhase = ''
+ TERMINFO=$out/share/terminfo make install PREFIX=$out
+ '';
+
+ meta = {
+ homepage = "https://github.com/neeasade/xst";
+ description = "Simple terminal fork that can load config from Xresources";
+ license = licenses.mit;
+ maintainers = [ maintainers.vyp ];
+ platforms = platforms.linux;
+ };
+}