gerbera: update to 1.9.0
authorRosen Penev <rosenp@gmail.com>
Sat, 21 Aug 2021 18:42:17 +0000 (11:42 -0700)
committerRosen Penev <rosenp@gmail.com>
Wed, 25 Aug 2021 02:16:34 +0000 (19:16 -0700)
Backport upstream patch fixing Os compilation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
multimedia/gerbera/Makefile
multimedia/gerbera/patches/010-Os-unique_ptr.patch [new file with mode: 0644]

index ad4618ad2186a022e69e9341c745292f4cb77c64..8d1b281cda462203c52a3ff2e24e4a525e40f116 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gerbera
-PKG_VERSION:=1.8.2
+PKG_VERSION:=1.9.0
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/gerbera/gerbera/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=b1e5591515f05a46de052ef4d95a2bb3387e96f565a5ce7abb6a77dbe581f09a
+PKG_HASH:=7d3af525a6c37e10869961b2fedc2cfb54d8acf30256a2d5a10394c6a97ed25b
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0-or-later
diff --git a/multimedia/gerbera/patches/010-Os-unique_ptr.patch b/multimedia/gerbera/patches/010-Os-unique_ptr.patch
new file mode 100644 (file)
index 0000000..91b7247
--- /dev/null
@@ -0,0 +1,42 @@
+From 7071316114b7d196808d943ce654b355927e73e1 Mon Sep 17 00:00:00 2001
+From: Karlchen <k_straussberger@netzland.net>
+Date: Mon, 23 Aug 2021 09:04:36 +0200
+Subject: [PATCH] Fix linkage error in on aarch64 with g++-10
+
+fixes #1674
+---
+ src/content/content_manager.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/src/content/content_manager.cc
++++ b/src/content/content_manager.cc
+@@ -622,17 +622,17 @@ void ContentManager::_rescanDirectory(co
+     std::error_code ec;
+     auto rootDir = fs::directory_entry(location, ec);
+-    fs::directory_iterator dIter;
++    std::unique_ptr<fs::directory_iterator> dIter;
+     if (!ec && rootDir.exists(ec) && rootDir.is_directory(ec)) {
+-        dIter = fs::directory_iterator(location, ec);
++        dIter = std::make_unique<fs::directory_iterator>(location, ec);
+         if (ec) {
+             log_error("_rescanDirectory: Failed to iterate {}, {}", location.c_str(), ec.message());
+         }
+     } else {
+         log_error("Could not open {}: {}", location.c_str(), ec.message());
+     }
+-    if (ec) {
++    if (ec || !dIter) {
+         if (adir->persistent()) {
+             removeObject(adir, containerID, false);
+             if (location == adir->getLocation()) {
+@@ -673,7 +673,7 @@ void ContentManager::_rescanDirectory(co
+     adir->setCurrentLMT(location, std::chrono::seconds::zero());
+     std::shared_ptr<CdsObject> firstObject;
+-    for (auto&& dirEnt : dIter) {
++    for (auto&& dirEnt : *dIter) {
+         auto&& newPath = dirEnt.path();
+         auto&& name = newPath.filename().string();
+         if (name[0] == '.' && !asSetting.hidden) {