Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / terminal-emulators / st / default.nix
blob9856d1428f971dbf47918756eb08e0cfd1ff1c26
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
17 stdenv.mkDerivation (finalAttrs: {
18   pname = "st";
19   version = "0.9";
21   src = fetchurl {
22     url = "https://dl.suckless.org/st/st-${finalAttrs.version}.tar.gz";
23     hash = "sha256-82NZeZc06ueFvss3QGPwvoM88i+ItPFpzSUbmTJOCOc=";
24   };
26   outputs = [ "out" "terminfo" ];
28   inherit patches;
30   configFile = lib.optionalString (conf != null)
31     (writeText "config.def.h" conf);
33   postPatch = lib.optionalString (conf != null) "cp ${finalAttrs.configFile} config.def.h"
34     + lib.optionalString stdenv.isDarwin ''
35     substituteInPlace config.mk --replace "-lrt" ""
36   '';
38   strictDeps = true;
40   makeFlags = [
41     "PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config"
42   ];
44   nativeBuildInputs = [
45     pkg-config
46     ncurses
47     fontconfig
48     freetype
49   ];
50   buildInputs = [
51     libX11
52     libXft
53   ] ++ extraLibs;
55   preInstall = ''
56     export TERMINFO=$terminfo/share/terminfo
57     mkdir -p $TERMINFO $out/nix-support
58     echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
59   '';
61   installFlags = [ "PREFIX=$(out)" ];
63   passthru.tests.test = nixosTests.terminal-emulators.st;
65   meta = with lib; {
66     homepage = "https://st.suckless.org/";
67     description = "Simple Terminal for X from Suckless.org Community";
68     license = licenses.mit;
69     maintainers = with maintainers; [ andsild ];
70     platforms = platforms.unix;
71   };