biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / applications / terminal-emulators / st / default.nix
blob676ef292def1658fa895a124aed3621151569c8e
1 { lib
2 , stdenv
3 , fetchurl
4 , pkg-config
5 , fontconfig
6 , freetype
7 , libX11
8 , libXft
9 , ncurses
10 , writeText
11 , conf ? null
12 , patches ? [ ]
13 , extraLibs ? [ ]
14 , nixosTests
15 # update script dependencies
16 , gitUpdater
19 stdenv.mkDerivation (finalAttrs: {
20   pname = "st";
21   version = "0.9.2";
23   src = fetchurl {
24     url = "https://dl.suckless.org/st/st-${finalAttrs.version}.tar.gz";
25     hash = "sha256-ayFdT0crIdYjLzDyIRF6d34kvP7miVXd77dCZGf5SUs=";
26   };
28   outputs = [ "out" "terminfo" ];
30   inherit patches;
32   configFile = lib.optionalString (conf != null)
33     (writeText "config.def.h" conf);
35   postPatch = lib.optionalString (conf != null) "cp ${finalAttrs.configFile} config.def.h"
36     + lib.optionalString stdenv.hostPlatform.isDarwin ''
37     substituteInPlace config.mk --replace "-lrt" ""
38   '';
40   strictDeps = true;
42   makeFlags = [
43     "PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config"
44   ];
46   nativeBuildInputs = [
47     pkg-config
48     ncurses
49     fontconfig
50     freetype
51   ];
52   buildInputs = [
53     libX11
54     libXft
55   ] ++ extraLibs;
57   preInstall = ''
58     export TERMINFO=$terminfo/share/terminfo
59     mkdir -p $TERMINFO $out/nix-support
60     echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
61   '';
63   installFlags = [ "PREFIX=$(out)" ];
65   passthru = {
66     tests.test = nixosTests.terminal-emulators.st;
67     updateScript = gitUpdater {
68       url = "git://git.suckless.org/st";
69     };
70   };
72   meta = with lib; {
73     homepage = "https://st.suckless.org/";
74     description = "Simple Terminal for X from Suckless.org Community";
75     license = licenses.mit;
76     maintainers = with maintainers; [ qusic ];
77     platforms = platforms.unix;
78     mainProgram = "st";
79   };