diff options
author | psykose <alice@ayaya.dev> | 2022-11-07 04:09:51 +0000 |
---|---|---|
committer | psykose <alice@ayaya.dev> | 2022-11-07 05:10:57 +0100 |
commit | e95b85ce0dfe3a56e065c1379a4dfb472b749320 (patch) | |
tree | d6984a9d88e4d003bdd24b2450ca628bd9725afd | |
parent | eb145db2d0aba174e3b1c8d1520b9dd027ac18f6 (diff) |
community/gerbera: upgrade to 1.12.0
-rw-r--r-- | community/gerbera/32-bit-fix.patch | 134 | ||||
-rw-r--r-- | community/gerbera/APKBUILD | 10 | ||||
-rw-r--r-- | community/gerbera/fmt9.patch | 20 |
3 files changed, 3 insertions, 161 deletions
diff --git a/community/gerbera/32-bit-fix.patch b/community/gerbera/32-bit-fix.patch deleted file mode 100644 index 9f42f4182ac..00000000000 --- a/community/gerbera/32-bit-fix.patch +++ /dev/null @@ -1,134 +0,0 @@ -Patch-Source: https://github.com/gerbera/gerbera/pull/2635 -From ae46ab4684bd31df4537475dc33234ae85c9b1e6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Karl=20Strau=C3=9Fberger?= <k_straussberger@netzland.net> -Date: Tue, 17 May 2022 18:13:55 +0200 -Subject: [PATCH] This and that - -May even solve: ---- - src/metadata/resolution.cc | 4 ++-- - src/upnp_xml.cc | 4 ++-- - src/util/process_executor.cc | 3 ++- - src/util/tools.cc | 18 +++++++++++++++--- - test/content/test_resolution.cc | 6 +++--- - 5 files changed, 24 insertions(+), 11 deletions(-) - -diff --git a/src/metadata/resolution.cc b/src/metadata/resolution.cc -index 031cb5788..476c644e5 100644 ---- a/src/metadata/resolution.cc -+++ b/src/metadata/resolution.cc -@@ -33,7 +33,7 @@ Resolution::Resolution(const std::string& string) - - if (!parts[0].empty()) { - auto x = stoulString(trimString(parts[0])); -- if (x == 0 || x == std::numeric_limits<unsigned int>::max()) { -+ if (x == 0 || x == std::numeric_limits<uint64_t>::max()) { - throw_std_runtime_error("Failed to parse '{}' to valid resolution", string); - } - _x = x; -@@ -41,7 +41,7 @@ Resolution::Resolution(const std::string& string) - - if (!parts[1].empty()) { - auto y = stoulString(trimString(parts[1])); -- if (y == 0 || y == std::numeric_limits<unsigned int>::max()) { -+ if (y == 0 || y == std::numeric_limits<uint64_t>::max()) { - throw_std_runtime_error("Failed to parse '{}' to valid resolution", string); - } - _y = y; -diff --git a/src/upnp_xml.cc b/src/upnp_xml.cc -index d2d6bc60b..2ed9c7bef 100644 ---- a/src/upnp_xml.cc -+++ b/src/upnp_xml.cc -@@ -508,9 +508,9 @@ std::string UpnpXMLBuilder::renderExtension(const std::string& contentType, cons - } - - if (!location.empty() && location.has_extension()) { -- std::string extension = location.filename().extension(); -+ std::string extension = urlEscape(location.filename().extension().string()); - if (!language.empty()) -- return fmt::format("{}.{}{}", urlExt, language, extension); -+ return fmt::format("{}.{}{}", urlExt, urlEscape(language), extension); - return fmt::format("{}{}", urlExt, extension); - } - -diff --git a/src/util/process_executor.cc b/src/util/process_executor.cc -index 5f238058a..8557175fe 100644 ---- a/src/util/process_executor.cc -+++ b/src/util/process_executor.cc -@@ -70,7 +70,8 @@ ProcessExecutor::ProcessExecutor(const std::string& command, const std::vector<s - log_debug("setenv: {}='{}'", eName, eValue); - } - log_debug("Launching process: {} {}", command, fmt::join(arglist, " ")); -- execvp(command.c_str(), const_cast<char**>(argv.data())); -+ if (execvp(command.c_str(), const_cast<char**>(argv.data()))) -+ log_error("Failed to execvp {} {}", command, fmt::join(arglist, " ")); - break; - default: - break; -diff --git a/src/util/tools.cc b/src/util/tools.cc -index 119b74f5b..4470b6f17 100644 ---- a/src/util/tools.cc -+++ b/src/util/tools.cc -@@ -110,7 +110,13 @@ int stoiString(const std::string& str, int def, int base) - if (str.empty() || (str[0] == '-' && !std::isdigit(*str.substr(1).c_str())) || (str[0] != '-' && !std::isdigit(*str.c_str()))) - return def; - -- return std::stoi(str, nullptr, base); -+ try { -+ std::size_t pos; -+ return std::stoi(str, &pos, base); -+ } catch (const std::exception& ex) { -+ log_error("{} (input {})", ex.what(), str); -+ } -+ return def; - } - - unsigned long stoulString(const std::string& str, int def, int base) -@@ -118,7 +124,13 @@ unsigned long stoulString(const std::string& str, int def, int base) - if (str.empty() || (str[0] == '-' && !std::isdigit(*str.substr(1).c_str())) || (str[0] != '-' && !std::isdigit(*str.c_str()))) - return def; - -- return std::stoul(str, nullptr, base); -+ try { -+ std::size_t pos; -+ return std::stoul(str, &pos, base); -+ } catch (const std::exception& ex) { -+ log_error("{} (input {})", ex.what(), str); -+ } -+ return def; - } - - void reduceString(std::string& str, char ch) -@@ -252,7 +264,7 @@ std::string urlEscape(std::string_view str) - if ((i + cplen) > str.length()) - cplen = 1; - -- if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c == '_' || c == '-') { -+ if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c == '_' || c == '-' || c == '.') { - buf << char(c); - } else { - int hi = c >> 4; -diff --git a/test/content/test_resolution.cc b/test/content/test_resolution.cc -index 6d4a75610..c30c5c489 100644 ---- a/test/content/test_resolution.cc -+++ b/test/content/test_resolution.cc -@@ -3,10 +3,10 @@ - #include "metadata//resolution.h" - - TEST(ResolutionTest, parse) { -- auto res = Resolution("122586668x54589448448485"); -+ auto res = Resolution("122586668x448448485"); - - EXPECT_EQ(res.x(), 122586668); -- EXPECT_EQ(res.y(), 54589448448485); -+ EXPECT_EQ(res.y(), 448448485); - } - - TEST(ResolutionTest, parseWithSpace) { -@@ -38,4 +38,4 @@ TEST(ResolutionTest, throwOnBad) { - EXPECT_THROW(Resolution("0x"), std::runtime_error); - EXPECT_THROW(Resolution("0x1"), std::runtime_error); - EXPECT_THROW(Resolution("1x0"), std::runtime_error); --} -\ No newline at end of file -+} diff --git a/community/gerbera/APKBUILD b/community/gerbera/APKBUILD index 1fbfd58dab0..54886c6d5d7 100644 --- a/community/gerbera/APKBUILD +++ b/community/gerbera/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Mike Crute <mike@crute.us> # Maintainer: Mike Crute <mike@crute.us> pkgname=gerbera -pkgver=1.11.0 -pkgrel=5 +pkgver=1.12.0 +pkgrel=0 pkgdesc="A UPnP Media Server" url="https://gerbera.io/" arch="all" @@ -48,8 +48,6 @@ pkggroups="$pkgname" # source="gerbera-$pkgver.tar.gz::https://github.com/gerbera/gerbera/archive/v$pkgver.tar.gz disable-git-test.patch - 32-bit-fix.patch - fmt9.patch $pkgname.initd $pkgname.confd" @@ -100,10 +98,8 @@ package() { } sha512sums=" -ae2b3342b3b57ce6d656d0ebadfd73b5f2764f2164314f6b0deac170a82e6861349c37732e6914454918112124038b221dbd4882001b5de51a49326432ccd70f gerbera-1.11.0.tar.gz +0dd051058638dc5c3a834f92e6733a3e3f2833c73dd8184f4878d6dd1f3b9e5dabba5d62c13fc9a0e2424b8efb5501dab9acbb8befa1bdfbf178894a6c70bc16 gerbera-1.12.0.tar.gz 5f084b107a534e8d8debda6fbc494ed7ab5d38e6de3d85867f2c316bd3f7d56daf3755de2647be84ae514905f998dad83ac88736a6ca59a30560c3d7a98dffcb disable-git-test.patch -6be3eb807b64e66397eab587ff28b1bfb6f2b369902bab85bbe0509f1c8a3ec4687855ee174ee5aa5955cb10731fd1c28ed6aad605fc0d5ffa258b6ed2c9d3d2 32-bit-fix.patch -0527609211d55a0ad826923104120a227c9fd6ac51818ae267a67a2262980548466a9d7f85a1c225a6c91302273187416ff4b12aae1b28eb27c0c93a756d8fb9 fmt9.patch b8609b8ec46d8e61087b76ea9be34639786014f6545a2eb8dae977e56dcc3841715c0691417382d93d96eefd4c5a629e46cd9605c893445a66ac2815ec141c2b gerbera.initd 392d7e964b0328778847f871e88ffd475ddac99b6cf8c8ded4825eb2f970e084db692552790a1b30ff96f59eabcd9fff50164d9dedf328badab95a1cec833c02 gerbera.confd " diff --git a/community/gerbera/fmt9.patch b/community/gerbera/fmt9.patch deleted file mode 100644 index 46e1f3d30b5..00000000000 --- a/community/gerbera/fmt9.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/src/database/sql_format.h -+++ b/src/database/sql_format.h -@@ -42,7 +42,7 @@ struct SQLIdentifier { - template <> - struct fmt::formatter<SQLIdentifier> : formatter<std::string_view> { - template <typename FormatContext> -- auto format(const SQLIdentifier& tn, FormatContext& ctx) -> decltype(ctx.out()) -+ auto format(const SQLIdentifier& tn, FormatContext& ctx) const -> decltype(ctx.out()) - { - return format_to(ctx.out(), "{}{}{}", tn.quote_begin, tn.name, tn.quote_end); - } -@@ -61,7 +61,7 @@ struct ColumnUpdate { - template <> - struct fmt::formatter<ColumnUpdate> : formatter<std::string_view> { - template <typename FormatContext> -- auto format(const ColumnUpdate& a, FormatContext& ctx) -> decltype(ctx.out()) -+ auto format(const ColumnUpdate& a, FormatContext& ctx) const -> decltype(ctx.out()) - { - return format_to(ctx.out(), "{} = {}", a.column, a.value); - } |