Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 938946 - media-video/vlc-3.0.21 w/ >=media-libs/taglib-2: meta_engine/taglib.cpp:188:32: error: ‘null’ is not a member of ‘TagLib::ByteVector’
Summary: media-video/vlc-3.0.21 w/ >=media-libs/taglib-2: meta_engine/taglib.cpp:188:3...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Media-video project
URL: https://code.videolan.org/videolan/vl...
Whiteboard: 3.0.21-r1 has upper version limit
Keywords:
Depends on:
Blocks:
 
Reported: 2024-09-02 20:23 UTC by Andreas Sturmlechner
Modified: 2024-12-29 21:35 UTC (History)
0 users

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


Attachments
media-video:vlc-3.0.21:20240902-201512.log (media-video:vlc-3.0.21:20240902-201512.log.xz,67.24 KB, application/x-xz)
2024-09-02 20:25 UTC, Andreas Sturmlechner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Sturmlechner gentoo-dev 2024-09-02 20:23:13 UTC
> 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 )
>       |                               ~~~~~~~~~~~~^~~
Comment 1 Andreas Sturmlechner gentoo-dev 2024-09-02 20:23:55 UTC
Arch Linux patch, not upstreamable: https://gitlab.archlinux.org/archlinux/packaging/packages/vlc/-/blob/main/taglib-2.patch?ref_type=heads
Comment 2 Andreas Sturmlechner gentoo-dev 2024-09-02 20:25:44 UTC
Created attachment 901945 [details]
media-video:vlc-3.0.21:20240902-201512.log
Comment 3 Larry the Git Cow gentoo-dev 2024-11-23 20:28:51 UTC
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(-)
Comment 4 Larry the Git Cow gentoo-dev 2024-12-29 21:35:19 UTC
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(-)