diff --git a/README.md b/README.md index 9d890a47..88b96f08 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Run the top-level [build script](build.sh) with the `--help` parameter for help. | Dependency | Version | Used under the terms of | |-----------------|-----------|--------------------------------------------------------------| -| [aom] | 3.3.0 | BSD 2-Clause + [Alliance for Open Media Patent License 1.0] | +| [aom] | 3.4.0 | BSD 2-Clause + [Alliance for Open Media Patent License 1.0] | | [cairo] | 1.17.6 | Mozilla Public License 2.0 | | [cgif] | 0.3.0 | MIT Licence | | [expat] | 2.4.8 | MIT Licence | @@ -37,7 +37,7 @@ Run the top-level [build script](build.sh) with the `--help` parameter for help. | [librsvg] | 2.54.4 | LGPLv3 | | [libspng] | 0.7.2 | BSD 2-Clause | | [libtiff] | 4.4.0 | [libtiff License] (BSD-like) | -| [libvips] | 8.12.2 | LGPLv3 | +| [libvips] | 8.13.0² | LGPLv3 | | [libwebp] | 1.2.2 | New BSD License | | [libxml2] | 2.9.14 | MIT Licence | | [mozjpeg] | 4.0.3 | [zlib License, IJG License, BSD-3-Clause] | @@ -48,6 +48,8 @@ Run the top-level [build script](build.sh) with the `--help` parameter for help. | [zlib-ng] | 2.0.6 | [zlib-ng Licence] | ¹ [A fork](https://github.com/lovell/libimagequant) of the BSD 2-Clause licensed libimagequant v2.4.1 is used. +² libvips is built from the [`v8.13.0-rc1`](https://github.com/libvips/libvips/tree/v8.13.0-rc1) tag, see: +https://github.com/libvips/libvips/releases/tag/v8.13.0-rc1 [aom]: https://aomedia.googlesource.com/aom/ [Alliance for Open Media Patent License 1.0]: https://aomedia.org/license/patent-license/ @@ -97,7 +99,7 @@ Same as libvips-web + these extra dependencies: | [cfitsio] | 4.1.0 | BSD-like | | [fftw] | 3.3.10 | GPLv2 | | [highway] | 0.17.0 | Apache-2.0 License | -| [imagemagick] | 6.9.12-52 | [ImageMagick License] (Apache-2.0-like) | +| [imagemagick] | 6.9.12-54 | [ImageMagick License] (Apache-2.0-like) | | [imath] | 3.1.5 | BSD 3-Clause | | [libjxl] | 0.6.1 | BSD 3-Clause | | [matio] | 1.5.23 | BSD 2-Clause | diff --git a/build/aom.mk b/build/aom.mk index cf90de0a..7815bfed 100644 --- a/build/aom.mk +++ b/build/aom.mk @@ -2,8 +2,8 @@ PKG := aom $(PKG)_WEBSITE := https://aomedia.googlesource.com/aom/ $(PKG)_DESCR := AV1 Codec Library $(PKG)_IGNORE := -$(PKG)_VERSION := 3.3.0 -$(PKG)_CHECKSUM := 1dafde32bc2237bf0570294661ae61db30e818840f77dc4e90d1ebf5a6286664 +$(PKG)_VERSION := 3.4.0 +$(PKG)_CHECKSUM := bd754b58c3fa69f3ffd29da77de591bd9c26970e3b18537951336d6c0252e354 $(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/$(PKG)-[0-9]*.patch))) $(PKG)_SUBDIR := libaom-$($(PKG)_VERSION) $(PKG)_FILE := libaom-$($(PKG)_VERSION).tar.gz diff --git a/build/overrides.mk b/build/overrides.mk index 39f5431b..c1cc24e4 100644 --- a/build/overrides.mk +++ b/build/overrides.mk @@ -39,8 +39,8 @@ matio_FILE := matio-$(matio_VERSION).tar.gz matio_URL := https://github.com/tbeu/matio/releases/download/v$(matio_VERSION)/$(matio_FILE) # upstream version is 7, we want ImageMagick 6 -imagemagick_VERSION := 6.9.12-52 -imagemagick_CHECKSUM := 033bbb2b07219337ee49ec43d3b36813b0a6b92bb4089be39abceb48edc5e135 +imagemagick_VERSION := 6.9.12-54 +imagemagick_CHECKSUM := af0d88cdbfd814cea231e950367c4d1251e11371b84aeabda5ddf63dc5be760a imagemagick_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/imagemagick-[0-9]*.patch))) imagemagick_GH_CONF := ImageMagick/ImageMagick6/tags diff --git a/build/patches/aom-3-fixes.patch b/build/patches/aom-3-fixes.patch index 8faf5d3a..a5cef928 100644 --- a/build/patches/aom-3-fixes.patch +++ b/build/patches/aom-3-fixes.patch @@ -12,7 +12,7 @@ diff --git a/build/cmake/aom_configure.cmake b/build/cmake/aom_configure.cmake index 1111111..2222222 100644 --- a/build/cmake/aom_configure.cmake +++ b/build/cmake/aom_configure.cmake -@@ -216,6 +216,12 @@ aom_get_inline("INLINE") +@@ -242,6 +242,12 @@ aom_get_inline("INLINE") # Don't just check for pthread.h, but use the result of the full pthreads # including a linking check in FindThreads above. set(HAVE_PTHREAD_H ${CMAKE_USE_PTHREADS_INIT}) @@ -83,7 +83,7 @@ diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index 1111111..2222222 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c -@@ -5194,6 +5194,7 @@ static AOM_INLINE void setup_frame_info(AV1Decoder *pbi) { +@@ -5225,6 +5225,7 @@ static AOM_INLINE void setup_frame_info(AV1Decoder *pbi) { } } @@ -95,7 +95,7 @@ diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c index 1111111..2222222 100644 --- a/av1/encoder/encoder.c +++ b/av1/encoder/encoder.c -@@ -3614,6 +3614,7 @@ static int encode_frame_to_data_rate(AV1_COMP *cpi, size_t *size, +@@ -3675,6 +3675,7 @@ static int encode_frame_to_data_rate(AV1_COMP *cpi, size_t *size, return AOM_CODEC_OK; } diff --git a/build/patches/vips-8-dlldir-as-libdir.patch b/build/patches/vips-8-dlldir-as-libdir.patch index d58e0479..69da3833 100644 --- a/build/patches/vips-8-dlldir-as-libdir.patch +++ b/build/patches/vips-8-dlldir-as-libdir.patch @@ -9,7 +9,7 @@ diff --git a/libvips/include/vips/util.h b/libvips/include/vips/util.h index 1111111..2222222 100644 --- a/libvips/include/vips/util.h +++ b/libvips/include/vips/util.h -@@ -340,6 +340,7 @@ guint32 vips__random( guint32 seed ); +@@ -392,6 +392,7 @@ guint32 vips__random( guint32 seed ); guint32 vips__random_add( guint32 seed, int value ); const char *vips__icc_dir( void ); @@ -21,7 +21,7 @@ diff --git a/libvips/iofuncs/init.c b/libvips/iofuncs/init.c index 1111111..2222222 100644 --- a/libvips/iofuncs/init.c +++ b/libvips/iofuncs/init.c -@@ -1227,6 +1227,12 @@ vips_guess_prefix( const char *argv0, const char *env_name ) +@@ -1213,6 +1213,12 @@ vips_guess_prefix( const char *argv0, const char *env_name ) const char * vips_guess_libdir( const char *argv0, const char *env_name ) { @@ -34,7 +34,7 @@ index 1111111..2222222 100644 const char *prefix = vips_guess_prefix( argv0, env_name ); static char *libdir = NULL; -@@ -1251,6 +1257,7 @@ vips_guess_libdir( const char *argv0, const char *env_name ) +@@ -1237,6 +1243,7 @@ vips_guess_libdir( const char *argv0, const char *env_name ) libdir = g_strdup_printf( "%s/lib", prefix ); return( libdir ); @@ -46,7 +46,7 @@ diff --git a/libvips/iofuncs/util.c b/libvips/iofuncs/util.c index 1111111..2222222 100644 --- a/libvips/iofuncs/util.c +++ b/libvips/iofuncs/util.c -@@ -1983,6 +1983,54 @@ DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ) +@@ -1993,6 +1993,54 @@ DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ) return( TRUE ); } #endif diff --git a/build/plugins/llvm-mingw/patches/rust-1-fixes.patch b/build/plugins/llvm-mingw/patches/rust-1-fixes.patch index db2d72fa..bda6795e 100644 --- a/build/plugins/llvm-mingw/patches/rust-1-fixes.patch +++ b/build/plugins/llvm-mingw/patches/rust-1-fixes.patch @@ -63,7 +63,7 @@ diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/s index 1111111..2222222 100644 --- a/compiler/rustc_target/src/spec/mod.rs +++ b/compiler/rustc_target/src/spec/mod.rs -@@ -945,7 +945,9 @@ supported_targets! { +@@ -950,7 +950,9 @@ supported_targets! { ("x86_64-uwp-windows-gnu", x86_64_uwp_windows_gnu), ("aarch64-pc-windows-gnullvm", aarch64_pc_windows_gnullvm), diff --git a/build/plugins/llvm-mingw/rust.mk b/build/plugins/llvm-mingw/rust.mk index f3ca44cf..cb009f69 100644 --- a/build/plugins/llvm-mingw/rust.mk +++ b/build/plugins/llvm-mingw/rust.mk @@ -2,13 +2,13 @@ PKG := rust $(PKG)_WEBSITE := https://www.rust-lang.org/ $(PKG)_DESCR := A systems programming language focused on safety, speed and concurrency. $(PKG)_IGNORE := -# https://static.rust-lang.org/dist/2022-06-13/rustc-nightly-src.tar.xz.sha256 +# https://static.rust-lang.org/dist/2022-06-20/rustc-nightly-src.tar.xz.sha256 $(PKG)_VERSION := nightly -$(PKG)_CHECKSUM := d78ac20cae80390dd2d075255ff77800e1fb9e4cea3c8a2bad1dd5ae57441a70 +$(PKG)_CHECKSUM := 8ae98efd12756c35ce3d808e1de97dc0561e1a8f5db5f89ff9bca1dbc36adc2b $(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/$(PKG)-[0-9]*.patch))) $(PKG)_SUBDIR := $(PKG)c-$($(PKG)_VERSION)-src $(PKG)_FILE := $(PKG)c-$($(PKG)_VERSION)-src.tar.xz -$(PKG)_URL := https://static.rust-lang.org/dist/2022-06-13/$($(PKG)_FILE) +$(PKG)_URL := https://static.rust-lang.org/dist/2022-06-20/$($(PKG)_FILE) $(PKG)_DEPS := $(BUILD)~$(PKG) $(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS) diff --git a/build/plugins/nightly/overrides.mk b/build/plugins/nightly/overrides.mk index dae971b4..dadab546 100644 --- a/build/plugins/nightly/overrides.mk +++ b/build/plugins/nightly/overrides.mk @@ -8,17 +8,7 @@ vips-web_GH_CONF := libvips/libvips/branches/master vips-web_SUBDIR := libvips-libvips-$(GIT_COMMIT) vips-web_FILE := vips-web-$(GIT_COMMIT).tar.gz -vips-web_BUILD_x86_64-w64-mingw32 = $(subst configure,autogen.sh,$(vips-web_BUILD)) -vips-web_BUILD_i686-w64-mingw32 = $(subst configure,autogen.sh,$(vips-web_BUILD)) -vips-web_BUILD_aarch64-w64-mingw32 = $(subst configure,autogen.sh,$(vips-web_BUILD)) -vips-web_BUILD_armv7-w64-mingw32 = $(subst configure,autogen.sh,$(vips-web_BUILD)) - vips-all_VERSION := $(GIT_COMMIT) vips-all_GH_CONF := libvips/libvips/branches/master vips-all_SUBDIR := libvips-libvips-$(GIT_COMMIT) vips-all_FILE := vips-all-$(GIT_COMMIT).tar.gz - -vips-all_BUILD_x86_64-w64-mingw32 = $(subst configure,autogen.sh,$(vips-all_BUILD)) -vips-all_BUILD_i686-w64-mingw32 = $(subst configure,autogen.sh,$(vips-all_BUILD)) -vips-all_BUILD_aarch64-w64-mingw32 = $(subst configure,autogen.sh,$(vips-all_BUILD)) -vips-all_BUILD_armv7-w64-mingw32 = $(subst configure,autogen.sh,$(vips-all_BUILD)) diff --git a/build/variables.sh b/build/variables.sh index 859c4ea5..c4558db6 100755 --- a/build/variables.sh +++ b/build/variables.sh @@ -1,9 +1,9 @@ # included by all scripts vips_package=vips -vips_version=8.12 -vips_patch_version=2 -#vips_pre_version=rc1 +vips_version=8.13 +vips_patch_version=0 +vips_pre_version=rc1 if [ -n "$GIT_COMMIT" ]; then vips_version=$GIT_COMMIT diff --git a/build/vips-all.mk b/build/vips-all.mk index 4f9e5642..7bd30ebd 100644 --- a/build/vips-all.mk +++ b/build/vips-all.mk @@ -2,13 +2,12 @@ PKG := vips-all $(PKG)_WEBSITE := https://libvips.github.io/libvips/ $(PKG)_DESCR := A fast image processing library with low memory needs. $(PKG)_IGNORE := -$(PKG)_VERSION := 8.12.2 -$(PKG)_CHECKSUM := 565252992aff2c7cd10c866c7a58cd57bc536e03924bde29ae0f0cb9e074010b +$(PKG)_VERSION := 8.13.0 +$(PKG)_CHECKSUM := 3bce6ada3c18a38f59a8f51297ed59b19ab8ca1076770c715f0d33de19842d2a $(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/vips-[0-9]*.patch))) -$(PKG)_GH_CONF := libvips/libvips/releases,v -$(PKG)_SUBDIR := vips-$($(PKG)_VERSION) -$(PKG)_FILE := vips-$($(PKG)_VERSION).tar.gz -$(PKG)_DEPS := cc libwebp librsvg glib pango libgsf \ +$(PKG)_SUBDIR := libvips-$($(PKG)_VERSION)-rc1 +$(PKG)_GH_CONF := libvips/libvips/tags,v,-rc1 +$(PKG)_DEPS := cc meson-wrapper libwebp librsvg glib pango libgsf \ libjpeg-turbo tiff lcms libexif libheif libpng \ libspng libimagequant orc imagemagick matio openexr \ cfitsio nifticlib poppler fftw openslide libjxl cgif @@ -76,25 +75,18 @@ endef define $(PKG)_BUILD $($(PKG)_PRE_CONFIGURE) - # Allow libtool to statically link against libintl - # by specifying lt_cv_deplibs_check_method="pass_all" - cd '$(BUILD_DIR)' && $(SOURCE_DIR)/configure \ - $(MXE_CONFIGURE_OPTS) \ - --enable-debug=no \ - $(if $(IS_LLVM),, --without-libjxl) \ - --without-pdfium \ - --disable-introspection \ - --disable-deprecated \ - --with-heif=$(if $(IS_HEVC),module,yes) \ - $(if $(findstring graphicsmagick,$($(PKG)_DEPS)), --with-magickpackage=GraphicsMagick) \ - CPPFLAGS='-DVIPS_DLLDIR_AS_LIBDIR' \ - $(if $(IS_INTL_DUMMY), lt_cv_deplibs_check_method="pass_all") + $(MXE_MESON_WRAPPER) \ + -Ddeprecated=false \ + -Dintrospection=false \ + -Dmodules=enabled \ + -Dheif-module=$(if $(IS_HEVC),enabled,disabled) \ + -Djpeg-xl=$(if $(IS_LLVM),enabled,disabled) \ + $(if $(findstring graphicsmagick,$($(PKG)_DEPS)), -Dmagick-package=GraphicsMagick) \ + -Dpdfium=disabled \ + -Dquantizr=disabled \ + -Dc_args='$(CFLAGS) -DVIPS_DLLDIR_AS_LIBDIR' \ + '$(SOURCE_DIR)' \ + '$(BUILD_DIR)' - # remove -nostdlib from linker commandline options - # https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27866 - $(if $(IS_LLVM), \ - $(SED) -i '/^archive_cmds=/s/\-nostdlib//g' '$(BUILD_DIR)/libtool') - - $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' - $(MAKE) -C '$(BUILD_DIR)' -j 1 $(INSTALL_STRIP_LIB) + $(MXE_NINJA) -C '$(BUILD_DIR)' -j '$(JOBS)' install endef diff --git a/build/vips-web.mk b/build/vips-web.mk index 354b486a..2d3c202c 100644 --- a/build/vips-web.mk +++ b/build/vips-web.mk @@ -2,13 +2,12 @@ PKG := vips-web $(PKG)_WEBSITE := https://libvips.github.io/libvips/ $(PKG)_DESCR := A fast image processing library with low memory needs. $(PKG)_IGNORE := -$(PKG)_VERSION := 8.12.2 -$(PKG)_CHECKSUM := 565252992aff2c7cd10c866c7a58cd57bc536e03924bde29ae0f0cb9e074010b +$(PKG)_VERSION := 8.13.0 +$(PKG)_CHECKSUM := 3bce6ada3c18a38f59a8f51297ed59b19ab8ca1076770c715f0d33de19842d2a $(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/vips-[0-9]*.patch))) -$(PKG)_GH_CONF := libvips/libvips/releases,v -$(PKG)_SUBDIR := vips-$($(PKG)_VERSION) -$(PKG)_FILE := vips-$($(PKG)_VERSION).tar.gz -$(PKG)_DEPS := cc libwebp librsvg glib pango libgsf \ +$(PKG)_SUBDIR := libvips-$($(PKG)_VERSION)-rc1 +$(PKG)_GH_CONF := libvips/libvips/tags,v,-rc1 +$(PKG)_DEPS := cc meson-wrapper libwebp librsvg glib pango libgsf \ libjpeg-turbo tiff lcms libexif libheif libpng \ libspng libimagequant orc cgif @@ -61,46 +60,28 @@ define $(PKG)_BUILD # Always build as shared library, we need # libvips-42.dll for the language bindings. - # Allow libtool to statically link against libintl - # by specifying lt_cv_deplibs_check_method="pass_all" - cd '$(BUILD_DIR)' && $(SOURCE_DIR)/configure \ - --host='$(TARGET)' \ - --build='$(BUILD)' \ - --prefix='$(PREFIX)/$(TARGET)' \ - --disable-static \ - --enable-shared \ - $(MXE_DISABLE_DOC_OPTS) \ - --enable-debug=no \ - --without-fftw \ - --without-magick \ - --without-openslide \ - --without-libjxl \ - --without-libopenjp2 \ - --without-pdfium \ - --without-poppler \ - --without-cfitsio \ - --without-OpenEXR \ - --without-nifti \ - --without-matio \ - --without-ppm \ - --without-analyze \ - --without-radiance \ - --disable-introspection \ - --disable-deprecated \ - --disable-modules \ - $(if $(or $(BUILD_STATIC),$(IS_INTL_DUMMY)), lt_cv_deplibs_check_method="pass_all") + $(MXE_MESON_WRAPPER) \ + --default-library=shared \ + -Ddeprecated=false \ + -Dintrospection=false \ + -Dmodules=disabled \ + -Dcfitsio=disabled \ + -Dfftw=disabled \ + -Djpeg-xl=disabled \ + -Dmagick=disabled \ + -Dmatio=disabled \ + -Dnifti=disabled \ + -Dopenexr=disabled \ + -Dopenjpeg=disabled \ + -Dopenslide=disabled \ + -Dpdfium=disabled \ + -Dpoppler=disabled \ + -Dquantizr=disabled \ + -Dppm=false \ + -Danalyze=false \ + -Dradiance=false \ + '$(SOURCE_DIR)' \ + '$(BUILD_DIR)' - # libtool should automatically generate a list - # of exported symbols, even for "static" builds - $(if $(BUILD_STATIC), \ - $(SED) -i '/^always_export_symbols=/s/=no/=yes/' '$(BUILD_DIR)/libtool') - - # remove -nostdlib from linker commandline options - # (i.e. archive_cmds and archive_expsym_cmds) - # https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27866 - $(if $(IS_LLVM), \ - $(SED) -i '/\-shared /s/ \-nostdlib//' '$(BUILD_DIR)/libtool') - - $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' - $(MAKE) -C '$(BUILD_DIR)' -j 1 $(INSTALL_STRIP_LIB) + $(MXE_NINJA) -C '$(BUILD_DIR)' -j '$(JOBS)' install endef diff --git a/container/Dockerfile b/container/Dockerfile index 8ee39197..40760f31 100644 --- a/container/Dockerfile +++ b/container/Dockerfile @@ -5,9 +5,7 @@ RUN apt-get update \ # http://mxe.cc/#requirements-debian autopoint bison flex gettext gperf g++-multilib \ intltool libc6-dev-i386 libtool-bin libxml-parser-perl \ - lzip p7zip-full python-is-python3 python3-mako ruby \ - # needed when building libvips from git - gobject-introspection gtk-doc-tools + lzip p7zip-full python-is-python3 python3-mako ruby # gas-preprocessor.pl is required for the ARM/ARM64 builds of libjpeg-turbo # TODO(kleisauke): This is no longer necessary once mozjpeg merges libjpeg-turbo 2.1.0.