From 3e1e46a666ba7b801e8dfef80b31fb777b4a2035 Mon Sep 17 00:00:00 2001 From: landry Date: Tue, 5 Mar 2024 14:37:54 +0000 Subject: [PATCH] graphics/openjp2: update to 2.5.2. - use https HOMEPAGE - bump major - cf https://github.com/uclouvain/openjpeg/blob/v2.5.2/CHANGELOG.md#v252-2024-02-28 & https://github.com/uclouvain/openjpeg/blob/v2.5.2/CHANGELOG.md#v251-2024-02-26 for details, including CVE-2021-3575 - drop now unneeded patches, last one remaining upstreamed in https://github.com/uclouvain/openjpeg/pull/1520 - similar diff sent by brad tested in a bulk by tb@ --- graphics/openjp2/Makefile | 9 ++--- graphics/openjp2/distinfo | 4 +- graphics/openjp2/patches/patch-CMakeLists_txt | 15 ------- .../patches/patch-src_bin_jp2_convert_c | 28 ++++++++++--- .../patches/patch-thirdparty_CMakeLists_txt | 40 ------------------- graphics/openjp2/pkg/PLIST | 10 ++--- 6 files changed, 33 insertions(+), 73 deletions(-) delete mode 100644 graphics/openjp2/patches/patch-CMakeLists_txt delete mode 100644 graphics/openjp2/patches/patch-thirdparty_CMakeLists_txt diff --git a/graphics/openjp2/Makefile b/graphics/openjp2/Makefile index 996dcd295a9b..19e36f4bebdb 100644 --- a/graphics/openjp2/Makefile +++ b/graphics/openjp2/Makefile @@ -2,14 +2,14 @@ COMMENT= open-source JPEG 2000 codec library GH_ACCOUNT= uclouvain GH_PROJECT= openjpeg -GH_TAGNAME= v2.5.0 +GH_TAGNAME= v2.5.2 DISTNAME= openjp2-${GH_TAGNAME:S/v//} -SHARED_LIBS += openjp2 5.0 +SHARED_LIBS += openjp2 6.0 CATEGORIES= graphics -HOMEPAGE= http://www.openjpeg.org/ +HOMEPAGE= https://www.openjpeg.org/ # BSD PERMIT_PACKAGE= Yes @@ -17,8 +17,7 @@ PERMIT_PACKAGE= Yes WANTLIB += c lcms2 m png pthread tiff z MODULES= devel/cmake -CONFIGURE_ARGS= -DOPENJPEG_INSTALL_MAN_DIR=man \ - -DOPJ_DATA_ROOT=${WRKDIR}/data \ +CONFIGURE_ARGS= -DOPJ_DATA_ROOT=${WRKDIR}/data \ -DBUILD_TESTING=True LIB_DEPENDS= graphics/lcms2 \ diff --git a/graphics/openjp2/distinfo b/graphics/openjp2/distinfo index b4e917758fe3..c5ab401a9ceb 100644 --- a/graphics/openjp2/distinfo +++ b/graphics/openjp2/distinfo @@ -1,2 +1,2 @@ -SHA256 (openjp2-2.5.0.tar.gz) = AzOAbWrezG96kSQ7K4Of9NIFOCNjTU9u16WbyHQJEio= -SIZE (openjp2-2.5.0.tar.gz) = 1867111 +SHA256 (openjp2-2.5.2.tar.gz) = kOOJb+2RDDdqr3nN2Yvf2vmMZHLv2OHevwqFSTjL2mo= +SIZE (openjp2-2.5.2.tar.gz) = 1871948 diff --git a/graphics/openjp2/patches/patch-CMakeLists_txt b/graphics/openjp2/patches/patch-CMakeLists_txt deleted file mode 100644 index e9bdfecfcf4e..000000000000 --- a/graphics/openjp2/patches/patch-CMakeLists_txt +++ /dev/null @@ -1,15 +0,0 @@ -Index: CMakeLists.txt ---- CMakeLists.txt.orig -+++ CMakeLists.txt -@@ -109,7 +109,10 @@ endif() - option(BUILD_DOC "Build the HTML documentation (with doxygen if available)." OFF) - - string(TOLOWER ${PROJECT_NAME} projectname) --set(OPENJPEG_INSTALL_SUBDIR "${projectname}-${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}") -+ -+if(NOT OPENJPEG_INSTALL_SUBDIR) -+ set(OPENJPEG_INSTALL_SUBDIR "${projectname}-${OPENJPEG_VERSION_MAJOR}.${OPENJPEG_VERSION_MINOR}") -+endif() - - if(NOT OPENJPEG_INSTALL_BIN_DIR) - set(OPENJPEG_INSTALL_BIN_DIR "bin") diff --git a/graphics/openjp2/patches/patch-src_bin_jp2_convert_c b/graphics/openjp2/patches/patch-src_bin_jp2_convert_c index be1f84264ec2..e114bd4775b2 100644 --- a/graphics/openjp2/patches/patch-src_bin_jp2_convert_c +++ b/graphics/openjp2/patches/patch-src_bin_jp2_convert_c @@ -1,12 +1,28 @@ +fix build on big endian + +https://github.com/uclouvain/openjpeg/pull/1520 +https://github.com/uclouvain/openjpeg/commit/995d8c96b51f3e510457cf71b5b5902de11dc08c + Index: src/bin/jp2/convert.c --- src/bin/jp2/convert.c.orig +++ src/bin/jp2/convert.c -@@ -662,7 +662,7 @@ static int tga_readheader(FILE *fp, unsigned int *bits - return 1; - } +@@ -664,7 +664,7 @@ static int tga_readheader(FILE *fp, unsigned int *bits --#ifdef OPJ_BIG_ENDIAN -+#if defined(OPJ_BIG_ENDIAN) && !defined(swap16) + #ifdef OPJ_BIG_ENDIAN - static INLINE OPJ_UINT16 swap16(OPJ_UINT16 x) +-static INLINE OPJ_UINT16 swap16(OPJ_UINT16 x) ++static INLINE OPJ_UINT16 opj_swap16(OPJ_UINT16 x) { + return (OPJ_UINT16)(((x & 0x00ffU) << 8) | ((x & 0xff00U) >> 8)); + } +@@ -733,8 +733,8 @@ static int tga_writeheader(FILE *fp, int bits_per_pixe + goto fails; + } + #else +- image_w = swap16(image_w); +- image_h = swap16(image_h); ++ image_w = opj_swap16(image_w); ++ image_h = opj_swap16(image_h); + if (fwrite(&image_w, 2, 1, fp) != 1) { + goto fails; + } diff --git a/graphics/openjp2/patches/patch-thirdparty_CMakeLists_txt b/graphics/openjp2/patches/patch-thirdparty_CMakeLists_txt deleted file mode 100644 index c97add59b8f1..000000000000 --- a/graphics/openjp2/patches/patch-thirdparty_CMakeLists_txt +++ /dev/null @@ -1,40 +0,0 @@ -https://github.com/uclouvain/openjpeg/pull/1431 -Index: thirdparty/CMakeLists.txt ---- thirdparty/CMakeLists.txt.orig -+++ thirdparty/CMakeLists.txt -@@ -89,8 +89,15 @@ else(BUILD_THIRDPARTY) - message(STATUS "Your system seems to have a TIFF lib available, we will use it") - set(OPJ_HAVE_TIFF_H 1 PARENT_SCOPE) - set(OPJ_HAVE_LIBTIFF 1 PARENT_SCOPE) -- set(TIFF_LIBNAME ${TIFF_LIBRARIES} ${PC_TIFF_STATIC_LIBRARIES} PARENT_SCOPE) -- set(TIFF_INCLUDE_DIRNAME ${TIFF_INCLUDE_DIR} ${PC_TIFF_STATIC_INCLUDE_DIRS} PARENT_SCOPE) -+ if(BUILD_STATIC_LIBS AND NOT BUILD_SHARED_LIBS) -+ # Probably incorrect as PC_TIFF_STATIC_LIBRARIES will lack the path to the libraries -+ # and will only work if they are in system directories -+ set(TIFF_LIBNAME ${PC_TIFF_STATIC_LIBRARIES} PARENT_SCOPE) -+ set(TIFF_INCLUDE_DIRNAME ${PC_TIFF_STATIC_INCLUDE_DIRS} PARENT_SCOPE) -+ else() -+ set(TIFF_LIBNAME ${TIFF_LIBRARIES} PARENT_SCOPE) -+ set(TIFF_INCLUDE_DIRNAME ${TIFF_INCLUDE_DIR} PARENT_SCOPE) -+ endif() - else(TIFF_FOUND) # not found - set(OPJ_HAVE_TIFF_H 0 PARENT_SCOPE) - set(OPJ_HAVE_LIBTIFF 0 PARENT_SCOPE) -@@ -124,8 +131,15 @@ else(BUILD_THIRDPARTY) - message(STATUS "Your system seems to have a LCMS2 lib available, we will use it") - set(OPJ_HAVE_LCMS2_H 1 PARENT_SCOPE) - set(OPJ_HAVE_LIBLCMS2 1 PARENT_SCOPE) -- set(LCMS_LIBNAME ${LCMS2_LIBRARIES} ${PC_LCMS2_STATIC_LIBRARIES} PARENT_SCOPE) -- set(LCMS_INCLUDE_DIRNAME ${LCMS2_INCLUDE_DIRS} ${PC_LCMS2_STATIC_INCLUDE_DIRS} PARENT_SCOPE) -+ if(BUILD_STATIC_LIBS AND NOT BUILD_SHARED_LIBS) -+ # Probably incorrect as PC_LCMS2_STATIC_LIBRARIES will lack the path to the libraries -+ # and will only work if they are in system directories -+ set(LCMS_LIBNAME ${PC_LCMS2_STATIC_LIBRARIES} PARENT_SCOPE) -+ set(LCMS_INCLUDE_DIRNAME ${PC_LCMS2_STATIC_INCLUDE_DIRS} PARENT_SCOPE) -+ else() -+ set(LCMS_LIBNAME ${LCMS2_LIBRARIES} PARENT_SCOPE) -+ set(LCMS_INCLUDE_DIRNAME ${LCMS2_INCLUDE_DIRS} PARENT_SCOPE) -+ endif() - else(LCMS2_FOUND) # not found lcms2 - # try to find LCMS - find_package(LCMS) diff --git a/graphics/openjp2/pkg/PLIST b/graphics/openjp2/pkg/PLIST index 13d655bd0aaf..7585b932e27d 100644 --- a/graphics/openjp2/pkg/PLIST +++ b/graphics/openjp2/pkg/PLIST @@ -5,13 +5,13 @@ include/openjpeg-2.5/ include/openjpeg-2.5/openjpeg.h include/openjpeg-2.5/opj_config.h -include/openjpeg-2.5/opj_stdint.h +lib/cmake/openjpeg-2.5/ +lib/cmake/openjpeg-2.5/OpenJPEGConfig.cmake +lib/cmake/openjpeg-2.5/OpenJPEGConfigVersion.cmake +lib/cmake/openjpeg-2.5/OpenJPEGTargets${MODCMAKE_BUILD_SUFFIX} +lib/cmake/openjpeg-2.5/OpenJPEGTargets.cmake @static-lib lib/libopenjp2.a @lib lib/libopenjp2.so.${LIBopenjp2_VERSION} -lib/openjpeg-2.5/ -lib/openjpeg-2.5/OpenJPEGConfig.cmake -lib/openjpeg-2.5/OpenJPEGTargets${MODCMAKE_BUILD_SUFFIX} -lib/openjpeg-2.5/OpenJPEGTargets.cmake lib/pkgconfig/libopenjp2.pc @man man/man1/opj_compress.1 @man man/man1/opj_decompress.1