termite: remove broken package with no live upstream
Also remove from enableAllTerminfo list. Since vte: 0.82.3 → 0.84.0 custom patches applied to vte in termite are broken. The package has been without upstream for 5 years for now. https://github.com/thestinger/termite/commit/18de7682e983e6562a87c63a2814c5e39461b081 https://github.com/NixOS/nixpkgs/issues/122929
This commit is contained in:
@@ -50,7 +50,6 @@
|
||||
rxvt-unicode-unwrapped
|
||||
rxvt-unicode-unwrapped-emoji
|
||||
st
|
||||
termite
|
||||
tmux
|
||||
wezterm
|
||||
yaft
|
||||
|
||||
@@ -51,7 +51,7 @@ in
|
||||
with pkgs; [ swaylock foot dmenu ];
|
||||
'';
|
||||
example = lib.literalExpression ''
|
||||
with pkgs; [ termite rofi light ]
|
||||
with pkgs; [ alacritty rofi light ]
|
||||
'';
|
||||
description = ''
|
||||
Extra packages to be installed system wide. See
|
||||
|
||||
@@ -116,7 +116,7 @@ in
|
||||
with pkgs; [ brightnessctl foot grim pulseaudio swayidle swaylock wmenu ];
|
||||
'';
|
||||
example = lib.literalExpression ''
|
||||
with pkgs; [ i3status i3status-rust termite rofi light ]
|
||||
with pkgs; [ i3status i3status-rust alacritty rofi light ]
|
||||
'';
|
||||
description = ''
|
||||
Extra packages to be installed system wide. See
|
||||
|
||||
@@ -92,8 +92,6 @@ let
|
||||
terminology.cmd = "SHELL=$command terminology --no-wizard=true";
|
||||
terminology.colourTest = false; # broken by gloss effect
|
||||
|
||||
termite.pkg = p: p.termite;
|
||||
|
||||
termonad.pkg = p: p.termonad;
|
||||
|
||||
tilda.pkg = p: p.tilda;
|
||||
|
||||
+1
-1
@@ -327,7 +327,7 @@ A (typically large) program with a distinct user interface, primarily used inter
|
||||
|
||||
- **If it’s a _terminal emulator_:**
|
||||
|
||||
- `applications/terminal-emulators` (e.g. `alacritty` or `rxvt` or `termite`)
|
||||
- `applications/terminal-emulators` (e.g. `alacritty` or `rxvt`)
|
||||
|
||||
- **If it’s a _file manager_:**
|
||||
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
From 95c90f302c384f410dc92e64468ac7061b57fe2d Mon Sep 17 00:00:00 2001
|
||||
From: Michael Hoang <enzime@users.noreply.github.com>
|
||||
Date: Fri, 13 Jul 2018 19:03:09 +1000
|
||||
Subject: [PATCH] Add errno.h header which isn't always included automatically.
|
||||
|
||||
---
|
||||
termite.cc | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/termite.cc b/termite.cc
|
||||
index 160fe82..13e2572 100644
|
||||
--- a/termite.cc
|
||||
+++ b/termite.cc
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <cmath>
|
||||
+#include <errno.h>
|
||||
#include <functional>
|
||||
#include <limits>
|
||||
#include <map>
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,112 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
pkg-config,
|
||||
vte,
|
||||
gtk3,
|
||||
ncurses,
|
||||
pcre2,
|
||||
wrapGAppsHook3,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
# termite requires VTE with some internals exposed
|
||||
# https://github.com/thestinger/vte-ng
|
||||
#
|
||||
# three of the patches have been locally modified to cleanly apply on 0.62
|
||||
vte-ng = vte.overrideAttrs (attrs: {
|
||||
patches = attrs.patches or [ ] ++ [
|
||||
(fetchpatch {
|
||||
name = "0001-expose-functions-for-pausing-unpausing-output.patch";
|
||||
url = "https://github.com/thestinger/vte-ng/commit/342e26574f50dcd40bbeaad9e839c2a6144d0c1c.patch";
|
||||
sha256 = "1b0k9ys545q85vfki417p21kis9f36yd0hyp12phayynss6fn715";
|
||||
})
|
||||
# Derived from https://github.com/thestinger/vte-ng/commit/5ae3acb69474fe5bc43767a4a3625e9ed23607a1.patch
|
||||
./vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch
|
||||
# Derived from https://github.com/thestinger/vte-ng/commit/742d57ecf15e24f6a5f2133a81b6c70acc8ff03c.patch
|
||||
./vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch
|
||||
(fetchpatch {
|
||||
name = "0004-add-functions-to-get-set-block-selection-mode.patch";
|
||||
url = "https://github.com/thestinger/vte-ng/commit/08748fd9cb82bd191e5c476b1682ca71f7732572.patch";
|
||||
sha256 = "1cnhd8f7ywdgcyd6xmcd2nn39jjxzkxp4d0zsj2k7m5v74nhcs1g";
|
||||
})
|
||||
# Derived from "https://github.com/thestinger/vte-ng/commit/dd74ae7c06e8888af2fc090ac6f8920a9d8227fb.patch";
|
||||
./vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch
|
||||
];
|
||||
});
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "termite";
|
||||
version = "15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "thestinger";
|
||||
repo = "termite";
|
||||
rev = "v${version}";
|
||||
sha256 = "0hp1x6lj098m3jgna274wv5dv60lnzg22297di68g4hw9djjyd2k";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# https://github.com/thestinger/termite/pull/516
|
||||
patches = [
|
||||
./url_regexp_trailing.patch
|
||||
./add_errno_header.patch
|
||||
# Fix off-by-one in select_text() on libvte >= 0.55.0
|
||||
# Expected to be included in next release (16).
|
||||
(fetchpatch {
|
||||
url = "https://github.com/thestinger/termite/commit/7e9a93b421b9596f8980645a46ac2ad5468dac06.patch";
|
||||
sha256 = "0vph2m5919f7w1xnc8i6z0j44clsm1chxkfg7l71nahxyfw5yh4j";
|
||||
})
|
||||
]
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin ./remove_ldflags_macos.patch;
|
||||
|
||||
makeFlags = [
|
||||
"VERSION=v${version}"
|
||||
"PREFIX="
|
||||
"DESTDIR=$(out)"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
vte-ng
|
||||
gtk3
|
||||
ncurses
|
||||
pcre2
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook3
|
||||
pkg-config
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"terminfo"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
inherit vte-ng;
|
||||
tests = nixosTests.terminal-emulators.termite;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $terminfo/share
|
||||
mv $out/share/terminfo $terminfo/share/terminfo
|
||||
|
||||
mkdir -p $out/nix-support
|
||||
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Simple VTE-based terminal";
|
||||
license = lib.licenses.lgpl2Plus;
|
||||
homepage = "https://github.com/thestinger/termite/";
|
||||
maintainers = with lib.maintainers; [ koral ];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "termite";
|
||||
};
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
From 1b5a6934635c55472eb7949bd87ab3f45fa1b2f3 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Hoang <enzime@users.noreply.github.com>
|
||||
Date: Fri, 13 Jul 2018 19:01:51 +1000
|
||||
Subject: [PATCH] Remove --as-needed flag from ld to fix compilation on macOS.
|
||||
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index b115f42..ab301ba 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -29,7 +29,7 @@ ifeq (${CXX}, clang++)
|
||||
CXXFLAGS += -Wimplicit-fallthrough
|
||||
endif
|
||||
|
||||
-LDFLAGS := -s -Wl,--as-needed ${LDFLAGS}
|
||||
+LDFLAGS := -s -Wl ${LDFLAGS}
|
||||
LDLIBS := ${shell pkg-config --libs ${GTK} ${VTE}}
|
||||
|
||||
termite: termite.cc url_regex.hh util/clamp.hh util/maybe.hh util/memory.hh
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
Based on https://github.com/thestinger/termite/pull/516
|
||||
Modified to apply to v13
|
||||
|
||||
From 65a454ffa8e681f3f14729cba7c42e1570a85e8a Mon Sep 17 00:00:00 2001
|
||||
From: Paul Baecher <pbaecher@gmail.com>
|
||||
Date: Thu, 7 Sep 2017 22:58:51 +0200
|
||||
Subject: [PATCH] Do not match punctuation at the end of URLs
|
||||
|
||||
Punctuation at the end of URLs is most likely part of natural language
|
||||
or markup (for example in Markdown). Do not match it as part of the URL.
|
||||
---
|
||||
url_regex.hh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/url_regex.hh b/url_regex.hh
|
||||
index 2ec6be8..3039b53 100644
|
||||
--- a/url_regex.hh
|
||||
+++ b/url_regex.hh
|
||||
@@ -9,7 +9,7 @@
|
||||
#define PORT "(?:\\:[[:digit:]]{1,5})?"
|
||||
#define SCHEME "(?:[[:alpha:]][+-.[:alnum:]]*:)"
|
||||
#define USERPASS USERCHARS_CLASS "+(?:\\:" PASSCHARS_CLASS "+)?"
|
||||
-#define URLPATH "(?:/[[:alnum:]\\Q-_.!~*'();/?:@&=+$,#%\\E]*)?"
|
||||
+#define URLPATH "(?:/[[:alnum:]\\Q-_.!~*'();/?:@&=+$,#%\\E]*(?<![\\Q.,:;()!?\\E]))?"
|
||||
|
||||
const char * const url_regex = SCHEME "//(?:" USERPASS "\\@)?" HOST PORT URLPATH;
|
||||
|
||||
-61
@@ -1,61 +0,0 @@
|
||||
From 5ae3acb69474fe5bc43767a4a3625e9ed23607a1 Mon Sep 17 00:00:00 2001
|
||||
From: Jelle van der Waa <jelle@vdwaa.nl>
|
||||
Date: Sat, 13 Feb 2016 22:18:01 +0100
|
||||
Subject: [PATCH] expose function for setting cursor position
|
||||
|
||||
---
|
||||
src/vte/vteterminal.h | 5 +++++
|
||||
src/vtegtk.cc | 24 ++++++++++++++++++++++++
|
||||
2 files changed, 29 insertions(+)
|
||||
|
||||
diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
|
||||
index a607e5da..9701320d 100644
|
||||
--- a/src/vte/vteterminal.h
|
||||
+++ b/src/vte/vteterminal.h
|
||||
@@ -378,6 +378,11 @@ _VTE_PUBLIC
|
||||
void vte_terminal_get_cursor_position(VteTerminal *terminal,
|
||||
glong *column,
|
||||
glong *row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
|
||||
+_VTE_PUBLIC
|
||||
+void vte_terminal_set_cursor_position(VteTerminal *terminal,
|
||||
+ glong column,
|
||||
+ glong row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
|
||||
+
|
||||
|
||||
_VTE_PUBLIC
|
||||
char *vte_terminal_hyperlink_check_event(VteTerminal *terminal,
|
||||
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
|
||||
index b11b780b..bdf36eac 100644
|
||||
--- a/src/vtegtk.cc
|
||||
+++ b/src/vtegtk.cc
|
||||
@@ -2415,6 +2415,30 @@ vte_terminal_get_cursor_position(VteTerminal *terminal,
|
||||
}
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * vte_terminal_set_cursor_position
|
||||
+ * @terminal: a #VteTerminal
|
||||
+ * @column: the new cursor column
|
||||
+ * @row: the new cursor row
|
||||
+ *
|
||||
+ * Set the location of the cursor.
|
||||
+ */
|
||||
+void
|
||||
+vte_terminal_set_cursor_position(VteTerminal *terminal,
|
||||
+ long column, long row) noexcept
|
||||
+{
|
||||
+ g_return_if_fail(VTE_IS_TERMINAL(terminal));
|
||||
+
|
||||
+ auto impl = IMPL(terminal);
|
||||
+ impl->invalidate_cursor_once(FALSE);
|
||||
+ impl->m_screen->cursor.col = column;
|
||||
+ impl->m_screen->cursor.row = row;
|
||||
+ impl->invalidate_cursor_once(FALSE);
|
||||
+ impl->check_cursor_blink();
|
||||
+ impl->queue_cursor_moved();
|
||||
+
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* vte_terminal_pty_new_sync:
|
||||
* @terminal: a #VteTerminal
|
||||
-56
@@ -1,56 +0,0 @@
|
||||
From 742d57ecf15e24f6a5f2133a81b6c70acc8ff03c Mon Sep 17 00:00:00 2001
|
||||
From: Jelle van der Waa <jelle@vdwaa.nl>
|
||||
Date: Sat, 13 Feb 2016 22:25:19 +0100
|
||||
Subject: [PATCH] add function for setting the text selections
|
||||
|
||||
---
|
||||
src/vte/vteterminal.h | 4 ++++
|
||||
src/vtegtk.cc | 20 ++++++++++++++++++++
|
||||
2 files changed, 24 insertions(+)
|
||||
|
||||
diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
|
||||
index 9701320d..a11b4cb7 100644
|
||||
--- a/src/vte/vteterminal.h
|
||||
+++ b/src/vte/vteterminal.h
|
||||
@@ -196,6 +196,10 @@ _VTE_PUBLIC
|
||||
void vte_terminal_select_all(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
|
||||
_VTE_PUBLIC
|
||||
void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
|
||||
+_VTE_PUBLIC
|
||||
+void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row,
|
||||
+ long end_col, long end_row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
|
||||
+
|
||||
|
||||
/* By-word selection */
|
||||
_VTE_PUBLIC
|
||||
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
|
||||
index bdf36eac..d9e9f2ed 100644
|
||||
--- a/src/vtegtk.cc
|
||||
+++ b/src/vtegtk.cc
|
||||
@@ -2390,6 +2390,26 @@ vte_terminal_unselect_all(VteTerminal *terminal)
|
||||
IMPL(terminal)->deselect_all();
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * vte_terminal_select_text:
|
||||
+ * @terminal: a #VteTerminal
|
||||
+ * @start_col: the starting column for the selection
|
||||
+ * @start_row: the starting row for the selection
|
||||
+ * @end_col: the end column for the selection
|
||||
+ * @end_row: the end row for the selection
|
||||
+ *
|
||||
+ * Sets the current selection region.
|
||||
+ */
|
||||
+void
|
||||
+vte_terminal_select_text(VteTerminal *terminal,
|
||||
+ long start_col, long start_row,
|
||||
+ long end_col, long end_row) noexcept
|
||||
+{
|
||||
+ g_return_if_fail (VTE_IS_TERMINAL (terminal));
|
||||
+
|
||||
+ IMPL(terminal)->select_text(start_col, start_row, end_col, end_row);
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* vte_terminal_get_cursor_position:
|
||||
* @terminal: a #VteTerminal
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
--- a/src/vte/vteterminal.h
|
||||
+++ b/src/vte/vteterminal.h
|
||||
@@ -204,7 +204,9 @@
|
||||
_VTE_PUBLIC
|
||||
void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row,
|
||||
long end_col, long end_row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
|
||||
-
|
||||
+_VTE_PUBLIC
|
||||
+char *
|
||||
+vte_terminal_get_selection(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
|
||||
|
||||
/* By-word selection */
|
||||
_VTE_PUBLIC
|
||||
--- a/src/vtegtk.cc
|
||||
+++ b/src/vtegtk.cc
|
||||
@@ -2435,6 +2435,13 @@
|
||||
IMPL(terminal)->select_text(start_col, start_row, end_col, end_row);
|
||||
}
|
||||
|
||||
+char *
|
||||
+vte_terminal_get_selection(VteTerminal *terminal) noexcept
|
||||
+{
|
||||
+ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL);
|
||||
+ return g_strdup (IMPL(terminal)->m_selection[vte::to_integral(vte::platform::ClipboardType::PRIMARY)]->str);
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* vte_terminal_get_cursor_position:
|
||||
* @terminal: a #VteTerminal
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
makeWrapper,
|
||||
symlinkJoin,
|
||||
configFile ? null,
|
||||
termite,
|
||||
}:
|
||||
|
||||
if configFile == null then
|
||||
termite
|
||||
else
|
||||
symlinkJoin {
|
||||
name = "termite-with-config-${termite.version}";
|
||||
|
||||
paths = [ termite ];
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/termite \
|
||||
--add-flags "--config ${configFile}"
|
||||
'';
|
||||
|
||||
passthru.terminfo = termite.terminfo;
|
||||
}
|
||||
@@ -151,7 +151,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
sakura
|
||||
stupidterm
|
||||
terminator
|
||||
termite
|
||||
xfce4-terminal
|
||||
;
|
||||
inherit blackbox-terminal;
|
||||
|
||||
@@ -2080,6 +2080,7 @@ mapAliases {
|
||||
tepl = throw "'tepl' has been renamed to/replaced by 'libgedit-tepl'"; # Converted to throw 2025-10-27
|
||||
termbook = throw "'termbook' has been removed because it is not maintained upstream and has insecure dependencies."; # Added 2025-12-01
|
||||
terminus-nerdfont = throw "'terminus-nerdfont' has been renamed to/replaced by 'nerd-fonts.terminess-ttf'"; # Converted to throw 2025-10-27
|
||||
termite = throw "'termite' has been removed as it was broken and unmaintained upstream"; # Added 2026-05-22
|
||||
testVersion = throw "'testVersion' has been renamed to/replaced by 'testers.testVersion'"; # Converted to throw 2025-10-27
|
||||
tet = throw "'tet' has been removed for lack of maintenance"; # Added 2025-10-12
|
||||
tewi-font = throw "'tewi-font' has been removed because it was removed from upstream"; # Added 2025-12-18
|
||||
|
||||
@@ -1352,11 +1352,6 @@ with pkgs;
|
||||
emojiSupport = true;
|
||||
};
|
||||
|
||||
termite = callPackage ../applications/terminal-emulators/termite/wrapper.nix {
|
||||
termite = termite-unwrapped;
|
||||
};
|
||||
termite-unwrapped = callPackage ../applications/terminal-emulators/termite { };
|
||||
|
||||
twine = with python3Packages; toPythonApplication twine;
|
||||
|
||||
inherit (callPackages ../development/tools/ammonite { })
|
||||
|
||||
Reference in New Issue
Block a user