Unverified Commit bf764cb7 authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #299514 from Aleksanaa/pdf4qt

pdf4qt: init at 1.3.7
parents 0f20cd1f f191a4f9
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
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 −0
Original line number Diff line number Diff line
{ 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;
  };
})