kodi-gbm: included patch for swig-4.2.0

This commit is contained in:
Tim Biermann 2024-02-26 00:36:40 +01:00
parent 7811ac7b9e
commit c1e80b31f3
Signed by: tb
GPG Key ID: 42F8B4E30B673606
3 changed files with 41 additions and 3 deletions

View File

@ -1,10 +1,11 @@
untrusted comment: verify with /etc/ports/contrib.pub
RWSagIOpLGJF3whvKKqYvDLcL8wioyQyfSh8uFva7jPZj+Pzo8WLX8oGf4TdZnKYVWkYi1JEq6nIsP1X0mMkDWj1U2xycmOXAgg=
SHA256 (Pkgfile) = 554337e17cf61966682e98ecfb079c9b56751f5669f1c35503887d84dcd36eae
RWSagIOpLGJF30TP+zG8zKD0C04IYmY42/jZTVJE7dGZn7rheEoWwfrAGLvLJB1R/qRBV/Hj1HnkUo2qlepnp/Yr4pOeaYANiQs=
SHA256 (Pkgfile) = 775be55d63c976942428b2b6afed8c41bb78e200a2a7e65e7b4909bcd46766d6
SHA256 (.footprint) = e130bcf8d996eeb4e3a3047bfb990ae29c30040cd31abcb3e9d3c0796c949563
SHA256 (xbmc-20.4-Nexus.tar.gz) = ccb2d3e382b5ae628a89db2325f5e778f1770a2a182f6eaa25645a22ccdffb18
SHA256 (ffmpeg-4.4.1-Nexus-Alpha1.tar.gz) = abbce62231baffe237e412689c71ffe01bfc83135afd375f1e538caae87729ed
SHA256 (kodi-libdvdcss-1.4.3-Next-Nexus-Alpha2-2.tar.gz) = f38c4a4e7a4f4da6d8e83b8852489aa3bb6588a915dc41f5ee89d9aad305a06e
SHA256 (kodi-libdvdnav-6.1.1-Next-Nexus-Alpha2-2.tar.gz) = 584f62a3896794408d46368e2ecf2c6217ab9c676ce85921b2d68b8961f49dfc
SHA256 (kodi-libdvdread-6.1.3-Next-Nexus-Alpha2-2.tar.gz) = 719130091e3adc9725ba72df808f24a14737a009dca5a4c38c601c0c76449b62
SHA256 (swig-4.2.0.patch) = 27909339dffbf08cc900514fb883291efb7f5b21648fcb09300629a3efd4fadb
SHA256 (taglib.patch) = dc77cc0ba8eddef7b75b586b541e00c78db58d002e9928fdde6e9b34e5360cc7

View File

@ -6,7 +6,7 @@
name=kodi-gbm
version=20.4
release=1
release=2
# version variables {{{
_codename=Nexus
@ -21,6 +21,7 @@ source=(https://github.com/xbmc/xbmc/archive/$version-$_codename/xbmc-$version-$
https://github.com/xbmc/libdvdcss/archive/$_libdvdcss_version/${name/-gbm/}-libdvdcss-$_libdvdcss_version.tar.gz
https://github.com/xbmc/libdvdnav/archive/$_libdvdnav_version/${name/-gbm/}-libdvdnav-$_libdvdnav_version.tar.gz
https://github.com/xbmc/libdvdread/archive/$_libdvdread_version/${name/-gbm}-libdvdread-$_libdvdread_version.tar.gz
swig-4.2.0.patch
taglib.patch)
# }}}
# unpack_source() {{{
@ -75,6 +76,7 @@ build() {
xbmc-$version-$_codename/tools/depends/native/JsonSchemaBuilder/src/autogen.sh
patch -Np1 -d xbmc-$version-$_codename -i $SRC/taglib.patch
patch -Np1 -d xbmc-$version-$_codename -i $SRC/swig-4.2.0.patch
cmake -S xbmc-$version-$_codename -B build -G Ninja $KODI_EXTRA \
-D CMAKE_INSTALL_PREFIX=/usr \

35
kodi-gbm/swig-4.2.0.patch Normal file
View File

@ -0,0 +1,35 @@
From f6b1efbd6b3876537a25e7008bbf35254a1c55c7 Mon Sep 17 00:00:00 2001
From: fuzzard <fuzzard@kodi.tv>
Date: Mon, 1 Jan 2024 19:57:30 +1000
Subject: [PATCH] [swig] Fix building with Swig 4.2.0
swig 4.2.0 introduced a change that adds a constructor to the generated AddonModuleXbmcaddon.i.cpp
file. This causes failures such as
build/swig/AddonModuleXbmcaddon.i.cpp: In function 'PyObject* PythonBindings::xbmcaddon_XBMCAddon_xbmcaddon_Settings_New(PyTypeObject*, PyObject*, PyObject*)':
build/swig/AddonModuleXbmcaddon.i.cpp:1751:52: error: no matching function for call to 'XBMCAddon::xbmcaddon::Settings::Settings()'
1751 | apiResult = new XBMCAddon::xbmcaddon::Settings();
| ^
In file included from ../xbmc/interfaces/legacy/Addon.h:14,
from build/swig/AddonModuleXbmcaddon.i.cpp:30:
../xbmc/interfaces/legacy/Settings.h:58:3: note: candidate: 'XBMCAddon::xbmcaddon::Settings::Settings(std::shared_ptr<CSettingsBase>)'
58 | Settings(std::shared_ptr<CSettingsBase> settings);
| ^~~~~~~~
../xbmc/interfaces/legacy/Settings.h:58:3: note: candidate expects 1 argument, 0 provided
If we disable the contructor for Settings, we get the same generated output as swig <=4.1.1
---
xbmc/interfaces/swig/AddonModuleXbmcaddon.i | 1 +
1 file changed, 1 insertion(+)
diff --git a/xbmc/interfaces/swig/AddonModuleXbmcaddon.i b/xbmc/interfaces/swig/AddonModuleXbmcaddon.i
index 6c00a1caa2f5a..d38794c043377 100644
--- a/xbmc/interfaces/swig/AddonModuleXbmcaddon.i
+++ b/xbmc/interfaces/swig/AddonModuleXbmcaddon.i
@@ -33,5 +33,6 @@ using namespace xbmcaddon;
%include "interfaces/legacy/AddonString.h"
%include "interfaces/legacy/Addon.h"
+%nodefaultctor Settings;
%include "interfaces/legacy/Settings.h"