mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-09 15:13:31 -04:00
media-gfx/pdf4qt: several changes
* drop 1.4.0.0 1.5.0.0 * add 1.5.1.0 * update 9999 * upstream changed the license to MIT Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
This commit is contained in:
@@ -1,2 +1 @@
|
||||
DIST PDF4QT-1.4.0.0.tar.gz 4088081 BLAKE2B 85073f8821401e4160846dc13bf8170e12c3a06d19efdb0d7c2d7b541818b93dbaae9cea90a2dbc341e0129aba9300ef55e41a68d91c13159118394a9ac7cb0e SHA512 870ce6cb2a6d870c1fa7539a47556de86726a4897e181edc35ec7307a01ff2c0b3bd45b653a9e3a41aae7458cfe94545df6414314dfb5bb34226b7043a4d3a67
|
||||
DIST PDF4QT-1.5.0.0.tar.gz 4417709 BLAKE2B aaef7580dca2f29a58bf9167632b2d62876454ea35b163946801e2c51926bc1aefdd07cfffa6690e530a9808e8c8460b516a487e011e32b2cca2197ebc39454a SHA512 6ac2eea9b4d4c3c205f650f6c7655df3e0c92266f5c823a5235eadef150411a6dfa0cd16405e251a0fc4fb841f4fbdcf25661988fb54aa337243c4654b196104
|
||||
DIST PDF4QT-1.5.1.0.tar.gz 4560158 BLAKE2B ac479bae1dbae3e3b065ded2e9991c5cd4c2a86f172110c50adf2dd3c04e3cc55b963764a569e8e3770172e6a5c3a1d5cead4b288db4a7dbe4bc009bf67bcbd9 SHA512 483980223e1dd365cb850ac09de10deb8a9ef676a642028ce55bd2c4f315619eb0b4721ad217476c8ff95ab53bbbe49bb7db2c2aae1e8ac4d8f3bfbac9519abc
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
From 8b39f6ddb24b5bf681491c7a90b10bbd21255257 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Golubev <fatzer2@gmail.com>
|
||||
Date: Mon, 11 Nov 2024 19:00:55 +0300
|
||||
Subject: [PATCH 1/2] Disable test building
|
||||
|
||||
Due to it requires an extra dependency and fails tests anyway.
|
||||
---
|
||||
CMakeLists.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index cb8219c..c70868a 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -49,7 +49,7 @@ include(GNUInstallDirs)
|
||||
if(PDF4QT_BUILD_ONLY_CORE_LIBRARY)
|
||||
find_package(Qt6 REQUIRED COMPONENTS Core Gui Svg Xml)
|
||||
else()
|
||||
- find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Svg Xml PrintSupport TextToSpeech Test)
|
||||
+ find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Svg Xml PrintSupport TextToSpeech)
|
||||
endif()
|
||||
|
||||
qt_standard_project_setup()
|
||||
@@ -128,7 +128,7 @@ if(NOT PDF4QT_BUILD_ONLY_CORE_LIBRARY)
|
||||
add_subdirectory(JBIG2_Viewer)
|
||||
add_subdirectory(PdfExampleGenerator)
|
||||
add_subdirectory(PdfTool)
|
||||
- add_subdirectory(UnitTests)
|
||||
+# add_subdirectory(UnitTests)
|
||||
add_subdirectory(Pdf4QtLibGui)
|
||||
add_subdirectory(Pdf4QtEditorPlugins)
|
||||
add_subdirectory(Pdf4QtEditor)
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -1,113 +0,0 @@
|
||||
From 5475c2ba7ae732463b6502b916613be9cef02eb5 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Golubev <fatzer2@gmail.com>
|
||||
Date: Mon, 11 Nov 2024 18:15:32 +0300
|
||||
Subject: [PATCH 2/2] Make runtime respect cmake's plugin dir settings
|
||||
|
||||
---
|
||||
CMakeLists.txt | 7 +++++++
|
||||
Pdf4QtEditorPlugins/CMakeLists.txt | 6 ------
|
||||
Pdf4QtLibGui/CMakeLists.txt | 6 ++++++
|
||||
Pdf4QtLibGui/pdfprogramcontroller.cpp | 24 +++++++++++-------------
|
||||
4 files changed, 24 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index c70868a..7f3bf14 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -120,6 +120,13 @@ else()
|
||||
set(PDF4QT_INSTALL_SHARE_DIR share)
|
||||
endif()
|
||||
|
||||
+if(PDF4QT_LINUX)
|
||||
+ set(PDF4QT_PLUGINS_DIR ${PDF4QT_INSTALL_LIB_DIR}/pdf4qt CACHE PATH "Path to where pdf4qt plugins will be installed")
|
||||
+else()
|
||||
+ set(PDF4QT_PLUGINS_DIR ${PDF4QT_INSTALL_LIB_DIR}/pdfplugins CACHE PATH "Path to where pdf4qt plugins will be installed")
|
||||
+endif()
|
||||
+mark_as_advanced(PDF4QT_PLUGINS_DIR)
|
||||
+
|
||||
add_subdirectory(Pdf4QtLibCore)
|
||||
|
||||
if(NOT PDF4QT_BUILD_ONLY_CORE_LIBRARY)
|
||||
diff --git a/Pdf4QtEditorPlugins/CMakeLists.txt b/Pdf4QtEditorPlugins/CMakeLists.txt
|
||||
index 177f01c..a5dae48 100644
|
||||
--- a/Pdf4QtEditorPlugins/CMakeLists.txt
|
||||
+++ b/Pdf4QtEditorPlugins/CMakeLists.txt
|
||||
@@ -15,12 +15,6 @@
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PDF4QT. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
-if(PDF4QT_LINUX)
|
||||
- set(PDF4QT_PLUGINS_DIR ${PDF4QT_INSTALL_LIB_DIR}/pdf4qt)
|
||||
-else()
|
||||
- set(PDF4QT_PLUGINS_DIR ${PDF4QT_INSTALL_LIB_DIR}/pdfplugins)
|
||||
-endif()
|
||||
-
|
||||
add_subdirectory(AudioBookPlugin)
|
||||
add_subdirectory(DimensionsPlugin)
|
||||
add_subdirectory(ObjectInspectorPlugin)
|
||||
diff --git a/Pdf4QtLibGui/CMakeLists.txt b/Pdf4QtLibGui/CMakeLists.txt
|
||||
index 8e7354e..d95b064 100644
|
||||
--- a/Pdf4QtLibGui/CMakeLists.txt
|
||||
+++ b/Pdf4QtLibGui/CMakeLists.txt
|
||||
@@ -86,6 +86,12 @@ GENERATE_EXPORT_HEADER(Pdf4QtLibGui
|
||||
PDF4QTLIBGUILIBSHARED_EXPORT
|
||||
EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}/pdf4qtlibgui_export.h")
|
||||
|
||||
+cmake_path(RELATIVE_PATH PDF4QT_PLUGINS_DIR
|
||||
+ BASE_DIRECTORY PDF4QT_INSTALL_BIN_DIR
|
||||
+ OUTPUT_VARIABLE PDF4QT_PLUGINS_RELATIVE_PATH)
|
||||
+set_source_files_properties(pdfprogramcontroller.cpp
|
||||
+ PROPERTIES COMPILE_DEFINITIONS "PDF4QT_PLUGINS_RELATIVE_PATH=\"${PDF4QT_PLUGINS_RELATIVE_PATH}\"")
|
||||
+
|
||||
target_link_libraries(Pdf4QtLibGui PRIVATE Pdf4QtLibCore Pdf4QtLibWidgets Qt6::Core Qt6::Gui Qt6::Widgets Qt6::PrintSupport Qt6::TextToSpeech Qt6::Xml Qt6::Svg)
|
||||
target_include_directories(Pdf4QtLibGui INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_include_directories(Pdf4QtLibGui PUBLIC ${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR})
|
||||
diff --git a/Pdf4QtLibGui/pdfprogramcontroller.cpp b/Pdf4QtLibGui/pdfprogramcontroller.cpp
|
||||
index ec75f95..422a329 100644
|
||||
--- a/Pdf4QtLibGui/pdfprogramcontroller.cpp
|
||||
+++ b/Pdf4QtLibGui/pdfprogramcontroller.cpp
|
||||
@@ -70,6 +70,16 @@
|
||||
#pragma comment(lib, "Shell32")
|
||||
#endif
|
||||
|
||||
+#ifndef PDF4QT_PLUGINS_RELATIVE_PATH
|
||||
+# if defined(Q_OS_WIN)
|
||||
+# define PDF4QT_PLUGINS_RELATIVE_PATH "pdfplugins"
|
||||
+# elif defined(Q_OS_UNIX)
|
||||
+# define PDF4QT_PLUGINS_RELATIVE_PATH "../lib/pdf4qt"
|
||||
+# else
|
||||
+# error Implement this for another OS!
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
namespace pdfviewer
|
||||
{
|
||||
|
||||
@@ -2160,23 +2170,11 @@ void PDFProgramController::updatePageLayoutActions()
|
||||
void PDFProgramController::loadPlugins()
|
||||
{
|
||||
QStringList availablePlugins;
|
||||
-
|
||||
+ QDir directory(QApplication::applicationDirPath() + "/" PDF4QT_PLUGINS_RELATIVE_PATH);
|
||||
#if defined(Q_OS_WIN)
|
||||
- QDir directory(QApplication::applicationDirPath() + "/pdfplugins");
|
||||
availablePlugins = directory.entryList(QStringList("*.dll"));
|
||||
#elif defined(Q_OS_UNIX)
|
||||
-#ifndef NDEBUG
|
||||
- QDir directory(QApplication::applicationDirPath() + "/../pdfplugins");
|
||||
availablePlugins = directory.entryList(QStringList("*.so"));
|
||||
-#else
|
||||
- QDir directory(QApplication::applicationDirPath());
|
||||
- if (directory.cdUp() &&
|
||||
- directory.cd("lib") &&
|
||||
- directory.cd("pdf4qt"))
|
||||
- {
|
||||
- availablePlugins = directory.entryList(QStringList("*.so"));
|
||||
- }
|
||||
-#endif
|
||||
#else
|
||||
static_assert(false, "Implement this for another OS!");
|
||||
#endif
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
From 4cc5cf70d017030c9e016587e1182060f64429f2 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Golubev <fatzer2@gmail.com>
|
||||
Date: Fri, 8 Nov 2024 23:07:36 +0300
|
||||
Subject: [PATCH 2/2] Minimal cmake fixes
|
||||
|
||||
---
|
||||
CMakeLists.txt | 3 +--
|
||||
Pdf4QtLibCore/CMakeLists.txt | 2 +-
|
||||
2 files changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index ea5518d..cb8219c 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -55,7 +55,6 @@ endif()
|
||||
qt_standard_project_setup()
|
||||
|
||||
find_package(OpenSSL REQUIRED)
|
||||
-find_package(lcms REQUIRED)
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(Freetype REQUIRED)
|
||||
find_package(OpenJPEG CONFIG REQUIRED)
|
||||
@@ -92,7 +91,7 @@ endif()
|
||||
option(PDF4QT_INSTALL_TO_USR "Install to usr directory" ON)
|
||||
|
||||
if(PDF4QT_LINUX)
|
||||
- set(PDF4QT_INSTALL_LIB_DIR_IMPL lib)
|
||||
+ set(PDF4QT_INSTALL_LIB_DIR_IMPL ${CMAKE_INSTALL_LIBDIR})
|
||||
set(PDF4QT_INSTALL_BIN_DIR_IMPL bin)
|
||||
|
||||
# Check if VCPKG_OVERLAY_PORTS is set as an environment variable or a CMake argument
|
||||
diff --git a/Pdf4QtLibCore/CMakeLists.txt b/Pdf4QtLibCore/CMakeLists.txt
|
||||
index e930b23..2c46c96 100644
|
||||
--- a/Pdf4QtLibCore/CMakeLists.txt
|
||||
+++ b/Pdf4QtLibCore/CMakeLists.txt
|
||||
@@ -162,7 +162,7 @@ GENERATE_EXPORT_HEADER(Pdf4QtLibCore
|
||||
EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}/pdf4qtlibcore_export.h")
|
||||
|
||||
target_link_libraries(Pdf4QtLibCore PRIVATE Qt6::Core Qt6::Gui Qt6::Xml Qt6::Svg)
|
||||
-target_link_libraries(Pdf4QtLibCore PRIVATE lcms2::lcms2)
|
||||
+target_link_libraries(Pdf4QtLibCore PRIVATE lcms2)
|
||||
target_link_libraries(Pdf4QtLibCore PRIVATE OpenSSL::SSL OpenSSL::Crypto)
|
||||
target_link_libraries(Pdf4QtLibCore PRIVATE ZLIB::ZLIB)
|
||||
target_link_libraries(Pdf4QtLibCore PRIVATE Freetype::Freetype)
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
From 2a93ca5a1f40ee8178f07ac1590889c3d2623d6c Mon Sep 17 00:00:00 2001
|
||||
From: Jakub Melka <Mgr.Jakub.Melka@gmail.com>
|
||||
Date: Wed, 10 Jul 2024 20:19:06 +0200
|
||||
Subject: [PATCH 01/11] Issue #185: Latest git fails to build in linux
|
||||
|
||||
---
|
||||
Pdf4QtLibCore/sources/pdfblpainter.cpp | 12 ++++++------
|
||||
RELEASES.txt | 1 +
|
||||
2 files changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/Pdf4QtLibCore/sources/pdfblpainter.cpp b/Pdf4QtLibCore/sources/pdfblpainter.cpp
|
||||
index a8b3e85..007c39b 100644
|
||||
--- a/Pdf4QtLibCore/sources/pdfblpainter.cpp
|
||||
+++ b/Pdf4QtLibCore/sources/pdfblpainter.cpp
|
||||
@@ -302,7 +302,7 @@ void PDFBLPaintEngine::updateState(const QPaintEngineState& updatedState)
|
||||
if (updatedState.state().testFlag(QPaintEngine::DirtyTransform))
|
||||
{
|
||||
m_currentTransform = updatedState.transform();
|
||||
- m_blContext->setMatrix(getBLMatrix(updatedState.transform()));
|
||||
+ m_blContext->setTransform(getBLMatrix(updatedState.transform()));
|
||||
}
|
||||
|
||||
if (updatedState.state().testFlag(QPaintEngine::DirtyFont))
|
||||
@@ -580,7 +580,7 @@ void PDFBLPaintEngine::drawPathImpl(const QPainterPath& path, bool enableStroke,
|
||||
if (!fillPath.isEmpty())
|
||||
{
|
||||
m_blContext->save();
|
||||
- m_blContext->resetMatrix();
|
||||
+ m_blContext->resetTransform();
|
||||
m_blContext->fillPath(getBLPath(fillPath));
|
||||
m_blContext->restore();
|
||||
}
|
||||
@@ -596,7 +596,7 @@ void PDFBLPaintEngine::drawPathImpl(const QPainterPath& path, bool enableStroke,
|
||||
if (!finalTransformedStrokedPath.isEmpty())
|
||||
{
|
||||
m_blContext->save();
|
||||
- m_blContext->resetMatrix();
|
||||
+ m_blContext->resetTransform();
|
||||
setBLBrush(m_blContext.value(), m_currentPen.brush());
|
||||
m_blContext->fillPath(getBLPath(finalTransformedStrokedPath));
|
||||
m_blContext->restore();
|
||||
@@ -1183,10 +1183,10 @@ void PDFBLPaintEngine::updateClipping(std::optional<QRegion> clipRegion,
|
||||
|
||||
if (m_clipSingleRect)
|
||||
{
|
||||
- BLMatrix2D matrix = m_blContext->userMatrix();
|
||||
- m_blContext->resetMatrix();
|
||||
+ BLMatrix2D matrix = m_blContext->userTransform();
|
||||
+ m_blContext->resetTransform();
|
||||
m_blContext->clipToRect(getBLRect(m_finalClipPath->boundingRect()));
|
||||
- m_blContext->setMatrix(matrix);
|
||||
+ m_blContext->setTransform(matrix);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -0,0 +1,102 @@
|
||||
From a577eebae0aa1b73dd0f6baf7ba6e3836c5a158a Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Golubev <fatzer2@gmail.com>
|
||||
Date: Wed, 23 Jul 2025 20:38:29 +0300
|
||||
Subject: [PATCH 5/5] Fix translation install path on *nix
|
||||
|
||||
On *nix translations canonically go into <prefix>/share/<project_name>
|
||||
rather than <prefix>/bin.
|
||||
|
||||
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
|
||||
---
|
||||
CMakeLists.txt | 15 +++++++++------
|
||||
.../sources/pdfapplicationtranslator.cpp | 4 +++-
|
||||
config.h.cmake | 1 +
|
||||
3 files changed, 13 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index e4821ef..5061e79 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -134,14 +134,19 @@ endif()
|
||||
|
||||
if(PDF4QT_LINUX)
|
||||
set(PDF4QT_PLUGINS_DIR ${PDF4QT_INSTALL_LIB_DIR}/pdf4qt)
|
||||
+ set(PDF4QT_INSTALL_TRANS_DIR ${PDF4QT_INSTALL_SHARE_DIR}/pdf4qt/translations)
|
||||
else()
|
||||
set(PDF4QT_PLUGINS_DIR ${PDF4QT_INSTALL_LIB_DIR}/pdfplugins)
|
||||
+ set(PDF4QT_INSTALL_TRANS_DIR ${PDF4QT_INSTALL_BIN_DIR}/translations)
|
||||
endif()
|
||||
|
||||
# Relative paths are used by the config
|
||||
cmake_path(RELATIVE_PATH PDF4QT_PLUGINS_DIR
|
||||
BASE_DIRECTORY "${PDF4QT_INSTALL_BIN_DIR}"
|
||||
OUTPUT_VARIABLE PDF4QT_PLUGINS_RELATIVE_PATH)
|
||||
+cmake_path(RELATIVE_PATH PDF4QT_INSTALL_TRANS_DIR
|
||||
+ BASE_DIRECTORY "${PDF4QT_INSTALL_BIN_DIR}"
|
||||
+ OUTPUT_VARIABLE PDF4QT_TRANSLATIONS_RELATIVE_PATH)
|
||||
configure_file(config.h.cmake config.h)
|
||||
|
||||
add_subdirectory(Pdf4QtLibCore)
|
||||
@@ -171,7 +176,7 @@ qt_collect_translation_source_targets(i18n_targets)
|
||||
message("CMAKE_TRANSLATION_TARGETS = " ${i18n_targets})
|
||||
|
||||
set(PDF4QT_TRANSLATION_TS_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/translations)
|
||||
-set(PDF4QT_TRANSLATION_QM_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${PDF4QT_INSTALL_BIN_DIR}/translations)
|
||||
+set(PDF4QT_TRANSLATION_QM_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${PDF4QT_INSTALL_TRANS_DIR})
|
||||
|
||||
message("PDF4QT_TRANSLATION_TS_OUTPUT_DIRECTORY" ${PDF4QT_TRANSLATION_TS_OUTPUT_DIRECTORY})
|
||||
message("PDF4QT_TRANSLATION_QM_OUTPUT_DIRECTORY" ${PDF4QT_TRANSLATION_QM_OUTPUT_DIRECTORY})
|
||||
@@ -181,7 +186,7 @@ qt_add_translations(TARGETS Pdf4QtEditor Pdf4QtViewer Pdf4QtPageMaster Pdf4QtDif
|
||||
MERGE_QT_TRANSLATIONS
|
||||
TS_OUTPUT_DIRECTORY ${PDF4QT_TRANSLATION_TS_OUTPUT_DIRECTORY}
|
||||
QM_OUTPUT_DIRECTORY ${PDF4QT_TRANSLATION_QM_OUTPUT_DIRECTORY}
|
||||
- QM_FILES_OUTPUT_VARIABLE pdf4qt_qm_files)
|
||||
+ QM_FILES_OUTPUT_VARIABLE PDF4QT_QM_FILES)
|
||||
|
||||
message("CMAKE_PREFIX_PATH = " ${CMAKE_PREFIX_PATH})
|
||||
message("CMAKE_TOOLCHAIN_FILE = " ${CMAKE_TOOLCHAIN_FILE})
|
||||
@@ -189,10 +194,8 @@ message("CMAKE_TOOLCHAIN_FILE = " ${CMAKE_TOOLCHAIN_FILE})
|
||||
configure_file(version.txt.in version.txt)
|
||||
|
||||
if(NOT PDF4QT_BUILD_ONLY_CORE_LIBRARY)
|
||||
- install(DIRECTORY ${PDF4QT_TRANSLATION_QM_OUTPUT_DIRECTORY}
|
||||
- RUNTIME DESTINATION ${PDF4QT_INSTALL_BIN_DIR}
|
||||
- FILES_MATCHING
|
||||
- PATTERN *.qm)
|
||||
+ install(FILES ${PDF4QT_QM_FILES}
|
||||
+ DESTINATION ${PDF4QT_INSTALL_TRANS_DIR})
|
||||
|
||||
if(WIN32)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Desktop/44x44/
|
||||
diff --git a/Pdf4QtLibCore/sources/pdfapplicationtranslator.cpp b/Pdf4QtLibCore/sources/pdfapplicationtranslator.cpp
|
||||
index 89707f3..5faef08 100644
|
||||
--- a/Pdf4QtLibCore/sources/pdfapplicationtranslator.cpp
|
||||
+++ b/Pdf4QtLibCore/sources/pdfapplicationtranslator.cpp
|
||||
@@ -27,6 +27,8 @@
|
||||
#include <QMetaEnum>
|
||||
#include <QCoreApplication>
|
||||
|
||||
+#include "config.h"
|
||||
+
|
||||
namespace pdf
|
||||
{
|
||||
|
||||
@@ -48,7 +50,7 @@ PDFApplicationTranslator::ELanguage PDFApplicationTranslator::getLanguage() cons
|
||||
void PDFApplicationTranslator::installTranslator()
|
||||
{
|
||||
QDir applicationDirectory(QCoreApplication::applicationDirPath());
|
||||
- applicationDirectory.cd("translations");
|
||||
+ applicationDirectory.cd(PDF4QT_TRANSLATIONS_RELATIVE_PATH);
|
||||
QString translationPath = applicationDirectory.absolutePath();
|
||||
|
||||
Q_ASSERT(!m_translator);
|
||||
diff --git a/config.h.cmake b/config.h.cmake
|
||||
index 3d68799..30325bb 100644
|
||||
--- a/config.h.cmake
|
||||
+++ b/config.h.cmake
|
||||
@@ -1 +1,2 @@
|
||||
#define PDF4QT_PLUGINS_RELATIVE_PATH "@PDF4QT_PLUGINS_RELATIVE_PATH@"
|
||||
+#define PDF4QT_TRANSLATIONS_RELATIVE_PATH "@PDF4QT_TRANSLATIONS_RELATIVE_PATH@"
|
||||
--
|
||||
2.49.1
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
From 2fb17775ac879e41e1b6f8a9f24bc28651c6df15 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Golubev <fatzer2@gmail.com>
|
||||
Date: Mon, 11 Nov 2024 19:04:44 +0300
|
||||
Subject: [PATCH 3/5] Make building of tests optional
|
||||
|
||||
---
|
||||
CMakeLists.txt | 13 +++++++++++--
|
||||
UnitTests/CMakeLists.txt | 1 +
|
||||
2 files changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index fed05c6..bc16b59 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -39,6 +39,7 @@ if(WIN32 AND MSVC)
|
||||
endif()
|
||||
|
||||
option(PDF4QT_BUILD_ONLY_CORE_LIBRARY "Build only core library" OFF)
|
||||
+option(PDF4QT_BUILD_TESTS "Build UnitTests" ON)
|
||||
|
||||
set(PDF4QT_QT_ROOT "" CACHE PATH "Qt root directory")
|
||||
|
||||
@@ -56,7 +57,11 @@ find_package(Qt6 REQUIRED COMPONENTS Core LinguistTools)
|
||||
if(PDF4QT_BUILD_ONLY_CORE_LIBRARY)
|
||||
find_package(Qt6 REQUIRED COMPONENTS Core Gui Svg Xml)
|
||||
else()
|
||||
- find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Svg Xml PrintSupport TextToSpeech Test)
|
||||
+ find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Svg Xml PrintSupport TextToSpeech)
|
||||
+endif()
|
||||
+
|
||||
+if(PDF4QT_BUILD_TESTS)
|
||||
+ find_package(Qt6 REQUIRED COMPONENTS Test)
|
||||
endif()
|
||||
|
||||
qt_standard_project_setup(I18N_TRANSLATED_LANGUAGES en de cs es ko)
|
||||
@@ -135,7 +140,6 @@ if(NOT PDF4QT_BUILD_ONLY_CORE_LIBRARY)
|
||||
add_subdirectory(JBIG2_Viewer)
|
||||
add_subdirectory(PdfExampleGenerator)
|
||||
add_subdirectory(PdfTool)
|
||||
- add_subdirectory(UnitTests)
|
||||
add_subdirectory(Pdf4QtLibGui)
|
||||
add_subdirectory(Pdf4QtEditorPlugins)
|
||||
add_subdirectory(Pdf4QtEditor)
|
||||
@@ -146,6 +150,11 @@ if(NOT PDF4QT_BUILD_ONLY_CORE_LIBRARY)
|
||||
add_subdirectory(WixInstaller)
|
||||
endif()
|
||||
|
||||
+if(PDF4QT_BUILD_TESTS)
|
||||
+ enable_testing()
|
||||
+ add_subdirectory(UnitTests)
|
||||
+endif()
|
||||
+
|
||||
qt_collect_translation_source_targets(i18n_targets)
|
||||
message("CMAKE_TRANSLATION_TARGETS = " ${i18n_targets})
|
||||
|
||||
diff --git a/UnitTests/CMakeLists.txt b/UnitTests/CMakeLists.txt
|
||||
index c1a912f..9f64ec8 100644
|
||||
--- a/UnitTests/CMakeLists.txt
|
||||
+++ b/UnitTests/CMakeLists.txt
|
||||
@@ -32,3 +32,4 @@ set_target_properties(UnitTests PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${PDF4QT_INSTALL_LIB_DIR}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${PDF4QT_INSTALL_BIN_DIR}
|
||||
)
|
||||
+add_test(UnitTests "${CMAKE_BINARY_DIR}/${PDF4QT_INSTALL_BIN_DIR}/UnitTests")
|
||||
--
|
||||
2.49.1
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
From 25c123fdfa0b92841de35963a5663b719f0c8645 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Golubev <fatzer2@gmail.com>
|
||||
Date: Mon, 11 Nov 2024 18:15:32 +0300
|
||||
Subject: [PATCH 4/5] Make runtime respect cmake's plugin dir settings
|
||||
|
||||
This fixes plugin lookup on linux where plugins were installed into
|
||||
<prefix>/lib/pdf4qt but were expected at <prefix>/pdfplugins.
|
||||
---
|
||||
CMakeLists.txt | 12 ++++++++++++
|
||||
Pdf4QtEditorPlugins/CMakeLists.txt | 6 ------
|
||||
Pdf4QtLibGui/pdfprogramcontroller.cpp | 16 +++-------------
|
||||
config.h.cmake | 1 +
|
||||
4 files changed, 16 insertions(+), 19 deletions(-)
|
||||
create mode 100644 config.h.cmake
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index bc16b59..e4821ef 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -132,6 +132,18 @@ else()
|
||||
set(PDF4QT_INSTALL_SHARE_DIR share)
|
||||
endif()
|
||||
|
||||
+if(PDF4QT_LINUX)
|
||||
+ set(PDF4QT_PLUGINS_DIR ${PDF4QT_INSTALL_LIB_DIR}/pdf4qt)
|
||||
+else()
|
||||
+ set(PDF4QT_PLUGINS_DIR ${PDF4QT_INSTALL_LIB_DIR}/pdfplugins)
|
||||
+endif()
|
||||
+
|
||||
+# Relative paths are used by the config
|
||||
+cmake_path(RELATIVE_PATH PDF4QT_PLUGINS_DIR
|
||||
+ BASE_DIRECTORY "${PDF4QT_INSTALL_BIN_DIR}"
|
||||
+ OUTPUT_VARIABLE PDF4QT_PLUGINS_RELATIVE_PATH)
|
||||
+configure_file(config.h.cmake config.h)
|
||||
+
|
||||
add_subdirectory(Pdf4QtLibCore)
|
||||
|
||||
if(NOT PDF4QT_BUILD_ONLY_CORE_LIBRARY)
|
||||
diff --git a/Pdf4QtEditorPlugins/CMakeLists.txt b/Pdf4QtEditorPlugins/CMakeLists.txt
|
||||
index 33019ca..26e2615 100644
|
||||
--- a/Pdf4QtEditorPlugins/CMakeLists.txt
|
||||
+++ b/Pdf4QtEditorPlugins/CMakeLists.txt
|
||||
@@ -20,12 +20,6 @@
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
-if(PDF4QT_LINUX)
|
||||
- set(PDF4QT_PLUGINS_DIR ${PDF4QT_INSTALL_LIB_DIR}/pdf4qt)
|
||||
-else()
|
||||
- set(PDF4QT_PLUGINS_DIR ${PDF4QT_INSTALL_LIB_DIR}/pdfplugins)
|
||||
-endif()
|
||||
-
|
||||
add_subdirectory(AudioBookPlugin)
|
||||
add_subdirectory(DimensionsPlugin)
|
||||
add_subdirectory(ObjectInspectorPlugin)
|
||||
diff --git a/Pdf4QtLibGui/pdfprogramcontroller.cpp b/Pdf4QtLibGui/pdfprogramcontroller.cpp
|
||||
index 937b6f1..25ca44c 100644
|
||||
--- a/Pdf4QtLibGui/pdfprogramcontroller.cpp
|
||||
+++ b/Pdf4QtLibGui/pdfprogramcontroller.cpp
|
||||
@@ -71,6 +71,8 @@
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
+#include "config.h"
|
||||
+
|
||||
#if defined(PDF4QT_USE_PRAGMA_LIB)
|
||||
#pragma comment(lib, "Shell32")
|
||||
#endif
|
||||
@@ -2165,23 +2167,11 @@ void PDFProgramController::updatePageLayoutActions()
|
||||
void PDFProgramController::loadPlugins()
|
||||
{
|
||||
QStringList availablePlugins;
|
||||
-
|
||||
+ QDir directory(QApplication::applicationDirPath() + "/" PDF4QT_PLUGINS_RELATIVE_PATH);
|
||||
#if defined(Q_OS_WIN)
|
||||
- QDir directory(QApplication::applicationDirPath() + "/pdfplugins");
|
||||
availablePlugins = directory.entryList(QStringList("*.dll"));
|
||||
#elif defined(Q_OS_UNIX)
|
||||
-#ifndef NDEBUG
|
||||
- QDir directory(QApplication::applicationDirPath() + "/../pdfplugins");
|
||||
availablePlugins = directory.entryList(QStringList("*.so"));
|
||||
-#else
|
||||
- QDir directory(QApplication::applicationDirPath());
|
||||
- if (directory.cdUp() &&
|
||||
- directory.cd("lib") &&
|
||||
- directory.cd("pdf4qt"))
|
||||
- {
|
||||
- availablePlugins = directory.entryList(QStringList("*.so"));
|
||||
- }
|
||||
-#endif
|
||||
#else
|
||||
static_assert(false, "Implement this for another OS!");
|
||||
#endif
|
||||
diff --git a/config.h.cmake b/config.h.cmake
|
||||
new file mode 100644
|
||||
index 0000000..3d68799
|
||||
--- /dev/null
|
||||
+++ b/config.h.cmake
|
||||
@@ -0,0 +1 @@
|
||||
+#define PDF4QT_PLUGINS_RELATIVE_PATH "@PDF4QT_PLUGINS_RELATIVE_PATH@"
|
||||
--
|
||||
2.49.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 4cc5cf70d017030c9e016587e1182060f64429f2 Mon Sep 17 00:00:00 2001
|
||||
From 42887fb8136b362637db318907b78128b13c251a Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Golubev <fatzer2@gmail.com>
|
||||
Date: Fri, 8 Nov 2024 23:07:36 +0300
|
||||
Subject: [PATCH 2/2] Minimal cmake fixes
|
||||
Subject: [PATCH 1/5] Minimal cmake fixes
|
||||
|
||||
---
|
||||
CMakeLists.txt | 3 +--
|
||||
@@ -9,18 +9,18 @@ Subject: [PATCH 2/2] Minimal cmake fixes
|
||||
2 files changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index ea5518d..cb8219c 100644
|
||||
index b943d3f..fed05c6 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -55,7 +55,6 @@ endif()
|
||||
qt_standard_project_setup()
|
||||
@@ -62,7 +62,6 @@ endif()
|
||||
qt_standard_project_setup(I18N_TRANSLATED_LANGUAGES en de cs es ko)
|
||||
|
||||
find_package(OpenSSL REQUIRED)
|
||||
-find_package(lcms2 REQUIRED)
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(Freetype REQUIRED)
|
||||
find_package(OpenJPEG CONFIG REQUIRED)
|
||||
@@ -92,7 +91,7 @@ endif()
|
||||
@@ -99,7 +98,7 @@ endif()
|
||||
option(PDF4QT_INSTALL_TO_USR "Install to usr directory" ON)
|
||||
|
||||
if(PDF4QT_LINUX)
|
||||
@@ -30,10 +30,10 @@ index ea5518d..cb8219c 100644
|
||||
|
||||
# Check if VCPKG_OVERLAY_PORTS is set as an environment variable or a CMake argument
|
||||
diff --git a/Pdf4QtLibCore/CMakeLists.txt b/Pdf4QtLibCore/CMakeLists.txt
|
||||
index e930b23..2c46c96 100644
|
||||
index f3436e0..7c719ce 100644
|
||||
--- a/Pdf4QtLibCore/CMakeLists.txt
|
||||
+++ b/Pdf4QtLibCore/CMakeLists.txt
|
||||
@@ -162,7 +162,7 @@ GENERATE_EXPORT_HEADER(Pdf4QtLibCore
|
||||
@@ -170,7 +170,7 @@ GENERATE_EXPORT_HEADER(Pdf4QtLibCore
|
||||
EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}/pdf4qtlibcore_export.h")
|
||||
|
||||
target_link_libraries(Pdf4QtLibCore PRIVATE Qt6::Core Qt6::Gui Qt6::Xml Qt6::Svg)
|
||||
@@ -43,5 +43,5 @@ index e930b23..2c46c96 100644
|
||||
target_link_libraries(Pdf4QtLibCore PRIVATE ZLIB::ZLIB)
|
||||
target_link_libraries(Pdf4QtLibCore PRIVATE Freetype::Freetype)
|
||||
--
|
||||
2.45.2
|
||||
2.49.1
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
# Copyright 2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit cmake xdg-utils
|
||||
|
||||
DESCRIPTION="Open source PDF WYSIWYG editor based on Qt"
|
||||
HOMEPAGE="https://jakubmelka.github.io/"
|
||||
MY_PN="${PN^^}"
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/JakubMelka/${MY_PN}"
|
||||
else
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
SRC_URI="https://github.com/JakubMelka/${MY_PN}/archive/refs/tags/v${PV}.tar.gz
|
||||
-> ${MY_P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-3+"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND="
|
||||
dev-cpp/tbb:=
|
||||
dev-libs/openssl
|
||||
dev-qt/qtbase:6[gui,widgets,xml]
|
||||
dev-qt/qtspeech:6
|
||||
dev-qt/qtsvg:6
|
||||
media-libs/blend2d
|
||||
media-libs/freetype
|
||||
media-libs/lcms
|
||||
media-libs/libjpeg-turbo
|
||||
media-libs/openjpeg
|
||||
sys-libs/zlib
|
||||
"
|
||||
DEPEND="$RDEPEND"
|
||||
|
||||
DOCS=( NOTES.txt README.md RELEASES.txt )
|
||||
PATCHES=(
|
||||
"${FILESDIR}/pdf4qt-1.4.0.0-fix-build-failure-on-resetMatrix.patch"
|
||||
"${FILESDIR}/pdf4qt-1.4.0.0-minor-fix-remove-extention-from-Icon-endtry-in-a-des.patch"
|
||||
"${FILESDIR}/pdf4qt-1.4.0.0-Minimal-cmake-fixes.patch"
|
||||
"${FILESDIR}/pdf4qt-1.4.0.0-Disable-test-building.patch"
|
||||
"${FILESDIR}/pdf4qt-1.4.0.0-Make-runtime-respect-cmake-s-plugin-dir-settings.patch"
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DPDF4QT_INSTALL_DEPENDENCIES=OFF
|
||||
-DPDF4QT_INSTALL_TO_USR=OFF
|
||||
-DVCPKG_OVERLAY_PORTS="" # suppress a warning
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
@@ -18,7 +18,7 @@ else
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-3+"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
@@ -44,24 +44,16 @@ DOCS=( NOTES.txt README.md RELEASES.txt )
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-1.4.0.0-minor-fix-remove-extention-from-Icon-endtry-in-a-des.patch"
|
||||
"${FILESDIR}/${P}-Minimal-cmake-fixes.patch"
|
||||
"${FILESDIR}/${PN}-1.4.0.0-Make-runtime-respect-cmake-s-plugin-dir-settings.patch"
|
||||
"${FILESDIR}/${P}-Make-building-of-tests-optional.patch"
|
||||
"${FILESDIR}/${P}-Make-runtime-respect-cmake-s-plugin-dir-settings.patch"
|
||||
"${FILESDIR}/${P}-Fix-translation-install-path-on-nix.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
# Conditionally dissable test build
|
||||
if ! use test; then
|
||||
sed -i -e '/find_package(Qt6/s/Test//' \
|
||||
-e '/add_subdirectory(UnitTests)/d' \
|
||||
CMakeLists.txt || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DPDF4QT_INSTALL_DEPENDENCIES=OFF
|
||||
-DPDF4QT_INSTALL_TO_USR=OFF
|
||||
-DPDF4QT_BUILD_TESTS="$(usex test)"
|
||||
-DVCPKG_OVERLAY_PORTS="" # suppress a warning
|
||||
)
|
||||
cmake_src_configure
|
||||
@@ -18,7 +18,7 @@ else
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-3+"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
@@ -42,27 +42,16 @@ DEPEND="$RDEPEND
|
||||
|
||||
DOCS=( NOTES.txt README.md RELEASES.txt )
|
||||
PATCHES=(
|
||||
"${FILESDIR}/pdf4qt-1.4.0.0-minor-fix-remove-extention-from-Icon-endtry-in-a-des.patch"
|
||||
"${FILESDIR}/pdf4qt-1.5.0.0-Minimal-cmake-fixes.patch"
|
||||
"${FILESDIR}/pdf4qt-1.4.0.0-Make-runtime-respect-cmake-s-plugin-dir-settings.patch"
|
||||
"${FILESDIR}/${PN}-1.5.1.0-Make-building-of-tests-optional.patch"
|
||||
"${FILESDIR}/${PN}-1.5.1.0-Make-runtime-respect-cmake-s-plugin-dir-settings.patch"
|
||||
"${FILESDIR}/${PN}-1.5.1.0-Fix-translation-install-path-on-nix.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
# Conditionally dissable test build
|
||||
if ! use test; then
|
||||
sed -i -e '/find_package(Qt6/s/Test//' \
|
||||
-e '/add_subdirectory(UnitTests)/d' \
|
||||
CMakeLists.txt || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DPDF4QT_INSTALL_DEPENDENCIES=OFF
|
||||
-DPDF4QT_INSTALL_TO_USR=OFF
|
||||
-DVCPKG_OVERLAY_PORTS="" # suppress a warning
|
||||
-DPDF4QT_BUILD_TESTS="$(usex test)"
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user