> meta_engine/taglib.cpp: In member function ‘virtual TagLib::ByteVector VlcIostream::readBlock(ulong)’: > meta_engine/taglib.cpp:188:32: error: ‘null’ is not a member of ‘TagLib::ByteVector’ > 188 | return ByteVector::null; > | ^~~~ > meta_engine/taglib.cpp: In function ‘void ReadMetaFromBasicTag(const TagLib::Tag*, vlc_meta_t*)’: > meta_engine/taglib.cpp:468:26: error: ‘class TagLib::String’ has no member named ‘isNull’ > 468 | if( !tag->accessor().isNull() && !tag->accessor().isEmpty() ) \ > | ^~~~~~ > meta_engine/taglib.cpp:478:5: note: in expansion of macro ‘SET’ > 478 | SET( title, Title ); > | ^~~ > meta_engine/taglib.cpp:468:26: error: ‘class TagLib::String’ has no member named ‘isNull’ > 468 | if( !tag->accessor().isNull() && !tag->accessor().isEmpty() ) \ > | ^~~~~~ > meta_engine/taglib.cpp:479:5: note: in expansion of macro ‘SET’ > 479 | SET( artist, Artist ); > | ^~~ > meta_engine/taglib.cpp:468:26: error: ‘class TagLib::String’ has no member named ‘isNull’ > 468 | if( !tag->accessor().isNull() && !tag->accessor().isEmpty() ) \ > | ^~~~~~ > meta_engine/taglib.cpp:480:5: note: in expansion of macro ‘SET’ > 480 | SET( album, Album ); > | ^~~ > meta_engine/taglib.cpp:468:26: error: ‘class TagLib::String’ has no member named ‘isNull’ > 468 | if( !tag->accessor().isNull() && !tag->accessor().isEmpty() ) \ > | ^~~~~~ > meta_engine/taglib.cpp:481:5: note: in expansion of macro ‘SET’ > 481 | SET( comment, Description ); > | ^~~ > meta_engine/taglib.cpp:468:26: error: ‘class TagLib::String’ has no member named ‘isNull’ > 468 | if( !tag->accessor().isNull() && !tag->accessor().isEmpty() ) \ > | ^~~~~~ > meta_engine/taglib.cpp:482:5: note: in expansion of macro ‘SET’ > 482 | SET( genre, Genre ); > | ^~~ > meta_engine/taglib.cpp: In function ‘void ReadMetaFromMP4(TagLib::MP4::Tag*, demux_meta_t*, vlc_meta_t*)’: > meta_engine/taglib.cpp:809:14: error: ‘class TagLib::MP4::Tag’ has no member named ‘itemListMap’; did you mean ‘itemMap’? > 809 | if( tag->itemListMap().contains(keyName) ) \ > | ^~~~~~~~~~~ > meta_engine/taglib.cpp:821:5: note: in expansion of macro ‘SET’ > 821 | SET("----:com.apple.iTunes:MusicBrainz Track Id", TrackID ); > | ^~~ > meta_engine/taglib.cpp:811:21: error: ‘class TagLib::MP4::Tag’ has no member named ‘itemListMap’; did you mean ‘itemMap’? > 811 | list = tag->itemListMap()[keyName]; \ > | ^~~~~~~~~~~ > meta_engine/taglib.cpp:821:5: note: in expansion of macro ‘SET’ > 821 | SET("----:com.apple.iTunes:MusicBrainz Track Id", TrackID ); > | ^~~ > meta_engine/taglib.cpp:815:14: error: ‘class TagLib::MP4::Tag’ has no member named ‘itemListMap’; did you mean ‘itemMap’? > 815 | if( tag->itemListMap().contains(keyName) ) \ > | ^~~~~~~~~~~ > meta_engine/taglib.cpp:822:5: note: in expansion of macro ‘SET_EXTRA’ > 822 | SET_EXTRA("----:com.apple.iTunes:MusicBrainz Album Id", VLC_META_EXTRA_MB_ALBUMID ); > | ^~~~~~~~~ > meta_engine/taglib.cpp:817:21: error: ‘class TagLib::MP4::Tag’ has no member named ‘itemListMap’; did you mean ‘itemMap’? > 817 | list = tag->itemListMap()[keyName]; \ > | ^~~~~~~~~~~ > meta_engine/taglib.cpp:822:5: note: in expansion of macro ‘SET_EXTRA’ > 822 | SET_EXTRA("----:com.apple.iTunes:MusicBrainz Album Id", VLC_META_EXTRA_MB_ALBUMID ); > | ^~~~~~~~~ > meta_engine/taglib.cpp:827:14: error: ‘class TagLib::MP4::Tag’ has no member named ‘itemListMap’; did you mean ‘itemMap’? > 827 | if( tag->itemListMap().contains("covr") ) > | ^~~~~~~~~~~ > | itemMap > meta_engine/taglib.cpp:829:39: error: ‘class TagLib::MP4::Tag’ has no member named ‘itemListMap’; did you mean ‘itemMap’? > 829 | MP4::CoverArtList list = tag->itemListMap()["covr"].toCoverArtList(); > | ^~~~~~~~~~~ > | itemMap > meta_engine/taglib.cpp: In function ‘int WriteMeta(vlc_object_t*)’: > meta_engine/taglib.cpp:1340:44: error: invalid conversion from ‘TagLib::Tag*’ to ‘TagLib::ID3v2::Tag*’ [-fpermissive] > 1340 | WriteMetaToId3v2( riff_wav->tag(), p_item ); > | ~~~~~~~~~~~~~^~ > | | > | TagLib::Tag* > meta_engine/taglib.cpp:1064:43: note: initializing argument 1 of ‘void WriteMetaToId3v2(TagLib::ID3v2::Tag*, input_item_t*)’ > 1064 | static void WriteMetaToId3v2( ID3v2::Tag* tag, input_item_t* p_item ) > | ~~~~~~~~~~~~^~~
Arch Linux patch, not upstreamable: https://gitlab.archlinux.org/archlinux/packaging/packages/vlc/-/blob/main/taglib-2.patch?ref_type=heads
Created attachment 901945 [details] media-video:vlc-3.0.21:20240902-201512.log
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d73a80c2782da7ee89ef5fb4e3491ebf348ee8c8 commit d73a80c2782da7ee89ef5fb4e3491ebf348ee8c8 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2024-11-23 20:18:29 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2024-11-23 20:28:45 +0000 media-video/vlc: Allow IUSE=vaapi without building avcodec_vaapi Using a Fedora patch. IUSE taglib: Restrict to <media-libs/taglib-2 Sync 3.0.9999 live ebuild, dropping obsolete patch. Bug: https://bugs.gentoo.org/864721 Bug: https://bugs.gentoo.org/938946 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> media-video/vlc/files/vlc-2.2.8-freerdp-2.patch | 131 ------ .../files/vlc-3.0.21-vaapi-without-ffmepg4.patch | 18 + media-video/vlc/vlc-3.0.21-r1.ebuild | 513 +++++++++++++++++++++ media-video/vlc/vlc-3.0.9999.ebuild | 14 +- 4 files changed, 536 insertions(+), 140 deletions(-)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cfce8ecb33464f7f27152cc36526bb40ae934df4 commit cfce8ecb33464f7f27152cc36526bb40ae934df4 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2024-12-29 19:24:40 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2024-12-29 21:34:35 +0000 media-video/vlc: fix build with >=media-libs/taglib-2 Add media-libs/taglib:= slot op Closes: https://bugs.gentoo.org/938946 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> media-video/vlc/Manifest | 1 + media-video/vlc/vlc-3.0.21-r2.ebuild | 498 +++++++++++++++++++++++++++++++++++ media-video/vlc/vlc-3.0.9999.ebuild | 4 +- 3 files changed, 501 insertions(+), 2 deletions(-)