gnome2.vte: drop
Depends on pygtk, which is python2 only and thus due for removal.
This commit is contained in:
parent
7da8eaa0e0
commit
6de75c797a
@ -62,8 +62,6 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||
autoreconfHook = pkgs.autoreconfHook269;
|
||||
};
|
||||
|
||||
vte = callPackage ./desktop/vte { };
|
||||
|
||||
#### BINDINGS
|
||||
|
||||
libglademm = callPackage ./bindings/libglademm { };
|
||||
|
@ -1,50 +0,0 @@
|
||||
From a9d6a34708f846952f423d078397352858f7b1a4 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Persch <chpe@gnome.org>
|
||||
Date: Sat, 12 May 2012 18:48:05 +0200
|
||||
Subject: [PATCH] keymap: Treat ALT as META
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=663779
|
||||
---
|
||||
src/vte.c | 23 ++++++++++++++---------
|
||||
1 files changed, 14 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/src/vte.c b/src/vte.c
|
||||
index dd27e9a..0657921 100644
|
||||
--- a/src/vte.c
|
||||
+++ b/src/vte.c
|
||||
@@ -5170,19 +5170,24 @@ static void
|
||||
vte_terminal_read_modifiers (VteTerminal *terminal,
|
||||
GdkEvent *event)
|
||||
{
|
||||
+ GdkKeymap *keymap;
|
||||
GdkModifierType modifiers;
|
||||
|
||||
/* Read the modifiers. */
|
||||
- if (gdk_event_get_state((GdkEvent*)event, &modifiers)) {
|
||||
- GdkKeymap *keymap;
|
||||
-#if GTK_CHECK_VERSION (2, 90, 8)
|
||||
- keymap = gdk_keymap_get_for_display(gdk_window_get_display(((GdkEventAny*)event)->window));
|
||||
-#else
|
||||
- keymap = gdk_keymap_get_for_display(gdk_drawable_get_display(((GdkEventAny*)event)->window));
|
||||
+ if (!gdk_event_get_state((GdkEvent*)event, &modifiers))
|
||||
+ return;
|
||||
+
|
||||
+ keymap = gdk_keymap_get_for_display(gdk_window_get_display(((GdkEventAny*)event)->window));
|
||||
+
|
||||
+ gdk_keymap_add_virtual_modifiers (keymap, &modifiers);
|
||||
+
|
||||
+#if 1
|
||||
+ /* HACK! Treat ALT as META; see bug #663779. */
|
||||
+ if (modifiers & GDK_MOD1_MASK)
|
||||
+ modifiers |= VTE_META_MASK;
|
||||
#endif
|
||||
- gdk_keymap_add_virtual_modifiers (keymap, &modifiers);
|
||||
- terminal->pvt->modifiers = modifiers;
|
||||
- }
|
||||
+
|
||||
+ terminal->pvt->modifiers = modifiers;
|
||||
}
|
||||
|
||||
/* Read and handle a keypress event. */
|
||||
--
|
||||
1.7.5.1.217.g4e3aa.dirty
|
@ -1,67 +0,0 @@
|
||||
Index: vte-0.26.0/src/vte.c
|
||||
===================================================================
|
||||
--- vte-0.26.0.orig/src/vte.c 2010-11-30 23:04:53.000000000 -0800
|
||||
+++ vte-0.26.0/src/vte.c 2010-12-07 20:05:07.865548000 -0800
|
||||
@@ -3862,6 +3862,7 @@ vte_terminal_process_incoming(VteTermina
|
||||
long wcount, start, delta;
|
||||
gboolean leftovers, modified, bottom, again;
|
||||
gboolean invalidated_text;
|
||||
+ gboolean in_scroll_region;
|
||||
GArray *unichars;
|
||||
struct _vte_incoming_chunk *chunk, *next_chunk, *achunk = NULL;
|
||||
|
||||
@@ -3881,6 +3882,10 @@ vte_terminal_process_incoming(VteTermina
|
||||
cursor = screen->cursor_current;
|
||||
cursor_visible = terminal->pvt->cursor_visible;
|
||||
|
||||
+ in_scroll_region = screen->scrolling_restricted
|
||||
+ && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
|
||||
+ && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
|
||||
+
|
||||
/* We should only be called when there's data to process. */
|
||||
g_assert(terminal->pvt->incoming ||
|
||||
(terminal->pvt->pending->len > 0));
|
||||
@@ -3979,6 +3984,8 @@ skip_chunk:
|
||||
* points to the first character which isn't part of this
|
||||
* sequence. */
|
||||
if ((match != NULL) && (match[0] != '\0')) {
|
||||
+ gboolean new_in_scroll_region;
|
||||
+
|
||||
/* Call the right sequence handler for the requested
|
||||
* behavior. */
|
||||
_vte_terminal_handle_sequence(terminal,
|
||||
@@ -3989,12 +3996,20 @@ skip_chunk:
|
||||
start = (next - wbuf);
|
||||
modified = TRUE;
|
||||
|
||||
- /* if we have moved during the sequence handler, restart the bbox */
|
||||
+ new_in_scroll_region = screen->scrolling_restricted
|
||||
+ && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
|
||||
+ && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
|
||||
+
|
||||
+ delta = screen->scroll_delta; /* delta may have changed from sequence. */
|
||||
+
|
||||
+ /* if we have moved greatly during the sequence handler, or moved into a scroll_region
|
||||
+ * from outside it, restart the bbox */
|
||||
if (invalidated_text &&
|
||||
- (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
|
||||
- screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK ||
|
||||
- screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
|
||||
- screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK)) {
|
||||
+ ((new_in_scroll_region && !in_scroll_region) ||
|
||||
+ (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
|
||||
+ screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK ||
|
||||
+ screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
|
||||
+ screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK))) {
|
||||
/* Clip off any part of the box which isn't already on-screen. */
|
||||
bbox_topleft.x = MAX(bbox_topleft.x, 0);
|
||||
bbox_topleft.y = MAX(bbox_topleft.y, delta);
|
||||
@@ -4014,6 +4029,8 @@ skip_chunk:
|
||||
bbox_bottomright.x = bbox_bottomright.y = -G_MAXINT;
|
||||
bbox_topleft.x = bbox_topleft.y = G_MAXINT;
|
||||
}
|
||||
+
|
||||
+ in_scroll_region = new_in_scroll_region;
|
||||
} else
|
||||
/* Second, we have a NULL match, and next points to the very
|
||||
* next character in the buffer. Insert the character which
|
@ -1,61 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch, intltool, pkg-config, glib, gtk2, ncurses
|
||||
, pythonSupport ? false, python27Packages}:
|
||||
|
||||
let
|
||||
inherit (python27Packages) python pygtk;
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "vte-0.28.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/vte/0.28/${name}.tar.bz2";
|
||||
sha256 = "00zrip28issgmz2cqk5k824cbqpbixi5x7k88zxksdqpnq1f414d";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./alt.patch
|
||||
./change-scroll-region.patch
|
||||
# CVE-2012-2738
|
||||
# fixed in upstream version 0.32.2
|
||||
(fetchpatch{
|
||||
name = "CVE-2012-2738-1.patch";
|
||||
url = "https://gitlab.gnome.org/GNOME/vte/commit/feeee4b5832b17641e505b7083e0d299fdae318e.patch";
|
||||
sha256 = "1455i6zxcx4rj2cz639s8qdc04z2nshprwl7k00mcsw49gv3hk5n";
|
||||
})
|
||||
(fetchpatch{
|
||||
name = "CVE-2012-2738-2.patch";
|
||||
url = "https://gitlab.gnome.org/GNOME/vte/commit/98ce2f265f986fb88c38d508286bb5e3716b9e74.patch";
|
||||
sha256 = "0n24vw49h89w085ggq23iwlnnb6ajllfh2dg4vsar21d82jxc0sn";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ intltool glib gtk2 ncurses ] ++
|
||||
lib.optionals pythonSupport [python pygtk];
|
||||
|
||||
configureFlags = [
|
||||
(lib.enableFeature pythonSupport "python")
|
||||
];
|
||||
|
||||
postInstall = lib.optionalString pythonSupport ''
|
||||
cd $(toPythonPath $out)/gtk-2.0
|
||||
for n in *; do
|
||||
ln -s "gtk-2.0/$n" "../$n"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.gnome.org/";
|
||||
description = "A library implementing a terminal emulator widget for GTK";
|
||||
longDescription = ''
|
||||
VTE is a library (libvte) implementing a terminal emulator widget for
|
||||
GTK, and a minimal sample application (vte) using that. Vte is
|
||||
mainly used in gnome-terminal, but can also be used to embed a
|
||||
console/terminal in games, editors, IDEs, etc. VTE supports Unicode and
|
||||
character set conversion, as well as emulating any terminal known to
|
||||
the system's terminfo database.
|
||||
'';
|
||||
license = lib.licenses.lgpl2;
|
||||
maintainers = with lib.maintainers; [ astsmtl ];
|
||||
platforms = with lib.platforms; linux;
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user