Control: tag -1 patch

On Wed, Jul 03, 2024 at 12:34:36PM +0000, Matthias Klose wrote:
> Package: src:libtext-unaccent-perl
> Version: 1.08-1.4
> Severity: important
> Tags: sid trixie
> User: debian-...@lists.debian.org
> Usertags: ftbfs-gcc-14

> Unaccent.xs: In function ‘XS_Text__Unaccent_unac_debug’:
> Unaccent.xs:109:17: error: implicit declaration of function 
> ‘unac_debug_callback’ [-Wimplicit-function-declaration]
>   109 |                 unac_debug_callback(in, unac_debug_print, NULL);
>       |                 ^~~~~~~~~~~~~~~~~~~
> make[1]: *** [Makefile:340: Unaccent.o] Error 1

Looks like the prototype of unac_debug_callback() is only specified
when HAS_VPRINTF is set in Perl config.h. This was removed from Perl
in the 5.28 series, but the lack of the prototype only became a fatal
error now.

Patch attached, this fixes the build for me. I also used the second
attached patch to enable the (unfortunately rather minimal) test suite,
which passes with the fix. So I suppose the resulting binaries aren't
totally broken, but I haven't tested them in any other way.

Hope this helps,
-- 
Niko Tyni   nt...@debian.org
>From a2c20c9eaf268ed0a9bf5d5274c74d50f5df9bd4 Mon Sep 17 00:00:00 2001
From: Niko Tyni <nt...@debian.org>
Date: Sun, 4 Aug 2024 20:55:54 +0100
Subject: [PATCH 1/3] Explicitly set HAS_VPRINTF, no longer defined by Perl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

HAS_VPRINTF was removed from Perl in 5.27.6 with

  https://github.com/Perl/perl5/commit/edee246148d0f7e22ea026e09413d4bcc0cb51dd

When it is not defined, there is no prototype for unac_debug_callback(),
which became a fatal compile error with GCC 14.

  Unaccent.xs: In function ‘XS_Text__Unaccent_unac_debug’:
  Unaccent.xs:109:17: error: implicit declaration of function ‘unac_debug_callback’ [-Wimplicit-function-declaration]

Bug: https://rt.cpan.org/Public/Bug/Display.html?id=124815
Bug-Debian: https://bugs.debian.org/1075214
---
 Makefile.PL | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.PL b/Makefile.PL
index 29af73d..16f1e1b 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -24,7 +24,7 @@ WriteMakefile(
     'NAME'	=> 'Text::Unaccent',
     'VERSION_FROM' => 'Unaccent.pm', # finds $VERSION
     'OBJECT'	=> '$(O_FILES)',
-    'DEFINE'	=> '-DHAVE_CONFIG_H',
+    'DEFINE'	=> '-DHAVE_CONFIG_H -DHAS_VPRINTF',
     'C'		=> [ 'Unaccent.c', 'unac.c' ],
     'LIBS'	=> [ '-liconv' ], 
     'INC'	=> '-I.',
-- 
2.45.2

>From f2d0b2ee168038694085351730f13081d5828301 Mon Sep 17 00:00:00 2001
From: Niko Tyni <nt...@debian.org>
Date: Sun, 4 Aug 2024 21:01:12 +0100
Subject: [PATCH] Run the test suite

---
 debian/rules | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/debian/rules b/debian/rules
index 2e0f1b9..2036f49 100755
--- a/debian/rules
+++ b/debian/rules
@@ -29,6 +29,9 @@ build-stamp:
 	# Add here commands to compile the package.
 	$(PERL) Makefile.PL INSTALLDIRS=vendor
 	$(MAKE) OPTIMIZE="$(OPTIMIZE)" LD_RUN_PATH=""
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+	$(MAKE) test
+endif
 
 	touch build-stamp
 
-- 
2.45.2

Reply via email to