summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2021-02-20 19:47:02 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2021-02-23 20:52:28 +0100
commit7cd2ccbbdbfcb61f94a5f51dcabdce0074d061a2 (patch)
treea85cdd3804eb7439a6099db00ae747cd7cb513ac
parentapp-misc/rbutil: Drop 1.4.1-r1 (diff)
downloadgentoo-7cd2ccbbdbfcb61f94a5f51dcabdce0074d061a2.tar.gz
gentoo-7cd2ccbbdbfcb61f94a5f51dcabdce0074d061a2.tar.bz2
gentoo-7cd2ccbbdbfcb61f94a5f51dcabdce0074d061a2.zip
media-gfx/nomacs: Support build with >=dev-libs/quazip-1.0
Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
-rw-r--r--media-gfx/nomacs/files/nomacs-3.16.224-quazip1.patch127
-rw-r--r--media-gfx/nomacs/nomacs-3.16.224-r2.ebuild86
2 files changed, 213 insertions, 0 deletions
diff --git a/media-gfx/nomacs/files/nomacs-3.16.224-quazip1.patch b/media-gfx/nomacs/files/nomacs-3.16.224-quazip1.patch
new file mode 100644
index 000000000000..06f6b8c2fb81
--- /dev/null
+++ b/media-gfx/nomacs/files/nomacs-3.16.224-quazip1.patch
@@ -0,0 +1,127 @@
+From b4a1e98a83598072ea6d720ae4d56d380bee5a75 Mon Sep 17 00:00:00 2001
+From: Petr Vanek <petr@yarpen.cz>
+Date: Sun, 15 Nov 2020 19:15:59 +0100
+Subject: [PATCH] fixed #569 Build fails with quazip 1.0 (#576)
+
+---
+ cmake/Unix.cmake | 28 +++++++++++++++------
+ src/DkCore/DkBasicLoader.cpp | 4 +++
+ src/DkCore/DkImageContainer.cpp | 4 +++
+ src/DkCore/DkImageLoader.cpp | 6 ++++-
+ src/DkGui/DkDialog.cpp | 4 +++
+ 5 files changed, 37 insertions(+), 9 deletions(-)
+
+diff --git a/cmake/Unix.cmake b/cmake/Unix.cmake
+index 5567084b..c90ba320 100644
+--- a/cmake/Unix.cmake
++++ b/cmake/Unix.cmake
+@@ -102,14 +102,26 @@ unset(QT_ROOT CACHE)
+
+ if(ENABLE_QUAZIP)
+ if(USE_SYSTEM_QUAZIP)
+- SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+-
+- find_package(QuaZip5 QUIET)
+- if(NOT QUAZIP_FOUND)
+- message(FATAL_ERROR "QUAZIP not found. It's mandatory when used with ENABLE_QUAZIP enabled, you can also disable USE_SYSTEM_QUAZIP")
+- else()
+- add_definitions(-DWITH_QUAZIP)
+- endif()
++ # Let's try QuaZip1 first (it's the bright future)
++ find_package(QuaZip-Qt5 QUIET)
++ if (QuaZip-Qt5_FOUND)
++ message(STATUS "QUAZIP: QuaZip-1 for Qt5 found")
++ set(QUAZIP_LIBRARIES QuaZip::QuaZip)
++ add_definitions(-DWITH_QUAZIP1)
++ else ()
++ message(WARNING "QUAZIP: 1.x not found. Trying to find 0.x")
++ # QuaZip < 1.0. This leg can be removed (including cmake/FindQuaZip5.cmake)
++ # ater the final migration to 1.x in Linux distros
++ SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
++
++ find_package(QuaZip5 QUIET)
++ if(NOT QUAZIP_FOUND)
++ message(FATAL_ERROR "QUAZIP: even 0.x not found. It's mandatory when used with ENABLE_QUAZIP enabled, you can also disable USE_SYSTEM_QUAZIP")
++ endif()
++
++ endif (QuaZip-Qt5_FOUND)
++ # we have any QuaZip after all
++ add_definitions(-DWITH_QUAZIP)
+ else()
+ find_package(ZLIB REQUIRED)
+ set(QUAZIP_INCLUDE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/quazip-0.7/quazip ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/quazip-0.7/)
+diff --git a/src/DkCore/DkBasicLoader.cpp b/src/DkCore/DkBasicLoader.cpp
+index 7f9e889c..b7edfd43 100644
+--- a/src/DkCore/DkBasicLoader.cpp
++++ b/src/DkCore/DkBasicLoader.cpp
+@@ -54,8 +54,12 @@
+
+ // quazip
+ #ifdef WITH_QUAZIP
++#ifdef WITH_QUAZIP1
++#include <quazip/JlCompress.h>
++#else
+ #include <quazip5/JlCompress.h>
+ #endif
++#endif
+
+ // opencv
+ #ifdef WITH_OPENCV
+diff --git a/src/DkCore/DkImageContainer.cpp b/src/DkCore/DkImageContainer.cpp
+index 810994d3..150da9c2 100644
+--- a/src/DkCore/DkImageContainer.cpp
++++ b/src/DkCore/DkImageContainer.cpp
+@@ -41,8 +41,12 @@
+
+ // quazip
+ #ifdef WITH_QUAZIP
++#ifdef WITH_QUAZIP1
++#include <quazip/JlCompress.h>
++#else
+ #include <quazip5/JlCompress.h>
+ #endif
++#endif
+ #pragma warning(pop) // no warnings from includes - end
+
+ #pragma warning(disable: 4251) // TODO: remove
+diff --git a/src/DkCore/DkImageLoader.cpp b/src/DkCore/DkImageLoader.cpp
+index 09d25d23..e4186f2b 100644
+--- a/src/DkCore/DkImageLoader.cpp
++++ b/src/DkCore/DkImageLoader.cpp
+@@ -79,8 +79,12 @@
+
+ // quazip
+ #ifdef WITH_QUAZIP
++#ifdef WITH_QUAZIP1
++#include <quazip/JlCompress.h>
++#else
+ #include <quazip5/JlCompress.h>
+ #endif
++#endif
+
+ // opencv
+ #ifdef WITH_OPENCV
+@@ -2212,4 +2216,4 @@ QString DkImageLoader::fileName() const {
+ return mCurrentImage->fileName();
+ }
+
+-}
+\ No newline at end of file
++}
+diff --git a/src/DkGui/DkDialog.cpp b/src/DkGui/DkDialog.cpp
+index 008c9a3b..85842eca 100644
+--- a/src/DkGui/DkDialog.cpp
++++ b/src/DkGui/DkDialog.cpp
+@@ -97,8 +97,12 @@
+
+ // quazip
+ #ifdef WITH_QUAZIP
++#ifdef WITH_QUAZIP1
++#include <quazip/JlCompress.h>
++#else
+ #include <quazip5/JlCompress.h>
+ #endif
++#endif
+
+ #pragma warning(pop) // no warnings from includes - end
+
diff --git a/media-gfx/nomacs/nomacs-3.16.224-r2.ebuild b/media-gfx/nomacs/nomacs-3.16.224-r2.ebuild
new file mode 100644
index 000000000000..9c6f50df1606
--- /dev/null
+++ b/media-gfx/nomacs/nomacs-3.16.224-r2.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PLUGIN_PKG="${PN}-plugins-$(ver_cut 1-2)"
+inherit cmake xdg-utils
+
+DESCRIPTION="Qt-based image viewer"
+HOMEPAGE="https://nomacs.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+plugins? ( https://github.com/${PN}/${PN}-plugins/archive/$(ver_cut 1-2).tar.gz -> ${PLUGIN_PKG}.tar.gz )"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux"
+IUSE="+jpeg +opencv plugins raw +tiff zip"
+
+REQUIRED_USE="
+ raw? ( opencv )
+ tiff? ( opencv )
+"
+
+RDEPEND="
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5[jpeg?]
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ media-gfx/exiv2:=
+ opencv? ( >=media-libs/opencv-3.4:= )
+ raw? ( media-libs/libraw:= )
+ tiff? (
+ dev-qt/qtimageformats:5
+ media-libs/tiff
+ )
+ zip? ( dev-libs/quazip:0= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-qt/linguist-tools:5
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${P}/ImageLounge"
+
+DOCS=( src/changelog.txt )
+
+PATCHES=( "${FILESDIR}"/${P}-quazip1.patch )
+
+src_prepare() {
+ if use plugins ; then
+ rmdir plugins || die
+ mv -v ../../${PLUGIN_PKG} plugins || die
+ # Fix nomacs-plugins installation and search library directory
+ sed -e "s:lib/nomacs-plugins:$(get_libdir)/nomacs-plugins:" \
+ -i plugins/cmake/Utils.cmake || die
+ sed -e "s:lib/nomacs-plugins:$(get_libdir)/nomacs-plugins:" \
+ -i src/DkCore/DkPluginManager.cpp || die
+ fi
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_CODE_COV=OFF
+ -DUSE_SYSTEM_QUAZIP=ON
+ -DENABLE_TRANSLATIONS=ON
+ -DENABLE_OPENCV=$(usex opencv)
+ -DENABLE_PLUGINS=$(usex plugins)
+ -DENABLE_RAW=$(usex raw)
+ -DENABLE_TIFF=$(usex tiff)
+ -DENABLE_QUAZIP=$(usex zip)
+ )
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}