···11-Index: vte-0.26.0/src/vte.c
22-===================================================================
33---- vte-0.26.0.orig/src/vte.c 2010-11-30 23:04:53.000000000 -0800
44-+++ vte-0.26.0/src/vte.c 2010-12-07 20:05:07.865548000 -0800
55-@@ -3862,6 +3862,7 @@ vte_terminal_process_incoming(VteTermina
66- long wcount, start, delta;
77- gboolean leftovers, modified, bottom, again;
88- gboolean invalidated_text;
99-+ gboolean in_scroll_region;
1010- GArray *unichars;
1111- struct _vte_incoming_chunk *chunk, *next_chunk, *achunk = NULL;
1212-1313-@@ -3881,6 +3882,10 @@ vte_terminal_process_incoming(VteTermina
1414- cursor = screen->cursor_current;
1515- cursor_visible = terminal->pvt->cursor_visible;
1616-1717-+ in_scroll_region = screen->scrolling_restricted
1818-+ && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
1919-+ && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
2020-+
2121- /* We should only be called when there's data to process. */
2222- g_assert(terminal->pvt->incoming ||
2323- (terminal->pvt->pending->len > 0));
2424-@@ -3979,6 +3984,8 @@ skip_chunk:
2525- * points to the first character which isn't part of this
2626- * sequence. */
2727- if ((match != NULL) && (match[0] != '\0')) {
2828-+ gboolean new_in_scroll_region;
2929-+
3030- /* Call the right sequence handler for the requested
3131- * behavior. */
3232- _vte_terminal_handle_sequence(terminal,
3333-@@ -3989,12 +3996,20 @@ skip_chunk:
3434- start = (next - wbuf);
3535- modified = TRUE;
3636-3737-- /* if we have moved during the sequence handler, restart the bbox */
3838-+ new_in_scroll_region = screen->scrolling_restricted
3939-+ && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
4040-+ && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
4141-+
4242-+ delta = screen->scroll_delta; /* delta may have changed from sequence. */
4343-+
4444-+ /* if we have moved greatly during the sequence handler, or moved into a scroll_region
4545-+ * from outside it, restart the bbox */
4646- if (invalidated_text &&
4747-- (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
4848-- screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK ||
4949-- screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
5050-- screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK)) {
5151-+ ((new_in_scroll_region && !in_scroll_region) ||
5252-+ (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
5353-+ screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK ||
5454-+ screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
5555-+ screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK))) {
5656- /* Clip off any part of the box which isn't already on-screen. */
5757- bbox_topleft.x = MAX(bbox_topleft.x, 0);
5858- bbox_topleft.y = MAX(bbox_topleft.y, delta);
5959-@@ -4014,6 +4029,8 @@ skip_chunk:
6060- bbox_bottomright.x = bbox_bottomright.y = -G_MAXINT;
6161- bbox_topleft.x = bbox_topleft.y = G_MAXINT;
6262- }
6363-+
6464-+ in_scroll_region = new_in_scroll_region;
6565- } else
6666- /* Second, we have a NULL match, and next points to the very
6767- * next character in the buffer. Insert the character which
-61
pkgs/desktops/gnome-2/desktop/vte/default.nix
···11-{ lib, stdenv, fetchurl, fetchpatch, intltool, pkg-config, glib, gtk2, ncurses
22-, pythonSupport ? false, python27Packages}:
33-44-let
55- inherit (python27Packages) python pygtk;
66-in stdenv.mkDerivation rec {
77- name = "vte-0.28.2";
88-99- src = fetchurl {
1010- url = "mirror://gnome/sources/vte/0.28/${name}.tar.bz2";
1111- sha256 = "00zrip28issgmz2cqk5k824cbqpbixi5x7k88zxksdqpnq1f414d";
1212- };
1313-1414- patches = [
1515- ./alt.patch
1616- ./change-scroll-region.patch
1717- # CVE-2012-2738
1818- # fixed in upstream version 0.32.2
1919- (fetchpatch{
2020- name = "CVE-2012-2738-1.patch";
2121- url = "https://gitlab.gnome.org/GNOME/vte/commit/feeee4b5832b17641e505b7083e0d299fdae318e.patch";
2222- sha256 = "1455i6zxcx4rj2cz639s8qdc04z2nshprwl7k00mcsw49gv3hk5n";
2323- })
2424- (fetchpatch{
2525- name = "CVE-2012-2738-2.patch";
2626- url = "https://gitlab.gnome.org/GNOME/vte/commit/98ce2f265f986fb88c38d508286bb5e3716b9e74.patch";
2727- sha256 = "0n24vw49h89w085ggq23iwlnnb6ajllfh2dg4vsar21d82jxc0sn";
2828- })
2929- ];
3030-3131- nativeBuildInputs = [ pkg-config ];
3232- buildInputs = [ intltool glib gtk2 ncurses ] ++
3333- lib.optionals pythonSupport [python pygtk];
3434-3535- configureFlags = [
3636- (lib.enableFeature pythonSupport "python")
3737- ];
3838-3939- postInstall = lib.optionalString pythonSupport ''
4040- cd $(toPythonPath $out)/gtk-2.0
4141- for n in *; do
4242- ln -s "gtk-2.0/$n" "../$n"
4343- done
4444- '';
4545-4646- meta = {
4747- homepage = "https://www.gnome.org/";
4848- description = "A library implementing a terminal emulator widget for GTK";
4949- longDescription = ''
5050- VTE is a library (libvte) implementing a terminal emulator widget for
5151- GTK, and a minimal sample application (vte) using that. Vte is
5252- mainly used in gnome-terminal, but can also be used to embed a
5353- console/terminal in games, editors, IDEs, etc. VTE supports Unicode and
5454- character set conversion, as well as emulating any terminal known to
5555- the system's terminfo database.
5656- '';
5757- license = lib.licenses.lgpl2;
5858- maintainers = with lib.maintainers; [ astsmtl ];
5959- platforms = with lib.platforms; linux;
6060- };
6161-}
+3
pkgs/top-level/aliases.nix
···259259 euca2tools = throw "euca2ools has been removed because it is unmaintained upstream and still uses python2."; # added 2022-01-01
260260 evolution_data_server = evolution-data-server; # added 2018-02-25
261261 etcdctl = etcd; # added 2018-04-25
262262+ evilvte = throw "evilvte has been removed from nixpkgs for being unmaintained with security issues and dependant on an old version of vte which was removed."; # added 2022-01-14
262263 exfat-utils = exfat; # 2015-09-11
263264 facette = throw "facette has been removed."; # added 2020-01-06
264265 fast-neural-doodle = throw "fast-neural-doodle has been removed, as the upstream project has been abandoned"; # added 2020-03-28
···506507 libqmatrixclient = throw "libqmatrixclient was renamed to libquotient"; # added 2020-04-09
507508 libwnck3 = libwnck;
508509 lilypond-unstable = lilypond; # added 2021-03-11
510510+ lilyterm = throw "lilyterm has been removed from nixpkgs, because it was relying on a vte version that depended on python2."; # added 2022-01-14
511511+ lilyterm-git = throw "lilyterm-git has been removed from nixpkgs, because it was relying on a vte version that depended on python2."; # added 2022-01-14
509512 links = links2; # added 2016-01-31
510513 linuxband = throw "linuxband has been removed from nixpkgs, as it's abandoned upstream."; # added 2021-12-09
511514 linux_rpi0 = linuxKernel.kernels.linux_rpi1;