From 3148c89b3cae9f508001b80e674f3578474480cc Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 23 Dec 2018 02:01:49 +0100 Subject: [PATCH] openjpeg: fix includedir in cmake config files --- pkgs/development/libraries/openjpeg/2.x.nix | 10 ++++ .../fix-cmake-config-includedir.patch | 55 +++++++++++++++++++ .../libraries/openjpeg/generic.nix | 4 +- 3 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/openjpeg/fix-cmake-config-includedir.patch diff --git a/pkgs/development/libraries/openjpeg/2.x.nix b/pkgs/development/libraries/openjpeg/2.x.nix index fd9c7eea8c2..3aa2fdf0dd2 100644 --- a/pkgs/development/libraries/openjpeg/2.x.nix +++ b/pkgs/development/libraries/openjpeg/2.x.nix @@ -6,6 +6,11 @@ callPackage ./generic.nix (args // rec { revision = "v${version}"; sha256 = "08plxrnfl33sn2vh5nwbsngyv6b1sfpplvx881crm1v1ai10m2lz"; + extraFlags = [ + "-DOPENJPEG_INSTALL_INCLUDE_DIR=${placeholder "dev"}/include/openjpeg-${branch}" + "-DOPENJPEG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/openjpeg-${branch}" + ]; + patches = [ (fetchpatch { name = "CVE-2018-7648.patch"; @@ -17,5 +22,10 @@ callPackage ./generic.nix (args // rec { url = "https://github.com/uclouvain/openjpeg/commit/92023cd6c377e0384a7725949b25655d4d94dced.patch"; sha256 = "0rrxxqcp3vjkmvywxj9ac766m3fppy0x0nszrkf8irrqy1gnp38k"; }) + (fetchpatch { + url = https://github.com/uclouvain/openjpeg/commit/24fd3ce777a64b8b315cfe1ee642ec7b1cc6aa97.patch; + sha256 = "1sl5wplgdfiqw8qbd8s5j5hq3ynbwgsnv8nxqfrk5s7vyrzx9pxv"; + }) + ./fix-cmake-config-includedir.patch ]; }) diff --git a/pkgs/development/libraries/openjpeg/fix-cmake-config-includedir.patch b/pkgs/development/libraries/openjpeg/fix-cmake-config-includedir.patch new file mode 100644 index 00000000000..6ff720ead4e --- /dev/null +++ b/pkgs/development/libraries/openjpeg/fix-cmake-config-includedir.patch @@ -0,0 +1,55 @@ +--- a/cmake/OpenJPEGConfig.cmake.in ++++ b/cmake/OpenJPEGConfig.cmake.in +@@ -32,7 +32,7 @@ + set(INC_DIR "@CMAKE_INSTALL_PREFIX@/@OPENJPEG_INSTALL_INCLUDE_DIR@") + file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}") + +- get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" ABSOLUTE) ++ get_filename_component(OPENJPEG_INCLUDE_DIRS "@OPENJPEG_INSTALL_INCLUDE_DIR@" ABSOLUTE) + + else() + if(EXISTS ${SELF_DIR}/OpenJPEGExports.cmake) +--- a/src/lib/openjp2/libopenjp2.pc.cmake.in ++++ b/src/lib/openjp2/libopenjp2.pc.cmake.in +@@ -3,7 +3,7 @@ + mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@ + docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@ + libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@ +-includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@ ++includedir=@OPENJPEG_INSTALL_INCLUDE_DIR@ + + Name: openjp2 + Description: JPEG2000 library (Part 1 and 2) +--- a/src/lib/openjp3d/libopenjp3d.pc.cmake.in ++++ b/src/lib/openjp3d/libopenjp3d.pc.cmake.in +@@ -3,7 +3,7 @@ + mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@ + docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@ + libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@ +-includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@ ++includedir=@OPENJPEG_INSTALL_INCLUDE_DIR@ + + Name: openjp3d + Description: JPEG2000 Extensions for three-dimensional data (Part 10) +--- a/src/lib/openjpip/libopenjpip.pc.cmake.in ++++ b/src/lib/openjpip/libopenjpip.pc.cmake.in +@@ -3,7 +3,7 @@ + mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@ + docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@ + libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@ +-includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@ ++includedir=@OPENJPEG_INSTALL_INCLUDE_DIR@ + + Name: openjpip + Description: JPEG2000 Interactivity tools, APIs and protocols (Part 9) +--- a/src/lib/openjpwl/libopenjpwl.pc.cmake.in ++++ b/src/lib/openjpwl/libopenjpwl.pc.cmake.in +@@ -3,7 +3,7 @@ + mandir=${prefix}/@OPENJPEG_INSTALL_MAN_DIR@ + docdir=${prefix}/@OPENJPEG_INSTALL_DOC_DIR@ + libdir=${prefix}/@OPENJPEG_INSTALL_LIB_DIR@ +-includedir=${prefix}/@OPENJPEG_INSTALL_INCLUDE_DIR@ ++includedir=@OPENJPEG_INSTALL_INCLUDE_DIR@ + + Name: openjpwl + Description: JPEG2000 Wireless library (Part 11) diff --git a/pkgs/development/libraries/openjpeg/generic.nix b/pkgs/development/libraries/openjpeg/generic.nix index 96cf0451ebf..d3130a64b03 100644 --- a/pkgs/development/libraries/openjpeg/generic.nix +++ b/pkgs/development/libraries/openjpeg/generic.nix @@ -11,7 +11,7 @@ , testsSupport ? false , jdk ? null # Inherit generics -, branch, version, revision, sha256, patches ? [], ... +, branch, version, revision, sha256, patches ? [], extraFlags ? [], ... }: assert jpipServerSupport -> jpipLibSupport && curl != null && fcgi != null; @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { (mkFlag jp3dSupport "BUILD_JP3D") (mkFlag thirdPartySupport "BUILD_THIRDPARTY") (mkFlag testsSupport "BUILD_TESTING") - ]; + ] ++ extraFlags; nativeBuildInputs = [ cmake pkgconfig ];