From 619e7d7ba02173d7e6880c666c12f2bd9bf59653 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 21 Aug 2021 11:42:17 -0700 Subject: [PATCH] gerbera: update to 1.9.0 Backport upstream patch fixing Os compilation. Signed-off-by: Rosen Penev --- multimedia/gerbera/Makefile | 4 +- .../gerbera/patches/010-Os-unique_ptr.patch | 42 +++++++++++++++++++ 2 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 multimedia/gerbera/patches/010-Os-unique_ptr.patch diff --git a/multimedia/gerbera/Makefile b/multimedia/gerbera/Makefile index ad4618ad21..8d1b281cda 100644 --- a/multimedia/gerbera/Makefile +++ b/multimedia/gerbera/Makefile @@ -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 index 0000000000..91b724786d --- /dev/null +++ b/multimedia/gerbera/patches/010-Os-unique_ptr.patch @@ -0,0 +1,42 @@ +From 7071316114b7d196808d943ce654b355927e73e1 Mon Sep 17 00:00:00 2001 +From: Karlchen +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 dIter; + + if (!ec && rootDir.exists(ec) && rootDir.is_directory(ec)) { +- dIter = fs::directory_iterator(location, ec); ++ dIter = std::make_unique(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 firstObject; +- for (auto&& dirEnt : dIter) { ++ for (auto&& dirEnt : *dIter) { + auto&& newPath = dirEnt.path(); + auto&& name = newPath.filename().string(); + if (name[0] == '.' && !asSetting.hidden) {