diff --git a/graphics/leptonica/Makefile b/graphics/leptonica/Makefile index 65dcce42271d..f8e8335c42c8 100644 --- a/graphics/leptonica/Makefile +++ b/graphics/leptonica/Makefile @@ -1,9 +1,10 @@ # Created by: Hiroto Kagotani PORTNAME= leptonica -PORTVERSION= 1.76.0 -PORTREVISION= 1 +DISTVERSION= 1.82.0 CATEGORIES= graphics +MASTER_SITES= https://github.com/DanBloomberg/${PORTNAME}/releases/download/${DISTVERSION}/ \ + http://www.${PORTNAME}.org/source/ MAINTAINER= hiroto.kagotani@gmail.com COMMENT= C library for efficient image processing and image analysis operations @@ -11,52 +12,50 @@ COMMENT= C library for efficient image processing and image analysis operations LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/leptonica-license.txt -CONFLICTS= leptonlib - -USES= autoreconf cpe libtool localbase:ldflags pathfix pkgconfig +USES= cmake cpe localbase pkgconfig +USE_LDCONFIG= yes -USE_GITHUB= yes -GH_ACCOUNT= DanBloomberg +CONFLICTS= leptonlib -GNU_CONFIGURE= yes -USE_LDCONFIG= yes -INSTALL_TARGET= install-strip +CMAKE_ON= BUILD_SHARED_LIBS -OPTIONS_DEFINE= BIN GIF JPEG JPEG2000 PNG TIFF WEBP ZLIB -OPTIONS_DEFAULT= BIN GIF JPEG PNG TIFF WEBP ZLIB +OPTIONS_DEFINE= BIN GIF JPEG JPEG2000 PNG TIFF WEBP +OPTIONS_DEFAULT= BIN GIF JPEG PNG TIFF WEBP OPTIONS_SUB= yes +CMAKE_ON= BUILD_SHARED_LIBS + BIN_DESC= Build additional programs -BIN_CONFIGURE_ENABLE= programs + +BIN_CMAKE_BOOL= BUILD_PROG GIF_LIB_DEPENDS= libgif.so:graphics/giflib -GIF_CONFIGURE_WITH= giflib -JPEG_USES= jpeg -JPEG_CONFIGURE_WITH= jpeg +GIF_CMAKE_OFF= CMAKE_DISABLE_FIND_PACKAGE_GIF:BOOL=True JPEG2000_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg -JPEG2000_CONFIGURE_WITH=libopenjpeg +JPEG2000_CMAKE_BOOL= OPENJPEG_SUPPORT +JPEG_USES= jpeg +JPEG_CMAKE_OFF= CMAKE_DISABLE_FIND_PACKAGE_JPEG:BOOL=True PNG_LIB_DEPENDS= libpng.so:graphics/png -PNG_CONFIGURE_WITH= libpng +PNG_CMAKE_OFF= CMAKE_DISABLE_FIND_PACKAGE_PNG:BOOL=True TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff -TIFF_CONFIGURE_WITH= libtiff +TIFF_CMAKE_OFF= CMAKE_DISABLE_FIND_PACKAGE_TIFF WEBP_LIB_DEPENDS= libwebp.so:graphics/webp -WEBP_CONFIGURE_WITH= libwebp -ZLIB_CONFIGURE_WITH= zlib +WEBP_CMAKE_BOOL= LIBWEBP_SUPPORT -TESTS?= generate compare -.if defined(MAINTAINER_MODE) || defined(PACKAGE_BUILDING) -BUILD_DEPENDS+= ${LOCALBASE}/bin/gnuplot:math/gnuplot -.endif +#TESTS?= generate compare +#.if defined(MAINTAINER_MODE) || defined(PACKAGE_BUILDING) +#BUILD_DEPENDS+= ${LOCALBASE}/bin/gnuplot:math/gnuplot +#.endif #the display portion of the regression tests is interactive, -#and requires the use of xv, xli or xzgv as an image viewer -.if defined(MAINTAINER_MODE) && !defined(BATCH) -TESTS+= display -.endif - -do-test: -.for c in ${TESTS} - @cd ${WRKSRC}/prog; ${SETENV} \ - LD_LIBRARY_PATH="${WRKSRC}/src/.libs:${LOCALBASE}/lib" \ - ${WRKSRC}/prog/alltests_reg ${c} -.endfor +##and requires the use of xv, xli or xzgv as an image viewer +#.if defined(MAINTAINER_MODE) && !defined(BATCH) +#TESTS+= display +#.endif + +#do-test: +#.for c in ${TESTS} +# @cd ${WRKSRC}/prog; ${SETENV} \ +# LD_LIBRARY_PATH="${WRKSRC}/src/.libs:${LOCALBASE}/lib" \ +# ${WRKSRC}/prog/alltests_reg ${c} +#.endfor .include diff --git a/graphics/leptonica/distinfo b/graphics/leptonica/distinfo index 31fd7266c77f..dd008df90138 100644 --- a/graphics/leptonica/distinfo +++ b/graphics/leptonica/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1526412216 -SHA256 (DanBloomberg-leptonica-1.76.0_GH0.tar.gz) = ff98ffef6103cda0e400676f81113a8157569ac0f453c6e03a1a27b305ba25a7 -SIZE (DanBloomberg-leptonica-1.76.0_GH0.tar.gz) = 11557709 +TIMESTAMP = 1638185950 +SHA256 (leptonica-1.82.0.tar.gz) = 155302ee914668c27b6fe3ca9ff2da63b245f6d62f3061c8f27563774b8ae2d6 +SIZE (leptonica-1.82.0.tar.gz) = 14041481 diff --git a/graphics/leptonica/files/patch-CMakeLists.txt b/graphics/leptonica/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..b7cdee0d0a49 --- /dev/null +++ b/graphics/leptonica/files/patch-CMakeLists.txt @@ -0,0 +1,134 @@ +--- CMakeLists.txt.orig 2021-08-30 19:31:54 UTC ++++ CMakeLists.txt +@@ -55,6 +55,8 @@ else() + endif() + if(UNIX) + option(SYM_LINK "Create symlink leptonica -> lept on UNIX" OFF) ++ option(LIBWEBP_SUPPORT "Build with WebP support" OFF) ++ option(OPENJPEG_SUPPORT "Build with OpenJPEG support" OFF) + endif() + + set(leptonica_INSTALL_CMAKE_DIR "lib/cmake/leptonica" +@@ -68,59 +70,63 @@ if(NOT SW_BUILD) + find_package(ZLIB) + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) +- pkg_check_modules(WEBP libwebp QUIET) +- pkg_check_modules(WEBPMUX libwebpmux>=${MINIMUM_WEBPMUX_VERSION} QUIET) +- pkg_check_modules(JP2K libopenjp2>=2.0 QUIET) +- endif() +- if(NOT WEBP) +- find_path(WEBP_INCLUDE_DIR /webp/decode.h) +- find_library(WEBP_LIBRARY NAMES webp) +- if (WEBP_INCLUDE_DIR AND WEBP_LIBRARY) +- set(WEBP 1) +- set(WEBP_FOUND TRUE) +- set(WEBP_LIBRARIES ${WEBP_LIBRARY}) +- set(WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIR}) ++ if(LIBWEBP_SUPPORT) ++ pkg_check_modules(WEBP libwebp QUIET) ++ pkg_check_modules(WEBPMUX libwebpmux>=${MINIMUM_WEBPMUX_VERSION} QUIET) ++ if(NOT WEBP) ++ find_path(WEBP_INCLUDE_DIR /webp/decode.h) ++ find_library(WEBP_LIBRARY NAMES webp) ++ if (WEBP_INCLUDE_DIR AND WEBP_LIBRARY) ++ set(WEBP 1) ++ set(WEBP_FOUND TRUE) ++ set(WEBP_LIBRARIES ${WEBP_LIBRARY}) ++ set(WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIR}) ++ endif() ++ endif() ++ if(NOT WEBPMUX) ++ find_path(WEBPMUX_INCLUDE_DIR /webp/mux.h) ++ #TODO: check minimal required version ++ if(NOT WEBPMUX_INCLUDE_DIR) ++ message(STATUS "Can not find: /webp/mux.h") ++ endif() ++ if(NOT "${WEBPMUX_INCLUDE_DIR}" STREQUAL "${WEBP_INCLUDE_DIR}") ++ set(WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIRS} ${WEBPMUX_INCLUDE_DIR}) ++ endif() ++ find_library(WEBPMUX_LIBRARY NAMES webpmux) ++ if (WEBPMUX_INCLUDE_DIR AND WEBPMUX_LIBRARY) ++ set(WEBPMUX 1) ++ set(HAVE_LIBWEBP_ANIM 1) ++ set(WEBPMUX_FOUND TRUE) ++ set(WEBP_LIBRARIES ${WEBP_LIBRARIES} ${WEBPMUX_LIBRARY}) ++ endif() ++ endif() + endif() +- endif() +- if(NOT WEBPMUX) +- find_path(WEBPMUX_INCLUDE_DIR /webp/mux.h) +- #TODO: check minimal required version +- if(NOT WEBPMUX_INCLUDE_DIR) +- message(STATUS "Can not find: /webp/mux.h") ++ if(OPENJPEG_SUPPORT) ++ pkg_check_modules(JP2K libopenjp2>=2.0 QUIET) ++ if(NOT JP2K) ++ find_path(JP2K_INCLUDE_DIR /openjpeg-2.3/openjpeg.h) ++ find_library(JP2K_LIBRARY NAMES openjp2) ++ if (JP2K_INCLUDE_DIR AND JP2K_LIBRARY) ++ set(JP2K 1) ++ set(JP2K_FOUND TRUE) ++ set(JP2K_LIBRARIES ${JP2K_LIBRARY}) ++ set(JP2K_INCLUDE_DIRS ${JP2K_INCLUDE_DIR}) ++ set(HAVE_LIBJP2K 1) ++ endif() ++ endif() ++ if(NOT JP2K) ++ find_path(JP2K_INCLUDE_DIR /openjpeg-2.4/openjpeg.h) ++ find_library(JP2K_LIBRARY NAMES openjp2) ++ if (JP2K_INCLUDE_DIR AND JP2K_LIBRARY) ++ set(JP2K 1) ++ set(JP2K_FOUND TRUE) ++ set(JP2K_LIBRARIES ${JP2K_LIBRARY}) ++ set(JP2K_INCLUDE_DIRS ${JP2K_INCLUDE_DIR}) ++ set(HAVE_LIBJP2K 1) ++ endif() ++ endif() + endif() +- if(NOT "${WEBPMUX_INCLUDE_DIR}" STREQUAL "${WEBP_INCLUDE_DIR}") +- set(WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIRS} ${WEBPMUX_INCLUDE_DIR}) +- endif() +- find_library(WEBPMUX_LIBRARY NAMES webpmux) +- if (WEBPMUX_INCLUDE_DIR AND WEBPMUX_LIBRARY) +- set(WEBPMUX 1) +- set(HAVE_LIBWEBP_ANIM 1) +- set(WEBPMUX_FOUND TRUE) +- set(WEBP_LIBRARIES ${WEBP_LIBRARIES} ${WEBPMUX_LIBRARY}) +- endif() + endif() +- if(NOT JP2K) +- find_path(JP2K_INCLUDE_DIR /openjpeg-2.3/openjpeg.h) +- find_library(JP2K_LIBRARY NAMES openjp2) +- if (JP2K_INCLUDE_DIR AND JP2K_LIBRARY) +- set(JP2K 1) +- set(JP2K_FOUND TRUE) +- set(JP2K_LIBRARIES ${JP2K_LIBRARY}) +- set(JP2K_INCLUDE_DIRS ${JP2K_INCLUDE_DIR}) +- set(HAVE_LIBJP2K 1) +- endif() +- endif() +- if(NOT JP2K) +- find_path(JP2K_INCLUDE_DIR /openjpeg-2.4/openjpeg.h) +- find_library(JP2K_LIBRARY NAMES openjp2) +- if (JP2K_INCLUDE_DIR AND JP2K_LIBRARY) +- set(JP2K 1) +- set(JP2K_FOUND TRUE) +- set(JP2K_LIBRARIES ${JP2K_LIBRARY}) +- set(JP2K_INCLUDE_DIRS ${JP2K_INCLUDE_DIR}) +- set(HAVE_LIBJP2K 1) +- endif() +- endif() + else() # SW_BUILD=ON + find_package(SW REQUIRED) + sw_add_package( +@@ -264,7 +270,7 @@ endif() + add_subdirectory(src) + + get_target_property(leptonica_NAME leptonica NAME) +-get_target_property(leptonica_VERSION leptonica VERSION) ++set(leptonica_VERSION ${VERSION_PLAIN}) + get_target_property(leptonica_OUTPUT_NAME leptonica OUTPUT_NAME) + + configure_file(lept.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/lept.pc @ONLY) diff --git a/graphics/leptonica/files/patch-src-Makefile.am b/graphics/leptonica/files/patch-src-Makefile.am deleted file mode 100644 index e7cbe0b53f27..000000000000 --- a/graphics/leptonica/files/patch-src-Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ ---- src/Makefile.am.orig 2018-05-02 22:12:19 UTC -+++ src/Makefile.am -@@ -1,5 +1,5 @@ - AM_CFLAGS = $(DEBUG_FLAGS) --AM_CPPFLAGS = $(ZLIB_CFLAGS) $(LIBPNG_CFLAGS) $(JPEG_CFLAGS) $(LIBTIFF_CFLAGS) $(LIBWEBP_CFLAGS) $(LIBJP2K_CFLAGS) -+AM_CPPFLAGS = $(LIBJP2K_CFLAGS) $(ZLIB_CFLAGS) $(LIBPNG_CFLAGS) $(JPEG_CFLAGS) $(LIBTIFF_CFLAGS) $(LIBWEBP_CFLAGS) - - lib_LTLIBRARIES = liblept.la - liblept_la_LIBADD = $(LIBM) $(ZLIB_LIBS) $(LIBPNG_LIBS) $(JPEG_LIBS) $(GIFLIB_LIBS) $(LIBTIFF_LIBS) $(LIBWEBP_LIBS) $(LIBJP2K_LIBS) $(GDI_LIBS) diff --git a/graphics/leptonica/files/patch-src_CMakeLists.txt b/graphics/leptonica/files/patch-src_CMakeLists.txt new file mode 100644 index 000000000000..6fdc680b64f9 --- /dev/null +++ b/graphics/leptonica/files/patch-src_CMakeLists.txt @@ -0,0 +1,15 @@ +--- src/CMakeLists.txt.orig 2021-11-29 23:37:03 UTC ++++ src/CMakeLists.txt +@@ -14,10 +14,10 @@ if (MSVC) + set_source_files_properties(${src} PROPERTIES LANGUAGE CXX) + endif() + +-string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") ++#string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + + add_library (leptonica ${src} ${hdr}) +-set_target_properties (leptonica PROPERTIES VERSION ${VERSION_PLAIN}) ++#set_target_properties (leptonica PROPERTIES VERSION ${VERSION_PLAIN}) + set_target_properties (leptonica PROPERTIES SOVERSION 5.4.0) + if (WIN32) + set_target_properties (leptonica PROPERTIES OUTPUT_NAME leptonica-${VERSION_PLAIN}) diff --git a/graphics/leptonica/pkg-plist b/graphics/leptonica/pkg-plist index 52d022df9ece..6c5de750f05e 100644 --- a/graphics/leptonica/pkg-plist +++ b/graphics/leptonica/pkg-plist @@ -17,10 +17,12 @@ include/leptonica/bmf.h include/leptonica/bmfdata.h include/leptonica/bmp.h include/leptonica/ccbord.h +include/leptonica/colorfill.h include/leptonica/dewarp.h include/leptonica/endianness.h include/leptonica/environ.h include/leptonica/gplot.h +include/leptonica/hashmap.h include/leptonica/heap.h include/leptonica/imageio.h include/leptonica/jbclass.h @@ -38,8 +40,10 @@ include/leptonica/stack.h include/leptonica/stringcode.h include/leptonica/sudoku.h include/leptonica/watershed.h -lib/liblept.a -lib/liblept.so -lib/liblept.so.5 -lib/liblept.so.5.0.3 +lib/cmake/leptonica/LeptonicaConfig-version.cmake +lib/cmake/leptonica/LeptonicaConfig.cmake +lib/cmake/leptonica/LeptonicaTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/leptonica/LeptonicaTargets.cmake +lib/libleptonica.so +lib/libleptonica.so.5.4.0 libdata/pkgconfig/lept.pc