diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/graphicsmagick | |
Diffstat (limited to 'vcpkg/ports/graphicsmagick')
| -rw-r--r-- | vcpkg/ports/graphicsmagick/dependencies.diff | 217 | ||||
| -rw-r--r-- | vcpkg/ports/graphicsmagick/magick-types.diff | 13 | ||||
| -rw-r--r-- | vcpkg/ports/graphicsmagick/portfile.cmake | 69 | ||||
| -rw-r--r-- | vcpkg/ports/graphicsmagick/vcpkg.json | 27 |
4 files changed, 326 insertions, 0 deletions
diff --git a/vcpkg/ports/graphicsmagick/dependencies.diff b/vcpkg/ports/graphicsmagick/dependencies.diff new file mode 100644 index 0000000..83d2c23 --- /dev/null +++ b/vcpkg/ports/graphicsmagick/dependencies.diff @@ -0,0 +1,217 @@ +diff --git a/configure.ac b/configure.ac +index bc9acc9..94449f3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1876,12 +1876,12 @@ then + fi + AC_CHECK_HEADER([zconf.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`]) + AC_CHECK_HEADER([zlib.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`]) +- AC_CHECK_LIB([z],[compress],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) +- AC_CHECK_LIB([z],[uncompress],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) +- AC_CHECK_LIB([z],[deflate],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) +- AC_CHECK_LIB([z],[inflate],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) +- AC_CHECK_LIB([z],[gzseek],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) +- AC_CHECK_LIB([z],[gztell],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([compress],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([uncompress],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([deflate],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([inflate],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([gzseek],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([gztell],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) + AC_MSG_CHECKING([if ZLIB package is complete]) + if test $passed -gt 0 + then +@@ -1895,8 +1895,7 @@ then + LDFLAGS=$OLD_LDFLAGS + LIBS=$OLD_LIBS + else +- LIB_ZLIB='-lz' +- pkg_config_to_flags 'zlib' "${LIB_ZLIB}" '' ++ LIB_ZLIB='' + AC_DEFINE([HasZLIB],[1],[Define if you have zlib compression library]) + AC_MSG_RESULT([yes]) + have_zlib='yes' +@@ -1922,8 +1921,10 @@ then + failed=0 + passed=0 + found_libbz=0 ++ PKG_CHECK_MODULES([BZIP2], [bzip2], [passed=`expr $passed + 1`], [failed=`expr $failed + 1`]) ++ pkg_config_to_flags 'bzip2' "${BZIP2_LIBS}" "${BZIP2_CFLAGS}" + AC_CHECK_HEADER([bzlib.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`]) +- AC_CHECK_LIB([bz2],[BZ2_bzDecompress],[found_libbz=`expr $found_libbz + 1`],,) ++ AC_SEARCH_LIBS([BZ2_bzDecompress],[],[found_libbz=`expr $found_libbz + 1`],,) + if test "$native_win32_build" = 'yes' + then + # Under MinGW, libbz2 obfuscates its functions by declaring them +@@ -1931,7 +1932,7 @@ then + # somehow include bzlib.h during the test but Autoconf does not + # make that possible. We check for BZ2_decompress since that is + # one of the few functions exported from the DLL (very strange). +- AC_CHECK_LIB([bz2],[_imp__BZ2_decompress],[found_libbz=`expr $found_libbz + 1`],,) ++ : + fi + if test $found_libbz -gt 0 + then +@@ -1950,8 +1951,7 @@ then + AC_MSG_RESULT([no -- some components failed test]) + have_bzlib='no (failed tests)' + else +- LIB_BZLIB='-lbz2' +- LIBS="$LIB_BZLIB $LIBS" ++ LIB_BZLIB='' + AC_DEFINE([HasBZLIB],[1],[Define if you have the bzip2 library]) + AC_MSG_RESULT([yes]) + have_bzlib='yes' +@@ -2391,7 +2391,18 @@ then + if test "x${var}" = 'x' ; then + pnglib='png' + else +- pnglib="png1${var}" ++ case "${PNG_LIBS}" in ++ *-lpng1${var}d*) ++ pnglib="png1${var}d" ++ ;; ++ *-lpng1${var}*) ++ pnglib="png1${var}" ++ ;; ++ *) ++ # don't pick system lib ++ pnglib="NOT_IN_PC_FILE" ++ ;; ++ esac + fi + if test "$have_png" = 'no' + then +@@ -2457,8 +2468,7 @@ return 0; + LDFLAGS=$OLD_LDFLAGS + LIBS=$OLD_LIBS + else +- LIB_PNG="-l${pnglib}" +- pkg_config_to_flags 'libpng' "${LIB_PNG}" '' ++ LIB_PNG='' + #LIBS="$LIB_PNG $LIBS" + AC_DEFINE([HasPNG],[1],[Define if you have PNG library]) + AC_MSG_RESULT([yes]) +@@ -2515,7 +2525,7 @@ then + AC_CHECK_HEADER([jerror.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`]) + AC_CHECK_HEADER([jmorecfg.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`]) + AC_CHECK_HEADER([jpeglib.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`]) +- AC_CHECK_LIB([jpeg],[jpeg_read_header],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([jpeg_read_header],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) + AC_MSG_CHECKING([if JPEG package is complete]) + if test $passed -gt 0 + then +@@ -2527,8 +2537,7 @@ then + LDFLAGS=$OLD_LDFLAGS + LIBS=$OLD_LIBS + else +- LIB_JPEG='-ljpeg' +- pkg_config_to_flags 'libjpeg' "${LIB_JPEG}" '' ++ LIB_JPEG='' + #LIBS="$LIB_JPEG $LIBS" + AC_DEFINE([HasJPEG],[1],[Define if you have JPEG library]) + AC_MSG_RESULT([yes]) +@@ -2624,7 +2633,7 @@ then + fi + + dnl First see if there is a library +- AC_CHECK_LIB([freetype],[FT_Init_FreeType],[LIB_TTF="-lfreetype"],[LIB_TTF=''],[]) ++ AC_SEARCH_LIBS([FT_Init_FreeType],[],[LIB_TTF="-lfreetype"],[LIB_TTF=''],[]) + if test "$LIB_TTF" != '' + then + passed=`expr $passed + 1` +@@ -2665,7 +2674,7 @@ dnl Now test for the headers + LDFLAGS=$OLD_LDFLAGS + LIBS=$OLD_LIBS + else +- pkg_config_to_flags 'freetype2' "${LIB_TTF}" '' ++ LIB_TTF='' + #LIBS="$LIB_TTF $LIBS" + AC_DEFINE([HasTTF],[1],[Define if you have FreeType (TrueType font) library]) + if test "$ac_cv_header_ft2build_h" = 'yes' +@@ -2718,7 +2727,6 @@ then + printf "WEBPMUX_LIBS=${WEBPMUX_LIBS}\n" + printf "WEBPMUX_CFLAGS=${WEBPMUX_CFLAGS}\n" + fi +- pkg_config_to_flags 'libwebpmux' "${WEBPMUX_LIBS}" "${WEBPMUX_CFLAGS}" + else + if test -n "${WEBPMUX_PKG_ERRORS}" + then +@@ -2742,7 +2750,7 @@ then + + # pkg-config libwebp --static --libs + #-L/work/lib -lwebp -lm -lsharpyuv -lm +- PKG_CHECK_MODULES([WEBP], [libwebp], [passed=`expr $passed + 1`], [failed=`expr $failed + 1`]) ++ PKG_CHECK_MODULES([WEBP], [libwebp libwebpmux], [passed=`expr $passed + 1`], [failed=`expr $failed + 1`]) + if test $failed -eq 0 ; then + if test -n "$VERBOSE" + then +@@ -2760,9 +2768,9 @@ then + + AC_CHECK_HEADER([webp/decode.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[]) + AC_CHECK_HEADER([webp/encode.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[]) +- AC_CHECK_LIB([webp],[WebPDecodeRGB],[passed=`expr $passed + 1`; LIB_WEBP='-lwebp'],[failed=`expr $failed + 1`],[]) +- AC_CHECK_LIB([webpmux],[WebPMuxSetImage],[LIB_WEBP="$LIB_WEBP -lwebpmux"],[],[-lwebp]) +- AC_CHECK_LIB([sharpyuv],[SharpYuvConvert],[LIB_WEBP="$LIB_WEBP -lsharpyuv"],[],[]) ++ AC_SEARCH_LIBS([WebPDecodeRGB],[],[passed=`expr $passed + 1`; LIB_WEBP='-lwebp'],[failed=`expr $failed + 1`],[]) ++ AC_SEARCH_LIBS([WebPMuxSetImage],[],[LIB_WEBP="$LIB_WEBP -lwebpmux"],[],[]) ++ AC_SEARCH_LIBS([SharpYuvConvert],[],[LIB_WEBP="$LIB_WEBP -lsharpyuv"],[],[]) + AC_MSG_CHECKING([if WEBP package is complete]) + if test $passed -gt 0 + then +@@ -2774,7 +2782,7 @@ then + LDFLAGS=$OLD_LDFLAGS + LIBS=$OLD_LIBS + else +- pkg_config_to_flags 'libwebp' "${LIB_WEBP}" '' ++ LIB_WEBP='' + # LIBS="$LIB_WEBP $LIBS" + AC_DEFINE([HasWEBP],[1],[Define if you have WEBP library]) + AC_MSG_RESULT([yes]) +@@ -2918,11 +2926,11 @@ then + #set +x + AC_CHECK_HEADER([tiff.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`]) + AC_CHECK_HEADER([tiffio.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`]) +- AC_CHECK_LIB([tiff],[TIFFOpen],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) +- AC_CHECK_LIB([tiff],[TIFFClientOpen],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) +- AC_CHECK_LIB([tiff],[TIFFIsByteSwapped],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) +- AC_CHECK_LIB([tiff],[TIFFReadRGBATile],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) +- AC_CHECK_LIB([tiff],[TIFFReadRGBAStrip],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([TIFFOpen],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([TIFFClientOpen],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([TIFFIsByteSwapped],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([TIFFReadRGBATile],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) ++ AC_SEARCH_LIBS([TIFFReadRGBAStrip],[],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],) + AC_MSG_CHECKING([if TIFF package is complete]) + if test $passed -gt 0 + then +@@ -2934,8 +2942,7 @@ then + CPPFLAGS=$OLD_CPPFLAGS + LIBS=$OLD_LIBS + else +- LIB_TIFF='-ltiff' +- pkg_config_to_flags 'libtiff-4' "${LIB_TIFF}" '' ++ LIB_TIFF='' + #LIBS="$LIB_TIFF $LIBS" + AC_DEFINE([HasTIFF],[1],[Define if you have TIFF library]) + AC_MSG_RESULT([yes]) +@@ -4266,7 +4273,7 @@ MAGICK_EXTRA_DEP_LIBS=`echo $MAGICK_EXTRA_DEP_LIBS | sed -e 's/ */ /g'` + + MAGICK_API_CFLAGS=$CFLAGS + MAGICK_API_CPPFLAGS=`echo $MAGICK_API_CPPFLAGS | sed -e 's/ */ /g'` +-MAGICK_API_LDFLAGS="-L$LIB_DIR $LDFLAGS" ++MAGICK_API_LDFLAGS="-L$LIB_DIR" + MAGICK_API_DEP_LIBS="$MAGICK_DEP_LIBS" + MAGICK_API_LIBS="-lGraphicsMagick $MAGICK_API_DEP_LIBS $MAGICK_EXTRA_DEP_LIBS" + +diff --git a/magick/GraphicsMagick.pc.in b/magick/GraphicsMagick.pc.in +index e968715..6b7c404 100644 +--- a/magick/GraphicsMagick.pc.in ++++ b/magick/GraphicsMagick.pc.in +@@ -9,5 +9,5 @@ Version: @PACKAGE_VERSION@ + Description: GraphicsMagick image processing library + URL: http://www.graphicsmagick.org/ + Libs: -L${libdir} -lGraphicsMagick +-Libs.private: @LDFLAGS@ @MAGICK_API_DEP_LIBS@ @MAGICK_EXTRA_DEP_LIBS@ ++Libs.private: @MAGICK_API_DEP_LIBS@ @MAGICK_EXTRA_DEP_LIBS@ + Cflags: -I${includedir} @MAGICK_API_PC_CPPFLAGS@ diff --git a/vcpkg/ports/graphicsmagick/magick-types.diff b/vcpkg/ports/graphicsmagick/magick-types.diff new file mode 100644 index 0000000..74a62b4 --- /dev/null +++ b/vcpkg/ports/graphicsmagick/magick-types.diff @@ -0,0 +1,13 @@ +diff --git a/magick/magick_types.h.in b/magick/magick_types.h.in +index 106ac97..a9f8a9a 100644 +--- a/magick/magick_types.h.in ++++ b/magick/magick_types.h.in +@@ -108,8 +108,6 @@ extern "C" { + # define MAGICK_SIZE_T unsigned long + # define MAGICK_SSIZE_T_F "" + # define MAGICK_SSIZE_T int +- typedef long magick_ptrdiff_t +- typedef unsigned long magick_uintptr_t; + # endif // defined(WIN64) + + #endif /* if defined(MAGICK_IMPLEMENTATION) */ diff --git a/vcpkg/ports/graphicsmagick/portfile.cmake b/vcpkg/ports/graphicsmagick/portfile.cmake new file mode 100644 index 0000000..ed1ab1f --- /dev/null +++ b/vcpkg/ports/graphicsmagick/portfile.cmake @@ -0,0 +1,69 @@ +string(REPLACE "." "_" graphicsmagick_version "GraphicsMagick-${VERSION}") + +vcpkg_from_gitlab( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://foss.heptapod.net/ + REPO graphicsmagick/graphicsmagick + REF ${graphicsmagick_version} + SHA512 e64842dbbe2026e7d75b4004f615f32b4e2d57ce8dbd9bc90f87ee6e180d7e2feb61da6c25d404c43ac8d7661f94f7be3bd2882928dbd0e276b5c9040690f6f4 + PATCHES + dependencies.diff + magick-types.diff +) + +set(options "") +if(VCPKG_TARGET_IS_WINDOWS) + set(options ac_cv_header_dirent_dirent_h=no) +endif() + +vcpkg_make_configure( + SOURCE_PATH "${SOURCE_PATH}" + AUTORECONF + OPTIONS + ${options} + # Before enabling another lib, make sure that the build does not + # hard-code the library name and dependencies (cf. dependencies.diff). + --with-heif=no + --with-fpx=no ### + --with-gs=no + --with-jbig=no + --with-jp2=no + --with-jxl=no + --with-lcms2=no + --with-libzip=no + --with-lzma=no + --with-modules=no + --with-mpeg2=no + --with-trio=no + --with-x=no + --with-xml=no + --with-wmf=no + --with-zstd=no +) +vcpkg_make_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/gm${VCPKG_TARGET_EXECUTABLE_SUFFIX}") +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") + +set(config_scripts + "GraphicsMagick++-config" + "GraphicsMagick-config" + "GraphicsMagickWand-config" +) +string(REGEX REPLACE "^([A-Za-z]):/" "/\\1/" literal_prefix "${CURRENT_INSTALLED_DIR}") +foreach(filename IN LISTS config_scripts) + set(file "${CURRENT_PACKAGES_DIR}/tools/graphicsmagick/bin/${filename}") + vcpkg_replace_string("${file}" "${literal_prefix}" "'\"\${prefix}\"'") + vcpkg_replace_string("${file}" "while test" "prefix=$(CDPATH= cd -- \"$(dirname -- \"$0\")/../../..\" && pwd -P)\n\nwhile test") + if(NOT VCPKG_BUILD_TYPE) + set(debug_file "${CURRENT_PACKAGES_DIR}/tools/graphicsmagick/debug/bin/${filename}") + vcpkg_replace_string("${debug_file}" "${literal_prefix}" "'\"\${prefix}\"'") + vcpkg_replace_string("${debug_file}" "while test" "prefix=$(CDPATH= cd -- \"$(dirname -- \"$0\")/../../../..\" && pwd -P)\n\nwhile test") + endif() +endforeach() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright.txt") diff --git a/vcpkg/ports/graphicsmagick/vcpkg.json b/vcpkg/ports/graphicsmagick/vcpkg.json new file mode 100644 index 0000000..d42dbc4 --- /dev/null +++ b/vcpkg/ports/graphicsmagick/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "graphicsmagick", + "version": "1.3.45", + "port-version": 1, + "description": "Image processing library", + "homepage": "http://www.graphicsmagick.org/", + "license": "MIT", + "dependencies": [ + "bzip2", + { + "name": "freetype", + "default-features": false + }, + "libjpeg-turbo", + "libpng", + "libwebp", + { + "name": "tiff", + "default-features": false + }, + { + "name": "vcpkg-make", + "host": true + }, + "zlib" + ] +} |