summaryrefslogtreecommitdiff
path: root/kde-misc/krename
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-09-21 23:15:32 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-09-21 23:15:32 +0100
commitdcd08467271c676e143c6c967faf8580fae7ca77 (patch)
tree86ebe68ab58590f06f3ce077bd7b8085498b1edf /kde-misc/krename
parentd7c0aa05b3a48c9b2bad24e3d805820f861165c6 (diff)
gentoo auto-resync : 21:09:2023 - 23:15:31
Diffstat (limited to 'kde-misc/krename')
-rw-r--r--kde-misc/krename/Manifest3
-rw-r--r--kde-misc/krename/files/krename-5.0.2-podofo-0.10.patch319
-rw-r--r--kde-misc/krename/krename-5.0.2-r1.ebuild5
3 files changed, 325 insertions, 2 deletions
diff --git a/kde-misc/krename/Manifest b/kde-misc/krename/Manifest
index 728d546a4b36..c6ee5525e1ee 100644
--- a/kde-misc/krename/Manifest
+++ b/kde-misc/krename/Manifest
@@ -1,4 +1,5 @@
+AUX krename-5.0.2-podofo-0.10.patch 12444 BLAKE2B d170342c39be3f71c3a96d2c7386a9e33ae638cbe1ef455af796ba96aa6b838bf3942dd5680da87bf0c9f13ca8f500880c697f462762489125b00f20e21922a4 SHA512 9a78f050c32050c4c2ab2f2a799c4ebc05078b42a48b2bc1535e21899868c6522826dcd0754af60aed306f1dcea223586a7243b0e7d2aa57965f20dfee5f70a8
DIST krename-5.0.2-patchset-1.tar.xz 6360 BLAKE2B 69e8b046885be27c77d5d315e994e8b2a31e76ed76f4ea6d030679b83133725cb0577d818841b1f41e566e757f4cbd4e08c1f479bc1d572a8391db47c4a26e8c SHA512 2de0ee19d29dadb50995b0d02e486e8efdbff3d3fda0a3a6ec69f4b5858b4c376b3d33d2018da0cf2333309fe8b4ea58f4de21f6d2864c2c22b60830b5ac9bcf
DIST krename-5.0.2.tar.xz 337908 BLAKE2B 2fb7a96ca3f3f3b193d0924dd1131a7442b32149c1f62387734c47680077b6f77e3cf32b940b85d6f688d24f24af08ac39a8ccc86f10f5ec1d65b53fc9631108 SHA512 c065d6de90c43e5297db2773d8569279535b007d3b00b99a252329e78c90dc949678ecd2f2ecaa74e72394fa0e848b8774f6f387d4a7f367b367b1dd38405545
-EBUILD krename-5.0.2-r1.ebuild 1616 BLAKE2B bf839f5fe1150aa492dc0970577c6b3c47ef3350aed2f23c1e52110aa2e7ee3d02035b9118f45e6a3787e9b43430f56a5238cbe8fb1fd3030eff524542f65537 SHA512 33c5ce787cc58315df632f142196eeb83b931e68b7581361ce78402f96e2b3dc7a6a80f339a316f3579491afcad458558b6f7ac89358be5636c3a39b724fd6c2
+EBUILD krename-5.0.2-r1.ebuild 1668 BLAKE2B d192c0143faa0c82530ab3ec55097fdc55a1260dadfef85dc5ac31ea002642d7d58e6ba47a05db955db07e7415e5164fb44a8536c8c04d493b15f47683bf41bb SHA512 0a2357d890d46c5b5e16ccf8513dd9a4ed0245e4b33d0d82c358bdc5656f617ebd433564e20cb1401f28dfc7543375c5cdecc1d37ba1019d4e88da936f6b9259
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
diff --git a/kde-misc/krename/files/krename-5.0.2-podofo-0.10.patch b/kde-misc/krename/files/krename-5.0.2-podofo-0.10.patch
new file mode 100644
index 000000000000..3410e3f20c2d
--- /dev/null
+++ b/kde-misc/krename/files/krename-5.0.2-podofo-0.10.patch
@@ -0,0 +1,319 @@
+From 0528606297a82aae46cb5e44a2bb406cbc033615 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Mon, 17 Jul 2023 20:29:37 +0000
+Subject: [PATCH 1/2] Support podofo 0.10
+
+Version 0.10 of podofo is a complete rewrite. krename's use of it is minimal, so porting is easy.
+
+Switch the cmake module to use pkgconfig, which is available since 0.9.5 (release in 2017).
+
+Unfortunately, the hack to find the version number is still needed, since the pc file is buggy and ships an empty "Version" field.
+---
+ cmake/modules/FindPoDoFo.cmake | 31 +++++++++++++++----------------
+ src/podofoplugin.cpp | 20 ++++++++++++++++++++
+ 2 files changed, 35 insertions(+), 16 deletions(-)
+
+diff --git a/cmake/modules/FindPoDoFo.cmake b/cmake/modules/FindPoDoFo.cmake
+index 3d044f0..c771149 100644
+--- a/cmake/modules/FindPoDoFo.cmake
++++ b/cmake/modules/FindPoDoFo.cmake
+@@ -36,15 +36,8 @@
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-find_path(PoDoFo_INCLUDE_DIRS
+- NAMES podofo/podofo.h
+-)
+-find_library(PoDoFo_LIBRARIES
+- NAMES libpodofo podofo
+-)
+-
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(PoDoFo DEFAULT_MSG PoDoFo_LIBRARIES PoDoFo_INCLUDE_DIRS)
++include(FindPkgConfig)
++pkg_search_module(PoDoFo libpodofo libpodofo-0)
+
+ set(PoDoFo_DEFINITIONS)
+ if(PoDoFo_FOUND)
+@@ -61,17 +54,19 @@ if(PoDoFo_FOUND)
+ endif()
+ endif()
+
+- # PoDoFo-0.9.5 unconditionally includes openssl/opensslconf.h in a public
+- # header. The fix is in https://sourceforge.net/p/podofo/code/1830/ and will
+- # hopefully be released soon with 0.9.6. Note that krename doesn't use
+- # OpenSSL in any way.
+- file(STRINGS "${PoDoFo_INCLUDE_DIRS}/podofo/base/podofo_config.h" PoDoFo_MAJOR_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_MAJOR[ \t]+[0-9]+$")
+- file(STRINGS "${PoDoFo_INCLUDE_DIRS}/podofo/base/podofo_config.h" PoDoFo_MINOR_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_MINOR[ \t]+[0-9]+$")
+- file(STRINGS "${PoDoFo_INCLUDE_DIRS}/podofo/base/podofo_config.h" PoDoFo_PATCH_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_PATCH[ \t]+[0-9]+$")
++ find_file(PoDoFo_CONFIG podofo_config.h PATHS ${PoDoFo_INCLUDE_DIRS} PATH_SUFFIXES auxiliary base)
++ file(STRINGS "${PoDoFo_CONFIG}" PoDoFo_MAJOR_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_MAJOR[ \t]+[0-9]+$")
++ file(STRINGS "${PoDoFo_CONFIG}" PoDoFo_MINOR_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_MINOR[ \t]+[0-9]+$")
++ file(STRINGS "${PoDoFo_CONFIG}" PoDoFo_PATCH_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_PATCH[ \t]+[0-9]+$")
+ string(REGEX REPLACE "^#define[ \t]+PODOFO_VERSION_MAJOR[ \t]+([0-9]+)$" "\\1" PoDoFo_MAJOR_VER "${PoDoFo_MAJOR_VER_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+PODOFO_VERSION_MINOR[ \t]+([0-9]+)$" "\\1" PoDoFo_MINOR_VER "${PoDoFo_MINOR_VER_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+PODOFO_VERSION_PATCH[ \t]+([0-9]+)$" "\\1" PoDoFo_PATCH_VER "${PoDoFo_PATCH_VER_LINE}")
+ set(PoDoFo_VERSION "${PoDoFo_MAJOR_VER}.${PoDoFo_MINOR_VER}.${PoDoFo_PATCH_VER}")
++
++ # PoDoFo-0.9.5 unconditionally includes openssl/opensslconf.h in a public
++ # header. The fix is in https://sourceforge.net/p/podofo/code/1830/ and will
++ # hopefully be released soon with 0.9.6. Note that krename doesn't use
++ # OpenSSL in any way.
+ if(PoDoFo_VERSION VERSION_EQUAL "0.9.5")
+ find_package(OpenSSL)
+ if (OpenSSL_FOUND)
+@@ -84,4 +79,8 @@ if(PoDoFo_FOUND)
+ endif()
+ endif()
+
++if(PoDoFo_VERSION VERSION_GREATER_EQUAL 0.10.0)
++ set(CMAKE_CXX_STANDARD 17)
++endif()
++
+ mark_as_advanced(PoDoFo_INCLUDE_DIRS PoDoFo_LIBRARIES PoDoFo_DEFINITIONS)
+diff --git a/src/podofoplugin.cpp b/src/podofoplugin.cpp
+index 9bcce21..79fd735 100644
+--- a/src/podofoplugin.cpp
++++ b/src/podofoplugin.cpp
+@@ -61,6 +61,25 @@ QString PodofoPlugin::processFile(BatchRenamer *b, int index, const QString &fil
+ try {
+ PdfMemDocument doc;
+ doc.Load(filename.toUtf8().data());
++#if (PODOFO_VERSION_MINOR>=10 || PODOFO_VERSION_MAJOR>=1)
++ const PdfInfo *info = doc.GetInfo();
++
++ if (token == "pdfauthor") {
++ return info->GetAuthor().has_value() ? QString::fromUtf8(info->GetAuthor()->GetString().c_str()) : QString();
++ } else if (token == "pdfcreator") {
++ return info->GetCreator().has_value() ? QString::fromUtf8(info->GetCreator()->GetString().c_str()) : QString();
++ } else if (token == "pdfkeywords") {
++ return info->GetKeywords().has_value() ? QString::fromUtf8(info->GetKeywords()->GetString().c_str()) : QString();
++ } else if (token == "pdfsubject") {
++ return info->GetSubject().has_value() ? QString::fromUtf8(info->GetSubject()->GetString().c_str()) : QString();
++ } else if (token == "pdftitle") {
++ return info->GetTitle().has_value() ? QString::fromUtf8(info->GetTitle()->GetString().c_str()) : QString();
++ } else if (token == "pdfproducer") {
++ return info->GetProducer().has_value() ? QString::fromUtf8(info->GetProducer()->GetString().c_str()) : QString();
++ } else if (token == "pdfpages") {
++ return QString::number(doc.GetPages().GetCount());
++ }
++#else
+ PdfInfo *info = doc.GetInfo();
+
+ if (token == "pdfauthor") {
+@@ -78,6 +97,7 @@ QString PodofoPlugin::processFile(BatchRenamer *b, int index, const QString &fil
+ } else if (token == "pdfpages") {
+ return QString::number(doc.GetPageCount());
+ }
++#endif
+ } catch (PdfError &error) {
+ return QString::fromUtf8(error.what());
+ }
+--
+2.42.0
+
+
+From a054a825521698f1de4b387949ef56a15e78feb6 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <heiko.becker@kde.org>
+Date: Sat, 15 Jul 2023 18:20:06 +0200
+Subject: [PATCH 2/2] cmake: Improve FindPoDoFo
+
+Add some rst based documentation and provide an imported target for
+example.
+I've dropped -DUSING_SHARED_PODOFO, which looks weird nowadays and
+seems to exist because of Windows, which I can't test. So comment it out
+for now, but it'll probably be removed in the future, if nobody turns up
+who cares about Windows and can comment on it.
+---
+ CMakeLists.txt | 5 +-
+ cmake/modules/FindPoDoFo.cmake | 121 ++++++++++++++++++++++++---------
+ src/CMakeLists.txt | 7 +-
+ 3 files changed, 91 insertions(+), 42 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a772b6a..9d736be 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -63,10 +63,7 @@ endif()
+
+ # Find podofo
+ find_package(PoDoFo)
+-set_package_properties(PoDoFo PROPERTIES
+- DESCRIPTION "A library to access PDF metadata"
+- URL "http://podofo.sourceforge.net/"
+- TYPE OPTIONAL)
++set_package_properties(PoDoFo PROPERTIES TYPE OPTIONAL)
+
+ # Find freetype
+ find_package(Freetype)
+diff --git a/cmake/modules/FindPoDoFo.cmake b/cmake/modules/FindPoDoFo.cmake
+index c771149..dce7473 100644
+--- a/cmake/modules/FindPoDoFo.cmake
++++ b/cmake/modules/FindPoDoFo.cmake
+@@ -1,17 +1,5 @@
+-# - Try to find the PoDoFo library
+-#
+-# Windows users MUST set when building:
+-#
+-# PoDoFo_USE_SHARED - whether use PoDoFo as shared library
+-#
+-# Once done this will define:
+-#
+-# PoDoFo_FOUND - system has the PoDoFo library
+-# PoDoFo_INCLUDE_DIRS - the PoDoFo include directory
+-# PoDoFo_LIBRARIES - the libraries needed to use PoDoFo
+-# PoDoFo_DEFINITIONS - the definitions needed to use PoDoFo
+-#
+ # Copyright 2016 Pino Toscano <pino@kde.org>
++# Copyright 2023 Heiko Becker <heiko.becker@kde.org>
+ #
+ # Redistribution and use in source and binary forms, with or without
+ # modification, are permitted provided that the following conditions
+@@ -36,23 +24,63 @@
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-include(FindPkgConfig)
+-pkg_search_module(PoDoFo libpodofo libpodofo-0)
+-
+-set(PoDoFo_DEFINITIONS)
+-if(PoDoFo_FOUND)
+- if(WIN32)
+- if(NOT DEFINED PoDoFo_USE_SHARED)
+- message(SEND_ERROR "Win32 users MUST set PoDoFo_USE_SHARED")
+- message(SEND_ERROR "Set -DPoDoFo_USE_SHARED=0 if linking to a static library PoDoFo")
+- message(SEND_ERROR "or -DPoDoFo_USE_SHARED=1 if linking to a DLL build of PoDoFo")
+- message(FATAL_ERROR "PoDoFo_USE_SHARED unset on win32 build")
+- else()
+- if(PoDoFo_USE_SHARED)
+- set(PoDoFo_DEFINITIONS "${PoDoFo_DEFINITIONS} -DUSING_SHARED_PODOFO")
+- endif(PoDoFo_USE_SHARED)
+- endif()
+- endif()
++#[=======================================================================[.rst:
++FindPoDoFo
++------------
++
++Try to find PoDoFo, a C++ library to work with the PDF file format
++
++This will define the following variables:
++
++``PoDoFo_FOUND``
++ True if PoDoFo is available
++``PoDoFo_VERSION``
++ The version of PoDoFo
++``PoDoFo_LIBRARIES``
++ The libraries of PoDoFofor use with target_link_libraries()
++``PoDoFo_INCLUDE_DIRS``
++ The include dirs of PoDoFo for use with target_include_directories()
++
++If ``PoDoFo_FOUND`` is TRUE, it will also define the following imported
++target:
++
++``PoDoFo::PoDoFo``
++ The PoDoFo library
++
++In general we recommend using the imported target, as it is easier to use.
++Bear in mind, however, that if the target is in the link interface of an
++exported library, it must be made available by the package config file.
++
++#]=======================================================================]
++
++find_package(PkgConfig QUIET)
++pkg_search_module(PC_PoDoFo QUIET libpodofo libpodofo-0)
++
++find_library(PoDoFo_LIBRARIES
++ NAMES podofo
++ HINTS ${PC_PoDoFo_LIBRARY_DIRS}
++)
++
++find_path(PoDoFo_INCLUDE_DIRS
++ NAMES podofo.h
++ HINTS ${PC_PoDoFo_INCLUDE_DIRS}
++)
++
++if(PoDoFo_INCLUDE_DIRS)
++ # NOTE: I have no idea if that's still needed and no possibility to test on
++ # Windows.
++ #if(WIN32)
++ # if(NOT DEFINED PoDoFo_USE_SHARED)
++ # message(SEND_ERROR "Win32 users MUST set PoDoFo_USE_SHARED")
++ # message(SEND_ERROR "Set -DPoDoFo_USE_SHARED=0 if linking to a static library PoDoFo")
++ # message(SEND_ERROR "or -DPoDoFo_USE_SHARED=1 if linking to a DLL build of PoDoFo")
++ # message(FATAL_ERROR "PoDoFo_USE_SHARED unset on win32 build")
++ # else()
++ # if(PoDoFo_USE_SHARED)
++ # set(PoDoFo_DEFINITIONS "${PoDoFo_DEFINITIONS} -DUSING_SHARED_PODOFO")
++ # endif(PoDoFo_USE_SHARED)
++ # endif()
++ #endif()
+
+ find_file(PoDoFo_CONFIG podofo_config.h PATHS ${PoDoFo_INCLUDE_DIRS} PATH_SUFFIXES auxiliary base)
+ file(STRINGS "${PoDoFo_CONFIG}" PoDoFo_MAJOR_VER_LINE REGEX "^#define[ \t]+PODOFO_VERSION_MAJOR[ \t]+[0-9]+$")
+@@ -80,7 +108,36 @@ if(PoDoFo_FOUND)
+ endif()
+
+ if(PoDoFo_VERSION VERSION_GREATER_EQUAL 0.10.0)
+- set(CMAKE_CXX_STANDARD 17)
++ set(CMAKE_CXX_STANDARD 17)
++endif()
++
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(PoDoFo
++ FOUND_VAR
++ PoDoFo_FOUND
++ REQUIRED_VARS
++ PoDoFo_LIBRARIES
++ PoDoFo_INCLUDE_DIRS
++ VERSION_VAR
++ PoDoFo_VERSION
++)
++
++if(PoDoFo_FOUND AND NOT TARGET PoDoFo::PoDoFo)
++ add_library(PoDoFo::PoDoFo UNKNOWN IMPORTED)
++ set_target_properties(PoDoFo::PoDoFo PROPERTIES
++ IMPORTED_LOCATION "${PoDoFo_LIBRARIES}"
++ INTERFACE_COMPILE_OPTIONS "${PC_PoDoFo_CFLAGS}"
++ INTERFACE_INCLUDE_DIRECTORIES "${PoDoFo_INCLUDE_DIRS}"
++ )
++ if(TARGET PkgConfig::PC_PoDoFo)
++ target_link_libraries(PoDoFo::PoDoFo INTERFACE PkgConfig::PC_PoDoFo)
++ endif()
+ endif()
+
+-mark_as_advanced(PoDoFo_INCLUDE_DIRS PoDoFo_LIBRARIES PoDoFo_DEFINITIONS)
++mark_as_advanced(PoDoFo_LIBRARIES PoDoFo_INCLUDE_DIRS PoDoFo_VERSION)
++
++include(FeatureSummary)
++set_package_properties(PoDoFo PROPERTIES
++ DESCRIPTION "A C++ libary to work with the PDF file format"
++ URL "https://github.com/podofo/podofo"
++)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index e4b00ac..cffe7fb 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -14,11 +14,6 @@ if(EXIV2_FOUND)
+ include_directories(${EXIV2_INCLUDE_DIR})
+ endif()
+
+-if(PoDoFo_FOUND)
+- include_directories(${PoDoFo_INCLUDE_DIRS})
+- add_definitions(${PoDoFo_DEFINITIONS})
+-endif()
+-
+ if(FREETYPE_FOUND)
+ include_directories(${FREETYPE_INCLUDE_DIRS})
+ endif()
+@@ -138,7 +133,7 @@ if(LibExiv2_FOUND)
+ endif()
+ if(PoDoFo_FOUND)
+ target_link_libraries(krename
+- ${PoDoFo_LIBRARIES}
++ PoDoFo::PoDoFo
+ )
+ endif()
+ if(FREETYPE_FOUND)
+--
+2.42.0
+
diff --git a/kde-misc/krename/krename-5.0.2-r1.ebuild b/kde-misc/krename/krename-5.0.2-r1.ebuild
index 36cabcc29156..fc67232d79aa 100644
--- a/kde-misc/krename/krename-5.0.2-r1.ebuild
+++ b/kde-misc/krename/krename-5.0.2-r1.ebuild
@@ -46,7 +46,10 @@ DEPEND="
RDEPEND="${DEPEND}"
BDEPEND="sys-devel/gettext"
-PATCHES=( "${WORKDIR}/${P}-patchset-1" ) # upstream, git master
+PATCHES=(
+ "${WORKDIR}/${P}-patchset-1" # upstream, git master
+ "${FILESDIR}/${P}-podofo-0.10.patch" # bug 914497
+)
src_configure() {
local mycmakeargs=(