commit:     7cd2ccbbdbfcb61f94a5f51dcabdce0074d061a2
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 20 18:47:02 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Feb 23 19:52:28 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7cd2ccbb

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 <AT> gentoo.org>

 .../nomacs/files/nomacs-3.16.224-quazip1.patch     | 127 +++++++++++++++++++++
 media-gfx/nomacs/nomacs-3.16.224-r2.ebuild         |  86 ++++++++++++++
 2 files changed, 213 insertions(+)

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 00000000000..06f6b8c2fb8
--- /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 <[email protected]>
+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 00000000000..9c6f50df160
--- /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
+}

Reply via email to