diff --git a/pointer-types.patch b/pointer-types.patch deleted file mode 100644 index bc77bcd..0000000 --- a/pointer-types.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- src/reaper.c~ 2011-08-16 16:52:48.000000000 -0500 -+++ src/reaper.c 2024-01-31 11:42:45.581345843 -0600 -@@ -85,7 +85,7 @@ - return g_object_ref (singleton_reaper); - } else { - GObject *obj; -- obj = G_OBJECT_CLASS (vte_reaper_parent_class)->constructor (type, n_construct_properties, construct_properties); -+ obj = (GObject *)(G_OBJECT_CLASS (vte_reaper_parent_class)->constructor (type, n_construct_properties, construct_properties)); - singleton_reaper = VTE_REAPER (obj); - return obj; - } ---- src/reaper.c~ 2024-01-31 12:12:15.260939495 -0600 -+++ src/reaper.c 2024-01-31 13:03:55.397334625 -0600 -@@ -82,7 +82,7 @@ - GObjectConstructParam *construct_properties) - { - if (singleton_reaper) { -- return g_object_ref (singleton_reaper); -+ return (GObject *)(g_object_ref (singleton_reaper)); - } else { - GObject *obj; - obj = (GObject *)(G_OBJECT_CLASS (vte_reaper_parent_class)->constructor (type, n_construct_properties, construct_properties)); diff --git a/vte-0.28.2-683730.patch b/vte-0.28.2-683730.patch deleted file mode 100644 index 5a00e1b..0000000 --- a/vte-0.28.2-683730.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- o/src/vte.c 2018-05-03 20:53:16.000000000 +0200 -+++ n/src/vte.c 2018-05-03 20:57:48.764010197 +0200 -@@ -7513,17 +7513,10 @@ - event->button, x, y); - switch (event->button) { - case 1: -- /* If Shift is held down, or we're not in events mode, -- * copy the selected text. */ -- if ((terminal->pvt->modifiers & GDK_SHIFT_MASK) || -- !terminal->pvt->mouse_tracking_mode) -- handled = _vte_terminal_maybe_end_selection (terminal); -+ handled = _vte_terminal_maybe_end_selection (terminal); - break; - case 2: -- if ((terminal->pvt->modifiers & GDK_SHIFT_MASK) || -- !terminal->pvt->mouse_tracking_mode) { -- handled = TRUE; -- } -+ handled = TRUE; - break; - case 3: - default: diff --git a/vte-0.28.2-mouse-tracking.patch b/vte-0.28.2-mouse-tracking.patch deleted file mode 100644 index c8dc707..0000000 --- a/vte-0.28.2-mouse-tracking.patch +++ /dev/null @@ -1,268 +0,0 @@ ---- vte-0.28.2-clean/src/mev.c 2011-08-16 23:52:48.000000000 +0200 -+++ vte-0.28.2-clean/src/mev.c 2018-05-03 22:07:30.275915172 +0200 -@@ -42,7 +42,9 @@ - tracking_mouse = 1000, - tracking_hilite = 1001, - tracking_cell_motion = 1002, -- tracking_all_motion = 1003 -+ tracking_all_motion = 1003, -+ tracking_xterm_ext = 1006, -+ tracking_urxvt = 1015 - } tracking_mode = 0; - - static void -@@ -59,6 +61,8 @@ - decset(tracking_hilite, FALSE); - decset(tracking_cell_motion, FALSE); - decset(tracking_all_motion, FALSE); -+ decset(tracking_xterm_ext, FALSE); -+ decset(tracking_urxvt, FALSE); - fflush(stdout); - } - -@@ -93,6 +97,14 @@ - fprintf(stdout, "All motion tracking enabled.\r\n"); - decset(tracking_all_motion, TRUE); - break; -+ case tracking_xterm_ext: -+ fprintf(stdout, "Xterm 1006 mouse tracking extension enabled.\r\n"); -+ decset(tracking_xterm_ext, TRUE); -+ break; -+ case tracking_urxvt: -+ fprintf(stdout, "rxvt-unicode 1015 mouse tracking extension enabled.\r\n"); -+ decset(tracking_urxvt, TRUE); -+ break; - default: - fprintf(stdout, "Tracking disabled.\r\n"); - break; -@@ -102,6 +114,8 @@ - fprintf(stdout, "C - Hilite tracking [FIXME: NOT IMPLEMENTED].\r\n"); - fprintf(stdout, "D - Cell motion tracking.\r\n"); - fprintf(stdout, "E - All motion tracking.\r\n"); -+ fprintf(stdout, "F - Xterm 1006 extension.\r\n"); -+ fprintf(stdout, "G - rxvt-unicode extension.\r\n"); - fprintf(stdout, "%s", _VTE_CAP_ESC "8"); - fflush(stdout); - } -@@ -153,6 +167,18 @@ - 0 : tracking_all_motion; - i++; - break; -+ case 'F': -+ case 'f': -+ tracking_mode = (tracking_mode == tracking_xterm_ext) ? -+ 0 : tracking_xterm_ext; -+ i++; -+ break; -+ case 'G': -+ case 'g': -+ tracking_mode = (tracking_mode == tracking_urxvt) ? -+ 0 : tracking_urxvt; -+ i++; -+ break; - case 'Q': - case 'q': - ret = TRUE; ---- vte-0.28.2-clean/src/vte.c 2018-05-03 22:04:27.780199219 +0200 -+++ vte-0.28.2-clean/src/vte.c 2018-05-03 22:07:30.277915158 +0200 -@@ -5816,21 +5816,20 @@ - } - - static void --vte_terminal_get_mouse_tracking_info (VteTerminal *terminal, -- int button, -- long col, -- long row, -- unsigned char *pb, -- unsigned char *px, -- unsigned char *py) -+vte_terminal_feed_mouse_event(VteTerminal *terminal, -+ int button, -+ gboolean is_drag, -+ gboolean is_release, -+ long col, -+ long row) - { -- unsigned char cb = 0, cx = 0, cy = 0; -+ unsigned char cb = 0; -+ long cx, cy; -+ char buf[LINE_MAX]; -+ gint len = 0; - - /* Encode the button information in cb. */ - switch (button) { -- case 0: /* Release/no buttons. */ -- cb = 3; -- break; - case 1: /* Left. */ - cb = 0; - break; -@@ -5847,7 +5846,12 @@ - cb = 65; /* Scroll down. */ - break; - } -- cb += 32; /* 32 for normal */ -+ -+ /* With the exception of the 1006 mode, button release is also encoded here. */ -+ /* Note that if multiple extensions are enabled, the 1006 is used, so it's okay to check for only that. */ -+ if (is_release && !terminal->pvt->mouse_xterm_extension) { -+ cb = 3; -+ } - - /* Encode the modifiers. */ - if (terminal->pvt->modifiers & GDK_SHIFT_MASK) { -@@ -5860,38 +5864,46 @@ - cb |= 16; - } - -- /* Encode the cursor coordinates. */ -- cx = 32 + CLAMP(1 + col, -- 1, terminal->column_count); -- cy = 32 + CLAMP(1 + row, -- 1, terminal->row_count);; -- -- *pb = cb; -- *px = cx; -- *py = cy; -+ /* Encode a drag event. */ -+ if (is_drag) { -+ cb |= 32; -+ } -+ -+ /* Clamp the cursor coordinates. Make them 1-based. */ -+ cx = CLAMP(1 + col, -+ 1, terminal->column_count); -+ cy = CLAMP(1 + row, -+ 1, terminal->row_count); -+ -+ /* Check the extensions in decreasing order of preference. Encoding the release event above assumes that 1006 comes first. */ -+ if (terminal->pvt->mouse_xterm_extension) { -+ /* xterm's extended mode (1006) */ -+ len = g_snprintf(buf, sizeof(buf), _VTE_CAP_CSI "<%d;%ld;%ld%c", cb, cx, cy, is_release ? 'm' : 'M'); -+ } else if (terminal->pvt->mouse_urxvt_extension) { -+ /* urxvt's extended mode (1015) */ -+ len = g_snprintf(buf, sizeof(buf), _VTE_CAP_CSI "%d;%ld;%ldM", 32 + cb, cx, cy); -+ } else if (cx <= 231 && cy <= 231) { -+ /* legacy mode */ -+ len = g_snprintf(buf, sizeof(buf), _VTE_CAP_CSI "M%c%c%c", 32 + cb, 32 + (guchar)cx, 32 + (guchar)cy); -+ } -+ -+ /* Send event direct to the child, this is binary not text data */ -+ vte_terminal_feed_child_binary(terminal, buf, len); - } - - static void - vte_terminal_send_mouse_button_internal(VteTerminal *terminal, - int button, -+ gboolean is_release, - long x, - long y) - { -- unsigned char cb, cx, cy; -- char buf[LINE_MAX]; -- gint len; - int width = terminal->char_width; - int height = terminal->char_height; - long col = (x - terminal->pvt->inner_border.left) / width; - long row = (y - terminal->pvt->inner_border.top) / height; - -- vte_terminal_get_mouse_tracking_info (terminal, -- button, col, row, -- &cb, &cx, &cy); -- -- /* Send event direct to the child, this is binary not text data */ -- len = g_snprintf(buf, sizeof(buf), _VTE_CAP_CSI "M%c%c%c", cb, cx, cy); -- vte_terminal_feed_child_binary(terminal, buf, len); -+ vte_terminal_feed_mouse_event(terminal, button, FALSE /* not drag */, is_release, col, row); - } - - /* Send a mouse button click/release notification. */ -@@ -5919,7 +5931,8 @@ - } - - vte_terminal_send_mouse_button_internal(terminal, -- (event->type == GDK_BUTTON_PRESS) ? event->button : 0, -+ event->button, -+ event->type == GDK_BUTTON_RELEASE, - event->x, event->y); - } - -@@ -5927,9 +5940,6 @@ - static void - vte_terminal_maybe_send_mouse_drag(VteTerminal *terminal, GdkEventMotion *event) - { -- unsigned char cb, cx, cy; -- char buf[LINE_MAX]; -- gint len; - int width = terminal->char_width; - int height = terminal->char_height; - long col = ((long) event->x - terminal->pvt->inner_border.left) / width; -@@ -5958,14 +5968,9 @@ - break; - } - -- vte_terminal_get_mouse_tracking_info (terminal, -- terminal->pvt->mouse_last_button, col, row, -- &cb, &cx, &cy); -- cb += 32; /* for movement */ -- -- /* Send event direct to the child, this is binary not text data */ -- len = g_snprintf(buf, sizeof(buf), _VTE_CAP_CSI "M%c%c%c", cb, cx, cy); -- vte_terminal_feed_child_binary(terminal, buf, len); -+ vte_terminal_feed_mouse_event(terminal, terminal->pvt->mouse_last_button, -+ TRUE /* drag */, FALSE /* not release */, -+ col, row); - } - - /* Clear all match hilites. */ -@@ -11384,6 +11389,7 @@ - /* Encode the parameters and send them to the app. */ - vte_terminal_send_mouse_button_internal(terminal, - button, -+ FALSE /* not release */, - event->x, - event->y); - } -@@ -14091,6 +14097,8 @@ - pvt->mouse_last_button = 0; - pvt->mouse_last_x = 0; - pvt->mouse_last_y = 0; -+ pvt->mouse_xterm_extension = FALSE; -+ pvt->mouse_urxvt_extension = FALSE; - /* Clear modifiers. */ - pvt->modifiers = 0; - /* Reset miscellaneous stuff. */ ---- vte-0.28.2-clean/src/vte-private.h 2018-05-03 22:04:27.773199268 +0200 -+++ vte-0.28.2-clean/src/vte-private.h 2018-05-03 22:07:30.275915172 +0200 -@@ -305,6 +305,8 @@ - long mouse_last_x, mouse_last_y; - gboolean mouse_autohide; - guint mouse_autoscroll_tag; -+ gboolean mouse_xterm_extension; -+ gboolean mouse_urxvt_extension; - - /* State variables for handling match checks. */ - char *match_contents; ---- vte-0.28.2-clean/src/vteseq.c 2018-05-03 22:04:27.773199268 +0200 -+++ vte-0.28.2-clean/src/vteseq.c 2018-05-03 22:07:30.277915158 +0200 -@@ -685,10 +685,20 @@ - GINT_TO_POINTER(0), - GINT_TO_POINTER(MOUSE_TRACKING_ALL_MOTION_TRACKING), - NULL, NULL,}, -+ /* 1006: Extended mouse coordinates. */ -+ {1006, &terminal->pvt->mouse_xterm_extension, NULL, NULL, -+ GINT_TO_POINTER(FALSE), -+ GINT_TO_POINTER(TRUE), -+ NULL, NULL,}, - /* 1010/rxvt: disallowed, scroll-on-output is set by user. */ - {1010, NULL, NULL, NULL, NULL, NULL, NULL, NULL,}, - /* 1011/rxvt: disallowed, scroll-on-keypress is set by user. */ - {1011, NULL, NULL, NULL, NULL, NULL, NULL, NULL,}, -+ /* 1015/urxvt: Extended mouse coordinates. */ -+ {1015, &terminal->pvt->mouse_urxvt_extension, NULL, NULL, -+ GINT_TO_POINTER(FALSE), -+ GINT_TO_POINTER(TRUE), -+ NULL, NULL,}, - /* 1035: disallowed, don't know what to do with it. */ - {1035, NULL, NULL, NULL, NULL, NULL, NULL, NULL,}, - /* 1036: Meta-sends-escape. */ diff --git a/vte-0.28.2-performance.patch b/vte-0.28.2-performance.patch deleted file mode 100644 index ca8c8ca..0000000 --- a/vte-0.28.2-performance.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- o/src/vte.c 2018-05-03 20:53:16.000000000 +0200 -+++ o/src/vte.c 2018-05-03 20:57:48.764010197 +0200 -@@ -4520,7 +4520,7 @@ - if (max_bytes) { - max_bytes = terminal->pvt->max_input_bytes / max_bytes; - } else { -- max_bytes = VTE_MAX_INPUT_READ; -+ max_bytes = terminal->pvt->max_input_bytes; - } - bytes = terminal->pvt->input_bytes; - diff --git a/vte.spec b/vte.spec index d3d87ad..38214fe 100644 --- a/vte.spec +++ b/vte.spec @@ -4,9 +4,10 @@ Name: vte Version: 0.28.2 -Release: 47%{?dist} +Release: 18%{?dist} Summary: A terminal emulator -License: LGPL-2.0-or-later +License: LGPLv2+ +Group: User Interface/X #VCS: git:git://git.gnome.org/vte URL: http://developer.gnome.org/vte/ Source: http://download.gnome.org/sources/vte/0.28/%{name}-%{version}.tar.xz @@ -30,22 +31,11 @@ Patch5: vte-0.28.2-paste-fix.diff # Backport introspection fixes # https://bugzilla.redhat.com/show_bug.cgi?id=1256535 Patch6: vte-0.28.2-introspection-fixes.patch -# Backport "cat bigfile" speedup -# https://bugzilla.gnome.org/show_bug.cgi?id=721944 -Patch7: vte-0.28.2-performance.patch -# Backport shift-mouse grab "hang" fix -# https://bugzilla.gnome.org/show_bug.cgi?id=683730 -Patch8: vte-0.28.2-683730.patch -# Backport extended xterm/urxvt mouse tracking support -# https://bugzilla.gnome.org/show_bug.cgi?id=681329 -Patch9: vte-0.28.2-mouse-tracking.patch -Patch10: pointer-types.patch -BuildRequires: make BuildRequires: gtk2-devel >= %{gtk2_version} BuildRequires: pango-devel >= %{pango_version} BuildRequires: glib2-devel >= %{glib2_version} -BuildRequires: ncurses-devel +BuildRequires: pygtk2-devel, python-devel, ncurses-devel BuildRequires: gettext BuildRequires: libXt-devel BuildRequires: intltool @@ -53,18 +43,20 @@ BuildRequires: intltool BuildRequires: perl-Carp BuildRequires: gobject-introspection-devel -# systemd creates the utmp group -Requires: systemd +# initscripts creates the utmp group +Requires: initscripts %description VTE is a terminal emulator widget for use with GTK+ 2.0. %package devel Summary: Files needed for developing applications which use vte +Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: gtk2-devel Requires: ncurses-devel Requires: pkgconfig +Requires: pygtk2-devel %description devel The vte-devel package includes the header files and developer docs @@ -75,19 +67,17 @@ vte. %prep %setup -q -%patch -P 0 -p1 -%patch -P 1 -p1 -%patch -P 2 -p1 -%patch -P 3 -p1 -%patch -P 4 -p1 -%patch -P 5 -p1 -%patch -P 6 -p2 -%patch -P 7 -p1 -%patch -P 8 -p1 -%patch -P 9 -p1 -%patch -P 10 -p0 +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p2 %build +PYTHON=%{_bindir}/python`%{__python} -c "import sys ; print sys.version[:3]"` +export PYTHON %configure \ --enable-shared \ --enable-static \ @@ -95,8 +85,7 @@ vte. --with-gtk=2.0 \ --libexecdir=%{_libdir}/%{name} \ --without-glX \ - --disable-gtk-doc \ - --disable-python + --disable-gtk-doc make %{?_smp_mflags} %install @@ -112,7 +101,12 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/gtk-2.0/*.a %find_lang vte-0.0 +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + %files -f vte-0.0.lang +%defattr(-,root,root) %doc COPYING HACKING NEWS README %doc src/iso2022.txt %doc doc/utmpwtmp.txt doc/boxes.txt doc/openi18n/UTF-8.txt doc/openi18n/wrap.txt @@ -120,6 +114,7 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/gtk-2.0/*.a %dir %{_libdir}/vte %attr(2711,root,utmp) %{_libdir}/vte/gnome-pty-helper %{_datadir}/%{name} +%{_libdir}/python*/site-packages/* %{_libdir}/girepository-1.0 #rpmlint gives: @@ -127,102 +122,16 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/gtk-2.0/*.a # This is not used by anything except possibly third party scripts, so we're leaving it in place. %files devel +%defattr(-,root,root) %{_includedir}/* %{_libdir}/*.so %{_libdir}/pkgconfig/* %{_bindir}/%{name} +%{_datadir}/pygtk/2.0/defs/vte.defs %{_datadir}/gir-1.0 %doc %{_datadir}/gtk-doc/html/vte-0.0 %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 0.28.2-47 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Sat Jan 17 2026 Fedora Release Engineering - 0.28.2-46 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Fri Jul 25 2025 Fedora Release Engineering - 0.28.2-45 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sun Jan 19 2025 Fedora Release Engineering - 0.28.2-44 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Jul 20 2024 Fedora Release Engineering - 0.28.2-43 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jan 31 2024 Gwyn Ciesla - 0.28.2-42 -- PAtch for modern C. - -* Sat Jan 27 2024 Fedora Release Engineering - 0.28.2-41 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 0.28.2-40 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Mar 04 2023 Gwyn Ciesla - 0.28.2-39 -- migrated to SPDX license - -* Sat Jan 21 2023 Fedora Release Engineering - 0.28.2-38 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 0.28.2-37 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jan 22 2022 Fedora Release Engineering - 0.28.2-36 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 0.28.2-35 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Feb 10 2021 Petr Viktorin - 0.28.2-34 -- Remove Requires on pygtk2 - -* Wed Jan 27 2021 Fedora Release Engineering - 0.28.2-33 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 0.28.2-32 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jan 31 2020 Fedora Release Engineering - 0.28.2-31 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sat Oct 05 2019 Lumír Balhar - 0.28.2-30 -- Disable Python 2 bindings - -* Sat Jul 27 2019 Fedora Release Engineering - 0.28.2-29 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Jul 17 2019 Kevin Fenzi - 0.28.2-28 -- Fix last python unversioned deps. - -* Sun Feb 03 2019 Fedora Release Engineering - 0.28.2-27 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jul 14 2018 Fedora Release Engineering - 0.28.2-26 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon Jun 18 2018 Kevin Fenzi - 0.28.2-25 -- Depend on systemd for utmp group, not initscripts anymore. Fixes bug #1592402 - -* Sun May 06 2018 Kevin Fenzi - 0.28.2-24 -- Add backported patches for various issues. Fixes bug #1574683 - -* Fri Feb 09 2018 Fedora Release Engineering - 0.28.2-23 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Mon Feb 05 2018 Iryna Shcherbina - 0.28.2-22 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Thu Aug 03 2017 Fedora Release Engineering - 0.28.2-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 0.28.2-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 0.28.2-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - * Tue Jul 19 2016 Fedora Release Engineering - 0.28.2-18 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages