Control: tags 1040223 + pending

Dear maintainer,

I've prepared an NMU for libimage-imlib2-perl (versioned as 2.03-1.2) and
uploaded it to DELAYED/2. Please feel free to tell me if I
should delay it longer.

Regards.


-- 
 .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
   `-   
diff -Nru libimage-imlib2-perl-2.03/debian/changelog libimage-imlib2-perl-2.03/debian/changelog
--- libimage-imlib2-perl-2.03/debian/changelog	2022-10-06 18:56:50.000000000 +0200
+++ libimage-imlib2-perl-2.03/debian/changelog	2023-07-29 16:09:32.000000000 +0200
@@ -1,3 +1,16 @@
+libimage-imlib2-perl (2.03-1.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix "Creates empty package on bookworm upwards":
+    `imlib2-config' went missing from libimlib2-dev, so use pkgconfig (new
+    patch pkg-config.diff and build dependency on libextutils-pkgconfig-perl)
+    (Closes: #1040223)
+  * Add patch 0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch
+    from Niko Tyni to work around an imlib2 bug with alpha channel cloning
+    which makes a test fail.
+
+ -- gregor herrmann <gre...@debian.org>  Sat, 29 Jul 2023 16:09:32 +0200
+
 libimage-imlib2-perl (2.03-1.1) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru libimage-imlib2-perl-2.03/debian/control libimage-imlib2-perl-2.03/debian/control
--- libimage-imlib2-perl-2.03/debian/control	2011-10-16 02:28:18.000000000 +0200
+++ libimage-imlib2-perl-2.03/debian/control	2023-07-29 16:00:08.000000000 +0200
@@ -3,7 +3,7 @@
 Priority: extra
 Section: perl
 Standards-Version: 3.9.2
-Build-Depends: debhelper (>= 8), libmodule-build-perl, libimlib2-dev, libtest-simple-perl, quilt
+Build-Depends: debhelper (>= 8), libmodule-build-perl, libimlib2-dev, libtest-simple-perl, quilt, libextutils-pkgconfig-perl
 
 Package: libimage-imlib2-perl
 Architecture: any
diff -Nru libimage-imlib2-perl-2.03/debian/patches/0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch libimage-imlib2-perl-2.03/debian/patches/0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch
--- libimage-imlib2-perl-2.03/debian/patches/0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch	1970-01-01 01:00:00.000000000 +0100
+++ libimage-imlib2-perl-2.03/debian/patches/0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch	2023-07-29 16:01:50.000000000 +0200
@@ -0,0 +1,49 @@
+From c2d646b9fa925ac2a91cb6cfb3fe6dad430c7927 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <nt...@debian.org>
+Date: Tue, 18 Jul 2023 15:16:21 +0100
+Subject: [PATCH] Work around an imlib2 bug with alpha channel cloning
+
+As discussed in https://bugs.debian.org/1041406 imlib2 1.10.0 introduced
+a bug where imlib_clone_image() no longer copies the alpha flag. This
+breaks test 12 of t/simple.t :
+
+  #   Failed test at t/simple.t line 68.
+  #          got: '0'
+  #     expected: '1'
+
+Work around this on our side by checking for any difference after
+cloning and copying the alpha flag if necessary.
+
+Bug-Debian: https://bugs.debian.org/1040223
+---
+ lib/Image/Imlib2.xs | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/lib/Image/Imlib2.xs b/lib/Image/Imlib2.xs
+index f48d4ec..cc54d2b 100644
+--- a/lib/Image/Imlib2.xs
++++ b/lib/Image/Imlib2.xs
+@@ -931,9 +931,20 @@ Imlib2_clone(image)
+         CODE:
+ 	{
+ 		Imlib_Image cloned;
++		char alpha_orig;
++		char alpha_cloned;
+ 		
+ 		imlib_context_set_image(image);
+ 		cloned = imlib_clone_image();
++
++		/* imlib2 no longer clones the alpha flag since 1.10 */
++		alpha_orig = imlib_image_has_alpha();
++		imlib_context_set_image(cloned);
++		alpha_cloned = imlib_image_has_alpha();
++		if (alpha_orig != alpha_cloned) {
++			imlib_image_set_has_alpha(alpha_orig);
++		}
++		imlib_context_set_image(image);
+ 		
+ 		RETVAL = cloned;
+ 	}
+-- 
+2.39.1
+
diff -Nru libimage-imlib2-perl-2.03/debian/patches/pkg-config.diff libimage-imlib2-perl-2.03/debian/patches/pkg-config.diff
--- libimage-imlib2-perl-2.03/debian/patches/pkg-config.diff	1970-01-01 01:00:00.000000000 +0100
+++ libimage-imlib2-perl-2.03/debian/patches/pkg-config.diff	2023-07-29 16:01:16.000000000 +0200
@@ -0,0 +1,43 @@
+Description: use pkgconfig instead of the discontinued imlib2-config
+Origin: vendor
+Bug-Debian: https://bugs.debian.org/1040223
+Author: gregor herrmann <gre...@debian.org>
+Last-Update: 2023-07-29
+
+--- a/Build.PL
++++ b/Build.PL
+@@ -1,11 +1,14 @@
+ use Module::Build;
+ use strict;
+ use Cwd;
++use ExtUtils::PkgConfig ;
+ 
+-# We need to find imlib2-config
+-my $CONFIG = "imlib2-config";
++my $pkg = 'imlib2';
++my %info = ExtUtils::PkgConfig->find ($pkg) ;
++my $version = $info{modversion} ;
++my $libs    = $info{libs} ;
++my $cflags  = $info{cflags} ;
+ 
+-my $version = `$CONFIG --version`;
+ if (!$version) {
+   warn 'You must install the imlib2 library before you can install
+ Image::Imlib2. You can obtain imlib2 from
+@@ -15,13 +18,12 @@
+ still will not work, modify the $CONFIG variable inside Build.PL to
+ point to the imlib2-config program that provides.
+ ';
+-  exit 0;
++  exit 1;
+ } else {
+-  print "Found imlib2 $version";
++  print "Found imlib2 $version\n";
+ }
+ 
+-my $libs = `$CONFIG --libs`;
+-my $cflags = "-DX_DISPLAY_MISSING " . `$CONFIG --cflags` . "-ffile-prefix-map=" . getcwd() . "=." ;
++$cflags = "-DX_DISPLAY_MISSING " . $cflags . "-ffile-prefix-map=" . getcwd() . "=." ;
+ 
+ my $build = Module::Build->new(
+   c_source     => './lib/Image',
diff -Nru libimage-imlib2-perl-2.03/debian/patches/series libimage-imlib2-perl-2.03/debian/patches/series
--- libimage-imlib2-perl-2.03/debian/patches/series	2022-10-06 18:56:50.000000000 +0200
+++ libimage-imlib2-perl-2.03/debian/patches/series	2023-07-29 16:01:50.000000000 +0200
@@ -1,2 +1,4 @@
 add_more_error_reporting.diff
 reproducible_build.diff
+pkg-config.diff
+0001-Work-around-an-imlib2-bug-with-alpha-channel-cloning.patch

Attachment: signature.asc
Description: Digital Signature

Reply via email to