Package: libwx-perl Version: 1:0.9932-9 Severity: normal Tags: patch User: [email protected] Usertags: perl-5.44-transition
This package fails to build with newer versions of ExtUtils::ParseXS, including the one bundled with the upcoming Perl 5.44.0. The newer ExtUtils::ParseXs is not packaged in Debian quite yet. The build fails because EU::PXS has changed its processing order of INCLUDE: directives, triggering latent bugs in several libwx-perl XS source files. EU::PXS was largely rewritten during the Perl 5.44 development cycle, and the new ordering is more or less a bug fix. The libwx-perl modules were relying on the old processing order to bring in some of the Wx headers they need. The attached patch adds explicit #include directives for them. While the patch is not strictly needed in Debian before we move to Perl 5.44, it would help my testing if it could be included sooner. It should be harmless and works with older EU::PXS versions as well. I have tested that libwx-perl still builds fine in sid with the patch. A failing build log is at https://perl.debian.net/rebuild-logs/perl-5.44/libwx-perl_0.9932-9/libwx-perl_0.9932-9+b5_amd64-2026-07-04T07:25:45Z.build and the same site also hosts an apt repository of rebuilt packages for testing with Perl 5.44. -- Niko Tyni [email protected]
From: Niko Tyni <[email protected]> Date: Sat, 4 Jul 2026 11:53:26 +0100 X-Dgit-Generated: 1:0.9932-9 57cbaa9c628fe982d9d781ea6a51a211cd2bab95 Subject: Fix header includes for compatibility with newer EU::ParseXS versions These modules had a latent bug: they were relying on other modules to be included first to bring the required headers in. ExtUtils::ParseXS changed its processing order of INCLUDE: directives in the Perl 5.44 development cycle, triggering the bug. --- diff --git a/XS/Animation.xsp b/XS/Animation.xsp index 15df85e..86dee1c 100644 --- a/XS/Animation.xsp +++ b/XS/Animation.xsp @@ -15,6 +15,7 @@ #if WXPERL_W_VERSION_GE( 2, 7, 2 ) #include <wx/animate.h> +#include "cpp/streams.h" %name{Wx::Animation} class wxAnimation { diff --git a/XS/Bitmap.xs b/XS/Bitmap.xs index 71d3211..44407c7 100644 --- a/XS/Bitmap.xs +++ b/XS/Bitmap.xs @@ -11,6 +11,7 @@ ############################################################################# #include <wx/bitmap.h> +#include <wx/icon.h> MODULE=Wx PACKAGE=Wx::Mask diff --git a/XS/Colour.xs b/XS/Colour.xs index c74ab7d..5001a04 100644 --- a/XS/Colour.xs +++ b/XS/Colour.xs @@ -10,6 +10,8 @@ ## modify it under the same terms as Perl itself ############################################################################# +#include "cpp/overload.h" + MODULE=Wx PACKAGE=Wx::Colour void diff --git a/XS/DirDialog.xs b/XS/DirDialog.xs index 79fdefc..87c076e 100644 --- a/XS/DirDialog.xs +++ b/XS/DirDialog.xs @@ -11,6 +11,7 @@ ############################################################################# #include <wx/dirdlg.h> +#include <wx/filedlg.h> MODULE=Wx PACKAGE=Wx::DirDialog diff --git a/XS/Frame.xs b/XS/Frame.xs index 1c72162..dfe8d68 100644 --- a/XS/Frame.xs +++ b/XS/Frame.xs @@ -13,6 +13,7 @@ #include <wx/frame.h> #include <wx/menu.h> #include <wx/icon.h> +#include <wx/toolbar.h> #if wxPERL_USE_MINIFRAME #include <wx/minifram.h> #endif diff --git a/XS/ImageList.xsp b/XS/ImageList.xsp index 1e6666a..39ef794 100644 --- a/XS/ImageList.xsp +++ b/XS/ImageList.xsp @@ -11,6 +11,7 @@ ############################################################################# %{ +#include <wx/icon.h> #include <wx/imaglist.h> #define wxNullBitmapPtr (wxBitmap*) &wxNullBitmap diff --git a/XS/Log.xs b/XS/Log.xs index 6dc0cfe..89c3b92 100644 --- a/XS/Log.xs +++ b/XS/Log.xs @@ -10,6 +10,7 @@ ## modify it under the same terms as Perl itself ############################################################################# +#include <wx/frame.h> #include <wx/log.h> #include "cpp/log.h" diff --git a/XS/StaticLine.xs b/XS/StaticLine.xs index f4580c6..f48178c 100644 --- a/XS/StaticLine.xs +++ b/XS/StaticLine.xs @@ -13,6 +13,7 @@ MODULE=Wx PACKAGE=Wx::StaticLine #include <wx/statline.h> +#include <wx/stattext.h> wxStaticLine* wxStaticLine::new( parent, id = wxID_ANY, pos = wxDefaultPosition, size = wxDefaultSize, style = wxLI_HORIZONTAL, name = wxStaticTextNameStr ) diff --git a/ext/grid/XS/Grid.xs b/ext/grid/XS/Grid.xs index e76e9a1..fa10d2f 100644 --- a/ext/grid/XS/Grid.xs +++ b/ext/grid/XS/Grid.xs @@ -11,6 +11,7 @@ ############################################################################# #include <wx/grid.h> +#include <wx/pen.h> #include "cpp/overload.h" #if WXPERL_W_VERSION_GE( 2, 9, 0 )

