Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / terminal-emulators / wayst / default.nix
blob63736ac35e350892b333887b7cd849dbd2c572ff
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , pkg-config
5 , nixosTests
6 , freetype
7 , fontconfig
8 , libGL
9 , libX11
10 , libXrandr
11 , libxcb
12 , libxkbcommon
13 , utf8proc
14 , wayland
16 , libnotify
17 , xdg-utils
18 , makeDesktopItem
21 let
22   desktopItem = makeDesktopItem {
23     desktopName = "Wayst";
24     name = "wayst";
25     genericName = "Terminal";
26     exec = "wayst";
27     icon = "wayst";
28     categories = [ "System" "TerminalEmulator" ];
29     keywords = [ "wayst" "terminal" ];
30     comment = "A simple terminal emulator";
31   };
33 stdenv.mkDerivation rec {
34   pname = "wayst";
35   version = "unstable-2023-07-16";
37   src = fetchFromGitHub {
38     owner = "91861";
39     repo = pname;
40     rev = "f8b218eec1af706fd5ae287f5073e6422eb8b6d8";
41     hash = "sha256-tA2R6Snk5nqWkPXSbs7wmovWkT97xafdK0e/pKBUIUg=";
42   };
44   makeFlags = [ "INSTALL_DIR=\${out}/bin" ];
46   nativeBuildInputs = [ pkg-config ];
48   buildInputs = [
49     fontconfig
50     libX11
51     freetype
52     libGL
53     libxcb
54     libxkbcommon
55     libXrandr
56     utf8proc
57     wayland
58   ];
59   enableParallelBuilding = true;
61   postPatch = ''
62     substituteInPlace src/settings.c \
63       --replace xdg-open ${xdg-utils}/bin/xdg-open
64     substituteInPlace src/main.c \
65       --replace notify-send ${libnotify}/bin/notify-send
66   '';
68   preInstall = ''
69     mkdir -p $out/bin
70   '';
72   postInstall = ''
73     mkdir -p $out/share/applications
74     ln -s ${desktopItem}/share/applications/* $out/share/applications
75     install -D icons/wayst.svg $out/share/icons/hicolor/scalable/apps/wayst.svg
76   '';
78   passthru.tests.test = nixosTests.terminal-emulators.wayst;
80   meta = with lib; {
81     description = "A simple terminal emulator";
82     mainProgram = "wayst";
83     homepage = "https://github.com/91861/wayst";
84     license = licenses.mit;
85     platforms = platforms.linux;
86     maintainers = with maintainers; [ berbiche ];
87   };