diff --git a/I/ImageMagick/build_tarballs.jl b/I/ImageMagick/build_tarballs.jl index 446fc404841..9c68fb3b249 100644 --- a/I/ImageMagick/build_tarballs.jl +++ b/I/ImageMagick/build_tarballs.jl @@ -2,25 +2,44 @@ # `julia build_tarballs.jl --help` to see a usage message. using BinaryBuilder name = "ImageMagick" -version = v"6.9.10-12" +upstream_version = v"6.9.12-19" +version = VersionNumber(upstream_version.major, upstream_version.minor, upstream_version.patch) # Collection of sources required to build imagemagick sources = [ - ArchiveSource("https://github.com/ImageMagick/ImageMagick6/archive/6.9.10-12.tar.gz", - "efaae51489af9f895762bcb7090636f03194daaa026eda97dae230098d2ccec7"), + ArchiveSource("https://github.com/ImageMagick/ImageMagick6/archive/$(upstream_version).tar.gz", + "2f184f1f5c3e19849347b2b4acb6dd074290903d36fa5924956ee06c85ddf783"), + DirectorySource("./bundled"), ] # Bash recipe for building across all platforms script = raw""" cd $WORKSPACE/srcdir/ImageMagick6*/ -./configure --prefix=${prefix} --build=${MACHTYPE} --host=${target} --without-x --disable-openmp --disable-installed --disable-dependency-tracking --without-frozenpaths --without-perl --disable-docs --disable-static +if [[ "${target}" == *-linux-gnu ]]; then + atomic_patch -p1 ../patches/utilities-link-rt.patch +elif [[ "${target}" == *-mingw* ]]; then + # Link to ws2_32 to fix undefined reference to `__imp_WSAStartup`. + atomic_patch -p1 ../patches/windows-undefined-reference-__imp_WSAStartup.patch +fi +atomic_patch -p1 ../patches/check-have-clock-realtime.patch +./configure --prefix=${prefix} \ + --build=${MACHTYPE} \ + --host=${target} \ + --without-x \ + --disable-openmp \ + --disable-installed \ + --disable-dependency-tracking \ + --without-frozenpaths \ + --without-perl \ + --disable-docs \ + --disable-static make -j${nproc} make install """ # These are the platforms we will build for by default, unless further # platforms are passed in on the command line -platforms = expand_cxxstring_abis(supported_platforms()) +platforms = expand_cxxstring_abis(supported_platforms(;experimental=true)) # The products that we will ensure are always built products = [ @@ -34,9 +53,8 @@ dependencies = [ Dependency("Zlib_jll"), Dependency("libpng_jll"), Dependency("JpegTurbo_jll"), - # TODO: v4.3.0 is available, use that next time - Dependency("Libtiff_jll"; compat="4.1.0"), + Dependency("Libtiff_jll"; compat="4.3.0"), ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies) +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6") diff --git a/I/ImageMagick/bundled/patches/check-have-clock-realtime.patch b/I/ImageMagick/bundled/patches/check-have-clock-realtime.patch new file mode 100644 index 00000000000..5829cbc2f34 --- /dev/null +++ b/I/ImageMagick/bundled/patches/check-have-clock-realtime.patch @@ -0,0 +1,11 @@ +--- a/magick/timer.c ++++ b/magick/timer.c +@@ -191,7 +191,7 @@ + */ + static double ElapsedTime(void) + { +-#if defined(MAGICKCORE_HAVE_CLOCK_GETTIME) ++#if defined(MAGICKCORE_HAVE_CLOCK_GETTIME) && defined(HAVE_CLOCK_REALTIME) + #define NANOSECONDS_PER_SECOND 1000000000.0 + #if defined(CLOCK_HIGHRES) + # define CLOCK_ID CLOCK_HIGHRES diff --git a/I/ImageMagick/bundled/patches/utilities-link-rt.patch b/I/ImageMagick/bundled/patches/utilities-link-rt.patch new file mode 100644 index 00000000000..ab49e07803e --- /dev/null +++ b/I/ImageMagick/bundled/patches/utilities-link-rt.patch @@ -0,0 +1,51 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -5471,37 +5471,37 @@ + $(UTILITIES_TTF_XFAIL_TESTS) \ + $(UTILITIES_XML_XFAIL_TESTS) + +-utilities_animate_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) ++utilities_animate_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) -lrt + utilities_animate_LDFLAGS = $(LDFLAGS) + utilities_animate_SOURCES = utilities/animate.c +-utilities_compare_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) ++utilities_compare_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) -lrt + utilities_compare_LDFLAGS = $(LDFLAGS) + utilities_compare_SOURCES = utilities/compare.c +-utilities_composite_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) ++utilities_composite_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) -lrt + utilities_composite_LDFLAGS = $(LDFLAGS) + utilities_composite_SOURCES = utilities/composite.c +-utilities_conjure_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) ++utilities_conjure_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) -lrt + utilities_conjure_LDFLAGS = $(LDFLAGS) + utilities_conjure_SOURCES = utilities/conjure.c +-utilities_convert_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) ++utilities_convert_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) -lrt + utilities_convert_LDFLAGS = $(LDFLAGS) + utilities_convert_SOURCES = utilities/convert.c +-utilities_display_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) ++utilities_display_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) -lrt + utilities_display_LDFLAGS = $(LDFLAGS) + utilities_display_SOURCES = utilities/display.c +-utilities_identify_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) ++utilities_identify_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) -lrt + utilities_identify_LDFLAGS = $(LDFLAGS) + utilities_identify_SOURCES = utilities/identify.c +-utilities_import_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) ++utilities_import_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) -lrt + utilities_import_LDFLAGS = $(LDFLAGS) + utilities_import_SOURCES = utilities/import.c +-utilities_mogrify_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) ++utilities_mogrify_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) -lrt + utilities_mogrify_LDFLAGS = $(LDFLAGS) + utilities_mogrify_SOURCES = utilities/mogrify.c +-utilities_montage_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) ++utilities_montage_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) -lrt + utilities_montage_LDFLAGS = $(LDFLAGS) + utilities_montage_SOURCES = utilities/montage.c +-utilities_stream_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) ++utilities_stream_LDADD = $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) -lrt + utilities_stream_LDFLAGS = $(LDFLAGS) + utilities_stream_SOURCES = utilities/stream.c + UTILITIES_MANS = \ diff --git a/I/ImageMagick/bundled/patches/windows-undefined-reference-__imp_WSAStartup.patch b/I/ImageMagick/bundled/patches/windows-undefined-reference-__imp_WSAStartup.patch new file mode 100644 index 00000000000..d1d777396e4 --- /dev/null +++ b/I/ImageMagick/bundled/patches/windows-undefined-reference-__imp_WSAStartup.patch @@ -0,0 +1,13 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -4663,8 +4663,8 @@ + MAGICKCORE_LIBS = magick/libMagickCore-@MAGICK_MAJOR_VERSION@.@MAGICK_ABI_SUFFIX@.la + @WITH_MODULES_FALSE@magick_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_SOURCES = $(MAGICK_BASE_SRCS) $(MAGICK_PLATFORM_SRCS) $(MAGICK_CODER_SRCS) $(MAGICK_FILTER_SRCS) + @WITH_MODULES_TRUE@magick_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_SOURCES = $(MAGICK_BASE_SRCS) $(MAGICK_PLATFORM_SRCS) +-@WITH_MODULES_FALSE@magick_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LIBADD = $(MAGICK_DEP_LIBS) +-@WITH_MODULES_TRUE@magick_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LIBADD = $(MAGICK_DEP_LIBS) ++@WITH_MODULES_FALSE@magick_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LIBADD = $(MAGICK_DEP_LIBS) -lws2_32 ++@WITH_MODULES_TRUE@magick_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_LIBADD = $(MAGICK_DEP_LIBS) -lws2_32 + nodist_magick_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_SOURCES = \ + $(am__append_1) + magick_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBRARY_EXTRA_CPPFLAGS)