* update libmusicbrainz5 to 5.1.0-7

This commit is contained in:
Alexander Baldeck 2024-10-17 19:49:28 +02:00
parent 84f8da761f
commit 60cd85c5bc
5 changed files with 184 additions and 7 deletions

29
libmusicbrainz5/.SRCINFO Normal file
View File

@ -0,0 +1,29 @@
pkgbase = libmusicbrainz5
pkgdesc = Library That Provides Access to the MusicBrainz Server
pkgver = 5.1.0
pkgrel = 7
url = https://musicbrainz.org/doc/libmusicbrainz
arch = x86_64
arch = powerpc64le
arch = powerpc64
arch = powerpc
arch = riscv64
license = LGPL-2.1-or-later
makedepends = cmake
makedepends = doxygen
makedepends = ninja
depends = gcc-libs
depends = glibc
depends = neon
depends = libxml2
provides = libmusicbrainz5.so
source = https://github.com/metabrainz/libmusicbrainz/releases/download/release-5.1.0/libmusicbrainz-5.1.0.tar.gz
source = libmusicbrainz5-5.patch
source = libmusicbrainz5-16.patch
source = libmusicbrainz5-19.patch
sha256sums = 6749259e89bbb273f3f5ad7acdffb7c47a2cf8fcaeab4c4695484cef5f4c6b46
sha256sums = 1e412f8e89183f1a70be530809b34ce3f3cb880ce731d8c7253f6bfe9cc8b7b6
sha256sums = 5ad7e45b191cceca3bb71c92adb6c767ae8079bf2814354341fae829d4328ae9
sha256sums = c8defc41681b1ba7c93af93f73207bf1666c78e98d22a1a5f16c9e20b947f787
pkgname = libmusicbrainz5

View File

@ -1,26 +1,35 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com> # POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Brett Cornwall <ainola@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org>
pkgname=libmusicbrainz5 pkgname=libmusicbrainz5
pkgver=5.1.0 pkgver=5.1.0
pkgrel=5 pkgrel=7
pkgdesc="Library That Provides Access to the MusicBrainz Server" pkgdesc="Library That Provides Access to the MusicBrainz Server"
url='https://musicbrainz.org/doc/libmusicbrainz' url='https://musicbrainz.org/doc/libmusicbrainz'
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64) arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
license=(LGPL2.1) license=(LGPL-2.1-or-later)
depends=(neon libxml2) depends=(gcc-libs glibc neon libxml2)
makedepends=(cmake ninja) makedepends=(cmake doxygen ninja)
provides=(libmusicbrainz5.so) provides=(libmusicbrainz5.so)
source=("https://github.com/metabrainz/libmusicbrainz/releases/download/release-${pkgver}/libmusicbrainz-$pkgver.tar.gz" source=("https://github.com/metabrainz/libmusicbrainz/releases/download/release-${pkgver}/libmusicbrainz-$pkgver.tar.gz"
16.patch) libmusicbrainz5-5.patch
libmusicbrainz5-16.patch
libmusicbrainz5-19.patch)
sha256sums=('6749259e89bbb273f3f5ad7acdffb7c47a2cf8fcaeab4c4695484cef5f4c6b46' sha256sums=('6749259e89bbb273f3f5ad7acdffb7c47a2cf8fcaeab4c4695484cef5f4c6b46'
'5ad7e45b191cceca3bb71c92adb6c767ae8079bf2814354341fae829d4328ae9') '1e412f8e89183f1a70be530809b34ce3f3cb880ce731d8c7253f6bfe9cc8b7b6'
'5ad7e45b191cceca3bb71c92adb6c767ae8079bf2814354341fae829d4328ae9'
'c8defc41681b1ba7c93af93f73207bf1666c78e98d22a1a5f16c9e20b947f787')
prepare() { prepare() {
cd libmusicbrainz-$pkgver cd libmusicbrainz-$pkgver
# https://github.com/metabrainz/libmusicbrainz/pull/5
patch -Np1 -i ../libmusicbrainz5-5.patch
# https://github.com/metabrainz/libmusicbrainz/pull/16 # https://github.com/metabrainz/libmusicbrainz/pull/16
patch -Np1 -i ../16.patch patch -Np1 -i ../libmusicbrainz5-16.patch
# https://github.com/metabrainz/libmusicbrainz/pull/19
patch -Np1 -i ../libmusicbrainz5-19.patch
} }
build() { build() {
@ -28,8 +37,12 @@ build() {
-DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=None -DCMAKE_BUILD_TYPE=None
cmake --build build cmake --build build
cmake --build build --target docs
} }
package() { package() {
DESTDIR="$pkgdir" cmake --install build DESTDIR="$pkgdir" cmake --install build
mkdir -p "$pkgdir/usr/share/doc/$pkgname"
cp -r build/docs "$pkgdir/usr/share/doc/$pkgname/html"
} }

View File

@ -0,0 +1,24 @@
From 36262d60fe92fe7a2c9bfb40e736bfcd29a6c3bd Mon Sep 17 00:00:00 2001
From: Abderrahim Kitouni <a.kitouni@gmail.com>
Date: Fri, 13 Apr 2018 09:56:57 +0100
Subject: [PATCH] src/CMakelists.txt: do not use wildcards for dependencies
This is discouraged by cmake's documentation and doesn't work with the ninja generator.
---
src/CMakeLists.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 68c04e3..f7439d3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -37,7 +37,8 @@ ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mb5_c.cc ${CMAKE_CURRENT_BINARY_DIR}/mb5_c.h ${CMAKE_CURRENT_BINARY_DIR}/../include/musicbrainz5/mb5_c.h
COMMAND make-c-interface ${CMAKE_CURRENT_SOURCE_DIR} cinterface.xml ${CMAKE_CURRENT_BINARY_DIR} mb5_c.cc mb5_c.h
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/mb5_c.h ${CMAKE_CURRENT_BINARY_DIR}/../include/musicbrainz5/mb5_c.h
- DEPENDS make-c-interface cinterface.xml *.inc
+ DEPENDS make-c-interface cinterface.xml c-int-medium-defines.inc c-int-query-source.inc c-int-source-funcs.inc
+ c-int-medium-source.inc c-int-release-defines.inc c-int-query-defines.inc c-int-release-source.inc
)
ADD_CUSTOM_TARGET(src_gen DEPENDS mb5_c.h)

