diff --git a/packages/p/perl-SDL/.files b/packages/p/perl-SDL/.files index bf1e6912644..4363ffe8f7d 100644 Binary files a/packages/p/perl-SDL/.files and b/packages/p/perl-SDL/.files differ diff --git a/packages/p/perl-SDL/.rev b/packages/p/perl-SDL/.rev index 0562ba043c6..a3b5518e047 100644 --- a/packages/p/perl-SDL/.rev +++ b/packages/p/perl-SDL/.rev @@ -93,4 +93,14 @@ 1102970 + + cd1f48186c497baf0250a9bb97c2be91 + 2.548 + + dimstar_suse + - Add 308.patch: Fix reference-counting in set_event_filter + (gh#PerlGameDev/SDL#308). + + 1168524 + diff --git a/packages/p/perl-SDL/308.patch b/packages/p/perl-SDL/308.patch new file mode 100644 index 00000000000..709984c54ec --- /dev/null +++ b/packages/p/perl-SDL/308.patch @@ -0,0 +1,30 @@ +From fbf151a7481a5fda88bfe766d826fe55476cf4af Mon Sep 17 00:00:00 2001 +From: Colin Watson +Date: Thu, 28 Mar 2024 13:21:47 +0000 +Subject: [PATCH] Fix reference-counting in set_event_filter + +This previously resulted in the following test failure with Perl 5.38.2 +on Debian unstable (https://bugs.debian.org/1064761): + + t/core_events.t ................. 1/? Can't use an undefined value as a subroutine reference during global destruction. + t/core_events.t ................. Dubious, test returned 22 (wstat 5632, 0x1600) + All 691 subtests passed + (less 1 skipped subtest: 690 okay) +--- + src/Core/Events.xs | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/Core/Events.xs b/src/Core/Events.xs +index faa7cfe6..0b99f8a9 100644 +--- a/src/Core/Events.xs ++++ b/src/Core/Events.xs +@@ -102,7 +102,8 @@ void + events_set_event_filter(callback) + SV* callback + CODE: +- eventfiltersv = callback; ++ SvREFCNT_dec(eventfiltersv); ++ eventfiltersv = SvREFCNT_inc_simple(callback); + SDL_SetEventFilter((SDL_EventFilter) eventfilter_cb); + + AV * diff --git a/packages/p/perl-SDL/cpanspec.yml b/packages/p/perl-SDL/cpanspec.yml index 6d81465da0a..7777fbbc499 100644 --- a/packages/p/perl-SDL/cpanspec.yml +++ b/packages/p/perl-SDL/cpanspec.yml @@ -13,9 +13,8 @@ description: |- sources: - perl-SDL.rpmlintrc patches: - https://patch-diff.githubusercontent.com/raw/PerlGameDev/SDL/pull/304.patch: -p1 -# foo.patch: -p1 -# bar.patch: + https://patch-diff.githubusercontent.com/raw/PerlGameDev/SDL/pull/304.patch: -p1 PATCH-FIX-UPSTREAM 304.patch -- based on PR 304 + https://patch-diff.githubusercontent.com/raw/PerlGameDev/SDL/pull/308.patch: -p1 PATCH-FIX-UPSTREAM 308.patch -- based on PR 308 preamble: |- BuildRequires: Mesa-devel BuildRequires: libSDL-devel diff --git a/packages/p/perl-SDL/perl-SDL.changes b/packages/p/perl-SDL/perl-SDL.changes index a5a3b8f21a3..e9d34723e7e 100644 --- a/packages/p/perl-SDL/perl-SDL.changes +++ b/packages/p/perl-SDL/perl-SDL.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Apr 15 18:43:39 UTC 2024 - munix9@googlemail.com + +- Add 308.patch: Fix reference-counting in set_event_filter + (gh#PerlGameDev/SDL#308). + ------------------------------------------------------------------- Tue Aug 8 14:59:43 UTC 2023 - Dominique Leuenberger diff --git a/packages/p/perl-SDL/perl-SDL.spec b/packages/p/perl-SDL/perl-SDL.spec index 5c6644cdb44..a7c652741f7 100644 --- a/packages/p/perl-SDL/perl-SDL.spec +++ b/packages/p/perl-SDL/perl-SDL.spec @@ -1,7 +1,7 @@ # # spec file for package perl-SDL # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,10 @@ URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/F/FR/FROGGS/%{cpan_name}-%{version}.tar.gz Source1: perl-SDL.rpmlintrc Source2: cpanspec.yml +# PATCH-FIX-UPSTREAM 304.patch -- based on PR 304 Patch0: https://patch-diff.githubusercontent.com/raw/PerlGameDev/SDL/pull/304.patch +# PATCH-FIX-UPSTREAM 308.patch -- based on PR 308 +Patch1: https://patch-diff.githubusercontent.com/raw/PerlGameDev/SDL/pull/308.patch BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Alien::SDL) >= 1.446