Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 892547 - media-tv/kodi-20.0: version bump, EAPI-8 bump
Summary: media-tv/kodi-20.0: version bump, EAPI-8 bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 11 votes (vote)
Assignee: Craig Andrews
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2023-01-30 02:18 UTC by Sam James
Modified: 2024-01-22 12:41 UTC (History)
25 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Working, non-verified ebuild (kodi-20.1.ebuild,10.97 KB, text/plain)
2023-04-22 15:16 UTC, satmd
Details
updated for ffmpeg v5 (kodi-20.1.ebuild,10.97 KB, patch)
2023-04-27 05:28 UTC, Andrew Saunders
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-01-30 02:18:53 UTC
Thanks!

Note that we don't need the < ... version dep on crossguid with 20.x.
Comment 1 Frank Krömmelbein 2023-04-13 18:41:45 UTC
New upstream version 20.1 was released on March 13, 2023.
Changelog:
https://kodi.tv/article/kodi-20-1-nexus-release/
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-04-13 18:43:10 UTC
ping
Comment 3 Craig Andrews gentoo-dev 2023-04-13 18:43:58 UTC
(In reply to Sam James from comment #2)
> ping

Yeah... I need to get on this...
Comment 4 boris64 2023-04-20 11:24:13 UTC
Since "Python 3.11 to become the default on 2023-05-01", will kodi-20 support PYTHON_SINGLE_TARGET=python3_11?
Comment 5 satmd 2023-04-22 15:16:16 UTC
Created attachment 860541 [details]
Working, non-verified ebuild

I've adapted the 19.5 ebuild for 20.1 and that ebuild is working for me.

It's only been tested with these USE flags: 
USE="X alsa bluetooth caps cec css dbus eventclients optical (system-ffmpeg) udev upnp webserver xslt -airplay -bluray -dav1d -gbm -gles -lcms -libusb -lirc -mariadb -mysql -nfs -power-control -pulseaudio (-raspberry-pi) -samba -test -udf -udisks -upower -vaapi -vdpau -wayland -zeroconf" CPU_FLAGS_X86="sse sse2 -avx -avx2 -sse3 -sse4_1 -sse4_2" PYTHON_SINGLE_TARGET="python3_10 -python3_9 -python3_11"

Produced application works here, but could not do extensive testing to missing other stuff:

For many plugins, you need kodi-inputstream-adaptive, which relies on bento4. I was not able to build the plugin through experimentation with an adapted ebuild. I can provide my progress on request (different bug?). kodi-inputstream-adaptive is mandatory for the youtube plugin and optional for twitch - at least.
Comment 6 Slaterson 2023-04-25 03:59:55 UTC
i used satmd's ebuild today in a local overlay and it worked fine for me.
Comment 7 David 2023-04-25 10:08:57 UTC
I did some tests in my overlay as well with the support of some plugins including (inputstream-adaptive). There are some changes to be made compared to the original ebuild in terms of cmake flags (LDGOLD -> GOLD, etc.).

https://github.com/dguglielmi/sunny-overlay/blob/master/media-plugins/kodi-inputstream-adaptive/kodi-inputstream-adaptive-20.3.6.ebuild

For bento4 we need a Kodi patched version to build inputstream-adaptive plugin, this is why I use the embded version.
Comment 8 Bjoern Olausson 2023-04-25 10:53:25 UTC
(In reply to Slaterson from comment #6)
> i used satmd's ebuild today in a local overlay and it worked fine for me.

Same for me - compiles just fine and is working as expected.

[ebuild     U  ] dev-libs/crossguid-0.2.2_p20190529::gentoo [0_pre20150817::gentoo] USE="-test%" 139 KiB
[ebuild     U  ] media-tv/kodi-20.1::private [19.5::gentoo] USE="X airplay alsa bluetooth bluray cec css dbus mysql nfs optical pulseaudio samba (system-ffmpeg) udev udf udisks upnp upower vaapi vdpau webserver xslt -caps -dav1d -eventclients -gbm -gles -lcms -libusb -lirc -mariadb -power-control (-raspberry-pi) -test -wayland -zeroconf" CPU_FLAGS_X86="avx avx2 sse sse2 sse3 sse4_1 sse4_2" PYTHON_SINGLE_TARGET="python3_10 -python3_9 -python3_11%" 0 KiB

Total: 2 packages (2 upgrades), Size of downloads: 139 KiB

Would you like to merge these packages? [Yes/No] 
>>> Verifying ebuild manifests
>>> Emerging (1 of 2) dev-libs/crossguid-0.2.2_p20190529::gentoo
>>> Installing (1 of 2) dev-libs/crossguid-0.2.2_p20190529::gentoo
>>> Emerging (2 of 2) media-tv/kodi-20.1::private
>>> Installing (2 of 2) media-tv/kodi-20.1::private
>>> Jobs: 2 of 2 complete                           Load avg: 8.72, 5.89, 3.29
Comment 9 Andrew Saunders 2023-04-27 05:28:53 UTC
Created attachment 860835 [details, diff]
updated for ffmpeg v5

updated ebuild for ffmpeg v5 as that's what my box uses. needed 0005-ffmpeg5.patch from https://salsa.debian.org/multimedia-team/kodi-media-center/kodi/-/commit/0f6c33665a82bc71f5094dbd006fb936082b69ef which applied cleanly. played some videos, seems ok.

also tried kodi-inputstream-adaptive-20.3.6.ebuild from above which compiled fine, but couldn't test youtube as its puking with "The following content is not available on this app." right now.
Comment 10 David 2023-04-27 08:26:46 UTC
(In reply to Andrew Saunders from comment #9)
> Created attachment 860835 [details, diff] [details, diff]
> updated for ffmpeg v5
> 
> updated ebuild for ffmpeg v5 as that's what my box uses. needed
> 0005-ffmpeg5.patch from
> https://salsa.debian.org/multimedia-team/kodi-media-center/kodi/-/commit/
> 0f6c33665a82bc71f5094dbd006fb936082b69ef which applied cleanly. played some
> videos, seems ok.
> 
> also tried kodi-inputstream-adaptive-20.3.6.ebuild from above which compiled
> fine, but couldn't test youtube as its puking with "The following content is
> not available on this app." right now.

To get YouTube video playback to work, you need to wait for the plugin to be updated to 7.0.2 or manually apply the following two patches to the plugin.

- https://github.com/anxdpanic/plugin.video.youtube/commit/d320b282865f93ed0d5ba00a4d449d0ecaacba89.patch
- https://github.com/anxdpanic/plugin.video.youtube/commit/ac2bf20a766bf454b0e7ed9dcd9aca42b1272ec6.patch

It's an issue related to plugin.video.youtube, not realy related to inputstream-adaptive itself.
Comment 11 Andreas Sturmlechner gentoo-dev 2023-05-14 09:22:26 UTC
pretty please only with EAPI-8.
Comment 12 David 2023-05-19 11:18:44 UTC
(In reply to Andreas Sturmlechner from comment #11)
> pretty please only with EAPI-8.

Updated in my overlay, I will take a look this weekend to support most of the plugins available in portage.

@Craig : Are you interested in me submitting merge requests on Github once I finish testing the additional plugins?
Comment 13 Lubos Kolouch 2023-06-14 19:03:45 UTC
It does not compile with me (20.1): 

/var/tmp/portage/portage/media-tv/kodi-20.1/work/xbmc-20.1-Nexus/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp:3078:3: error
: no matching function for call to 'av_probe_input_buffer'                                                                         
  av_probe_input_buffer(io_ctx, &io_fmt, file.c_str(), nullptr, 0, 0);                                                             
  ^~~~~~~~~~~~~~~~~~~~~                                                                                                            
/usr/include/libavformat/avformat.h:2084:5: note: candidate function not viable: no known conversion from 'AVInputFormat **' to 'co
nst AVInputFormat **' for 2nd argument                                                                                             
int av_probe_input_buffer(AVIOContext *pb, const AVInputFormat **fmt,                                                              
    ^                                                                                                                              
/var/tmp/portage/portage/media-tv/kodi-20.1/work/xbmc-20.1-Nexus/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp:3097:13: erro
r: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers                                                             
      dec = avcodec_find_decoder(codecId);                                                                                         
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                          
2 errors generated.
Comment 14 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-14 22:16:09 UTC
(In reply to David from comment #12)
> (In reply to Andreas Sturmlechner from comment #11)
> > pretty please only with EAPI-8.
> 
> Updated in my overlay, I will take a look this weekend to support most of
> the plugins available in portage.
> 
> @Craig : Are you interested in me submitting merge requests on Github once I
> finish testing the additional plugins?

Please do!
Comment 15 David 2023-07-02 11:12:53 UTC
Sorry for the long silence. I do some test with kodi-20.2 to prepare the MR.
Comment 16 Arnim Eijkhoudt 2023-08-03 07:56:18 UTC
*Bump*

Can we get 20.x merged please? The current outdated Kodi is blocking the new ffmpeg major too.
Comment 17 Saul Peebsen 2023-08-07 13:26:56 UTC
Some Kodi addons seem to be incompatible with 19.x, too.
Comment 18 Arnim Eijkhoudt 2023-08-21 10:20:24 UTC
Is there anything that needs to be done to get this merged? It's been almost 7 months since this was opened. I'm happy to assist with testing if needed.
Comment 19 boris64 2023-08-21 15:54:31 UTC
(In reply to Arnim Eijkhoudt from comment #18)
> Is there anything that needs to be done to get this merged? It's been almost
> 7 months since this was opened. I'm happy to assist with testing if needed.

I would volunteer for testing new kodi ebuilds (+deps etc.), too.
Comment 20 Lubos Kolouch 2023-09-08 08:14:03 UTC
The 20.1 ebuild does not work, there is already 20.2 version available.

At the same time 19.5 is not installable due to old ffmpeg.

Is there any other way how to get kodi installed to Gentoo?
Comment 21 David 2023-09-25 12:56:43 UTC
I need some tests with the last version from my overlay before sending MR.

https://github.com/dguglielmi/sunny-overlay/tree/master/media-tv/kodi

Any feedback with >=media-video/ffmpeg-6.0 and media-tv/kodi[system-ffmpeg] will be welcomed
Comment 22 Martin Bednar 2023-09-25 15:39:20 UTC
Shouldn't SLOT dependencies on ffmpeg be preferred over version for system-ffmpeg? Just reading through the ebuild, can't test this week. :(
Comment 23 Gino McCarty 2023-09-26 04:50:23 UTC
(In reply to David from comment #21)
> I need some tests with the last version from my overlay before sending MR.
> 
> https://github.com/dguglielmi/sunny-overlay/tree/master/media-tv/kodi
> 
> Any feedback with >=media-video/ffmpeg-6.0 and media-tv/kodi[system-ffmpeg]
> will be welcomed

David, I ran your overlay without issue against system ffmpeg-6
played videos and read my kodi-19 database without error

I didn't test against internal ffmpeg though

here is a modification with slotting instead of version numbers, I also added a target for ffmpeg-5 internal

can you all answer some questions for me?

1. why not system libdvd(nav/sys/read)?
2. why the eventclient behavior instead of Cmake argument?


Here is a diff of your ebuild:
```
--- /home/user/Downloads/sunny-overlay-master/media-tv/kodi/kodi-20.2-r1.ebuild	2023-09-25 13:57:03.000000000 -0700
+++ kodi-20.2-r1.ebuild	2023-09-25 21:33:08.819121504 -0700
@@ -7,14 +7,14 @@
 LIBDVDCSS_VERSION="1.4.3-Next-Nexus-Alpha2-2"
 LIBDVDREAD_VERSION="6.1.3-Next-Nexus-Alpha2-2"
 LIBDVDNAV_VERSION="6.1.1-Next-Nexus-Alpha2-2"
-FFMPEG_VERSION="4.4.1"
+FFMPEG_VERSION="5.1.2-Nexus-Alpha3"
+FFMPEG_SYSTEM_SLOT="0/58.60.60"
 CODENAME="Nexus"
-FFMPEG_KODI_VERSION="Alpha1"
 PYTHON_COMPAT=( python3_{10,11} )
 SRC_URI="https://github.com/xbmc/libdvdcss/archive/${LIBDVDCSS_VERSION}.tar.gz -> libdvdcss-${LIBDVDCSS_VERSION}.tar.gz
 	https://github.com/xbmc/libdvdread/archive/${LIBDVDREAD_VERSION}.tar.gz -> libdvdread-${LIBDVDREAD_VERSION}.tar.gz
 	https://github.com/xbmc/libdvdnav/archive/${LIBDVDNAV_VERSION}.tar.gz -> libdvdnav-${LIBDVDNAV_VERSION}.tar.gz
-	!system-ffmpeg? ( https://github.com/xbmc/FFmpeg/archive/${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz -> ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz )"
+	!system-ffmpeg? ( https://github.com/xbmc/FFmpeg/archive/${FFMPEG_VERSION}.tar.gz -> ffmpeg-${PN}-${FFMPEG_VERSION}.tar.gz )"
 if [[ ${PV} == *9999 ]] ; then
 	EGIT_REPO_URI="https://github.com/xbmc/xbmc.git"
 	EGIT_BRANCH="Nexus"
@@ -108,8 +108,7 @@
 	!raspberry-pi? ( media-libs/mesa[egl(+)] )
 	>=media-libs/taglib-1.11.1
 	system-ffmpeg? (
-		>=media-video/ffmpeg-${FFMPEG_VERSION}:=[dav1d?,encode,postproc]
-		=media-video/ffmpeg-6*[openssl]
+		media-video/ffmpeg:${FFMPEG_SYSTEM_SLOT}[openssl,dav1d?,encode,postproc]
 	)
 	!system-ffmpeg? (
 		app-arch/bzip2
@@ -314,9 +313,9 @@
 	use X && use !gles && mycmakeargs+=( -DENABLE_GLX=ON )

 	if use system-ffmpeg; then
-		mycmakeargs+=( -DWITH_FFMPEG="yes" )
+		mycmakeargs+=( -DWITH_FFMPEG="YES" )
 	else
-		mycmakeargs+=( -DFFMPEG_URL="${DISTDIR}/ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz" )
+		mycmakeargs+=( -DFFMPEG_URL="${DISTDIR}/ffmpeg-${PN}-${FFMPEG_VERSION}.tar.gz" )
 	fi

 	if ! echo "${CFLAGS}" | grep -Fwqe '-DNDEBUG' - && ! echo "${CFLAGS}" | grep -Fwqe '-D_DEBUG' - ; then
@@ -363,3 +362,4 @@

 	python_optimize "${D}$(python_get_sitedir)"
 }
+
```
Comment 24 Bjoern Olausson 2023-09-26 08:45:57 UTC
(In reply to Gino McCarty from comment #23)
> (In reply to David from comment #21)
> > I need some tests with the last version from my overlay before sending MR.
> > 
> > https://github.com/dguglielmi/sunny-overlay/tree/master/media-tv/kodi
> > 
> > Any feedback with >=media-video/ffmpeg-6.0 and media-tv/kodi[system-ffmpeg]
> > will be welcomed
> 
> David, I ran your overlay without issue against system ffmpeg-6
> played videos and read my kodi-19 database without error
> 
> I didn't test against internal ffmpeg though
> 
> here is a modification with slotting instead of version numbers, I also
> added a target for ffmpeg-5 internal
> 
> can you all answer some questions for me?
> 
> 1. why not system libdvd(nav/sys/read)?
> 2. why the eventclient behavior instead of Cmake argument?
> 
> 
> Here is a diff of your ebuild:
> [...]

I tested the ebuild with the applied patch - compiles and runs fine on "default/linux/amd64/17.1" with gcc 13.2.1_p20230826

Installed versions:  20.2-r1^t[1](09:59:12 26/09/23)(X airplay alsa bluetooth bluray cec css dbus mysql nfs optical pulseaudio samba system-ffmpeg udev udf udisks upnp upower vaapi vdpau webserver xslt -caps -dav1d -eventclients -gbm -gles -lcms -libusb -lirc -mariadb -pipewire -power-control -raspberry-pi -test -wayland -zeroconf CPU_FLAGS_ARM="-neon" CPU_FLAGS_X86="avx avx2 sse sse2 sse3 sse4_1 sse4_2" PYTHON_SINGLE_TARGET="python3_10 -python3_11")
Comment 25 David 2023-09-26 19:24:45 UTC
(In reply to Gino McCarty from comment #23)
> (In reply to David from comment #21)
> > I need some tests with the last version from my overlay before sending MR.
> > 
> > https://github.com/dguglielmi/sunny-overlay/tree/master/media-tv/kodi
> > 
> > Any feedback with >=media-video/ffmpeg-6.0 and media-tv/kodi[system-ffmpeg]
> > will be welcomed
> 
> David, I ran your overlay without issue against system ffmpeg-6
> played videos and read my kodi-19 database without error
> 
> I didn't test against internal ffmpeg though
> 
> here is a modification with slotting instead of version numbers, I also
> added a target for ffmpeg-5 internal
> 
> can you all answer some questions for me?
> 
> 1. why not system libdvd(nav/sys/read)?
> 2. why the eventclient behavior instead of Cmake argument?
> 
> 
> Here is a diff of your ebuild:
> ```
> ---
> /home/user/Downloads/sunny-overlay-master/media-tv/kodi/kodi-20.2-r1.ebuild
> 2023-09-25 13:57:03.000000000 -0700
> +++ kodi-20.2-r1.ebuild	2023-09-25 21:33:08.819121504 -0700
> @@ -7,14 +7,14 @@
>  LIBDVDCSS_VERSION="1.4.3-Next-Nexus-Alpha2-2"
>  LIBDVDREAD_VERSION="6.1.3-Next-Nexus-Alpha2-2"
>  LIBDVDNAV_VERSION="6.1.1-Next-Nexus-Alpha2-2"
> -FFMPEG_VERSION="4.4.1"
> +FFMPEG_VERSION="5.1.2-Nexus-Alpha3"
> +FFMPEG_SYSTEM_SLOT="0/58.60.60"
>  CODENAME="Nexus"
> -FFMPEG_KODI_VERSION="Alpha1"
>  PYTHON_COMPAT=( python3_{10,11} )
>  SRC_URI="https://github.com/xbmc/libdvdcss/archive/${LIBDVDCSS_VERSION}.tar.
> gz -> libdvdcss-${LIBDVDCSS_VERSION}.tar.gz
>  	https://github.com/xbmc/libdvdread/archive/${LIBDVDREAD_VERSION}.tar.gz ->
> libdvdread-${LIBDVDREAD_VERSION}.tar.gz
>  	https://github.com/xbmc/libdvdnav/archive/${LIBDVDNAV_VERSION}.tar.gz ->
> libdvdnav-${LIBDVDNAV_VERSION}.tar.gz
> -	!system-ffmpeg? (
> https://github.com/xbmc/FFmpeg/archive/${FFMPEG_VERSION}-${CODENAME}-
> ${FFMPEG_KODI_VERSION}.tar.gz ->
> ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz )"
> +	!system-ffmpeg? (
> https://github.com/xbmc/FFmpeg/archive/${FFMPEG_VERSION}.tar.gz ->
> ffmpeg-${PN}-${FFMPEG_VERSION}.tar.gz )"
>  if [[ ${PV} == *9999 ]] ; then
>  	EGIT_REPO_URI="https://github.com/xbmc/xbmc.git"
>  	EGIT_BRANCH="Nexus"
> @@ -108,8 +108,7 @@
>  	!raspberry-pi? ( media-libs/mesa[egl(+)] )
>  	>=media-libs/taglib-1.11.1
>  	system-ffmpeg? (
> -		>=media-video/ffmpeg-${FFMPEG_VERSION}:=[dav1d?,encode,postproc]
> -		=media-video/ffmpeg-6*[openssl]
> +		media-video/ffmpeg:${FFMPEG_SYSTEM_SLOT}[openssl,dav1d?,encode,postproc]
>  	)
>  	!system-ffmpeg? (
>  		app-arch/bzip2
> @@ -314,9 +313,9 @@
>  	use X && use !gles && mycmakeargs+=( -DENABLE_GLX=ON )
> 
>  	if use system-ffmpeg; then
> -		mycmakeargs+=( -DWITH_FFMPEG="yes" )
> +		mycmakeargs+=( -DWITH_FFMPEG="YES" )
>  	else
> -		mycmakeargs+=(
> -DFFMPEG_URL="${DISTDIR}/ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-
> ${FFMPEG_KODI_VERSION}.tar.gz" )
> +		mycmakeargs+=(
> -DFFMPEG_URL="${DISTDIR}/ffmpeg-${PN}-${FFMPEG_VERSION}.tar.gz" )
>  	fi
> 
>  	if ! echo "${CFLAGS}" | grep -Fwqe '-DNDEBUG' - && ! echo "${CFLAGS}" |
> grep -Fwqe '-D_DEBUG' - ; then
> @@ -363,3 +362,4 @@
> 
>  	python_optimize "${D}$(python_get_sitedir)"
>  }
> +
> ```

Thanks Bjoern and Gino for the tests/feedback. I will integrate some of the changes proposed. After a short check, It seems that we don't need to depend on a ffmpeg slot. The patches from Debian support (in theory) ffmpeg 4, 5 and 6 (test in progress).

Regarding system-wide libdvdnav, libdvdread etc.. It's inherited from the previous ebuild in portage, I will take a look to support that. Debian patches are also available.

Same for "eventclient" part, which is enabled by default to build unconditionally kodi-send binary

```
-DENABLE_EVENTCLIENTS=ON # alway enable to have 'kodi-send' and filter extra staff in 'src_install()'
```

I don't really know why and if we should keep that behavior.

For now, I have one last big issue with pvr.hts plugin and ffmpeg-6 (segfault). I think this is mandatory for to fix that before sending a MR.
Comment 26 Gino McCarty 2023-09-28 07:12:40 UTC
(In reply to David from comment #25)
> (In reply to Gino McCarty from comment #23)
> > (In reply to David from comment #21)
> > > I need some tests with the last version from my overlay before sending MR.
> > > 
> > > https://github.com/dguglielmi/sunny-overlay/tree/master/media-tv/kodi
> > > 
> > > Any feedback with >=media-video/ffmpeg-6.0 and media-tv/kodi[system-ffmpeg]
> > > will be welcomed
> > 
> > David, I ran your overlay without issue against system ffmpeg-6
> > played videos and read my kodi-19 database without error
> > 
> > I didn't test against internal ffmpeg though
> > 
> > here is a modification with slotting instead of version numbers, I also
> > added a target for ffmpeg-5 internal
> > 
> > can you all answer some questions for me?
> > 
> > 1. why not system libdvd(nav/sys/read)?
> > 2. why the eventclient behavior instead of Cmake argument?
> > 
> > 
> > Here is a diff of your ebuild:
> > ```
> > ---
> > /home/user/Downloads/sunny-overlay-master/media-tv/kodi/kodi-20.2-r1.ebuild
> > 2023-09-25 13:57:03.000000000 -0700
> > +++ kodi-20.2-r1.ebuild	2023-09-25 21:33:08.819121504 -0700
> > @@ -7,14 +7,14 @@
> >  LIBDVDCSS_VERSION="1.4.3-Next-Nexus-Alpha2-2"
> >  LIBDVDREAD_VERSION="6.1.3-Next-Nexus-Alpha2-2"
> >  LIBDVDNAV_VERSION="6.1.1-Next-Nexus-Alpha2-2"
> > -FFMPEG_VERSION="4.4.1"
> > +FFMPEG_VERSION="5.1.2-Nexus-Alpha3"
> > +FFMPEG_SYSTEM_SLOT="0/58.60.60"
> >  CODENAME="Nexus"
> > -FFMPEG_KODI_VERSION="Alpha1"
> >  PYTHON_COMPAT=( python3_{10,11} )
> >  SRC_URI="https://github.com/xbmc/libdvdcss/archive/${LIBDVDCSS_VERSION}.tar.
> > gz -> libdvdcss-${LIBDVDCSS_VERSION}.tar.gz
> >  	https://github.com/xbmc/libdvdread/archive/${LIBDVDREAD_VERSION}.tar.gz ->
> > libdvdread-${LIBDVDREAD_VERSION}.tar.gz
> >  	https://github.com/xbmc/libdvdnav/archive/${LIBDVDNAV_VERSION}.tar.gz ->
> > libdvdnav-${LIBDVDNAV_VERSION}.tar.gz
> > -	!system-ffmpeg? (
> > https://github.com/xbmc/FFmpeg/archive/${FFMPEG_VERSION}-${CODENAME}-
> > ${FFMPEG_KODI_VERSION}.tar.gz ->
> > ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-${FFMPEG_KODI_VERSION}.tar.gz )"
> > +	!system-ffmpeg? (
> > https://github.com/xbmc/FFmpeg/archive/${FFMPEG_VERSION}.tar.gz ->
> > ffmpeg-${PN}-${FFMPEG_VERSION}.tar.gz )"
> >  if [[ ${PV} == *9999 ]] ; then
> >  	EGIT_REPO_URI="https://github.com/xbmc/xbmc.git"
> >  	EGIT_BRANCH="Nexus"
> > @@ -108,8 +108,7 @@
> >  	!raspberry-pi? ( media-libs/mesa[egl(+)] )
> >  	>=media-libs/taglib-1.11.1
> >  	system-ffmpeg? (
> > -		>=media-video/ffmpeg-${FFMPEG_VERSION}:=[dav1d?,encode,postproc]
> > -		=media-video/ffmpeg-6*[openssl]
> > +		media-video/ffmpeg:${FFMPEG_SYSTEM_SLOT}[openssl,dav1d?,encode,postproc]
> >  	)
> >  	!system-ffmpeg? (
> >  		app-arch/bzip2
> > @@ -314,9 +313,9 @@
> >  	use X && use !gles && mycmakeargs+=( -DENABLE_GLX=ON )
> > 
> >  	if use system-ffmpeg; then
> > -		mycmakeargs+=( -DWITH_FFMPEG="yes" )
> > +		mycmakeargs+=( -DWITH_FFMPEG="YES" )
> >  	else
> > -		mycmakeargs+=(
> > -DFFMPEG_URL="${DISTDIR}/ffmpeg-${PN}-${FFMPEG_VERSION}-${CODENAME}-
> > ${FFMPEG_KODI_VERSION}.tar.gz" )
> > +		mycmakeargs+=(
> > -DFFMPEG_URL="${DISTDIR}/ffmpeg-${PN}-${FFMPEG_VERSION}.tar.gz" )
> >  	fi
> > 
> >  	if ! echo "${CFLAGS}" | grep -Fwqe '-DNDEBUG' - && ! echo "${CFLAGS}" |
> > grep -Fwqe '-D_DEBUG' - ; then
> > @@ -363,3 +362,4 @@
> > 
> >  	python_optimize "${D}$(python_get_sitedir)"
> >  }
> > +
> > ```
> 
> Thanks Bjoern and Gino for the tests/feedback. I will integrate some of the
> changes proposed. After a short check, It seems that we don't need to depend
> on a ffmpeg slot. The patches from Debian support (in theory) ffmpeg 4, 5
> and 6 (test in progress).
> 
> Regarding system-wide libdvdnav, libdvdread etc.. It's inherited from the
> previous ebuild in portage, I will take a look to support that. Debian
> patches are also available.
> 
> Same for "eventclient" part, which is enabled by default to build
> unconditionally kodi-send binary
> 
> ```
> -DENABLE_EVENTCLIENTS=ON # alway enable to have 'kodi-send' and filter extra
> staff in 'src_install()'
> ```
> 
> I don't really know why and if we should keep that behavior.
> 
> For now, I have one last big issue with pvr.hts plugin and ffmpeg-6
> (segfault). I think this is mandatory for to fix that before sending a MR.

thanks for checking david, for what its worth, I have some answers, if you try to force a system libdvd**, kodi will try to download its own version itself. the download behavior cannot AFAIK be circumvented. It could probably be patched around, but IMHO its probably not worth the work.
Comment 27 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-09-30 05:19:32 UTC
I can't promise to review it immediately, but as a last resort, I'm happy to review any PRs on the mirror at github.com/gentoo/gentoo when the work here is ready.

But hopefully candrews can take a look too.
Comment 28 Joost Ruis 2023-10-07 11:16:20 UTC
After accepting the ~amd64 keyword for dev-cpp/waylandpp I was able to build media-tv/kodi-20.2-r2::sunny-overlay without any issues.
Comment 29 Martin Bednar 2023-10-07 14:30:49 UTC
1. failure using bundled ffmpeg:
     file='/var/tmp/portage/media-tv/kodi-20.2-r2/distdir/ffmpeg-kodi-5.1.2-Nexus-Alpha3.tar.gz'
CMake Error at ffmpeg-stamp/verify-ffmpeg.cmake:29 (message):
  error: SHA512 hash of

    /var/tmp/portage/media-tv/kodi-20.2-r2/distdir/ffmpeg-kodi-5.1.2-Nexus-Alpha3.tar.gz

  does not match expected value

    expected: '8beb04d577b5251e74b0d52f4d130997a8ba94bbd488c7c8309e6b45095c27807e150212888ce3a384b23dff52f8df1a7bde5407bae924ddc363f8125c0616c5'
      actual: 'ce60852b8456d6f4bfc60de0ceadb33034d9b3eea8c0bc84d8b7199984ecbf334a2c4d9b42eade439d0ef30ce22e3b2ca0a49d4df837a18cd3136b4343ed3113'



2. Error compiling using system ffmpeg-4.4.4-r3:0/56.58.58. Beware:of https://bugs.gentoo.org/864721 , that's why I was still on ffmpeg-4, and I suppose quite a few people will be...

/var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/FFmpeg.cpp: In function ‘std::tuple<unsigned char*, int> GetPacketExtradata(const AVPacket*, const AVCodecParameters*)’:
/var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/FFmpeg.cpp:265:7: error: ‘codecCtx’ was not declared in this scope
  265 |   if (codecCtx && parserCtx && parserCtx->parser && parserCtx->parser->split)
      |       ^~~~~~~~
/var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/FFmpeg.cpp:265:19: error: ‘parserCtx’ was not declared in this scope
  265 |   if (codecCtx && parserCtx && parserCtx->parser && parserCtx->parser->split)
      |                   ^~~~~~~~~
Commenting out the following patches makes it work with ffmpeg-4:
ffmpeg5.patch
ffmpeg6.patch
fix-crash-in-avcodec_parameters_from_context.patch
smart_ptr-and-custom-destructor-for-AVCodecParameters.patch
      
Works fine on system with ffmpeg-{4,5,6} + wayland, including the HTS plugin.
No tests with bad signal reception were performed (easy potential source of crashes).
 Thanks!
Comment 30 Sylvain CANOINE 2023-10-14 15:01:25 UTC
(In reply to Joost Ruis from comment #28)
> After accepting the ~amd64 keyword for dev-cpp/waylandpp I was able to build
> media-tv/kodi-20.2-r2::sunny-overlay without any issues.
Idem.

(In reply to Martin Bednar from comment #29)
> 1. failure using bundled ffmpeg:
Didn't test.

> 2. Error compiling using system ffmpeg-4.4.4-r3:0/56.58.58. Beware:of
> https://bugs.gentoo.org/864721 , that's why I was still on ffmpeg-4, and I
> suppose quite a few people will be...
> 
> /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> FFmpeg.cpp: In function ‘std::tuple<unsigned char*, int>
> GetPacketExtradata(const AVPacket*, const AVCodecParameters*)’:
> /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> FFmpeg.cpp:265:7: error: ‘codecCtx’ was not declared in this scope
>   265 |   if (codecCtx && parserCtx && parserCtx->parser &&
> parserCtx->parser->split)
>       |       ^~~~~~~~
> /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> FFmpeg.cpp:265:19: error: ‘parserCtx’ was not declared in this scope
>   265 |   if (codecCtx && parserCtx && parserCtx->parser &&
> parserCtx->parser->split)
>       |                   ^~~~~~~~~
Same behaviour.
I uninstalled ffmpeg 4 and portage pushed media-video/ffmpeg-6.0-r6 as a dependency. Then kodi builds and works well.
Comment 31 Mikkl 2023-10-23 19:49:23 UTC
(In reply to Martin Bednar from comment #29)
> 1. failure using bundled ffmpeg:
>     
> file='/var/tmp/portage/media-tv/kodi-20.2-r2/distdir/ffmpeg-kodi-5.1.2-Nexus-
> Alpha3.tar.gz'
> CMake Error at ffmpeg-stamp/verify-ffmpeg.cmake:29 (message):
>   error: SHA512 hash of
> 
>    
> /var/tmp/portage/media-tv/kodi-20.2-r2/distdir/ffmpeg-kodi-5.1.2-Nexus-
> Alpha3.tar.gz
> 
>   does not match expected value
> 
>     expected:
> '8beb04d577b5251e74b0d52f4d130997a8ba94bbd488c7c8309e6b45095c27807e150212888c
> e3a384b23dff52f8df1a7bde5407bae924ddc363f8125c0616c5'
>       actual:
> 'ce60852b8456d6f4bfc60de0ceadb33034d9b3eea8c0bc84d8b7199984ecbf334a2c4d9b42ea
> de439d0ef30ce22e3b2ca0a49d4df837a18cd3136b4343ed3113'
> 
> 
> 
> 2. Error compiling using system ffmpeg-4.4.4-r3:0/56.58.58. Beware:of
> https://bugs.gentoo.org/864721 , that's why I was still on ffmpeg-4, and I
> suppose quite a few people will be...
> 
> /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> FFmpeg.cpp: In function ‘std::tuple<unsigned char*, int>
> GetPacketExtradata(const AVPacket*, const AVCodecParameters*)’:
> /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> FFmpeg.cpp:265:7: error: ‘codecCtx’ was not declared in this scope
>   265 |   if (codecCtx && parserCtx && parserCtx->parser &&
> parserCtx->parser->split)
>       |       ^~~~~~~~
> /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> FFmpeg.cpp:265:19: error: ‘parserCtx’ was not declared in this scope
>   265 |   if (codecCtx && parserCtx && parserCtx->parser &&
> parserCtx->parser->split)
>       |                   ^~~~~~~~~
> Commenting out the following patches makes it work with ffmpeg-4:
> ffmpeg5.patch
> ffmpeg6.patch

I have exactly the same experience. No chance to upgrade to >ffmpeg-4 because of too many dependencies on <ffmpeg-5.
Comment 32 Benjamin Réveillé 2023-10-26 19:21:24 UTC
I have python 3.11 and 3.12 installed.

configured with:
*/* PYTHON_TARGETS: -* python3_11 python3_12
*/* PYTHON_SINGLE_TARGETS: -* python3_11


I had to add the following line in the ebuild:
		 
		-Dlibdvdnav_URL="${DISTDIR}/libdvdnav-${LIBDVDNAV_VERSION}.tar.gz"
 		-Dlibdvdcss_URL="${DISTDIR}/libdvdcss-${LIBDVDCSS_VERSION}.tar.gz"
 		-DPYTHON_PATH="$(python_get_library_path)"
+		-DPYTHON_VER="${EPYTHON/python/}"
 		-DAPP_RENDER_SYSTEM="$(usex gles gles gl)"
 		-DCORE_PLATFORM_NAME="${core_platform_name}"
 	)


or else PYTHON_VERSION_HEX was causing -Werror-uninitialised to bork the build for swigg.cpp at line 75.
Comment 33 Benjamin Réveillé 2023-10-26 19:23:18 UTC
(In reply to Mikkl from comment #31)
> (In reply to Martin Bednar from comment #29)
> > 1. failure using bundled ffmpeg:
> >     
> > file='/var/tmp/portage/media-tv/kodi-20.2-r2/distdir/ffmpeg-kodi-5.1.2-Nexus-
> > Alpha3.tar.gz'
> > CMake Error at ffmpeg-stamp/verify-ffmpeg.cmake:29 (message):
> >   error: SHA512 hash of
> > 
> >    
> > /var/tmp/portage/media-tv/kodi-20.2-r2/distdir/ffmpeg-kodi-5.1.2-Nexus-
> > Alpha3.tar.gz
> > 
> >   does not match expected value
> > 
> >     expected:
> > '8beb04d577b5251e74b0d52f4d130997a8ba94bbd488c7c8309e6b45095c27807e150212888c
> > e3a384b23dff52f8df1a7bde5407bae924ddc363f8125c0616c5'
> >       actual:
> > 'ce60852b8456d6f4bfc60de0ceadb33034d9b3eea8c0bc84d8b7199984ecbf334a2c4d9b42ea
> > de439d0ef30ce22e3b2ca0a49d4df837a18cd3136b4343ed3113'
> > 
> > 
> > 
> > 2. Error compiling using system ffmpeg-4.4.4-r3:0/56.58.58. Beware:of
> > https://bugs.gentoo.org/864721 , that's why I was still on ffmpeg-4, and I
> > suppose quite a few people will be...
> > 
> > /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> > FFmpeg.cpp: In function ‘std::tuple<unsigned char*, int>
> > GetPacketExtradata(const AVPacket*, const AVCodecParameters*)’:
> > /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> > FFmpeg.cpp:265:7: error: ‘codecCtx’ was not declared in this scope
> >   265 |   if (codecCtx && parserCtx && parserCtx->parser &&
> > parserCtx->parser->split)
> >       |       ^~~~~~~~
> > /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> > FFmpeg.cpp:265:19: error: ‘parserCtx’ was not declared in this scope
> >   265 |   if (codecCtx && parserCtx && parserCtx->parser &&
> > parserCtx->parser->split)
> >       |                   ^~~~~~~~~
> > Commenting out the following patches makes it work with ffmpeg-4:
> > ffmpeg5.patch
> > ffmpeg6.patch
> 
> I have exactly the same experience. No chance to upgrade to >ffmpeg-4
> because of too many dependencies on <ffmpeg-5.

I just had to unmask "=media-video/vlc-9999" and keyword_accept "media-video/vlc **" 
and then everything was OK with ffmpeg-6
Comment 34 Benjamin Réveillé 2023-10-26 19:27:12 UTC
(In reply to Benjamin Réveillé from comment #32)
> I have python 3.11 and 3.12 installed.
> 
> configured with:
> */* PYTHON_TARGETS: -* python3_11 python3_12
> */* PYTHON_SINGLE_TARGETS: -* python3_11
> 
> 
> I had to add the following line in the ebuild:
> 		 
> 		-Dlibdvdnav_URL="${DISTDIR}/libdvdnav-${LIBDVDNAV_VERSION}.tar.gz"
>  		-Dlibdvdcss_URL="${DISTDIR}/libdvdcss-${LIBDVDCSS_VERSION}.tar.gz"
>  		-DPYTHON_PATH="$(python_get_library_path)"
> +		-DPYTHON_VER="${EPYTHON/python/}"
>  		-DAPP_RENDER_SYSTEM="$(usex gles gles gl)"
>  		-DCORE_PLATFORM_NAME="${core_platform_name}"
>  	)
> 
> 
> or else PYTHON_VERSION_HEX was causing -Werror-uninitialised to bork the
> build for swigg.cpp at line 75.

The exact error was : /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/interfaces/python/swig.cpp:75:5: erreur: initialisation manquante pour le membre « _typeobject::tp_watched » [-Werror=missing-field-initializers]
Comment 35 James Broadhead 2023-11-08 22:19:21 UTC
Compiles fine here as media-tv/kodi-20.2 with media-video/ffmpeg-4.4.4-r6 and dev-lang/python-3.11.5
Comment 36 James Broadhead 2023-11-12 13:23:41 UTC
Running fine with: 
media-tv/kodi-20.2-r2 [sunny-overlay] +system-ffmpeg
media-video/ffmpeg-6.0-r9
Comment 37 Nebojsa Trpkovic 2023-11-25 19:35:28 UTC
Any reaction from official team?
Comment 38 Hannes Schweizer 2023-11-26 20:04:00 UTC
*bump*

I've been eagerly waiting for this to enable ffmpeg-6.
Reading through the comments, I'm not sure what's blocking this issue.
How can we speed up the process?
Comment 39 Nebojsa Trpkovic 2023-12-23 03:55:36 UTC
8 months since opening. Any progress?
Comment 40 Saul Peebsen 2023-12-28 15:51:39 UTC
(In reply to Nebojsa Trpkovic from comment #39)
> 8 months since opening. Any progress?

What's the use. Kodi v21 (Omega) Beta is offered for public testing and use. Stable release is not far away.
Comment 41 Mikkl 2024-01-11 20:49:49 UTC
(In reply to Benjamin Réveillé from comment #33)
> (In reply to Mikkl from comment #31)
> > (In reply to Martin Bednar from comment #29)
> > > 1. failure using bundled ffmpeg:
> > >     
> > > file='/var/tmp/portage/media-tv/kodi-20.2-r2/distdir/ffmpeg-kodi-5.1.2-Nexus-
> > > Alpha3.tar.gz'
> > > CMake Error at ffmpeg-stamp/verify-ffmpeg.cmake:29 (message):
> > >   error: SHA512 hash of
> > > 
> > >    
> > > /var/tmp/portage/media-tv/kodi-20.2-r2/distdir/ffmpeg-kodi-5.1.2-Nexus-
> > > Alpha3.tar.gz
> > > 
> > >   does not match expected value
> > > 
> > >     expected:
> > > '8beb04d577b5251e74b0d52f4d130997a8ba94bbd488c7c8309e6b45095c27807e150212888c
> > > e3a384b23dff52f8df1a7bde5407bae924ddc363f8125c0616c5'
> > >       actual:
> > > 'ce60852b8456d6f4bfc60de0ceadb33034d9b3eea8c0bc84d8b7199984ecbf334a2c4d9b42ea
> > > de439d0ef30ce22e3b2ca0a49d4df837a18cd3136b4343ed3113'
> > > 
> > > 
> > > 
> > > 2. Error compiling using system ffmpeg-4.4.4-r3:0/56.58.58. Beware:of
> > > https://bugs.gentoo.org/864721 , that's why I was still on ffmpeg-4, and I
> > > suppose quite a few people will be...
> > > 
> > > /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> > > FFmpeg.cpp: In function ‘std::tuple<unsigned char*, int>
> > > GetPacketExtradata(const AVPacket*, const AVCodecParameters*)’:
> > > /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> > > FFmpeg.cpp:265:7: error: ‘codecCtx’ was not declared in this scope
> > >   265 |   if (codecCtx && parserCtx && parserCtx->parser &&
> > > parserCtx->parser->split)
> > >       |       ^~~~~~~~
> > > /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> > > FFmpeg.cpp:265:19: error: ‘parserCtx’ was not declared in this scope
> > >   265 |   if (codecCtx && parserCtx && parserCtx->parser &&
> > > parserCtx->parser->split)
> > >       |                   ^~~~~~~~~
> > > Commenting out the following patches makes it work with ffmpeg-4:
> > > ffmpeg5.patch
> > > ffmpeg6.patch
> > 
> > I have exactly the same experience. No chance to upgrade to >ffmpeg-4
> > because of too many dependencies on <ffmpeg-5.
> 
> I just had to unmask "=media-video/vlc-9999" and keyword_accept
> "media-video/vlc **" 
> and then everything was OK with ffmpeg-6

OK, i made the jump to ffmpeg-6 now, too. vlc-9999 is happily crashing, but that's another story...
However, using media-tv/kodi-20.3 [sunny-overlay] i get multiple errors like these:

[1598/1627] cd /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig && /usr/bin/swig -w401 -c++ -o AddonModuleXbmcdrm.i.xml -xml -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc -xmllang python /var/tmp/portage/media-tv
/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/swig/../swig/AddonModuleXbmcdrm.i && /etc/java-config-2/current-system-vm/bin/java --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.io=
ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED -cp /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/groovy/groovy-4.0.6.jar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-
Nexus/tools/codegenerator/groovy/groovy-xml-4.0.6.jar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/groovy/groovy-templates-4.0.6.jar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/groovy/common
s-lang-2.6.jar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/swig/../python groovy.ui.GroovyMain /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nex
us/tools/codegenerator/Generator.groovy AddonModuleXbmcdrm.i.xml /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/swig/../python/PythonSwig.cpp.template AddonModuleXbmcdrm.i.cpp > /dev/null
FAILED: build/swig/AddonModuleXbmcdrm.i.cpp /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/AddonModuleXbmcdrm.i.cpp 
cd /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig && /usr/bin/swig -w401 -c++ -o AddonModuleXbmcdrm.i.xml -xml -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc -xmllang python /var/tmp/portage/media-tv/kodi-20.3/w
ork/xbmc-20.3-Nexus/xbmc/interfaces/swig/../swig/AddonModuleXbmcdrm.i && /etc/java-config-2/current-system-vm/bin/java --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED 
--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED -cp /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/groovy/groovy-4.0.6.jar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/
codegenerator/groovy/groovy-xml-4.0.6.jar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/groovy/groovy-templates-4.0.6.jar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/groovy/commons-lang-2.6.j
ar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/swig/../python groovy.ui.GroovyMain /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/cod
egenerator/Generator.groovy AddonModuleXbmcdrm.i.xml /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/swig/../python/PythonSwig.cpp.template AddonModuleXbmcdrm.i.cpp > /dev/null
Caught: BUG! exception in phase 'semantic analysis' in source unit '/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/Generator.groovy' Unsupported class file major version 65
BUG! exception in phase 'semantic analysis' in source unit '/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/Generator.groovy' Unsupported class file major version 65
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 65

# eselect java-vm list
Available Java Virtual Machines:
  [1]   openjdk-bin-8 
  [2]   openjdk-bin-21  system-vm

Using openjdk-bin-8 also does not work but the error shifts:

[1619/1627] /usr/bin/x86_64-pc-linux-gnu-g++  -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/lib -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/platform/linux -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/cores/VideoPlayer -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/platform/posix -isystem /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib64/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.11 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/contrib -isystem /usr/include/lzo -isystem /usr/include/libdrm  -march=znver4 -O2 -pipe -DNDEBUG -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -std=c++17 -fPIC -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -DHAVE_SSE=1 -DHAVE_SSE2=1 -DHAVE_SSE3=1 -DHAVE_SSSE3=1 -DHAVE_SSE4_1=1 -DHAVE_SSE4_2=1 -DHAVE_AVX=1 -DHAVE_AVX2=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_NFS_MOUNT_GETEXPORTS_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DHAVE_NEW_CROSSGUID -DFFMPEG_VER_SHA=\"undef\" -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -I/usr/include -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_EGLEXTANGLE=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DBIN_INSTALL_PATH=\"/usr/lib64/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -MD -MT build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o -MF build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o.d -o build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o -c /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/AddonModuleXbmcaddon.i.cpp
FAILED: build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o 
/usr/bin/x86_64-pc-linux-gnu-g++  -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/lib -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/platform/linux -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/cores/VideoPlayer -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/platform/posix -isystem /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/include -isystem /usr/include/dbus-1.0 -isystem /usr/lib64/dbus-1.0/include -isystem /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem /usr/include/python3.11 -isystem /usr/include/samba-4.0 -isystem /usr/include/libxml2 -isystem /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/cores/RetroPlayer/messages -isystem /usr/include/freetype2 -isystem /usr/include/fribidi -isystem /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/contrib -isystem /usr/include/lzo -isystem /usr/include/libdrm  -march=znver4 -O2 -pipe -DNDEBUG -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -std=c++17 -fPIC -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -DHAVE_SSE=1 -DHAVE_SSE2=1 -DHAVE_SSE3=1 -DHAVE_SSSE3=1 -DHAVE_SSE4_1=1 -DHAVE_SSE4_2=1 -DHAVE_AVX=1 -DHAVE_AVX2=1 -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_NFS_SET_TIMEOUT -DHAS_NFS_MOUNT_GETEXPORTS_TIMEOUT -DHAS_PIPEWIRE=1 -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1 -DHAVE_LIBVDPAU=1 -DHAVE_NEW_CROSSGUID -DFFMPEG_VER_SHA=\"undef\" -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -I/usr/include -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_EGLEXTANGLE=1 -DHAVE_X11=1 -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1 -DHAS_GL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DBIN_INSTALL_PATH=\"/usr/lib64/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\" -MD -MT build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o -MF build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o.d -o build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o -c /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/AddonModuleXbmcaddon.i.cpp
/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/AddonModuleXbmcaddon.i.cpp: In function ‘PyObject* PythonBindings::xbmcaddon_XBMCAddon_xbmcaddon_Settings_New(PyTypeObject*, PyObject*, PyObject*)’:
/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/AddonModuleXbmcaddon.i.cpp:1896:56: error: no matching function for call to ‘XBMCAddon::xbmcaddon::Settings::Settings()’
 1896 |       apiResult = new XBMCAddon::xbmcaddon::Settings(  );
      |                                                        ^
In file included from /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/legacy/Addon.h:14,
                 from /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/AddonModuleXbmcaddon.i.cpp:31:
/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/legacy/Settings.h:60:3: note: candidate: ‘XBMCAddon::xbmcaddon::Settings::Settings(std::shared_ptr<CSettingsBase>)’
   60 |   Settings(std::shared_ptr<CSettingsBase> settings);
      |   ^~~~~~~~
/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/legacy/Settings.h:60:3: note:   candidate expects 1 argument, 0 provided
Comment 42 Benjamin Réveillé 2024-01-11 21:56:31 UTC
(In reply to Mikkl from comment #41)
> (In reply to Benjamin Réveillé from comment #33)
> > (In reply to Mikkl from comment #31)
> > > (In reply to Martin Bednar from comment #29)
> > > > 1. failure using bundled ffmpeg:
> > > >     
> > > > file='/var/tmp/portage/media-tv/kodi-20.2-r2/distdir/ffmpeg-kodi-5.1.2-Nexus-
> > > > Alpha3.tar.gz'
> > > > CMake Error at ffmpeg-stamp/verify-ffmpeg.cmake:29 (message):
> > > >   error: SHA512 hash of
> > > > 
> > > >    
> > > > /var/tmp/portage/media-tv/kodi-20.2-r2/distdir/ffmpeg-kodi-5.1.2-Nexus-
> > > > Alpha3.tar.gz
> > > > 
> > > >   does not match expected value
> > > > 
> > > >     expected:
> > > > '8beb04d577b5251e74b0d52f4d130997a8ba94bbd488c7c8309e6b45095c27807e150212888c
> > > > e3a384b23dff52f8df1a7bde5407bae924ddc363f8125c0616c5'
> > > >       actual:
> > > > 'ce60852b8456d6f4bfc60de0ceadb33034d9b3eea8c0bc84d8b7199984ecbf334a2c4d9b42ea
> > > > de439d0ef30ce22e3b2ca0a49d4df837a18cd3136b4343ed3113'
> > > > 
> > > > 
> > > > 
> > > > 2. Error compiling using system ffmpeg-4.4.4-r3:0/56.58.58. Beware:of
> > > > https://bugs.gentoo.org/864721 , that's why I was still on ffmpeg-4, and I
> > > > suppose quite a few people will be...
> > > > 
> > > > /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> > > > FFmpeg.cpp: In function ‘std::tuple<unsigned char*, int>
> > > > GetPacketExtradata(const AVPacket*, const AVCodecParameters*)’:
> > > > /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> > > > FFmpeg.cpp:265:7: error: ‘codecCtx’ was not declared in this scope
> > > >   265 |   if (codecCtx && parserCtx && parserCtx->parser &&
> > > > parserCtx->parser->split)
> > > >       |       ^~~~~~~~
> > > > /var/tmp/portage/media-tv/kodi-20.2-r2/work/xbmc-20.2-Nexus/xbmc/cores/
> > > > FFmpeg.cpp:265:19: error: ‘parserCtx’ was not declared in this scope
> > > >   265 |   if (codecCtx && parserCtx && parserCtx->parser &&
> > > > parserCtx->parser->split)
> > > >       |                   ^~~~~~~~~
> > > > Commenting out the following patches makes it work with ffmpeg-4:
> > > > ffmpeg5.patch
> > > > ffmpeg6.patch
> > > 
> > > I have exactly the same experience. No chance to upgrade to >ffmpeg-4
> > > because of too many dependencies on <ffmpeg-5.
> > 
> > I just had to unmask "=media-video/vlc-9999" and keyword_accept
> > "media-video/vlc **" 
> > and then everything was OK with ffmpeg-6
> 
> OK, i made the jump to ffmpeg-6 now, too. vlc-9999 is happily crashing, but
> that's another story...
> However, using media-tv/kodi-20.3 [sunny-overlay] i get multiple errors like
> these:
> 
> [1598/1627] cd
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig &&
> /usr/bin/swig -w401 -c++ -o AddonModuleXbmcdrm.i.xml -xml
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc -xmllang
> python /var/tmp/portage/media-tv
> /kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/swig/../swig/
> AddonModuleXbmcdrm.i && /etc/java-config-2/current-system-vm/bin/java
> --add-opens java.base/java.util=ALL-UNNAMED --add-opens
> java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.io=
> ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens
> java.base/java.net=ALL-UNNAMED -cp
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/
> groovy/groovy-4.0.6.jar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-
> Nexus/tools/codegenerator/groovy/groovy-xml-4.0.6.jar:/var/tmp/portage/media-
> tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/groovy/groovy-
> templates-4.0.6.jar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/
> tools/codegenerator/groovy/common
> s-lang-2.6.jar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/
> tools/codegenerator:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/
> xbmc/interfaces/swig/../python groovy.ui.GroovyMain
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nex
> us/tools/codegenerator/Generator.groovy AddonModuleXbmcdrm.i.xml
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/
> swig/../python/PythonSwig.cpp.template AddonModuleXbmcdrm.i.cpp > /dev/null
> FAILED: build/swig/AddonModuleXbmcdrm.i.cpp
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/
> AddonModuleXbmcdrm.i.cpp 
> cd /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig
> && /usr/bin/swig -w401 -c++ -o AddonModuleXbmcdrm.i.xml -xml
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc -xmllang
> python /var/tmp/portage/media-tv/kodi-20.3/w
> ork/xbmc-20.3-Nexus/xbmc/interfaces/swig/../swig/AddonModuleXbmcdrm.i &&
> /etc/java-config-2/current-system-vm/bin/java --add-opens
> java.base/java.util=ALL-UNNAMED --add-opens
> java.base/java.util.regex=ALL-UNNAMED --add-opens
> java.base/java.io=ALL-UNNAMED 
> --add-opens java.base/java.lang=ALL-UNNAMED --add-opens
> java.base/java.net=ALL-UNNAMED -cp
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/
> groovy/groovy-4.0.6.jar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-
> Nexus/tools/
> codegenerator/groovy/groovy-xml-4.0.6.jar:/var/tmp/portage/media-tv/kodi-20.
> 3/work/xbmc-20.3-Nexus/tools/codegenerator/groovy/groovy-templates-4.0.6.jar:
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/codegenerator/
> groovy/commons-lang-2.6.j
> ar:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/
> codegenerator:/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/
> interfaces/swig/../python groovy.ui.GroovyMain
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/cod
> egenerator/Generator.groovy AddonModuleXbmcdrm.i.xml
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/
> swig/../python/PythonSwig.cpp.template AddonModuleXbmcdrm.i.cpp > /dev/null
> Caught: BUG! exception in phase 'semantic analysis' in source unit
> '/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/
> codegenerator/Generator.groovy' Unsupported class file major version 65
> BUG! exception in phase 'semantic analysis' in source unit
> '/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/tools/
> codegenerator/Generator.groovy' Unsupported class file major version 65
> Caused by: java.lang.IllegalArgumentException: Unsupported class file major
> version 65
> 
> # eselect java-vm list
> Available Java Virtual Machines:
>   [1]   openjdk-bin-8 
>   [2]   openjdk-bin-21  system-vm
> 
> Using openjdk-bin-8 also does not work but the error shifts:
> 
> [1619/1627] /usr/bin/x86_64-pc-linux-gnu-g++ 
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/lib
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/platform/
> linux
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/cores/
> VideoPlayer
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/platform/
> posix -isystem
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/include
> -isystem /usr/include/dbus-1.0 -isystem /usr/lib64/dbus-1.0/include -isystem
> /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem
> /usr/include/python3.11 -isystem /usr/include/samba-4.0 -isystem
> /usr/include/libxml2 -isystem
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/cores/
> RetroPlayer/messages -isystem /usr/include/freetype2 -isystem
> /usr/include/fribidi -isystem
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/contrib
> -isystem /usr/include/lzo -isystem /usr/include/libdrm  -march=znver4 -O2
> -pipe -DNDEBUG -Wall -Wdouble-promotion -Wmissing-field-initializers
> -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type
> -Wnon-virtual-dtor -std=c++17 -fPIC -DTARGET_POSIX -DTARGET_LINUX
> -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1
> -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1
> -DHAVE_SSE=1 -DHAVE_SSE2=1 -DHAVE_SSE3=1 -DHAVE_SSSE3=1 -DHAVE_SSE4_1=1
> -DHAVE_SSE4_2=1 -DHAVE_AVX=1 -DHAVE_AVX2=1 -D__STDC_CONSTANT_MACROS
> -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK
> -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1
> -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1
> -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1
> -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1
> -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1
> -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_FILESYSTEM_NFS=1
> -DHAS_NFS_SET_TIMEOUT -DHAS_NFS_MOUNT_GETEXPORTS_TIMEOUT -DHAS_PIPEWIRE=1
> -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAVE_LIBUDEV=1
> -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1
> -DHAVE_LIBVDPAU=1 -DHAVE_NEW_CROSSGUID -DFFMPEG_VER_SHA=\"undef\"
> -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS
> -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -I/usr/include
> -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_EGLEXTANGLE=1 -DHAVE_X11=1
> -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1
> -DHAS_GL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER
> -DBIN_INSTALL_PATH=\"/usr/lib64/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\"
> -MD -MT
> build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o -MF
> build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o.d -o
> build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o -c
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/
> AddonModuleXbmcaddon.i.cpp
> FAILED:
> build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o 
> /usr/bin/x86_64-pc-linux-gnu-g++ 
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/lib
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/platform/
> linux
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/cores/
> VideoPlayer
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build
> -I/var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/platform/
> posix -isystem
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/include
> -isystem /usr/include/dbus-1.0 -isystem /usr/lib64/dbus-1.0/include -isystem
> /usr/include/pipewire-0.3 -isystem /usr/include/spa-0.2 -isystem
> /usr/include/python3.11 -isystem /usr/include/samba-4.0 -isystem
> /usr/include/libxml2 -isystem
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/cores/
> RetroPlayer/messages -isystem /usr/include/freetype2 -isystem
> /usr/include/fribidi -isystem
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/contrib
> -isystem /usr/include/lzo -isystem /usr/include/libdrm  -march=znver4 -O2
> -pipe -DNDEBUG -Wall -Wdouble-promotion -Wmissing-field-initializers
> -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type
> -Wnon-virtual-dtor -std=c++17 -fPIC -DTARGET_POSIX -DTARGET_LINUX
> -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1
> -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1
> -DHAVE_SSE=1 -DHAVE_SSE2=1 -DHAVE_SSE3=1 -DHAVE_SSSE3=1 -DHAVE_SSE4_1=1
> -DHAVE_SSE4_2=1 -DHAVE_AVX=1 -DHAVE_AVX2=1 -D__STDC_CONSTANT_MACROS
> -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK
> -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1
> -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1
> -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1
> -DHAVE_INTTYPES_H=1 -DHAS_ALSA=1 -DHAS_AVAHI=1 -DHAS_ZEROCONF=1
> -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1
> -DHAVE_LCMS2=1 -DCMS_NO_REGISTER_KEYWORD=1 -DHAS_FILESYSTEM_NFS=1
> -DHAS_NFS_SET_TIMEOUT -DHAS_NFS_MOUNT_GETEXPORTS_TIMEOUT -DHAS_PIPEWIRE=1
> -DHAS_PULSEAUDIO=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAVE_LIBUDEV=1
> -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_LIBVA=1 -DHAS_GLX=1
> -DHAVE_LIBVDPAU=1 -DHAVE_NEW_CROSSGUID -DFFMPEG_VER_SHA=\"undef\"
> -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS
> -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -I/usr/include
> -DSPDLOG_SHARED_LIB -DHAS_EGL=1 -DHAVE_EGLEXTANGLE=1 -DHAVE_X11=1
> -DHAVE_LIBXRANDR=1 -DHAVE_HDR_OUTPUT_METADATA=1 -DHAVE_DRM_MODIFIER_NAME=1
> -DHAS_GL=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER
> -DBIN_INSTALL_PATH=\"/usr/lib64/kodi\" -DINSTALL_PATH=\"/usr/share/kodi\"
> -MD -MT
> build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o -MF
> build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o.d -o
> build/swig/CMakeFiles/python_binding.dir/AddonModuleXbmcaddon.i.cpp.o -c
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/
> AddonModuleXbmcaddon.i.cpp
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/
> AddonModuleXbmcaddon.i.cpp: In function ‘PyObject*
> PythonBindings::xbmcaddon_XBMCAddon_xbmcaddon_Settings_New(PyTypeObject*,
> PyObject*, PyObject*)’:
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/
> AddonModuleXbmcaddon.i.cpp:1896:56: error: no matching function for call to
> ‘XBMCAddon::xbmcaddon::Settings::Settings()’
>  1896 |       apiResult = new XBMCAddon::xbmcaddon::Settings(  );
>       |                                                        ^
> In file included from
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/
> legacy/Addon.h:14,
>                  from
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus_build/build/swig/
> AddonModuleXbmcaddon.i.cpp:31:
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/
> legacy/Settings.h:60:3: note: candidate:
> ‘XBMCAddon::xbmcaddon::Settings::Settings(std::shared_ptr<CSettingsBase>)’
>    60 |   Settings(std::shared_ptr<CSettingsBase> settings);
>       |   ^~~~~~~~
> /var/tmp/portage/media-tv/kodi-20.3/work/xbmc-20.3-Nexus/xbmc/interfaces/
> legacy/Settings.h:60:3: note:   candidate expects 1 argument, 0 provided

Seeing these too with 20.3 from sunny-overlay
Comment 43 Saul Peebsen 2024-01-11 22:17:10 UTC
Not sure, but I believe Gentoo version of openjdk-21 may miss a patch, use v17 instead, it will fix "Unsupported class file major version 65". Yet, the swig failure remains, even when building from same source tarball without ebuild. Same failure in two machines, even with sources directly from Kodi git. Something must be incompatible with my Gentoo installs ...
Comment 44 Mikkl 2024-01-13 13:07:45 UTC
Using openjdk-bin-17 has basically the same outcome as with openjdk-bin-8. The Java part works but the other error remains. There is an issue upstream for the problem: https://github.com/xbmc/xbmc/issues/24385
Using swig-4.1.1-r1 I can successfully compile.
Comment 45 Mikkl 2024-01-13 13:30:57 UTC
(In reply to Mikkl from comment #44)
> Using openjdk-bin-17 has basically the same outcome as with openjdk-bin-8.
> The Java part works but the other error remains. There is an issue upstream
> for the problem: https://github.com/xbmc/xbmc/issues/24385
> Using swig-4.1.1-r1 I can successfully compile.

Using swig-4.2.0 and the patch mentioned in the issue also works.
Comment 46 Larry the Git Cow gentoo-dev 2024-01-21 04:41:36 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f454c9a9c209a829a4066c71aad5845e58ce720

commit 8f454c9a9c209a829a4066c71aad5845e58ce720
Author:     Alfred Wingate <parona@protonmail.com>
AuthorDate: 2023-12-24 14:09:33 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-01-21 04:41:08 +0000

    media-tv/kodi: add 20.3
    
    * Drop riscv due to new dependency sci-libs/kissfft.
    
    Bug: https://bugs.gentoo.org/779184
    Bug: https://bugs.gentoo.org/818262
    Bug: https://bugs.gentoo.org/860984
    Closes: https://bugs.gentoo.org/892547
    Signed-off-by: Alfred Wingate <parona@protonmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 media-tv/kodi/Manifest                            |   2 +
 media-tv/kodi/files/kodi-20.2-binutils-2.41.patch | 103 +++++
 media-tv/kodi/kodi-20.3.ebuild                    | 474 ++++++++++++++++++++++
 3 files changed, 579 insertions(+)
Comment 47 Xavier Miller 2024-01-21 19:47:19 UTC
Yeah !

Maybe we need to file new bugs for needed plugins (like kodi inputstream adaptative) ;)
Comment 48 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-01-21 19:51:45 UTC
Yes, new bugs for each other issue please. 47 comments long is enough for this one ;)
Comment 49 Larry the Git Cow gentoo-dev 2024-01-22 12:41:10 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c50949246c59a960e6dadc9824fe7e5869509a92

commit c50949246c59a960e6dadc9824fe7e5869509a92
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-01-22 12:40:13 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-01-22 12:41:02 +0000

    profiles/base: drop media-tv/kodi[system-ffmpeg force]
    
    The intent is good here, but it causes more harm-than-good. Kodi doesn't really
    keep up with latest ffmpeg at all so this just ends up holding back upgrades
    for people.
    
    Bug: https://bugs.gentoo.org/892547
    Bug: https://bugs.gentoo.org/890375
    Bug: https://bugs.gentoo.org/919856
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/base/package.use.force | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)