Skip to content

Commit

Permalink
Update for 8.11.4
Browse files Browse the repository at this point in the history
- Update GLib to 2.70.0.
- Update libexif to 0.6.23.
- Update librsvg to 2.52.0.
- Update FFTW to 3.3.10.
- Update ImageMagick to 6.9.11-23.
- Update MinGW-w64 to the latest master version.
- Link against ucrtbased for debug builds.
- Ensure loadable modules are found when bin/ is renamed (#34).

MXE Updates:
- Update HarfBuzz to 3.0.0.
  • Loading branch information
kleisauke committed Sep 23, 2021
1 parent 68b84e1 commit 06090f0
Show file tree
Hide file tree
Showing 17 changed files with 430 additions and 68 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,19 @@ Run the top-level [build script](build.sh) with the `--help` parameter for help.
| [freetype] | 2.11.0 | [freetype Licence] (BSD-like) |
| [fribidi] | 1.0.10 | LGPLv3 |
| [gdk-pixbuf] | 2.42.6 | LGPLv3 |
| [glib] | 2.69.2 | LGPLv3 |
| [harfbuzz] | 2.9.0 | MIT Licence |
| [glib] | 2.70.0 | LGPLv3 |
| [harfbuzz] | 3.0.0 | MIT Licence |
| [lcms] | 2.12 | MIT Licence |
| [libexif] | 0.6.22 | LGPLv3 |
| [libexif] | 0.6.23 | LGPLv3 |
| [libffi] | 3.4.2 | MIT Licence |
| [libgsf] | 1.14.47 | LGPLv3 |
| [libheif] | 1.12.0 | LGPLv3 |
| [libimagequant] | 2.4.1¹ | BSD 2-Clause |
| [libpng] | 1.6.37 | [libpng License version 2] |
| [librsvg] | 2.51.4 | LGPLv3 |
| [librsvg] | 2.52.0 | LGPLv3 |
| [libspng] | 0.6.3 | BSD 2-Clause |
| [libtiff] | 4.3.0 | [libtiff License] (BSD-like) |
| [libvips] | 8.11.3 | LGPLv3 |
| [libvips] | 8.11.4 | LGPLv3 |
| [libwebp] | 1.2.1 | New BSD License |
| [libxml2] | 2.9.12 | MIT Licence |
| [mozjpeg] | 4.0.3 | [zlib License, IJG License, BSD-3-Clause] |
Expand Down Expand Up @@ -91,9 +91,9 @@ Same as libvips-web + these extra dependencies:
|-----------------|-----------|--------------------------------------------------------------|
| [brotli] | 1.0.9 | MIT Licence |
| [cfitsio] | 4.0.0 | BSD-like |
| [fftw] | 3.3.9 | GPLv2 |
| [fftw] | 3.3.10 | GPLv2 |
| [highway] | 0.14.0 | Apache-2.0 License |
| [imagemagick] | 6.9.12-20 | [ImageMagick License] (Apache-2.0-like) |
| [imagemagick] | 6.9.12-23 | [ImageMagick License] (Apache-2.0-like) |
| [imath] | 3.1.2 | BSD 3-Clause |
| [libjxl] | 0.5 | BSD 3-Clause |
| [matio] | 1.5.21 | BSD 2-Clause |
Expand Down
4 changes: 4 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,10 @@ fi

target="$arch-w64-mingw32.$type.$threads${unwind:+.$unwind}"

if [ "$with_debug" = "true" ]; then
target+=".debug"
fi

# Is docker available?
if ! [ -x "$(command -v docker)" ]; then
echo "ERROR: Please install docker." >&2
Expand Down
2 changes: 1 addition & 1 deletion build/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ fi
# Always checkout a particular revision which will successfully build.
# This ensures that it will not suddenly break a build.
# Note: Must be regularly updated.
revision="74dd24ca82a5e48ccaf0b549eaef1db07ed382ad"
revision="4d7331c95f14a9db5a66033c5c81d2e8dfb343f8"
initialize=false

if [ -f "$mxe_dir/Makefile" ]; then
Expand Down
9 changes: 3 additions & 6 deletions build/libexif.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,15 @@ PKG := libexif
$(PKG)_WEBSITE := https://libexif.github.io/
$(PKG)_DESCR := A library for parsing, editing, and saving EXIF data.
$(PKG)_IGNORE :=
$(PKG)_VERSION := 0.6.22
$(PKG)_CHECKSUM := 5048f1c8fc509cc636c2f97f4b40c293338b6041a5652082d5ee2cf54b530c56
$(PKG)_VERSION := 0.6.23
$(PKG)_CHECKSUM := a740a99920eb81ae0aa802bb46e683ce6e0cde061c210f5d5bde5b8572380431
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/$(PKG)-[0-9]*.patch)))
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.xz
$(PKG)_GH_CONF := libexif/libexif/releases,libexif-,-release,,_,.tar.xz
$(PKG)_GH_CONF := libexif/libexif/releases,v,,,,.tar.xz
$(PKG)_DEPS := cc