View File

@ -0,0 +1,64 @@
From 9ba00067a15479a52262a5126bcb6889da5884b7 Mon Sep 17 00:00:00 2001
From: Christopher Degawa <ccom@randomderp.com>
Date: Sun, 8 Oct 2023 11:41:30 -0500
Subject: [PATCH 1/2] libxml: include parser.h
libxml2 removed the inclusion of global.h in a few of its include files,
so we can no longer rely on transitive includes.
This applies to functions like xmlParseFile.
Signed-off-by: Christopher Degawa <ccom@randomderp.com>
---
src/xmlParser.cc | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/xmlParser.cc b/src/xmlParser.cc
index e63df55..53dec25 100644
--- a/src/xmlParser.cc
+++ b/src/xmlParser.cc
@@ -30,6 +30,7 @@
#include <cstring>
#include <libxml/tree.h>
+#include <libxml/parser.h>
XMLResults::XMLResults()
: line(0),
From 558c9ba0e6d702d5c877f75be98176f57abf1b02 Mon Sep 17 00:00:00 2001
From: Christopher Degawa <ccom@randomderp.com>
Date: Sun, 8 Oct 2023 11:42:55 -0500
Subject: [PATCH 2/2] libxml: constify the storage of xmlGetLastError()
libxml2 recently made it a const return.
Since nothing is being modified of it, this should have no real effect
past satisfying the compiler.
Signed-off-by: Christopher Degawa <ccom@randomderp.com>
---
src/xmlParser.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/xmlParser.cc b/src/xmlParser.cc
index 53dec25..fee684c 100644
--- a/src/xmlParser.cc
+++ b/src/xmlParser.cc
@@ -57,7 +57,7 @@ XMLNode *XMLRootNode::parseFile(const std::string &filename, XMLResults* results
doc = xmlParseFile(filename.c_str());
if ((doc == NULL) && (results != NULL)) {
- xmlErrorPtr error = xmlGetLastError();
+ const xmlError *error = xmlGetLastError();
results->message = error->message;
results->line = error->line;
results->code = error->code;
@@ -72,7 +72,7 @@ XMLNode *XMLRootNode::parseString(const std::string &xml, XMLResults* results)
doc = xmlParseMemory(xml.c_str(), xml.length());
if ((doc == NULL) && (results != NULL)) {
- xmlErrorPtr error = xmlGetLastError();
+ const xmlError *error = xmlGetLastError();
results->message = error->message;
results->line = error->line;
results->code = error->code;

View File

@ -0,0 +1,47 @@
From 3c8d945c20a6fd6eabe9fc3ef24809b88cb50301 Mon Sep 17 00:00:00 2001
From: Sebastian Ramacher <sramacher@debian.org>
Date: Thu, 20 Nov 2014 18:54:17 +0100
Subject: [PATCH 1/2] Allow doxygen out-of-tree builds
Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 384cb65..83c5b23 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,7 +29,7 @@ SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Install
SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz5.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc)
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
FILE(GLOB headers ${CMAKE_CURRENT_SOURCE_DIR}/include/musicbrainz5/*.h)
From 3407ac7df846b141b05d5bd747a1f001e9fc08b5 Mon Sep 17 00:00:00 2001
From: Sebastian Ramacher <sramacher@debian.org>
Date: Thu, 20 Nov 2014 19:07:36 +0100
Subject: [PATCH 2/2] Also move generated config.h to CMAKE_BINARY_DIR
Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 83c5b23..e8d68c0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,7 +30,7 @@ SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz5.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/include/config.h)
FILE(GLOB headers ${CMAKE_CURRENT_SOURCE_DIR}/include/musicbrainz5/*.h)
INSTALL(FILES ${headers} ${CMAKE_CURRENT_BINARY_DIR}/include/musicbrainz5/mb5_c.h DESTINATION ${INCLUDE_INSTALL_DIR}/musicbrainz5)