diff --git a/package/gerbera/0001-buildfix-support-fmtlib-10.patch b/package/gerbera/0001-buildfix-support-fmtlib-10.patch deleted file mode 100644 index b274aab75b..0000000000 --- a/package/gerbera/0001-buildfix-support-fmtlib-10.patch +++ /dev/null @@ -1,166 +0,0 @@ -From 37957aac0aea776e6f843af2358916f81056a405 Mon Sep 17 00:00:00 2001 -From: Mamoru TASAKA -Date: Thu, 29 Jun 2023 22:09:15 +0900 -Subject: [PATCH] buildfix: support fmtlib 10 - -With fmtlib10, fmt::format does not accept pugi::xml_node as it is. -Use name() member function, as this usage appear on other places of -gerbera source code. - -Closes #2839 . - -Upstream: https://github.com/gerbera/gerbera/commit/37957aac0aea776e6f843af2358916f81056a405 - -Signed-off-by: Bernd Kuhls ---- - src/config/setup/config_setup_array.cc | 6 +++--- - src/config/setup/config_setup_autoscan.cc | 2 +- - src/config/setup/config_setup_client.cc | 2 +- - src/config/setup/config_setup_dictionary.cc | 6 +++--- - src/config/setup/config_setup_dynamic.cc | 2 +- - src/config/setup/config_setup_transcoding.cc | 2 +- - src/config/setup/config_setup_tweak.cc | 2 +- - src/config/setup/config_setup_vector.cc | 4 ++-- - 8 files changed, 13 insertions(+), 13 deletions(-) - -diff --git a/src/config/setup/config_setup_array.cc b/src/config/setup/config_setup_array.cc -index 62dd5c9a7..a5f8958ce 100644 ---- a/src/config/setup/config_setup_array.cc -+++ b/src/config/setup/config_setup_array.cc -@@ -137,11 +137,11 @@ std::vector ConfigArraySetup::getXmlContent(const pugi::xml_node& o - std::vector result; - if (initArray) { - if (!initArray(optValue, result, ConfigDefinition::mapConfigOption(nodeOption))) { -- throw_std_runtime_error("Invalid {} array value '{}'", xpath, optValue); -+ throw_std_runtime_error("Invalid {} array value '{}'", xpath, optValue.name()); - } - } else { - if (!createOptionFromNode(optValue, result)) { -- throw_std_runtime_error("Invalid {} array value '{}'", xpath, optValue); -+ throw_std_runtime_error("Invalid {} array value '{}'", xpath, optValue.name()); - } - } - if (result.empty()) { -@@ -150,7 +150,7 @@ std::vector ConfigArraySetup::getXmlContent(const pugi::xml_node& o - result = defaultEntries; - } - if (notEmpty && result.empty()) { -- throw_std_runtime_error("Invalid array {} empty '{}'", xpath, optValue); -+ throw_std_runtime_error("Invalid array {} empty '{}'", xpath, optValue.name()); - } - return result; - } -diff --git a/src/config/setup/config_setup_autoscan.cc b/src/config/setup/config_setup_autoscan.cc -index 9ae4e61f8..5e1394585 100644 ---- a/src/config/setup/config_setup_autoscan.cc -+++ b/src/config/setup/config_setup_autoscan.cc -@@ -245,7 +245,7 @@ std::shared_ptr ConfigAutoscanSetup::newOption(const pugi::xml_nod - { - auto result = std::vector(); - if (!createOptionFromNode(optValue, result)) { -- throw_std_runtime_error("Init {} autoscan failed '{}'", xpath, optValue); -+ throw_std_runtime_error("Init {} autoscan failed '{}'", xpath, optValue.name()); - } - optionValue = std::make_shared(result); - return optionValue; -diff --git a/src/config/setup/config_setup_client.cc b/src/config/setup/config_setup_client.cc -index ffd12fc01..857db3c3e 100644 ---- a/src/config/setup/config_setup_client.cc -+++ b/src/config/setup/config_setup_client.cc -@@ -183,7 +183,7 @@ std::shared_ptr ConfigClientSetup::newOption(const pugi::xml_node& - auto result = std::make_shared(); - - if (!createOptionFromNode(isEnabled ? optValue : pugi::xml_node(nullptr), result)) { -- throw_std_runtime_error("Init {} client config failed '{}'", xpath, optValue); -+ throw_std_runtime_error("Init {} client config failed '{}'", xpath, optValue.name()); - } - optionValue = std::make_shared(result); - return optionValue; -diff --git a/src/config/setup/config_setup_dictionary.cc b/src/config/setup/config_setup_dictionary.cc -index 003b4cc59..69d1a7255 100644 ---- a/src/config/setup/config_setup_dictionary.cc -+++ b/src/config/setup/config_setup_dictionary.cc -@@ -163,11 +163,11 @@ std::map ConfigDictionarySetup::getXmlContent(const pu - std::map result; - if (initDict) { - if (!initDict(optValue, result)) { -- throw_std_runtime_error("Init {} dictionary failed '{}'", xpath, optValue); -+ throw_std_runtime_error("Init {} dictionary failed '{}'", xpath, optValue.name()); - } - } else { - if (!createOptionFromNode(optValue, result) && required) { -- throw_std_runtime_error("Init {} dictionary failed '{}'", xpath, optValue); -+ throw_std_runtime_error("Init {} dictionary failed '{}'", xpath, optValue.name()); - } - } - if (result.empty()) { -@@ -176,7 +176,7 @@ std::map ConfigDictionarySetup::getXmlContent(const pu - result = defaultEntries; - } - if (notEmpty && result.empty()) { -- throw_std_runtime_error("Invalid dictionary {} empty '{}'", xpath, optValue); -+ throw_std_runtime_error("Invalid dictionary {} empty '{}'", xpath, optValue.name()); - } - return result; - } -diff --git a/src/config/setup/config_setup_dynamic.cc b/src/config/setup/config_setup_dynamic.cc -index 0074cb6d3..d6962afe6 100644 ---- a/src/config/setup/config_setup_dynamic.cc -+++ b/src/config/setup/config_setup_dynamic.cc -@@ -192,7 +192,7 @@ std::shared_ptr ConfigDynamicContentSetup::newOption(const pugi::x - auto result = std::make_shared(); - - if (!createOptionFromNode(optValue, result)) { -- throw_std_runtime_error("Init {} DynamicContentList failed '{}'", xpath, optValue); -+ throw_std_runtime_error("Init {} DynamicContentList failed '{}'", xpath, optValue.name()); - } - optionValue = std::make_shared(result); - return optionValue; -diff --git a/src/config/setup/config_setup_transcoding.cc b/src/config/setup/config_setup_transcoding.cc -index 17d1780dc..1f6fb0604 100644 ---- a/src/config/setup/config_setup_transcoding.cc -+++ b/src/config/setup/config_setup_transcoding.cc -@@ -501,7 +501,7 @@ std::shared_ptr ConfigTranscodingSetup::newOption(const pugi::xml_ - auto result = std::make_shared(); - - if (!createOptionFromNode(isEnabled ? optValue : pugi::xml_node(nullptr), result)) { -- throw_std_runtime_error("Init {} transcoding failed '{}'", xpath, optValue); -+ throw_std_runtime_error("Init {} transcoding failed '{}'", xpath, optValue.name()); - } - optionValue = std::make_shared(result); - return optionValue; -diff --git a/src/config/setup/config_setup_tweak.cc b/src/config/setup/config_setup_tweak.cc -index 65dae2759..4da9fca1b 100644 ---- a/src/config/setup/config_setup_tweak.cc -+++ b/src/config/setup/config_setup_tweak.cc -@@ -257,7 +257,7 @@ std::shared_ptr ConfigDirectorySetup::newOption(const pugi::xml_no - auto result = std::make_shared(); - - if (!createOptionFromNode(optValue, result)) { -- throw_std_runtime_error("Init {} DirectoryConfigList failed '{}'", xpath, optValue); -+ throw_std_runtime_error("Init {} DirectoryConfigList failed '{}'", xpath, optValue.name()); - } - optionValue = std::make_shared(result); - return optionValue; -diff --git a/src/config/setup/config_setup_vector.cc b/src/config/setup/config_setup_vector.cc -index e5efe2767..9a9670569 100644 ---- a/src/config/setup/config_setup_vector.cc -+++ b/src/config/setup/config_setup_vector.cc -@@ -181,7 +181,7 @@ std::vector>> ConfigVectorSetup: - { - std::vector>> result; - if (!createOptionFromNode(optValue, result) && required) { -- throw_std_runtime_error("Init {} vector failed '{}'", xpath, optValue); -+ throw_std_runtime_error("Init {} vector failed '{}'", xpath, optValue.name()); - } - if (result.empty()) { - log_debug("{} assigning {} default values", xpath, defaultEntries.size()); -@@ -189,7 +189,7 @@ std::vector>> ConfigVectorSetup: - result = defaultEntries; - } - if (notEmpty && result.empty()) { -- throw_std_runtime_error("Invalid vector {} empty '{}'", xpath, optValue); -+ throw_std_runtime_error("Invalid vector {} empty '{}'", xpath, optValue.name()); - } - return result; - } diff --git a/package/gerbera/0002-Build-against-fmt-11.0.0.patch b/package/gerbera/0002-Build-against-fmt-11.0.0.patch deleted file mode 100644 index 27dc05e5cb..0000000000 --- a/package/gerbera/0002-Build-against-fmt-11.0.0.patch +++ /dev/null @@ -1,136 +0,0 @@ -From bb9e80f4225d4ecb0d75d80c16b0ba3ddb12b1dc Mon Sep 17 00:00:00 2001 -From: Dario Binacchi -Date: Mon, 2 Sep 2024 23:30:19 +0200 -Subject: [PATCH] Build against fmt 11.0.0 - -Signed-off-by: Dario Binacchi -Upstream: backport from upstream https://github.com/gerbera/gerbera/commit/f1f266efbb0a6adac160e428cd14c20f6ecd3e5d ---- - README.md | 2 +- - scripts/install-spdlog.sh | 4 +++- - scripts/versions.sh | 2 +- - src/database/sql_format.h | 3 +++ - src/util/logger.h | 5 ++++- - src/util/url_utils.cc | 7 ++++++- - test/scripting/mock/duk_helper.cc | 4 +++- - 7 files changed, 21 insertions(+), 6 deletions(-) - -diff --git a/README.md b/README.md -index a1992738f009..990a9af8855f 100644 ---- a/README.md -+++ b/README.md -@@ -53,7 +53,7 @@ sudo make install - | libiconv | | | | Required | Charset conversion | | - | sqlite3 | 3.7.0 | 3.35.5 | 3.36.0 | Required | Database storage | | - | zlib | | | | Required | Data compression | | --| [fmtlib] | 7.1.3 | 7.1.3 | 9.1.0 | Required | Fast string formatting | | -+| [fmtlib] | 7.1.3 | 9.1.0 | 11.0.0 | Required | Fast string formatting | | - | [spdlog] | 1.8.1 | 1.8.5 | 1.11.0 | Required | Runtime logging | | - | [duktape] | 2.1.0 | 2.6.0 | 2.7.0 | Optional | Scripting Support | Enabled | - | mysql | | | | Optional | Alternate database storage | Disabled | -diff --git a/scripts/install-spdlog.sh b/scripts/install-spdlog.sh -index 8a758e35b579..5c1426e3d44f 100755 ---- a/scripts/install-spdlog.sh -+++ b/scripts/install-spdlog.sh -@@ -39,7 +39,9 @@ fi - mkdir build - cd build - --cmake .. -DSPDLOG_FMT_EXTERNAL=ON -DBUILD_SHARED_LIBS=${BUILD_SHARED} -+cmake .. -DSPDLOG_FMT_EXTERNAL=ON \ -+ -DBUILD_SHARED_LIBS=${BUILD_SHARED} \ -+ -DSPDLOG_BUILD_EXAMPLE=OFF - - if command -v nproc >/dev/null 2>&1; then - make "-j$(nproc)" -diff --git a/scripts/versions.sh b/scripts/versions.sh -index 19a0f80f79ac..8c1ffe7d590d 100644 ---- a/scripts/versions.sh -+++ b/scripts/versions.sh -@@ -36,7 +36,7 @@ else - EBML="1.4.4" - EXIV2="v0.27.5" - FFMPEGTHUMBNAILER="2.2.2" -- FMT="9.1.0" -+ FMT="11.0.0" - GOOGLETEST="1.12.1" - LASTFM="0.4.0" - MATROSKA="1.7.1" -diff --git a/src/database/sql_format.h b/src/database/sql_format.h -index 551122eb7cf7..d64edae69372 100644 ---- a/src/database/sql_format.h -+++ b/src/database/sql_format.h -@@ -26,6 +26,9 @@ - #define __SQL_FORMAT_H__ - - #include -+#if FMT_VERSION >= 100202 -+#include -+#endif - - struct SQLIdentifier { - constexpr SQLIdentifier(std::string_view name, char quote_begin, char quote_end) -diff --git a/src/util/logger.h b/src/util/logger.h -index a121ead31e95..d51e60430ed9 100644 ---- a/src/util/logger.h -+++ b/src/util/logger.h -@@ -36,6 +36,9 @@ - - #include - #include -+#if FMT_VERSION >= 100202 -+#include -+#endif - #include - #include - #include -@@ -135,7 +138,7 @@ template - struct fmt::formatter, char>> - : formatter> { - template -- auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) -+ auto format(const T& value, FormatContext& ctx) const -> decltype(ctx.out()) - { - return fmt::formatter>::format( - static_cast>(value), ctx); -diff --git a/src/util/url_utils.cc b/src/util/url_utils.cc -index b1c9fecef863..84f6f3be43d4 100644 ---- a/src/util/url_utils.cc -+++ b/src/util/url_utils.cc -@@ -23,11 +23,16 @@ Gerbera - https://gerbera.io/ - - #include "url_utils.h" // API - -+#include "exceptions.h" -+ -+ - #include -+#if FMT_VERSION >= 100202 -+#include -+#endif - #include - - #include "common.h" --#include "exceptions.h" - - namespace URLUtils { - -diff --git a/test/scripting/mock/duk_helper.cc b/test/scripting/mock/duk_helper.cc -index 71bdc5d025f7..f1ab1cfef8a7 100644 ---- a/test/scripting/mock/duk_helper.cc -+++ b/test/scripting/mock/duk_helper.cc -@@ -24,8 +24,10 @@ - #include "duk_helper.h" - #include - #include --#include - #include -+#if FMT_VERSION >= 100202 -+#include -+#endif - #include - - std::vector DukTestHelper::arrayToVector(duk_context* ctx, duk_idx_t idx) --- -2.43.0 - diff --git a/package/gerbera/gerbera.hash b/package/gerbera/gerbera.hash index ee6e3d9b3a..8a0f052e9e 100644 --- a/package/gerbera/gerbera.hash +++ b/package/gerbera/gerbera.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 2144a7c4a13e8b43aa0c911fbeae65f05e2c42254ddd03be5c41f5fcf103a93c gerbera-1.12.1.tar.gz +sha256 c77f4a8ccbed5e18499c0854803fec65ae2f26af633818b52584651fbd3eec13 gerbera-2.2.0.tar.gz sha256 cae4138373be41fd2be75faf41ce7efbcf49fb17d0e05ad1c51cc01ac335b9b6 LICENSE.md diff --git a/package/gerbera/gerbera.mk b/package/gerbera/gerbera.mk index f3f05b364d..ac5b69b681 100644 --- a/package/gerbera/gerbera.mk +++ b/package/gerbera/gerbera.mk @@ -4,7 +4,7 @@ # ################################################################################ -GERBERA_VERSION = 1.12.1 +GERBERA_VERSION = 2.2.0 GERBERA_SITE = $(call github,gerbera,gerbera,v$(GERBERA_VERSION)) GERBERA_LICENSE = GPL-2.0 GERBERA_LICENSE_FILES = LICENSE.md