define $(PKG)_BUILD
# configure script is ancient so regenerate
cd '$(SOURCE_DIR)' && autoreconf -fi

cd '$(BUILD_DIR)' && $(SOURCE_DIR)/configure \
$(MXE_CONFIGURE_OPTS) \
--disable-nls \
Expand Down
2 changes: 1 addition & 1 deletion build/libimagequant.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ $(PKG)_WEBSITE := https://github.com/lovell/libimagequant
$(PKG)_DESCR := libimagequant v2.4.1 fork (BSD 2-Clause)
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2.4.1
$(PKG)_CHECKSUM := efbd9b830033f0ddb91a5764e1f063bdcf87a5c7be663755ce3bb4166f86ea4a
$(PKG)_CHECKSUM := 9a808f7dde0b3b9a51632ec903b8a36f4342b95e66496c0919b3619cf03e022f
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/$(PKG)-[0-9]*.patch)))
$(PKG)_GH_CONF := lovell/libimagequant/tags,v
$(PKG)_DEPS := cc
Expand Down
48 changes: 32 additions & 16 deletions build/overrides.mk
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ 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-20
imagemagick_CHECKSUM := 8fa7addb7eac2dd417c7fbed46ff9dd5614abf7cefea4d786375306bec2659b1
imagemagick_VERSION := 6.9.12-23
imagemagick_CHECKSUM := 17fd6629d4e14f0cd8432ff1a4f1d65ec312549dcfd409eb062b0966e314e7ac
imagemagick_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/imagemagick-[0-9]*.patch)))
imagemagick_GH_CONF := ImageMagick/ImageMagick6/tags

# upstream version is 2.40.5
librsvg_VERSION := 2.51.4
librsvg_CHECKSUM := 0b87d61de9b973aac1fdb9583368b9a893e67f5f7cb75c3e8f7de142557aca00
librsvg_VERSION := 2.52.0
librsvg_CHECKSUM := bd821fb3e16494b61f5185addd23b726b064f203122b3ab4b3d5d7a44e6bf393
librsvg_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/librsvg-[0-9]*.patch)))
librsvg_SUBDIR := librsvg-$(librsvg_VERSION)
librsvg_FILE := librsvg-$(librsvg_VERSION).tar.xz
Expand All @@ -72,8 +72,8 @@ fribidi_FILE := fribidi-$(fribidi_VERSION).tar.xz
fribidi_URL := https://github.com/fribidi/fribidi/releases/download/v$(fribidi_VERSION)/$(fribidi_FILE)

# upstream version is 2.50.2
glib_VERSION := 2.69.2
glib_CHECKSUM := a62249e35a8635175a697b3215f1df2b89e0fbb4adb520dcbe21a3ae1ebb8882
glib_VERSION := 2.70.0
glib_CHECKSUM := 200d7df811c5ba634afbf109f14bb40ba7fde670e89389885da14e27c0840742
glib_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/glib-[0-9]*.patch)))
glib_SUBDIR := glib-$(glib_VERSION)
glib_FILE := glib-$(glib_VERSION).tar.xz
Expand Down Expand Up @@ -131,8 +131,8 @@ fontconfig_FILE := fontconfig-$(fontconfig_VERSION).tar.xz
fontconfig_URL := https://www.freedesktop.org/software/fontconfig/release/$(fontconfig_FILE)

# upstream version is 3.3.8
fftw_VERSION := 3.3.9
fftw_CHECKSUM := bf2c7ce40b04ae811af714deb512510cc2c17b9ab9d6ddcf49fe4487eea7af3d
fftw_VERSION := 3.3.10
fftw_CHECKSUM := 56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467
fftw_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/fftw-[0-9]*.patch)))
fftw_SUBDIR := fftw-$(fftw_VERSION)
fftw_FILE := fftw-$(fftw_VERSION).tar.gz
Expand All @@ -156,14 +156,14 @@ nasm_URL := https://www.nasm.us/pub/nasm/releasebuilds/$(nasm_VERSION)/$(na
nasm_URL_2 := https://sources.voidlinux.org/nasm-$(nasm_VERSION)/$(nasm_FILE)

