aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/graphicsmagick
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/graphicsmagick
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/graphicsmagick')
-rw-r--r--vcpkg/ports/graphicsmagick/dependencies.diff217
-rw-r--r--vcpkg/ports/graphicsmagick/magick-types.diff13
-rw-r--r--vcpkg/ports/graphicsmagick/portfile.cmake69
-rw-r--r--vcpkg/ports/graphicsmagick/vcpkg.json27
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"
+ ]
+}