Merge pull request #299514 from Aleksanaa/pdf4qt

pdf4qt: init at 1.3.7

Changed files
+88
pkgs
+21
pkgs/by-name/pd/pdf4qt/find_lcms2_path.patch
···
···
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
+
index 98752ec..aa029b3 100644
+
--- a/CMakeLists.txt
+
+++ b/CMakeLists.txt
+
@@ -55,7 +55,15 @@ endif()
+
qt_standard_project_setup()
+
+
find_package(OpenSSL REQUIRED)
+
-find_package(lcms REQUIRED)
+
+SET(LCMS2_NAMES ${LCMS2_NAMES} lcms2 liblcms2 liblcms2_static)
+
+FIND_LIBRARY(LCMS2_LIBRARY NAMES ${LCMS2_NAMES} )
+
+FIND_PATH(LCMS2_INCLUDE_DIR lcms2.h)
+
+add_library(lcms2::lcms2 UNKNOWN IMPORTED)
+
+set_target_properties(lcms2::lcms2 PROPERTIES
+
+ IMPORTED_LOCATION ${LCMS2_LIBRARY}
+
+ INTERFACE_INCLUDE_DIRECTORIES ${LCMS2_INCLUDE_DIR}
+
+ INTERFACE_COMPILE_DEFINITIONS "HAVE_LCMS2=1;CMS_NO_REGISTER_KEYWORD=1")
+
+set_property(GLOBAL APPEND PROPERTY INTERNAL_DEPS_PROP lcms2::lcms2)
+
find_package(ZLIB REQUIRED)
+
find_package(Freetype REQUIRED)
+
find_package(OpenJPEG CONFIG REQUIRED)
+67
pkgs/by-name/pd/pdf4qt/package.nix
···
···
+
{ lib
+
, stdenv
+
, fetchFromGitHub
+
, substituteAll
+
, lcms
+
, cmake
+
, pkg-config
+
, qt6
+
, openjpeg
+
, tbb_2021_8
+
}:
+
+
stdenv.mkDerivation (finalAttrs: {
+
pname = "pdf4qt";
+
version = "1.3.7";
+
+
src = fetchFromGitHub {
+
owner = "JakubMelka";
+
repo = "PDF4QT";
+
rev = "v${finalAttrs.version}";
+
hash = "sha256-wZJDMLEaHGBPSToQ+ObSfB5tw/fTIX1i5tmNPmIa7Ck=";
+
};
+
+
patches = [
+
# lcms2 cmake module only appears when built with vcpkg.
+
# We directly search for the corresponding libraries and
+
# header files instead.
+
./find_lcms2_path.patch
+
];
+
+
nativeBuildInputs = [
+
cmake
+
pkg-config
+
qt6.qttools
+
qt6.wrapQtAppsHook
+
];
+
+
buildInputs = [
+
qt6.qtbase
+
qt6.qtwayland
+
qt6.qtsvg
+
qt6.qtspeech
+
lcms
+
openjpeg
+
tbb_2021_8
+
];
+
+
cmakeFlags = [
+
(lib.cmakeBool "PDF4QT_INSTALL_TO_USR" false)
+
];
+
+
meta = {
+
description = "Open source PDF editor";
+
longDescription = ''
+
This software is consisting of PDF rendering library,
+
and several applications, such as advanced document
+
viewer, command line tool, and document page
+
manipulator application. Software is implementing PDF
+
functionality based on PDF Reference 2.0.
+
'';
+
homepage = "https://jakubmelka.github.io";
+
license = lib.licenses.lgpl3Only;
+
mainProgram = "Pdf4QtViewerLite";
+
maintainers = with lib.maintainers; [ aleksana ];
+
platforms = lib.platforms.linux;
+
};
+
})