diff --git a/.gitignore b/.gitignore index a1029ac..05e410c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/vte-0.52.2.tar.xz +SOURCES/vte-0.52.4.tar.xz diff --git a/.vte291.metadata b/.vte291.metadata index bc125b9..bb3e3d8 100644 --- a/.vte291.metadata +++ b/.vte291.metadata @@ -1 +1 @@ -be8de64f8584ada23461db8e0a4dce2e650de5ce SOURCES/vte-0.52.2.tar.xz +5d2caf64d6debe7d4d0e2a853e93c601c2f39790 SOURCES/vte-0.52.4.tar.xz diff --git a/SOURCES/vte291-build-add-no-exceptions-sanity-check.patch b/SOURCES/vte291-build-add-no-exceptions-sanity-check.patch new file mode 100644 index 0000000..5c88041 --- /dev/null +++ b/SOURCES/vte291-build-add-no-exceptions-sanity-check.patch @@ -0,0 +1,46 @@ +From bba5901e2cd7fe9c0c7cb30983993d924f793792 Mon Sep 17 00:00:00 2001 +From: Christian Persch +Date: Tue, 19 Nov 2019 18:33:12 +0100 +Subject: [PATCH] build: Add no-exceptions sanity check + +Some distributions pass -fexceptions in a way that overrides vte's +own -fno-exceptions. This is a hard error; fail the build. + +See https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/207 + +(cherry picked from commit ff72577bd7d84c30faca3285d7ed4e7f75194f98) +--- + src/vteinternal.hh | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/src/vteinternal.hh b/src/vteinternal.hh +index 1521cd1632fb..0cd20f88c25d 100644 +--- a/src/vteinternal.hh ++++ b/src/vteinternal.hh +@@ -18,6 +18,23 @@ + + #pragma once + ++/* BEGIN sanity checks */ ++ ++/* Some distributions pass -fexceptions in a way that overrides vte's ++ * own -fno-exceptions. This is a hard error; fail the build. ++ * See https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/207 ++ */ ++#ifdef __EXCEPTIONS ++#error You MUST NOT use -fexceptions to build vte! Fix your build; and DO NOT file a bug upstream! ++#endif ++ ++/* While we're at it, check -fno-rtti too */ ++#ifdef __GXX_RTTI ++#error You MUST NOT use -frtti to build vte! Fix your build system; and DO NOT file a bug upstream! ++#endif ++ ++/* END sanity checks */ ++ + #include + + #include "vtedefines.hh" +-- +2.25.4 + diff --git a/SOURCES/vte291-command-notify-scroll-speed.patch b/SOURCES/vte291-command-notify-scroll-speed.patch index dc2d84e..00c24ab 100644 --- a/SOURCES/vte291-command-notify-scroll-speed.patch +++ b/SOURCES/vte291-command-notify-scroll-speed.patch @@ -1,4 +1,4 @@ -From 8fe3bb76b90d0ba8a216f4f0c24af5c4f894c5e6 Mon Sep 17 00:00:00 2001 +From 7426c8339c7da0a15f9bd4f536b46b38d96d3904 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 7 Jan 2015 16:01:00 +0100 Subject: [PATCH 1/5] Add sequences and signals for desktop notification @@ -17,22 +17,22 @@ https://phab.enlightenment.org/T1765 https://bugzilla.gnome.org/show_bug.cgi?id=711059 --- - src/caps-list.hh | 4 +++ + src/caps-list.hh | 4 ++ src/marshal.list | 1 + - src/vte.cc | 12 +++++++ - src/vte/vteterminal.h | 4 ++- - src/vtegtk.cc | 21 ++++++++++++ + src/vte.cc | 12 ++++++ + src/vte/vteterminal.h | 4 +- + src/vtegtk.cc | 21 ++++++++++ src/vtegtk.hh | 1 + src/vteinternal.hh | 5 +++ src/vteseq-list.hh | 1 + - src/vteseq.cc | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/vteseq.cc | 92 +++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 140 insertions(+), 1 deletion(-) diff --git a/src/caps-list.hh b/src/caps-list.hh -index 0528d7bcbcc2..8cc58b896f2b 100644 +index cc7075c8e7fb..8a3704987a6c 100644 --- a/src/caps-list.hh +++ b/src/caps-list.hh -@@ -248,6 +248,8 @@ static const vte_matcher_entry_t entries[] = { +@@ -251,6 +251,8 @@ static const vte_matcher_entry_t entries[] = { ENTRY(OSC "119" BEL, reset_highlight_foreground_color), ENTRY(OSC "133;%s" BEL, iterm2_133), ENTRY(OSC "777;%s" BEL, urxvt_777), @@ -41,7 +41,7 @@ index 0528d7bcbcc2..8cc58b896f2b 100644 ENTRY(OSC "1337;%s" BEL, iterm2_1337), /* Set text parameters, ST_terminated versions. */ -@@ -287,6 +289,8 @@ static const vte_matcher_entry_t entries[] = { +@@ -293,6 +295,8 @@ static const vte_matcher_entry_t entries[] = { ENTRY(OSC "119" ST, reset_highlight_foreground_color), ENTRY(OSC "133;%s" ST, iterm2_133), ENTRY(OSC "777;%s" ST, urxvt_777), @@ -62,10 +62,10 @@ index 1e4d0c1b6476..3385b4759713 100644 VOID:STRING,UINT VOID:UINT,UINT diff --git a/src/vte.cc b/src/vte.cc -index bc7ff146f59b..40b9785de5fb 100644 +index 5b08feb94648..7b036a49eec7 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -8664,6 +8664,9 @@ VteTerminalPrivate::~VteTerminalPrivate() +@@ -8630,6 +8630,9 @@ VteTerminalPrivate::~VteTerminalPrivate() remove_update_timeout(this); @@ -75,7 +75,7 @@ index bc7ff146f59b..40b9785de5fb 100644 /* discard title updates */ g_free(m_window_title); g_free(m_window_title_changed); -@@ -10929,6 +10932,15 @@ VteTerminalPrivate::emit_pending_signals() +@@ -10893,6 +10896,15 @@ VteTerminalPrivate::emit_pending_signals() emit_adjustment_changed(); @@ -108,10 +108,10 @@ index 4e2896cf1aaf..f288f9e0f49a 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 516e042526cd..83ca17961abf 100644 +index 755b07aab134..d3f4eaccf1d6 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -709,6 +709,7 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -700,6 +700,7 @@ vte_terminal_class_init(VteTerminalClass *klass) klass->child_exited = NULL; klass->encoding_changed = NULL; klass->char_size_changed = NULL; @@ -119,7 +119,7 @@ index 516e042526cd..83ca17961abf 100644 klass->window_title_changed = NULL; klass->icon_title_changed = NULL; klass->selection_changed = NULL; -@@ -784,6 +785,26 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -775,6 +776,26 @@ vte_terminal_class_init(VteTerminalClass *klass) G_TYPE_NONE, 1, G_TYPE_INT); @@ -159,10 +159,10 @@ index c49754ef38ee..126d29326f11 100644 LAST_SIGNAL }; diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index ec434667281c..193be6374070 100644 +index 0cd20f88c25d..a426a8ddc562 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -630,6 +630,11 @@ public: +@@ -647,6 +647,11 @@ public: gboolean m_cursor_moved_pending; gboolean m_contents_changed_pending; @@ -175,10 +175,10 @@ index ec434667281c..193be6374070 100644 char* m_window_title; char* m_window_title_changed; diff --git a/src/vteseq-list.hh b/src/vteseq-list.hh -index af9fc893ef5a..7f97be94a184 100644 +index daba388b664e..a9ec61ed30aa 100644 --- a/src/vteseq-list.hh +++ b/src/vteseq-list.hh -@@ -121,6 +121,7 @@ SEQUENCE_HANDLER(select_character_protection) +@@ -124,6 +124,7 @@ SEQUENCE_HANDLER(select_character_protection) SEQUENCE_HANDLER(select_locator_events) SEQUENCE_HANDLER(selective_erase_in_display) SEQUENCE_HANDLER(selective_erase_in_line) @@ -187,10 +187,10 @@ index af9fc893ef5a..7f97be94a184 100644 SEQUENCE_HANDLER(send_secondary_device_attributes) SEQUENCE_HANDLER(send_tertiary_device_attributes) diff --git a/src/vteseq.cc b/src/vteseq.cc -index 218bedf43da9..235e8d2b7426 100644 +index 99b8bb37e770..c7e22d0ff711 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -2200,6 +2200,98 @@ VteTerminalPrivate::seq_return_terminal_id(vte::parser::Params const& params) +@@ -2202,6 +2202,98 @@ VteTerminalPrivate::seq_return_terminal_id(vte::parser::Params const& params) seq_send_primary_device_attributes(params); } @@ -290,10 +290,10 @@ index 218bedf43da9..235e8d2b7426 100644 void VteTerminalPrivate::seq_send_secondary_device_attributes(vte::parser::Params const& params) -- -2.16.2 +2.25.4 -From b889392fd5b2a697079709e6b95f06b87a463681 Mon Sep 17 00:00:00 2001 +From 3cffdc9124347637228a1322c6f81f6f9ca5740f Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 29 Jan 2015 13:09:17 +0100 Subject: [PATCH 2/5] vte.sh: Emit OSC 777 from PROMPT_COMMAND @@ -321,10 +321,10 @@ index 2d211caa2f17..1c0543bd9d26 100644 case "$TERM" in -- -2.16.2 +2.25.4 -From 2d0b14d5b261d5366075ca9d6ae780844926f35e Mon Sep 17 00:00:00 2001 +From b67b10f61a98de4557b8b3184875494c6610c1cf Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 22 Jan 2015 16:37:10 +0100 Subject: [PATCH 3/5] Test the notification-received signal @@ -388,10 +388,10 @@ index d4240640fc82..a581c60a839e 100644 if (options.no_double_buffer) gtk_widget_set_double_buffered(GTK_WIDGET(window->terminal), false); -- -2.16.2 +2.25.4 -From 450ef6bea0e195e2f88b4d4fea2d4c507eca61ae Mon Sep 17 00:00:00 2001 +From f492bcc202a70f36443b2e34bbc0da41357d479e Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 13 May 2016 17:53:54 +0200 Subject: [PATCH 4/5] Add a property to configure the scroll speed @@ -402,9 +402,9 @@ moving the buffer by a function of the number of visible rows. https://bugzilla.redhat.com/show_bug.cgi?id=1103380 --- doc/reference/vte-sections.txt | 1 + - src/vte.cc | 19 +++++++++++++++++- - src/vte/vteterminal.h | 4 ++++ - src/vtegtk.cc | 45 ++++++++++++++++++++++++++++++++++++++++++ + src/vte.cc | 19 +++++++++++++- + src/vte/vteterminal.h | 4 +++ + src/vtegtk.cc | 45 ++++++++++++++++++++++++++++++++++ src/vtegtk.hh | 1 + src/vteinternal.hh | 2 ++ 6 files changed, 71 insertions(+), 1 deletion(-) @@ -422,10 +422,10 @@ index 6e37f0bad223..025986ee2146 100644 vte_terminal_get_scrollback_lines vte_terminal_set_font diff --git a/src/vte.cc b/src/vte.cc -index 40b9785de5fb..b83d26d4feb4 100644 +index 7b036a49eec7..b4b47becc710 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10174,6 +10174,7 @@ void +@@ -10142,6 +10142,7 @@ void VteTerminalPrivate::widget_scroll(GdkEventScroll *event) { gdouble delta_x, delta_y; @@ -433,7 +433,7 @@ index 40b9785de5fb..b83d26d4feb4 100644 gdouble v; gint cnt, i; int button; -@@ -10227,7 +10228,13 @@ VteTerminalPrivate::widget_scroll(GdkEventScroll *event) +@@ -10195,7 +10196,13 @@ VteTerminalPrivate::widget_scroll(GdkEventScroll *event) return; } @@ -448,7 +448,7 @@ index 40b9785de5fb..b83d26d4feb4 100644 _vte_debug_print(VTE_DEBUG_EVENTS, "Scroll speed is %d lines per non-smooth scroll unit\n", (int) v); -@@ -10488,6 +10495,16 @@ VteTerminalPrivate::decscusr_cursor_shape() +@@ -10456,6 +10463,16 @@ VteTerminalPrivate::decscusr_cursor_shape() } } @@ -481,10 +481,10 @@ index f288f9e0f49a..7d09c761aded 100644 _VTE_PUBLIC void vte_terminal_set_scrollback_lines(VteTerminal *terminal, diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 83ca17961abf..921457e7f62f 100644 +index d3f4eaccf1d6..b07eb678e9f7 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -491,6 +491,9 @@ vte_terminal_get_property (GObject *object, +@@ -483,6 +483,9 @@ vte_terminal_get_property (GObject *object, case PROP_REWRAP_ON_RESIZE: g_value_set_boolean (value, vte_terminal_get_rewrap_on_resize (terminal)); break; @@ -494,7 +494,7 @@ index 83ca17961abf..921457e7f62f 100644 case PROP_SCROLLBACK_LINES: g_value_set_uint (value, vte_terminal_get_scrollback_lines(terminal)); break; -@@ -592,6 +595,9 @@ vte_terminal_set_property (GObject *object, +@@ -584,6 +587,9 @@ vte_terminal_set_property (GObject *object, case PROP_REWRAP_ON_RESIZE: vte_terminal_set_rewrap_on_resize (terminal, g_value_get_boolean (value)); break; @@ -504,7 +504,7 @@ index 83ca17961abf..921457e7f62f 100644 case PROP_SCROLLBACK_LINES: vte_terminal_set_scrollback_lines (terminal, g_value_get_uint (value)); break; -@@ -1540,6 +1546,21 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -1531,6 +1537,21 @@ vte_terminal_class_init(VteTerminalClass *klass) TRUE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY)); @@ -526,7 +526,7 @@ index 83ca17961abf..921457e7f62f 100644 /** * VteTerminal:scrollback-lines: * -@@ -4067,6 +4088,30 @@ vte_terminal_get_row_count(VteTerminal *terminal) +@@ -4058,6 +4079,30 @@ vte_terminal_get_row_count(VteTerminal *terminal) return IMPL(terminal)->m_row_count; } @@ -570,10 +570,10 @@ index 126d29326f11..b2c9edfa8246 100644 PROP_SCROLL_ON_KEYSTROKE, PROP_SCROLL_ON_OUTPUT, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 193be6374070..d2db275b3e36 100644 +index a426a8ddc562..fe46ae4d18c3 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -498,6 +498,7 @@ public: +@@ -515,6 +515,7 @@ public: gboolean m_scroll_on_output; gboolean m_scroll_on_keystroke; gboolean m_alternate_screen_scroll; @@ -581,7 +581,7 @@ index 193be6374070..d2db275b3e36 100644 vte::grid::row_t m_scrollback_lines; /* Restricted scrolling */ -@@ -1264,6 +1265,7 @@ public: +@@ -1277,6 +1278,7 @@ public: bool set_mouse_autohide(bool autohide); bool set_pty(VtePty *pty); bool set_rewrap_on_resize(bool rewrap); @@ -590,10 +590,10 @@ index 193be6374070..d2db275b3e36 100644 bool set_scroll_on_keystroke(bool scroll); bool set_scroll_on_output(bool scroll); -- -2.16.2 +2.25.4 -From 65f2c1766bdc252d3cb925d2d676c40a368498b5 Mon Sep 17 00:00:00 2001 +From 482ff671f291d89cda1a9d1ee1c9291f4978393c Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 13 May 2016 17:54:57 +0200 Subject: [PATCH 5/5] Test the scroll-speed property @@ -663,5 +663,5 @@ index a581c60a839e..3faa2d76dd10 100644 vte_terminal_set_text_blink_mode(window->terminal, options.text_blink_mode); -- -2.16.2 +2.25.4 diff --git a/SPECS/vte291.spec b/SPECS/vte291.spec index 7e5d1ec..98a9881 100644 --- a/SPECS/vte291.spec +++ b/SPECS/vte291.spec @@ -1,7 +1,7 @@ %global apiver 2.91 Name: vte291 -Version: 0.52.2 +Version: 0.52.4 Release: 2%{?dist} Summary: Terminal emulator library @@ -9,6 +9,8 @@ License: LGPLv2+ URL: http://www.gnome.org/ Source0: http://download.gnome.org/sources/vte/0.52/vte-%{version}.tar.xz +Patch0: vte291-build-add-no-exceptions-sanity-check.patch + # https://bugzilla.gnome.org/show_bug.cgi?id=711059 # https://bugzilla.redhat.com/show_bug.cgi?id=1103380 Patch100: vte291-command-notify-scroll-speed.patch @@ -55,9 +57,14 @@ emulator library. %prep %setup -q -n vte-%{version} +%patch0 -p1 -b .add-no-exceptions-sanity-check %patch100 -p1 -b .command-notify-scroll-speed %build +# Avoid overriding vte's own -fno-exceptions +# https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/207 +%global optflags %(echo %{optflags} | sed 's/-fexceptions //') + CFLAGS="%optflags -fPIE -DPIE -Wno-nonnull" \ CXXFLAGS="$CFLAGS" \ LDFLAGS="$LDFLAGS -Wl,-z,relro -Wl,-z,now -pie" \ @@ -94,6 +101,14 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %{_sysconfdir}/profile.d/vte.sh %changelog +* Mon Jun 01 2020 Debarshi Ray - 0.52.4-2 +- Avoid overriding -fno-exceptions +Resolves: #1804719 + +* Mon Jun 01 2020 Debarshi Ray - 0.52.4-1 +- Update to 0.52.4 +Resolves: #1804719 + * Mon Oct 08 2018 Debarshi Ray - 0.52.2-2 - Removal of utmp logging makes the utmp group unnecessary Resolves: #1610293