mirror of
https://github.com/lovell/sharp.git
synced 2026-02-04 13:46:19 +01:00
Upgrade libvips dependency and packaging to v8.5.1
This commit is contained in:
@@ -23,6 +23,11 @@ if ! type docker >/dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Update base images
|
||||
for baseimage in debian:wheezy debian:jessie debian:stretch socialdefect/raspbian-jessie-core; do
|
||||
docker pull $baseimage
|
||||
done
|
||||
|
||||
# Windows (x64)
|
||||
if [ $PLATFORM = "all" ] || [ $PLATFORM = "win32-x64" ]; then
|
||||
echo "Building win32-x64..."
|
||||
|
||||
@@ -16,25 +16,26 @@ export CFLAGS="${FLAGS}"
|
||||
export CXXFLAGS="${FLAGS}"
|
||||
|
||||
# Dependency version numbers
|
||||
VERSION_ZLIB=1.2.10
|
||||
VERSION_ZLIB=1.2.11
|
||||
VERSION_FFI=3.2.1
|
||||
VERSION_GLIB=2.50.1
|
||||
VERSION_GLIB=2.52.0
|
||||
VERSION_XML2=2.9.4
|
||||
VERSION_GSF=1.14.40
|
||||
VERSION_GSF=1.14.41
|
||||
VERSION_EXIF=0.6.21
|
||||
VERSION_LCMS2=2.8
|
||||
VERSION_JPEG=1.5.1
|
||||
VERSION_PNG16=1.6.28
|
||||
VERSION_WEBP=0.5.1
|
||||
VERSION_TIFF=4.0.6
|
||||
VERSION_WEBP=0.6.0
|
||||
VERSION_TIFF=4.0.7
|
||||
VERSION_ORC=0.4.26
|
||||
VERSION_GDKPIXBUF=2.36.0
|
||||
VERSION_FREETYPE=2.7
|
||||
VERSION_GDKPIXBUF=2.36.6
|
||||
VERSION_FREETYPE=2.7.1
|
||||
VERSION_EXPAT=2.2.0
|
||||
VERSION_FONTCONFIG=2.12.1
|
||||
VERSION_HARFBUZZ=1.3.2
|
||||
VERSION_HARFBUZZ=1.4.5
|
||||
VERSION_PIXMAN=0.34.0
|
||||
VERSION_CAIRO=1.14.6
|
||||
VERSION_PANGO=1.40.3
|
||||
VERSION_CAIRO=1.14.8
|
||||
VERSION_PANGO=1.40.4
|
||||
VERSION_CROCO=0.6.11
|
||||
VERSION_SVG=2.40.16
|
||||
VERSION_GIF=5.1.4
|
||||
@@ -56,11 +57,12 @@ cd ${DEPS}/ffi
|
||||
make install-strip
|
||||
|
||||
mkdir ${DEPS}/glib
|
||||
curl -Ls https://download.gnome.org/sources/glib/2.50/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1
|
||||
curl -Ls https://download.gnome.org/sources/glib/2.52/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1
|
||||
cd ${DEPS}/glib
|
||||
echo glib_cv_stack_grows=no >>glib.cache
|
||||
echo glib_cv_uscore=no >>glib.cache
|
||||
./configure --cache-file=glib.cache --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking --with-pcre=internal --disable-libmount
|
||||
./configure --cache-file=glib.cache --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking \
|
||||
--with-pcre=internal --disable-libmount
|
||||
make install-strip
|
||||
|
||||
mkdir ${DEPS}/xml2
|
||||
@@ -87,6 +89,9 @@ make install-strip
|
||||
mkdir ${DEPS}/lcms2
|
||||
curl -Ls http://${SOURCEFORGE_MIRROR}.dl.sourceforge.net/project/lcms/lcms/${VERSION_LCMS2}/lcms2-${VERSION_LCMS2}.tar.gz | tar xzC ${DEPS}/lcms2 --strip-components=1
|
||||
cd ${DEPS}/lcms2
|
||||
# Apply patches for lcms2 vulnerabilities reported since v2.8
|
||||
VERSION_LCMS2_GIT_MASTER_SHA=$(curl -Ls https://api.github.com/repos/mm2/Little-CMS/git/refs/heads/master | jq -r '.object.sha' | head -c7)
|
||||
curl -Ls https://github.com/mm2/Little-CMS/compare/lcms2.8...master.patch | patch -p1 -t || true
|
||||
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking
|
||||
make install-strip
|
||||
|
||||
@@ -106,15 +111,16 @@ make install-strip
|
||||
mkdir ${DEPS}/webp
|
||||
curl -Ls http://downloads.webmproject.org/releases/webp/libwebp-${VERSION_WEBP}.tar.gz | tar xzC ${DEPS}/webp --strip-components=1
|
||||
cd ${DEPS}/webp
|
||||
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking --disable-neon
|
||||
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking \
|
||||
--disable-neon --enable-libwebpmux
|
||||
make install-strip
|
||||
|
||||
mkdir ${DEPS}/tiff
|
||||
curl -Ls http://download.osgeo.org/libtiff/tiff-${VERSION_TIFF}.tar.gz | tar xzC ${DEPS}/tiff --strip-components=1
|
||||
cd ${DEPS}/tiff
|
||||
# Apply patches for various libtiff security vulnerabilities reported since v4.0.6
|
||||
# Apply patches for libtiff vulnerabilities reported since v4.0.7
|
||||
VERSION_TIFF_GIT_MASTER_SHA=$(curl -Ls https://api.github.com/repos/vadz/libtiff/git/refs/heads/master | jq -r '.object.sha' | head -c7)
|
||||
curl -Ls https://github.com/vadz/libtiff/compare/Release-v4-0-6...master.patch | patch -p1 -t || true
|
||||
curl -Ls https://github.com/vadz/libtiff/compare/Release-v4-0-7...master.patch | patch -p1 -t || true
|
||||
if [ -n "${CHOST}" ]; then autoreconf -fiv; fi
|
||||
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking --disable-mdi --disable-pixarlog --disable-cxx
|
||||
make install-strip
|
||||
@@ -130,8 +136,11 @@ rm -rf liborc-test-*
|
||||
mkdir ${DEPS}/gdkpixbuf
|
||||
curl -Ls https://download.gnome.org/sources/gdk-pixbuf/2.36/gdk-pixbuf-${VERSION_GDKPIXBUF}.tar.xz | tar xJC ${DEPS}/gdkpixbuf --strip-components=1
|
||||
cd ${DEPS}/gdkpixbuf
|
||||
touch gdk-pixbuf/loaders.cache
|
||||
LD_LIBRARY_PATH=${TARGET}/lib \
|
||||
./configure --cache-file=gdkpixbuf.cache --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking --disable-introspection --disable-modules --disable-gio-sniffing --without-libtiff --without-gdiplus --with-included-loaders=png,jpeg
|
||||
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking \
|
||||
--disable-introspection --disable-modules --disable-gio-sniffing \
|
||||
--without-libtiff --without-gdiplus --with-included-loaders=png,jpeg
|
||||
make install-strip
|
||||
|
||||
mkdir ${DEPS}/freetype
|
||||
@@ -140,10 +149,17 @@ cd ${DEPS}/freetype
|
||||
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static
|
||||
make install
|
||||
|
||||
mkdir ${DEPS}/expat
|
||||
curl -Ls http://${SOURCEFORGE_MIRROR}.dl.sourceforge.net/project/expat/expat/${VERSION_EXPAT}/expat-${VERSION_EXPAT}.tar.bz2 | tar xjC ${DEPS}/expat --strip-components=1
|
||||
cd ${DEPS}/expat
|
||||
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static
|
||||
make install
|
||||
|
||||
mkdir ${DEPS}/fontconfig
|
||||
curl -Ls https://www.freedesktop.org/software/fontconfig/release/fontconfig-${VERSION_FONTCONFIG}.tar.bz2 | tar xjC ${DEPS}/fontconfig --strip-components=1
|
||||
cd ${DEPS}/fontconfig
|
||||
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking --enable-libxml2 --sysconfdir=/etc
|
||||
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking \
|
||||
--with-expat-includes=${TARGET}/include --with-expat-lib=${TARGET}/lib --sysconfdir=/etc
|
||||
make install-strip
|
||||
|
||||
mkdir ${DEPS}/harfbuzz
|
||||
@@ -191,7 +207,7 @@ cd ${DEPS}/gif
|
||||
make install-strip
|
||||
|
||||
mkdir ${DEPS}/vips
|
||||
curl -Ls http://www.vips.ecs.soton.ac.uk/supported/8.4/vips-${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1
|
||||
curl -Ls https://github.com/jcupitt/libvips/releases/download/v${VERSION_VIPS}/vips-${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1
|
||||
cd ${DEPS}/vips
|
||||
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking \
|
||||
--disable-debug --disable-introspection --without-python --without-fftw \
|
||||
@@ -212,6 +228,7 @@ echo "{\n\
|
||||
\"cairo\": \"${VERSION_CAIRO}\",\n\
|
||||
\"croco\": \"${VERSION_CROCO}\",\n\
|
||||
\"exif\": \"${VERSION_EXIF}\",\n\
|
||||
\"expat\": \"${VERSION_EXPAT}\",\n\
|
||||
\"ffi\": \"${VERSION_FFI}\",\n\
|
||||
\"fontconfig\": \"${VERSION_FONTCONFIG}\",\n\
|
||||
\"freetype\": \"${VERSION_FREETYPE}\",\n\
|
||||
@@ -221,7 +238,7 @@ echo "{\n\
|
||||
\"gsf\": \"${VERSION_GSF}\",\n\
|
||||
\"harfbuzz\": \"${VERSION_HARFBUZZ}\",\n\
|
||||
\"jpeg\": \"${VERSION_JPEG}\",\n\
|
||||
\"lcms\": \"${VERSION_LCMS2}\",\n\
|
||||
\"lcms\": \"${VERSION_LCMS2}-${VERSION_LCMS2_GIT_MASTER_SHA}\",\n\
|
||||
\"orc\": \"${VERSION_ORC}\",\n\
|
||||
\"pango\": \"${VERSION_PANGO}\",\n\
|
||||
\"pixman\": \"${VERSION_PIXMAN}\",\n\
|
||||
|
||||
@@ -8,14 +8,11 @@ curl -L -O https://github.com/lovell/build-win64/releases/download/v${VERSION_VI
|
||||
unzip vips-dev-w64-web-${VERSION_VIPS}.zip
|
||||
|
||||
# Clean and zip
|
||||
cd /vips/vips-dev-8.4
|
||||
cd /vips/vips-dev-8.5
|
||||
rm bin/libvipsCC-42.dll bin/libvips-cpp-42.dll bin/libgsf-win32-1-114.dll
|
||||
cp bin/*.dll lib/
|
||||
cp -r lib64/* lib/
|
||||
|
||||
# Temp patch for __declspec ordering
|
||||
curl -L -o include/vips/VImage8.h https://raw.githubusercontent.com/lovell/libvips/e1aef0445bf123d2de000bc7f2ef97b9f788eea0/cplusplus/include/vips/VImage8.h
|
||||
|
||||
echo "Creating tarball"
|
||||
tar czf /packaging/libvips-${VERSION_VIPS}-${PLATFORM}.tar.gz include lib/glib-2.0 lib/libvips.lib lib/libglib-2.0.lib lib/libgobject-2.0.lib lib/*.dll
|
||||
echo "Shrinking tarball"
|
||||
|
||||
@@ -9,7 +9,7 @@ RUN \
|
||||
apt-get install -y curl && \
|
||||
dpkg --add-architecture arm64 && \
|
||||
apt-get update && \
|
||||
apt-get install -y crossbuild-essential-arm64 autoconf libtool nasm gtk-doc-tools texinfo advancecomp libglib2.0-dev jq
|
||||
apt-get install -y crossbuild-essential-arm64 autoconf libtool nasm gtk-doc-tools texinfo advancecomp libglib2.0-dev jq gettext intltool autopoint
|
||||
|
||||
# Compiler settings
|
||||
ENV \
|
||||
|
||||
@@ -6,15 +6,14 @@ if ! type docker >/dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
version_node=6.3.0
|
||||
|
||||
test="npm run clean; npm install --unsafe-perm; npm test"
|
||||
|
||||
# Debian 7, 8
|
||||
# Ubuntu 14.04
|
||||
for dist in wheezy jessie trusty; do
|
||||
# Ubuntu 14.04, 16.04
|
||||
for dist in debian:jessie debian:stretch ubuntu:trusty ubuntu:xenial; do
|
||||
echo "Testing $dist..."
|
||||
if docker run -i -t --rm -v $PWD:/v -e "NODE_ENV=development" nodesource/$dist:$version_node >packaging/$dist.log 2>&1 sh -c "cd /v; ./packaging/test/debian.sh; $test";
|
||||
docker pull $dist
|
||||
if docker run -i -t --rm -v $PWD:/v $dist >packaging/$dist.log 2>&1 sh -c "cd /v; ./packaging/test/debian.sh; $test";
|
||||
then echo "$dist OK"
|
||||
else echo "$dist fail" && cat packaging/$dist.log
|
||||
fi
|
||||
@@ -22,35 +21,16 @@ done
|
||||
|
||||
# Centos 7
|
||||
echo "Testing centos7..."
|
||||
if docker run -i -t --rm -v $PWD:/v -e "NODE_ENV=development" nodesource/centos7:$version_node >packaging/$dist.log 2>&1 sh -c "cd /v; $test";
|
||||
docker pull centos:7
|
||||
if docker run -i -t --rm -v $PWD:/v centos:7 >packaging/centos7.log 2>&1 sh -c "cd /v; ./packaging/test/centos.sh; $test";
|
||||
then echo "centos7 OK"
|
||||
else echo "centos7 fail" && cat packaging/$dist.log
|
||||
else echo "centos7 fail" && cat packaging/centos7.log
|
||||
fi
|
||||
|
||||
# Fedora 22
|
||||
echo "Testing fedora22..."
|
||||
if docker run -i -t --rm -v $PWD:/v -e "NODE_ENV=development" nodesource/fedora22:$version_node >packaging/$dist.log 2>&1 sh -c "cd /v; $test";
|
||||
then echo "fedora22 OK"
|
||||
else echo "fedora22 fail" && cat packaging/$dist.log
|
||||
fi
|
||||
|
||||
# openSUSE 13.2
|
||||
echo "Testing opensuse..."
|
||||
if docker run -i -t --rm -v $PWD:/v opensuse:13.2 >packaging/opensuse.log 2>&1 /bin/sh -c "cd /v; ./packaging/test/opensuse.sh; $test";
|
||||
then echo "opensuse OK"
|
||||
else echo "opensuse fail" && cat packaging/opensuse.log
|
||||
fi
|
||||
|
||||
# Archlinux 2015.06.01
|
||||
# Archlinux latest
|
||||
echo "Testing archlinux..."
|
||||
docker pull pritunl/archlinux:latest
|
||||
if docker run -i -t --rm -v $PWD:/v pritunl/archlinux:latest >packaging/archlinux.log 2>&1 sh -c "cd /v; ./packaging/test/archlinux.sh; $test";
|
||||
then echo "archlinux OK"
|
||||
else echo "archlinux fail" && cat packaging/archlinux.log
|
||||
fi
|
||||
|
||||
# Alpine
|
||||
echo "Testing alpine..."
|
||||
if docker run -i -t --rm -v $PWD:/v -e "SHARP_TEST_WITHOUT_CACHE=0" alpine:edge >packaging/alpine.log 2>&1 sh -c "cd /v; ./packaging/test/alpine.sh; $test";
|
||||
then echo "alpine OK"
|
||||
else echo "alpine fail" && cat packaging/alpine.log
|
||||
fi
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Install build dependencies
|
||||
apk add --update make gcc g++ python nodejs
|
||||
|
||||
# Install libvips from aports/testing
|
||||
apk add --update --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing vips-dev
|
||||
4
packaging/test/centos.sh
Executable file
4
packaging/test/centos.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
curl -sL https://rpm.nodesource.com/setup_6.x | bash -
|
||||
yum install -y gcc-c++ make nodejs
|
||||
@@ -1,5 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Install pkg-config on Debian/Ubuntu
|
||||
apt-get update
|
||||
apt-get install -y pkg-config
|
||||
apt-get install -y build-essential python pkg-config curl
|
||||
curl -sL https://deb.nodesource.com/setup_6.x | bash -
|
||||
apt-get install -y nodejs
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Install Node.js on openSUSE 13.2
|
||||
zypper addrepo http://download.opensuse.org/repositories/devel:languages:nodejs/openSUSE_13.2/devel:languages:nodejs.repo
|
||||
zypper --gpg-auto-import-keys refresh
|
||||
zypper --non-interactive install gcc-c++ make nodejs-devel npm
|
||||
npm install -g npm
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM debian:jessie
|
||||
FROM debian:stretch
|
||||
MAINTAINER Lovell Fuller <npm@lovell.info>
|
||||
|
||||
# Create Debian-based container suitable for post-processing Windows x64 binaries
|
||||
|
||||
Reference in New Issue
Block a user