Skip to content

Commit

Permalink
pdf4qt: init at 1.3.7
Browse files Browse the repository at this point in the history
  • Loading branch information
Aleksanaa committed Mar 27, 2024
1 parent 92bed13 commit 0a4a1d0
Show file tree
Hide file tree
Showing 2 changed files with 88 additions and 0 deletions.
21 changes: 21 additions & 0 deletions pkgs/by-name/pd/pdf4qt/find_lcms2_path.patch
@@ -0,0 +1,21 @@
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 changes: 67 additions & 0 deletions pkgs/by-name/pd/pdf4qt/package.nix
@@ -0,0 +1,67 @@
{ 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 = [
# Finding lcms2 directly is only supported when building with
# vcpkg. This patch allows it to directly search for the
# corresponding libraries and header files.
./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;
};
})

0 comments on commit 0a4a1d0

Please sign in to comment.