Skip to content

Commit

Permalink
Update for 8.7.1
Browse files Browse the repository at this point in the history
- Update Cairo to 1.16.0.
- Update FriBidi to 1.0.5.
- Update GLib to 2.58.1.
- Update librsvg to 2.44.8.
- Update ImageMagick to 6.9.10-14.
- Update matio to 1.5.13.
- Update Poppler to 0.71.0.

MXE Updates:
- Update HarfBuzz to 2.1.0.
- Update SQLite to 3.25.2.
  • Loading branch information
kleisauke committed Nov 6, 2018
1 parent 33fbac6 commit cbd9dab
Show file tree
Hide file tree
Showing 8 changed files with 52 additions and 159 deletions.
2 changes: 1 addition & 1 deletion 8.7/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ target="${2:-x86_64-w64-mingw32.shared}"
# 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="1b2605524df72505e3a82208cfd9c591867d365c"
revision="379534c7bf0dfadfbae7fc68d57c54c2d77e912e"

if [ -f "$mxe_dir/Makefile" ]; then
echo "Skip cloning, MXE already exists at $mxe_dir"
Expand Down
123 changes: 2 additions & 121 deletions 8.7/glib-2-fixes.patch
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,17 @@ This file is part of MXE. See LICENSE.md for licensing information.

Contains ad hoc patches for cross building.

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mark Brand <mabrand@mabrand.nl>
Date: Thu, 23 Sep 2010 21:42:46 +0200
Subject: [PATCH 1/4] fix tool paths


diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in
index 1111111..2222222 100644
--- a/glib-2.0.pc.in
+++ b/glib-2.0.pc.in
@@ -3,9 +3,9 @@ exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@

-glib_genmarshal=glib-genmarshal
-gobject_query=gobject-query
-glib_mkenums=glib-mkenums
+glib_genmarshal=@bindir@/glib-genmarshal
+gobject_query=@bindir@/gobject-query
+glib_mkenums=@bindir@/glib-mkenums

Name: GLib
Description: C Utility Library

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Hans Petter Jansson <hpj@cl.no>
Date: Fri, 15 Jun 2012 15:27:22 +0200
Subject: [PATCH 2/4] Allow building without inotify support
Subject: [PATCH 1/1] Allow building without inotify support


diff --git a/configure.ac b/configure.ac
index 1111111..2222222 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1604,10 +1604,15 @@ AC_SUBST(SELINUX_LIBS)
@@ -1637,10 +1637,15 @@ AC_SUBST(SELINUX_LIBS)
dnl *****************************
dnl ** Check for inotify (GIO) **
dnl *****************************
Expand All @@ -55,98 +31,3 @@ index 1111111..2222222 100644
])

AM_CONDITIONAL(HAVE_INOTIFY, [test "$inotify_support" = "yes"])

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "fix@me" <fix@me>
Date: Mon, 23 Apr 2018 15:51:07 +0200
Subject: [PATCH 3/4] struct ip_mreq_source definition is broken on Android NDK <= r16


diff --git a/configure.ac b/configure.ac
index 1111111..2222222 100644
--- a/configure.ac
+++ b/configure.ac
@@ -922,20 +922,22 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
AC_MSG_RESULT(no)
])

-AC_MSG_CHECKING([if ip_mreq_source.imr_interface has s_addr member])
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
- [[
- #include <netinet/in.h>
- ]],
- [[
- struct ip_mreq_source mc_req_src;
- mc_req_src.imr_interface.s_addr = 0;
- ]])], [
- AC_MSG_RESULT(yes)
- ], [
- AC_MSG_RESULT(no)
- AC_DEFINE(BROKEN_IP_MREQ_SOURCE_STRUCT, 1, [struct ip_mreq_source definition is broken on Android NDK <= r16])
-])
+# See https://bugzilla.gnome.org/show_bug.cgi?id=740791
+AS_IF([test $glib_native_android = yes], [
+ AC_MSG_CHECKING([if ip_mreq_source.imr_interface has s_addr member])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[
+ #include <netinet/in.h>
+ ]],
+ [[
+ struct ip_mreq_source mc_req_src;
+ mc_req_src.imr_interface.s_addr = 0;
+ ]])], [
+ AC_MSG_RESULT(yes)
+ ], [
+ AC_MSG_RESULT(no)
+ AC_DEFINE(BROKEN_IP_MREQ_SOURCE_STRUCT, 1, [struct ip_mreq_source definition is broken on Android NDK <= r16])
+ ])])

