summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szuba <marecki@gentoo.org>2021-04-16 18:21:46 +0200
committerMarek Szuba <marecki@gentoo.org>2021-04-16 20:24:52 +0200
commit79d31f8585e3cab9c6a7dcbcf643be5456303933 (patch)
tree8145bb99a59bbd0fafa12837d10ff09e8a797423 /x11-terms/rxvt-unicode/files
parentdev-vcs/pre-commit: actually restrict tests (diff)
downloadgentoo-79d31f8585e3cab9c6a7dcbcf643be5456303933.tar.gz
gentoo-79d31f8585e3cab9c6a7dcbcf643be5456303933.tar.bz2
gentoo-79d31f8585e3cab9c6a7dcbcf643be5456303933.zip
x11-terms/rxvt-unicode: do not segfault on exit with USE=perl and recent Perl versions
As addressed upstream and subsequently accepted by Debian. Closes: https://bugs.gentoo.org/764386 Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'x11-terms/rxvt-unicode/files')
-rw-r--r--x11-terms/rxvt-unicode/files/rxvt-unicode-9.22-perl-segfault-on-exit.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.22-perl-segfault-on-exit.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.22-perl-segfault-on-exit.patch
new file mode 100644
index 000000000000..0a3cb1ec4cd5
--- /dev/null
+++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.22-perl-segfault-on-exit.patch
@@ -0,0 +1,36 @@
+Backported from the upstream CVS repository, see:
+http://cvs.schmorp.de/rxvt-unicode/src/rxvtperl.h?r1=1.28&r2=1.29
+http://cvs.schmorp.de/rxvt-unicode/src/rxvtperl.xs?r1=1.246&r2=1.247
+
+--- rxvt-unicode/src/rxvtperl.h 2012/06/12 10:45:53 1.28
++++ rxvt-unicode/src/rxvtperl.h 2020/06/30 07:31:24 1.29
+@@ -51,7 +51,9 @@
+ {
+ char **perl_environ;
+
++ #if 0 // see rxvtperl.xs
+ ~rxvt_perl_interp ();
++ #endif
+
+ void init ();
+ void init (rxvt_term *term);
+--- rxvt-unicode/src/rxvtperl.xs 2020/01/20 09:35:12 1.246
++++ rxvt-unicode/src/rxvtperl.xs 2020/06/30 07:31:24 1.247
+@@ -372,6 +372,9 @@
+
+ static PerlInterpreter *perl;
+
++#if 0 /* we are not a library anymore, so doing this is just not worth it */
++/*THINK/TODO: this has the side effect of, of course, not calling destructors. */
++/* but therse are not guaranteed anyway... */
+ rxvt_perl_interp::~rxvt_perl_interp ()
+ {
+ if (perl)
+@@ -381,6 +384,7 @@
+ PERL_SYS_TERM ();
+ }
+ }
++#endif
+
+ void
+ rxvt_perl_interp::init ()