# upstream version is 9.0.0
# Update MinGW-w64 to 4613211
# https://github.com/mirror/mingw-w64/tarball/4613211c6bfcb220dec9a116a76c5c9aff1939a3
mingw-w64_VERSION := 4613211
mingw-w64_CHECKSUM := 8062c83070a599b3480e1ee128438350d476e5f79d53a2130b6a9502aa9bb6aa
# Update MinGW-w64 to 586baa1
# https://github.com/mingw-w64/mingw-w64/tarball/586baa17bb41dd78addd8cbb6415cfd24d24e925
mingw-w64_VERSION := 586baa1
mingw-w64_CHECKSUM := 24d0892f9f96e998abd610f0ec5194f1c4f60400b887045360992083dc8b549f
mingw-w64_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/mingw-w64-[0-9]*.patch)))
mingw-w64_SUBDIR := mirror-mingw-w64-$(mingw-w64_VERSION)
mingw-w64_FILE := mirror-mingw-w64-$(mingw-w64_VERSION).tar.gz
mingw-w64_URL := https://github.com/mirror/mingw-w64/tarball/$(mingw-w64_VERSION)/$(mingw-w64_FILE)
mingw-w64_SUBDIR := mingw-w64-mingw-w64-$(mingw-w64_VERSION)
mingw-w64_FILE := mingw-w64-mingw-w64-$(mingw-w64_VERSION).tar.gz
mingw-w64_URL := https://github.com/mingw-w64/mingw-w64/tarball/$(mingw-w64_VERSION)/$(mingw-w64_FILE)

## Patches that we override with our own

Expand Down Expand Up @@ -245,6 +245,22 @@ cfitsio_DEPS := cc zlib

## Override build scripts

# Unexport target specific compiler / linker flags
define gendef_BUILD
$(eval unexport CFLAGS)
$(eval unexport CXXFLAGS)
$(eval unexport LDFLAGS)

cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/mingw-w64-tools/gendef/configure' \
CFLAGS='-Wno-implicit-fallthrough' \
--host='$(BUILD)' \
--build='$(BUILD)' \
--prefix='$(PREFIX)/$(TARGET)' \
--target='$(TARGET)'
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)'
$(MAKE) -C '$(BUILD_DIR)' -j 1 $(INSTALL_STRIP_TOOLCHAIN)
endef

# libasprintf isn't needed, so build with --disable-libasprintf
# this definition is for reference purposes only, we use the
# proxy-libintl plugin instead.
Expand Down Expand Up @@ -615,7 +631,7 @@ define cairo_BUILD
--enable-fc \
--enable-ft \
--without-x \
CPPFLAGS="$(if $(BUILD_STATIC),-DCAIRO_WIN32_STATIC_BUILD)" \
$(if $(BUILD_STATIC), CPPFLAGS='-DCAIRO_WIN32_STATIC_BUILD') \
ax_cv_c_float_words_bigendian=no

$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' $(MXE_DISABLE_PROGRAMS)
Expand Down
21 changes: 13 additions & 8 deletions build/package-vipsdev.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,16 +95,21 @@ strip=$target.$deps-strip
# Directories
install_dir=$mxe_prefix/$target.$deps
bin_dir=$install_dir/bin
module_dir=$install_dir/bin/vips-modules-$vips_version
module_dir=$install_dir/lib/vips-modules-$vips_version

echo "Copying libvips and dependencies"

# Need to whitelist the Universal C Runtime (CRT) DLLs
# Can't do api-ms-win-crt-*-l1-1-0.dll, unfortunately
whitelist=(api-ms-win-crt-{conio,convert,environment,filesystem,heap,locale,math,multibyte,private,process,runtime,stdio,string,time,utility}-l1-1-0.dll)

# CreateEnvironmentBlock, GetUserProfileDirectoryA, etc.
whitelist+=(userenv.dll)
if [ "$DEBUG" = "true" ]; then
# Whitelist ucrtbased.dll for debug builds
whitelist=(ucrtbased.dll)
else
# Whitelist the API set DLLs
# Can't do api-ms-win-crt-*-l1-1-0.dll, unfortunately
whitelist=(api-ms-win-crt-{conio,convert,environment,filesystem,heap,locale,math,multibyte,private,process,runtime,stdio,string,time,utility}-l1-1-0.dll)

# CreateEnvironmentBlock, GetUserProfileDirectoryA, etc.
whitelist+=(userenv.dll)
fi

# Copy libvips and dependencies with pe-util
binaries=$(peldd $bin_dir/$target_dll --clear-path --path $bin_dir ${whitelist[@]/#/--wlist } --all)
Expand Down Expand Up @@ -142,7 +147,7 @@ fi

rm -rf $repackage_dir/share/{aclocal,bash-completion,cmake,config.site,doc,gdb,glib-2.0,gtk-2.0,gtk-doc,installed-tests,man,meson,thumbnailers,xml,zsh}
rm -rf $repackage_dir/include/cairo
rm -rf $repackage_dir/lib/{*.so*,*cairo*,*gdk*,*_too.a,ldscripts,rustlib,xml2Conf.sh}
rm -rf $repackage_dir/lib/{*.so*,*cairo*,*gdk*,*_too.a,vips-modules-*,ldscripts,rustlib,xml2Conf.sh}
rm -rf $repackage_dir/etc/bash_completion.d

find $repackage_dir/lib -name "*.la" -exec rm -f {} \;
Expand Down
Loading

0 comments on commit 06090f0

Please sign in to comment.