AS_IF([test $glib_native_win32 = yes], [
# <wspiapi.h> in the Windows SDK and in mingw-w64 has wrappers for
diff --git a/gio/meson.build b/gio/meson.build
index 1111111..2222222 100644
--- a/gio/meson.build
+++ b/gio/meson.build
@@ -152,6 +152,11 @@ if host_system != 'windows'
glib_conf.set('HAVE_SIOCGIFADDR', '/**/')
endif

+endif
+
+if host_system.contains('android')
+ # struct ip_mreq_source definition is broken on Android NDK <= r16
+ # See https://bugzilla.gnome.org/show_bug.cgi?id=740791
if not cc.compiles('''#include <netinet/in.h>
int main(int argc, char ** argv) {
struct ip_mreq_source mc_req_src;
@@ -161,7 +166,6 @@ if host_system != 'windows'
name : 'ip_mreq_source.imr_interface has s_addr member')
glib_conf.set('BROKEN_IP_MREQ_SOURCE_STRUCT', 1)
endif
-
endif

gnetworking_h_conf.set('WSPIAPI_INCLUDE', gnetworking_h_wspiapi_include)

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "fix@me" <fix@me>
Date: Thu, 2 Aug 2018 19:09:02 +0200
Subject: [PATCH 4/4] Fix format error

Our GCC doesn't seem to properly understand %I64i format specifiers

diff --git a/configure.ac b/configure.ac
index 1111111..2222222 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3398,8 +3398,8 @@ AS_IF([test "x$enable_compile_warnings" != xno], [
-Wno-bad-function-cast \
-Werror=declaration-after-statement \
-Werror=missing-prototypes -Werror=implicit-function-declaration \
- -Werror=pointer-arith -Werror=init-self -Werror=format-security \
- -Werror=format=2 -Werror=missing-include-dirs])
+ -Werror=pointer-arith -Werror=init-self -Wno-error=format-security \
+ -Wno-error=format=2 -Werror=missing-include-dirs])
])
AC_SUBST(GLIB_WARN_CFLAGS)

44 changes: 26 additions & 18 deletions 8.7/overrides.mk
Original file line number Diff line number Diff line change
Expand Up @@ -76,16 +76,16 @@ fftw_FILE := fftw-$(fftw_VERSION).tar.gz
fftw_URL := http://www.fftw.org/$(fftw_FILE)

# upstream version is 1.5.2
matio_VERSION := 1.5.12
matio_CHECKSUM := 8695e380e465056afa5b5e20128935afe7d50e03830f9f7778a72e1e1894d8a9
matio_VERSION := 1.5.13
matio_CHECKSUM := feadb2f54ba7c9db6deba8c994e401d7a1a8e7afd0fe74487691052b8139e5cb
matio_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/matio-[0-9]*.patch)))
matio_SUBDIR := matio-$(matio_VERSION)
matio_FILE := matio-$(matio_VERSION).tar.gz
matio_URL := https://github.com/tbeu/matio/releases/download/v$(matio_VERSION)/$(matio_FILE)

# upstream version is 6.9.0-0
imagemagick_VERSION := 6.9.10-12
imagemagick_CHECKSUM := 54549fe394598f6a7cec8cb5adc45d5d65b8b4f043745c6610693618b1372966
imagemagick_VERSION := 6.9.10-14
imagemagick_CHECKSUM := d123d4ad4e5bf72c51a6f528a2dbbbd4bf4249f25b36045017c9c634db968e6d
imagemagick_SUBDIR := ImageMagick-$(imagemagick_VERSION)
imagemagick_FILE := ImageMagick-$(imagemagick_VERSION).tar.xz
imagemagick_URL := https://www.imagemagick.org/download/releases/$(imagemagick_FILE)
Expand All @@ -94,8 +94,8 @@ imagemagick_URL_2 := https://ftp.nluug.nl/ImageMagick/$(imagemagick_FILE)
# Note: static linking is broken on 2.42, if static linking is needed; stick with 2.40.20.
# See: https://gitlab.gnome.org/GNOME/librsvg/issues/159
# upstream version is 2.40.5
librsvg_VERSION := 2.44.4
librsvg_CHECKSUM := bd913b1f598d2dec70762849e51c5db334d072648557821e3908a2c43bad5f3d
librsvg_VERSION := 2.44.8
librsvg_CHECKSUM := ae0c5c52bdc3cb077d82f83622307c01d21c104ea24af67c0193aae8e0773745
librsvg_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/librsvg-[0-9]*.patch)))
librsvg_SUBDIR := librsvg-$(librsvg_VERSION)
librsvg_FILE := librsvg-$(librsvg_VERSION).tar.xz
Expand All @@ -110,12 +110,12 @@ pango_FILE := pango-$(pango_VERSION).tar.xz
pango_URL := https://download.gnome.org/sources/pango/$(call SHORT_PKG_VERSION,pango)/$(pango_FILE)

# upstream version is 0.19.6
fribidi_VERSION := 0.19.7
fribidi_CHECKSUM := 08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e
fribidi_VERSION := 1.0.5
fribidi_CHECKSUM := 6a64f2a687f5c4f203a46fa659f43dd43d1f8b845df8d723107e8a7e6158e4ce
fribidi_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/fribidi-[0-9]*.patch)))
fribidi_SUBDIR := fribidi-$(fribidi_VERSION)
fribidi_FILE := fribidi-$(fribidi_VERSION).tar.bz2
fribidi_URL := https://github.com/fribidi/fribidi/releases/download/$(fribidi_VERSION)/$(fribidi_FILE)
fribidi_URL := https://github.com/fribidi/fribidi/releases/download/v$(fribidi_VERSION)/$(fribidi_FILE)

# upstream version is 0.6.2
libcroco_VERSION := 0.6.12
Expand All @@ -133,16 +133,16 @@ libwebp_FILE := libwebp-$(libwebp_VERSION).tar.gz
libwebp_URL := http://downloads.webmproject.org/releases/webp/$(libwebp_FILE)

# upstream version is 0.51.0
poppler_VERSION := 0.69.0
poppler_CHECKSUM := 637ff943f805f304ff1da77ba2e7f1cbd675f474941fd8ae1e0fc01a5b45a3f9
poppler_VERSION := 0.71.0
poppler_CHECKSUM := badbecd2dddf63352fd85ec08a9c2ed122fdadacf2a34fcb4cc227c4d01f2cf9
poppler_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/poppler-[0-9]*.patch)))
poppler_SUBDIR := poppler-$(poppler_VERSION)
poppler_FILE := poppler-$(poppler_VERSION).tar.xz
poppler_URL := https://poppler.freedesktop.org/$(poppler_FILE)

# upstream version is 2.50.2
glib_VERSION := 2.57.2
glib_CHECKSUM := e19f795baabb52651ddea90bb5dc8f696939e15290c3cb7cfa684d4e1628c1a8
glib_VERSION := 2.58.1
glib_CHECKSUM := 97d6a9d926b6aa3dfaadad3077cfb43eec74432ab455dff14250c769d526d7d6
glib_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/glib-[0-9]*.patch)))
glib_SUBDIR := glib-$(glib_VERSION)
glib_FILE := glib-$(glib_VERSION).tar.xz
Expand All @@ -157,11 +157,11 @@ libgsf_FILE := libgsf-$(libgsf_VERSION).tar.xz
libgsf_URL := https://download.gnome.org/sources/libgsf/$(call SHORT_PKG_VERSION,libgsf)/$(libgsf_FILE)

# upstream version is 1.15.4
cairo_VERSION := 1.15.14
cairo_CHECKSUM := 16566b6c015a761bb0b7595cf879b77f8de85f90b443119083c4c2769b93298d
cairo_VERSION := 1.16.0
cairo_CHECKSUM := 5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331
cairo_SUBDIR := cairo-$(cairo_VERSION)
cairo_FILE := cairo-$(cairo_VERSION).tar.xz
cairo_URL := https://cairographics.org/snapshots/$(cairo_FILE)
cairo_URL := https://cairographics.org/releases/$(cairo_FILE)

# zlib will make libzlib.dll, but we want libz.dll so we must
# patch CMakeLists.txt
Expand Down Expand Up @@ -223,6 +223,7 @@ poppler_DEPS := cc cairo libjpeg-turbo freetype glib openjpeg lcms li
libwebp_DEPS := cc gettext giflib libjpeg-turbo tiff libpng
cairo_DEPS := cc fontconfig freetype-bootstrap glib libpng pixman
librsvg_DEPS := cc cairo gdk-pixbuf glib libcroco libgsf pango
fribidi_DEPS := $(filter-out glib,$(fribidi_DEPS))

## Override build scripts

Expand Down Expand Up @@ -286,7 +287,6 @@ endef
define imagemagick_BUILD
cd '$(BUILD_DIR)' && $(SOURCE_DIR)/configure \
$(MXE_CONFIGURE_OPTS) \
--without-threads \
--without-x \
--without-lzma \
--without-modules \
Expand Down Expand Up @@ -331,6 +331,15 @@ define pango_BUILD
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' install $(MXE_DISABLE_PROGRAMS)
endef

# glib dependency was completely removed.
define fribidi_BUILD
cd '$(BUILD_DIR)' && $(SOURCE_DIR)/configure \
$(MXE_CONFIGURE_OPTS) \
--disable-debug \
--disable-deprecated
$(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' install $(MXE_DISABLE_PROGRAMS)
endef

# compile with the Rust toolchain
define librsvg_BUILD
cd '$(SOURCE_DIR)' && autoreconf -fi -I'$(PREFIX)/$(TARGET)/share/aclocal'
Expand Down Expand Up @@ -482,7 +491,6 @@ define cairo_BUILD
--enable-ft \
--enable-pdf \
--enable-svg \
--disable-pthread \
--without-x \
CFLAGS="$(CFLAGS) $(if $(BUILD_STATIC),-DCAIRO_WIN32_STATIC_BUILD)" \
LIBS="-lmsimg32 -lgdi32 `$(TARGET)-pkg-config pixman-1 --libs`"
Expand Down
2 changes: 1 addition & 1 deletion 8.7/variables.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

vips_package=vips
vips_version=8.7
vips_micro_version=0
vips_micro_version=1

# Do we need a slim build?
slim_build=false
Expand Down
4 changes: 2 additions & 2 deletions 8.7/vips-all.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ 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.7.0
$(PKG)_CHECKSUM := c4473ea3fd90654a39076f896828fc67c9c9800d77ba643ea58454f31a340898
$(PKG)_VERSION := 8.7.1
$(PKG)_CHECKSUM := 1ab080fc7970e6f0a16b1499e44628ea55f80d34c991f5c015d21ede2e486bf0
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/vips-[0-9]*.patch)))
$(PKG)_GH_CONF := libvips/libvips/releases/download,v
$(PKG)_SUBDIR := $(subst -all,,$(PKG))-$($(PKG)_VERSION)
Expand Down
4 changes: 2 additions & 2 deletions 8.7/vips-web.mk
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ 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.7.0
$(PKG)_CHECKSUM := c4473ea3fd90654a39076f896828fc67c9c9800d77ba643ea58454f31a340898
$(PKG)_VERSION := 8.7.1
$(PKG)_CHECKSUM := 1ab080fc7970e6f0a16b1499e44628ea55f80d34c991f5c015d21ede2e486bf0
$(PKG)_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/vips-[0-9]*.patch)))
$(PKG)_GH_CONF := libvips/libvips/releases/download,v
$(PKG)_SUBDIR := $(subst -web,,$(PKG))-$($(PKG)_VERSION)
Expand Down
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ Experiment with building a libvips binary for Windows with [MXE](https://github.
## libvips-web dependencies
| Dependency | Version | Used under the terms of |
|-----------------|-----------|---------------------------------|
| [cairo] | 1.15.14 | Mozilla Public License 2.0 |
| [cairo] | 1.16.0 | Mozilla Public License 2.0 |
| [expat] | 2.2.6 | MIT Licence |
| [fontconfig] | 2.13.1 | [fontconfig Licence] (BSD-like) |
| [freetype] | 2.9.1 | [freetype Licence] (BSD-like) |
| [fribidi] | 0.19.7 | LGPLv3 |
| [fribidi] | 1.0.5 | LGPLv3 |
| [gdk-pixbuf] | 2.36.12 | LGPLv3 |
| [gettext] | 0.19.8.1 | LGPLv3 |
| [giflib] | 5.1.4 | MIT Licence |
| [glib] | 2.57.2 | LGPLv3 |
| [harfbuzz] | 1.9.0 | MIT Licence |
| [glib] | 2.58.1 | LGPLv3 |
| [harfbuzz] | 2.1.0 | MIT Licence |
| [lcms] | 2.9 | MIT Licence |
| [libcroco] | 0.6.12 | LGPLv3 |
| [libexif] | 0.6.21 | LGPLv3 |
Expand All @@ -23,9 +23,9 @@ Experiment with building a libvips binary for Windows with [MXE](https://github.
| [libiconv] | 1.15 | LGPLv3 |
| [libjpeg-turbo] | 2.0.0 | [zlib License, IJG License] |
| [libpng] | 1.6.35 | [libpng License] |
| [librsvg] | 2.44.4 | LGPLv3 |
| [librsvg] | 2.44.8 | LGPLv3 |
| [libtiff] | 4.0.9 | [libtiff License] (BSD-like) |
| [libvips] | 8.7.0 | LGPLv3 |
| [libvips] | 8.7.1 | LGPLv3 |
| [libwebp] | 1.0.0 | New BSD License |
| [libxml2] | 2.9.8 | MIT Licence |
| [orc] | 0.4.28 | BSD 2-Clause |
Expand Down Expand Up @@ -58,7 +58,7 @@ Experiment with building a libvips binary for Windows with [MXE](https://github.
[librsvg]: https://github.com/GNOME/librsvg
[libtiff]: http://www.simplesystems.org/libtiff/
[libtiff License]: http://www.simplesystems.org/libtiff/misc.html
[libvips]: https://github.com/jcupitt/libvips
[libvips]: https://github.com/libvips/libvips
[libwebp]: https://github.com/webmproject/libwebp
[libxml2]: https://github.com/GNOME/libxml2
[orc]: https://github.com/GStreamer/orc
Expand All @@ -75,14 +75,14 @@ Same as libvips-web + these extra dependencies:
| [cfitsio] | 3.450 | BSD-like |
| [fftw] | 3.3.8 | GPLv2 |
| [hdf5] | 1.8.12 | BSD-like |
| [imagemagick] | 6.9.10-12 | [ImageMagick License] (GPL-like) |
| [matio] | 1.5.12 | BSD 2-Clause |
| [imagemagick] | 6.9.10-14 | [ImageMagick License] (GPL-like) |
| [matio] | 1.5.13 | BSD 2-Clause |
| [nifticlib] | 2.0.0 | Public domain |
| [openexr] | 2.3.0 | BSD 3-Clause |
| [openjpeg] | 2.3.0 | BSD 2-Clause |
| [openslide] | 3.4.1 | LGPLv3 |
| [poppler] | 0.69.0 | GPLv2 |
| [sqlite] | 3.25.1 | Public domain |
| [poppler] | 0.71.0 | GPLv2 |
| [sqlite] | 3.25.2 | Public domain |

[cfitsio]: https://heasarc.gsfc.nasa.gov/fitsio/
[hdf5]: https://www.hdfgroup.org/solutions/hdf5/
Expand Down
10 changes: 7 additions & 3 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,15 @@ deps="${2:-all}"
# ARCH='i686'
arch="${3:-x86_64}"

# Note: librsvg can't be build statically (it's broken on 2.42, stick
# with 2.40.20 if we need to build statically).
# Note: librsvg can't be built statically (it's broken on 2.42, stick
# with 2.40.20 if we need to build it statically).
# See: https://gitlab.gnome.org/GNOME/librsvg/issues/159
# target="$arch-w64-mingw32.static"
target="$arch-w64-mingw32.shared"
# Note 2: .posix enables C++11/C11 multithreading features by
# depending on libwinpthreads (will distribute an additional DLL).
# Note 3: Poppler can't be built without .posix (since version 0.70)
# see: https://cgit.freedesktop.org/poppler/poppler/commit/poppler/Annot.cc?id=e5aff4b4fcbd3e1cbdd7d6329c00eee10b36e94d
target="$arch-w64-mingw32.shared.posix"

if ! type docker > /dev/null; then
echo "Please install docker"
Expand Down

0 comments on commit cbd9dab

Please sign in to comment.