about summary refs log tree commit diff
path: root/pkgs/by-name/pd
diff options
context:
space:
mode:
authoraleksana <me@aleksana.moe>2024-03-27 22:47:08 +0800
committeraleksana <me@aleksana.moe>2024-03-28 02:58:32 +0800
commitf191a4f98fb872dcbe07738d6879be3ec9ed597b (patch)
treecaaa5183b3e10b31658d0b5b70ca260ef87c96f4 /pkgs/by-name/pd
parent92bed1399815bcbe85def8b3e82ad4c68332ba20 (diff)
pdf4qt: init at 1.3.7
Diffstat (limited to 'pkgs/by-name/pd')
-rw-r--r--pkgs/by-name/pd/pdf4qt/find_lcms2_path.patch21
-rw-r--r--pkgs/by-name/pd/pdf4qt/package.nix67
2 files changed, 88 insertions, 0 deletions
diff --git a/pkgs/by-name/pd/pdf4qt/find_lcms2_path.patch b/pkgs/by-name/pd/pdf4qt/find_lcms2_path.patch
new file mode 100644
index 0000000000000..eb38b07feb45b
--- /dev/null
+++ b/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)
diff --git a/pkgs/by-name/pd/pdf4qt/package.nix b/pkgs/by-name/pd/pdf4qt/package.nix
new file mode 100644
index 0000000000000..95152518f7994
--- /dev/null
+++ b/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 = [
+    # 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;
+  };
+})