nixpkgs/pkgs/applications/terminal-emulators/wayst/default.nix

93 lines
1.9 KiB
Nix

{ stdenv
, lib
, fetchFromGitHub
, pkg-config
, nixosTests
, freetype
, fontconfig
, libGL
, libX11
, libXrandr
, libxcb
, libxkbcommon
, utf8proc
, wayland
, libnotify
, xdg-utils
, makeDesktopItem
}:
let
desktopItem = makeDesktopItem {
desktopName = "Wayst";
name = "wayst";
genericName = "Terminal";
exec = "wayst";
icon = "wayst";
categories = [ "System" "TerminalEmulator" ];
keywords = [ "wayst" "terminal" ];
comment = "A simple terminal emulator";
};
in
stdenv.mkDerivation rec {
pname = "wayst";
version = "unstable-2021-04-05";
src = fetchFromGitHub {
owner = "91861";
repo = pname;
rev = "e72ca78ef72c7b1e92473a98d435a3c85d7eab98";
hash = "sha256-UXAVSfVpk/8KSg4oMw2tVWImD6HqJ7gEioR2MqhUUoQ=";
};
makeFlags = [ "INSTALL_DIR=\${out}/bin" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [
fontconfig
libX11
freetype
libGL
libxcb
libxkbcommon
libXrandr
utf8proc
wayland
];
# This patch forces the Makefile to use utf8proc
# The makefile relies on ldconfig to find the utf8proc libraries
# which is not possible on nixpkgs
patches = [ ./utf8proc.patch ];
postPatch = ''
substituteInPlace src/settings.c \
--replace xdg-open ${xdg-utils}/bin/xdg-open
substituteInPlace src/main.c \
--replace notify-send ${libnotify}/bin/notify-send
'';
preInstall = ''
mkdir -p $out/bin
'';
postInstall = ''
mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/* $out/share/applications
install -D icons/wayst.svg $out/share/icons/hicolor/scalable/apps/wayst.svg
'';
passthru.tests.test = nixosTests.terminal-emulators.wayst;
meta = with lib; {
description = "A simple terminal emulator";
mainProgram = "wayst";
homepage = "https://github.com/91861/wayst";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ berbiche ];
};
}