git: 8d205087923f - main - multimedia/kodi: Fix fallout caused by recent taglib update

From: Bernhard Froehlich <decke_at_FreeBSD.org>
Date: Tue, 06 Aug 2024 08:01:22 UTC
The branch main has been updated by decke:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8d205087923f2b58fed8801c2681a41f074c4368

commit 8d205087923f2b58fed8801c2681a41f074c4368
Author:     yzrh <yzrh@noema.org>
AuthorDate: 2024-08-06 07:59:40 +0000
Commit:     Bernhard Froehlich <decke@FreeBSD.org>
CommitDate: 2024-08-06 07:59:40 +0000

    multimedia/kodi: Fix fallout caused by recent taglib update
    
    PR:             280143
    Submitted by:   yzrh@noema.org (maintainer)
---
 multimedia/kodi/Makefile                           |  2 +-
 .../patch-xbmc_music_tags_TagLibVFSStream.cpp      | 47 ++++++++++++++++++++++
 .../files/patch-xbmc_music_tags_TagLibVFSStream.h  | 41 +++++++++++++++++++
 3 files changed, 89 insertions(+), 1 deletion(-)

diff --git a/multimedia/kodi/Makefile b/multimedia/kodi/Makefile
index 95e28f809fcb..15acf51fec00 100644
--- a/multimedia/kodi/Makefile
+++ b/multimedia/kodi/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	kodi
 DISTVERSION=	21.0
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	multimedia java
 MASTER_SITES=	http://mirrors.kodi.tv/build-deps/sources/
 DISTFILES=	apache-groovy-binary-${GROOVY_VERSION}.zip \
diff --git a/multimedia/kodi/files/patch-xbmc_music_tags_TagLibVFSStream.cpp b/multimedia/kodi/files/patch-xbmc_music_tags_TagLibVFSStream.cpp
new file mode 100644
index 000000000000..1e36573c825d
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_music_tags_TagLibVFSStream.cpp
@@ -0,0 +1,47 @@
+--- xbmc/music/tags/TagLibVFSStream.cpp.orig	2024-07-20 12:15:29 UTC
++++ xbmc/music/tags/TagLibVFSStream.cpp
+@@ -59,7 +59,7 @@ FileName TagLibVFSStream::name() const
+  * Reads a block of size \a length at the current get pointer.
+  */
+ #if (TAGLIB_MAJOR_VERSION >= 2)
+-ByteVector TagLibVFSStream::readBlock(unsigned long length)
++ByteVector TagLibVFSStream::readBlock(size_t length)
+ #else
+ ByteVector TagLibVFSStream::readBlock(TagLib::ulong length)
+ #endif
+@@ -282,7 +282,7 @@ bool TagLibVFSStream::isOpen() const
+  *
+  * \see Position
+  */
+-void TagLibVFSStream::seek(long offset, Position p)
++void TagLibVFSStream::seek(TagLib::offset_t offset, Position p)
+ {
+   const long fileLen = length();
+   if (m_bIsReadOnly && fileLen > 0)
+@@ -340,7 +340,7 @@ void TagLibVFSStream::clear()
+ /*!
+  * Returns the current offset within the file.
+  */
+-long TagLibVFSStream::tell() const
++TagLib::offset_t TagLibVFSStream::tell() const
+ {
+   int64_t pos = m_file.GetPosition();
+   if(pos > LONG_MAX)
+@@ -352,7 +352,7 @@ long TagLibVFSStream::tell() const
+ /*!
+  * Returns the length of the file.
+  */
+-long TagLibVFSStream::length()
++TagLib::offset_t TagLibVFSStream::length()
+ {
+   return (long)m_file.GetLength();
+ }
+@@ -360,7 +360,7 @@ long TagLibVFSStream::length()
+ /*!
+  * Truncates the file to a \a length.
+  */
+-void TagLibVFSStream::truncate(long length)
++void TagLibVFSStream::truncate(TagLib::offset_t length)
+ {
+   m_file.Truncate(length);
+ }
diff --git a/multimedia/kodi/files/patch-xbmc_music_tags_TagLibVFSStream.h b/multimedia/kodi/files/patch-xbmc_music_tags_TagLibVFSStream.h
new file mode 100644
index 000000000000..2a762c2a791b
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_music_tags_TagLibVFSStream.h
@@ -0,0 +1,41 @@
+--- xbmc/music/tags/TagLibVFSStream.h.orig	2024-06-28 10:37:37 UTC
++++ xbmc/music/tags/TagLibVFSStream.h
+@@ -38,7 +38,7 @@ namespace MUSIC_INFO
+      * Reads a block of size \a length at the current get pointer.
+      */
+ #if (TAGLIB_MAJOR_VERSION >= 2)
+-    TagLib::ByteVector readBlock(unsigned long length) override;
++    TagLib::ByteVector readBlock(size_t length) override;
+ #else
+     TagLib::ByteVector readBlock(TagLib::ulong length) override;
+ #endif
+@@ -99,7 +99,7 @@ namespace MUSIC_INFO
+      *
+      * \see Position
+      */
+-    void seek(long offset, TagLib::IOStream::Position p = Beginning) override;
++    void seek(TagLib::offset_t offset, TagLib::IOStream::Position p = Beginning) override;
+ 
+     /*!
+      * Reset the end-of-file and error flags on the file.
+@@ -109,17 +109,17 @@ namespace MUSIC_INFO
+     /*!
+      * Returns the current offset within the file.
+      */
+-    long tell() const override;
++    TagLib::offset_t tell() const override;
+ 
+     /*!
+      * Returns the length of the file.
+      */
+-    long length() override;
++    TagLib::offset_t length() override;
+ 
+     /*!
+      * Truncates the file to a \a length.
+      */
+-    void truncate(long length) override;
++    void truncate(TagLib::offset_t length) override;
+ 
+   protected:
+     /*!