diff options
author | AndersonTorres <torres.anderson.85@protonmail.com> | 2020-10-27 22:38:58 -0300 |
---|---|---|
committer | AndersonTorres <torres.anderson.85@protonmail.com> | 2020-10-28 10:22:39 -0300 |
commit | 2bb3a9da24ca60d9f5bed69f679a1ec50dbdf997 (patch) | |
tree | 23f671aff1d1de5a1530a39004fc373e045a4504 /pkgs/applications/terminal-emulators/wayst | |
parent | c3feda093d342da8f12ac710f64ac341812bb455 (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/wayst')
-rw-r--r-- | pkgs/applications/terminal-emulators/wayst/default.nix | 91 | ||||
-rw-r--r-- | pkgs/applications/terminal-emulators/wayst/utf8proc.patch | 24 |
2 files changed, 115 insertions, 0 deletions
diff --git a/pkgs/applications/terminal-emulators/wayst/default.nix b/pkgs/applications/terminal-emulators/wayst/default.nix new file mode 100644 index 000000000000..99ee326aebf2 --- /dev/null +++ b/pkgs/applications/terminal-emulators/wayst/default.nix @@ -0,0 +1,91 @@ +{ stdenv +, lib +, fetchFromGitHub +, pkgconfig +, freetype +, fontconfig +, libGL +, libX11 +, libXrandr +, libxcb +, libxkbcommon +, utf8proc +, wayland + +, libnotify +, xdg_utils +, makeDesktopItem +}: + +let + desktopItem = makeDesktopItem { + desktopName = "Wayst"; + name = "wayst"; + exec = "wayst"; + icon = "wayst"; + terminal = "false"; + categories = "System;TerminalEmulator"; + comment = "A simple terminal emulator"; + extraEntries = '' + GenericName=Terminal + Keywords=wayst;terminal; + ''; + }; +in +stdenv.mkDerivation rec { + pname = "wayst"; + version = "unstable-2020-10-12"; + + src = fetchFromGitHub { + owner = "91861"; + repo = pname; + rev = "b8c7ca00a785a748026ed1ba08bf3d19916ced18"; + hash = "sha256-wHAU1yxukxApzhLLLctZ/AYqF7t21HQc5omPBZyxra0="; + }; + + makeFlags = [ "INSTALL_DIR=\${out}/bin" ]; + + nativeBuildInputs = [ pkgconfig ]; + + 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 + ''; + + meta = with lib; { + description = "A simple terminal emulator"; + homepage = "https://github.com/91861/wayst"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ berbiche ]; + }; +} diff --git a/pkgs/applications/terminal-emulators/wayst/utf8proc.patch b/pkgs/applications/terminal-emulators/wayst/utf8proc.patch new file mode 100644 index 000000000000..0923c5dbe18d --- /dev/null +++ b/pkgs/applications/terminal-emulators/wayst/utf8proc.patch @@ -0,0 +1,24 @@ +commit caa5a6bed31937f2d1b322da204e11eae57a720f +Author: Nicolas Berbiche <nicolas@normie.dev> +Date: Tue Oct 20 18:14:44 2020 -0400 + + PATCH: use nixpkgs utf8proc + + This patch forces the Makefile to use utf8proc from `buildInputs`. + The Makefile relies on ldconfig to find the utf8proc libraries, + which is not possible with nixpkgs. + +diff --git a/Makefile b/Makefile +index caccdf7..90b11ea 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,7 +29,7 @@ else + LDFLAGS = -O2 -flto + endif + +-ifeq ($(shell ldconfig -p | grep libutf8proc.so > /dev/null || echo fail),fail) ++ifeq (false,fail) + $(info libutf8proc not found. Support for language-specific combining characters and unicode normalization will be disabled.) + CFLAGS += -DNOUTF8PROC + else + |