mirror of
https://github.com/lovell/sharp.git
synced 2026-02-04 05:36:18 +01:00
Switch from libvips' C to C++ binding
Requires upgrade to libvips 8.2.1
This commit is contained in:
@@ -28,7 +28,7 @@ VERSION_WEBP=0.5.0
|
||||
VERSION_TIFF=4.0.6
|
||||
VERSION_MAGICK=6.9.2-10
|
||||
VERSION_ORC=0.4.24
|
||||
VERSION_VIPS=8.2.0
|
||||
VERSION_VIPS=8.2.1
|
||||
|
||||
mkdir ${DEPS}/zlib
|
||||
curl -Ls http://zlib.net/zlib-${VERSION_ZLIB}.tar.xz | tar xJC ${DEPS}/zlib --strip-components=1
|
||||
@@ -106,11 +106,11 @@ cd ${DEPS}/vips
|
||||
--with-jpeg-includes=${TARGET}/include --with-jpeg-libraries=${TARGET}/lib \
|
||||
&& make install-strip
|
||||
|
||||
# Remove the C++ bindings
|
||||
# Remove the old C++ bindings
|
||||
cd ${TARGET}/include
|
||||
rm -rf vips/vipsc++.h vips/vipscpp.h vips/V*.h
|
||||
rm -rf vips/vipsc++.h vips/vipscpp.h
|
||||
cd ${TARGET}/lib
|
||||
rm -rf pkgconfig .libs *.la libvipsCC* libvips-cpp.*
|
||||
rm -rf pkgconfig .libs *.la libvipsCC*
|
||||
|
||||
# Create JSON file of version numbers
|
||||
cd ${TARGET}
|
||||
|
||||
@@ -13,14 +13,14 @@ fi
|
||||
|
||||
docker build -t vips-dev-win win
|
||||
WIN_CONTAINER_ID=$(docker run -d vips-dev-win)
|
||||
docker cp $WIN_CONTAINER_ID:/libvips-8.2.0-win.tar.gz .
|
||||
docker cp $WIN_CONTAINER_ID:/libvips-8.2.1-win.tar.gz .
|
||||
docker rm $WIN_CONTAINER_ID
|
||||
|
||||
# Linux
|
||||
|
||||
docker build -t vips-dev-lin lin
|
||||
LIN_CONTAINER_ID=$(docker run -d vips-dev-lin)
|
||||
docker cp $LIN_CONTAINER_ID:/libvips-8.2.0-lin.tar.gz .
|
||||
docker cp $LIN_CONTAINER_ID:/libvips-8.2.1-lin.tar.gz .
|
||||
docker rm $LIN_CONTAINER_ID
|
||||
|
||||
# Checksums
|
||||
|
||||
@@ -29,7 +29,7 @@ ENV VERSION_ZLIB=1.2.8 \
|
||||
VERSION_TIFF=4.0.6 \
|
||||
VERSION_MAGICK=6.9.2-10 \
|
||||
VERSION_ORC=0.4.24 \
|
||||
VERSION_VIPS=8.2.0
|
||||
VERSION_VIPS=8.2.1
|
||||
|
||||
RUN mkdir ${DEPS}/zlib
|
||||
RUN curl -Ls http://zlib.net/zlib-${VERSION_ZLIB}.tar.xz | tar xJC ${DEPS}/zlib --strip-components=1
|
||||
@@ -107,11 +107,11 @@ RUN ./configure --prefix=${TARGET} --enable-shared --disable-static --disable-de
|
||||
--with-jpeg-includes=${TARGET}/include --with-jpeg-libraries=${TARGET}/lib \
|
||||
&& make install-strip
|
||||
|
||||
# Remove the C++ bindings
|
||||
# Remove the old C++ bindings
|
||||
WORKDIR ${TARGET}/include
|
||||
RUN rm -rf vips/vipsc++.h vips/vipscpp.h vips/V*.h
|
||||
RUN rm -rf vips/vipsc++.h vips/vipscpp.h
|
||||
WORKDIR ${TARGET}/lib
|
||||
RUN rm -rf pkgconfig .libs *.la libvipsCC* libvips-cpp.*
|
||||
RUN rm -rf pkgconfig .libs *.la libvipsCC*
|
||||
|
||||
# Create JSON file of version numbers
|
||||
WORKDIR ${TARGET}
|
||||
|
||||
@@ -6,12 +6,18 @@ RUN apt-get update && apt-get install -y curl zip
|
||||
# Fetch and unzip
|
||||
RUN mkdir /vips
|
||||
WORKDIR /vips
|
||||
RUN curl -O http://www.vips.ecs.soton.ac.uk/supported/8.2/win32/vips-dev-w64-8.2.zip
|
||||
RUN unzip vips-dev-w64-8.2.zip
|
||||
RUN curl -O http://www.vips.ecs.soton.ac.uk/supported/8.2/win32/vips-dev-w64-8.2.1.zip
|
||||
RUN unzip vips-dev-w64-8.2.1.zip
|
||||
|
||||
# Clean and zip
|
||||
WORKDIR /vips/vips-dev-8.2
|
||||
RUN rm bin/libvipsCC-42.dll bin/libvips-cpp-42.dll bin/libgsf-win32-1-114.dll bin/libstdc++-6.dll
|
||||
RUN cp bin/*.dll lib/
|
||||
RUN cp -r lib64/* lib/
|
||||
RUN GZIP=-9 tar czf /libvips-8.2.0-win.tar.gz include lib/glib-2.0 lib/libvips.lib lib/libglib-2.0.lib lib/libgobject-2.0.lib lib/*.dll
|
||||
|
||||
# Temporary workaround until libvips 8.2.2 is released
|
||||
RUN curl -L -o include/vips/VError8.h https://raw.githubusercontent.com/jcupitt/libvips/master/cplusplus/include/vips/VError8.h
|
||||
RUN curl -L -o include/vips/VImage8.h https://raw.githubusercontent.com/jcupitt/libvips/master/cplusplus/include/vips/VImage8.h
|
||||
RUN curl -L -o include/vips/vips8 https://raw.githubusercontent.com/jcupitt/libvips/master/cplusplus/include/vips/vips8
|
||||
|
||||
RUN GZIP=-9 tar czf /libvips-8.2.1-win.tar.gz include lib/glib-2.0 lib/libvips.lib lib/libglib-2.0.lib lib/libgobject-2.0.lib lib/*.dll
|
||||
|
||||
Reference in New Issue
Block a user