From 0b6282295d82206ebacd16b9e78e049988aee44c Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 8 Aug 2021 11:28:56 +0100 Subject: [PATCH 001/327] Docs: Windows builds use a shared container --- README.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a0dee730..31474e1a 100644 --- a/README.md +++ b/README.md @@ -32,11 +32,7 @@ the same shared libraries within multiple containers. ### Windows The output of libvips' [build-win64-mxe](https://github.com/libvips/build-win64-mxe) -"web" target is [post-processed](build/win.sh) within multiple containers. - -* [win32-ia32](win32-ia32/Dockerfile) -* [win32-x64](win32-x64/Dockerfile) -* [win32-arm64v8](win32-arm64v8/Dockerfile) +static "web" releases are [post-processed](build/win.sh) within a [container](win32/Dockerfile). ### macOS @@ -46,7 +42,7 @@ The dylib files are compiled within the same build script as Linux. * x64 (native) * ARM64 (cross-compiled) -Dependency paths are modified to be the relative `@rpath` using `install_name_tool`. +Dependency paths are modified to use the relative `@rpath` with `install_name_tool`. ## Licences From a6ec7e68d3a158e075ea78ed03dc1ea975f2ae57 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 8 Aug 2021 11:38:30 +0100 Subject: [PATCH 002/327] Rename master branch as main --- THIRD-PARTY-NOTICES.md | 2 +- build/lin.sh | 2 +- build/win.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 2b9be5f8..142ea607 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -8,7 +8,7 @@ used under the terms of the following licences: | aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) | | cairo | Mozilla Public License 2.0 | | expat | MIT Licence | -| fontconfig | [fontconfig Licence](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/master/COPYING) (BSD-like) | +| fontconfig | [fontconfig Licence](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) | | freetype | [freetype Licence](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) | | fribidi | LGPLv3 | | gdk-pixbuf | LGPLv3 | diff --git a/build/lin.sh b/build/lin.sh index a4fc7863..9bdafcba 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -560,7 +560,7 @@ printf "{\n\ printf "\"${PLATFORM}\"" >platform.json # Add third-party notices -$CURL -O https://raw.githubusercontent.com/lovell/sharp-libvips/master/THIRD-PARTY-NOTICES.md +$CURL -O https://raw.githubusercontent.com/lovell/sharp-libvips/main/THIRD-PARTY-NOTICES.md # Create the tarball ls -al lib diff --git a/build/win.sh b/build/win.sh index ffa9a720..58659d63 100755 --- a/build/win.sh +++ b/build/win.sh @@ -37,7 +37,7 @@ cp bin/*.dll lib/ printf "\"${PLATFORM}\"" >platform.json # Add third-party notices -$CURL -O https://raw.githubusercontent.com/lovell/sharp-libvips/master/THIRD-PARTY-NOTICES.md +$CURL -O https://raw.githubusercontent.com/lovell/sharp-libvips/main/THIRD-PARTY-NOTICES.md echo "Creating tarball" tar czf /packaging/libvips-${VERSION_VIPS}-${PLATFORM}.tar.gz \ From 2ba64bd05d0ae3f7d71e7bd1ff119dade3b29f17 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 15 Aug 2021 07:18:00 +0100 Subject: [PATCH 003/327] Bump deps: pango, webp --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 9bdafcba..2e8c6949 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -108,7 +108,7 @@ VERSION_MOZJPEG=4.0.3 VERSION_PNG16=1.6.37 VERSION_SPNG=0.6.3 VERSION_IMAGEQUANT=2.4.1 -VERSION_WEBP=1.2.0 +VERSION_WEBP=1.2.1 VERSION_TIFF=4.3.0 VERSION_ORC=0.4.32 VERSION_PROXY_LIBINTL=ef9fe6d @@ -120,7 +120,7 @@ VERSION_HARFBUZZ=2.8.2 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.10 -VERSION_PANGO=1.48.7 +VERSION_PANGO=1.48.8 VERSION_SVG=2.51.4 VERSION_AOM=3.1.2 VERSION_HEIF=1.12.0 From 6008670b8f38e7d700d682cc359eeff15160f576 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 15 Aug 2021 07:18:48 +0100 Subject: [PATCH 004/327] Upgrade to libvips v8.11.3 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 762ed916..dba04c1e 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.11.2 +8.11.3 From b717f33f02a8ffec8157374e0803c12056ec10f8 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 2 Oct 2021 20:16:47 +0100 Subject: [PATCH 005/327] Bump deps: glib, exif, spng, harfbuzz, fribidi, pango, svg --- build/lin.sh | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 2e8c6949..b7ae2ad6 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -99,14 +99,14 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.5 VERSION_FFI=3.4.2 -VERSION_GLIB=2.69.1 +VERSION_GLIB=2.70.0 VERSION_XML2=2.9.12 VERSION_GSF=1.14.47 -VERSION_EXIF=0.6.22 +VERSION_EXIF=0.6.23 VERSION_LCMS2=2.12 VERSION_MOZJPEG=4.0.3 VERSION_PNG16=1.6.37 -VERSION_SPNG=0.6.3 +VERSION_SPNG=0.7.0 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.2.1 VERSION_TIFF=4.3.0 @@ -116,12 +116,12 @@ VERSION_GDKPIXBUF=2.42.6 VERSION_FREETYPE=2.10.4 VERSION_EXPAT=2.4.1 VERSION_FONTCONFIG=2.13.93 -VERSION_HARFBUZZ=2.8.2 +VERSION_HARFBUZZ=3.0.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 -VERSION_FRIBIDI=1.0.10 -VERSION_PANGO=1.48.8 -VERSION_SVG=2.51.4 +VERSION_FRIBIDI=1.0.11 +VERSION_PANGO=1.49.1 +VERSION_SVG=2.52.0 VERSION_AOM=3.1.2 VERSION_HEIF=1.12.0 @@ -244,9 +244,8 @@ sed -i'.bak' "s/ doc tools tests thumbnailer python//" Makefile.in make install-strip mkdir ${DEPS}/exif -$CURL https://github.com/libexif/libexif/releases/download/libexif-${VERSION_EXIF//./_}-release/libexif-${VERSION_EXIF}.tar.xz | tar xJC ${DEPS}/exif --strip-components=1 +$CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libexif-${VERSION_EXIF}.tar.xz | tar xJC ${DEPS}/exif --strip-components=1 cd ${DEPS}/exif -autoreconf -fiv ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-nls --without-libiconv-prefix --without-libintl-prefix \ CPPFLAGS="-DNO_VERBOSE_TAG_DATA" @@ -470,7 +469,7 @@ local:\n\ };" > vips.map PKG_CONFIG="pkg-config --static" CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" ./configure \ --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking \ - --disable-debug --disable-deprecated --disable-introspection --disable-modules \ + --disable-debug --disable-deprecated --disable-introspection --disable-modules --without-doxygen \ --without-analyze --without-cfitsio --without-fftw --without-libjxl --without-libopenjp2 \ --without-magick --without-matio --without-nifti --without-OpenEXR \ --without-openslide --without-pdfium --without-poppler --without-ppm --without-radiance From 3f71534be7a828c9c99b2e0505eeffc7fb31a54d Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 5 Oct 2021 21:19:52 +0100 Subject: [PATCH 006/327] Bump deps: svg --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index b7ae2ad6..6bf83c64 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -121,7 +121,7 @@ VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 VERSION_PANGO=1.49.1 -VERSION_SVG=2.52.0 +VERSION_SVG=2.52.1 VERSION_AOM=3.1.2 VERSION_HEIF=1.12.0 From 4591b30616d6472e537a89994853dfd3c21eaf2c Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 6 Oct 2021 09:53:52 +0100 Subject: [PATCH 007/327] Bump deps: aom --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 6bf83c64..41c8ac8a 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -122,7 +122,7 @@ VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 VERSION_PANGO=1.49.1 VERSION_SVG=2.52.1 -VERSION_AOM=3.1.2 +VERSION_AOM=3.1.3 VERSION_HEIF=1.12.0 # Remove patch version component From c48872f09edd7047c921986cae87fc6c78d914e5 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sat, 9 Oct 2021 14:28:28 +0200 Subject: [PATCH 008/327] Bump deps: freetype (#118) --- build/lin.sh | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 41c8ac8a..4bf12603 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -111,9 +111,9 @@ VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.2.1 VERSION_TIFF=4.3.0 VERSION_ORC=0.4.32 -VERSION_PROXY_LIBINTL=ef9fe6d +VERSION_PROXY_LIBINTL=0.2 VERSION_GDKPIXBUF=2.42.6 -VERSION_FREETYPE=2.10.4 +VERSION_FREETYPE=2.11.0 VERSION_EXPAT=2.4.1 VERSION_FONTCONFIG=2.13.93 VERSION_HARFBUZZ=3.0.0 @@ -161,7 +161,7 @@ version_latest "webp" "$VERSION_WEBP" "1761" version_latest "tiff" "$VERSION_TIFF" "1738" version_latest "orc" "$VERSION_ORC" "2573" version_latest "gdkpixbuf" "$VERSION_GDKPIXBUF" "9533" -version_latest "freetype" "$VERSION_FREETYPE" "854" +#version_latest "freetype" "$VERSION_FREETYPE" "854" # latest version in release monitoring is out of sync version_latest "expat" "$VERSION_EXPAT" "770" #version_latest "fontconfig" "$VERSION_FONTCONFIG" "827" # 2.13.94 fails to build on macOS version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" @@ -195,7 +195,7 @@ if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then mkdir ${DEPS}/proxy-libintl $CURL https://github.com/frida/proxy-libintl/archive/${VERSION_PROXY_LIBINTL}.tar.gz | tar xzC ${DEPS}/proxy-libintl --strip-components=1 cd ${DEPS}/proxy-libintl - LDFLAGS=${LDFLAGS/\$/} meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} + meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} ninja -C _build ninja -C _build install fi @@ -203,7 +203,7 @@ fi mkdir ${DEPS}/zlib-ng $CURL https://github.com/zlib-ng/zlib-ng/archive/${VERSION_ZLIB_NG}.tar.gz | tar xzC ${DEPS}/zlib-ng --strip-components=1 cd ${DEPS}/zlib-ng -CFLAGS="${CFLAGS} -O3" LDFLAGS=${LDFLAGS/\$/} cmake -G"Unix Makefiles" \ +CFLAGS="${CFLAGS} -O3" cmake -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DBUILD_SHARED_LIBS=FALSE -DZLIB_COMPAT=TRUE make install/strip @@ -221,7 +221,7 @@ if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/9cd8625c6374e0d201e6fc56010008dbb64eb8cf/glib-proxy-libintl.patch | patch -p1 fi $CURL https://gist.githubusercontent.com/lovell/7e0ce65249b951d5be400fb275de3924/raw/1a833ef4263271d299587524198b024eb5cc4f34/glib-without-gregex.patch | patch -p1 -LDFLAGS=${LDFLAGS/\$/} meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ +meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=libpcre -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} ninja -C _build ninja -C _build install @@ -262,7 +262,7 @@ $CURL https://storage.googleapis.com/aom-releases/libaom-${VERSION_AOM}.tar.gz | cd ${DEPS}/aom mkdir aom_build cd aom_build -AOM_AS_FLAGS="${FLAGS}" LDFLAGS=${LDFLAGS/\$/} cmake -G"Unix Makefiles" \ +AOM_AS_FLAGS="${FLAGS}" cmake -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=MinSizeRel \ -DBUILD_SHARED_LIBS=FALSE -DENABLE_DOCS=0 -DENABLE_TESTS=0 -DENABLE_TESTDATA=0 -DENABLE_TOOLS=0 -DENABLE_EXAMPLES=0 \ -DCONFIG_PIC=1 -DENABLE_NASM=1 ${WITHOUT_NEON:+-DENABLE_NEON=0} ${DARWIN_ARM:+-DCONFIG_RUNTIME_CPU_DETECT=0} \ @@ -287,7 +287,7 @@ make install-strip mkdir ${DEPS}/jpeg $CURL https://github.com/mozilla/mozjpeg/archive/v${VERSION_MOZJPEG}.tar.gz | tar xzC ${DEPS}/jpeg --strip-components=1 cd ${DEPS}/jpeg -LDFLAGS=${LDFLAGS/\$/} cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=MinSizeRel \ +cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=MinSizeRel \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=${TARGET}/lib \ -DENABLE_STATIC=TRUE -DENABLE_SHARED=FALSE -DWITH_JPEG8=1 -DWITH_TURBOJPEG=FALSE -DPNG_SUPPORTED=FALSE make install/strip @@ -332,7 +332,7 @@ make install-strip mkdir ${DEPS}/orc $CURL https://gstreamer.freedesktop.org/data/src/orc/orc-${VERSION_ORC}.tar.xz | tar xJC ${DEPS}/orc --strip-components=1 cd ${DEPS}/orc -LDFLAGS=${LDFLAGS/\$/} meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ +meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dorc-test=disabled -Dbenchmarks=disabled -Dexamples=disabled -Dgtk_doc=disabled -Dtests=disabled -Dtools=disabled ninja -C _build ninja -C _build install @@ -355,7 +355,7 @@ sed -i'.bak' "/loaders_cache = custom/{N;N;N;N;N;N;N;N;N;c\\ # Ensure meson can find libjpeg when cross-compiling sed -i'.bak' "s/has_header('jpeglib.h')/has_header('jpeglib.h', args: '-I\/target\/include')/g" meson.build sed -i'.bak' "s/cc.find_library('jpeg'/dependency('libjpeg'/g" meson.build -LDFLAGS=${LDFLAGS/\$/} meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ +meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dtiff=false -Dintrospection=disabled -Dinstalled_tests=false -Dgio_sniffing=false -Dman=false -Dbuiltin_loaders=png,jpeg ninja -C _build ninja -C _build install @@ -365,9 +365,10 @@ sed -i'.bak' "s/^\(Requires:.*\)/\1 libjpeg, libpng16/" ${TARGET}/lib/pkgconfig/ mkdir ${DEPS}/freetype $CURL https://download.savannah.gnu.org/releases/freetype/freetype-${VERSION_FREETYPE}.tar.xz | tar xJC ${DEPS}/freetype --strip-components=1 cd ${DEPS}/freetype -./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --without-bzip2 --without-png -make install +meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ + -Dzlib=enabled -Dpng=disabled -Dharfbuzz=disabled -Dbrotli=disabled -Dbzip2=disabled +ninja -C _build +ninja -C _build install mkdir ${DEPS}/expat $CURL https://github.com/libexpat/libexpat/releases/download/R_${VERSION_EXPAT//./_}/expat-${VERSION_EXPAT}.tar.xz | tar xJC ${DEPS}/expat --strip-components=1 @@ -390,7 +391,7 @@ $CURL https://github.com/harfbuzz/harfbuzz/archive/${VERSION_HARFBUZZ}.tar.gz | cd ${DEPS}/harfbuzz # Disable utils sed -i'.bak' "/subdir('util')/d" meson.build -LDFLAGS=${LDFLAGS/\$/} meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ +meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dgobject=disabled -Dicu=disabled -Dtests=disabled -Dintrospection=disabled -Ddocs=disabled -Dbenchmark=disabled ${DARWIN:+-Dcoretext=enabled} ninja -C _build ninja -C _build install @@ -400,7 +401,7 @@ $CURL https://cairographics.org/releases/pixman-${VERSION_PIXMAN}.tar.gz | tar x cd ${DEPS}/pixman # Disable tests and demos sed -i'.bak' "/subdir('test')/{N;d;}" meson.build -LDFLAGS=${LDFLAGS/\$/} meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ +meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dlibpng=disabled -Diwmmxt=disabled -Dgtk=disabled -Dopenmp=disabled ninja -C _build ninja -C _build install @@ -421,7 +422,7 @@ $CURL https://github.com/fribidi/fribidi/releases/download/v${VERSION_FRIBIDI}/f cd ${DEPS}/fribidi # Disable tests sed -i'.bak' "/subdir('test')/d" meson.build -LDFLAGS=${LDFLAGS/\$/} meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ +meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Ddocs=false ninja -C _build ninja -C _build install @@ -431,7 +432,7 @@ $CURL https://download.gnome.org/sources/pango/$(without_patch $VERSION_PANGO)/p cd ${DEPS}/pango # Disable utils, examples, tests and tools sed -i'.bak' "/subdir('utils')/{N;N;N;d;}" meson.build -LDFLAGS=${LDFLAGS/\$/} meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ +meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dgtk_doc=false -Dintrospection=disabled -Dfontconfig=enabled ninja -C _build ninja -C _build install From 3188b3913c48894294368eee54d84887767eb712 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 9 Oct 2021 20:10:02 +0100 Subject: [PATCH 009/327] linux-arm64v8: replace cross-compilation with native build (#115) - Uses Centos 7 with latest gcc 10 (currently 10.2.1) - Runs on CircleCI ARM64 environment - Workaround for rsvg not yet supporting rust nightly multi-target --- .circleci/config.yml | 26 +++++++++++++++++ .github/workflows/build-release.yml | 1 - build/lin.sh | 4 +++ linux-arm64v8/Dockerfile | 45 ++++++++++++----------------- linux-arm64v8/Toolchain.cmake | 10 ------- linux-arm64v8/meson.ini | 16 ++-------- 6 files changed, 51 insertions(+), 51 deletions(-) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..2876f9ab --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,26 @@ +version: 2.1 +orbs: + github-cli: circleci/github-cli@1.0 + +workflows: + build: + jobs: + - linux-arm64v8: + filters: + tags: + only: /^v.*/ + +jobs: + linux-arm64v8: + resource_class: arm.medium + machine: + image: ubuntu-2004:202101-01 + steps: + - checkout + - github-cli/setup + - run: ./build.sh $(cat LIBVIPS_VERSION) linux-arm64v8 + - run: ./integrity.sh + - when: + condition: <> + steps: + - run: gh release upload --repo lovell/sharp-libvips $CIRCLE_TAG *.tar.gz *.tar.br *.integrity diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 0a93985b..0fcd42a6 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -27,7 +27,6 @@ jobs: - 'linux-x64' - 'linux-armv6' - 'linux-armv7' - - 'linux-arm64v8' - 'linuxmusl-x64' - 'linuxmusl-arm64v8' - 'win32-ia32' diff --git a/build/lin.sh b/build/lin.sh index 4bf12603..65874bef 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -455,6 +455,10 @@ sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo/" librsvg.pc.in sed -i'.bak' "s/, \"rlib\"//" Cargo.toml # Skip executables sed -i'.bak' "/SCRIPTS = /d" Makefile.in +# Use target/CARGO_BUILD_TARGET/release instead of target/release when set +if [[ $CARGO_BUILD_TARGET ]]; then + sed -i'.bak' "s/@RUST_TARGET_SUBDIR@/$CARGO_BUILD_TARGET\/@RUST_TARGET_SUBDIR@/" Makefile.in +fi ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-introspection --disable-tools --disable-pixbuf-loader --disable-nls --without-libiconv-prefix --without-libintl-prefix \ ${DARWIN:+--disable-Bsymbolic} diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index d3cb3d76..ef272487 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -1,40 +1,33 @@ -FROM debian:bullseye +FROM arm64v8/centos:7 LABEL maintainer="Lovell Fuller " -# Create Debian-based container suitable for cross-compiling Linux ARM64v8-A binaries +# Create CentOS 7 (glibc 2.17) container suitable for building Linux ARM64v8-A binaries # Path settings ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:$PATH" + PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-10/root/usr/bin:$PATH" # Build dependencies RUN \ - apt-get update && \ - apt-get install -y curl && \ - dpkg --add-architecture arm64 && \ - apt-get update && \ - apt-get install -y \ + yum update -y && \ + yum install -y epel-release centos-release-scl && \ + yum group install -y "Development Tools" && \ + yum install -y --setopt=tsflags=nodocs \ advancecomp \ - autoconf \ - autopoint \ brotli \ - cmake \ - crossbuild-essential-arm64 \ - gettext \ - git \ - gobject-introspection \ + cmake3 \ + devtoolset-10-gcc \ + devtoolset-10-gcc-c++ \ + glib2-devel \ + gobject-introspection-devel \ gperf \ - gtk-doc-tools \ - intltool \ + gtk-doc \ jq \ - libglib2.0-dev \ - libtool \ nasm \ - ninja-build \ - python3-pip \ - texinfo \ + prelink \ + python3 \ && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ @@ -43,7 +36,9 @@ RUN \ && \ rustup component add rust-src && \ rustup target add aarch64-unknown-linux-gnu && \ - pip3 install meson + ln -s /usr/bin/cmake3 /usr/bin/cmake && \ + pip3 install --upgrade pip && \ + pip3 install meson ninja # Rebuild the standard library of Rust to avoid collisions with system libraries. # See: https://github.com/lovell/sharp-libvips/issues/109 @@ -54,10 +49,8 @@ build-std-features = [\"panic_immediate_abort\"]" > $CARGO_HOME/config.toml # Compiler settings ENV \ - PKG_CONFIG="/usr/bin/aarch64-linux-gnu-pkg-config" \ PLATFORM="linux-arm64v8" \ - CHOST="aarch64-linux-gnu" \ - RUST_TARGET="aarch64-unknown-linux-gnu" \ + CARGO_BUILD_TARGET="aarch64-unknown-linux-gnu" \ FLAGS="-march=armv8-a" \ MESON="--cross-file=/root/meson.ini" diff --git a/linux-arm64v8/Toolchain.cmake b/linux-arm64v8/Toolchain.cmake index 9233644f..d98fafd2 100644 --- a/linux-arm64v8/Toolchain.cmake +++ b/linux-arm64v8/Toolchain.cmake @@ -1,13 +1,3 @@ -set(CMAKE_SYSTEM_NAME Linux) -set(CMAKE_SYSTEM_VERSION 1) -set(CMAKE_SYSTEM_PROCESSOR aarch64) - -SET(CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc) -set(CMAKE_CXX_COMPILER /usr/bin/aarch64-linux-gnu-g++) -SET(CMAKE_AR /usr/bin/aarch64-linux-gnu-gcc-ar) -SET(CMAKE_STRIP /usr/bin/aarch64-linux-gnu-gcc-strip) -SET(CMAKE_RANLIB /usr/bin/aarch64-linux-gnu-gcc-ranlib) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/linux-arm64v8/meson.ini b/linux-arm64v8/meson.ini index 4ffa1479..e7dc737b 100644 --- a/linux-arm64v8/meson.ini +++ b/linux-arm64v8/meson.ini @@ -1,18 +1,6 @@ -[host_machine] -system = 'linux' -cpu_family = 'aarch64' -cpu = 'armv8-a' -endian = 'little' - [binaries] -c = '/usr/bin/aarch64-linux-gnu-gcc' -cpp = '/usr/bin/aarch64-linux-gnu-g++' -ar = '/usr/bin/aarch64-linux-gnu-gcc-ar' -nm = '/usr/bin/aarch64-linux-gnu-gcc-nm' -ld = '/usr/bin/aarch64-linux-gnu-gcc-ld' -strip = '/usr/bin/aarch64-linux-gnu-strip' -pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config' -ranlib = '/usr/bin/aarch64-linux-gnu-gcc-ranlib' +pkgconfig = '/usr/bin/pkg-config' +strip = '/usr/bin/strip' [paths] libdir = 'lib' From d9cd30f6c77c2eb34b91809d33dfa57f3886fb92 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 21 Oct 2021 20:32:58 +0100 Subject: [PATCH 010/327] Bump deps: aom, svg Standardise version separator --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 65874bef..3c671fc8 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -121,8 +121,8 @@ VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 VERSION_PANGO=1.49.1 -VERSION_SVG=2.52.1 -VERSION_AOM=3.1.3 +VERSION_SVG=2.52.2 +VERSION_AOM=3.2.0 VERSION_HEIF=1.12.0 # Remove patch version component @@ -142,7 +142,7 @@ version_latest() { if [[ "$4" == *"unstable"* ]]; then VERSION_SELECTOR="versions" fi - VERSION_LATEST=$($CURL "https://release-monitoring.org/api/v2/versions/?project_id=$3" | jq -j ".$VERSION_SELECTOR[0]") + VERSION_LATEST=$($CURL "https://release-monitoring.org/api/v2/versions/?project_id=$3" | jq -j ".$VERSION_SELECTOR[0]" | tr '_' '.') if [ "$VERSION_LATEST" != "$2" ]; then ALL_AT_VERSION_LATEST=false echo "$1 version $2 has been superseded by $VERSION_LATEST" From 4586f228b21683766fd86aba98d593c2eb0274d8 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 21 Oct 2021 21:38:16 +0100 Subject: [PATCH 011/327] heif: patch to improve colour conversion performance --- build/lin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index 3c671fc8..d324d833 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -279,6 +279,8 @@ $CURL https://github.com/lovell/libheif/commit/de0c159a60c2c50931321f06e36a3b664 $CURL https://github.com/lovell/libheif/commit/7e1c1888023f6dd68cf33e537e7eb8e4d5e17588.patch | patch -p1 # [PATCH] Detect and prevent negative overflow of clap box dimensions $CURL https://github.com/lovell/libheif/commit/e625a702ec7d46ce042922547d76045294af71d6.patch | git apply - +# [PATCH] Avoid lroundf +$CURL https://github.com/strukturag/libheif/pull/551/commits/e9004e96fbaf45b97d73e2469afd8ecfc9930ad0.patch | patch -p1 CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" ./configure \ --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-gdk-pixbuf --disable-go --disable-examples --disable-libde265 --disable-x265 From 20d291b5362c20d68311f6ec2e447bd5a174c3b8 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 7 Nov 2021 11:06:43 +0000 Subject: [PATCH 012/327] Bump deps: glib, harfbuzz, pango, svg --- build/lin.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index d324d833..df814f9d 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -99,7 +99,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.5 VERSION_FFI=3.4.2 -VERSION_GLIB=2.70.0 +VERSION_GLIB=2.70.1 VERSION_XML2=2.9.12 VERSION_GSF=1.14.47 VERSION_EXIF=0.6.23 @@ -116,12 +116,12 @@ VERSION_GDKPIXBUF=2.42.6 VERSION_FREETYPE=2.11.0 VERSION_EXPAT=2.4.1 VERSION_FONTCONFIG=2.13.93 -VERSION_HARFBUZZ=3.0.0 +VERSION_HARFBUZZ=3.1.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 -VERSION_PANGO=1.49.1 -VERSION_SVG=2.52.2 +VERSION_PANGO=1.49.2 +VERSION_SVG=2.52.3 VERSION_AOM=3.2.0 VERSION_HEIF=1.12.0 @@ -221,6 +221,8 @@ if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/9cd8625c6374e0d201e6fc56010008dbb64eb8cf/glib-proxy-libintl.patch | patch -p1 fi $CURL https://gist.githubusercontent.com/lovell/7e0ce65249b951d5be400fb275de3924/raw/1a833ef4263271d299587524198b024eb5cc4f34/glib-without-gregex.patch | patch -p1 +# Fix pcre URL, can be removed after 2.70.2 +$CURL https://gitlab.gnome.org/GNOME/glib/-/commit/3be95baee7d03035525b5f015fe5f7cdcc42f36a.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=libpcre -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} ninja -C _build From e032678e8541b3763522de462835092d63ab97ba Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 7 Nov 2021 11:33:30 +0000 Subject: [PATCH 013/327] glib: use pcre fallback from sourceforge --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index df814f9d..bf08463f 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -221,8 +221,8 @@ if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/9cd8625c6374e0d201e6fc56010008dbb64eb8cf/glib-proxy-libintl.patch | patch -p1 fi $CURL https://gist.githubusercontent.com/lovell/7e0ce65249b951d5be400fb275de3924/raw/1a833ef4263271d299587524198b024eb5cc4f34/glib-without-gregex.patch | patch -p1 -# Fix pcre URL, can be removed after 2.70.2 -$CURL https://gitlab.gnome.org/GNOME/glib/-/commit/3be95baee7d03035525b5f015fe5f7cdcc42f36a.patch | patch -p1 +# Use pcre from sourceforge +sed -i'.bak' "s|ftp.pcre.org/pub/pcre|downloads.sourceforge.net/project/pcre/pcre/8.37|" subprojects/libpcre.wrap meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=libpcre -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} ninja -C _build From b57d7433553c44a65c7832028941e260319fd39f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 7 Nov 2021 12:26:33 +0000 Subject: [PATCH 014/327] harfbuzz: temporary patch for 32-bit ARM alignment --- build/lin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index bf08463f..8eb84083 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -393,6 +393,8 @@ make install-strip mkdir ${DEPS}/harfbuzz $CURL https://github.com/harfbuzz/harfbuzz/archive/${VERSION_HARFBUZZ}.tar.gz | tar xzC ${DEPS}/harfbuzz --strip-components=1 cd ${DEPS}/harfbuzz +# https://github.com/harfbuzz/harfbuzz/issues/3283 +$CURL https://github.com/harfbuzz/harfbuzz/commit/07dc34bdaf977a3be97ab5a68455ed7a67f80a06.patch | patch -p1 # Disable utils sed -i'.bak' "/subdir('util')/d" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ From 946688ce23d7809e5abcd8fd52a71d1d9f285b99 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 14 Nov 2021 12:24:21 +0000 Subject: [PATCH 015/327] Bump deps: harfbuzz, pango, svg --- build/lin.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 8eb84083..d148fe26 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -116,12 +116,12 @@ VERSION_GDKPIXBUF=2.42.6 VERSION_FREETYPE=2.11.0 VERSION_EXPAT=2.4.1 VERSION_FONTCONFIG=2.13.93 -VERSION_HARFBUZZ=3.1.0 +VERSION_HARFBUZZ=3.1.1 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 -VERSION_PANGO=1.49.2 -VERSION_SVG=2.52.3 +VERSION_PANGO=1.49.3 +VERSION_SVG=2.52.4 VERSION_AOM=3.2.0 VERSION_HEIF=1.12.0 @@ -393,8 +393,6 @@ make install-strip mkdir ${DEPS}/harfbuzz $CURL https://github.com/harfbuzz/harfbuzz/archive/${VERSION_HARFBUZZ}.tar.gz | tar xzC ${DEPS}/harfbuzz --strip-components=1 cd ${DEPS}/harfbuzz -# https://github.com/harfbuzz/harfbuzz/issues/3283 -$CURL https://github.com/harfbuzz/harfbuzz/commit/07dc34bdaf977a3be97ab5a68455ed7a67f80a06.patch | patch -p1 # Disable utils sed -i'.bak' "/subdir('util')/d" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ From 93adcd681eae2848a7eceaf7e689990a8670be9a Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 14 Nov 2021 13:43:07 +0000 Subject: [PATCH 016/327] meson: move libdir option --- linux-arm64v8/meson.ini | 2 +- linux-armv6/meson.ini | 2 +- linux-armv7/meson.ini | 2 +- linux-x64/meson.ini | 2 +- linuxmusl-arm64v8/meson.ini | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/linux-arm64v8/meson.ini b/linux-arm64v8/meson.ini index e7dc737b..9aeb809b 100644 --- a/linux-arm64v8/meson.ini +++ b/linux-arm64v8/meson.ini @@ -2,5 +2,5 @@ pkgconfig = '/usr/bin/pkg-config' strip = '/usr/bin/strip' -[paths] +[built-in options] libdir = 'lib' diff --git a/linux-armv6/meson.ini b/linux-armv6/meson.ini index c98a4079..76586f60 100644 --- a/linux-armv6/meson.ini +++ b/linux-armv6/meson.ini @@ -14,5 +14,5 @@ strip = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnu pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config' ranlib = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc-ranlib' -[paths] +[built-in options] libdir = 'lib' diff --git a/linux-armv7/meson.ini b/linux-armv7/meson.ini index c0eb6275..658e3ee8 100644 --- a/linux-armv7/meson.ini +++ b/linux-armv7/meson.ini @@ -14,5 +14,5 @@ strip = '/usr/bin/arm-linux-gnueabihf-strip' pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config' ranlib = '/usr/bin/arm-linux-gnueabihf-gcc-ranlib' -[paths] +[built-in options] libdir = 'lib' diff --git a/linux-x64/meson.ini b/linux-x64/meson.ini index e7dc737b..9aeb809b 100644 --- a/linux-x64/meson.ini +++ b/linux-x64/meson.ini @@ -2,5 +2,5 @@ pkgconfig = '/usr/bin/pkg-config' strip = '/usr/bin/strip' -[paths] +[built-in options] libdir = 'lib' diff --git a/linuxmusl-arm64v8/meson.ini b/linuxmusl-arm64v8/meson.ini index 5508aa8b..375cf407 100644 --- a/linuxmusl-arm64v8/meson.ini +++ b/linuxmusl-arm64v8/meson.ini @@ -14,5 +14,5 @@ strip = '/bin/aarch64-linux-musl-strip' ranlib = '/bin/aarch64-linux-musl-ranlib' pkgconfig = '/bin/aarch64-linux-musl-pkg-config' -[paths] +[built-in options] libdir = 'lib' From b717014cd75b531002827a314f98d8a5353d1502 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 16 Nov 2021 09:31:51 +0000 Subject: [PATCH 017/327] Upgrade to libvips v8.12.0-rc1 (#119) Add cgif as dependency Co-authored-by: Kleis Auke Wolthuizen --- LIBVIPS_VERSION | 2 +- THIRD-PARTY-NOTICES.md | 3 ++- build/lin.sh | 11 +++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index dba04c1e..f8ca746b 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.11.3 +8.12.0-rc1 diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 142ea607..f5268d89 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -7,8 +7,9 @@ used under the terms of the following licences: |---------------|-----------------------------------------------------------------------------------------------------------| | aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) | | cairo | Mozilla Public License 2.0 | +| cgif | MIT Licence | | expat | MIT Licence | -| fontconfig | [fontconfig Licence](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) | +| fontconfig | [fontconfig Licence](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) | | freetype | [freetype Licence](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) | | fribidi | LGPLv3 | | gdk-pixbuf | LGPLv3 | diff --git a/build/lin.sh b/build/lin.sh index d148fe26..f064fa48 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -124,6 +124,7 @@ VERSION_PANGO=1.49.3 VERSION_SVG=2.52.4 VERSION_AOM=3.2.0 VERSION_HEIF=1.12.0 +VERSION_CGIF=0.0.2 # Remove patch version component without_patch() { @@ -172,6 +173,7 @@ version_latest "pango" "$VERSION_PANGO" "11783" version_latest "svg" "$VERSION_SVG" "5420" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "64439" +#version_latest "cgif" "$VERSION_CGIF" "" # not yet in release monitoring if [ "$ALL_AT_VERSION_LATEST" = "false" ]; then exit 1; fi # Download and build dependencies from source @@ -468,6 +470,14 @@ fi ${DARWIN:+--disable-Bsymbolic} make install-strip +mkdir ${DEPS}/cgif +$CURL https://github.com/dloebl/cgif/archive/V${VERSION_CGIF}.tar.gz | tar xzC ${DEPS}/cgif --strip-components=1 +cd ${DEPS}/cgif +CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ + -Dtests=false +ninja -C _build +ninja -C _build install + mkdir ${DEPS}/vips $CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips @@ -537,6 +547,7 @@ cd ${TARGET} printf "{\n\ \"aom\": \"${VERSION_AOM}\",\n\ \"cairo\": \"${VERSION_CAIRO}\",\n\ + \"cgif\": \"${VERSION_CGIF}\",\n\ \"exif\": \"${VERSION_EXIF}\",\n\ \"expat\": \"${VERSION_EXPAT}\",\n\ \"ffi\": \"${VERSION_FFI}\",\n\ From 5f3ecf7db860349535f5d830167362d2bdb67376 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 21 Nov 2021 11:03:05 +0000 Subject: [PATCH 018/327] Upgrade to libvips v8.12.0 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index f8ca746b..e51b3430 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.12.0-rc1 +8.12.0 From 982c7f86c6c345fd16861baa09cb143b0305c3f0 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 25 Nov 2021 15:37:07 +0000 Subject: [PATCH 019/327] Bump deps: exif, spng --- build/lin.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index f064fa48..8fbf47d1 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -102,11 +102,11 @@ VERSION_FFI=3.4.2 VERSION_GLIB=2.70.1 VERSION_XML2=2.9.12 VERSION_GSF=1.14.47 -VERSION_EXIF=0.6.23 +VERSION_EXIF=0.6.24 VERSION_LCMS2=2.12 VERSION_MOZJPEG=4.0.3 VERSION_PNG16=1.6.37 -VERSION_SPNG=0.7.0 +VERSION_SPNG=0.7.1 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.2.1 VERSION_TIFF=4.3.0 @@ -156,13 +156,15 @@ version_latest "xml2" "$VERSION_XML2" "1783" version_latest "gsf" "$VERSION_GSF" "1980" version_latest "exif" "$VERSION_EXIF" "1607" version_latest "lcms2" "$VERSION_LCMS2" "9815" +#version_latest "mozjpeg" "$VERSION_MOZJPEG" "" # not yet in release monitoring version_latest "png" "$VERSION_PNG16" "1705" -version_latest "spng" "$VERSION_SPNG" "24289" +#version_latest "spng" "$VERSION_SPNG" "24289" # release monitoring still has 0.7.0 version_latest "webp" "$VERSION_WEBP" "1761" version_latest "tiff" "$VERSION_TIFF" "1738" version_latest "orc" "$VERSION_ORC" "2573" +#version_latest "proxy-libintl" "$VERSION_PROXY_LIBINTL" "" # not yet in release monitoring version_latest "gdkpixbuf" "$VERSION_GDKPIXBUF" "9533" -#version_latest "freetype" "$VERSION_FREETYPE" "854" # latest version in release monitoring is out of sync +version_latest "freetype" "$VERSION_FREETYPE" "854" version_latest "expat" "$VERSION_EXPAT" "770" #version_latest "fontconfig" "$VERSION_FONTCONFIG" "827" # 2.13.94 fails to build on macOS version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" From 119115d630aad0767e272482c113614f07a9f8e1 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 25 Nov 2021 16:36:17 +0000 Subject: [PATCH 020/327] exif: use tag (avoids inconsistent asset naming) --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 8fbf47d1..a94e652c 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -250,7 +250,7 @@ sed -i'.bak' "s/ doc tools tests thumbnailer python//" Makefile.in make install-strip mkdir ${DEPS}/exif -$CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libexif-${VERSION_EXIF}.tar.xz | tar xJC ${DEPS}/exif --strip-components=1 +$CURL https://github.com/libexif/libexif/archive/v${VERSION_EXIF}.tar.gz | tar xzC ${DEPS}/exif --strip-components=1 cd ${DEPS}/exif ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-nls --without-libiconv-prefix --without-libintl-prefix \ From 5e6e334f9367e40bb03eb72ea7149d6acd092ce6 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 25 Nov 2021 17:00:23 +0000 Subject: [PATCH 021/327] exif: oh yes, I remember, we have to use release assets --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index a94e652c..6902eba1 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -250,7 +250,7 @@ sed -i'.bak' "s/ doc tools tests thumbnailer python//" Makefile.in make install-strip mkdir ${DEPS}/exif -$CURL https://github.com/libexif/libexif/archive/v${VERSION_EXIF}.tar.gz | tar xzC ${DEPS}/exif --strip-components=1 +$CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libexif-${VERSION_EXIF}.tar.bz2 | tar xjC ${DEPS}/exif --strip-components=1 cd ${DEPS}/exif ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-nls --without-libiconv-prefix --without-libintl-prefix \ From 110a9889cbed1b4a938132fa27c04e255444ebbd Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 25 Nov 2021 20:06:05 +0000 Subject: [PATCH 022/327] Upgrade to libvips v8.12.1 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index e51b3430..fd32ca6a 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.12.0 +8.12.1 From c102244b6d8474a44c26c4c83487e620675de13e Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 27 Nov 2021 19:26:50 +0000 Subject: [PATCH 023/327] Bump deps: cgif, harfbuzz --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 6902eba1..c68dbacc 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -116,7 +116,7 @@ VERSION_GDKPIXBUF=2.42.6 VERSION_FREETYPE=2.11.0 VERSION_EXPAT=2.4.1 VERSION_FONTCONFIG=2.13.93 -VERSION_HARFBUZZ=3.1.1 +VERSION_HARFBUZZ=3.1.2 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 @@ -124,7 +124,7 @@ VERSION_PANGO=1.49.3 VERSION_SVG=2.52.4 VERSION_AOM=3.2.0 VERSION_HEIF=1.12.0 -VERSION_CGIF=0.0.2 +VERSION_CGIF=0.0.3 # Remove patch version component without_patch() { @@ -158,7 +158,7 @@ version_latest "exif" "$VERSION_EXIF" "1607" version_latest "lcms2" "$VERSION_LCMS2" "9815" #version_latest "mozjpeg" "$VERSION_MOZJPEG" "" # not yet in release monitoring version_latest "png" "$VERSION_PNG16" "1705" -#version_latest "spng" "$VERSION_SPNG" "24289" # release monitoring still has 0.7.0 +version_latest "spng" "$VERSION_SPNG" "24289" version_latest "webp" "$VERSION_WEBP" "1761" version_latest "tiff" "$VERSION_TIFF" "1738" version_latest "orc" "$VERSION_ORC" "2573" From 1365ae109b5433fa65aebdc6882e8fcd54126931 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 5 Dec 2021 14:00:12 +0000 Subject: [PATCH 024/327] Bump deps: glib, freetype, pango --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index c68dbacc..381a1b47 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -99,7 +99,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.5 VERSION_FFI=3.4.2 -VERSION_GLIB=2.70.1 +VERSION_GLIB=2.70.2 VERSION_XML2=2.9.12 VERSION_GSF=1.14.47 VERSION_EXIF=0.6.24 @@ -113,14 +113,14 @@ VERSION_TIFF=4.3.0 VERSION_ORC=0.4.32 VERSION_PROXY_LIBINTL=0.2 VERSION_GDKPIXBUF=2.42.6 -VERSION_FREETYPE=2.11.0 +VERSION_FREETYPE=2.11.1 VERSION_EXPAT=2.4.1 VERSION_FONTCONFIG=2.13.93 VERSION_HARFBUZZ=3.1.2 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 -VERSION_PANGO=1.49.3 +VERSION_PANGO=1.50.0 VERSION_SVG=2.52.4 VERSION_AOM=3.2.0 VERSION_HEIF=1.12.0 From 2ecd5da47e22297729770eed72f2d37ca017c124 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 5 Dec 2021 14:37:14 +0000 Subject: [PATCH 025/327] glib: remove temp pcre wrap patch --- build/lin.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 381a1b47..4dfa8442 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -225,8 +225,6 @@ if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/9cd8625c6374e0d201e6fc56010008dbb64eb8cf/glib-proxy-libintl.patch | patch -p1 fi $CURL https://gist.githubusercontent.com/lovell/7e0ce65249b951d5be400fb275de3924/raw/1a833ef4263271d299587524198b024eb5cc4f34/glib-without-gregex.patch | patch -p1 -# Use pcre from sourceforge -sed -i'.bak' "s|ftp.pcre.org/pub/pcre|downloads.sourceforge.net/project/pcre/pcre/8.37|" subprojects/libpcre.wrap meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=libpcre -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} ninja -C _build From fba91beca804556e20acecce13d2b3c46c67545f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 6 Dec 2021 21:44:25 +0000 Subject: [PATCH 026/327] Add script to generate integrity JSON Uses published .integrity files for LIBVIPS_VERSION --- integrity-json.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100755 integrity-json.sh diff --git a/integrity-json.sh b/integrity-json.sh new file mode 100755 index 00000000..20bfbace --- /dev/null +++ b/integrity-json.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e + +LIBVIPS_VERSION=$(cat LIBVIPS_VERSION) + +for url in $(curl -sL https://api.github.com/repos/lovell/sharp-libvips/releases | jq -r --arg NAME "v$LIBVIPS_VERSION" '.[] | select(.name == $NAME) | .assets[] | select(.name | contains(".br.integrity")) | .browser_download_url'); do + PLATFORM_AND_ARCH=$(echo $url | cut -d'.' -f6 | cut -d'-' -f2,3) + CHECKSUM=$(curl -Ls $url) + echo "\"$PLATFORM_AND_ARCH\": \"$CHECKSUM\"," +done From 519ddcedc5d4c7be099e4a0076cb6186106102fc Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 6 Dec 2021 21:45:37 +0000 Subject: [PATCH 027/327] Remove old test scripts --- test-linux-arm.sh | 28 ---------------------------- test-linux-x64.sh | 36 ------------------------------------ 2 files changed, 64 deletions(-) delete mode 100755 test-linux-arm.sh delete mode 100755 test-linux-x64.sh diff --git a/test-linux-arm.sh b/test-linux-arm.sh deleted file mode 100755 index c887ac87..00000000 --- a/test-linux-arm.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -if [ $# -lt 1 ]; then - echo "Usage: $0 IP" - echo "Test sharp on ARM using Docker, where IP is" - echo "the address of a Raspberry Pi running HypriotOS" - exit 1 -fi -IP="$1" - -echo "Verifying connectivity to $IP" -if ! ping -c 1 $IP; then - echo "Could not connect to $IP" - exit 1 -fi - -if ! type sshpass >/dev/null; then - echo "Please install sshpass" - exit 1 -fi - -export SSHPASS=hypriot - -echo "Copying sharp source to device" -sshpass -e scp -o PreferredAuthentications=password -r ../../sharp pirate@${IP}:/home/pirate/sharp - -echo "Compile and test within container" -sshpass -e ssh -o PreferredAuthentications=password -t pirate@${IP} "docker run --rm -v \${PWD}/sharp:/s hypriot/rpi-node:6 sh -c 'cd /s && npm install --unsafe-perm && npm test'" diff --git a/test-linux-x64.sh b/test-linux-x64.sh deleted file mode 100755 index 3d073695..00000000 --- a/test-linux-x64.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -# Verify docker is available -if ! type docker >/dev/null; then - echo "Please install docker" - exit 1 -fi - -test="npm run clean; npm install --unsafe-perm; npm test" - -# Debian 7, 8 -# Ubuntu 14.04, 16.04 -for dist in debian:jessie debian:stretch ubuntu:trusty ubuntu:xenial; do - echo "Testing $dist..." - 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 -done - -# Centos 7 -echo "Testing centos7..." -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/centos7.log -fi - -# 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 From 0ef1af6b131023d4603a58477e4b3a301430d955 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 6 Dec 2021 21:46:22 +0000 Subject: [PATCH 028/327] Remove old test scripts --- test/archlinux.sh | 5 ----- test/centos.sh | 4 ---- test/debian.sh | 6 ------ 3 files changed, 15 deletions(-) delete mode 100755 test/archlinux.sh delete mode 100755 test/centos.sh delete mode 100755 test/debian.sh diff --git a/test/archlinux.sh b/test/archlinux.sh deleted file mode 100755 index 73afcb8d..00000000 --- a/test/archlinux.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -# Install Node.js on Archlinux -pacman -Sy --noconfirm gcc make python2 nodejs npm | cat -ln -s /usr/bin/python2 /usr/bin/python diff --git a/test/centos.sh b/test/centos.sh deleted file mode 100755 index 5a3d63fa..00000000 --- a/test/centos.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -curl -sL https://rpm.nodesource.com/setup_6.x | bash - -yum install -y gcc-c++ make nodejs diff --git a/test/debian.sh b/test/debian.sh deleted file mode 100755 index 5c6f9ef9..00000000 --- a/test/debian.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -apt-get update -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 From e49bcd85a9278724e73d52cf0e6f41010626128a Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 13 Dec 2021 11:36:28 +0000 Subject: [PATCH 029/327] Bump deps: cgif, harfbuzz, pango --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 4dfa8442..7ee51626 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -116,15 +116,15 @@ VERSION_GDKPIXBUF=2.42.6 VERSION_FREETYPE=2.11.1 VERSION_EXPAT=2.4.1 VERSION_FONTCONFIG=2.13.93 -VERSION_HARFBUZZ=3.1.2 +VERSION_HARFBUZZ=3.2.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 -VERSION_PANGO=1.50.0 +VERSION_PANGO=1.50.1 VERSION_SVG=2.52.4 VERSION_AOM=3.2.0 VERSION_HEIF=1.12.0 -VERSION_CGIF=0.0.3 +VERSION_CGIF=0.0.4 # Remove patch version component without_patch() { From 9dd527e38033ebd3dbfe5a60c82909163ee71370 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 20 Dec 2021 22:35:52 +0100 Subject: [PATCH 030/327] Bump deps: glib, pango, svg (#122) --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 7ee51626..c0d974cf 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -99,7 +99,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.5 VERSION_FFI=3.4.2 -VERSION_GLIB=2.70.2 +VERSION_GLIB=2.71.0 VERSION_XML2=2.9.12 VERSION_GSF=1.14.47 VERSION_EXIF=0.6.24 @@ -120,8 +120,8 @@ VERSION_HARFBUZZ=3.2.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 -VERSION_PANGO=1.50.1 -VERSION_SVG=2.52.4 +VERSION_PANGO=1.50.2 +VERSION_SVG=2.52.5 VERSION_AOM=3.2.0 VERSION_HEIF=1.12.0 VERSION_CGIF=0.0.4 @@ -222,7 +222,7 @@ mkdir ${DEPS}/glib $CURL https://download.gnome.org/sources/glib/$(without_patch $VERSION_GLIB)/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1 cd ${DEPS}/glib if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then - $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/9cd8625c6374e0d201e6fc56010008dbb64eb8cf/glib-proxy-libintl.patch | patch -p1 + $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/7b606ec015dd6f4dfd464b3ccf879082e740ce74/glib-proxy-libintl.patch | patch -p1 fi $CURL https://gist.githubusercontent.com/lovell/7e0ce65249b951d5be400fb275de3924/raw/1a833ef4263271d299587524198b024eb5cc4f34/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ From 0a17d43f6d971fe3efcf8ad667b5a3bd91524adf Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 21 Dec 2021 13:29:13 +0100 Subject: [PATCH 031/327] ARM64: build librsvg without the -Zbuild-std feature flag (#123) This is no longer necessary after PR rust-lang/compiler-builtins#444. --- build/lin.sh | 17 ----------------- linux-arm64v8/Dockerfile | 8 -------- linuxmusl-arm64v8/Dockerfile | 10 +--------- 3 files changed, 1 insertion(+), 34 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index c0d974cf..33d30f2e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -184,14 +184,7 @@ if [ "$DARWIN" = true ]; then curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \ | sh -s -- -y --no-modify-path --profile minimal ${DARWIN_ARM:+--default-toolchain nightly} if [ "$DARWIN_ARM" = true ]; then - ${CARGO_HOME}/bin/rustup component add rust-src ${CARGO_HOME}/bin/rustup target add aarch64-apple-darwin - - # Rebuild the standard library of Rust to avoid collisions with system libraries. - # See: https://github.com/lovell/sharp-libvips/issues/109 - printf "[unstable]\n\ -build-std = [\"std\", \"panic_abort\"]\n\ -build-std-features = [\"panic_immediate_abort\"]" > ${CARGO_HOME}/config.toml fi fi @@ -446,16 +439,6 @@ ninja -C _build install mkdir ${DEPS}/svg $CURL https://download.gnome.org/sources/librsvg/$(without_patch $VERSION_SVG)/librsvg-${VERSION_SVG}.tar.xz | tar xJC ${DEPS}/svg --strip-components=1 cd ${DEPS}/svg -# Allow building vendored sources with `-Zbuild-std`, see: -# https://github.com/rust-lang/wg-cargo-std-aware/issues/23#issuecomment-720455524 -if [[ $PLATFORM == *"-arm64v8" ]]; then - RUST_SRC=$(rustc +nightly --print sysroot)/lib/rustlib/src/rust - RUST_TEST=$RUST_SRC/library/test - # Copy the Cargo.lock for Rust to places `vendor` will see - cp $RUST_SRC/Cargo.lock $RUST_TEST - # Actually do the vendor - cargo +nightly vendor -s $RUST_TEST/Cargo.toml -fi sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo/" librsvg.pc.in # LTO optimization does not work for staticlib+rlib compilation sed -i'.bak' "s/, \"rlib\"//" Cargo.toml diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index ef272487..d9d2ec7e 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -34,19 +34,11 @@ RUN \ --profile minimal \ --default-toolchain nightly \ && \ - rustup component add rust-src && \ rustup target add aarch64-unknown-linux-gnu && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ pip3 install --upgrade pip && \ pip3 install meson ninja -# Rebuild the standard library of Rust to avoid collisions with system libraries. -# See: https://github.com/lovell/sharp-libvips/issues/109 -RUN \ - printf "[unstable]\n\ -build-std = [\"std\", \"panic_abort\"]\n\ -build-std-features = [\"panic_immediate_abort\"]" > $CARGO_HOME/config.toml - # Compiler settings ENV \ PLATFORM="linux-arm64v8" \ diff --git a/linuxmusl-arm64v8/Dockerfile b/linuxmusl-arm64v8/Dockerfile index ef5fd31e..93937f0f 100644 --- a/linuxmusl-arm64v8/Dockerfile +++ b/linuxmusl-arm64v8/Dockerfile @@ -45,17 +45,9 @@ RUN \ --profile minimal \ --default-toolchain nightly \ && \ - rustup component add rust-src && \ rustup target add aarch64-unknown-linux-musl && \ pip3 install meson -# Rebuild the standard library of Rust to avoid collisions with system libraries. -# See: https://github.com/lovell/sharp-libvips/issues/109 -RUN \ - printf "[unstable]\n\ -build-std = [\"std\", \"panic_abort\"]\n\ -build-std-features = [\"panic_immediate_abort\"]" > $CARGO_HOME/config.toml - # Compiler settings ENV \ PKG_CONFIG="/bin/aarch64-linux-musl-pkg-config" \ @@ -69,7 +61,7 @@ ENV \ # The toolchain will produce static libs by default. # We also need to add the directory containing libc.a to the library search path. ENV \ - RUSTFLAGS="-C target-feature=-crt-static -Lnative=/aarch64-linux-musl/lib" + RUSTFLAGS="-Ctarget-feature=-crt-static -Lnative=/aarch64-linux-musl/lib" COPY Toolchain.cmake /root/ COPY meson.ini /root/ From 739ef7a00860e50fd9426fc48036b27308591ea8 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 1 Jan 2022 17:28:06 +0000 Subject: [PATCH 032/327] Bump deps: cgif, gsf, pango, zlib-ng --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 33d30f2e..bf05811f 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -97,11 +97,11 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.0.5 +VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 VERSION_GLIB=2.71.0 VERSION_XML2=2.9.12 -VERSION_GSF=1.14.47 +VERSION_GSF=1.14.48 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.12 VERSION_MOZJPEG=4.0.3 @@ -120,11 +120,11 @@ VERSION_HARFBUZZ=3.2.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 -VERSION_PANGO=1.50.2 +VERSION_PANGO=1.50.3 VERSION_SVG=2.52.5 VERSION_AOM=3.2.0 VERSION_HEIF=1.12.0 -VERSION_CGIF=0.0.4 +VERSION_CGIF=0.1.0 # Remove patch version component without_patch() { From ff1b4e7d80ff0a79a249f658797bf312f9d606b5 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 5 Jan 2022 09:36:12 +0000 Subject: [PATCH 033/327] Add licencing details for libvips-embedded libnsgif #120 --- THIRD-PARTY-NOTICES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index f5268d89..1237dc17 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -22,6 +22,7 @@ used under the terms of the following licences: | libheif | LGPLv3 | | libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) | | mozjpeg | [zlib License, IJG License, BSD-3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) | +| libnsgif | MIT Licence | | libpng | [libpng License](https://github.com/glennrp/libpng/blob/master/LICENSE) | | librsvg | LGPLv3 | | libspng | [BSD 2-Clause, libpng License](https://github.com/randy408/libspng/blob/master/LICENSE) | From 0a3917d860d776ec1afa494507852b0f92a3335f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 5 Jan 2022 09:39:06 +0000 Subject: [PATCH 034/327] libheif: patch to verify nclx profile values --- build/lin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index bf05811f..e8f2ef88 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -278,6 +278,8 @@ $CURL https://github.com/lovell/libheif/commit/7e1c1888023f6dd68cf33e537e7eb8e4d $CURL https://github.com/lovell/libheif/commit/e625a702ec7d46ce042922547d76045294af71d6.patch | git apply - # [PATCH] Avoid lroundf $CURL https://github.com/strukturag/libheif/pull/551/commits/e9004e96fbaf45b97d73e2469afd8ecfc9930ad0.patch | patch -p1 +# [PATCH] aom: verify NCLX values against known bounds +$CURL https://github.com/strukturag/libheif/pull/583/commits/7da30e57498b2b67434abd4767377ee7b3d93ee4.patch | patch -p1 CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" ./configure \ --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-gdk-pixbuf --disable-go --disable-examples --disable-libde265 --disable-x265 From 2dc5be5c0a7a85571e81bf20b8f360f8c1d37b77 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 5 Jan 2022 09:48:35 +0000 Subject: [PATCH 035/327] libheif: apply binary patch via git --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index e8f2ef88..5e7608dd 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -279,7 +279,7 @@ $CURL https://github.com/lovell/libheif/commit/e625a702ec7d46ce042922547d7604529 # [PATCH] Avoid lroundf $CURL https://github.com/strukturag/libheif/pull/551/commits/e9004e96fbaf45b97d73e2469afd8ecfc9930ad0.patch | patch -p1 # [PATCH] aom: verify NCLX values against known bounds -$CURL https://github.com/strukturag/libheif/pull/583/commits/7da30e57498b2b67434abd4767377ee7b3d93ee4.patch | patch -p1 +$CURL https://github.com/strukturag/libheif/pull/583/commits/7da30e57498b2b67434abd4767377ee7b3d93ee4.patch | git apply - CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" ./configure \ --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-gdk-pixbuf --disable-go --disable-examples --disable-libde265 --disable-x265 From aa27f2d0c989849a7e83bd5aa5d952d1f5cdc14e Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 25 Jan 2022 10:24:27 +0000 Subject: [PATCH 036/327] Bump deps: expat, proxy-libintl, webp --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 5e7608dd..f9ff9fb4 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -108,13 +108,13 @@ VERSION_MOZJPEG=4.0.3 VERSION_PNG16=1.6.37 VERSION_SPNG=0.7.1 VERSION_IMAGEQUANT=2.4.1 -VERSION_WEBP=1.2.1 +VERSION_WEBP=1.2.2 VERSION_TIFF=4.3.0 VERSION_ORC=0.4.32 -VERSION_PROXY_LIBINTL=0.2 +VERSION_PROXY_LIBINTL=0.3 VERSION_GDKPIXBUF=2.42.6 VERSION_FREETYPE=2.11.1 -VERSION_EXPAT=2.4.1 +VERSION_EXPAT=2.4.3 VERSION_FONTCONFIG=2.13.93 VERSION_HARFBUZZ=3.2.0 VERSION_PIXMAN=0.40.0 From c6cf3248c9b76c0840369824fee9c964c6359dc5 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 25 Jan 2022 17:31:16 +0000 Subject: [PATCH 037/327] Build darwin-* binaries on macOS 11 / clang 13 --- .github/workflows/build-release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 0fcd42a6..6c1f7cad 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -33,9 +33,9 @@ jobs: - 'win32-x64' - 'win32-arm64v8' include: - - os: macos-10.15 + - os: macos-11 platform: 'darwin-x64' - - os: macos-10.15 + - os: macos-11 platform: 'darwin-arm64v8' steps: - name: Checkout From 15945d10fc453691e4c137934679a9a6a7bd6beb Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 25 Jan 2022 17:32:15 +0000 Subject: [PATCH 038/327] Upgrade to libvips v8.12.2 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index fd32ca6a..db4bcecc 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.12.1 +8.12.2 From 98c47097e4e1adc54940ab0aeebd8b68d3eb94ad Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 27 Jan 2022 21:56:31 +0100 Subject: [PATCH 039/327] Bump dep: glib (#125) --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index f9ff9fb4..6e13ff79 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -99,7 +99,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 -VERSION_GLIB=2.71.0 +VERSION_GLIB=2.71.1 VERSION_XML2=2.9.12 VERSION_GSF=1.14.48 VERSION_EXIF=0.6.24 @@ -215,7 +215,7 @@ mkdir ${DEPS}/glib $CURL https://download.gnome.org/sources/glib/$(without_patch $VERSION_GLIB)/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1 cd ${DEPS}/glib if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then - $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/7b606ec015dd6f4dfd464b3ccf879082e740ce74/glib-proxy-libintl.patch | patch -p1 + $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/62c92abbca60e98ebdf289e456d034d6c20e607a/glib-proxy-libintl.patch | patch -p1 fi $CURL https://gist.githubusercontent.com/lovell/7e0ce65249b951d5be400fb275de3924/raw/1a833ef4263271d299587524198b024eb5cc4f34/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ From 201826ff41bd464efd5f591e56909d45b5fe4455 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 30 Jan 2022 15:01:06 +0000 Subject: [PATCH 040/327] Bump deps: expat, lcms2 --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 6e13ff79..22b031b3 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -103,7 +103,7 @@ VERSION_GLIB=2.71.1 VERSION_XML2=2.9.12 VERSION_GSF=1.14.48 VERSION_EXIF=0.6.24 -VERSION_LCMS2=2.12 +VERSION_LCMS2=2.13 VERSION_MOZJPEG=4.0.3 VERSION_PNG16=1.6.37 VERSION_SPNG=0.7.1 @@ -114,7 +114,7 @@ VERSION_ORC=0.4.32 VERSION_PROXY_LIBINTL=0.3 VERSION_GDKPIXBUF=2.42.6 VERSION_FREETYPE=2.11.1 -VERSION_EXPAT=2.4.3 +VERSION_EXPAT=2.4.4 VERSION_FONTCONFIG=2.13.93 VERSION_HARFBUZZ=3.2.0 VERSION_PIXMAN=0.40.0 From 2c75ffd28ce8b3d2144f44c8a35b4decb317a17e Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 31 Jan 2022 14:16:05 +0000 Subject: [PATCH 041/327] Bump deps: fontconfig (switch to meson, patch known leaks) (#126) --- build/lin.sh | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 22b031b3..7e999055 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -115,7 +115,7 @@ VERSION_PROXY_LIBINTL=0.3 VERSION_GDKPIXBUF=2.42.6 VERSION_FREETYPE=2.11.1 VERSION_EXPAT=2.4.4 -VERSION_FONTCONFIG=2.13.93 +VERSION_FONTCONFIG=2.13.94 VERSION_HARFBUZZ=3.2.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 @@ -166,7 +166,7 @@ version_latest "orc" "$VERSION_ORC" "2573" version_latest "gdkpixbuf" "$VERSION_GDKPIXBUF" "9533" version_latest "freetype" "$VERSION_FREETYPE" "854" version_latest "expat" "$VERSION_EXPAT" "770" -#version_latest "fontconfig" "$VERSION_FONTCONFIG" "827" # 2.13.94 fails to build on macOS +version_latest "fontconfig" "$VERSION_FONTCONFIG" "827" version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" @@ -382,10 +382,21 @@ make install-strip mkdir ${DEPS}/fontconfig $CURL https://www.freedesktop.org/software/fontconfig/release/fontconfig-${VERSION_FONTCONFIG}.tar.xz | tar xJC ${DEPS}/fontconfig --strip-components=1 cd ${DEPS}/fontconfig -./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --with-expat-includes=${TARGET}/include --with-expat-lib=${TARGET}/lib ${LINUX:+--sysconfdir=/etc} \ - ${DARWIN:+--sysconfdir=/usr/local/etc} --disable-docs --disable-nls -make install-strip +# [PATCH] Fix FC_DEFAULT_FONTS on macOS and with BSD sed +$CURL https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/889097353ecd7b061ae7cf677e3db56db77a135f.patch | patch -p1 +# [PATCH] Add the option to not build fontconfig cache during +$CURL https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/877d8699047f91975f71fce4498a7ed6cc1dc439.patch | patch -p1 +# [PATCH] Fix a memory leak when trying to open a non-existing file +$CURL https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/57032f489b2cbe98c8e7927f4c18738869831f41.patch | patch -p1 +# [PATCH] Free local FcCache lock on contention +$CURL https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/efc71a3c132be05461ffc872e70390d61f27bc7e.patch | patch -p1 +# [PATCH] Fix possible memory leaks in FcPatternObjectAddWithBinding +$CURL https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/875878efb7ddd57303b75320b4ea10ee2b9cf370.patch | patch -p1 +meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ + -Dcache-build=disabled -Ddoc=disabled -Dnls=disabled -Dtests=disabled -Dtools=disabled \ + ${LINUX:+--sysconfdir=/etc} ${DARWIN:+--sysconfdir=/usr/local/etc} +ninja -C _build +ninja -C _build install mkdir ${DEPS}/harfbuzz $CURL https://github.com/harfbuzz/harfbuzz/archive/${VERSION_HARFBUZZ}.tar.gz | tar xzC ${DEPS}/harfbuzz --strip-components=1 From a3be8d73ce8c60e53d028c0d89a7dea66affa21c Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 31 Jan 2022 21:05:43 +0000 Subject: [PATCH 042/327] Windows: use v8.12.2-build2 binaries --- build/win.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/win.sh b/build/win.sh index 58659d63..3405e2b0 100755 --- a/build/win.sh +++ b/build/win.sh @@ -23,7 +23,7 @@ case ${PLATFORM} in esac FILENAME="vips-dev-${ARCH}-web-${VERSION_VIPS}-static.zip" -URL="https://github.com/libvips/build-win64-mxe/releases/download/v${VERSION_VIPS}/${FILENAME}" +URL="https://github.com/libvips/build-win64-mxe/releases/download/v${VERSION_VIPS}-build2/${FILENAME}" echo "Downloading $URL" $CURL -O $URL unzip $FILENAME From 50c04b5bde8125793e6e8d2ac41f38569cd0b5d5 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 1 Feb 2022 08:59:09 +0000 Subject: [PATCH 043/327] Bump deps: harfbuzz --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 7e999055..01d0f1ac 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -116,7 +116,7 @@ VERSION_GDKPIXBUF=2.42.6 VERSION_FREETYPE=2.11.1 VERSION_EXPAT=2.4.4 VERSION_FONTCONFIG=2.13.94 -VERSION_HARFBUZZ=3.2.0 +VERSION_HARFBUZZ=3.3.1 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 From 187714b7598491a035c999419c50bdc3d3d108a7 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 9 Feb 2022 12:03:30 +0000 Subject: [PATCH 044/327] Bump deps: fontconfig, harfbuzz, lcms2 --- build/lin.sh | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 01d0f1ac..438b2584 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -103,7 +103,7 @@ VERSION_GLIB=2.71.1 VERSION_XML2=2.9.12 VERSION_GSF=1.14.48 VERSION_EXIF=0.6.24 -VERSION_LCMS2=2.13 +VERSION_LCMS2=2.13.1 VERSION_MOZJPEG=4.0.3 VERSION_PNG16=1.6.37 VERSION_SPNG=0.7.1 @@ -115,8 +115,8 @@ VERSION_PROXY_LIBINTL=0.3 VERSION_GDKPIXBUF=2.42.6 VERSION_FREETYPE=2.11.1 VERSION_EXPAT=2.4.4 -VERSION_FONTCONFIG=2.13.94 -VERSION_HARFBUZZ=3.3.1 +VERSION_FONTCONFIG=2.13.96 +VERSION_HARFBUZZ=3.3.2 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 @@ -249,7 +249,7 @@ cd ${DEPS}/exif make install-strip mkdir ${DEPS}/lcms2 -$CURL https://downloads.sourceforge.net/project/lcms/lcms/${VERSION_LCMS2}/lcms2-${VERSION_LCMS2}.tar.gz | tar xzC ${DEPS}/lcms2 --strip-components=1 +$CURL https://github.com/mm2/Little-CMS/releases/download/lcms${VERSION_LCMS2}/lcms2-${VERSION_LCMS2}.tar.gz | tar xzC ${DEPS}/lcms2 --strip-components=1 cd ${DEPS}/lcms2 CFLAGS="${CFLAGS} -O3" ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking make install-strip @@ -382,16 +382,6 @@ make install-strip mkdir ${DEPS}/fontconfig $CURL https://www.freedesktop.org/software/fontconfig/release/fontconfig-${VERSION_FONTCONFIG}.tar.xz | tar xJC ${DEPS}/fontconfig --strip-components=1 cd ${DEPS}/fontconfig -# [PATCH] Fix FC_DEFAULT_FONTS on macOS and with BSD sed -$CURL https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/889097353ecd7b061ae7cf677e3db56db77a135f.patch | patch -p1 -# [PATCH] Add the option to not build fontconfig cache during -$CURL https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/877d8699047f91975f71fce4498a7ed6cc1dc439.patch | patch -p1 -# [PATCH] Fix a memory leak when trying to open a non-existing file -$CURL https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/57032f489b2cbe98c8e7927f4c18738869831f41.patch | patch -p1 -# [PATCH] Free local FcCache lock on contention -$CURL https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/efc71a3c132be05461ffc872e70390d61f27bc7e.patch | patch -p1 -# [PATCH] Fix possible memory leaks in FcPatternObjectAddWithBinding -$CURL https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/875878efb7ddd57303b75320b4ea10ee2b9cf370.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dcache-build=disabled -Ddoc=disabled -Dnls=disabled -Dtests=disabled -Dtools=disabled \ ${LINUX:+--sysconfdir=/etc} ${DARWIN:+--sysconfdir=/usr/local/etc} From a09719f9392b311bffbaa3f2a9edcf33ad634db2 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 9 Feb 2022 12:10:39 +0000 Subject: [PATCH 045/327] Linux x64/arm64v8: upgrade gcc to version 11 --- linux-arm64v8/Dockerfile | 6 +++--- linux-x64/Dockerfile | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index d9d2ec7e..5c383a65 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -7,7 +7,7 @@ LABEL maintainer="Lovell Fuller " ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-10/root/usr/bin:$PATH" + PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-11/root/usr/bin:$PATH" # Build dependencies RUN \ @@ -18,8 +18,8 @@ RUN \ advancecomp \ brotli \ cmake3 \ - devtoolset-10-gcc \ - devtoolset-10-gcc-c++ \ + devtoolset-11-gcc \ + devtoolset-11-gcc-c++ \ glib2-devel \ gobject-introspection-devel \ gperf \ diff --git a/linux-x64/Dockerfile b/linux-x64/Dockerfile index 86f6ba24..9c6b8863 100644 --- a/linux-x64/Dockerfile +++ b/linux-x64/Dockerfile @@ -7,7 +7,7 @@ LABEL maintainer="Lovell Fuller " ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-10/root/usr/bin:$PATH" + PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-11/root/usr/bin:$PATH" # Build dependencies RUN \ @@ -18,8 +18,8 @@ RUN \ advancecomp \ brotli \ cmake3 \ - devtoolset-10-gcc \ - devtoolset-10-gcc-c++ \ + devtoolset-11-gcc \ + devtoolset-11-gcc-c++ \ glib2-devel \ gobject-introspection-devel \ gperf \ From 4d9685ee185b7586f8d701205d9f9aa342a13197 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 9 Feb 2022 13:31:21 +0000 Subject: [PATCH 046/327] Linux arm64v8: enable ACLE (crc32) intrinsics --- linux-arm64v8/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index 5c383a65..148ff036 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -43,7 +43,7 @@ RUN \ ENV \ PLATFORM="linux-arm64v8" \ CARGO_BUILD_TARGET="aarch64-unknown-linux-gnu" \ - FLAGS="-march=armv8-a" \ + FLAGS="-march=armv8-a+crc -mfpu=neon" \ MESON="--cross-file=/root/meson.ini" COPY Toolchain.cmake /root/ From ace10a8d41e38a52b203a326a45a002f721d10a2 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 9 Feb 2022 13:33:00 +0000 Subject: [PATCH 047/327] Linux arm64v8: remove neon flag as it is default --- linux-arm64v8/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index 148ff036..ecd64a5c 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -43,7 +43,7 @@ RUN \ ENV \ PLATFORM="linux-arm64v8" \ CARGO_BUILD_TARGET="aarch64-unknown-linux-gnu" \ - FLAGS="-march=armv8-a+crc -mfpu=neon" \ + FLAGS="-march=armv8-a+crc" \ MESON="--cross-file=/root/meson.ini" COPY Toolchain.cmake /root/ From ec21f48800a4b06e62ee0f52e7de08ce2b61061e Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 9 Feb 2022 14:10:23 +0000 Subject: [PATCH 048/327] Linux arm64v8: rollback to gcc 10, remove ACLE support --- linux-arm64v8/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index ecd64a5c..d9d2ec7e 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -7,7 +7,7 @@ LABEL maintainer="Lovell Fuller " ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-11/root/usr/bin:$PATH" + PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-10/root/usr/bin:$PATH" # Build dependencies RUN \ @@ -18,8 +18,8 @@ RUN \ advancecomp \ brotli \ cmake3 \ - devtoolset-11-gcc \ - devtoolset-11-gcc-c++ \ + devtoolset-10-gcc \ + devtoolset-10-gcc-c++ \ glib2-devel \ gobject-introspection-devel \ gperf \ @@ -43,7 +43,7 @@ RUN \ ENV \ PLATFORM="linux-arm64v8" \ CARGO_BUILD_TARGET="aarch64-unknown-linux-gnu" \ - FLAGS="-march=armv8-a+crc" \ + FLAGS="-march=armv8-a" \ MESON="--cross-file=/root/meson.ini" COPY Toolchain.cmake /root/ From 4037fa655cd6c59ed30aa8a96e70b7c1ac1ad77d Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 24 Mar 2022 14:41:13 +0000 Subject: [PATCH 049/327] Bump deps: aom,cgif,expat,gdkpixbuf,glib,gsf,harfbuzz,pango,spng,xml2 Temporarily pin cairo and rsvg as these require bigger changes --- build/lin.sh | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 438b2584..4ba5da34 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -99,32 +99,32 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 -VERSION_GLIB=2.71.1 -VERSION_XML2=2.9.12 -VERSION_GSF=1.14.48 +VERSION_GLIB=2.72.0 +VERSION_XML2=2.9.13 +VERSION_GSF=1.14.49 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.13.1 VERSION_MOZJPEG=4.0.3 VERSION_PNG16=1.6.37 -VERSION_SPNG=0.7.1 +VERSION_SPNG=0.7.2 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.2.2 VERSION_TIFF=4.3.0 VERSION_ORC=0.4.32 VERSION_PROXY_LIBINTL=0.3 -VERSION_GDKPIXBUF=2.42.6 +VERSION_GDKPIXBUF=2.42.8 VERSION_FREETYPE=2.11.1 -VERSION_EXPAT=2.4.4 +VERSION_EXPAT=2.4.7 VERSION_FONTCONFIG=2.13.96 -VERSION_HARFBUZZ=3.3.2 +VERSION_HARFBUZZ=4.1.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.4 VERSION_FRIBIDI=1.0.11 -VERSION_PANGO=1.50.3 +VERSION_PANGO=1.50.6 VERSION_SVG=2.52.5 -VERSION_AOM=3.2.0 +VERSION_AOM=3.3.0 VERSION_HEIF=1.12.0 -VERSION_CGIF=0.1.0 +VERSION_CGIF=0.2.1 # Remove patch version component without_patch() { @@ -169,10 +169,10 @@ version_latest "expat" "$VERSION_EXPAT" "770" version_latest "fontconfig" "$VERSION_FONTCONFIG" "827" version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" version_latest "pixman" "$VERSION_PIXMAN" "3648" -version_latest "cairo" "$VERSION_CAIRO" "247" +#version_latest "cairo" "$VERSION_CAIRO" "247" # TODO: latest switches to meson, snapshot not yet published version_latest "fribidi" "$VERSION_FRIBIDI" "857" version_latest "pango" "$VERSION_PANGO" "11783" -version_latest "svg" "$VERSION_SVG" "5420" +#version_latest "svg" "$VERSION_SVG" "5420" # TODO: latest depends on python3-docutils version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "64439" #version_latest "cgif" "$VERSION_CGIF" "" # not yet in release monitoring @@ -224,7 +224,7 @@ ninja -C _build ninja -C _build install mkdir ${DEPS}/xml2 -$CURL http://xmlsoft.org/sources/libxml2-${VERSION_XML2}.tar.gz | tar xzC ${DEPS}/xml2 --strip-components=1 +$CURL https://download.gnome.org/sources/libxml2/2.9/libxml2-${VERSION_XML2}.tar.xz | tar xJC ${DEPS}/xml2 --strip-components=1 cd ${DEPS}/xml2 ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --with-minimum --with-reader --with-writer --with-valid --with-http --with-tree --without-python --without-lzma \ @@ -255,7 +255,7 @@ CFLAGS="${CFLAGS} -O3" ./configure --host=${CHOST} --prefix=${TARGET} --enable-s make install-strip mkdir ${DEPS}/aom -$CURL https://storage.googleapis.com/aom-releases/libaom-${VERSION_AOM}.tar.gz | tar xzC ${DEPS}/aom +$CURL https://storage.googleapis.com/aom-releases/libaom-${VERSION_AOM}.tar.gz | tar xzC ${DEPS}/aom --strip-components=1 cd ${DEPS}/aom mkdir aom_build cd aom_build @@ -279,7 +279,7 @@ $CURL https://github.com/lovell/libheif/commit/e625a702ec7d46ce042922547d7604529 # [PATCH] Avoid lroundf $CURL https://github.com/strukturag/libheif/pull/551/commits/e9004e96fbaf45b97d73e2469afd8ecfc9930ad0.patch | patch -p1 # [PATCH] aom: verify NCLX values against known bounds -$CURL https://github.com/strukturag/libheif/pull/583/commits/7da30e57498b2b67434abd4767377ee7b3d93ee4.patch | git apply - +$CURL https://github.com/strukturag/libheif/pull/583/commits/80300f8c8b4edb4e214a94668eeb9b88cba95774.patch | git apply - CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" ./configure \ --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-gdk-pixbuf --disable-go --disable-examples --disable-libde265 --disable-x265 @@ -357,7 +357,7 @@ sed -i'.bak' "/loaders_cache = custom/{N;N;N;N;N;N;N;N;N;c\\ sed -i'.bak' "s/has_header('jpeglib.h')/has_header('jpeglib.h', args: '-I\/target\/include')/g" meson.build sed -i'.bak' "s/cc.find_library('jpeg'/dependency('libjpeg'/g" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dtiff=false -Dintrospection=disabled -Dinstalled_tests=false -Dgio_sniffing=false -Dman=false -Dbuiltin_loaders=png,jpeg + -Dtiff=disabled -Dintrospection=disabled -Dinstalled_tests=false -Dgio_sniffing=false -Dman=false -Dbuiltin_loaders=png,jpeg ninja -C _build ninja -C _build install # Include libjpeg and libpng as a dependency of gdk-pixbuf, see: https://gitlab.gnome.org/GNOME/gdk-pixbuf/merge_requests/50 From dd6155f8edfb22840eeeddd7ab4b20fc7fc7deac Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 24 Mar 2022 17:59:11 +0000 Subject: [PATCH 050/327] Bump deps: cairo (and switch to meson) --- build/lin.sh | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 4ba5da34..fb6e3d0e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -118,7 +118,7 @@ VERSION_EXPAT=2.4.7 VERSION_FONTCONFIG=2.13.96 VERSION_HARFBUZZ=4.1.0 VERSION_PIXMAN=0.40.0 -VERSION_CAIRO=1.17.4 +VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.11 VERSION_PANGO=1.50.6 VERSION_SVG=2.52.5 @@ -169,7 +169,7 @@ version_latest "expat" "$VERSION_EXPAT" "770" version_latest "fontconfig" "$VERSION_FONTCONFIG" "827" version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" version_latest "pixman" "$VERSION_PIXMAN" "3648" -#version_latest "cairo" "$VERSION_CAIRO" "247" # TODO: latest switches to meson, snapshot not yet published +version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" version_latest "pango" "$VERSION_PANGO" "11783" #version_latest "svg" "$VERSION_SVG" "5420" # TODO: latest depends on python3-docutils @@ -409,15 +409,13 @@ ninja -C _build ninja -C _build install mkdir ${DEPS}/cairo -$CURL https://cairographics.org/snapshots/cairo-${VERSION_CAIRO}.tar.xz | tar xJC ${DEPS}/cairo --strip-components=1 +$CURL https://gitlab.freedesktop.org/cairo/cairo/-/archive/${VERSION_CAIRO}/cairo-${VERSION_CAIRO}.tar.bz2 | tar xjC ${DEPS}/cairo --strip-components=1 cd ${DEPS}/cairo -sed -i'.bak' "s/^\(Libs:.*\)/\1 @CAIRO_NONPKGCONFIG_LIBS@/" src/cairo.pc.in -CFLAGS="$CFLAGS ${LINUX:+-fno-function-sections -fno-data-sections}" LDFLAGS="$LDFLAGS ${LINUX:+-Wl,--no-gc-sections}" ./configure \ - --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --disable-xlib --disable-xcb --disable-win32 --disable-egl --disable-glx --disable-wgl --disable-ps \ - --disable-trace --disable-interpreter ${LINUX:+--disable-quartz} ${DARWIN:+--enable-quartz-image} \ - LIBS="-lpixman-1 -lfreetype" -make install-strip +meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ + ${LINUX:+-Dquartz=disabled} ${DARWIN:+-Dquartz=enabled} -Dxcb=disabled -Dxlib=disabled -Dzlib=disabled \ + -Dtests=disabled -Dspectre=disabled -Dsymbol-lookup=disabled +ninja -C _build +ninja -C _build install mkdir ${DEPS}/fribidi $CURL https://github.com/fribidi/fribidi/releases/download/v${VERSION_FRIBIDI}/fribidi-${VERSION_FRIBIDI}.tar.xz | tar xJC ${DEPS}/fribidi --strip-components=1 From 3dc37d58bea6b44d1fa4a8f69be6200135939dd0 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 4 Apr 2022 10:28:52 +0100 Subject: [PATCH 051/327] Bump deps: expat, fontconfig, freetype, harfbuzz --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index fb6e3d0e..029ac3b2 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -113,10 +113,10 @@ VERSION_TIFF=4.3.0 VERSION_ORC=0.4.32 VERSION_PROXY_LIBINTL=0.3 VERSION_GDKPIXBUF=2.42.8 -VERSION_FREETYPE=2.11.1 -VERSION_EXPAT=2.4.7 -VERSION_FONTCONFIG=2.13.96 -VERSION_HARFBUZZ=4.1.0 +VERSION_FREETYPE=2.12.0 +VERSION_EXPAT=2.4.8 +VERSION_FONTCONFIG=2.14.0 +VERSION_HARFBUZZ=4.2.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.11 From 13445938f9e5f1bbb95294a6265cf4e4ce71dd4a Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 4 Apr 2022 10:56:01 +0100 Subject: [PATCH 052/327] Bump deps: rsvg (unpinned with patch) --- build/lin.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 029ac3b2..114955f8 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -121,7 +121,7 @@ VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.11 VERSION_PANGO=1.50.6 -VERSION_SVG=2.52.5 +VERSION_SVG=2.54.0 VERSION_AOM=3.3.0 VERSION_HEIF=1.12.0 VERSION_CGIF=0.2.1 @@ -172,7 +172,7 @@ version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" version_latest "pango" "$VERSION_PANGO" "11783" -#version_latest "svg" "$VERSION_SVG" "5420" # TODO: latest depends on python3-docutils +version_latest "svg" "$VERSION_SVG" "5420" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "64439" #version_latest "cgif" "$VERSION_CGIF" "" # not yet in release monitoring @@ -440,6 +440,9 @@ ninja -C _build install mkdir ${DEPS}/svg $CURL https://download.gnome.org/sources/librsvg/$(without_patch $VERSION_SVG)/librsvg-${VERSION_SVG}.tar.xz | tar xJC ${DEPS}/svg --strip-components=1 cd ${DEPS}/svg +# [PATCH] (#859): Make rst2man and gi-docgen optional +$CURL https://gitlab.gnome.org/GNOME/librsvg/-/commit/8eccd72a6b07f624768e734d3eadc3a1cde14f47.patch | patch -p1 +autoreconf -fiv sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo/" librsvg.pc.in # LTO optimization does not work for staticlib+rlib compilation sed -i'.bak' "s/, \"rlib\"//" Cargo.toml From e44951ab0043efc525cc60eeab2efaf4e4dab35e Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 18 Apr 2022 10:32:29 +0100 Subject: [PATCH 053/327] Bump deps: glib, pango --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 114955f8..578e61e5 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -99,7 +99,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 -VERSION_GLIB=2.72.0 +VERSION_GLIB=2.72.1 VERSION_XML2=2.9.13 VERSION_GSF=1.14.49 VERSION_EXIF=0.6.24 @@ -120,7 +120,7 @@ VERSION_HARFBUZZ=4.2.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.11 -VERSION_PANGO=1.50.6 +VERSION_PANGO=1.50.7 VERSION_SVG=2.54.0 VERSION_AOM=3.3.0 VERSION_HEIF=1.12.0 From 4f4be469a9376000e28bbab5b3c247d1745c8143 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 23 Apr 2022 14:37:29 +0100 Subject: [PATCH 054/327] Bump deps: cgif, fribidi, rsvg --- build/lin.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 578e61e5..172941d6 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -119,12 +119,12 @@ VERSION_FONTCONFIG=2.14.0 VERSION_HARFBUZZ=4.2.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 -VERSION_FRIBIDI=1.0.11 +VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.7 -VERSION_SVG=2.54.0 +VERSION_SVG=2.54.1 VERSION_AOM=3.3.0 VERSION_HEIF=1.12.0 -VERSION_CGIF=0.2.1 +VERSION_CGIF=0.3.0 # Remove patch version component without_patch() { @@ -440,8 +440,6 @@ ninja -C _build install mkdir ${DEPS}/svg $CURL https://download.gnome.org/sources/librsvg/$(without_patch $VERSION_SVG)/librsvg-${VERSION_SVG}.tar.xz | tar xJC ${DEPS}/svg --strip-components=1 cd ${DEPS}/svg -# [PATCH] (#859): Make rst2man and gi-docgen optional -$CURL https://gitlab.gnome.org/GNOME/librsvg/-/commit/8eccd72a6b07f624768e734d3eadc3a1cde14f47.patch | patch -p1 autoreconf -fiv sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo/" librsvg.pc.in # LTO optimization does not work for staticlib+rlib compilation From f258c48b73c072fdc0dbbf8b2a72bf09ae589755 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 23 Apr 2022 16:35:10 +0100 Subject: [PATCH 055/327] rsvg: remove use of autoreconf, no longer required --- build/lin.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 172941d6..235f15ad 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -440,7 +440,6 @@ ninja -C _build install mkdir ${DEPS}/svg $CURL https://download.gnome.org/sources/librsvg/$(without_patch $VERSION_SVG)/librsvg-${VERSION_SVG}.tar.xz | tar xJC ${DEPS}/svg --strip-components=1 cd ${DEPS}/svg -autoreconf -fiv sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo/" librsvg.pc.in # LTO optimization does not work for staticlib+rlib compilation sed -i'.bak' "s/, \"rlib\"//" Cargo.toml From 7d182412a5bd2dd28d36424040b5e2cf7925913a Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 11 May 2022 14:27:52 +0100 Subject: [PATCH 056/327] Bump deps: freetype, harfbuzz, proxy-libintl, xml2 Allow latest version checks via GitHub --- build/lin.sh | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 235f15ad..24b72ceb 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -100,7 +100,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 VERSION_GLIB=2.72.1 -VERSION_XML2=2.9.13 +VERSION_XML2=2.9.14 VERSION_GSF=1.14.49 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.13.1 @@ -111,12 +111,12 @@ VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.2.2 VERSION_TIFF=4.3.0 VERSION_ORC=0.4.32 -VERSION_PROXY_LIBINTL=0.3 +VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.8 -VERSION_FREETYPE=2.12.0 +VERSION_FREETYPE=2.12.1 VERSION_EXPAT=2.4.8 VERSION_FONTCONFIG=2.14.0 -VERSION_HARFBUZZ=4.2.0 +VERSION_HARFBUZZ=4.2.1 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 @@ -143,7 +143,11 @@ version_latest() { if [[ "$4" == *"unstable"* ]]; then VERSION_SELECTOR="versions" fi - VERSION_LATEST=$($CURL "https://release-monitoring.org/api/v2/versions/?project_id=$3" | jq -j ".$VERSION_SELECTOR[0]" | tr '_' '.') + if [[ "$3" == *"/"* ]]; then + VERSION_LATEST=$($CURL "https://api.github.com/repos/$3/tags" | jq -r '.[0].name' | tr -d 'vV') + else + VERSION_LATEST=$($CURL "https://release-monitoring.org/api/v2/versions/?project_id=$3" | jq -j ".$VERSION_SELECTOR[0]" | tr '_' '.') + fi if [ "$VERSION_LATEST" != "$2" ]; then ALL_AT_VERSION_LATEST=false echo "$1 version $2 has been superseded by $VERSION_LATEST" @@ -156,13 +160,13 @@ version_latest "xml2" "$VERSION_XML2" "1783" version_latest "gsf" "$VERSION_GSF" "1980" version_latest "exif" "$VERSION_EXIF" "1607" version_latest "lcms2" "$VERSION_LCMS2" "9815" -#version_latest "mozjpeg" "$VERSION_MOZJPEG" "" # not yet in release monitoring +version_latest "mozjpeg" "$VERSION_MOZJPEG" "mozilla/mozjpeg" version_latest "png" "$VERSION_PNG16" "1705" version_latest "spng" "$VERSION_SPNG" "24289" version_latest "webp" "$VERSION_WEBP" "1761" version_latest "tiff" "$VERSION_TIFF" "1738" version_latest "orc" "$VERSION_ORC" "2573" -#version_latest "proxy-libintl" "$VERSION_PROXY_LIBINTL" "" # not yet in release monitoring +version_latest "proxy-libintl" "$VERSION_PROXY_LIBINTL" "frida/proxy-libintl" version_latest "gdkpixbuf" "$VERSION_GDKPIXBUF" "9533" version_latest "freetype" "$VERSION_FREETYPE" "854" version_latest "expat" "$VERSION_EXPAT" "770" @@ -175,7 +179,7 @@ version_latest "pango" "$VERSION_PANGO" "11783" version_latest "svg" "$VERSION_SVG" "5420" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "64439" -#version_latest "cgif" "$VERSION_CGIF" "" # not yet in release monitoring +version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" if [ "$ALL_AT_VERSION_LATEST" = "false" ]; then exit 1; fi # Download and build dependencies from source From 177ceda2e7b292c0d43a5447bea6a57b02f05cbd Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 11 May 2022 14:55:05 +0100 Subject: [PATCH 057/327] Use double quotes around jq expression for macOS compatibility --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 24b72ceb..fe54800c 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -144,7 +144,7 @@ version_latest() { VERSION_SELECTOR="versions" fi if [[ "$3" == *"/"* ]]; then - VERSION_LATEST=$($CURL "https://api.github.com/repos/$3/tags" | jq -r '.[0].name' | tr -d 'vV') + VERSION_LATEST=$($CURL "https://api.github.com/repos/$3/tags" | jq -j ".[0].name" | tr -d 'vV') else VERSION_LATEST=$($CURL "https://release-monitoring.org/api/v2/versions/?project_id=$3" | jq -j ".$VERSION_SELECTOR[0]" | tr '_' '.') fi From bbd417b9fb96c4430359f98a9b5133ef0d822282 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 11 May 2022 15:59:08 +0100 Subject: [PATCH 058/327] Use token-based auth for GitHub API calls It looks like the macOS runners git GitHub Actions have their egress IP address(es) blocked for anonymouse API access. --- build.sh | 2 +- build/lin.sh | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/build.sh b/build.sh index 14eccb98..be9594e7 100755 --- a/build.sh +++ b/build.sh @@ -92,6 +92,6 @@ for flavour in linux-x64 linuxmusl-x64 linux-armv6 linux-armv7 linux-arm64v8 lin if [ $PLATFORM = "all" ] || [ $PLATFORM = $flavour ]; then echo "Building $flavour..." docker build -t vips-dev-$flavour $flavour - docker run --rm -e "VERSION_VIPS=${VERSION_VIPS}" -e VERSION_LATEST_REQUIRED -v $PWD:/packaging vips-dev-$flavour sh -c "/packaging/build/lin.sh" + docker run --rm -e "VERSION_VIPS=${VERSION_VIPS}" -e VERSION_LATEST_REQUIRED -e GITHUB_TOKEN -v $PWD:/packaging vips-dev-$flavour sh -c "/packaging/build/lin.sh" fi done diff --git a/build/lin.sh b/build/lin.sh index fe54800c..d0856477 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -96,6 +96,11 @@ unset PKG_CONFIG_PATH # Common options for curl CURL="curl --silent --location --retry 3 --retry-max-time 30" +# Use token-based authentication for the GitHub API +if [[ ! -z "$GITHUB_TOKEN" ]]; then + GITHUB_AUTH_HEADER="--header 'Authorization: Bearer ${GITHUB_TOKEN}'" +fi + # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 @@ -144,7 +149,7 @@ version_latest() { VERSION_SELECTOR="versions" fi if [[ "$3" == *"/"* ]]; then - VERSION_LATEST=$($CURL "https://api.github.com/repos/$3/tags" | jq -j ".[0].name" | tr -d 'vV') + VERSION_LATEST=$($CURL $GITHUB_AUTH_HEADER "https://api.github.com/repos/$3/tags" | jq -j ".[0].name" | tr -d 'vV') else VERSION_LATEST=$($CURL "https://release-monitoring.org/api/v2/versions/?project_id=$3" | jq -j ".$VERSION_SELECTOR[0]" | tr '_' '.') fi From 5d6e4d15df25eef23bdf304a5434a1381499beba Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 11 May 2022 16:06:30 +0100 Subject: [PATCH 059/327] CI: generate GitHub API bearer token auth header outside scripts --- .github/workflows/build-release.yml | 2 ++ build.sh | 2 +- build/lin.sh | 5 ----- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 6c1f7cad..897fc748 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -49,6 +49,8 @@ jobs: - name: Build ${{ matrix.platform }} id: build-release run: ./build.sh $(cat LIBVIPS_VERSION) ${{ matrix.platform }} + env: + GITHUB_AUTH_HEADER: "--header 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}'" - name: Generate integrity checksums id: integrity run: ./integrity.sh diff --git a/build.sh b/build.sh index be9594e7..4fa421d4 100755 --- a/build.sh +++ b/build.sh @@ -92,6 +92,6 @@ for flavour in linux-x64 linuxmusl-x64 linux-armv6 linux-armv7 linux-arm64v8 lin if [ $PLATFORM = "all" ] || [ $PLATFORM = $flavour ]; then echo "Building $flavour..." docker build -t vips-dev-$flavour $flavour - docker run --rm -e "VERSION_VIPS=${VERSION_VIPS}" -e VERSION_LATEST_REQUIRED -e GITHUB_TOKEN -v $PWD:/packaging vips-dev-$flavour sh -c "/packaging/build/lin.sh" + docker run --rm -e "VERSION_VIPS=${VERSION_VIPS}" -e VERSION_LATEST_REQUIRED -e GITHUB_AUTH_HEADER -v $PWD:/packaging vips-dev-$flavour sh -c "/packaging/build/lin.sh" fi done diff --git a/build/lin.sh b/build/lin.sh index d0856477..4328849f 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -96,11 +96,6 @@ unset PKG_CONFIG_PATH # Common options for curl CURL="curl --silent --location --retry 3 --retry-max-time 30" -# Use token-based authentication for the GitHub API -if [[ ! -z "$GITHUB_TOKEN" ]]; then - GITHUB_AUTH_HEADER="--header 'Authorization: Bearer ${GITHUB_TOKEN}'" -fi - # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 From 533aa6685d6b492ba1dafc3aa181905655504c8f Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 13 May 2022 13:27:40 +0200 Subject: [PATCH 060/327] Bump dep: rsvg (#132) --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 4328849f..aeca1f19 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -121,7 +121,7 @@ VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.7 -VERSION_SVG=2.54.1 +VERSION_SVG=2.54.2 VERSION_AOM=3.3.0 VERSION_HEIF=1.12.0 VERSION_CGIF=0.3.0 From 462e83f57cb79c1311f4924e7502ea13b96bcad0 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 13 May 2022 15:25:48 +0200 Subject: [PATCH 061/327] Use `git ls-remote` to fetch the latest tag (#133) Using the `GITHUB_TOKEN` secret didn't work, since that access token is scoped to the repository running the workflow. So, retrieving tags from other repositories might still exceed the rate limit of GitHub's Rest API. --- .github/workflows/build-release.yml | 2 -- build.sh | 2 +- build/lin.sh | 2 +- linuxmusl-arm64v8/Dockerfile | 1 + linuxmusl-x64/Dockerfile | 1 + 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 897fc748..6c1f7cad 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -49,8 +49,6 @@ jobs: - name: Build ${{ matrix.platform }} id: build-release run: ./build.sh $(cat LIBVIPS_VERSION) ${{ matrix.platform }} - env: - GITHUB_AUTH_HEADER: "--header 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}'" - name: Generate integrity checksums id: integrity run: ./integrity.sh diff --git a/build.sh b/build.sh index 4fa421d4..14eccb98 100755 --- a/build.sh +++ b/build.sh @@ -92,6 +92,6 @@ for flavour in linux-x64 linuxmusl-x64 linux-armv6 linux-armv7 linux-arm64v8 lin if [ $PLATFORM = "all" ] || [ $PLATFORM = $flavour ]; then echo "Building $flavour..." docker build -t vips-dev-$flavour $flavour - docker run --rm -e "VERSION_VIPS=${VERSION_VIPS}" -e VERSION_LATEST_REQUIRED -e GITHUB_AUTH_HEADER -v $PWD:/packaging vips-dev-$flavour sh -c "/packaging/build/lin.sh" + docker run --rm -e "VERSION_VIPS=${VERSION_VIPS}" -e VERSION_LATEST_REQUIRED -v $PWD:/packaging vips-dev-$flavour sh -c "/packaging/build/lin.sh" fi done diff --git a/build/lin.sh b/build/lin.sh index aeca1f19..69d53eac 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -144,7 +144,7 @@ version_latest() { VERSION_SELECTOR="versions" fi if [[ "$3" == *"/"* ]]; then - VERSION_LATEST=$($CURL $GITHUB_AUTH_HEADER "https://api.github.com/repos/$3/tags" | jq -j ".[0].name" | tr -d 'vV') + VERSION_LATEST=$(git ls-remote --tags --refs https://github.com/$3.git | sort -t'/' -k3 -V | awk -F'/' 'END{print $3}' | tr -d 'vV') else VERSION_LATEST=$($CURL "https://release-monitoring.org/api/v2/versions/?project_id=$3" | jq -j ".$VERSION_SELECTOR[0]" | tr '_' '.') fi diff --git a/linuxmusl-arm64v8/Dockerfile b/linuxmusl-arm64v8/Dockerfile index 93937f0f..27d312b6 100644 --- a/linuxmusl-arm64v8/Dockerfile +++ b/linuxmusl-arm64v8/Dockerfile @@ -19,6 +19,7 @@ RUN \ brotli \ build-base \ cmake \ + coreutils \ curl \ findutils \ git \ diff --git a/linuxmusl-x64/Dockerfile b/linuxmusl-x64/Dockerfile index b4c2ea68..2a0d29db 100644 --- a/linuxmusl-x64/Dockerfile +++ b/linuxmusl-x64/Dockerfile @@ -19,6 +19,7 @@ RUN \ brotli \ build-base \ cmake \ + coreutils \ curl \ findutils \ git \ From 14d643d59648e35daa563c2ac654b8a473d9feac Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 25 May 2022 15:27:44 +0100 Subject: [PATCH 062/327] Bump deps: harfbuzz, rsvg --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 69d53eac..ee4a9fe8 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -116,12 +116,12 @@ VERSION_GDKPIXBUF=2.42.8 VERSION_FREETYPE=2.12.1 VERSION_EXPAT=2.4.8 VERSION_FONTCONFIG=2.14.0 -VERSION_HARFBUZZ=4.2.1 +VERSION_HARFBUZZ=4.3.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.7 -VERSION_SVG=2.54.2 +VERSION_SVG=2.54.3 VERSION_AOM=3.3.0 VERSION_HEIF=1.12.0 VERSION_CGIF=0.3.0 From 493cd794373a57ed7151d0a8eaeefec6669c8931 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sat, 28 May 2022 19:03:58 +0200 Subject: [PATCH 063/327] Bump deps: glib, tiff (#134) --- build/lin.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index ee4a9fe8..8205f0ae 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -99,7 +99,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 -VERSION_GLIB=2.72.1 +VERSION_GLIB=2.73.0 VERSION_XML2=2.9.14 VERSION_GSF=1.14.49 VERSION_EXIF=0.6.24 @@ -109,7 +109,7 @@ VERSION_PNG16=1.6.37 VERSION_SPNG=0.7.2 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.2.2 -VERSION_TIFF=4.3.0 +VERSION_TIFF=4.4.0 VERSION_ORC=0.4.32 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.8 @@ -328,7 +328,6 @@ make install-strip mkdir ${DEPS}/tiff $CURL https://download.osgeo.org/libtiff/tiff-${VERSION_TIFF}.tar.gz | tar xzC ${DEPS}/tiff --strip-components=1 cd ${DEPS}/tiff -if [ -n "${CHOST}" ]; then autoreconf -fiv; fi ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-mdi --disable-pixarlog --disable-old-jpeg --disable-cxx --disable-lzma --disable-zstd \ --with-jpeg-include-dir=${TARGET}/include --with-jpeg-lib-dir=${TARGET}/lib From c68ec1ef528d16e12b60c635411bb44d814ec619 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 29 May 2022 21:16:39 +0200 Subject: [PATCH 064/327] Various improvements (#135) - Remove `CPATH` env in favor of `CPPFLAGS`. - Remove redundant `LIBRARY_PATH` env. - Remove redundant sed replacements and configure options. - Enable Arm Neon support in libwebp, if available. - Enable WebP support in libtiff. --- build/lin.sh | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 8205f0ae..32f46af2 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -38,13 +38,12 @@ fi # Common build paths and flags export PKG_CONFIG_LIBDIR="${TARGET}/lib/pkgconfig" export PATH="${PATH}:${TARGET}/bin" -export CPATH="${TARGET}/include" -export LIBRARY_PATH="${TARGET}/lib" export LD_LIBRARY_PATH="${TARGET}/lib" export CFLAGS="${FLAGS}" export CXXFLAGS="${FLAGS}" export OBJCFLAGS="${FLAGS}" export OBJCXXFLAGS="${FLAGS}" +export CPPFLAGS="-I${TARGET}/include" export LDFLAGS="-L${TARGET}/lib" # On Linux, we need to create a relocatable library @@ -231,8 +230,7 @@ mkdir ${DEPS}/xml2 $CURL https://download.gnome.org/sources/libxml2/2.9/libxml2-${VERSION_XML2}.tar.xz | tar xJC ${DEPS}/xml2 --strip-components=1 cd ${DEPS}/xml2 ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --with-minimum --with-reader --with-writer --with-valid --with-http --with-tree --without-python --without-lzma \ - --with-zlib=${TARGET} + --with-minimum --with-reader --with-writer --with-valid --with-http --with-tree --with-zlib --without-python --without-lzma make install-strip mkdir ${DEPS}/gsf @@ -241,7 +239,7 @@ cd ${DEPS}/gsf # Skip unused subdirs sed -i'.bak' "s/ doc tools tests thumbnailer python//" Makefile.in ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --without-bz2 --without-gdk-pixbuf --disable-nls --without-libiconv-prefix --without-libintl-prefix --with-zlib=${TARGET} + --without-bz2 --without-gdk-pixbuf --disable-nls --without-libiconv-prefix --without-libintl-prefix make install-strip mkdir ${DEPS}/exif @@ -249,7 +247,7 @@ $CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libe cd ${DEPS}/exif ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-nls --without-libiconv-prefix --without-libintl-prefix \ - CPPFLAGS="-DNO_VERBOSE_TAG_DATA" + CPPFLAGS="${CPPFLAGS} -DNO_VERBOSE_TAG_DATA" make install-strip mkdir ${DEPS}/lcms2 @@ -322,15 +320,15 @@ mkdir ${DEPS}/webp $CURL https://storage.googleapis.com/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-static --disable-shared --disable-dependency-tracking \ - --disable-neon --enable-libwebpmux --enable-libwebpdemux + --enable-libwebpmux --enable-libwebpdemux ${WITHOUT_NEON:+--disable-neon} make install-strip mkdir ${DEPS}/tiff $CURL https://download.osgeo.org/libtiff/tiff-${VERSION_TIFF}.tar.gz | tar xzC ${DEPS}/tiff --strip-components=1 cd ${DEPS}/tiff -./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --disable-mdi --disable-pixarlog --disable-old-jpeg --disable-cxx --disable-lzma --disable-zstd \ - --with-jpeg-include-dir=${TARGET}/include --with-jpeg-lib-dir=${TARGET}/lib +# Propagate -pthread into CFLAGS to ensure WebP support +CFLAGS="${CFLAGS} -pthread" ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ + --disable-mdi --disable-pixarlog --disable-old-jpeg --disable-cxx --disable-lzma --disable-zstd make install-strip mkdir ${DEPS}/orc @@ -357,7 +355,6 @@ sed -i'.bak' "/loaders_cache = custom/{N;N;N;N;N;N;N;N;N;c\\ loaders_dep = declare_dependency() }" gdk-pixbuf/meson.build # Ensure meson can find libjpeg when cross-compiling -sed -i'.bak' "s/has_header('jpeglib.h')/has_header('jpeglib.h', args: '-I\/target\/include')/g" meson.build sed -i'.bak' "s/cc.find_library('jpeg'/dependency('libjpeg'/g" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dtiff=disabled -Dintrospection=disabled -Dinstalled_tests=false -Dgio_sniffing=false -Dman=false -Dbuiltin_loaders=png,jpeg From f4bab75da4547b679ba91e9c02b9a41f5664ec4a Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 30 May 2022 12:31:37 +0200 Subject: [PATCH 065/327] arm64v8: prefer latest stable version of Rust (#136) The underlying issue (#109) should be fixed with compiler-builtins v0.1.55, available in Rust 1.59.0. --- build/lin.sh | 2 +- linux-arm64v8/Dockerfile | 1 - linuxmusl-arm64v8/Dockerfile | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 32f46af2..b82d3807 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -185,7 +185,7 @@ if [ "$ALL_AT_VERSION_LATEST" = "false" ]; then exit 1; fi if [ "$DARWIN" = true ]; then curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \ - | sh -s -- -y --no-modify-path --profile minimal ${DARWIN_ARM:+--default-toolchain nightly} + | sh -s -- -y --no-modify-path --profile minimal if [ "$DARWIN_ARM" = true ]; then ${CARGO_HOME}/bin/rustup target add aarch64-apple-darwin fi diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index d9d2ec7e..ae9a3e44 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -32,7 +32,6 @@ RUN \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ --profile minimal \ - --default-toolchain nightly \ && \ rustup target add aarch64-unknown-linux-gnu && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ diff --git a/linuxmusl-arm64v8/Dockerfile b/linuxmusl-arm64v8/Dockerfile index 27d312b6..93461075 100644 --- a/linuxmusl-arm64v8/Dockerfile +++ b/linuxmusl-arm64v8/Dockerfile @@ -44,7 +44,6 @@ RUN \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ --profile minimal \ - --default-toolchain nightly \ && \ rustup target add aarch64-unknown-linux-musl && \ pip3 install meson From c2024df6dddf8be064c823d99c128f962c7259d6 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 30 May 2022 12:32:36 +0200 Subject: [PATCH 066/327] linux-armv{7,6}: remove `--allow-multiple-definition` linker flag (#137) This should be fixed with compiler-builtins v0.1.69, available in Rust 1.60.0. --- build/lin.sh | 6 ------ 1 file changed, 6 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index b82d3807..28c19798 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -83,12 +83,6 @@ export CARGO_PROFILE_RELEASE_LTO=true export CARGO_PROFILE_RELEASE_OPT_LEVEL=z export CARGO_PROFILE_RELEASE_PANIC=abort -# Workaround for https://github.com/rust-lang/compiler-builtins/issues/353 -# (applies only to ARMv6 and ARMv7) -if [[ $PLATFORM == "linux-armv"* ]]; then - export LDFLAGS+=" -Wl,--allow-multiple-definition" -fi - # We don't want to use any native libraries, so unset PKG_CONFIG_PATH unset PKG_CONFIG_PATH From 1a2481c14138ecd50d56916c7ef3afc3c8a29763 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 30 May 2022 12:33:36 +0200 Subject: [PATCH 067/327] Minor improvements (#138) * xml2: use `without_patch` helper * gdk-pixbuf: remove redundant sed replacement This became redundant after GDK-PixBuf 2.42.8, see: https://github.com/GNOME/gdk-pixbuf/commit/993e75a9d3165512a3f472c3a154f975d7193f18 * linux-arm64v8: add FIXME comment --- build/lin.sh | 4 +--- linux-arm64v8/Dockerfile | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 28c19798..5c2912a7 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -221,7 +221,7 @@ ninja -C _build ninja -C _build install mkdir ${DEPS}/xml2 -$CURL https://download.gnome.org/sources/libxml2/2.9/libxml2-${VERSION_XML2}.tar.xz | tar xJC ${DEPS}/xml2 --strip-components=1 +$CURL https://download.gnome.org/sources/libxml2/$(without_patch $VERSION_XML2)/libxml2-${VERSION_XML2}.tar.xz | tar xJC ${DEPS}/xml2 --strip-components=1 cd ${DEPS}/xml2 ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --with-minimum --with-reader --with-writer --with-valid --with-http --with-tree --with-zlib --without-python --without-lzma @@ -348,8 +348,6 @@ sed -i'.bak' "/loaders_cache = custom/{N;N;N;N;N;N;N;N;N;c\\ loaders_cache = []\\ loaders_dep = declare_dependency() }" gdk-pixbuf/meson.build -# Ensure meson can find libjpeg when cross-compiling -sed -i'.bak' "s/cc.find_library('jpeg'/dependency('libjpeg'/g" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dtiff=disabled -Dintrospection=disabled -Dinstalled_tests=false -Dgio_sniffing=false -Dman=false -Dbuiltin_loaders=png,jpeg ninja -C _build diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index ae9a3e44..82a03265 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -18,6 +18,7 @@ RUN \ advancecomp \ brotli \ cmake3 \ + # FIXME: Update to devtoolset-11, see: https://bugs.centos.org/view.php?id=18393 devtoolset-10-gcc \ devtoolset-10-gcc-c++ \ glib2-devel \ From 473411bf3e2270b002e504052f25c541224457c2 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 30 May 2022 12:42:49 +0200 Subject: [PATCH 068/327] heif: update patch URLs (#139) --- build/lin.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 5c2912a7..71251ac1 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -267,15 +267,16 @@ mkdir ${DEPS}/heif $CURL https://github.com/strukturag/libheif/releases/download/v${VERSION_HEIF}/libheif-${VERSION_HEIF}.tar.gz | tar xzC ${DEPS}/heif --strip-components=1 cd ${DEPS}/heif # [PATCH] aom encoder: improve performance by ~2x using new 'all intra' -$CURL https://github.com/lovell/libheif/commit/de0c159a60c2c50931321f06e36a3b6640c5c807.patch | patch -p1 +$CURL https://github.com/strukturag/libheif/commit/de0c159a60c2c50931321f06e36a3b6640c5c807.patch | patch -p1 # [PATCH] aom: expose decoder error messages -$CURL https://github.com/lovell/libheif/commit/7e1c1888023f6dd68cf33e537e7eb8e4d5e17588.patch | patch -p1 +$CURL https://github.com/strukturag/libheif/commit/7e1c1888023f6dd68cf33e537e7eb8e4d5e17588.patch | patch -p1 # [PATCH] Detect and prevent negative overflow of clap box dimensions -$CURL https://github.com/lovell/libheif/commit/e625a702ec7d46ce042922547d76045294af71d6.patch | git apply - +$CURL https://github.com/strukturag/libheif/commit/e625a702ec7d46ce042922547d76045294af71d6.patch | git apply - # [PATCH] Avoid lroundf -$CURL https://github.com/strukturag/libheif/pull/551/commits/e9004e96fbaf45b97d73e2469afd8ecfc9930ad0.patch | patch -p1 -# [PATCH] aom: verify NCLX values against known bounds -$CURL https://github.com/strukturag/libheif/pull/583/commits/80300f8c8b4edb4e214a94668eeb9b88cba95774.patch | git apply - +$CURL https://github.com/strukturag/libheif/commit/499a0a31d79936042c7abeef2513bb0b56b81489.patch | patch -p1 +# [PATCH] Add API to sanitize enums relating to color profiles +$CURL https://github.com/kleisauke/libheif/commit/0d44224914946a00d293c08bbaf4553acc985802.patch | patch -p1 +autoreconf -fiv CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" ./configure \ --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-gdk-pixbuf --disable-go --disable-examples --disable-libde265 --disable-x265 From 28fb3fc5df7e06717c998c92bed932dc199fc57f Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 30 May 2022 12:43:44 +0200 Subject: [PATCH 069/327] Cleanup configurations (#140) - Use `-target arm64-apple-macos11` when cross-compiling for macOS ARM64. - Avoid specifying binaries with their full path. --- build.sh | 2 +- darwin-arm64v8/Toolchain.cmake | 6 +++--- linux-arm64v8/meson.ini | 4 ++-- linux-armv6/Dockerfile | 2 +- linux-armv6/Toolchain.cmake | 10 +++++----- linux-armv6/meson.ini | 16 ++++++++-------- linux-armv7/Dockerfile | 2 +- linux-armv7/Toolchain.cmake | 10 +++++----- linux-armv7/meson.ini | 16 ++++++++-------- linux-x64/meson.ini | 4 ++-- linuxmusl-arm64v8/Dockerfile | 2 +- linuxmusl-arm64v8/Toolchain.cmake | 10 +++++----- linuxmusl-arm64v8/meson.ini | 16 ++++++++-------- linuxmusl-x64/Dockerfile | 2 +- 14 files changed, 51 insertions(+), 51 deletions(-) diff --git a/build.sh b/build.sh index 14eccb98..8e674e10 100755 --- a/build.sh +++ b/build.sh @@ -53,7 +53,7 @@ for flavour in darwin-x64 darwin-arm64v8; do if [ $PLATFORM = "darwin-arm64v8" ]; then # ARM64 builds work via cross compilation from an x86_64 machine export CHOST="aarch64-apple-darwin" - export FLAGS+=" -arch arm64" + export FLAGS+=" -target arm64-apple-macos11" export MESON="--cross-file=$PWD/$PLATFORM/meson.ini" # macOS 11 Big Sur is the first version to support ARM-based macs export MACOSX_DEPLOYMENT_TARGET="11.0" diff --git a/darwin-arm64v8/Toolchain.cmake b/darwin-arm64v8/Toolchain.cmake index dcd4724f..713510f5 100644 --- a/darwin-arm64v8/Toolchain.cmake +++ b/darwin-arm64v8/Toolchain.cmake @@ -3,11 +3,11 @@ set(CMAKE_SYSTEM_PROCESSOR "arm64") set(CMAKE_OSX_ARCHITECTURES "arm64") SET(CMAKE_C_COMPILER clang) -set(CMAKE_C_COMPILER_ARG1 "-arch arm64") +set(CMAKE_C_COMPILER_ARG1 "-target arm64-apple-macos11") SET(CMAKE_CXX_COMPILER clang++) -set(CMAKE_CXX_COMPILER_ARG1 "-arch arm64") +set(CMAKE_CXX_COMPILER_ARG1 "-target arm64-apple-macos11") -# 11.0 is the first version to support ARM-based macs +# macOS 11 Big Sur is the first version to support ARM-based macs SET(CMAKE_OSX_DEPLOYMENT_TARGET 11.0) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) diff --git a/linux-arm64v8/meson.ini b/linux-arm64v8/meson.ini index 9aeb809b..aa4e500c 100644 --- a/linux-arm64v8/meson.ini +++ b/linux-arm64v8/meson.ini @@ -1,6 +1,6 @@ [binaries] -pkgconfig = '/usr/bin/pkg-config' -strip = '/usr/bin/strip' +strip = 'strip' +pkgconfig = 'pkg-config' [built-in options] libdir = 'lib' diff --git a/linux-armv6/Dockerfile b/linux-armv6/Dockerfile index bacda3b4..3977253f 100644 --- a/linux-armv6/Dockerfile +++ b/linux-armv6/Dockerfile @@ -46,7 +46,7 @@ RUN \ # Compiler settings ENV \ - PKG_CONFIG="/usr/bin/arm-linux-gnueabihf-pkg-config" \ + PKG_CONFIG="arm-linux-gnueabihf-pkg-config" \ PLATFORM="linux-armv6" \ CHOST="arm-rpi-linux-gnueabihf" \ RUST_TARGET="arm-unknown-linux-gnueabihf" \ diff --git a/linux-armv6/Toolchain.cmake b/linux-armv6/Toolchain.cmake index 266e3b73..279e2990 100644 --- a/linux-armv6/Toolchain.cmake +++ b/linux-armv6/Toolchain.cmake @@ -2,11 +2,11 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR armv6-a) -SET(CMAKE_C_COMPILER /root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc) -set(CMAKE_CXX_COMPILER /root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-g++) -SET(CMAKE_AR /root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-ar) -SET(CMAKE_STRIP /root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-strip) -SET(CMAKE_RANLIB /root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-ranlib) +SET(CMAKE_C_COMPILER arm-rpi-linux-gnueabihf-gcc) +set(CMAKE_CXX_COMPILER arm-rpi-linux-gnueabihf-g++) +SET(CMAKE_AR arm-rpi-linux-gnueabihf-ar) +SET(CMAKE_STRIP arm-rpi-linux-gnueabihf-strip) +SET(CMAKE_RANLIB arm-rpi-linux-gnueabihf-ranlib) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) diff --git a/linux-armv6/meson.ini b/linux-armv6/meson.ini index 76586f60..c74438af 100644 --- a/linux-armv6/meson.ini +++ b/linux-armv6/meson.ini @@ -5,14 +5,14 @@ cpu = 'armv6-a' endian = 'little' [binaries] -c = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc' -cpp = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-g++' -ar = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-ar' -nm = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc-nm' -ld = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc-ld' -strip = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-strip' -pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config' -ranlib = '/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc-ranlib' +c = 'arm-rpi-linux-gnueabihf-gcc' +cpp = 'arm-rpi-linux-gnueabihf-g++' +ar = 'arm-rpi-linux-gnueabihf-ar' +nm = 'arm-rpi-linux-gnueabihf-gcc-nm' +ld = 'arm-rpi-linux-gnueabihf-gcc-ld' +strip = 'arm-rpi-linux-gnueabihf-strip' +ranlib = 'arm-rpi-linux-gnueabihf-gcc-ranlib' +pkgconfig = 'arm-linux-gnueabihf-pkg-config' [built-in options] libdir = 'lib' diff --git a/linux-armv7/Dockerfile b/linux-armv7/Dockerfile index 16537d7d..64b19947 100644 --- a/linux-armv7/Dockerfile +++ b/linux-armv7/Dockerfile @@ -45,7 +45,7 @@ RUN \ # Compiler settings ENV \ - PKG_CONFIG="/usr/bin/arm-linux-gnueabihf-pkg-config" \ + PKG_CONFIG="arm-linux-gnueabihf-pkg-config" \ PLATFORM="linux-armv7" \ CHOST="arm-linux-gnueabihf" \ RUST_TARGET="arm-unknown-linux-gnueabihf" \ diff --git a/linux-armv7/Toolchain.cmake b/linux-armv7/Toolchain.cmake index 550a251b..2acdf704 100644 --- a/linux-armv7/Toolchain.cmake +++ b/linux-armv7/Toolchain.cmake @@ -2,11 +2,11 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR armv7-a) -SET(CMAKE_C_COMPILER /usr/bin/arm-linux-gnueabihf-gcc) -SET(CMAKE_CXX_COMPILER /usr/bin/arm-linux-gnueabihf-g++) -SET(CMAKE_AR /usr/bin/arm-linux-gnueabihf-gcc-ar) -SET(CMAKE_STRIP /usr/bin/arm-linux-gnueabihf-gcc-strip) -SET(CMAKE_RANLIB /usr/bin/arm-linux-gnueabihf-gcc-ranlib) +SET(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) +SET(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) +SET(CMAKE_AR arm-linux-gnueabihf-gcc-ar) +SET(CMAKE_STRIP arm-linux-gnueabihf-gcc-strip) +SET(CMAKE_RANLIB arm-linux-gnueabihf-gcc-ranlib) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) diff --git a/linux-armv7/meson.ini b/linux-armv7/meson.ini index 658e3ee8..13d36405 100644 --- a/linux-armv7/meson.ini +++ b/linux-armv7/meson.ini @@ -5,14 +5,14 @@ cpu = 'armv7-a' endian = 'little' [binaries] -c = '/usr/bin/arm-linux-gnueabihf-gcc' -cpp = '/usr/bin/arm-linux-gnueabihf-g++' -ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar' -nm = '/usr/bin/arm-linux-gnueabihf-gcc-nm' -ld = '/usr/bin/arm-linux-gnueabihf-gcc-ld' -strip = '/usr/bin/arm-linux-gnueabihf-strip' -pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config' -ranlib = '/usr/bin/arm-linux-gnueabihf-gcc-ranlib' +c = 'arm-linux-gnueabihf-gcc' +cpp = 'arm-linux-gnueabihf-g++' +ar = 'arm-linux-gnueabihf-gcc-ar' +nm = 'arm-linux-gnueabihf-gcc-nm' +ld = 'arm-linux-gnueabihf-gcc-ld' +strip = 'arm-linux-gnueabihf-strip' +ranlib = 'arm-linux-gnueabihf-gcc-ranlib' +pkgconfig = 'arm-linux-gnueabihf-pkg-config' [built-in options] libdir = 'lib' diff --git a/linux-x64/meson.ini b/linux-x64/meson.ini index 9aeb809b..aa4e500c 100644 --- a/linux-x64/meson.ini +++ b/linux-x64/meson.ini @@ -1,6 +1,6 @@ [binaries] -pkgconfig = '/usr/bin/pkg-config' -strip = '/usr/bin/strip' +strip = 'strip' +pkgconfig = 'pkg-config' [built-in options] libdir = 'lib' diff --git a/linuxmusl-arm64v8/Dockerfile b/linuxmusl-arm64v8/Dockerfile index 93461075..7769dafa 100644 --- a/linuxmusl-arm64v8/Dockerfile +++ b/linuxmusl-arm64v8/Dockerfile @@ -50,7 +50,7 @@ RUN \ # Compiler settings ENV \ - PKG_CONFIG="/bin/aarch64-linux-musl-pkg-config" \ + PKG_CONFIG="aarch64-linux-musl-pkg-config" \ PLATFORM="linuxmusl-arm64v8" \ CHOST="aarch64-linux-musl" \ RUST_TARGET="aarch64-unknown-linux-musl" \ diff --git a/linuxmusl-arm64v8/Toolchain.cmake b/linuxmusl-arm64v8/Toolchain.cmake index 5ce47d31..14e7b85c 100644 --- a/linuxmusl-arm64v8/Toolchain.cmake +++ b/linuxmusl-arm64v8/Toolchain.cmake @@ -2,11 +2,11 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR aarch64) -SET(CMAKE_C_COMPILER /bin/aarch64-linux-musl-gcc) -set(CMAKE_CXX_COMPILER /bin/aarch64-linux-musl-g++) -SET(CMAKE_AR /bin/aarch64-linux-musl-ar) -SET(CMAKE_STRIP /bin/aarch64-linux-musl-strip) -SET(CMAKE_RANLIB /bin/aarch64-linux-musl-ranlib) +SET(CMAKE_C_COMPILER aarch64-linux-musl-gcc) +set(CMAKE_CXX_COMPILER aarch64-linux-musl-g++) +SET(CMAKE_AR aarch64-linux-musl-ar) +SET(CMAKE_STRIP aarch64-linux-musl-strip) +SET(CMAKE_RANLIB aarch64-linux-musl-ranlib) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) diff --git a/linuxmusl-arm64v8/meson.ini b/linuxmusl-arm64v8/meson.ini index 375cf407..c28bb481 100644 --- a/linuxmusl-arm64v8/meson.ini +++ b/linuxmusl-arm64v8/meson.ini @@ -5,14 +5,14 @@ cpu = 'armv8-a' endian = 'little' [binaries] -c = '/bin/aarch64-linux-musl-gcc' -cpp = '/bin/aarch64-linux-musl-g++' -ar = '/bin/aarch64-linux-musl-ar' -nm = '/bin/aarch64-linux-musl-nm' -ld = '/bin/aarch64-linux-musl-ld' -strip = '/bin/aarch64-linux-musl-strip' -ranlib = '/bin/aarch64-linux-musl-ranlib' -pkgconfig = '/bin/aarch64-linux-musl-pkg-config' +c = 'aarch64-linux-musl-gcc' +cpp = 'aarch64-linux-musl-g++' +ar = 'aarch64-linux-musl-ar' +nm = 'aarch64-linux-musl-nm' +ld = 'aarch64-linux-musl-ld' +strip = 'aarch64-linux-musl-strip' +ranlib = 'aarch64-linux-musl-ranlib' +pkgconfig = 'aarch64-linux-musl-pkg-config' [built-in options] libdir = 'lib' diff --git a/linuxmusl-x64/Dockerfile b/linuxmusl-x64/Dockerfile index 2a0d29db..0696c101 100644 --- a/linuxmusl-x64/Dockerfile +++ b/linuxmusl-x64/Dockerfile @@ -52,6 +52,6 @@ ENV \ # Musl defaults to static libs but we need them to be dynamic for host toolchain. # The toolchain will produce static libs by default. ENV \ - RUSTFLAGS="-C target-feature=-crt-static" + RUSTFLAGS="-Ctarget-feature=-crt-static" COPY Toolchain.cmake /root/ From 8beec3c909557d20fcc5712c0e6b3830dd64dd26 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 21 Jun 2022 21:10:00 +0100 Subject: [PATCH 070/327] Linux: upgrade Alpine to 3.12 (3.11 reached EOL last year) Alpine 3.12 provides same musl version --- build.sh | 2 +- linuxmusl-arm64v8/Dockerfile | 4 ++-- linuxmusl-x64/Dockerfile | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build.sh b/build.sh index 8e674e10..bf413493 100755 --- a/build.sh +++ b/build.sh @@ -74,7 +74,7 @@ if ! [ -x "$(command -v docker)" ]; then fi # Update base images -for baseimage in centos:7 debian:buster debian:bullseye alpine:3.11; do +for baseimage in centos:7 debian:buster debian:bullseye alpine:3.12; do docker pull $baseimage done diff --git a/linuxmusl-arm64v8/Dockerfile b/linuxmusl-arm64v8/Dockerfile index 7769dafa..3be1ca5d 100644 --- a/linuxmusl-arm64v8/Dockerfile +++ b/linuxmusl-arm64v8/Dockerfile @@ -1,7 +1,7 @@ -FROM alpine:3.11 +FROM alpine:3.12 LABEL maintainer="Lovell Fuller " -# Create Alpine 3.11 (musl 1.1.24) container suitable for cross-compiling musl-based Linux ARM64v8-A binaries +# Create Alpine 3.12 (musl 1.1.24) container suitable for cross-compiling musl-based Linux ARM64v8-A binaries # Path settings ENV \ diff --git a/linuxmusl-x64/Dockerfile b/linuxmusl-x64/Dockerfile index 0696c101..dcc5d23a 100644 --- a/linuxmusl-x64/Dockerfile +++ b/linuxmusl-x64/Dockerfile @@ -1,7 +1,7 @@ -FROM alpine:3.11 +FROM alpine:3.12 LABEL maintainer="Lovell Fuller " -# Create Alpine 3.11 (musl 1.1.24) container suitable for building Linux x64 binaries +# Create Alpine 3.12 (musl 1.1.24) container suitable for building Linux x64 binaries # Path settings ENV \ From 15148e9eaad76dbd71025e49f9cf01176a48c223 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 21 Jun 2022 21:10:19 +0100 Subject: [PATCH 071/327] Bump deps: aom, glib, svg --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 71251ac1..c32819a8 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,7 +92,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 -VERSION_GLIB=2.73.0 +VERSION_GLIB=2.73.1 VERSION_XML2=2.9.14 VERSION_GSF=1.14.49 VERSION_EXIF=0.6.24 @@ -114,8 +114,8 @@ VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.7 -VERSION_SVG=2.54.3 -VERSION_AOM=3.3.0 +VERSION_SVG=2.54.4 +VERSION_AOM=3.4.0 VERSION_HEIF=1.12.0 VERSION_CGIF=0.3.0 From b5dae1d85619d7543e6ce7d35ececdc8a51084ad Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 21 Jun 2022 22:19:09 +0100 Subject: [PATCH 072/327] Linux: ensure pip3 is installed on Alpine 3.12 --- linuxmusl-x64/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/linuxmusl-x64/Dockerfile b/linuxmusl-x64/Dockerfile index dcc5d23a..8de96e6f 100644 --- a/linuxmusl-x64/Dockerfile +++ b/linuxmusl-x64/Dockerfile @@ -33,6 +33,7 @@ RUN \ linux-headers \ nasm \ ninja \ + py3-pip \ python3 \ shared-mime-info \ texinfo \ From f709396e30641683bba8e232d3a65e8951a851d3 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 22 Jun 2022 13:53:53 +0200 Subject: [PATCH 073/327] glib: update patch (#142) This patch is only necessary for macOS now. --- build/lin.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index c32819a8..504e673b 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -186,6 +186,9 @@ if [ "$DARWIN" = true ]; then fi if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then + # musl includes support for gettext by default, but since we have libintl installed, it favors that. + # macOS requires the standalone intl support library of gettext, since it's not provided by libc. + # In both cases: we use a stub version of gettext instead, since we don't need any of the i18n features. mkdir ${DEPS}/proxy-libintl $CURL https://github.com/frida/proxy-libintl/archive/${VERSION_PROXY_LIBINTL}.tar.gz | tar xzC ${DEPS}/proxy-libintl --strip-components=1 cd ${DEPS}/proxy-libintl @@ -211,8 +214,8 @@ make install-strip mkdir ${DEPS}/glib $CURL https://download.gnome.org/sources/glib/$(without_patch $VERSION_GLIB)/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1 cd ${DEPS}/glib -if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then - $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/62c92abbca60e98ebdf289e456d034d6c20e607a/glib-proxy-libintl.patch | patch -p1 +if [ "$DARWIN" = true ]; then + $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/7d0e8324ad6c918978337bb6d180a93e01426845/glib-proxy-libintl.patch | patch -p1 fi $CURL https://gist.githubusercontent.com/lovell/7e0ce65249b951d5be400fb275de3924/raw/1a833ef4263271d299587524198b024eb5cc4f34/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ From 2b748b45bf08cd080b340772d4c7b8c329dd4ba5 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 22 Jun 2022 16:05:12 +0200 Subject: [PATCH 074/327] macOS: remove redundant system libraries link (#143) --- build/lin.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 504e673b..f2cd1fe8 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -52,9 +52,7 @@ if [ "$LINUX" = true ]; then export LDFLAGS+=" -Wl,--gc-sections -Wl,-rpath='\$\$ORIGIN/'" fi -# On macOS, we need to explicitly link against the system libraries if [ "$DARWIN" = true ]; then - export LDFLAGS+=" -framework CoreServices -framework CoreFoundation -framework Foundation -framework AppKit" # Local rust installation export CARGO_HOME="${DEPS}/cargo" export RUSTUP_HOME="${DEPS}/rustup" From 3e4fd28c8f2b9813f0aa80056d894549074f2fe7 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 22 Jun 2022 16:43:49 +0200 Subject: [PATCH 075/327] Upgrade to libvips v8.13.0-rc1 (#144) * Switch libvips build to meson * Always pass the `--static` flag to pkg-config * Remove unused build dependencies --- LIBVIPS_VERSION | 2 +- build.sh | 3 ++ build/lin.sh | 56 ++++++++++++++++++++---------------- build/win.sh | 2 +- darwin-arm64v8/meson.ini | 6 +--- linux-arm64v8/Dockerfile | 6 +--- linux-arm64v8/meson.ini | 2 +- linux-armv6/Dockerfile | 9 ++---- linux-armv6/meson.ini | 2 +- linux-armv7/Dockerfile | 9 ++---- linux-armv7/meson.ini | 2 +- linux-x64/Dockerfile | 6 +--- linux-x64/meson.ini | 2 +- linuxmusl-arm64v8/Dockerfile | 12 ++------ linuxmusl-arm64v8/meson.ini | 2 +- linuxmusl-x64/Dockerfile | 9 ++---- 16 files changed, 54 insertions(+), 76 deletions(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index db4bcecc..e7eb2945 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.12.2 +8.13.0-rc1 diff --git a/build.sh b/build.sh index bf413493..e4cb986a 100755 --- a/build.sh +++ b/build.sh @@ -41,6 +41,9 @@ for flavour in darwin-x64 darwin-arm64v8; do export VERSION_VIPS export PLATFORM + # Use pkg-config provided by Homebrew + export PKG_CONFIG="$(brew --prefix)/bin/pkg-config --static" + # 10.9 should be a good minimal release target export MACOSX_DEPLOYMENT_TARGET="10.9" diff --git a/build/lin.sh b/build/lin.sh index f2cd1fe8..abb439d1 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -49,7 +49,7 @@ export LDFLAGS="-L${TARGET}/lib" # On Linux, we need to create a relocatable library # Note: this is handled for macOS using the `install_name_tool` (see below) if [ "$LINUX" = true ]; then - export LDFLAGS+=" -Wl,--gc-sections -Wl,-rpath='\$\$ORIGIN/'" + export LDFLAGS+=" -Wl,--gc-sections -Wl,-rpath=\$ORIGIN/" fi if [ "$DARWIN" = true ]; then @@ -61,8 +61,6 @@ if [ "$DARWIN" = true ]; then export PATH="${CARGO_HOME}/bin:${PATH}" if [ "$PLATFORM" == "darwin-arm64v8" ]; then export DARWIN_ARM=true - # We need to explicitly tell meson about pkg-config when cross compiling on macOS - export PKG_CONFIG="$(brew --prefix)/bin/pkg-config" fi fi @@ -184,9 +182,8 @@ if [ "$DARWIN" = true ]; then fi if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then - # musl includes support for gettext by default, but since we have libintl installed, it favors that. - # macOS requires the standalone intl support library of gettext, since it's not provided by libc. - # In both cases: we use a stub version of gettext instead, since we don't need any of the i18n features. + # musl and macOS requires the standalone intl support library of gettext, since it's not provided by libc (like GNU). + # We use a stub version of gettext instead, since we don't need any of the i18n features. mkdir ${DEPS}/proxy-libintl $CURL https://github.com/frida/proxy-libintl/archive/${VERSION_PROXY_LIBINTL}.tar.gz | tar xzC ${DEPS}/proxy-libintl --strip-components=1 cd ${DEPS}/proxy-libintl @@ -443,10 +440,12 @@ sed -i'.bak' "/SCRIPTS = /d" Makefile.in if [[ $CARGO_BUILD_TARGET ]]; then sed -i'.bak' "s/@RUST_TARGET_SUBDIR@/$CARGO_BUILD_TARGET\/@RUST_TARGET_SUBDIR@/" Makefile.in fi -./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ +# Remove the --static flag from the PKG_CONFIG env since Rust does not +# support that. Build with PKG_CONFIG_ALL_STATIC=1 instead. +PKG_CONFIG=${PKG_CONFIG/ --static/} ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-introspection --disable-tools --disable-pixbuf-loader --disable-nls --without-libiconv-prefix --without-libintl-prefix \ ${DARWIN:+--disable-Bsymbolic} -make install-strip +PKG_CONFIG_ALL_STATIC=1 make install-strip mkdir ${DEPS}/cgif $CURL https://github.com/dloebl/cgif/archive/V${VERSION_CGIF}.tar.gz | tar xzC ${DEPS}/cgif --strip-components=1 @@ -457,24 +456,33 @@ ninja -C _build ninja -C _build install mkdir ${DEPS}/vips -$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1 +# TODO: Use the tarball for the next release https://github.com/libvips/libvips/issues/2876 +#$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1 +$CURL https://github.com/libvips/libvips/archive/refs/tags/v${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips -# Prevent exporting the g_param_spec_types symbol to avoid collisions with shared libraries -printf "{\n\ -local:\n\ - g_param_spec_types;\n\ -};" > vips.map -PKG_CONFIG="pkg-config --static" CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" ./configure \ - --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking \ - --disable-debug --disable-deprecated --disable-introspection --disable-modules --without-doxygen \ - --without-analyze --without-cfitsio --without-fftw --without-libjxl --without-libopenjp2 \ - --without-magick --without-matio --without-nifti --without-OpenEXR \ - --without-openslide --without-pdfium --without-poppler --without-ppm --without-radiance -# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_removing_rpath -sed -i'.bak' 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool # Link libvips.so.42 statically into libvips-cpp.so.42 -make -C 'libvips' install-strip LDFLAGS="-static $LDFLAGS" -make -C 'cplusplus' install-strip ${LINUX:+LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--version-script=$DEPS/vips/vips.map"} +sed -i'.bak' "s/library('vips'/static_&/" libvips/meson.build +sed -i'.bak' "/version: library_version/{N;d;}" libvips/meson.build +if [ "$LINUX" = true ]; then + # Ensure symbols from external libs (except for libglib-2.0.a and libgobject-2.0.a) are not exposed + EXCLUDE_LIBS=$(find ${TARGET}/lib -maxdepth 1 -name '*.a' ! -name 'libglib-2.0.a' ! -name 'libgobject-2.0.a' -printf "-Wl,--exclude-libs=%f ") + EXCLUDE_LIBS=${EXCLUDE_LIBS%?} + # Localize the g_param_spec_types symbol to avoid collisions with shared libraries + # See: https://github.com/lovell/sharp/issues/2535#issuecomment-766400693 + printf "{local:g_param_spec_types;};" > vips.map +elif [ "$DARWIN" = true ]; then + # https://github.com/pybind/pybind11/issues/595 + export STRIP="strip -x" +fi +# Disable building man pages, gettext po files, tools, and (fuzz-)tests +sed -i'.bak' "/subdir('man')/{N;N;N;N;d;}" meson.build +CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" meson setup _build --default-library=shared --buildtype=release --strip --prefix=${TARGET} ${MESON} \ + -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 \ + ${LINUX:+-Dcpp_link_args="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--version-script=$DEPS/vips/vips.map $EXCLUDE_LIBS"} +ninja -C _build +ninja -C _build install # Cleanup rm -rf ${TARGET}/lib/{pkgconfig,.libs,*.la,cmake} diff --git a/build/win.sh b/build/win.sh index 3405e2b0..58659d63 100755 --- a/build/win.sh +++ b/build/win.sh @@ -23,7 +23,7 @@ case ${PLATFORM} in esac FILENAME="vips-dev-${ARCH}-web-${VERSION_VIPS}-static.zip" -URL="https://github.com/libvips/build-win64-mxe/releases/download/v${VERSION_VIPS}-build2/${FILENAME}" +URL="https://github.com/libvips/build-win64-mxe/releases/download/v${VERSION_VIPS}/${FILENAME}" echo "Downloading $URL" $CURL -O $URL unzip $FILENAME diff --git a/darwin-arm64v8/meson.ini b/darwin-arm64v8/meson.ini index 28988578..49c9f266 100644 --- a/darwin-arm64v8/meson.ini +++ b/darwin-arm64v8/meson.ini @@ -9,8 +9,4 @@ c = 'clang' cpp = 'clang++' objc = 'clang' objcpp = 'clang++' -ar = 'ar' -strip = 'strip' - -pkg-config = 'pkg-config' -cmake = 'cmake' +strip = ['strip', '-x'] diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index 82a03265..c4be2977 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -21,13 +21,8 @@ RUN \ # FIXME: Update to devtoolset-11, see: https://bugs.centos.org/view.php?id=18393 devtoolset-10-gcc \ devtoolset-10-gcc-c++ \ - glib2-devel \ - gobject-introspection-devel \ - gperf \ - gtk-doc \ jq \ nasm \ - prelink \ python3 \ && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ @@ -41,6 +36,7 @@ RUN \ # Compiler settings ENV \ + PKG_CONFIG="pkg-config --static" \ PLATFORM="linux-arm64v8" \ CARGO_BUILD_TARGET="aarch64-unknown-linux-gnu" \ FLAGS="-march=armv8-a" \ diff --git a/linux-arm64v8/meson.ini b/linux-arm64v8/meson.ini index aa4e500c..c84e5ab2 100644 --- a/linux-arm64v8/meson.ini +++ b/linux-arm64v8/meson.ini @@ -1,6 +1,6 @@ [binaries] strip = 'strip' -pkgconfig = 'pkg-config' +pkgconfig = ['pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/linux-armv6/Dockerfile b/linux-armv6/Dockerfile index 3977253f..233965f9 100644 --- a/linux-armv6/Dockerfile +++ b/linux-armv6/Dockerfile @@ -23,17 +23,12 @@ RUN \ cmake \ gettext \ git \ - gobject-introspection \ - gperf \ - gtk-doc-tools \ - intltool \ jq \ - libglib2.0-dev \ libtool \ nasm \ ninja-build \ + pkg-config \ python3-pip \ - texinfo \ && \ mkdir /root/tools && \ curl -Ls https://github.com/rvagg/rpi-newer-crosstools/archive/master.tar.gz | tar xzC /root/tools --strip-components=1 && \ @@ -46,7 +41,7 @@ RUN \ # Compiler settings ENV \ - PKG_CONFIG="arm-linux-gnueabihf-pkg-config" \ + PKG_CONFIG="arm-linux-gnueabihf-pkg-config --static" \ PLATFORM="linux-armv6" \ CHOST="arm-rpi-linux-gnueabihf" \ RUST_TARGET="arm-unknown-linux-gnueabihf" \ diff --git a/linux-armv6/meson.ini b/linux-armv6/meson.ini index c74438af..b761ee0a 100644 --- a/linux-armv6/meson.ini +++ b/linux-armv6/meson.ini @@ -12,7 +12,7 @@ nm = 'arm-rpi-linux-gnueabihf-gcc-nm' ld = 'arm-rpi-linux-gnueabihf-gcc-ld' strip = 'arm-rpi-linux-gnueabihf-strip' ranlib = 'arm-rpi-linux-gnueabihf-gcc-ranlib' -pkgconfig = 'arm-linux-gnueabihf-pkg-config' +pkgconfig = ['arm-linux-gnueabihf-pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/linux-armv7/Dockerfile b/linux-armv7/Dockerfile index 64b19947..056da12c 100644 --- a/linux-armv7/Dockerfile +++ b/linux-armv7/Dockerfile @@ -24,17 +24,12 @@ RUN \ crossbuild-essential-armhf \ gettext \ git \ - gobject-introspection \ - gperf \ - gtk-doc-tools \ - intltool \ jq \ - libglib2.0-dev \ libtool \ nasm \ ninja-build \ + pkg-config \ python3-pip \ - texinfo \ && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ @@ -45,7 +40,7 @@ RUN \ # Compiler settings ENV \ - PKG_CONFIG="arm-linux-gnueabihf-pkg-config" \ + PKG_CONFIG="arm-linux-gnueabihf-pkg-config --static" \ PLATFORM="linux-armv7" \ CHOST="arm-linux-gnueabihf" \ RUST_TARGET="arm-unknown-linux-gnueabihf" \ diff --git a/linux-armv7/meson.ini b/linux-armv7/meson.ini index 13d36405..b933e6b3 100644 --- a/linux-armv7/meson.ini +++ b/linux-armv7/meson.ini @@ -12,7 +12,7 @@ nm = 'arm-linux-gnueabihf-gcc-nm' ld = 'arm-linux-gnueabihf-gcc-ld' strip = 'arm-linux-gnueabihf-strip' ranlib = 'arm-linux-gnueabihf-gcc-ranlib' -pkgconfig = 'arm-linux-gnueabihf-pkg-config' +pkgconfig = ['arm-linux-gnueabihf-pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/linux-x64/Dockerfile b/linux-x64/Dockerfile index 9c6b8863..747d8e12 100644 --- a/linux-x64/Dockerfile +++ b/linux-x64/Dockerfile @@ -20,14 +20,9 @@ RUN \ cmake3 \ devtoolset-11-gcc \ devtoolset-11-gcc-c++ \ - glib2-devel \ - gobject-introspection-devel \ - gperf \ - gtk-doc \ jq \ nasm \ ninja-build \ - prelink \ python3 \ && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ @@ -39,6 +34,7 @@ RUN \ # Compiler settings ENV \ + PKG_CONFIG="pkg-config --static" \ PLATFORM="linux-x64" \ FLAGS="-march=westmere" \ MESON="--cross-file=/root/meson.ini" diff --git a/linux-x64/meson.ini b/linux-x64/meson.ini index aa4e500c..c84e5ab2 100644 --- a/linux-x64/meson.ini +++ b/linux-x64/meson.ini @@ -1,6 +1,6 @@ [binaries] strip = 'strip' -pkgconfig = 'pkg-config' +pkgconfig = ['pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/linuxmusl-arm64v8/Dockerfile b/linuxmusl-arm64v8/Dockerfile index 3be1ca5d..aaec5a50 100644 --- a/linuxmusl-arm64v8/Dockerfile +++ b/linuxmusl-arm64v8/Dockerfile @@ -23,20 +23,14 @@ RUN \ curl \ findutils \ git \ - glib-dev \ - gobject-introspection-dev \ - gperf \ - gtk-doc \ - intltool \ jq \ libtool \ linux-headers \ nasm \ ninja \ - python3 \ + pkgconf \ py3-pip \ - shared-mime-info \ - texinfo \ + python3 \ && \ apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/edge/community/ add advancecomp && \ curl -Ls https://github.com/lovell/aarch64-linux-musl-crosstools/archive/main.tar.gz | tar -hxzC / --strip-components=2 && \ @@ -50,7 +44,7 @@ RUN \ # Compiler settings ENV \ - PKG_CONFIG="aarch64-linux-musl-pkg-config" \ + PKG_CONFIG="aarch64-linux-musl-pkg-config --static" \ PLATFORM="linuxmusl-arm64v8" \ CHOST="aarch64-linux-musl" \ RUST_TARGET="aarch64-unknown-linux-musl" \ diff --git a/linuxmusl-arm64v8/meson.ini b/linuxmusl-arm64v8/meson.ini index c28bb481..444381fc 100644 --- a/linuxmusl-arm64v8/meson.ini +++ b/linuxmusl-arm64v8/meson.ini @@ -12,7 +12,7 @@ nm = 'aarch64-linux-musl-nm' ld = 'aarch64-linux-musl-ld' strip = 'aarch64-linux-musl-strip' ranlib = 'aarch64-linux-musl-ranlib' -pkgconfig = 'aarch64-linux-musl-pkg-config' +pkgconfig = ['aarch64-linux-musl-pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/linuxmusl-x64/Dockerfile b/linuxmusl-x64/Dockerfile index 8de96e6f..fb539828 100644 --- a/linuxmusl-x64/Dockerfile +++ b/linuxmusl-x64/Dockerfile @@ -23,20 +23,14 @@ RUN \ curl \ findutils \ git \ - glib-dev \ - gobject-introspection-dev \ - gperf \ - gtk-doc \ - intltool \ jq \ libtool \ linux-headers \ nasm \ ninja \ + pkgconf \ py3-pip \ python3 \ - shared-mime-info \ - texinfo \ && \ apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/edge/community/ add advancecomp && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ @@ -47,6 +41,7 @@ RUN \ # Compiler settings ENV \ + PKG_CONFIG="pkg-config --static" \ PLATFORM="linuxmusl-x64" \ FLAGS="-march=westmere" From e5bee49fab62812db450695cd2c3740fc97e3ae2 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 7 Jul 2022 16:04:05 +0200 Subject: [PATCH 076/327] Bump deps: harfbuzz, pango (#145) harfbuzz: add patch submitted upstream See: https://github.com/harfbuzz/harfbuzz/pull/3707 --- build/lin.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index abb439d1..b3a701d4 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -105,11 +105,11 @@ VERSION_GDKPIXBUF=2.42.8 VERSION_FREETYPE=2.12.1 VERSION_EXPAT=2.4.8 VERSION_FONTCONFIG=2.14.0 -VERSION_HARFBUZZ=4.3.0 +VERSION_HARFBUZZ=4.4.1 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 -VERSION_PANGO=1.50.7 +VERSION_PANGO=1.50.8 VERSION_SVG=2.54.4 VERSION_AOM=3.4.0 VERSION_HEIF=1.12.0 @@ -164,7 +164,7 @@ version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" -version_latest "pango" "$VERSION_PANGO" "11783" +#version_latest "pango" "$VERSION_PANGO" "11783" # latest version in release monitoring is a development release version_latest "svg" "$VERSION_SVG" "5420" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "64439" @@ -382,6 +382,10 @@ ninja -C _build install mkdir ${DEPS}/harfbuzz $CURL https://github.com/harfbuzz/harfbuzz/archive/${VERSION_HARFBUZZ}.tar.gz | tar xzC ${DEPS}/harfbuzz --strip-components=1 cd ${DEPS}/harfbuzz +# https://github.com/harfbuzz/harfbuzz/pull/3707 +$CURL https://github.com/kleisauke/harfbuzz/commit/94bfd2ff7a4b4e7949f0ac0834b2bf38a1feea12.patch | patch -p1 +$CURL https://github.com/kleisauke/harfbuzz/commit/43f5ee43753cf4df5dc7811fc8a464f97a4551c2.patch | patch -p1 +$CURL https://github.com/kleisauke/harfbuzz/commit/23aa63c955202fc7e8caac59c0c656edddc84dba.patch | patch -p1 # Disable utils sed -i'.bak' "/subdir('util')/d" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ From cdc3426c900f6fb7ff17160741fc489fd5698a69 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 11 Jul 2022 14:57:08 +0100 Subject: [PATCH 077/327] pango: check latest version --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index b3a701d4..0859e498 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -164,7 +164,7 @@ version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" -#version_latest "pango" "$VERSION_PANGO" "11783" # latest version in release monitoring is a development release +version_latest "pango" "$VERSION_PANGO" "11783" version_latest "svg" "$VERSION_SVG" "5420" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "64439" From cb84796a3145bc4fe18a8c63128776aeda93b05d Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 12 Jul 2022 11:13:45 +0100 Subject: [PATCH 078/327] png: optimise for binary size spng is now used for encoding and is already optimised for speed --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 0859e498..c723b7c5 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -291,7 +291,7 @@ make install/strip mkdir ${DEPS}/png16 $CURL https://downloads.sourceforge.net/project/libpng/libpng16/${VERSION_PNG16}/libpng-${VERSION_PNG16}.tar.xz | tar xJC ${DEPS}/png16 --strip-components=1 cd ${DEPS}/png16 -CFLAGS="${CFLAGS} -O3" ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking +./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking make install-strip mkdir ${DEPS}/spng From 1ea6f1adebe96a044cfa55e4d2412bea0a233918 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 13 Jul 2022 14:41:08 +0200 Subject: [PATCH 079/327] Bump dep: glib (#146) - Add upstream merged patch to fix musl compatibility. - Simplify `glib-proxy-libintl.patch` (upstream pending). - Update `glib-without-gregex.patch` for PCRE2. - Build with `-Dnls=disabled`. - Export `PYTHONIOENCODING=UTF-8` in CentOS 7 containers. --- build/lin.sh | 12 ++++++++---- linux-arm64v8/Dockerfile | 4 +++- linux-x64/Dockerfile | 4 +++- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index c723b7c5..bcc247fa 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -88,7 +88,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 -VERSION_GLIB=2.73.1 +VERSION_GLIB=2.73.2 VERSION_XML2=2.9.14 VERSION_GSF=1.14.49 VERSION_EXIF=0.6.24 @@ -210,11 +210,15 @@ mkdir ${DEPS}/glib $CURL https://download.gnome.org/sources/glib/$(without_patch $VERSION_GLIB)/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1 cd ${DEPS}/glib if [ "$DARWIN" = true ]; then - $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/7d0e8324ad6c918978337bb6d180a93e01426845/glib-proxy-libintl.patch | patch -p1 + $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/75b1e06250bdb0df067be4a5db54df960f35c46d/glib-proxy-libintl.patch | patch -p1 fi -$CURL https://gist.githubusercontent.com/lovell/7e0ce65249b951d5be400fb275de3924/raw/1a833ef4263271d299587524198b024eb5cc4f34/glib-without-gregex.patch | patch -p1 +if [ "${PLATFORM%-*}" == "linuxmusl" ]; then + # https://gitlab.gnome.org/GNOME/glib/-/issues/2692 + $CURL https://gitlab.gnome.org/GNOME/glib/-/commit/871e5708679b96e63ee574f5c74e0e746f4be9a4.patch | patch -p1 +fi +$CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/af997aa5b6bdb27484c6d9f16d9255d79c86aa77/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - --force-fallback-for=libpcre -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} + --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} ninja -C _build ninja -C _build install diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index c4be2977..861c8b44 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -40,7 +40,9 @@ ENV \ PLATFORM="linux-arm64v8" \ CARGO_BUILD_TARGET="aarch64-unknown-linux-gnu" \ FLAGS="-march=armv8-a" \ - MESON="--cross-file=/root/meson.ini" + MESON="--cross-file=/root/meson.ini" \ + # https://gitlab.gnome.org/GNOME/glib/-/issues/2693 + PYTHONIOENCODING="UTF-8" COPY Toolchain.cmake /root/ COPY meson.ini /root/ diff --git a/linux-x64/Dockerfile b/linux-x64/Dockerfile index 747d8e12..5282eaf6 100644 --- a/linux-x64/Dockerfile +++ b/linux-x64/Dockerfile @@ -37,7 +37,9 @@ ENV \ PKG_CONFIG="pkg-config --static" \ PLATFORM="linux-x64" \ FLAGS="-march=westmere" \ - MESON="--cross-file=/root/meson.ini" + MESON="--cross-file=/root/meson.ini" \ + # https://gitlab.gnome.org/GNOME/glib/-/issues/2693 + PYTHONIOENCODING="UTF-8" COPY Toolchain.cmake /root/ COPY meson.ini /root/ From bf04da60028412aba40c4a01ce711ad9da1442dc Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 14 Jul 2022 08:19:45 +0200 Subject: [PATCH 080/327] Upgrade to libvips v8.13.0-rc2 (#147) --- LIBVIPS_VERSION | 2 +- build/lin.sh | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index e7eb2945..9b7d4aac 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.13.0-rc1 +8.13.0-rc2 diff --git a/build/lin.sh b/build/lin.sh index bcc247fa..faf9167e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -464,9 +464,7 @@ ninja -C _build ninja -C _build install mkdir ${DEPS}/vips -# TODO: Use the tarball for the next release https://github.com/libvips/libvips/issues/2876 -#$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1 -$CURL https://github.com/libvips/libvips/archive/refs/tags/v${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1 +$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips # Link libvips.so.42 statically into libvips-cpp.so.42 sed -i'.bak' "s/library('vips'/static_&/" libvips/meson.build From 95285add790da90a85cfe6212d8ae3269c5e5fe4 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 14 Jul 2022 07:27:08 +0100 Subject: [PATCH 081/327] Bump dep: gsf --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index faf9167e..4a965bfa 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -90,7 +90,7 @@ VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 VERSION_GLIB=2.73.2 VERSION_XML2=2.9.14 -VERSION_GSF=1.14.49 +VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.13.1 VERSION_MOZJPEG=4.0.3 From e5c5025cd71e30e313917659fe313d1be48750df Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 22 Jul 2022 09:35:35 +0200 Subject: [PATCH 082/327] Bump dep: webp (#148) --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 4a965bfa..2edd47a7 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -97,7 +97,7 @@ VERSION_MOZJPEG=4.0.3 VERSION_PNG16=1.6.37 VERSION_SPNG=0.7.2 VERSION_IMAGEQUANT=2.4.1 -VERSION_WEBP=1.2.2 +VERSION_WEBP=1.2.3 VERSION_TIFF=4.4.0 VERSION_ORC=0.4.32 VERSION_PROXY_LIBINTL=0.4 From 94fd4e403bd352e6af103ac8df86a668d034e1fe Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 22 Jul 2022 11:07:15 +0200 Subject: [PATCH 083/327] Re-add gperf dependency in Docker containers (#149) This was removed in commit 3e4fd28, but it's still required by Fontconfig. --- linux-arm64v8/Dockerfile | 1 + linux-armv6/Dockerfile | 1 + linux-armv7/Dockerfile | 1 + linux-x64/Dockerfile | 1 + linuxmusl-arm64v8/Dockerfile | 1 + linuxmusl-x64/Dockerfile | 1 + 6 files changed, 6 insertions(+) diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index 861c8b44..eb23ec60 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -21,6 +21,7 @@ RUN \ # FIXME: Update to devtoolset-11, see: https://bugs.centos.org/view.php?id=18393 devtoolset-10-gcc \ devtoolset-10-gcc-c++ \ + gperf \ jq \ nasm \ python3 \ diff --git a/linux-armv6/Dockerfile b/linux-armv6/Dockerfile index 233965f9..e5728f32 100644 --- a/linux-armv6/Dockerfile +++ b/linux-armv6/Dockerfile @@ -23,6 +23,7 @@ RUN \ cmake \ gettext \ git \ + gperf \ jq \ libtool \ nasm \ diff --git a/linux-armv7/Dockerfile b/linux-armv7/Dockerfile index 056da12c..da627ffb 100644 --- a/linux-armv7/Dockerfile +++ b/linux-armv7/Dockerfile @@ -24,6 +24,7 @@ RUN \ crossbuild-essential-armhf \ gettext \ git \ + gperf \ jq \ libtool \ nasm \ diff --git a/linux-x64/Dockerfile b/linux-x64/Dockerfile index 5282eaf6..f2be5c39 100644 --- a/linux-x64/Dockerfile +++ b/linux-x64/Dockerfile @@ -20,6 +20,7 @@ RUN \ cmake3 \ devtoolset-11-gcc \ devtoolset-11-gcc-c++ \ + gperf \ jq \ nasm \ ninja-build \ diff --git a/linuxmusl-arm64v8/Dockerfile b/linuxmusl-arm64v8/Dockerfile index aaec5a50..d1453202 100644 --- a/linuxmusl-arm64v8/Dockerfile +++ b/linuxmusl-arm64v8/Dockerfile @@ -23,6 +23,7 @@ RUN \ curl \ findutils \ git \ + gperf \ jq \ libtool \ linux-headers \ diff --git a/linuxmusl-x64/Dockerfile b/linuxmusl-x64/Dockerfile index fb539828..d8c356dd 100644 --- a/linuxmusl-x64/Dockerfile +++ b/linuxmusl-x64/Dockerfile @@ -23,6 +23,7 @@ RUN \ curl \ findutils \ git \ + gperf \ jq \ libtool \ linux-headers \ From ab0e53dd794cf6f3e9729f18b0462b23b9ef70cb Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 22 Jul 2022 14:31:21 +0200 Subject: [PATCH 084/327] Upgrade Python in CentOS 7 containers (#150) Python 3.6 is EOL and Meson >= 0.62.0 requires Python 3.7 or newer. Also, prefer to install Ninja via pip. --- linux-arm64v8/Dockerfile | 9 +++------ linux-x64/Dockerfile | 11 ++++------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index eb23ec60..adcc7e1e 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -7,7 +7,7 @@ LABEL maintainer="Lovell Fuller " ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-10/root/usr/bin:$PATH" + PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-10/root/usr/bin:/opt/rh/rh-python38/root/usr/bin:/opt/rh/rh-python38/root/usr/local/bin:$PATH" # Build dependencies RUN \ @@ -24,7 +24,7 @@ RUN \ gperf \ jq \ nasm \ - python3 \ + rh-python38 \ && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ @@ -32,7 +32,6 @@ RUN \ && \ rustup target add aarch64-unknown-linux-gnu && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ - pip3 install --upgrade pip && \ pip3 install meson ninja # Compiler settings @@ -41,9 +40,7 @@ ENV \ PLATFORM="linux-arm64v8" \ CARGO_BUILD_TARGET="aarch64-unknown-linux-gnu" \ FLAGS="-march=armv8-a" \ - MESON="--cross-file=/root/meson.ini" \ - # https://gitlab.gnome.org/GNOME/glib/-/issues/2693 - PYTHONIOENCODING="UTF-8" + MESON="--cross-file=/root/meson.ini" COPY Toolchain.cmake /root/ COPY meson.ini /root/ diff --git a/linux-x64/Dockerfile b/linux-x64/Dockerfile index f2be5c39..79ba3612 100644 --- a/linux-x64/Dockerfile +++ b/linux-x64/Dockerfile @@ -7,7 +7,7 @@ LABEL maintainer="Lovell Fuller " ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-11/root/usr/bin:$PATH" + PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-11/root/usr/bin:/opt/rh/rh-python38/root/usr/bin:/opt/rh/rh-python38/root/usr/local/bin:$PATH" # Build dependencies RUN \ @@ -23,24 +23,21 @@ RUN \ gperf \ jq \ nasm \ - ninja-build \ - python3 \ + rh-python38 \ && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ --profile minimal \ && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ - pip3 install meson + pip3 install meson ninja # Compiler settings ENV \ PKG_CONFIG="pkg-config --static" \ PLATFORM="linux-x64" \ FLAGS="-march=westmere" \ - MESON="--cross-file=/root/meson.ini" \ - # https://gitlab.gnome.org/GNOME/glib/-/issues/2693 - PYTHONIOENCODING="UTF-8" + MESON="--cross-file=/root/meson.ini" COPY Toolchain.cmake /root/ COPY meson.ini /root/ From 076c91e334feef87fd043701f84945c37eb8e8fa Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sat, 23 Jul 2022 00:19:27 +0200 Subject: [PATCH 085/327] Upgrade to libvips v8.13.0 (#151) --- LIBVIPS_VERSION | 2 +- build/lin.sh | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 9b7d4aac..35de8148 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.13.0-rc2 +8.13.0 diff --git a/build/lin.sh b/build/lin.sh index 2edd47a7..ad9b1a3c 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -470,6 +470,8 @@ cd ${DEPS}/vips sed -i'.bak' "s/library('vips'/static_&/" libvips/meson.build sed -i'.bak' "/version: library_version/{N;d;}" libvips/meson.build if [ "$LINUX" = true ]; then + # Ensure libvips-cpp.so.42 is linked with -z nodelete + sed -i'.bak' "/gnu_symbol_visibility: 'hidden',/a link_args: nodelete_link_args," cplusplus/meson.build # Ensure symbols from external libs (except for libglib-2.0.a and libgobject-2.0.a) are not exposed EXCLUDE_LIBS=$(find ${TARGET}/lib -maxdepth 1 -name '*.a' ! -name 'libglib-2.0.a' ! -name 'libgobject-2.0.a' -printf "-Wl,--exclude-libs=%f ") EXCLUDE_LIBS=${EXCLUDE_LIBS%?} @@ -532,6 +534,10 @@ function copydeps { } cd ${TARGET}/lib +if [ "$LINUX" = true ]; then + # Check that we really linked with -z nodelete + readelf -Wd ${VIPS_CPP_DEP} | grep -qF NODELETE || (echo "$VIPS_CPP_DEP was not linked with -z nodelete" && exit 1) +fi copydeps ${VIPS_CPP_DEP} ${TARGET}/lib-filtered # Create JSON file of version numbers From a40f861fae54f23d8ea396a483a2d2b93288fc91 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 25 Jul 2022 12:28:34 +0200 Subject: [PATCH 086/327] Bump dep: harfbuzz (#152) --- build/lin.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index ad9b1a3c..1696250d 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -105,7 +105,7 @@ VERSION_GDKPIXBUF=2.42.8 VERSION_FREETYPE=2.12.1 VERSION_EXPAT=2.4.8 VERSION_FONTCONFIG=2.14.0 -VERSION_HARFBUZZ=4.4.1 +VERSION_HARFBUZZ=5.0.1 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 @@ -386,10 +386,6 @@ ninja -C _build install mkdir ${DEPS}/harfbuzz $CURL https://github.com/harfbuzz/harfbuzz/archive/${VERSION_HARFBUZZ}.tar.gz | tar xzC ${DEPS}/harfbuzz --strip-components=1 cd ${DEPS}/harfbuzz -# https://github.com/harfbuzz/harfbuzz/pull/3707 -$CURL https://github.com/kleisauke/harfbuzz/commit/94bfd2ff7a4b4e7949f0ac0834b2bf38a1feea12.patch | patch -p1 -$CURL https://github.com/kleisauke/harfbuzz/commit/43f5ee43753cf4df5dc7811fc8a464f97a4551c2.patch | patch -p1 -$CURL https://github.com/kleisauke/harfbuzz/commit/23aa63c955202fc7e8caac59c0c656edddc84dba.patch | patch -p1 # Disable utils sed -i'.bak' "/subdir('util')/d" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ From 74c1edbc45456f7771ccd0f908b1ec91a9f85f91 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 15 Aug 2022 11:26:12 +0100 Subject: [PATCH 087/327] Bump deps: gdkpixbuf, glib, harfbuzz, mozjpeg, pango, webp --- build/lin.sh | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 1696250d..4c16f2fb 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -88,28 +88,28 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 -VERSION_GLIB=2.73.2 +VERSION_GLIB=2.73.3 VERSION_XML2=2.9.14 VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.13.1 -VERSION_MOZJPEG=4.0.3 +VERSION_MOZJPEG=4.1.1 VERSION_PNG16=1.6.37 VERSION_SPNG=0.7.2 VERSION_IMAGEQUANT=2.4.1 -VERSION_WEBP=1.2.3 +VERSION_WEBP=1.2.4 VERSION_TIFF=4.4.0 VERSION_ORC=0.4.32 VERSION_PROXY_LIBINTL=0.4 -VERSION_GDKPIXBUF=2.42.8 +VERSION_GDKPIXBUF=2.42.9 VERSION_FREETYPE=2.12.1 VERSION_EXPAT=2.4.8 VERSION_FONTCONFIG=2.14.0 -VERSION_HARFBUZZ=5.0.1 +VERSION_HARFBUZZ=5.1.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 -VERSION_PANGO=1.50.8 +VERSION_PANGO=1.50.9 VERSION_SVG=2.54.4 VERSION_AOM=3.4.0 VERSION_HEIF=1.12.0 @@ -339,10 +339,9 @@ ninja -C _build install mkdir ${DEPS}/gdkpixbuf $CURL https://download.gnome.org/sources/gdk-pixbuf/$(without_patch $VERSION_GDKPIXBUF)/gdk-pixbuf-${VERSION_GDKPIXBUF}.tar.xz | tar xJC ${DEPS}/gdkpixbuf --strip-components=1 cd ${DEPS}/gdkpixbuf -# Disable tests and thumbnailer -sed -i'.bak' "/subdir('tests')/{N;d;}" meson.build +# Skip thumbnailer sed -i'.bak' "/post-install/{N;N;N;N;d;}" meson.build -# Disable the built-in loaders for BMP, GIF, ICO, PNM, XPM, XBM, TGA, ICNS and QTIF +# Skip the built-in loaders for BMP, GIF, ICO, PNM, XPM, XBM, TGA, ICNS and QTIF sed -i'.bak' "/'bmp':/{N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;d;}" gdk-pixbuf/meson.build sed -i'.bak' "/'pnm':/{N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;d;}" gdk-pixbuf/meson.build # Skip executables @@ -352,7 +351,7 @@ sed -i'.bak' "/loaders_cache = custom/{N;N;N;N;N;N;N;N;N;c\\ loaders_dep = declare_dependency() }" gdk-pixbuf/meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dtiff=disabled -Dintrospection=disabled -Dinstalled_tests=false -Dgio_sniffing=false -Dman=false -Dbuiltin_loaders=png,jpeg + -Dtiff=disabled -Dintrospection=disabled -Dtests=false -Dinstalled_tests=false -Dgio_sniffing=false -Dman=false -Dbuiltin_loaders=png,jpeg ninja -C _build ninja -C _build install # Include libjpeg and libpng as a dependency of gdk-pixbuf, see: https://gitlab.gnome.org/GNOME/gdk-pixbuf/merge_requests/50 From 6df71a4339be1289a84e9c7dd972338a8688f5df Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 15 Aug 2022 12:02:19 +0100 Subject: [PATCH 088/327] glib: remove now-merged patch --- build/lin.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 4c16f2fb..2a18e715 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -212,10 +212,6 @@ cd ${DEPS}/glib if [ "$DARWIN" = true ]; then $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/75b1e06250bdb0df067be4a5db54df960f35c46d/glib-proxy-libintl.patch | patch -p1 fi -if [ "${PLATFORM%-*}" == "linuxmusl" ]; then - # https://gitlab.gnome.org/GNOME/glib/-/issues/2692 - $CURL https://gitlab.gnome.org/GNOME/glib/-/commit/871e5708679b96e63ee574f5c74e0e746f4be9a4.patch | patch -p1 -fi $CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/af997aa5b6bdb27484c6d9f16d9255d79c86aa77/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} From 6e9c4792f82baa98b63e30610f4af63cbd4542eb Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 15 Aug 2022 12:58:45 +0100 Subject: [PATCH 089/327] glib: patch static_assert for musl (issue 2713) --- build/lin.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index 2a18e715..857e03aa 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -212,6 +212,8 @@ cd ${DEPS}/glib if [ "$DARWIN" = true ]; then $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/75b1e06250bdb0df067be4a5db54df960f35c46d/glib-proxy-libintl.patch | patch -p1 fi +# https://gitlab.gnome.org/GNOME/glib/-/issues/2713 +$CURL https://gitlab.gnome.org/GNOME/glib/-/commit/c850a06ea2a78a6822d54546989400039753329d.patch | patch -p1 $CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/af997aa5b6bdb27484c6d9f16d9255d79c86aa77/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} @@ -336,6 +338,7 @@ mkdir ${DEPS}/gdkpixbuf $CURL https://download.gnome.org/sources/gdk-pixbuf/$(without_patch $VERSION_GDKPIXBUF)/gdk-pixbuf-${VERSION_GDKPIXBUF}.tar.xz | tar xJC ${DEPS}/gdkpixbuf --strip-components=1 cd ${DEPS}/gdkpixbuf # Skip thumbnailer +sed -i'.bak' "/subdir('thumbnailer')/{d;}/" meson.build sed -i'.bak' "/post-install/{N;N;N;N;d;}" meson.build # Skip the built-in loaders for BMP, GIF, ICO, PNM, XPM, XBM, TGA, ICNS and QTIF sed -i'.bak' "/'bmp':/{N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;d;}" gdk-pixbuf/meson.build From df3ec3715345817bd1d2d731cd4654c75916421f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 15 Aug 2022 13:30:49 +0100 Subject: [PATCH 090/327] gdkpixbuf: fix removal of thumbnailer --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 857e03aa..97f248c8 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -338,7 +338,7 @@ mkdir ${DEPS}/gdkpixbuf $CURL https://download.gnome.org/sources/gdk-pixbuf/$(without_patch $VERSION_GDKPIXBUF)/gdk-pixbuf-${VERSION_GDKPIXBUF}.tar.xz | tar xJC ${DEPS}/gdkpixbuf --strip-components=1 cd ${DEPS}/gdkpixbuf # Skip thumbnailer -sed -i'.bak' "/subdir('thumbnailer')/{d;}/" meson.build +sed -i'.bak' "/subdir('thumbnailer')/d" meson.build sed -i'.bak' "/post-install/{N;N;N;N;d;}" meson.build # Skip the built-in loaders for BMP, GIF, ICO, PNM, XPM, XBM, TGA, ICNS and QTIF sed -i'.bak' "/'bmp':/{N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;d;}" gdk-pixbuf/meson.build From e091d07a6e15d961580d012ea9ff376e8169870b Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 16 Aug 2022 10:32:26 +0100 Subject: [PATCH 091/327] Linux x64: align with v2 standard microarchitecture (#155) Requires gcc 11, use equivalent-ish nehalem with gcc 9. zlib-ng will still use PCMUL intrinsics when available at runtime so the performance impact should be minimal. --- linux-x64/Dockerfile | 2 +- linuxmusl-x64/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/linux-x64/Dockerfile b/linux-x64/Dockerfile index 79ba3612..98140980 100644 --- a/linux-x64/Dockerfile +++ b/linux-x64/Dockerfile @@ -36,7 +36,7 @@ RUN \ ENV \ PKG_CONFIG="pkg-config --static" \ PLATFORM="linux-x64" \ - FLAGS="-march=westmere" \ + FLAGS="-march=x86-64-v2 -mtune=nehalem" \ MESON="--cross-file=/root/meson.ini" COPY Toolchain.cmake /root/ diff --git a/linuxmusl-x64/Dockerfile b/linuxmusl-x64/Dockerfile index d8c356dd..e62edb21 100644 --- a/linuxmusl-x64/Dockerfile +++ b/linuxmusl-x64/Dockerfile @@ -44,7 +44,7 @@ RUN \ ENV \ PKG_CONFIG="pkg-config --static" \ PLATFORM="linuxmusl-x64" \ - FLAGS="-march=westmere" + FLAGS="-march=nehalem" # Musl defaults to static libs but we need them to be dynamic for host toolchain. # The toolchain will produce static libs by default. From f5515f07fa400489dea5648b5cce2a285a67a93c Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 23 Aug 2022 19:40:55 +0100 Subject: [PATCH 092/327] Bump dep: xml2 --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 97f248c8..e950dc9e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -89,7 +89,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 VERSION_GLIB=2.73.3 -VERSION_XML2=2.9.14 +VERSION_XML2=2.10.0 VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.13.1 From a9c12f8441936f6287411893c055e8de15649b04 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 23 Aug 2022 19:42:10 +0100 Subject: [PATCH 093/327] macOS: skip meson v0.63.1 #154 --- .github/workflows/build-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 6c1f7cad..21c64c9e 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -42,7 +42,7 @@ jobs: uses: actions/checkout@v2 - name: Install dependencies (macOS) run: | - pip3 install meson ninja + pip3 install meson!=0.63.1 ninja brew update brew install advancecomp automake brotli nasm pkg-config if: contains(matrix.platform, 'darwin') From c7b69f2145454cffb9a03368003408385d94aec4 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 2 Sep 2022 13:37:29 +0100 Subject: [PATCH 094/327] Bump deps: heif, svg, xml2 --- build/lin.sh | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index e950dc9e..afc0d930 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -89,7 +89,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.2 VERSION_GLIB=2.73.3 -VERSION_XML2=2.10.0 +VERSION_XML2=2.10.2 VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.13.1 @@ -110,9 +110,9 @@ VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.9 -VERSION_SVG=2.54.4 +VERSION_SVG=2.54.5 VERSION_AOM=3.4.0 -VERSION_HEIF=1.12.0 +VERSION_HEIF=1.13.0 VERSION_CGIF=0.3.0 # Remove patch version component @@ -167,7 +167,7 @@ version_latest "fribidi" "$VERSION_FRIBIDI" "857" version_latest "pango" "$VERSION_PANGO" "11783" version_latest "svg" "$VERSION_SVG" "5420" version_latest "aom" "$VERSION_AOM" "17628" -version_latest "heif" "$VERSION_HEIF" "64439" +version_latest "heif" "$VERSION_HEIF" "strukturag/libheif" version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" if [ "$ALL_AT_VERSION_LATEST" = "false" ]; then exit 1; fi @@ -266,17 +266,6 @@ make install/strip mkdir ${DEPS}/heif $CURL https://github.com/strukturag/libheif/releases/download/v${VERSION_HEIF}/libheif-${VERSION_HEIF}.tar.gz | tar xzC ${DEPS}/heif --strip-components=1 cd ${DEPS}/heif -# [PATCH] aom encoder: improve performance by ~2x using new 'all intra' -$CURL https://github.com/strukturag/libheif/commit/de0c159a60c2c50931321f06e36a3b6640c5c807.patch | patch -p1 -# [PATCH] aom: expose decoder error messages -$CURL https://github.com/strukturag/libheif/commit/7e1c1888023f6dd68cf33e537e7eb8e4d5e17588.patch | patch -p1 -# [PATCH] Detect and prevent negative overflow of clap box dimensions -$CURL https://github.com/strukturag/libheif/commit/e625a702ec7d46ce042922547d76045294af71d6.patch | git apply - -# [PATCH] Avoid lroundf -$CURL https://github.com/strukturag/libheif/commit/499a0a31d79936042c7abeef2513bb0b56b81489.patch | patch -p1 -# [PATCH] Add API to sanitize enums relating to color profiles -$CURL https://github.com/kleisauke/libheif/commit/0d44224914946a00d293c08bbaf4553acc985802.patch | patch -p1 -autoreconf -fiv CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" ./configure \ --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-gdk-pixbuf --disable-go --disable-examples --disable-libde265 --disable-x265 From 7d0d9437d2fd6bcf73ce0e4f0d5b907ae3ed1b3c Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 4 Sep 2022 09:19:22 +0100 Subject: [PATCH 095/327] Upgrade to libvips v8.13.1 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 35de8148..f61979f1 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.13.0 +8.13.1 From b80493737f444195efb8a7a92bd16324c417f65a Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 4 Sep 2022 13:50:27 +0200 Subject: [PATCH 096/327] win32: upgrade Docker container to Debian 11 (bullseye) (#157) This container is used only for post-processing Windows binaries, so we can safely bump to Debian 11 (bullseye). The Linux ARMv7-A and ARMv6 containers still require Debian 10 (buster) to avoid a glibc version bump in the resulting binaries. --- build.sh | 2 +- win32/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sh b/build.sh index e4cb986a..e07f4a7f 100755 --- a/build.sh +++ b/build.sh @@ -77,7 +77,7 @@ if ! [ -x "$(command -v docker)" ]; then fi # Update base images -for baseimage in centos:7 debian:buster debian:bullseye alpine:3.12; do +for baseimage in alpine:3.12 centos:7 debian:bullseye debian:buster; do docker pull $baseimage done diff --git a/win32/Dockerfile b/win32/Dockerfile index 803fbafc..7ac99922 100644 --- a/win32/Dockerfile +++ b/win32/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:buster +FROM debian:bullseye LABEL maintainer="Lovell Fuller " # Create Debian-based container suitable for post-processing Windows binaries From d128083d703731f47ac26f8b66cec0a204aef5c1 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 4 Sep 2022 13:55:56 +0200 Subject: [PATCH 097/327] CI: upgrade Ubuntu runner and checkout action (#156) * CI: upgrade runner to Ubuntu 22.04 * CI: upgrade actions/checkout to v3 * CI: prefer single-line list for less than 3 items * CI: prefer to use the `runner.os` variable * CI: re-indent file --- .github/workflows/build-release.yml | 130 ++++++++++++++-------------- 1 file changed, 64 insertions(+), 66 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 21c64c9e..1f59d2f1 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -1,28 +1,26 @@ name: Build Release -on: - - push - - pull_request +on: [ push, pull_request ] jobs: create-release: - runs-on: 'ubuntu-20.04' + runs-on: 'ubuntu-22.04' outputs: upload_url: ${{ steps.create-release.outputs.upload_url }} steps: - - name: Create Release - id: create-release - if: startsWith(github.ref, 'refs/tags/v') - uses: ncipollo/release-action@v1 - with: - omitBody: true - prerelease: true - token: ${{ secrets.GITHUB_TOKEN }} + - name: Create Release + id: create-release + if: startsWith(github.ref, 'refs/tags/v') + uses: ncipollo/release-action@v1 + with: + omitBody: true + prerelease: true + token: ${{ secrets.GITHUB_TOKEN }} build: runs-on: ${{ matrix.os }} needs: create-release strategy: fail-fast: false matrix: - os: [ubuntu-20.04] + os: [ ubuntu-22.04 ] platform: - 'linux-x64' - 'linux-armv6' @@ -38,56 +36,56 @@ jobs: - os: macos-11 platform: 'darwin-arm64v8' steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Install dependencies (macOS) - run: | - pip3 install meson!=0.63.1 ninja - brew update - brew install advancecomp automake brotli nasm pkg-config - if: contains(matrix.platform, 'darwin') - - name: Build ${{ matrix.platform }} - id: build-release - run: ./build.sh $(cat LIBVIPS_VERSION) ${{ matrix.platform }} - - name: Generate integrity checksums - id: integrity - run: ./integrity.sh - - name: Upload Release Asset (.tar.gz) - id: upload-release-asset-gz - if: startsWith(github.ref, 'refs/tags/v') - uses: ncipollo/release-action@v1 - with: - allowUpdates: true - artifacts: libvips-*-${{ matrix.platform }}.tar.gz - artifactContentType: application/gzip - artifactErrorsFailBuild: true - omitBodyDuringUpdate: true - omitNameDuringUpdate: true - prerelease: true - token: ${{ secrets.GITHUB_TOKEN }} - - name: Upload Release Asset (.tar.br) - id: upload-release-asset-br - if: startsWith(github.ref, 'refs/tags/v') - uses: ncipollo/release-action@v1 - with: - allowUpdates: true - artifacts: libvips-*-${{ matrix.platform }}.tar.br - artifactContentType: application/x-brotli - artifactErrorsFailBuild: true - omitBodyDuringUpdate: true - omitNameDuringUpdate: true - prerelease: true - token: ${{ secrets.GITHUB_TOKEN }} - - name: Upload Release Asset (.integrity) - id: upload-release-asset-integrity - if: startsWith(github.ref, 'refs/tags/v') - uses: ncipollo/release-action@v1 - with: - allowUpdates: true - artifacts: "*.integrity" - artifactContentType: text/plain - artifactErrorsFailBuild: true - omitBodyDuringUpdate: true - omitNameDuringUpdate: true - prerelease: true - token: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout + uses: actions/checkout@v3 + - name: Install dependencies (macOS) + if: runner.os == 'macOS' + run: | + pip3 install meson!=0.63.1 ninja + brew update + brew install advancecomp automake brotli nasm pkg-config + - name: Build ${{ matrix.platform }} + id: build-release + run: ./build.sh $(cat LIBVIPS_VERSION) ${{ matrix.platform }} + - name: Generate integrity checksums + id: integrity + run: ./integrity.sh + - name: Upload Release Asset (.tar.gz) + id: upload-release-asset-gz + if: startsWith(github.ref, 'refs/tags/v') + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + artifacts: libvips-*-${{ matrix.platform }}.tar.gz + artifactContentType: application/gzip + artifactErrorsFailBuild: true + omitBodyDuringUpdate: true + omitNameDuringUpdate: true + prerelease: true + token: ${{ secrets.GITHUB_TOKEN }} + - name: Upload Release Asset (.tar.br) + id: upload-release-asset-br + if: startsWith(github.ref, 'refs/tags/v') + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + artifacts: libvips-*-${{ matrix.platform }}.tar.br + artifactContentType: application/x-brotli + artifactErrorsFailBuild: true + omitBodyDuringUpdate: true + omitNameDuringUpdate: true + prerelease: true + token: ${{ secrets.GITHUB_TOKEN }} + - name: Upload Release Asset (.integrity) + id: upload-release-asset-integrity + if: startsWith(github.ref, 'refs/tags/v') + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + artifacts: "*.integrity" + artifactContentType: text/plain + artifactErrorsFailBuild: true + omitBodyDuringUpdate: true + omitNameDuringUpdate: true + prerelease: true + token: ${{ secrets.GITHUB_TOKEN }} From 2e3b6ec69f0dc82e71b78d9e856f8baab5960cee Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 4 Sep 2022 20:43:12 +0200 Subject: [PATCH 098/327] macOS: remove version requirement for Meson (#154) Skipping this version is now implicitly done since Meson 0.63.2 was released, which reverted the commit that caused this linker failure. See: https://github.com/mesonbuild/meson/commit/0e0dbf7e35f1e368090682bfd4818589d3c64d6e --- .github/workflows/build-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 1f59d2f1..0a6297fd 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -41,7 +41,7 @@ jobs: - name: Install dependencies (macOS) if: runner.os == 'macOS' run: | - pip3 install meson!=0.63.1 ninja + pip3 install meson ninja brew update brew install advancecomp automake brotli nasm pkg-config - name: Build ${{ matrix.platform }} From 1b6c0b842d20a1f4977a9f4511be651b2cfd2c07 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 20 Sep 2022 09:37:26 +0100 Subject: [PATCH 099/327] Bump deps: ffi, glib, harfbuzz, pango, png --- build/lin.sh | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index afc0d930..0d2fa23e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -87,14 +87,14 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 -VERSION_FFI=3.4.2 -VERSION_GLIB=2.73.3 +VERSION_FFI=3.4.3 +VERSION_GLIB=2.74.0 VERSION_XML2=2.10.2 VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.13.1 VERSION_MOZJPEG=4.1.1 -VERSION_PNG16=1.6.37 +VERSION_PNG16=1.6.38 VERSION_SPNG=0.7.2 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.2.4 @@ -105,11 +105,11 @@ VERSION_GDKPIXBUF=2.42.9 VERSION_FREETYPE=2.12.1 VERSION_EXPAT=2.4.8 VERSION_FONTCONFIG=2.14.0 -VERSION_HARFBUZZ=5.1.0 +VERSION_HARFBUZZ=5.2.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 -VERSION_PANGO=1.50.9 +VERSION_PANGO=1.50.10 VERSION_SVG=2.54.5 VERSION_AOM=3.4.0 VERSION_HEIF=1.13.0 @@ -212,8 +212,6 @@ cd ${DEPS}/glib if [ "$DARWIN" = true ]; then $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/75b1e06250bdb0df067be4a5db54df960f35c46d/glib-proxy-libintl.patch | patch -p1 fi -# https://gitlab.gnome.org/GNOME/glib/-/issues/2713 -$CURL https://gitlab.gnome.org/GNOME/glib/-/commit/c850a06ea2a78a6822d54546989400039753329d.patch | patch -p1 $CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/af997aa5b6bdb27484c6d9f16d9255d79c86aa77/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} From da107672682ca6737048156cd1a4056ef3f0b880 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 28 Sep 2022 22:02:12 +0100 Subject: [PATCH 100/327] Bump deps: aom, svg --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 0d2fa23e..d0a1a31e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -110,8 +110,8 @@ VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.10 -VERSION_SVG=2.54.5 -VERSION_AOM=3.4.0 +VERSION_SVG=2.55.1 +VERSION_AOM=3.5.0 VERSION_HEIF=1.13.0 VERSION_CGIF=0.3.0 @@ -165,7 +165,7 @@ version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" version_latest "pango" "$VERSION_PANGO" "11783" -version_latest "svg" "$VERSION_SVG" "5420" +version_latest "svg" "$VERSION_SVG" "5420" "unstable" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "strukturag/libheif" version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" From 6a35e38d1da646f4a0764d5f6c368293393ac13e Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 29 Sep 2022 13:12:55 +0200 Subject: [PATCH 101/327] Bump dep: expat (#159) --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index d0a1a31e..aaafb7ab 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -103,7 +103,7 @@ VERSION_ORC=0.4.32 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.9 VERSION_FREETYPE=2.12.1 -VERSION_EXPAT=2.4.8 +VERSION_EXPAT=2.4.9 VERSION_FONTCONFIG=2.14.0 VERSION_HARFBUZZ=5.2.0 VERSION_PIXMAN=0.40.0 @@ -158,7 +158,7 @@ version_latest "orc" "$VERSION_ORC" "2573" version_latest "proxy-libintl" "$VERSION_PROXY_LIBINTL" "frida/proxy-libintl" version_latest "gdkpixbuf" "$VERSION_GDKPIXBUF" "9533" version_latest "freetype" "$VERSION_FREETYPE" "854" -version_latest "expat" "$VERSION_EXPAT" "770" +#version_latest "expat" "$VERSION_EXPAT" "770" # latest version in release monitoring is out of sync version_latest "fontconfig" "$VERSION_FONTCONFIG" "827" version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" version_latest "pixman" "$VERSION_PIXMAN" "3648" From 7257221654cfb98e0469961c4b722a87f0179114 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 29 Sep 2022 12:14:49 +0100 Subject: [PATCH 102/327] Upgrade to libvips v8.13.2 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index f61979f1..e1451b2b 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.13.1 +8.13.2 From 50a3cd49a2dcee8d9725390b7cd67fda7fa9896e Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 4 Oct 2022 12:03:35 +0200 Subject: [PATCH 103/327] Bump dep: pango (#160) --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index aaafb7ab..c3306bae 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -109,7 +109,7 @@ VERSION_HARFBUZZ=5.2.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 -VERSION_PANGO=1.50.10 +VERSION_PANGO=1.50.11 VERSION_SVG=2.55.1 VERSION_AOM=3.5.0 VERSION_HEIF=1.13.0 @@ -158,7 +158,7 @@ version_latest "orc" "$VERSION_ORC" "2573" version_latest "proxy-libintl" "$VERSION_PROXY_LIBINTL" "frida/proxy-libintl" version_latest "gdkpixbuf" "$VERSION_GDKPIXBUF" "9533" version_latest "freetype" "$VERSION_FREETYPE" "854" -#version_latest "expat" "$VERSION_EXPAT" "770" # latest version in release monitoring is out of sync +version_latest "expat" "$VERSION_EXPAT" "770" version_latest "fontconfig" "$VERSION_FONTCONFIG" "827" version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" version_latest "pixman" "$VERSION_PIXMAN" "3648" From 70df88ea8ad6e7425e134e472e69a0e59b115156 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 13 Oct 2022 11:22:04 +0100 Subject: [PATCH 104/327] Bump dep: harfbuzz --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index c3306bae..7eafaa41 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -105,7 +105,7 @@ VERSION_GDKPIXBUF=2.42.9 VERSION_FREETYPE=2.12.1 VERSION_EXPAT=2.4.9 VERSION_FONTCONFIG=2.14.0 -VERSION_HARFBUZZ=5.2.0 +VERSION_HARFBUZZ=5.3.0 VERSION_PIXMAN=0.40.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 From e11f3f589ab0946a467226c7d2c19eb919b1c298 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 25 Oct 2022 10:38:40 +0100 Subject: [PATCH 105/327] Bump deps: fontconfig, harfbuzz, pixman, xml --- build/lin.sh | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 7eafaa41..0e32b4cc 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -89,7 +89,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.3 VERSION_GLIB=2.74.0 -VERSION_XML2=2.10.2 +VERSION_XML2=2.10.3 VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.13.1 @@ -104,9 +104,9 @@ VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.9 VERSION_FREETYPE=2.12.1 VERSION_EXPAT=2.4.9 -VERSION_FONTCONFIG=2.14.0 -VERSION_HARFBUZZ=5.3.0 -VERSION_PIXMAN=0.40.0 +VERSION_FONTCONFIG=2.14.1 +VERSION_HARFBUZZ=5.3.1 +VERSION_PIXMAN=0.42.0 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.11 @@ -381,10 +381,8 @@ ninja -C _build install mkdir ${DEPS}/pixman $CURL https://cairographics.org/releases/pixman-${VERSION_PIXMAN}.tar.gz | tar xzC ${DEPS}/pixman --strip-components=1 cd ${DEPS}/pixman -# Disable tests and demos -sed -i'.bak' "/subdir('test')/{N;d;}" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dlibpng=disabled -Diwmmxt=disabled -Dgtk=disabled -Dopenmp=disabled + -Dlibpng=disabled -Diwmmxt=disabled -Dgtk=disabled -Dopenmp=disabled -Dtests=disabled ninja -C _build ninja -C _build install From d6611fd423bbb1c82f0c682bc5c72dba12563080 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 25 Oct 2022 11:07:03 +0100 Subject: [PATCH 106/327] pixman: download file missing from release tarball --- build/lin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index 0e32b4cc..3a4347d5 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -381,6 +381,8 @@ ninja -C _build install mkdir ${DEPS}/pixman $CURL https://cairographics.org/releases/pixman-${VERSION_PIXMAN}.tar.gz | tar xzC ${DEPS}/pixman --strip-components=1 cd ${DEPS}/pixman +# https://gitlab.freedesktop.org/pixman/pixman/-/issues/66 +$CURL --remote-name https://gitlab.freedesktop.org/pixman/pixman/-/raw/pixman-${VERSION_PIXMAN}/a64-neon-test.S meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dlibpng=disabled -Diwmmxt=disabled -Dgtk=disabled -Dopenmp=disabled -Dtests=disabled ninja -C _build From 7124cc51f5492f9fd02ee11ebe833706ab995416 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 25 Oct 2022 14:01:02 +0100 Subject: [PATCH 107/327] pixman: ARM64 intrinsics unsupported on Mach-O --- build/lin.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 3a4347d5..729b8714 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -384,7 +384,8 @@ cd ${DEPS}/pixman # https://gitlab.freedesktop.org/pixman/pixman/-/issues/66 $CURL --remote-name https://gitlab.freedesktop.org/pixman/pixman/-/raw/pixman-${VERSION_PIXMAN}/a64-neon-test.S meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dlibpng=disabled -Diwmmxt=disabled -Dgtk=disabled -Dopenmp=disabled -Dtests=disabled + -Dlibpng=disabled -Diwmmxt=disabled -Dgtk=disabled -Dopenmp=disabled -Dtests=disabled \ + ${DARWIN_ARM:+-Da64-neon=disabled} ninja -C _build ninja -C _build install From 6df3ee143c61867ce9ca719afe6f48e7299b18af Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 26 Oct 2022 11:45:47 +0200 Subject: [PATCH 108/327] Bump deps: expat, ffi, gdkpixbuf, glib (#162) --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 729b8714..f7fd4163 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -87,8 +87,8 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 -VERSION_FFI=3.4.3 -VERSION_GLIB=2.74.0 +VERSION_FFI=3.4.4 +VERSION_GLIB=2.74.1 VERSION_XML2=2.10.3 VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 @@ -101,9 +101,9 @@ VERSION_WEBP=1.2.4 VERSION_TIFF=4.4.0 VERSION_ORC=0.4.32 VERSION_PROXY_LIBINTL=0.4 -VERSION_GDKPIXBUF=2.42.9 +VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.12.1 -VERSION_EXPAT=2.4.9 +VERSION_EXPAT=2.5.0 VERSION_FONTCONFIG=2.14.1 VERSION_HARFBUZZ=5.3.1 VERSION_PIXMAN=0.42.0 From 8505258c86d6f28bcb4ee6f81e9b250ec97d31ef Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 26 Oct 2022 12:56:21 +0200 Subject: [PATCH 109/327] Avoid unnecessary sed usage (#161) --- build/lin.sh | 19 ++++++------------- linux-arm64v8/Dockerfile | 3 +-- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index f7fd4163..1551473c 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -228,11 +228,10 @@ make install-strip mkdir ${DEPS}/gsf $CURL https://download.gnome.org/sources/libgsf/$(without_patch $VERSION_GSF)/libgsf-${VERSION_GSF}.tar.xz | tar xJC ${DEPS}/gsf --strip-components=1 cd ${DEPS}/gsf -# Skip unused subdirs -sed -i'.bak' "s/ doc tools tests thumbnailer python//" Makefile.in ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --without-bz2 --without-gdk-pixbuf --disable-nls --without-libiconv-prefix --without-libintl-prefix -make install-strip +# Skip unused subdirs +make install-strip SUBDIRS="gsf" mkdir ${DEPS}/exif $CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libexif-${VERSION_EXIF}.tar.bz2 | tar xjC ${DEPS}/exif --strip-components=1 @@ -401,10 +400,8 @@ ninja -C _build install mkdir ${DEPS}/fribidi $CURL https://github.com/fribidi/fribidi/releases/download/v${VERSION_FRIBIDI}/fribidi-${VERSION_FRIBIDI}.tar.xz | tar xJC ${DEPS}/fribidi --strip-components=1 cd ${DEPS}/fribidi -# Disable tests -sed -i'.bak' "/subdir('test')/d" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Ddocs=false + -Ddocs=false -Dbin=false -Dtests=false ninja -C _build ninja -C _build install @@ -421,21 +418,17 @@ ninja -C _build install mkdir ${DEPS}/svg $CURL https://download.gnome.org/sources/librsvg/$(without_patch $VERSION_SVG)/librsvg-${VERSION_SVG}.tar.xz | tar xJC ${DEPS}/svg --strip-components=1 cd ${DEPS}/svg +# Add missing pkg-config deps sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo/" librsvg.pc.in # LTO optimization does not work for staticlib+rlib compilation sed -i'.bak' "s/, \"rlib\"//" Cargo.toml -# Skip executables -sed -i'.bak' "/SCRIPTS = /d" Makefile.in -# Use target/CARGO_BUILD_TARGET/release instead of target/release when set -if [[ $CARGO_BUILD_TARGET ]]; then - sed -i'.bak' "s/@RUST_TARGET_SUBDIR@/$CARGO_BUILD_TARGET\/@RUST_TARGET_SUBDIR@/" Makefile.in -fi # Remove the --static flag from the PKG_CONFIG env since Rust does not # support that. Build with PKG_CONFIG_ALL_STATIC=1 instead. PKG_CONFIG=${PKG_CONFIG/ --static/} ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-introspection --disable-tools --disable-pixbuf-loader --disable-nls --without-libiconv-prefix --without-libintl-prefix \ ${DARWIN:+--disable-Bsymbolic} -PKG_CONFIG_ALL_STATIC=1 make install-strip +# Skip build of rsvg-convert +PKG_CONFIG_ALL_STATIC=1 make install-strip bin_SCRIPTS= mkdir ${DEPS}/cgif $CURL https://github.com/dloebl/cgif/archive/V${VERSION_CGIF}.tar.gz | tar xzC ${DEPS}/cgif --strip-components=1 diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index adcc7e1e..f1d22ddd 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -29,8 +29,8 @@ RUN \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ --profile minimal \ + --default-host aarch64-unknown-linux-gnu \ && \ - rustup target add aarch64-unknown-linux-gnu && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ pip3 install meson ninja @@ -38,7 +38,6 @@ RUN \ ENV \ PKG_CONFIG="pkg-config --static" \ PLATFORM="linux-arm64v8" \ - CARGO_BUILD_TARGET="aarch64-unknown-linux-gnu" \ FLAGS="-march=armv8-a" \ MESON="--cross-file=/root/meson.ini" From 05c5ff73f21740030a975f713f7d950a9fcc11f8 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 1 Nov 2022 16:16:53 +0000 Subject: [PATCH 110/327] Bump dep: orc This should enable NEON optimisations on aarch64 --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 1551473c..abb7a026 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -99,7 +99,7 @@ VERSION_SPNG=0.7.2 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.2.4 VERSION_TIFF=4.4.0 -VERSION_ORC=0.4.32 +VERSION_ORC=0.4.33 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.12.1 From 7e92873b2b8333487c5edc1b37935870b75448cc Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 1 Nov 2022 17:13:09 +0000 Subject: [PATCH 111/327] Bump dep: lcms2 --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index abb7a026..89a253c4 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,7 +92,7 @@ VERSION_GLIB=2.74.1 VERSION_XML2=2.10.3 VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 -VERSION_LCMS2=2.13.1 +VERSION_LCMS2=2.14 VERSION_MOZJPEG=4.1.1 VERSION_PNG16=1.6.38 VERSION_SPNG=0.7.2 From b51b44ee0fc0a2af754be4082fcfba691cff3a49 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 2 Nov 2022 21:40:51 +0000 Subject: [PATCH 112/327] Bump dep: pixman --- build/lin.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 89a253c4..642eea93 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -106,7 +106,7 @@ VERSION_FREETYPE=2.12.1 VERSION_EXPAT=2.5.0 VERSION_FONTCONFIG=2.14.1 VERSION_HARFBUZZ=5.3.1 -VERSION_PIXMAN=0.42.0 +VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.11 @@ -380,8 +380,6 @@ ninja -C _build install mkdir ${DEPS}/pixman $CURL https://cairographics.org/releases/pixman-${VERSION_PIXMAN}.tar.gz | tar xzC ${DEPS}/pixman --strip-components=1 cd ${DEPS}/pixman -# https://gitlab.freedesktop.org/pixman/pixman/-/issues/66 -$CURL --remote-name https://gitlab.freedesktop.org/pixman/pixman/-/raw/pixman-${VERSION_PIXMAN}/a64-neon-test.S meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dlibpng=disabled -Diwmmxt=disabled -Dgtk=disabled -Dopenmp=disabled -Dtests=disabled \ ${DARWIN_ARM:+-Da64-neon=disabled} From 944fbd2d2cac8c1d4a5043c6b73af9ca27ea8d51 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 3 Nov 2022 10:49:15 +0100 Subject: [PATCH 113/327] macOS: install Meson and Ninja via Homebrew (#163) Since GitHub actions migrated the Python installation to a universal package, which no longer adds the pip3 site-packages to the PATH, see: https://github.com/actions/runner-images/issues/6496 --- .github/workflows/build-release.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 0a6297fd..2b3da531 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -41,9 +41,8 @@ jobs: - name: Install dependencies (macOS) if: runner.os == 'macOS' run: | - pip3 install meson ninja brew update - brew install advancecomp automake brotli nasm pkg-config + brew install advancecomp automake brotli meson nasm ninja pkg-config - name: Build ${{ matrix.platform }} id: build-release run: ./build.sh $(cat LIBVIPS_VERSION) ${{ matrix.platform }} From 34c25b5b93417d67d408d3385abaeb1832027e5b Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 3 Nov 2022 10:55:02 +0000 Subject: [PATCH 114/327] Upgrade to libvips v8.13.3 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index e1451b2b..3b3df401 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.13.2 +8.13.3 From 033f05adad92ea1572d05b7e4db8e9676a20ca23 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 9 Nov 2022 11:49:08 +0000 Subject: [PATCH 115/327] macOS: temp skip 'brew update' until Python 3.11 fully available --- .github/workflows/build-release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 2b3da531..b193e8ff 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -41,7 +41,6 @@ jobs: - name: Install dependencies (macOS) if: runner.os == 'macOS' run: | - brew update brew install advancecomp automake brotli meson nasm ninja pkg-config - name: Build ${{ matrix.platform }} id: build-release From 22488b422543b7d43d0132ae07d1c06151e89ecf Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 9 Nov 2022 12:49:36 +0000 Subject: [PATCH 116/327] macOS: upgrade earliest supported version to 10.13 (#164) Prevent use of API newer than deployment target Patch orc to prevent use of pthread_jit functions on 10.x --- build.sh | 6 ++++-- build/lin.sh | 4 ++++ darwin-x64/Toolchain.cmake | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/build.sh b/build.sh index e07f4a7f..051897ff 100755 --- a/build.sh +++ b/build.sh @@ -44,14 +44,16 @@ for flavour in darwin-x64 darwin-arm64v8; do # Use pkg-config provided by Homebrew export PKG_CONFIG="$(brew --prefix)/bin/pkg-config --static" - # 10.9 should be a good minimal release target - export MACOSX_DEPLOYMENT_TARGET="10.9" + # Earliest supported version of macOS + export MACOSX_DEPLOYMENT_TARGET="10.13" # Added -fno-stack-check to workaround a stack misalignment bug on macOS 10.15 # See: # https://forums.developer.apple.com/thread/121887 # https://trac.ffmpeg.org/ticket/8073#comment:12 export FLAGS="-fno-stack-check" + # Prevent use of API newer than the deployment target + export FLAGS+=" -Werror=unguarded-availability-new" if [ $PLATFORM = "darwin-arm64v8" ]; then # ARM64 builds work via cross compilation from an x86_64 machine diff --git a/build/lin.sh b/build/lin.sh index 642eea93..6fe99a89 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -315,6 +315,10 @@ make install-strip mkdir ${DEPS}/orc $CURL https://gstreamer.freedesktop.org/data/src/orc/orc-${VERSION_ORC}.tar.xz | tar xJC ${DEPS}/orc --strip-components=1 cd ${DEPS}/orc +# Prevent detection of pthread_jit for macOS 10 deployment target +if [ "$PLATFORM" == "darwin-x64" ]; then + sed -i'.bak' "s/cc.has_function('pthread_jit_write_protect_np')/false/" meson.build +fi meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dorc-test=disabled -Dbenchmarks=disabled -Dexamples=disabled -Dgtk_doc=disabled -Dtests=disabled -Dtools=disabled ninja -C _build diff --git a/darwin-x64/Toolchain.cmake b/darwin-x64/Toolchain.cmake index df1ffd73..08be8ab0 100644 --- a/darwin-x64/Toolchain.cmake +++ b/darwin-x64/Toolchain.cmake @@ -1,8 +1,8 @@ SET(CMAKE_C_COMPILER clang) SET(CMAKE_CXX_COMPILER clang++) -# 10.9 should be a good minimal release target -SET(CMAKE_OSX_DEPLOYMENT_TARGET 10.9) +# Earliest supported version of macOS +SET(CMAKE_OSX_DEPLOYMENT_TARGET 10.13) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) From fff48f9115af670e348deddefbed6d17930ff7da Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sat, 12 Nov 2022 14:39:20 +0100 Subject: [PATCH 117/327] Bump dep: glib (#166) glib: disable inotify backend for musl --- build/lin.sh | 4 ++-- linuxmusl-arm64v8/meson.ini | 5 +++++ linuxmusl-x64/Dockerfile | 4 +++- linuxmusl-x64/meson.ini | 4 ++++ 4 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 linuxmusl-x64/meson.ini diff --git a/build/lin.sh b/build/lin.sh index 6fe99a89..48cae394 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -88,7 +88,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.4 -VERSION_GLIB=2.74.1 +VERSION_GLIB=2.75.0 VERSION_XML2=2.10.3 VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 @@ -212,7 +212,7 @@ cd ${DEPS}/glib if [ "$DARWIN" = true ]; then $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/75b1e06250bdb0df067be4a5db54df960f35c46d/glib-proxy-libintl.patch | patch -p1 fi -$CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/af997aa5b6bdb27484c6d9f16d9255d79c86aa77/glib-without-gregex.patch | patch -p1 +$CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/ce7f85f337357555c3112b36d4b2753ae996f5ff/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} ninja -C _build diff --git a/linuxmusl-arm64v8/meson.ini b/linuxmusl-arm64v8/meson.ini index 444381fc..28fc8988 100644 --- a/linuxmusl-arm64v8/meson.ini +++ b/linuxmusl-arm64v8/meson.ini @@ -14,5 +14,10 @@ strip = 'aarch64-linux-musl-strip' ranlib = 'aarch64-linux-musl-ranlib' pkgconfig = ['aarch64-linux-musl-pkg-config', '--static'] +# Ensure we disable the inotify backend in GIO +# See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2991#note_1592863 +[properties] +has_function_inotify_init1 = false + [built-in options] libdir = 'lib' diff --git a/linuxmusl-x64/Dockerfile b/linuxmusl-x64/Dockerfile index e62edb21..b711d23f 100644 --- a/linuxmusl-x64/Dockerfile +++ b/linuxmusl-x64/Dockerfile @@ -44,7 +44,8 @@ RUN \ ENV \ PKG_CONFIG="pkg-config --static" \ PLATFORM="linuxmusl-x64" \ - FLAGS="-march=nehalem" + FLAGS="-march=nehalem" \ + MESON="--cross-file=/root/meson.ini" # Musl defaults to static libs but we need them to be dynamic for host toolchain. # The toolchain will produce static libs by default. @@ -52,3 +53,4 @@ ENV \ RUSTFLAGS="-Ctarget-feature=-crt-static" COPY Toolchain.cmake /root/ +COPY meson.ini /root/ diff --git a/linuxmusl-x64/meson.ini b/linuxmusl-x64/meson.ini new file mode 100644 index 00000000..6cb8de33 --- /dev/null +++ b/linuxmusl-x64/meson.ini @@ -0,0 +1,4 @@ +# Ensure we disable the inotify backend in GIO +# See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2991#note_1592863 +[properties] +has_function_inotify_init1 = false From eb9309d05be2b2ecf27f74afc96765b8fbad533f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 12 Nov 2022 15:11:34 +0000 Subject: [PATCH 118/327] Linux: always use malloc instead of glib slice allocator (#165) (achieved via Alpine Linux patch) --- build/lin.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index 48cae394..acc6d9c2 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -213,6 +213,10 @@ if [ "$DARWIN" = true ]; then $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/75b1e06250bdb0df067be4a5db54df960f35c46d/glib-proxy-libintl.patch | patch -p1 fi $CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/ce7f85f337357555c3112b36d4b2753ae996f5ff/glib-without-gregex.patch | patch -p1 +if [ "$LINUX" = true ]; then + # use malloc rather than slice allocator https://gitlab.gnome.org/GNOME/glib/-/issues/1079 + $CURL https://raw.githubusercontent.com/alpinelinux/aports/ba57357f7a7094d1ebf4542912661383bafcf348/main/glib/always-malloc.patch | patch -p1 +fi meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} ninja -C _build From 9ac72ddb008c834cf79c54d9d8b20ebcc286031d Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 20 Nov 2022 18:04:50 +0100 Subject: [PATCH 119/327] Bump deps: heif, pango (#168) * Bump deps: heif, pango - Build libheif with CMake, as preferred by upstream since v1.14.0. - Ensure to always specify `CMAKE_BUILD_TYPE` for CMake projects. * mozjpeg: specify `CMAKE_INSTALL_LIBDIR` as relative path It uses a custom implementation of `GNUInstallDirs`, so we need to specify that the variable is of type `PATH` to ensure that the path is relative to the install directory rather than the build directory. --- build/lin.sh | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index acc6d9c2..b3156b64 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -109,10 +109,10 @@ VERSION_HARFBUZZ=5.3.1 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 -VERSION_PANGO=1.50.11 +VERSION_PANGO=1.50.12 VERSION_SVG=2.55.1 VERSION_AOM=3.5.0 -VERSION_HEIF=1.13.0 +VERSION_HEIF=1.14.0 VERSION_CGIF=0.3.0 # Remove patch version component @@ -196,7 +196,8 @@ mkdir ${DEPS}/zlib-ng $CURL https://github.com/zlib-ng/zlib-ng/archive/${VERSION_ZLIB_NG}.tar.gz | tar xzC ${DEPS}/zlib-ng --strip-components=1 cd ${DEPS}/zlib-ng CFLAGS="${CFLAGS} -O3" cmake -G"Unix Makefiles" \ - -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DBUILD_SHARED_LIBS=FALSE -DZLIB_COMPAT=TRUE + -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=FALSE -DZLIB_COMPAT=TRUE make install/strip mkdir ${DEPS}/ffi @@ -267,16 +268,16 @@ make install/strip mkdir ${DEPS}/heif $CURL https://github.com/strukturag/libheif/releases/download/v${VERSION_HEIF}/libheif-${VERSION_HEIF}.tar.gz | tar xzC ${DEPS}/heif --strip-components=1 cd ${DEPS}/heif -CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" ./configure \ - --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --disable-gdk-pixbuf --disable-go --disable-examples --disable-libde265 --disable-x265 -make install-strip +CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" cmake -G"Unix Makefiles" \ + -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=FALSE -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0 -DWITH_LIBDE265=0 -DWITH_X265=0 +make install/strip mkdir ${DEPS}/jpeg $CURL https://github.com/mozilla/mozjpeg/archive/v${VERSION_MOZJPEG}.tar.gz | tar xzC ${DEPS}/jpeg --strip-components=1 cd ${DEPS}/jpeg -cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=${TARGET}/lib \ +cmake -G"Unix Makefiles" \ + -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR:PATH=lib -DCMAKE_BUILD_TYPE=MinSizeRel \ -DENABLE_STATIC=TRUE -DENABLE_SHARED=FALSE -DWITH_JPEG8=1 -DWITH_TURBOJPEG=FALSE -DPNG_SUPPORTED=FALSE make install/strip From 6eb097c7124db4112477e81964e1668fd3b07fc6 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 1 Dec 2022 15:07:24 +0100 Subject: [PATCH 120/327] Bump deps: png, svg (#169) --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index b3156b64..8c9f7ebb 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,7 +94,7 @@ VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.14 VERSION_MOZJPEG=4.1.1 -VERSION_PNG16=1.6.38 +VERSION_PNG16=1.6.39 VERSION_SPNG=0.7.2 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.2.4 @@ -110,7 +110,7 @@ VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.12 -VERSION_SVG=2.55.1 +VERSION_SVG=2.55.90 VERSION_AOM=3.5.0 VERSION_HEIF=1.14.0 VERSION_CGIF=0.3.0 From 4a0cf4324776ea2b3501b220e30f0696aeac1909 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 2 Dec 2022 15:45:59 +0100 Subject: [PATCH 121/327] Revert "macOS: install Meson and Ninja via Homebrew (#163)" (#167) This reverts commit 944fbd2d. --- .github/workflows/build-release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index b193e8ff..4dedf146 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -41,7 +41,8 @@ jobs: - name: Install dependencies (macOS) if: runner.os == 'macOS' run: | - brew install advancecomp automake brotli meson nasm ninja pkg-config + pip3 install meson ninja + brew install advancecomp automake brotli nasm pkg-config - name: Build ${{ matrix.platform }} id: build-release run: ./build.sh $(cat LIBVIPS_VERSION) ${{ matrix.platform }} From 602e52977ceb5d3659f8a34270e879307e41f333 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 2 Dec 2022 16:56:39 +0100 Subject: [PATCH 122/327] Meson: install only a subset of the installable files (#158) Requires at least Meson 0.64.0. See https://mesonbuild.com/Installing.html#installation-tags. --- build/lin.sh | 46 ++++++++++++++++------------------------------ 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 8c9f7ebb..c533a98e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -188,8 +188,7 @@ if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then $CURL https://github.com/frida/proxy-libintl/archive/${VERSION_PROXY_LIBINTL}.tar.gz | tar xzC ${DEPS}/proxy-libintl --strip-components=1 cd ${DEPS}/proxy-libintl meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} - ninja -C _build - ninja -C _build install + meson install -C _build --tag devel fi mkdir ${DEPS}/zlib-ng @@ -220,8 +219,8 @@ if [ "$LINUX" = true ]; then fi meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} -ninja -C _build -ninja -C _build install +# bin-devel is needed for glib-compile-resources, as required by gdk-pixbuf +meson install -C _build --tag bin-devel,devel mkdir ${DEPS}/xml2 $CURL https://download.gnome.org/sources/libxml2/$(without_patch $VERSION_XML2)/libxml2-${VERSION_XML2}.tar.xz | tar xJC ${DEPS}/xml2 --strip-components=1 @@ -292,15 +291,13 @@ $CURL https://github.com/randy408/libspng/archive/v${VERSION_SPNG}.tar.gz | tar cd ${DEPS}/spng CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dstatic_zlib=true -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel mkdir ${DEPS}/imagequant $CURL https://github.com/lovell/libimagequant/archive/v${VERSION_IMAGEQUANT}.tar.gz | tar xzC ${DEPS}/imagequant --strip-components=1 cd ${DEPS}/imagequant CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel mkdir ${DEPS}/webp $CURL https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-${VERSION_WEBP}.tar.gz | tar xzC ${DEPS}/webp --strip-components=1 @@ -326,8 +323,7 @@ if [ "$PLATFORM" == "darwin-x64" ]; then fi meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dorc-test=disabled -Dbenchmarks=disabled -Dexamples=disabled -Dgtk_doc=disabled -Dtests=disabled -Dtools=disabled -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel mkdir ${DEPS}/gdkpixbuf $CURL https://download.gnome.org/sources/gdk-pixbuf/$(without_patch $VERSION_GDKPIXBUF)/gdk-pixbuf-${VERSION_GDKPIXBUF}.tar.xz | tar xJC ${DEPS}/gdkpixbuf --strip-components=1 @@ -346,8 +342,7 @@ sed -i'.bak' "/loaders_cache = custom/{N;N;N;N;N;N;N;N;N;c\\ }" gdk-pixbuf/meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dtiff=disabled -Dintrospection=disabled -Dtests=false -Dinstalled_tests=false -Dgio_sniffing=false -Dman=false -Dbuiltin_loaders=png,jpeg -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel # Include libjpeg and libpng as a dependency of gdk-pixbuf, see: https://gitlab.gnome.org/GNOME/gdk-pixbuf/merge_requests/50 sed -i'.bak' "s/^\(Requires:.*\)/\1 libjpeg, libpng16/" ${TARGET}/lib/pkgconfig/gdk-pixbuf-2.0.pc @@ -356,8 +351,7 @@ $CURL https://download.savannah.gnu.org/releases/freetype/freetype-${VERSION_FRE cd ${DEPS}/freetype meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dzlib=enabled -Dpng=disabled -Dharfbuzz=disabled -Dbrotli=disabled -Dbzip2=disabled -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel mkdir ${DEPS}/expat $CURL https://github.com/libexpat/libexpat/releases/download/R_${VERSION_EXPAT//./_}/expat-${VERSION_EXPAT}.tar.xz | tar xJC ${DEPS}/expat --strip-components=1 @@ -373,8 +367,7 @@ cd ${DEPS}/fontconfig meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dcache-build=disabled -Ddoc=disabled -Dnls=disabled -Dtests=disabled -Dtools=disabled \ ${LINUX:+--sysconfdir=/etc} ${DARWIN:+--sysconfdir=/usr/local/etc} -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel mkdir ${DEPS}/harfbuzz $CURL https://github.com/harfbuzz/harfbuzz/archive/${VERSION_HARFBUZZ}.tar.gz | tar xzC ${DEPS}/harfbuzz --strip-components=1 @@ -383,8 +376,7 @@ cd ${DEPS}/harfbuzz sed -i'.bak' "/subdir('util')/d" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dgobject=disabled -Dicu=disabled -Dtests=disabled -Dintrospection=disabled -Ddocs=disabled -Dbenchmark=disabled ${DARWIN:+-Dcoretext=enabled} -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel mkdir ${DEPS}/pixman $CURL https://cairographics.org/releases/pixman-${VERSION_PIXMAN}.tar.gz | tar xzC ${DEPS}/pixman --strip-components=1 @@ -392,8 +384,7 @@ cd ${DEPS}/pixman meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dlibpng=disabled -Diwmmxt=disabled -Dgtk=disabled -Dopenmp=disabled -Dtests=disabled \ ${DARWIN_ARM:+-Da64-neon=disabled} -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel mkdir ${DEPS}/cairo $CURL https://gitlab.freedesktop.org/cairo/cairo/-/archive/${VERSION_CAIRO}/cairo-${VERSION_CAIRO}.tar.bz2 | tar xjC ${DEPS}/cairo --strip-components=1 @@ -401,16 +392,14 @@ cd ${DEPS}/cairo meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ ${LINUX:+-Dquartz=disabled} ${DARWIN:+-Dquartz=enabled} -Dxcb=disabled -Dxlib=disabled -Dzlib=disabled \ -Dtests=disabled -Dspectre=disabled -Dsymbol-lookup=disabled -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel mkdir ${DEPS}/fribidi $CURL https://github.com/fribidi/fribidi/releases/download/v${VERSION_FRIBIDI}/fribidi-${VERSION_FRIBIDI}.tar.xz | tar xJC ${DEPS}/fribidi --strip-components=1 cd ${DEPS}/fribidi meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Ddocs=false -Dbin=false -Dtests=false -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel mkdir ${DEPS}/pango $CURL https://download.gnome.org/sources/pango/$(without_patch $VERSION_PANGO)/pango-${VERSION_PANGO}.tar.xz | tar xJC ${DEPS}/pango --strip-components=1 @@ -419,8 +408,7 @@ cd ${DEPS}/pango sed -i'.bak' "/subdir('utils')/{N;N;N;d;}" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dgtk_doc=false -Dintrospection=disabled -Dfontconfig=enabled -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel mkdir ${DEPS}/svg $CURL https://download.gnome.org/sources/librsvg/$(without_patch $VERSION_SVG)/librsvg-${VERSION_SVG}.tar.xz | tar xJC ${DEPS}/svg --strip-components=1 @@ -442,8 +430,7 @@ $CURL https://github.com/dloebl/cgif/archive/V${VERSION_CGIF}.tar.gz | tar xzC $ cd ${DEPS}/cgif CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dtests=false -ninja -C _build -ninja -C _build install +meson install -C _build --tag devel mkdir ${DEPS}/vips $CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1 @@ -471,8 +458,7 @@ CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" meson setup _build --default-l -Dmagick=disabled -Dmatio=disabled -Dnifti=disabled -Dopenexr=disabled -Dopenjpeg=disabled -Dopenslide=disabled \ -Dpdfium=disabled -Dpoppler=disabled -Dquantizr=disabled -Dppm=false -Danalyze=false -Dradiance=false \ ${LINUX:+-Dcpp_link_args="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--version-script=$DEPS/vips/vips.map $EXCLUDE_LIBS"} -ninja -C _build -ninja -C _build install +meson install -C _build --tag runtime,devel # Cleanup rm -rf ${TARGET}/lib/{pkgconfig,.libs,*.la,cmake} From 15d9326bf8eafc253e95e2b06b3a14c7e53634a3 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 22 Dec 2022 21:49:07 +0000 Subject: [PATCH 123/327] Bump deps: glib, harfbuzz, spng, tiff --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index c533a98e..8a6ae2ae 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -88,24 +88,24 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.4 -VERSION_GLIB=2.75.0 +VERSION_GLIB=2.75.1 VERSION_XML2=2.10.3 VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.14 VERSION_MOZJPEG=4.1.1 VERSION_PNG16=1.6.39 -VERSION_SPNG=0.7.2 +VERSION_SPNG=0.7.3 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.2.4 -VERSION_TIFF=4.4.0 +VERSION_TIFF=4.5.0 VERSION_ORC=0.4.33 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.12.1 VERSION_EXPAT=2.5.0 VERSION_FONTCONFIG=2.14.1 -VERSION_HARFBUZZ=5.3.1 +VERSION_HARFBUZZ=6.0.0 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.6 VERSION_FRIBIDI=1.0.12 From 33128f21e09c44ab9289071cf67a8995d4f85ba2 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 24 Dec 2022 12:29:28 +0000 Subject: [PATCH 124/327] Upgrade to libvips v8.14.0-rc1 --- LIBVIPS_VERSION | 2 +- build/lin.sh | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 3b3df401..8dc6a72d 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.13.3 +8.14.0-rc1 diff --git a/build/lin.sh b/build/lin.sh index 8a6ae2ae..05fb6707 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -119,6 +119,10 @@ VERSION_CGIF=0.3.0 without_patch() { echo "${1%.[[:digit:]]*}" } +# Remove prerelease suffix +without_prerelease() { + echo "${1%-[[:alnum:]]*}" +} # Check for newer versions # Skip by setting the VERSION_LATEST_REQUIRED environment variable to "false" @@ -433,7 +437,7 @@ CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=r meson install -C _build --tag devel mkdir ${DEPS}/vips -$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1 +$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-$(without_prerelease $VERSION_VIPS).tar.xz | tar xJC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips # Link libvips.so.42 statically into libvips-cpp.so.42 sed -i'.bak' "s/library('vips'/static_&/" libvips/meson.build From f0fb81df4ad53385c1c7388fa2007994326b4ab0 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 27 Dec 2022 09:33:57 +0100 Subject: [PATCH 125/327] tiff: avoid building unnecessary things (#170) In line with commit kleisauke/wasm-vips@628f6fa and libvips/build-win64-mxe@3c04aa7. --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 05fb6707..76988887 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -315,7 +315,7 @@ $CURL https://download.osgeo.org/libtiff/tiff-${VERSION_TIFF}.tar.gz | tar xzC $ cd ${DEPS}/tiff # Propagate -pthread into CFLAGS to ensure WebP support CFLAGS="${CFLAGS} -pthread" ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --disable-mdi --disable-pixarlog --disable-old-jpeg --disable-cxx --disable-lzma --disable-zstd + --disable-tools --disable-tests --disable-contrib --disable-docs --disable-mdi --disable-pixarlog --disable-old-jpeg --disable-cxx --disable-lzma --disable-zstd make install-strip mkdir ${DEPS}/orc From 0c1408ea378a9b392179ca167a45074ef1a99534 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 3 Jan 2023 19:09:55 +0000 Subject: [PATCH 126/327] Bump dep: heif --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 76988887..d981bbd3 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -112,7 +112,7 @@ VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.12 VERSION_SVG=2.55.90 VERSION_AOM=3.5.0 -VERSION_HEIF=1.14.0 +VERSION_HEIF=1.14.1 VERSION_CGIF=0.3.0 # Remove patch version component From 1f062aac7fd17569fc93858f1caaeefb580bb1f6 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 6 Jan 2023 19:54:17 +0100 Subject: [PATCH 127/327] Bump deps: glib, heif (#172) --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index d981bbd3..c5501d50 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -88,7 +88,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.4 -VERSION_GLIB=2.75.1 +VERSION_GLIB=2.75.2 VERSION_XML2=2.10.3 VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 @@ -112,7 +112,7 @@ VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.12 VERSION_SVG=2.55.90 VERSION_AOM=3.5.0 -VERSION_HEIF=1.14.1 +VERSION_HEIF=1.14.2 VERSION_CGIF=0.3.0 # Remove patch version component @@ -214,9 +214,9 @@ mkdir ${DEPS}/glib $CURL https://download.gnome.org/sources/glib/$(without_patch $VERSION_GLIB)/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1 cd ${DEPS}/glib if [ "$DARWIN" = true ]; then - $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/75b1e06250bdb0df067be4a5db54df960f35c46d/glib-proxy-libintl.patch | patch -p1 + $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/244533fc6935db39320d7d3773760f4d0e9d365b/glib-proxy-libintl.patch | patch -p1 fi -$CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/ce7f85f337357555c3112b36d4b2753ae996f5ff/glib-without-gregex.patch | patch -p1 +$CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/21e4100bce7145e9137c4b4a6c612e7a0864e476/glib-without-gregex.patch | patch -p1 if [ "$LINUX" = true ]; then # use malloc rather than slice allocator https://gitlab.gnome.org/GNOME/glib/-/issues/1079 $CURL https://raw.githubusercontent.com/alpinelinux/aports/ba57357f7a7094d1ebf4542912661383bafcf348/main/glib/always-malloc.patch | patch -p1 From eee9c6360e3f6d133e4f56fdc950c030bd9c0da6 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 10 Jan 2023 17:40:54 +0000 Subject: [PATCH 128/327] Upgrade to libvips v8.14.1 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 8dc6a72d..6092827e 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.14.0-rc1 +8.14.1 From f99cf68d98adb11b2aed0b47e9633b219cb59026 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 14 Jan 2023 16:07:09 +0000 Subject: [PATCH 129/327] Bump dep: webp --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index c5501d50..7e9ce78e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -97,7 +97,7 @@ VERSION_MOZJPEG=4.1.1 VERSION_PNG16=1.6.39 VERSION_SPNG=0.7.3 VERSION_IMAGEQUANT=2.4.1 -VERSION_WEBP=1.2.4 +VERSION_WEBP=1.3.0 VERSION_TIFF=4.5.0 VERSION_ORC=0.4.33 VERSION_PROXY_LIBINTL=0.4 From 7a056a79ed8408f42ffb2a51706dec33ae7695ef Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 14 Jan 2023 16:08:45 +0000 Subject: [PATCH 130/327] spng: allow x64 to use SSE4.1 intrinsics --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 7e9ce78e..3f77f1f5 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -293,7 +293,7 @@ make install-strip mkdir ${DEPS}/spng $CURL https://github.com/randy408/libspng/archive/v${VERSION_SPNG}.tar.gz | tar xzC ${DEPS}/spng --strip-components=1 cd ${DEPS}/spng -CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ +CFLAGS="${CFLAGS} -O3 -DSPNG_SSE=4" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dstatic_zlib=true meson install -C _build --tag devel From c5add8a815fb9917490542970e983f4a5b7a198e Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 19 Jan 2023 19:02:05 +0100 Subject: [PATCH 131/327] Remove Cargo build path prefixes from the binaries (#174) --- build/lin.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index 3f77f1f5..e46ef5f2 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -79,6 +79,10 @@ export CARGO_PROFILE_RELEASE_LTO=true export CARGO_PROFILE_RELEASE_OPT_LEVEL=z export CARGO_PROFILE_RELEASE_PANIC=abort +# Ensure Cargo build path prefixes are removed from the resulting binaries +# https://reproducible-builds.org/docs/build-path/ +export RUSTFLAGS+=" --remap-path-prefix=$CARGO_HOME/registry/=" + # We don't want to use any native libraries, so unset PKG_CONFIG_PATH unset PKG_CONFIG_PATH From 8a3f63edbd5d6a38167f18db42995acf2fc23415 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 2 Feb 2023 20:45:54 +0000 Subject: [PATCH 132/327] Bump deps: cairo, fontconfig --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index e46ef5f2..4d0b9c8c 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -108,10 +108,10 @@ VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.12.1 VERSION_EXPAT=2.5.0 -VERSION_FONTCONFIG=2.14.1 +VERSION_FONTCONFIG=2.14.2 VERSION_HARFBUZZ=6.0.0 VERSION_PIXMAN=0.42.2 -VERSION_CAIRO=1.17.6 +VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.12 VERSION_SVG=2.55.90 From 1df2758b2003ae6ee695aec267d73612038f789f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 9 Feb 2023 16:33:43 +0000 Subject: [PATCH 133/327] Bump deps: aom, freetype --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 4d0b9c8c..8f7f53ae 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -106,7 +106,7 @@ VERSION_TIFF=4.5.0 VERSION_ORC=0.4.33 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 -VERSION_FREETYPE=2.12.1 +VERSION_FREETYPE=2.13.0 VERSION_EXPAT=2.5.0 VERSION_FONTCONFIG=2.14.2 VERSION_HARFBUZZ=6.0.0 @@ -115,7 +115,7 @@ VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.12 VERSION_SVG=2.55.90 -VERSION_AOM=3.5.0 +VERSION_AOM=3.6.0 VERSION_HEIF=1.14.2 VERSION_CGIF=0.3.0 From 31cf5e6a4a5ed1568451a0fe05ba3a89124c99a7 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 10 Feb 2023 15:46:55 +0000 Subject: [PATCH 134/327] freetype: use GitLab for source as mirrors are out of sync --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 8f7f53ae..4dde500c 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -355,7 +355,7 @@ meson install -C _build --tag devel sed -i'.bak' "s/^\(Requires:.*\)/\1 libjpeg, libpng16/" ${TARGET}/lib/pkgconfig/gdk-pixbuf-2.0.pc mkdir ${DEPS}/freetype -$CURL https://download.savannah.gnu.org/releases/freetype/freetype-${VERSION_FREETYPE}.tar.xz | tar xJC ${DEPS}/freetype --strip-components=1 +$CURL https://gitlab.freedesktop.org/freetype/freetype/-/archive/VER-${VERSION_FREETYPE//./-}/freetype-VER-${VERSION_FREETYPE//./-}.tar.bz2 | tar xjC ${DEPS}/freetype --strip-components=1 cd ${DEPS}/freetype meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dzlib=enabled -Dpng=disabled -Dharfbuzz=disabled -Dbrotli=disabled -Dbzip2=disabled From b8f82948142427ce2234062b51ee5a6819292c4c Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 12 Feb 2023 17:54:50 +0000 Subject: [PATCH 135/327] Bump deps: harfbuzz, svg --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 4dde500c..dfb6bf2f 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -109,12 +109,12 @@ VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.0 VERSION_EXPAT=2.5.0 VERSION_FONTCONFIG=2.14.2 -VERSION_HARFBUZZ=6.0.0 +VERSION_HARFBUZZ=7.0.0 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.12 -VERSION_SVG=2.55.90 +VERSION_SVG=2.55.91 VERSION_AOM=3.6.0 VERSION_HEIF=1.14.2 VERSION_CGIF=0.3.0 From 0288bc1d6b6405ba61e6f3d0662db32cb610f3b0 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 14 Feb 2023 14:57:39 +0100 Subject: [PATCH 136/327] Bump dep: glib (#177) --- build/lin.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index dfb6bf2f..940c6c6a 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,7 +92,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.4 -VERSION_GLIB=2.75.2 +VERSION_GLIB=2.75.3 VERSION_XML2=2.10.3 VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 @@ -221,10 +221,6 @@ if [ "$DARWIN" = true ]; then $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/244533fc6935db39320d7d3773760f4d0e9d365b/glib-proxy-libintl.patch | patch -p1 fi $CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/21e4100bce7145e9137c4b4a6c612e7a0864e476/glib-without-gregex.patch | patch -p1 -if [ "$LINUX" = true ]; then - # use malloc rather than slice allocator https://gitlab.gnome.org/GNOME/glib/-/issues/1079 - $CURL https://raw.githubusercontent.com/alpinelinux/aports/ba57357f7a7094d1ebf4542912661383bafcf348/main/glib/always-malloc.patch | patch -p1 -fi meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} # bin-devel is needed for glib-compile-resources, as required by gdk-pixbuf From d2cfe0ee1f64d89df33dbdd0253ba8bb07bc4e5a Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 20 Feb 2023 08:23:56 +0000 Subject: [PATCH 137/327] Bump dep: heif --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 940c6c6a..521c37c4 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -116,7 +116,7 @@ VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.12 VERSION_SVG=2.55.91 VERSION_AOM=3.6.0 -VERSION_HEIF=1.14.2 +VERSION_HEIF=1.15.1 VERSION_CGIF=0.3.0 # Remove patch version component From d3adcca3cb4c8cb9024ae263e2fe8d01c251eb6d Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 20 Feb 2023 08:25:14 +0000 Subject: [PATCH 138/327] orc: use upstream patch for macOS pthread_jit detection --- build/lin.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 521c37c4..209dd4db 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -321,10 +321,8 @@ make install-strip mkdir ${DEPS}/orc $CURL https://gstreamer.freedesktop.org/data/src/orc/orc-${VERSION_ORC}.tar.xz | tar xJC ${DEPS}/orc --strip-components=1 cd ${DEPS}/orc -# Prevent detection of pthread_jit for macOS 10 deployment target -if [ "$PLATFORM" == "darwin-x64" ]; then - sed -i'.bak' "s/cc.has_function('pthread_jit_write_protect_np')/false/" meson.build -fi +# Fix detection of macOS pthread_jit +$CURL https://gitlab.freedesktop.org/gstreamer/orc/-/commit/4d0144a9cc4efa195ae3e7f6b99b2daa9ad47b54.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dorc-test=disabled -Dbenchmarks=disabled -Dexamples=disabled -Dgtk_doc=disabled -Dtests=disabled -Dtools=disabled meson install -C _build --tag devel From 85afa6708a165ad66c59e3d3e138220051751e2f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 23 Feb 2023 19:28:52 +0000 Subject: [PATCH 139/327] Bump deps: harfbuzz, pango --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 209dd4db..96748787 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -109,11 +109,11 @@ VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.0 VERSION_EXPAT=2.5.0 VERSION_FONTCONFIG=2.14.2 -VERSION_HARFBUZZ=7.0.0 +VERSION_HARFBUZZ=7.0.1 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.12 -VERSION_PANGO=1.50.12 +VERSION_PANGO=1.50.13 VERSION_SVG=2.55.91 VERSION_AOM=3.6.0 VERSION_HEIF=1.15.1 From 541459296d98e2bb022f819973a25036c0af17f5 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 26 Feb 2023 19:31:46 +0000 Subject: [PATCH 140/327] gsf: remove due to use of incompatible LGPL-2.1-only (#178) --- build/lin.sh | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 96748787..2ddcacc5 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,7 +94,6 @@ VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.4 VERSION_GLIB=2.75.3 VERSION_XML2=2.10.3 -VERSION_GSF=1.14.50 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.14 VERSION_MOZJPEG=4.1.1 @@ -154,7 +153,6 @@ version_latest "zlib-ng" "$VERSION_ZLIB_NG" "115592" version_latest "ffi" "$VERSION_FFI" "1611" version_latest "glib" "$VERSION_GLIB" "10024" "unstable" version_latest "xml2" "$VERSION_XML2" "1783" -version_latest "gsf" "$VERSION_GSF" "1980" version_latest "exif" "$VERSION_EXIF" "1607" version_latest "lcms2" "$VERSION_LCMS2" "9815" version_latest "mozjpeg" "$VERSION_MOZJPEG" "mozilla/mozjpeg" @@ -233,14 +231,6 @@ cd ${DEPS}/xml2 --with-minimum --with-reader --with-writer --with-valid --with-http --with-tree --with-zlib --without-python --without-lzma make install-strip -mkdir ${DEPS}/gsf -$CURL https://download.gnome.org/sources/libgsf/$(without_patch $VERSION_GSF)/libgsf-${VERSION_GSF}.tar.xz | tar xJC ${DEPS}/gsf --strip-components=1 -cd ${DEPS}/gsf -./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --without-bz2 --without-gdk-pixbuf --disable-nls --without-libiconv-prefix --without-libintl-prefix -# Skip unused subdirs -make install-strip SUBDIRS="gsf" - mkdir ${DEPS}/exif $CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libexif-${VERSION_EXIF}.tar.bz2 | tar xjC ${DEPS}/exif --strip-components=1 cd ${DEPS}/exif @@ -416,7 +406,7 @@ mkdir ${DEPS}/svg $CURL https://download.gnome.org/sources/librsvg/$(without_patch $VERSION_SVG)/librsvg-${VERSION_SVG}.tar.xz | tar xJC ${DEPS}/svg --strip-components=1 cd ${DEPS}/svg # Add missing pkg-config deps -sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo/" librsvg.pc.in +sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo libxml-2.0/" librsvg.pc.in # LTO optimization does not work for staticlib+rlib compilation sed -i'.bak' "s/, \"rlib\"//" Cargo.toml # Remove the --static flag from the PKG_CONFIG env since Rust does not @@ -458,7 +448,8 @@ sed -i'.bak' "/subdir('man')/{N;N;N;N;d;}" meson.build CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" meson setup _build --default-library=shared --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -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 \ + -Dpdfium=disabled -Dpoppler=disabled -Dquantizr=disabled -Dgsf=disabled \ + -Dppm=false -Danalyze=false -Dradiance=false \ ${LINUX:+-Dcpp_link_args="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--version-script=$DEPS/vips/vips.map $EXCLUDE_LIBS"} meson install -C _build --tag runtime,devel @@ -524,7 +515,6 @@ printf "{\n\ \"fribidi\": \"${VERSION_FRIBIDI}\",\n\ \"gdkpixbuf\": \"${VERSION_GDKPIXBUF}\",\n\ \"glib\": \"${VERSION_GLIB}\",\n\ - \"gsf\": \"${VERSION_GSF}\",\n\ \"harfbuzz\": \"${VERSION_HARFBUZZ}\",\n\ \"heif\": \"${VERSION_HEIF}\",\n\ \"imagequant\": \"${VERSION_IMAGEQUANT}\",\n\ From 84c26c52227a9aea59e526542787e122ff77edf2 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 26 Feb 2023 20:08:17 +0000 Subject: [PATCH 141/327] orc: additional upstream patch for macOS pthread_jit detection --- build/lin.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/build/lin.sh b/build/lin.sh index 2ddcacc5..b8f91605 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -313,6 +313,7 @@ $CURL https://gstreamer.freedesktop.org/data/src/orc/orc-${VERSION_ORC}.tar.xz | cd ${DEPS}/orc # Fix detection of macOS pthread_jit $CURL https://gitlab.freedesktop.org/gstreamer/orc/-/commit/4d0144a9cc4efa195ae3e7f6b99b2daa9ad47b54.patch | patch -p1 +$CURL https://gitlab.freedesktop.org/gstreamer/orc/-/commit/6b838f7e629cf721a570631e47ea482f25e75c70.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dorc-test=disabled -Dbenchmarks=disabled -Dexamples=disabled -Dgtk_doc=disabled -Dtests=disabled -Dtools=disabled meson install -C _build --tag devel From 59f97a071e9677b5de2cac8bc33e3b66059225f5 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 27 Feb 2023 09:25:38 +0000 Subject: [PATCH 142/327] gsf: remove due to use of incompatible LGPL-2.1-only --- THIRD-PARTY-NOTICES.md | 1 - 1 file changed, 1 deletion(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 1237dc17..62b71c62 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -18,7 +18,6 @@ used under the terms of the following licences: | lcms | MIT Licence | | libexif | LGPLv3 | | libffi | MIT Licence | -| libgsf | LGPLv3 | | libheif | LGPLv3 | | libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) | | mozjpeg | [zlib License, IJG License, BSD-3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) | From da32306228da0d33ff9758ad1c2a49b6efb78b3e Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 2 Mar 2023 21:40:34 +0000 Subject: [PATCH 143/327] Bump deps: lcms2, pango lcms2: switch from autotools to meson --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index b8f91605..21d50c69 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -95,7 +95,7 @@ VERSION_FFI=3.4.4 VERSION_GLIB=2.75.3 VERSION_XML2=2.10.3 VERSION_EXIF=0.6.24 -VERSION_LCMS2=2.14 +VERSION_LCMS2=2.15 VERSION_MOZJPEG=4.1.1 VERSION_PNG16=1.6.39 VERSION_SPNG=0.7.3 @@ -112,7 +112,7 @@ VERSION_HARFBUZZ=7.0.1 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.12 -VERSION_PANGO=1.50.13 +VERSION_PANGO=1.50.14 VERSION_SVG=2.55.91 VERSION_AOM=3.6.0 VERSION_HEIF=1.15.1 @@ -242,8 +242,8 @@ make install-strip mkdir ${DEPS}/lcms2 $CURL https://github.com/mm2/Little-CMS/releases/download/lcms${VERSION_LCMS2}/lcms2-${VERSION_LCMS2}.tar.gz | tar xzC ${DEPS}/lcms2 --strip-components=1 cd ${DEPS}/lcms2 -CFLAGS="${CFLAGS} -O3" ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking -make install-strip +CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} +meson install -C _build --tag devel mkdir ${DEPS}/aom $CURL https://storage.googleapis.com/aom-releases/libaom-${VERSION_AOM}.tar.gz | tar xzC ${DEPS}/aom --strip-components=1 From 9e841d4bd125efcb406f3a0a17f04a90649bcbf3 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 9 Mar 2023 17:29:57 +0000 Subject: [PATCH 144/327] Bump deps: glib, harfbuzz, rsvg --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 21d50c69..c697a521 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,7 +92,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.6 VERSION_FFI=3.4.4 -VERSION_GLIB=2.75.3 +VERSION_GLIB=2.75.4 VERSION_XML2=2.10.3 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 @@ -108,12 +108,12 @@ VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.0 VERSION_EXPAT=2.5.0 VERSION_FONTCONFIG=2.14.2 -VERSION_HARFBUZZ=7.0.1 +VERSION_HARFBUZZ=7.1.0 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.14 -VERSION_SVG=2.55.91 +VERSION_SVG=2.55.92 VERSION_AOM=3.6.0 VERSION_HEIF=1.15.1 VERSION_CGIF=0.3.0 From dce64c16a0e8e8002d4d5e724e83f6da73815d45 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 9 Mar 2023 17:33:45 +0000 Subject: [PATCH 145/327] rsvg: ensure consistent naming internally --- build/lin.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index c697a521..11ed677e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -113,7 +113,7 @@ VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.14 -VERSION_SVG=2.55.92 +VERSION_RSVG=2.55.92 VERSION_AOM=3.6.0 VERSION_HEIF=1.15.1 VERSION_CGIF=0.3.0 @@ -171,7 +171,7 @@ version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" version_latest "pango" "$VERSION_PANGO" "11783" -version_latest "svg" "$VERSION_SVG" "5420" "unstable" +version_latest "rsvg" "$VERSION_RSVG" "5420" "unstable" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "strukturag/libheif" version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" @@ -403,9 +403,9 @@ meson setup _build --default-library=static --buildtype=release --strip --prefix -Dgtk_doc=false -Dintrospection=disabled -Dfontconfig=enabled meson install -C _build --tag devel -mkdir ${DEPS}/svg -$CURL https://download.gnome.org/sources/librsvg/$(without_patch $VERSION_SVG)/librsvg-${VERSION_SVG}.tar.xz | tar xJC ${DEPS}/svg --strip-components=1 -cd ${DEPS}/svg +mkdir ${DEPS}/rsvg +$CURL https://download.gnome.org/sources/librsvg/$(without_patch $VERSION_RSVG)/librsvg-${VERSION_RSVG}.tar.xz | tar xJC ${DEPS}/rsvg --strip-components=1 +cd ${DEPS}/rsvg # Add missing pkg-config deps sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo libxml-2.0/" librsvg.pc.in # LTO optimization does not work for staticlib+rlib compilation @@ -526,7 +526,7 @@ printf "{\n\ \"pixman\": \"${VERSION_PIXMAN}\",\n\ \"png\": \"${VERSION_PNG16}\",\n\ \"proxy-libintl\": \"${VERSION_PROXY_LIBINTL}\",\n\ - \"svg\": \"${VERSION_SVG}\",\n\ + \"rsvg\": \"${VERSION_RSVG}\",\n\ \"spng\": \"${VERSION_SPNG}\",\n\ \"tiff\": \"${VERSION_TIFF}\",\n\ \"vips\": \"${VERSION_VIPS}\",\n\ From 1116159240faac209d86a11ef60de1addf4e6abd Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 18 Mar 2023 14:43:18 +0000 Subject: [PATCH 146/327] Bump deps: glib, rsvg, zlib-ng --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 11ed677e..a7051358 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -90,9 +90,9 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.0.6 +VERSION_ZLIB_NG=2.0.7 VERSION_FFI=3.4.4 -VERSION_GLIB=2.75.4 +VERSION_GLIB=2.76.0 VERSION_XML2=2.10.3 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 @@ -113,7 +113,7 @@ VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.14 -VERSION_RSVG=2.55.92 +VERSION_RSVG=2.56.0 VERSION_AOM=3.6.0 VERSION_HEIF=1.15.1 VERSION_CGIF=0.3.0 @@ -149,7 +149,7 @@ version_latest() { echo "$1 version $2 has been superseded by $VERSION_LATEST" fi } -version_latest "zlib-ng" "$VERSION_ZLIB_NG" "115592" +#version_latest "zlib-ng" "$VERSION_ZLIB_NG" "115592" # latest not yet in release monitoring version_latest "ffi" "$VERSION_FFI" "1611" version_latest "glib" "$VERSION_GLIB" "10024" "unstable" version_latest "xml2" "$VERSION_XML2" "1783" From fae611ea8d9e0fd8f530f91b5984696343d873b3 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 21 Mar 2023 16:01:24 +0000 Subject: [PATCH 147/327] Upgrade to libvips v8.14.2 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 6092827e..12800750 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.14.1 +8.14.2 From 8ac7f6a6540fe4f77be865dff506d0ff5edcabbc Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 28 Mar 2023 16:27:00 +0100 Subject: [PATCH 148/327] Bump dep: glib --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index a7051358..476d8e7b 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,7 +92,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.7 VERSION_FFI=3.4.4 -VERSION_GLIB=2.76.0 +VERSION_GLIB=2.76.1 VERSION_XML2=2.10.3 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 From da113e2ec72dab7b2b91911f544a65df212b5ca1 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 29 Mar 2023 12:52:45 +0100 Subject: [PATCH 149/327] glib: compile without macros (assert, checks) (#180) --- build/lin.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 476d8e7b..cf14ce43 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -220,7 +220,8 @@ if [ "$DARWIN" = true ]; then fi $CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/21e4100bce7145e9137c4b4a6c612e7a0864e476/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled ${DARWIN:+-Dbsymbolic_functions=false} + --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled \ + -Dglib_assert=false -Dglib_checks=false ${DARWIN:+-Dbsymbolic_functions=false} # bin-devel is needed for glib-compile-resources, as required by gdk-pixbuf meson install -C _build --tag bin-devel,devel From 93a6102ab4184678b583573a53bd798d990d6eef Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 27 Apr 2023 11:10:11 +0100 Subject: [PATCH 150/327] Bump deps: cgif, glib, harfbuzz, heif, xml2 --- build/lin.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index cf14ce43..ce4738ce 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,8 +92,8 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.7 VERSION_FFI=3.4.4 -VERSION_GLIB=2.76.1 -VERSION_XML2=2.10.3 +VERSION_GLIB=2.76.2 +VERSION_XML2=2.10.4 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 VERSION_MOZJPEG=4.1.1 @@ -108,15 +108,15 @@ VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.0 VERSION_EXPAT=2.5.0 VERSION_FONTCONFIG=2.14.2 -VERSION_HARFBUZZ=7.1.0 +VERSION_HARFBUZZ=7.2.0 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.14 VERSION_RSVG=2.56.0 VERSION_AOM=3.6.0 -VERSION_HEIF=1.15.1 -VERSION_CGIF=0.3.0 +VERSION_HEIF=1.15.2 +VERSION_CGIF=0.3.1 # Remove patch version component without_patch() { From b77f9381ebf447516e4a5f1b406083adebaaa6fe Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 27 Apr 2023 11:59:58 +0100 Subject: [PATCH 151/327] linuxmusl: pin advancecomp package --- linuxmusl-arm64v8/Dockerfile | 2 +- linuxmusl-x64/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/linuxmusl-arm64v8/Dockerfile b/linuxmusl-arm64v8/Dockerfile index d1453202..083261a4 100644 --- a/linuxmusl-arm64v8/Dockerfile +++ b/linuxmusl-arm64v8/Dockerfile @@ -33,7 +33,7 @@ RUN \ py3-pip \ python3 \ && \ - apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/edge/community/ add advancecomp && \ + apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/v3.17/community/ add advancecomp && \ curl -Ls https://github.com/lovell/aarch64-linux-musl-crosstools/archive/main.tar.gz | tar -hxzC / --strip-components=2 && \ ln -s /usr/bin/pkg-config /bin/aarch64-linux-musl-pkg-config && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ diff --git a/linuxmusl-x64/Dockerfile b/linuxmusl-x64/Dockerfile index b711d23f..219c5bb8 100644 --- a/linuxmusl-x64/Dockerfile +++ b/linuxmusl-x64/Dockerfile @@ -33,7 +33,7 @@ RUN \ py3-pip \ python3 \ && \ - apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/edge/community/ add advancecomp && \ + apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/v3.17/community/ add advancecomp && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ --profile minimal \ From a8f9b8036f698c6eaa3df24af93ebcab8d87da11 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 12 May 2023 13:57:05 +0100 Subject: [PATCH 152/327] Bump deps: aom, harfbuzz, heif, spng, xml2 --- build/lin.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index ce4738ce..a5c7e4cd 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -93,12 +93,12 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" VERSION_ZLIB_NG=2.0.7 VERSION_FFI=3.4.4 VERSION_GLIB=2.76.2 -VERSION_XML2=2.10.4 +VERSION_XML2=2.11.3 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 VERSION_MOZJPEG=4.1.1 VERSION_PNG16=1.6.39 -VERSION_SPNG=0.7.3 +VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.3.0 VERSION_TIFF=4.5.0 @@ -108,14 +108,14 @@ VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.0 VERSION_EXPAT=2.5.0 VERSION_FONTCONFIG=2.14.2 -VERSION_HARFBUZZ=7.2.0 +VERSION_HARFBUZZ=7.3.0 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.12 VERSION_PANGO=1.50.14 VERSION_RSVG=2.56.0 -VERSION_AOM=3.6.0 -VERSION_HEIF=1.15.2 +VERSION_AOM=3.6.1 +VERSION_HEIF=1.16.1 VERSION_CGIF=0.3.1 # Remove patch version component From 3f18e908272fd6930cf9c08c2c0cb3cd36b215ae Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 31 May 2023 20:52:51 +0100 Subject: [PATCH 153/327] Bump deps: cgif, fribidi, glib, heif, mozjpeg, orc, rsvg, xml2 Includes libjpeg-turbo v2.1.5.1 patch --- build/lin.sh | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index a5c7e4cd..f15cca49 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,17 +92,17 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.0.7 VERSION_FFI=3.4.4 -VERSION_GLIB=2.76.2 -VERSION_XML2=2.11.3 +VERSION_GLIB=2.76.3 +VERSION_XML2=2.11.4 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 -VERSION_MOZJPEG=4.1.1 +VERSION_MOZJPEG=4.1.3 VERSION_PNG16=1.6.39 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.3.0 VERSION_TIFF=4.5.0 -VERSION_ORC=0.4.33 +VERSION_ORC=0.4.34 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.0 @@ -111,12 +111,12 @@ VERSION_FONTCONFIG=2.14.2 VERSION_HARFBUZZ=7.3.0 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 -VERSION_FRIBIDI=1.0.12 +VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.50.14 -VERSION_RSVG=2.56.0 +VERSION_RSVG=2.56.1 VERSION_AOM=3.6.1 -VERSION_HEIF=1.16.1 -VERSION_CGIF=0.3.1 +VERSION_HEIF=1.16.2 +VERSION_CGIF=0.3.2 # Remove patch version component without_patch() { @@ -270,6 +270,8 @@ make install/strip mkdir ${DEPS}/jpeg $CURL https://github.com/mozilla/mozjpeg/archive/v${VERSION_MOZJPEG}.tar.gz | tar xzC ${DEPS}/jpeg --strip-components=1 cd ${DEPS}/jpeg +# https://github.com/mozilla/mozjpeg/pull/432 +$CURL https://github.com/libjpeg-turbo/libjpeg-turbo/commit/d743a2c12e889f7605a56f5144ae2e3899c9dd4f.patch | patch -p1 cmake -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR:PATH=lib -DCMAKE_BUILD_TYPE=MinSizeRel \ -DENABLE_STATIC=TRUE -DENABLE_SHARED=FALSE -DWITH_JPEG8=1 -DWITH_TURBOJPEG=FALSE -DPNG_SUPPORTED=FALSE From 818dd000924fd297cfd2bcd786932f065f02cb4c Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 31 May 2023 21:06:20 +0100 Subject: [PATCH 154/327] orc: remove no-longer-required patches --- build/lin.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index f15cca49..e8a28f4d 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -314,9 +314,6 @@ make install-strip mkdir ${DEPS}/orc $CURL https://gstreamer.freedesktop.org/data/src/orc/orc-${VERSION_ORC}.tar.xz | tar xJC ${DEPS}/orc --strip-components=1 cd ${DEPS}/orc -# Fix detection of macOS pthread_jit -$CURL https://gitlab.freedesktop.org/gstreamer/orc/-/commit/4d0144a9cc4efa195ae3e7f6b99b2daa9ad47b54.patch | patch -p1 -$CURL https://gitlab.freedesktop.org/gstreamer/orc/-/commit/6b838f7e629cf721a570631e47ea482f25e75c70.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dorc-test=disabled -Dbenchmarks=disabled -Dexamples=disabled -Dgtk_doc=disabled -Dtests=disabled -Dtools=disabled meson install -C _build --tag devel From ade8c51dd5d8c3ca95559be7efde62d27a48c690 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 9 Jun 2023 11:59:27 +0100 Subject: [PATCH 155/327] Bump dep: zlib-ng --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index e8a28f4d..67e22ee7 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -90,7 +90,7 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.0.7 +VERSION_ZLIB_NG=2.1.2 VERSION_FFI=3.4.4 VERSION_GLIB=2.76.3 VERSION_XML2=2.11.4 @@ -149,7 +149,7 @@ version_latest() { echo "$1 version $2 has been superseded by $VERSION_LATEST" fi } -#version_latest "zlib-ng" "$VERSION_ZLIB_NG" "115592" # latest not yet in release monitoring +version_latest "zlib-ng" "$VERSION_ZLIB_NG" "115592" version_latest "ffi" "$VERSION_FFI" "1611" version_latest "glib" "$VERSION_GLIB" "10024" "unstable" version_latest "xml2" "$VERSION_XML2" "1783" From dd5c92354d4a693e63181c1fb7a30ce7f4f64837 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 23 Jun 2023 06:57:44 +0100 Subject: [PATCH 156/327] Bump dep: tiff --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 67e22ee7..ab5d70f3 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -101,7 +101,7 @@ VERSION_PNG16=1.6.39 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.3.0 -VERSION_TIFF=4.5.0 +VERSION_TIFF=4.5.1 VERSION_ORC=0.4.34 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 From ac464fc975ad123f875c606ee5b8b2fee3144d91 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 23 Jun 2023 07:38:52 +0100 Subject: [PATCH 157/327] Add libarchive dependency, backport for libvips 8.14.x --- build/lin.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index ab5d70f3..cadfad40 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -107,6 +107,7 @@ VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.0 VERSION_EXPAT=2.5.0 +VERSION_ARCHIVE=3.6.2 VERSION_FONTCONFIG=2.14.2 VERSION_HARFBUZZ=7.3.0 VERSION_PIXMAN=0.42.2 @@ -165,6 +166,7 @@ version_latest "proxy-libintl" "$VERSION_PROXY_LIBINTL" "frida/proxy-libintl" version_latest "gdkpixbuf" "$VERSION_GDKPIXBUF" "9533" version_latest "freetype" "$VERSION_FREETYPE" "854" version_latest "expat" "$VERSION_EXPAT" "770" +version_latest "archive" "$VERSION_ARCHIVE" "1558" version_latest "fontconfig" "$VERSION_FONTCONFIG" "827" version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" version_latest "pixman" "$VERSION_PIXMAN" "3648" @@ -354,6 +356,15 @@ cd ${DEPS}/expat --without-libbsd --without-examples --without-tests make install-strip +mkdir ${DEPS}/archive +$CURL https://github.com/libarchive/libarchive/releases/download/v${VERSION_ARCHIVE}/libarchive-${VERSION_ARCHIVE}.tar.xz | tar xJC ${DEPS}/archive --strip-components=1 +cd ${DEPS}/archive +./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ + --disable-bsdtar --disable-bsdcat --disable-bsdcpio --disable-posix-regex-lib --disable-xattr --disable-acl \ + --without-bz2lib --without-libb2 --without-iconv --without-lz4 --without-zstd --without-lzma \ + --without-lzo2 --without-cng --without-openssl --without-xml2 --without-expat +make install-strip + mkdir ${DEPS}/fontconfig $CURL https://www.freedesktop.org/software/fontconfig/release/fontconfig-${VERSION_FONTCONFIG}.tar.xz | tar xJC ${DEPS}/fontconfig --strip-components=1 cd ${DEPS}/fontconfig @@ -428,6 +439,8 @@ meson install -C _build --tag devel mkdir ${DEPS}/vips $CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-$(without_prerelease $VERSION_VIPS).tar.xz | tar xJC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips +# Backport libarchive-based dzsave +$CURL https://raw.githubusercontent.com/libvips/build-win64-mxe/master/build/patches/vips-8-pr-3476.patch | patch -p1 # Link libvips.so.42 statically into libvips-cpp.so.42 sed -i'.bak' "s/library('vips'/static_&/" libvips/meson.build sed -i'.bak' "/version: library_version/{N;d;}" libvips/meson.build @@ -449,7 +462,7 @@ sed -i'.bak' "/subdir('man')/{N;N;N;N;d;}" meson.build CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" meson setup _build --default-library=shared --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -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 -Dgsf=disabled \ + -Dpdfium=disabled -Dpoppler=disabled -Dquantizr=disabled \ -Dppm=false -Danalyze=false -Dradiance=false \ ${LINUX:+-Dcpp_link_args="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--version-script=$DEPS/vips/vips.map $EXCLUDE_LIBS"} meson install -C _build --tag runtime,devel @@ -506,6 +519,7 @@ copydeps ${VIPS_CPP_DEP} ${TARGET}/lib-filtered cd ${TARGET} printf "{\n\ \"aom\": \"${VERSION_AOM}\",\n\ + \"archive\": \"${VERSION_ARCHIVE}\",\n\ \"cairo\": \"${VERSION_CAIRO}\",\n\ \"cgif\": \"${VERSION_CGIF}\",\n\ \"exif\": \"${VERSION_EXIF}\",\n\ From 2cdfd27a4e21bdb6b7cf8606e47431205e36591b Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sat, 8 Jul 2023 11:11:41 +0200 Subject: [PATCH 158/327] Bump deps: freetype, glib, png, rsvg, webp, zlib-ng (#186) --- build/lin.sh | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index cadfad40..9e702f7e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -90,22 +90,22 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.1.2 +VERSION_ZLIB_NG=2.1.3 VERSION_FFI=3.4.4 -VERSION_GLIB=2.76.3 +VERSION_GLIB=2.77.0 VERSION_XML2=2.11.4 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 VERSION_MOZJPEG=4.1.3 -VERSION_PNG16=1.6.39 +VERSION_PNG16=1.6.40 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 -VERSION_WEBP=1.3.0 +VERSION_WEBP=1.3.1 VERSION_TIFF=4.5.1 VERSION_ORC=0.4.34 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 -VERSION_FREETYPE=2.13.0 +VERSION_FREETYPE=2.13.1 VERSION_EXPAT=2.5.0 VERSION_ARCHIVE=3.6.2 VERSION_FONTCONFIG=2.14.2 @@ -114,7 +114,7 @@ VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.50.14 -VERSION_RSVG=2.56.1 +VERSION_RSVG=2.56.90 VERSION_AOM=3.6.1 VERSION_HEIF=1.16.2 VERSION_CGIF=0.3.2 @@ -217,10 +217,7 @@ make install-strip mkdir ${DEPS}/glib $CURL https://download.gnome.org/sources/glib/$(without_patch $VERSION_GLIB)/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1 cd ${DEPS}/glib -if [ "$DARWIN" = true ]; then - $CURL https://gist.github.com/kleisauke/f6dcbf02a9aa43fd582272c3d815e7a8/raw/244533fc6935db39320d7d3773760f4d0e9d365b/glib-proxy-libintl.patch | patch -p1 -fi -$CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/21e4100bce7145e9137c4b4a6c612e7a0864e476/glib-without-gregex.patch | patch -p1 +$CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/e826724a837825226057347b75567059dabc85d4/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled \ -Dglib_assert=false -Dglib_checks=false ${DARWIN:+-Dbsymbolic_functions=false} @@ -420,7 +417,9 @@ cd ${DEPS}/rsvg # Add missing pkg-config deps sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo libxml-2.0/" librsvg.pc.in # LTO optimization does not work for staticlib+rlib compilation -sed -i'.bak' "s/, \"rlib\"//" Cargo.toml +sed -i'.bak' "/crate-type = /s/, \"rlib\"//" librsvg-c/Cargo.toml +# We build Cairo with `-Dzlib=disabled`, which implicitly disables the PDF/PostScript surface backends +sed -i'.bak' "/cairo-rs = /s/ \"pdf\", \"ps\",//" {librsvg-c,rsvg}/Cargo.toml # Remove the --static flag from the PKG_CONFIG env since Rust does not # support that. Build with PKG_CONFIG_ALL_STATIC=1 instead. PKG_CONFIG=${PKG_CONFIG/ --static/} ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ From 29e97b3b03f926c418f020e63b6f97d7cc12510b Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 14 Jul 2023 14:26:00 +0100 Subject: [PATCH 159/327] Bump dep: harfbuzz --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 9e702f7e..a6a1634b 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -109,7 +109,7 @@ VERSION_FREETYPE=2.13.1 VERSION_EXPAT=2.5.0 VERSION_ARCHIVE=3.6.2 VERSION_FONTCONFIG=2.14.2 -VERSION_HARFBUZZ=7.3.0 +VERSION_HARFBUZZ=8.0.1 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.13 From b268c7f47ad505cb3dac8b997b800bc70325ac6c Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 14 Jul 2023 20:06:47 +0100 Subject: [PATCH 160/327] Add licensing info for libarchive (BSD 2-Clause) --- THIRD-PARTY-NOTICES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 62b71c62..eed1033b 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -16,6 +16,7 @@ used under the terms of the following licences: | glib | LGPLv3 | | harfbuzz | MIT Licence | | lcms | MIT Licence | +| libarchive | BSD 2-Clause | | libexif | LGPLv3 | | libffi | MIT Licence | | libheif | LGPLv3 | From fb3a93c9e5de570950ad4aca9dcbfc1ef65084cd Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 14 Jul 2023 20:07:29 +0100 Subject: [PATCH 161/327] linuxmusl-x64: ensure binaries are stripped --- linuxmusl-x64/meson.ini | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/linuxmusl-x64/meson.ini b/linuxmusl-x64/meson.ini index 6cb8de33..4613591d 100644 --- a/linuxmusl-x64/meson.ini +++ b/linuxmusl-x64/meson.ini @@ -1,3 +1,7 @@ +[binaries] +strip = 'strip' +pkgconfig = ['pkg-config', '--static'] + # Ensure we disable the inotify backend in GIO # See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2991#note_1592863 [properties] From 972855568570e32efff58ba1e577d915e81c684b Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 20 Jul 2023 16:03:22 +0100 Subject: [PATCH 162/327] Bump dep: archive --- build/lin.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index a6a1634b..9ef438ab 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -107,7 +107,7 @@ VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.1 VERSION_EXPAT=2.5.0 -VERSION_ARCHIVE=3.6.2 +VERSION_ARCHIVE=3.7.0 VERSION_FONTCONFIG=2.14.2 VERSION_HARFBUZZ=8.0.1 VERSION_PIXMAN=0.42.2 @@ -356,6 +356,8 @@ make install-strip mkdir ${DEPS}/archive $CURL https://github.com/libarchive/libarchive/releases/download/v${VERSION_ARCHIVE}/libarchive-${VERSION_ARCHIVE}.tar.xz | tar xJC ${DEPS}/archive --strip-components=1 cd ${DEPS}/archive +# Replace svfs.f_namelen with svfs.f_namemax (remove when version > 3.7.0) +$CURL https://github.com/libarchive/libarchive/commit/bd074c2531e867078788fe8539376c31119e4e55.patch | patch -p1 ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-bsdtar --disable-bsdcat --disable-bsdcpio --disable-posix-regex-lib --disable-xattr --disable-acl \ --without-bz2lib --without-libb2 --without-iconv --without-lz4 --without-zstd --without-lzma \ From 84865311104030c77feca83a3cb4a1bb265fb8f9 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 20 Jul 2023 20:27:41 +0200 Subject: [PATCH 163/327] archive: disable build of bsdunzip utility (#187) --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 9ef438ab..ce02ca0f 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -359,7 +359,7 @@ cd ${DEPS}/archive # Replace svfs.f_namelen with svfs.f_namemax (remove when version > 3.7.0) $CURL https://github.com/libarchive/libarchive/commit/bd074c2531e867078788fe8539376c31119e4e55.patch | patch -p1 ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --disable-bsdtar --disable-bsdcat --disable-bsdcpio --disable-posix-regex-lib --disable-xattr --disable-acl \ + --disable-bsdtar --disable-bsdcat --disable-bsdcpio --disable-bsdunzip --disable-posix-regex-lib --disable-xattr --disable-acl \ --without-bz2lib --without-libb2 --without-iconv --without-lz4 --without-zstd --without-lzma \ --without-lzo2 --without-cng --without-openssl --without-xml2 --without-expat make install-strip From 8cbaa34b3e2b35959412dc7eaf1f27d26f3a6fba Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 20 Jul 2023 21:09:25 +0100 Subject: [PATCH 164/327] rsvg: remove unused flags, add upstream patch --- build/lin.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index ce02ca0f..7d574e85 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -422,11 +422,12 @@ sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo libxml-2.0/" librsv sed -i'.bak' "/crate-type = /s/, \"rlib\"//" librsvg-c/Cargo.toml # We build Cairo with `-Dzlib=disabled`, which implicitly disables the PDF/PostScript surface backends sed -i'.bak' "/cairo-rs = /s/ \"pdf\", \"ps\",//" {librsvg-c,rsvg}/Cargo.toml +# https://gitlab.gnome.org/GNOME/librsvg/-/issues/996 +$CURL https://raw.githubusercontent.com/libvips/build-win64-mxe/master/build/patches/librsvg-2-issue-996.patch | patch -p1 # Remove the --static flag from the PKG_CONFIG env since Rust does not # support that. Build with PKG_CONFIG_ALL_STATIC=1 instead. PKG_CONFIG=${PKG_CONFIG/ --static/} ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --disable-introspection --disable-tools --disable-pixbuf-loader --disable-nls --without-libiconv-prefix --without-libintl-prefix \ - ${DARWIN:+--disable-Bsymbolic} + --disable-introspection --disable-pixbuf-loader ${DARWIN:+--disable-Bsymbolic} # Skip build of rsvg-convert PKG_CONFIG_ALL_STATIC=1 make install-strip bin_SCRIPTS= From c168b743758a1f8d73174e468408f17b438b9f40 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 21 Jul 2023 09:31:16 +0100 Subject: [PATCH 165/327] Upgrade to libvips v8.14.3 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 12800750..0d84cf39 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.14.2 +8.14.3 From 9e893cf4ade01bc9c01ef0ab12d6cd6e2677c6dc Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 6 Aug 2023 12:32:45 +0100 Subject: [PATCH 166/327] Bump deps: archive, glib, harfbuzz --- build/lin.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 7d574e85..757511f1 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,7 +92,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.3 VERSION_FFI=3.4.4 -VERSION_GLIB=2.77.0 +VERSION_GLIB=2.77.1 VERSION_XML2=2.11.4 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 @@ -107,9 +107,9 @@ VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.1 VERSION_EXPAT=2.5.0 -VERSION_ARCHIVE=3.7.0 +VERSION_ARCHIVE=3.7.1 VERSION_FONTCONFIG=2.14.2 -VERSION_HARFBUZZ=8.0.1 +VERSION_HARFBUZZ=8.1.1 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.13 @@ -356,8 +356,6 @@ make install-strip mkdir ${DEPS}/archive $CURL https://github.com/libarchive/libarchive/releases/download/v${VERSION_ARCHIVE}/libarchive-${VERSION_ARCHIVE}.tar.xz | tar xJC ${DEPS}/archive --strip-components=1 cd ${DEPS}/archive -# Replace svfs.f_namelen with svfs.f_namemax (remove when version > 3.7.0) -$CURL https://github.com/libarchive/libarchive/commit/bd074c2531e867078788fe8539376c31119e4e55.patch | patch -p1 ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-bsdtar --disable-bsdcat --disable-bsdcpio --disable-bsdunzip --disable-posix-regex-lib --disable-xattr --disable-acl \ --without-bz2lib --without-libb2 --without-iconv --without-lz4 --without-zstd --without-lzma \ From f95af27e6aed84a5a7ad6b710f4aa5438d78dea8 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 15 Aug 2023 08:08:04 +0100 Subject: [PATCH 167/327] Bump deps: glib, pango, rsvg, xml2 --- build/lin.sh | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 757511f1..69eb9562 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,8 +92,8 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.3 VERSION_FFI=3.4.4 -VERSION_GLIB=2.77.1 -VERSION_XML2=2.11.4 +VERSION_GLIB=2.77.2 +VERSION_XML2=2.11.5 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 VERSION_MOZJPEG=4.1.3 @@ -113,8 +113,8 @@ VERSION_HARFBUZZ=8.1.1 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.13 -VERSION_PANGO=1.50.14 -VERSION_RSVG=2.56.90 +VERSION_PANGO=1.51.0 +VERSION_RSVG=2.56.92 VERSION_AOM=3.6.1 VERSION_HEIF=1.16.2 VERSION_CGIF=0.3.2 @@ -172,8 +172,8 @@ version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" -version_latest "pango" "$VERSION_PANGO" "11783" -version_latest "rsvg" "$VERSION_RSVG" "5420" "unstable" +#version_latest "pango" "$VERSION_PANGO" "11783" https://gitlab.gnome.org/GNOME/pango/-/issues/760 +version_latest "rsvg" "$VERSION_RSVG" "5420" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "strukturag/libheif" version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" @@ -420,8 +420,6 @@ sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo libxml-2.0/" librsv sed -i'.bak' "/crate-type = /s/, \"rlib\"//" librsvg-c/Cargo.toml # We build Cairo with `-Dzlib=disabled`, which implicitly disables the PDF/PostScript surface backends sed -i'.bak' "/cairo-rs = /s/ \"pdf\", \"ps\",//" {librsvg-c,rsvg}/Cargo.toml -# https://gitlab.gnome.org/GNOME/librsvg/-/issues/996 -$CURL https://raw.githubusercontent.com/libvips/build-win64-mxe/master/build/patches/librsvg-2-issue-996.patch | patch -p1 # Remove the --static flag from the PKG_CONFIG env since Rust does not # support that. Build with PKG_CONFIG_ALL_STATIC=1 instead. PKG_CONFIG=${PKG_CONFIG/ --static/} ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ From 7de4aefa9f99ff5619810d6761d9b010fef614d9 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 15 Aug 2023 15:06:45 +0100 Subject: [PATCH 168/327] Upgrade to libvips v8.14.4 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 0d84cf39..a444b28a 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.14.3 +8.14.4 From b79cd0060978fafe503fda6717e34d58d43cb0fd Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 31 Aug 2023 17:37:40 +0200 Subject: [PATCH 169/327] Bump deps: freetype, glib, mozjpeg, rsvg (#192) --- build/lin.sh | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 69eb9562..131fd704 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,11 +92,11 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.3 VERSION_FFI=3.4.4 -VERSION_GLIB=2.77.2 +VERSION_GLIB=2.77.3 VERSION_XML2=2.11.5 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 -VERSION_MOZJPEG=4.1.3 +VERSION_MOZJPEG=4.1.4 VERSION_PNG16=1.6.40 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 @@ -105,7 +105,7 @@ VERSION_TIFF=4.5.1 VERSION_ORC=0.4.34 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 -VERSION_FREETYPE=2.13.1 +VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.5.0 VERSION_ARCHIVE=3.7.1 VERSION_FONTCONFIG=2.14.2 @@ -114,7 +114,7 @@ VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 -VERSION_RSVG=2.56.92 +VERSION_RSVG=2.56.93 VERSION_AOM=3.6.1 VERSION_HEIF=1.16.2 VERSION_CGIF=0.3.2 @@ -269,8 +269,6 @@ make install/strip mkdir ${DEPS}/jpeg $CURL https://github.com/mozilla/mozjpeg/archive/v${VERSION_MOZJPEG}.tar.gz | tar xzC ${DEPS}/jpeg --strip-components=1 cd ${DEPS}/jpeg -# https://github.com/mozilla/mozjpeg/pull/432 -$CURL https://github.com/libjpeg-turbo/libjpeg-turbo/commit/d743a2c12e889f7605a56f5144ae2e3899c9dd4f.patch | patch -p1 cmake -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR:PATH=lib -DCMAKE_BUILD_TYPE=MinSizeRel \ -DENABLE_STATIC=TRUE -DENABLE_SHARED=FALSE -DWITH_JPEG8=1 -DWITH_TURBOJPEG=FALSE -DPNG_SUPPORTED=FALSE @@ -419,7 +417,7 @@ sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo libxml-2.0/" librsv # LTO optimization does not work for staticlib+rlib compilation sed -i'.bak' "/crate-type = /s/, \"rlib\"//" librsvg-c/Cargo.toml # We build Cairo with `-Dzlib=disabled`, which implicitly disables the PDF/PostScript surface backends -sed -i'.bak' "/cairo-rs = /s/ \"pdf\", \"ps\",//" {librsvg-c,rsvg}/Cargo.toml +sed -i'.bak' "/cairo-rs = /s/, \"pdf\", \"ps\"//" {librsvg-c,rsvg}/Cargo.toml # Remove the --static flag from the PKG_CONFIG env since Rust does not # support that. Build with PKG_CONFIG_ALL_STATIC=1 instead. PKG_CONFIG=${PKG_CONFIG/ --static/} ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ From 135e40dbdf93c44b84a13b47ae1e4f00d4919e15 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 14 Sep 2023 10:17:14 +0100 Subject: [PATCH 170/327] Bump deps: archive, glib, harfbuzz, rsvg, tiff, webp --- build/lin.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 131fd704..415ca1d8 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,7 +92,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.3 VERSION_FFI=3.4.4 -VERSION_GLIB=2.77.3 +VERSION_GLIB=2.78.0 VERSION_XML2=2.11.5 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 @@ -100,21 +100,21 @@ VERSION_MOZJPEG=4.1.4 VERSION_PNG16=1.6.40 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 -VERSION_WEBP=1.3.1 -VERSION_TIFF=4.5.1 +VERSION_WEBP=1.3.2 +VERSION_TIFF=4.6.0 VERSION_ORC=0.4.34 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.5.0 -VERSION_ARCHIVE=3.7.1 +VERSION_ARCHIVE=3.7.2 VERSION_FONTCONFIG=2.14.2 -VERSION_HARFBUZZ=8.1.1 +VERSION_HARFBUZZ=8.2.0 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 -VERSION_RSVG=2.56.93 +VERSION_RSVG=2.57.0 VERSION_AOM=3.6.1 VERSION_HEIF=1.16.2 VERSION_CGIF=0.3.2 @@ -159,7 +159,7 @@ version_latest "lcms2" "$VERSION_LCMS2" "9815" version_latest "mozjpeg" "$VERSION_MOZJPEG" "mozilla/mozjpeg" version_latest "png" "$VERSION_PNG16" "1705" version_latest "spng" "$VERSION_SPNG" "24289" -version_latest "webp" "$VERSION_WEBP" "1761" +version_latest "webp" "$VERSION_WEBP" "webmproject/libwebp" version_latest "tiff" "$VERSION_TIFF" "1738" version_latest "orc" "$VERSION_ORC" "2573" version_latest "proxy-libintl" "$VERSION_PROXY_LIBINTL" "frida/proxy-libintl" @@ -174,7 +174,7 @@ version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" #version_latest "pango" "$VERSION_PANGO" "11783" https://gitlab.gnome.org/GNOME/pango/-/issues/760 version_latest "rsvg" "$VERSION_RSVG" "5420" -version_latest "aom" "$VERSION_AOM" "17628" +#version_latest "aom" "$VERSION_AOM" "17628" # TODO: investigate compilation errors with latest 3.7.0 version_latest "heif" "$VERSION_HEIF" "strukturag/libheif" version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" if [ "$ALL_AT_VERSION_LATEST" = "false" ]; then exit 1; fi From a7c31d42b20bd1411ee5b388a8482d892dc08157 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 18 Sep 2023 14:13:01 +0100 Subject: [PATCH 171/327] Bump dep: aom Platforms with an ancient version of NASM remain pinned to v3.6.1, which at the moment is linux-x64 only, and the forthcoming upgrade from Centos 7 to Amazon 2 will upgrade NASM to 2.15. --- build/lin.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 415ca1d8..9710753b 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -115,7 +115,7 @@ VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 VERSION_RSVG=2.57.0 -VERSION_AOM=3.6.1 +VERSION_AOM=3.7.0 VERSION_HEIF=1.16.2 VERSION_CGIF=0.3.2 @@ -174,7 +174,7 @@ version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" #version_latest "pango" "$VERSION_PANGO" "11783" https://gitlab.gnome.org/GNOME/pango/-/issues/760 version_latest "rsvg" "$VERSION_RSVG" "5420" -#version_latest "aom" "$VERSION_AOM" "17628" # TODO: investigate compilation errors with latest 3.7.0 +version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "strukturag/libheif" version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" if [ "$ALL_AT_VERSION_LATEST" = "false" ]; then exit 1; fi @@ -246,6 +246,9 @@ CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=r meson install -C _build --tag devel mkdir ${DEPS}/aom +if [[ "$(nasm -v)" == "NASM version 2.10"* ]]; then + VERSION_AOM="3.6.1" +fi $CURL https://storage.googleapis.com/aom-releases/libaom-${VERSION_AOM}.tar.gz | tar xzC ${DEPS}/aom --strip-components=1 cd ${DEPS}/aom mkdir aom_build From 415b9424c9ac61e55a2b2ff0a4223104533ee4ee Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 18 Sep 2023 17:30:40 +0200 Subject: [PATCH 172/327] Ensure zlib-ng is installed in `lib/` (#193) * Ensure zlib-ng is installed in `lib/` Otherwise, it might inadvertently end up in the `lib64/` directory, resulting in the use of zlib 1.2.11 as provided by GLib as fallback. This issue was known to affect the linux-x64 and linuxmusl-x64 targets. Use the built-in `wrap-mode=nofallback` option in Meson to prevent any further regressions. * darwin-x64: ensure binaries are stripped * darwin: remove redundant `STRIP` env This is now set in the (cross-)build definition file. --- build.sh | 2 +- build/lin.sh | 7 +++---- darwin-arm64v8/meson.ini | 3 +++ darwin-x64/meson.ini | 5 +++++ linux-arm64v8/meson.ini | 1 + linux-armv6/meson.ini | 1 + linux-armv7/meson.ini | 1 + linux-x64/meson.ini | 1 + linuxmusl-arm64v8/meson.ini | 1 + linuxmusl-x64/meson.ini | 3 +++ 10 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 darwin-x64/meson.ini diff --git a/build.sh b/build.sh index 051897ff..0be93163 100755 --- a/build.sh +++ b/build.sh @@ -54,12 +54,12 @@ for flavour in darwin-x64 darwin-arm64v8; do export FLAGS="-fno-stack-check" # Prevent use of API newer than the deployment target export FLAGS+=" -Werror=unguarded-availability-new" + export MESON="--cross-file=$PWD/$PLATFORM/meson.ini" if [ $PLATFORM = "darwin-arm64v8" ]; then # ARM64 builds work via cross compilation from an x86_64 machine export CHOST="aarch64-apple-darwin" export FLAGS+=" -target arm64-apple-macos11" - export MESON="--cross-file=$PWD/$PLATFORM/meson.ini" # macOS 11 Big Sur is the first version to support ARM-based macs export MACOSX_DEPLOYMENT_TARGET="11.0" # Set SDKROOT to the latest SDK available diff --git a/build/lin.sh b/build/lin.sh index 9710753b..b690bc7e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -203,7 +203,7 @@ mkdir ${DEPS}/zlib-ng $CURL https://github.com/zlib-ng/zlib-ng/archive/${VERSION_ZLIB_NG}.tar.gz | tar xzC ${DEPS}/zlib-ng --strip-components=1 cd ${DEPS}/zlib-ng CFLAGS="${CFLAGS} -O3" cmake -G"Unix Makefiles" \ - -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=FALSE -DZLIB_COMPAT=TRUE make install/strip @@ -246,6 +246,8 @@ CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=r meson install -C _build --tag devel mkdir ${DEPS}/aom +# NASM >= 2.14 is required to build libaom 3.7.0, see: +# https://gitlab.kitware.com/cmake/cmake/-/issues/12919 if [[ "$(nasm -v)" == "NASM version 2.10"* ]]; then VERSION_AOM="3.6.1" fi @@ -452,9 +454,6 @@ if [ "$LINUX" = true ]; then # Localize the g_param_spec_types symbol to avoid collisions with shared libraries # See: https://github.com/lovell/sharp/issues/2535#issuecomment-766400693 printf "{local:g_param_spec_types;};" > vips.map -elif [ "$DARWIN" = true ]; then - # https://github.com/pybind/pybind11/issues/595 - export STRIP="strip -x" fi # Disable building man pages, gettext po files, tools, and (fuzz-)tests sed -i'.bak' "/subdir('man')/{N;N;N;N;d;}" meson.build diff --git a/darwin-arm64v8/meson.ini b/darwin-arm64v8/meson.ini index 49c9f266..de108582 100644 --- a/darwin-arm64v8/meson.ini +++ b/darwin-arm64v8/meson.ini @@ -10,3 +10,6 @@ cpp = 'clang++' objc = 'clang' objcpp = 'clang++' strip = ['strip', '-x'] + +[built-in options] +wrap_mode = 'nofallback' diff --git a/darwin-x64/meson.ini b/darwin-x64/meson.ini new file mode 100644 index 00000000..e7e7f1cb --- /dev/null +++ b/darwin-x64/meson.ini @@ -0,0 +1,5 @@ +[binaries] +strip = ['strip', '-x'] + +[built-in options] +wrap_mode = 'nofallback' diff --git a/linux-arm64v8/meson.ini b/linux-arm64v8/meson.ini index c84e5ab2..93999c2f 100644 --- a/linux-arm64v8/meson.ini +++ b/linux-arm64v8/meson.ini @@ -4,3 +4,4 @@ pkgconfig = ['pkg-config', '--static'] [built-in options] libdir = 'lib' +wrap_mode = 'nofallback' diff --git a/linux-armv6/meson.ini b/linux-armv6/meson.ini index b761ee0a..e442b0f0 100644 --- a/linux-armv6/meson.ini +++ b/linux-armv6/meson.ini @@ -16,3 +16,4 @@ pkgconfig = ['arm-linux-gnueabihf-pkg-config', '--static'] [built-in options] libdir = 'lib' +wrap_mode = 'nofallback' diff --git a/linux-armv7/meson.ini b/linux-armv7/meson.ini index b933e6b3..7bc926ca 100644 --- a/linux-armv7/meson.ini +++ b/linux-armv7/meson.ini @@ -16,3 +16,4 @@ pkgconfig = ['arm-linux-gnueabihf-pkg-config', '--static'] [built-in options] libdir = 'lib' +wrap_mode = 'nofallback' diff --git a/linux-x64/meson.ini b/linux-x64/meson.ini index c84e5ab2..93999c2f 100644 --- a/linux-x64/meson.ini +++ b/linux-x64/meson.ini @@ -4,3 +4,4 @@ pkgconfig = ['pkg-config', '--static'] [built-in options] libdir = 'lib' +wrap_mode = 'nofallback' diff --git a/linuxmusl-arm64v8/meson.ini b/linuxmusl-arm64v8/meson.ini index 28fc8988..67b75923 100644 --- a/linuxmusl-arm64v8/meson.ini +++ b/linuxmusl-arm64v8/meson.ini @@ -21,3 +21,4 @@ has_function_inotify_init1 = false [built-in options] libdir = 'lib' +wrap_mode = 'nofallback' diff --git a/linuxmusl-x64/meson.ini b/linuxmusl-x64/meson.ini index 4613591d..cc4b5425 100644 --- a/linuxmusl-x64/meson.ini +++ b/linuxmusl-x64/meson.ini @@ -6,3 +6,6 @@ pkgconfig = ['pkg-config', '--static'] # See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2991#note_1592863 [properties] has_function_inotify_init1 = false + +[built-in options] +wrap_mode = 'nofallback' From e3585e7e2de7c0a9f0fe81c2bd9a559bebc65f87 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 18 Sep 2023 18:39:14 +0100 Subject: [PATCH 173/327] Upgrade to libvips v8.14.5 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index a444b28a..bcb04e75 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.14.4 +8.14.5 From 7942ff3b7becc0d995ea68f537824490491da46f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 22 Sep 2023 13:30:04 +0100 Subject: [PATCH 174/327] Bump dep: harfbuzz --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index b690bc7e..8ed7f302 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -109,7 +109,7 @@ VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.5.0 VERSION_ARCHIVE=3.7.2 VERSION_FONTCONFIG=2.14.2 -VERSION_HARFBUZZ=8.2.0 +VERSION_HARFBUZZ=8.2.1 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.17.8 VERSION_FRIBIDI=1.0.13 From 7e3e1d30e965f8ee894fbab3acee3531712ffab2 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 24 Sep 2023 10:59:02 +0200 Subject: [PATCH 175/327] Bump dep: cairo (#195) --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 8ed7f302..ade5441f 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -111,7 +111,7 @@ VERSION_ARCHIVE=3.7.2 VERSION_FONTCONFIG=2.14.2 VERSION_HARFBUZZ=8.2.1 VERSION_PIXMAN=0.42.2 -VERSION_CAIRO=1.17.8 +VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 VERSION_RSVG=2.57.0 @@ -391,10 +391,10 @@ meson setup _build --default-library=static --buildtype=release --strip --prefix meson install -C _build --tag devel mkdir ${DEPS}/cairo -$CURL https://gitlab.freedesktop.org/cairo/cairo/-/archive/${VERSION_CAIRO}/cairo-${VERSION_CAIRO}.tar.bz2 | tar xjC ${DEPS}/cairo --strip-components=1 +$CURL https://cairographics.org/releases/cairo-${VERSION_CAIRO}.tar.xz | tar xJC ${DEPS}/cairo --strip-components=1 cd ${DEPS}/cairo meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - ${LINUX:+-Dquartz=disabled} ${DARWIN:+-Dquartz=enabled} -Dxcb=disabled -Dxlib=disabled -Dzlib=disabled \ + ${LINUX:+-Dquartz=disabled} ${DARWIN:+-Dquartz=enabled} -Dtee=disabled -Dxcb=disabled -Dxlib=disabled -Dzlib=disabled \ -Dtests=disabled -Dspectre=disabled -Dsymbol-lookup=disabled meson install -C _build --tag devel From 20fff4a4a45da6b01c40e1a120d44cbf7bb370fd Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 24 Sep 2023 10:00:46 +0100 Subject: [PATCH 176/327] macOS: Remove unused functions at link time, ~1% smaller binaries (#194) --- build/lin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index ade5441f..88d226ea 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -53,6 +53,8 @@ if [ "$LINUX" = true ]; then fi if [ "$DARWIN" = true ]; then + # Let macOS linker remove unused code + export LDFLAGS+=" -Wl,-dead_strip" # Local rust installation export CARGO_HOME="${DEPS}/cargo" export RUSTUP_HOME="${DEPS}/rustup" From 6b6e076c9f635f510b625ad50a117317917fd9a2 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 14 Jul 2023 20:09:58 +0100 Subject: [PATCH 177/327] linux-x64: upgrade to glibc 2.26 (Amazon Linux 2) --- linux-x64/Dockerfile | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/linux-x64/Dockerfile b/linux-x64/Dockerfile index 98140980..2de8a4d1 100644 --- a/linux-x64/Dockerfile +++ b/linux-x64/Dockerfile @@ -1,7 +1,7 @@ -FROM centos:7 +FROM amazonlinux:2 LABEL maintainer="Lovell Fuller " -# Create CentOS 7 (glibc 2.17) container suitable for building Linux x64 binaries +# Create Amazon Linux 2 (glibc 2.26) container suitable for building Linux x64 binaries # Path settings ENV \ @@ -12,19 +12,39 @@ ENV \ # Build dependencies RUN \ yum update -y && \ - yum install -y epel-release centos-release-scl && \ - yum group install -y "Development Tools" && \ + amazon-linux-extras install epel -y && \ yum install -y --setopt=tsflags=nodocs \ + --exclude=gcc \ advancecomp \ + autoconf \ + automake \ brotli \ + bzip2 \ cmake3 \ - devtoolset-11-gcc \ - devtoolset-11-gcc-c++ \ + curl \ + gcc10 \ + gcc10-binutils \ + gcc10-c++ \ + gettext \ + git \ gperf \ jq \ + make \ nasm \ - rh-python38 \ + patch \ + pkgconfig \ + python3 \ + tar \ + xz \ && \ + ln -s /usr/bin/gcc10-gcc /usr/bin/cc && \ + ln -s /usr/bin/gcc10-g++ /usr/bin/c++ && \ + ln -s /usr/bin/gcc10-ar /usr/bin/ar && \ + ln -s /usr/bin/gcc10-nm /usr/bin/nm && \ + ln -s /usr/bin/gcc10-ld.bfd /usr/bin/ld && \ + ln -s /usr/bin/gcc10-strip /usr/bin/strip && \ + ln -s /usr/bin/gcc10-ranlib /usr/bin/ranlib && \ + ln -s /usr/bin/gcc10-readelf /usr/bin/readelf && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ --profile minimal \ @@ -36,7 +56,7 @@ RUN \ ENV \ PKG_CONFIG="pkg-config --static" \ PLATFORM="linux-x64" \ - FLAGS="-march=x86-64-v2 -mtune=nehalem" \ + FLAGS="-march=nehalem" \ MESON="--cross-file=/root/meson.ini" COPY Toolchain.cmake /root/ From 08a6deeaf4bf98a9bcbbdae425f9af3f829270c1 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 14 Jul 2023 20:10:33 +0100 Subject: [PATCH 178/327] linuxmusl-x64: upgrade to musl 1.2.2 (Alpine Linux 3.15) --- linuxmusl-x64/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linuxmusl-x64/Dockerfile b/linuxmusl-x64/Dockerfile index 219c5bb8..7630c52c 100644 --- a/linuxmusl-x64/Dockerfile +++ b/linuxmusl-x64/Dockerfile @@ -1,7 +1,7 @@ -FROM alpine:3.12 +FROM alpine:3.15 LABEL maintainer="Lovell Fuller " -# Create Alpine 3.12 (musl 1.1.24) container suitable for building Linux x64 binaries +# Create Alpine 3.15 (musl 1.2.2) container suitable for building Linux x64 binaries # Path settings ENV \ From af39d65efdd22c61f6aa78b603087aa0447983d8 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 14 Jul 2023 20:11:05 +0100 Subject: [PATCH 179/327] linuxmusl-arm64v8: upgrade to musl 1.2.2 (Alpine Linux 3.15) --- linuxmusl-arm64v8/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linuxmusl-arm64v8/Dockerfile b/linuxmusl-arm64v8/Dockerfile index 083261a4..e039c8d6 100644 --- a/linuxmusl-arm64v8/Dockerfile +++ b/linuxmusl-arm64v8/Dockerfile @@ -1,7 +1,7 @@ -FROM alpine:3.12 +FROM alpine:3.15 LABEL maintainer="Lovell Fuller " -# Create Alpine 3.12 (musl 1.1.24) container suitable for cross-compiling musl-based Linux ARM64v8-A binaries +# Create Alpine 3.15 (musl 1.2.2) container suitable for cross-compiling musl-based Linux ARM64v8-A binaries # Path settings ENV \ From 46644edde24c22dfb41a3706ac28f4213aab455d Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sat, 15 Jul 2023 13:17:43 +0200 Subject: [PATCH 180/327] linux-arm64v8: upgrade to glibc 2.26 (Amazon Linux 2) Also: - Remove nasm from ARM Docker images, as that is specific to x86 arch. - Cleanup `PATH` env in linux-x64 Docker image. - Update base images in `build.sh`. --- build.sh | 2 +- linux-arm64v8/Dockerfile | 39 +++++++++++++++++++++++++++--------- linux-armv6/Dockerfile | 1 - linux-armv7/Dockerfile | 1 - linux-x64/Dockerfile | 2 +- linuxmusl-arm64v8/Dockerfile | 1 - 6 files changed, 31 insertions(+), 15 deletions(-) diff --git a/build.sh b/build.sh index 0be93163..7f81695d 100755 --- a/build.sh +++ b/build.sh @@ -79,7 +79,7 @@ if ! [ -x "$(command -v docker)" ]; then fi # Update base images -for baseimage in alpine:3.12 centos:7 debian:bullseye debian:buster; do +for baseimage in alpine:3.15 amazonlinux:2 debian:bullseye debian:buster; do docker pull $baseimage done diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index f1d22ddd..f51f9c81 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -1,31 +1,50 @@ -FROM arm64v8/centos:7 +FROM arm64v8/amazonlinux:2 LABEL maintainer="Lovell Fuller " -# Create CentOS 7 (glibc 2.17) container suitable for building Linux ARM64v8-A binaries +# Create Amazon Linux 2 (glibc 2.26) container suitable for building Linux ARM64v8-A binaries # Path settings ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-10/root/usr/bin:/opt/rh/rh-python38/root/usr/bin:/opt/rh/rh-python38/root/usr/local/bin:$PATH" + PATH="/usr/local/cargo/bin:$PATH" # Build dependencies RUN \ yum update -y && \ - yum install -y epel-release centos-release-scl && \ - yum group install -y "Development Tools" && \ + amazon-linux-extras install epel -y && \ yum install -y --setopt=tsflags=nodocs \ + --exclude=gcc \ advancecomp \ + autoconf \ + automake \ brotli \ + bzip2 \ cmake3 \ - # FIXME: Update to devtoolset-11, see: https://bugs.centos.org/view.php?id=18393 - devtoolset-10-gcc \ - devtoolset-10-gcc-c++ \ + curl \ + gcc10 \ + gcc10-binutils \ + gcc10-c++ \ + gettext \ + git \ gperf \ jq \ - nasm \ - rh-python38 \ + make \ + patch \ + pkgconfig \ + python3 \ + tar \ + xz \ && \ + ln -s /usr/bin/gcc10-gcc /usr/bin/cc && \ + ln -s /usr/bin/gcc10-g++ /usr/bin/c++ && \ + ln -s /usr/bin/gcc10-as /usr/bin/as && \ + ln -s /usr/bin/gcc10-ar /usr/bin/ar && \ + ln -s /usr/bin/gcc10-nm /usr/bin/nm && \ + ln -s /usr/bin/gcc10-ld.bfd /usr/bin/ld && \ + ln -s /usr/bin/gcc10-strip /usr/bin/strip && \ + ln -s /usr/bin/gcc10-ranlib /usr/bin/ranlib && \ + ln -s /usr/bin/gcc10-readelf /usr/bin/readelf && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ --profile minimal \ diff --git a/linux-armv6/Dockerfile b/linux-armv6/Dockerfile index e5728f32..dc2dc84c 100644 --- a/linux-armv6/Dockerfile +++ b/linux-armv6/Dockerfile @@ -26,7 +26,6 @@ RUN \ gperf \ jq \ libtool \ - nasm \ ninja-build \ pkg-config \ python3-pip \ diff --git a/linux-armv7/Dockerfile b/linux-armv7/Dockerfile index da627ffb..1e9a7486 100644 --- a/linux-armv7/Dockerfile +++ b/linux-armv7/Dockerfile @@ -27,7 +27,6 @@ RUN \ gperf \ jq \ libtool \ - nasm \ ninja-build \ pkg-config \ python3-pip \ diff --git a/linux-x64/Dockerfile b/linux-x64/Dockerfile index 2de8a4d1..905a3456 100644 --- a/linux-x64/Dockerfile +++ b/linux-x64/Dockerfile @@ -7,7 +7,7 @@ LABEL maintainer="Lovell Fuller " ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-11/root/usr/bin:/opt/rh/rh-python38/root/usr/bin:/opt/rh/rh-python38/root/usr/local/bin:$PATH" + PATH="/usr/local/cargo/bin:$PATH" # Build dependencies RUN \ diff --git a/linuxmusl-arm64v8/Dockerfile b/linuxmusl-arm64v8/Dockerfile index e039c8d6..b9a48978 100644 --- a/linuxmusl-arm64v8/Dockerfile +++ b/linuxmusl-arm64v8/Dockerfile @@ -27,7 +27,6 @@ RUN \ jq \ libtool \ linux-headers \ - nasm \ ninja \ pkgconf \ py3-pip \ From c2e3c3369cd85b88a79cecba5f316eb27ac4a51d Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 15 Jul 2023 15:31:34 +0100 Subject: [PATCH 181/327] Use default (gold) linker --- linux-arm64v8/Dockerfile | 2 +- linux-x64/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/linux-arm64v8/Dockerfile b/linux-arm64v8/Dockerfile index f51f9c81..867a9cb0 100644 --- a/linux-arm64v8/Dockerfile +++ b/linux-arm64v8/Dockerfile @@ -41,7 +41,7 @@ RUN \ ln -s /usr/bin/gcc10-as /usr/bin/as && \ ln -s /usr/bin/gcc10-ar /usr/bin/ar && \ ln -s /usr/bin/gcc10-nm /usr/bin/nm && \ - ln -s /usr/bin/gcc10-ld.bfd /usr/bin/ld && \ + ln -s /usr/bin/gcc10-ld /usr/bin/ld && \ ln -s /usr/bin/gcc10-strip /usr/bin/strip && \ ln -s /usr/bin/gcc10-ranlib /usr/bin/ranlib && \ ln -s /usr/bin/gcc10-readelf /usr/bin/readelf && \ diff --git a/linux-x64/Dockerfile b/linux-x64/Dockerfile index 905a3456..5fdcc96d 100644 --- a/linux-x64/Dockerfile +++ b/linux-x64/Dockerfile @@ -41,7 +41,7 @@ RUN \ ln -s /usr/bin/gcc10-g++ /usr/bin/c++ && \ ln -s /usr/bin/gcc10-ar /usr/bin/ar && \ ln -s /usr/bin/gcc10-nm /usr/bin/nm && \ - ln -s /usr/bin/gcc10-ld.bfd /usr/bin/ld && \ + ln -s /usr/bin/gcc10-ld /usr/bin/ld && \ ln -s /usr/bin/gcc10-strip /usr/bin/strip && \ ln -s /usr/bin/gcc10-ranlib /usr/bin/ranlib && \ ln -s /usr/bin/gcc10-readelf /usr/bin/readelf && \ From 8e560b84ce49892151b7a0079214bec9ff05eb98 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 8 Aug 2023 12:55:18 +0100 Subject: [PATCH 182/327] Move platform-specific config into subdirectory --- README.md | 14 +++++++------- build.sh | 4 ++-- .../darwin-arm64v8}/Toolchain.cmake | 0 .../darwin-arm64v8}/meson.ini | 0 .../darwin-x64}/Toolchain.cmake | 0 {darwin-x64 => platforms/darwin-x64}/meson.ini | 0 .../linux-arm64v8}/Dockerfile | 0 .../linux-arm64v8}/Toolchain.cmake | 0 .../linux-arm64v8}/meson.ini | 0 {linux-armv6 => platforms/linux-armv6}/Dockerfile | 0 .../linux-armv6}/Toolchain.cmake | 0 {linux-armv6 => platforms/linux-armv6}/meson.ini | 0 {linux-armv7 => platforms/linux-armv7}/Dockerfile | 0 .../linux-armv7}/Toolchain.cmake | 0 {linux-armv7 => platforms/linux-armv7}/meson.ini | 0 {linux-x64 => platforms/linux-x64}/Dockerfile | 0 {linux-x64 => platforms/linux-x64}/Toolchain.cmake | 0 {linux-x64 => platforms/linux-x64}/meson.ini | 0 .../linuxmusl-arm64v8}/Dockerfile | 0 .../linuxmusl-arm64v8}/Toolchain.cmake | 0 .../linuxmusl-arm64v8}/meson.ini | 0 .../linuxmusl-x64}/Dockerfile | 0 .../linuxmusl-x64}/Toolchain.cmake | 0 .../linuxmusl-x64}/meson.ini | 0 {win32 => platforms/win32}/Dockerfile | 0 25 files changed, 9 insertions(+), 9 deletions(-) rename {darwin-arm64v8 => platforms/darwin-arm64v8}/Toolchain.cmake (100%) rename {darwin-arm64v8 => platforms/darwin-arm64v8}/meson.ini (100%) rename {darwin-x64 => platforms/darwin-x64}/Toolchain.cmake (100%) rename {darwin-x64 => platforms/darwin-x64}/meson.ini (100%) rename {linux-arm64v8 => platforms/linux-arm64v8}/Dockerfile (100%) rename {linux-arm64v8 => platforms/linux-arm64v8}/Toolchain.cmake (100%) rename {linux-arm64v8 => platforms/linux-arm64v8}/meson.ini (100%) rename {linux-armv6 => platforms/linux-armv6}/Dockerfile (100%) rename {linux-armv6 => platforms/linux-armv6}/Toolchain.cmake (100%) rename {linux-armv6 => platforms/linux-armv6}/meson.ini (100%) rename {linux-armv7 => platforms/linux-armv7}/Dockerfile (100%) rename {linux-armv7 => platforms/linux-armv7}/Toolchain.cmake (100%) rename {linux-armv7 => platforms/linux-armv7}/meson.ini (100%) rename {linux-x64 => platforms/linux-x64}/Dockerfile (100%) rename {linux-x64 => platforms/linux-x64}/Toolchain.cmake (100%) rename {linux-x64 => platforms/linux-x64}/meson.ini (100%) rename {linuxmusl-arm64v8 => platforms/linuxmusl-arm64v8}/Dockerfile (100%) rename {linuxmusl-arm64v8 => platforms/linuxmusl-arm64v8}/Toolchain.cmake (100%) rename {linuxmusl-arm64v8 => platforms/linuxmusl-arm64v8}/meson.ini (100%) rename {linuxmusl-x64 => platforms/linuxmusl-x64}/Dockerfile (100%) rename {linuxmusl-x64 => platforms/linuxmusl-x64}/Toolchain.cmake (100%) rename {linuxmusl-x64 => platforms/linuxmusl-x64}/meson.ini (100%) rename {win32 => platforms/win32}/Dockerfile (100%) diff --git a/README.md b/README.md index 31474e1a..c04f74f0 100644 --- a/README.md +++ b/README.md @@ -22,17 +22,17 @@ Run the top-level [build script](build.sh) without parameters for help. One [build script](build/lin.sh) is used to (cross-)compile the same shared libraries within multiple containers. -* [x64 glibc](linux-x64/Dockerfile) -* [x64 musl](linuxmusl-x64/Dockerfile) -* [ARMv6 glibc](linux-armv6/Dockerfile) -* [ARMv7-A glibc](linux-armv7/Dockerfile) -* [ARM64v8-A glibc](linux-arm64v8/Dockerfile) -* [ARM64v8-A musl](linuxmusl-arm64v8/Dockerfile) +* [x64 glibc](platforms/linux-x64/Dockerfile) +* [x64 musl](platforms/linuxmusl-x64/Dockerfile) +* [ARMv6 glibc](platforms/linux-armv6/Dockerfile) +* [ARMv7-A glibc](platforms/linux-armv7/Dockerfile) +* [ARM64v8-A glibc](platforms/linux-arm64v8/Dockerfile) +* [ARM64v8-A musl](platforms/linuxmusl-arm64v8/Dockerfile) ### Windows The output of libvips' [build-win64-mxe](https://github.com/libvips/build-win64-mxe) -static "web" releases are [post-processed](build/win.sh) within a [container](win32/Dockerfile). +static "web" releases are [post-processed](build/win.sh) within a [container](platforms/win32/Dockerfile). ### macOS diff --git a/build.sh b/build.sh index 7f81695d..69d3e438 100755 --- a/build.sh +++ b/build.sh @@ -87,7 +87,7 @@ done for flavour in win32-ia32 win32-x64 win32-arm64v8; do if [ $PLATFORM = "all" ] || [ $PLATFORM = $flavour ]; then echo "Building $flavour..." - docker build -t vips-dev-win32 win32 + docker build -t vips-dev-win32 platforms/win32 docker run --rm -e "VERSION_VIPS=${VERSION_VIPS}" -e "PLATFORM=${flavour}" -v $PWD:/packaging vips-dev-win32 sh -c "/packaging/build/win.sh" fi done @@ -96,7 +96,7 @@ done for flavour in linux-x64 linuxmusl-x64 linux-armv6 linux-armv7 linux-arm64v8 linuxmusl-arm64v8; do if [ $PLATFORM = "all" ] || [ $PLATFORM = $flavour ]; then echo "Building $flavour..." - docker build -t vips-dev-$flavour $flavour + docker build -t vips-dev-$flavour platforms/$flavour docker run --rm -e "VERSION_VIPS=${VERSION_VIPS}" -e VERSION_LATEST_REQUIRED -v $PWD:/packaging vips-dev-$flavour sh -c "/packaging/build/lin.sh" fi done diff --git a/darwin-arm64v8/Toolchain.cmake b/platforms/darwin-arm64v8/Toolchain.cmake similarity index 100% rename from darwin-arm64v8/Toolchain.cmake rename to platforms/darwin-arm64v8/Toolchain.cmake diff --git a/darwin-arm64v8/meson.ini b/platforms/darwin-arm64v8/meson.ini similarity index 100% rename from darwin-arm64v8/meson.ini rename to platforms/darwin-arm64v8/meson.ini diff --git a/darwin-x64/Toolchain.cmake b/platforms/darwin-x64/Toolchain.cmake similarity index 100% rename from darwin-x64/Toolchain.cmake rename to platforms/darwin-x64/Toolchain.cmake diff --git a/darwin-x64/meson.ini b/platforms/darwin-x64/meson.ini similarity index 100% rename from darwin-x64/meson.ini rename to platforms/darwin-x64/meson.ini diff --git a/linux-arm64v8/Dockerfile b/platforms/linux-arm64v8/Dockerfile similarity index 100% rename from linux-arm64v8/Dockerfile rename to platforms/linux-arm64v8/Dockerfile diff --git a/linux-arm64v8/Toolchain.cmake b/platforms/linux-arm64v8/Toolchain.cmake similarity index 100% rename from linux-arm64v8/Toolchain.cmake rename to platforms/linux-arm64v8/Toolchain.cmake diff --git a/linux-arm64v8/meson.ini b/platforms/linux-arm64v8/meson.ini similarity index 100% rename from linux-arm64v8/meson.ini rename to platforms/linux-arm64v8/meson.ini diff --git a/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile similarity index 100% rename from linux-armv6/Dockerfile rename to platforms/linux-armv6/Dockerfile diff --git a/linux-armv6/Toolchain.cmake b/platforms/linux-armv6/Toolchain.cmake similarity index 100% rename from linux-armv6/Toolchain.cmake rename to platforms/linux-armv6/Toolchain.cmake diff --git a/linux-armv6/meson.ini b/platforms/linux-armv6/meson.ini similarity index 100% rename from linux-armv6/meson.ini rename to platforms/linux-armv6/meson.ini diff --git a/linux-armv7/Dockerfile b/platforms/linux-armv7/Dockerfile similarity index 100% rename from linux-armv7/Dockerfile rename to platforms/linux-armv7/Dockerfile diff --git a/linux-armv7/Toolchain.cmake b/platforms/linux-armv7/Toolchain.cmake similarity index 100% rename from linux-armv7/Toolchain.cmake rename to platforms/linux-armv7/Toolchain.cmake diff --git a/linux-armv7/meson.ini b/platforms/linux-armv7/meson.ini similarity index 100% rename from linux-armv7/meson.ini rename to platforms/linux-armv7/meson.ini diff --git a/linux-x64/Dockerfile b/platforms/linux-x64/Dockerfile similarity index 100% rename from linux-x64/Dockerfile rename to platforms/linux-x64/Dockerfile diff --git a/linux-x64/Toolchain.cmake b/platforms/linux-x64/Toolchain.cmake similarity index 100% rename from linux-x64/Toolchain.cmake rename to platforms/linux-x64/Toolchain.cmake diff --git a/linux-x64/meson.ini b/platforms/linux-x64/meson.ini similarity index 100% rename from linux-x64/meson.ini rename to platforms/linux-x64/meson.ini diff --git a/linuxmusl-arm64v8/Dockerfile b/platforms/linuxmusl-arm64v8/Dockerfile similarity index 100% rename from linuxmusl-arm64v8/Dockerfile rename to platforms/linuxmusl-arm64v8/Dockerfile diff --git a/linuxmusl-arm64v8/Toolchain.cmake b/platforms/linuxmusl-arm64v8/Toolchain.cmake similarity index 100% rename from linuxmusl-arm64v8/Toolchain.cmake rename to platforms/linuxmusl-arm64v8/Toolchain.cmake diff --git a/linuxmusl-arm64v8/meson.ini b/platforms/linuxmusl-arm64v8/meson.ini similarity index 100% rename from linuxmusl-arm64v8/meson.ini rename to platforms/linuxmusl-arm64v8/meson.ini diff --git a/linuxmusl-x64/Dockerfile b/platforms/linuxmusl-x64/Dockerfile similarity index 100% rename from linuxmusl-x64/Dockerfile rename to platforms/linuxmusl-x64/Dockerfile diff --git a/linuxmusl-x64/Toolchain.cmake b/platforms/linuxmusl-x64/Toolchain.cmake similarity index 100% rename from linuxmusl-x64/Toolchain.cmake rename to platforms/linuxmusl-x64/Toolchain.cmake diff --git a/linuxmusl-x64/meson.ini b/platforms/linuxmusl-x64/meson.ini similarity index 100% rename from linuxmusl-x64/meson.ini rename to platforms/linuxmusl-x64/meson.ini diff --git a/win32/Dockerfile b/platforms/win32/Dockerfile similarity index 100% rename from win32/Dockerfile rename to platforms/win32/Dockerfile From efd08f0a6a39c6d3fa4dffa383cddd1e98cff9ad Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 9 Aug 2023 12:49:32 +0100 Subject: [PATCH 183/327] Ensure macOS builds use platform-specific subdirectory --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 88d226ea..3b5ae125 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -16,7 +16,7 @@ case ${PLATFORM} in DEPS=$PWD/deps TARGET=$PWD/target PACKAGE=$PWD - ROOT=$PWD/$PLATFORM + ROOT=$PWD/platforms/$PLATFORM VIPS_CPP_DEP=libvips-cpp.42.dylib ;; esac From 40466de9947b4097ee6a9f6fbcdd633ec8136865 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 18 Sep 2023 14:24:04 +0100 Subject: [PATCH 184/327] Remove NASM version check, unpin aom --- build/lin.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 3b5ae125..96202c88 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -248,11 +248,6 @@ CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=r meson install -C _build --tag devel mkdir ${DEPS}/aom -# NASM >= 2.14 is required to build libaom 3.7.0, see: -# https://gitlab.kitware.com/cmake/cmake/-/issues/12919 -if [[ "$(nasm -v)" == "NASM version 2.10"* ]]; then - VERSION_AOM="3.6.1" -fi $CURL https://storage.googleapis.com/aom-releases/libaom-${VERSION_AOM}.tar.gz | tar xzC ${DEPS}/aom --strip-components=1 cd ${DEPS}/aom mkdir aom_build From 2f3ab7b6e4131ceb0ed5f3801a7a3304d4315194 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 18 Sep 2023 18:51:22 +0100 Subject: [PATCH 185/327] macOS: ensure correct meson cross-file location --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 69d3e438..300677a7 100755 --- a/build.sh +++ b/build.sh @@ -54,7 +54,7 @@ for flavour in darwin-x64 darwin-arm64v8; do export FLAGS="-fno-stack-check" # Prevent use of API newer than the deployment target export FLAGS+=" -Werror=unguarded-availability-new" - export MESON="--cross-file=$PWD/$PLATFORM/meson.ini" + export MESON="--cross-file=$PWD/platforms/$PLATFORM/meson.ini" if [ $PLATFORM = "darwin-arm64v8" ]; then # ARM64 builds work via cross compilation from an x86_64 machine From d58a587cb0fe2bd7479010a915057d0c668bc78f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 22 Sep 2023 13:32:09 +0100 Subject: [PATCH 186/327] linux-armv6/7: document glibc version --- platforms/linux-armv6/Dockerfile | 2 +- platforms/linux-armv7/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile index dc2dc84c..114d38f3 100644 --- a/platforms/linux-armv6/Dockerfile +++ b/platforms/linux-armv6/Dockerfile @@ -1,7 +1,7 @@ FROM debian:buster LABEL maintainer="Lovell Fuller " -# Create Debian-based container suitable for cross-compiling Linux ARMv6 binaries +# Create Debian 10 (glibc 2.28) container suitable for cross-compiling Linux ARMv6 binaries # Path settings ENV \ diff --git a/platforms/linux-armv7/Dockerfile b/platforms/linux-armv7/Dockerfile index 1e9a7486..2d1410d9 100644 --- a/platforms/linux-armv7/Dockerfile +++ b/platforms/linux-armv7/Dockerfile @@ -1,7 +1,7 @@ FROM debian:buster LABEL maintainer="Lovell Fuller " -# Create Debian-based container suitable for cross-compiling Linux ARMv7-A binaries +# Create Debian 10 (glibc 2.28) container suitable for cross-compiling Linux ARMv7-A binaries # Path settings ENV \ From 12526ea4786592c1868a79136cbe45dd63e377db Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 29 Sep 2023 12:15:46 +0100 Subject: [PATCH 187/327] aom: apply patch for stack size on musl-based Linux --- build/lin.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index 96202c88..b7ffd6f3 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -250,6 +250,10 @@ meson install -C _build --tag devel mkdir ${DEPS}/aom $CURL https://storage.googleapis.com/aom-releases/libaom-${VERSION_AOM}.tar.gz | tar xzC ${DEPS}/aom --strip-components=1 cd ${DEPS}/aom +if [ "${PLATFORM%-*}" == "linuxmusl" ]; then + # https://bugs.chromium.org/p/aomedia/issues/detail?id=2754 + $CURL https://git.alpinelinux.org/aports/plain/main/aom/fix-stack-size-e53da0b.patch | patch -p1 +fi mkdir aom_build cd aom_build AOM_AS_FLAGS="${FLAGS}" cmake -G"Unix Makefiles" \ From e1d8a1c10986d597ed1896cb1d09b5df1d7f3955 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 30 Sep 2023 19:45:43 +0100 Subject: [PATCH 188/327] Add linux-s390x platform (cross-compiled) --- .github/workflows/build-release.yml | 1 + README.md | 1 + build.sh | 3 +- platforms/linux-s390x/Dockerfile | 51 +++++++++++++++++++++++++++ platforms/linux-s390x/Toolchain.cmake | 13 +++++++ platforms/linux-s390x/meson.ini | 19 ++++++++++ 6 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 platforms/linux-s390x/Dockerfile create mode 100644 platforms/linux-s390x/Toolchain.cmake create mode 100644 platforms/linux-s390x/meson.ini diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 4dedf146..e3283325 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -27,6 +27,7 @@ jobs: - 'linux-armv7' - 'linuxmusl-x64' - 'linuxmusl-arm64v8' + - 'linux-s390x' - 'win32-ia32' - 'win32-x64' - 'win32-arm64v8' diff --git a/README.md b/README.md index c04f74f0..170c35ff 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ the same shared libraries within multiple containers. * [ARMv7-A glibc](platforms/linux-armv7/Dockerfile) * [ARM64v8-A glibc](platforms/linux-arm64v8/Dockerfile) * [ARM64v8-A musl](platforms/linuxmusl-arm64v8/Dockerfile) +* [s390x glibc](platforms/linux-s390x/Dockerfile) ### Windows diff --git a/build.sh b/build.sh index 300677a7..150eaa9e 100755 --- a/build.sh +++ b/build.sh @@ -20,6 +20,7 @@ if [ $# -lt 1 ]; then echo "- linux-armv7" echo "- linux-arm64v8" echo "- linuxmusl-arm64v8" + echo "- linux-s390x" echo "- darwin-x64" echo "- darwin-arm64v8" echo @@ -93,7 +94,7 @@ for flavour in win32-ia32 win32-x64 win32-arm64v8; do done # Linux (x64, ARMv6, ARMv7, ARM64v8) -for flavour in linux-x64 linuxmusl-x64 linux-armv6 linux-armv7 linux-arm64v8 linuxmusl-arm64v8; do +for flavour in linux-x64 linuxmusl-x64 linux-armv6 linux-armv7 linux-arm64v8 linuxmusl-arm64v8 linux-s390x; do if [ $PLATFORM = "all" ] || [ $PLATFORM = $flavour ]; then echo "Building $flavour..." docker build -t vips-dev-$flavour platforms/$flavour diff --git a/platforms/linux-s390x/Dockerfile b/platforms/linux-s390x/Dockerfile new file mode 100644 index 00000000..e7279dca --- /dev/null +++ b/platforms/linux-s390x/Dockerfile @@ -0,0 +1,51 @@ +FROM debian:buster +LABEL maintainer="Lovell Fuller " + +# Create Debian 10 (glibc 2.28) container suitable for cross-compiling Linux s390x binaries + +# Path settings +ENV \ + RUSTUP_HOME="/usr/local/rustup" \ + CARGO_HOME="/usr/local/cargo" \ + PATH="/usr/local/cargo/bin:$PATH" + +# Build dependencies +RUN \ + apt-get update && \ + apt-get install -y curl && \ + dpkg --add-architecture s390x && \ + apt-get update && \ + apt-get install -y \ + advancecomp \ + autoconf \ + autopoint \ + brotli \ + cmake \ + crossbuild-essential-s390x \ + gettext \ + git \ + gperf \ + jq \ + libtool \ + ninja-build \ + pkg-config \ + python3-pip \ + && \ + curl https://sh.rustup.rs -sSf | sh -s -- -y \ + --no-modify-path \ + --profile minimal \ + && \ + rustup target add s390x-unknown-linux-gnu && \ + pip3 install meson + +# Compiler settings +ENV \ + PKG_CONFIG="s390x-linux-gnu-pkg-config --static" \ + PLATFORM="linux-s390x" \ + CHOST="s390x-linux-gnu" \ + RUST_TARGET="s390x-unknown-linux-gnu" \ + FLAGS="" \ + MESON="--cross-file=/root/meson.ini" + +COPY Toolchain.cmake /root/ +COPY meson.ini /root/ diff --git a/platforms/linux-s390x/Toolchain.cmake b/platforms/linux-s390x/Toolchain.cmake new file mode 100644 index 00000000..fb400635 --- /dev/null +++ b/platforms/linux-s390x/Toolchain.cmake @@ -0,0 +1,13 @@ +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_VERSION 1) +set(CMAKE_SYSTEM_PROCESSOR s390x) + +SET(CMAKE_C_COMPILER s390x-linux-gnu-gcc) +SET(CMAKE_CXX_COMPILER s390x-linux-gnu-g++) +SET(CMAKE_AR s390x-linux-gnu-gcc-ar) +SET(CMAKE_STRIP s390x-linux-gnu-gcc-strip) +SET(CMAKE_RANLIB s390x-linux-gnu-gcc-ranlib) + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/platforms/linux-s390x/meson.ini b/platforms/linux-s390x/meson.ini new file mode 100644 index 00000000..d492c099 --- /dev/null +++ b/platforms/linux-s390x/meson.ini @@ -0,0 +1,19 @@ +[host_machine] +system = 'linux' +cpu_family = 's390x' +cpu = 's390x' +endian = 'big' + +[binaries] +c = 's390x-linux-gnu-gcc' +cpp = 's390x-linux-gnu-g++' +ar = 's390x-linux-gnu-gcc-ar' +nm = 's390x-linux-gnu-gcc-nm' +ld = 's390x-linux-gnu-gcc-ld' +strip = 's390x-linux-gnu-strip' +ranlib = 's390x-linux-gnu-gcc-ranlib' +pkgconfig = ['s390x-linux-gnu-pkg-config', '--static'] + +[built-in options] +libdir = 'lib' +wrap_mode = 'nofallback' From 732b73a3013d26170a36a3ca935b103fe657e3ad Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 18 Oct 2023 09:04:29 +0200 Subject: [PATCH 189/327] Bump deps: heif, mozjpeg (#196) Reduce CMake requirement to ensure heif compiles on Debian 10 --- build/lin.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index b7ffd6f3..facec0c2 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -98,7 +98,7 @@ VERSION_GLIB=2.78.0 VERSION_XML2=2.11.5 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 -VERSION_MOZJPEG=4.1.4 +VERSION_MOZJPEG=4.1.5 VERSION_PNG16=1.6.40 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 @@ -118,7 +118,7 @@ VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 VERSION_RSVG=2.57.0 VERSION_AOM=3.7.0 -VERSION_HEIF=1.16.2 +VERSION_HEIF=1.17.0 VERSION_CGIF=0.3.2 # Remove patch version component @@ -267,6 +267,8 @@ make install/strip mkdir ${DEPS}/heif $CURL https://github.com/strukturag/libheif/releases/download/v${VERSION_HEIF}/libheif-${VERSION_HEIF}.tar.gz | tar xzC ${DEPS}/heif --strip-components=1 cd ${DEPS}/heif +# Downgrade minimum required CMake version to 3.12 - https://github.com/strukturag/libheif/issues/975 +sed -i'.bak' "/^cmake_minimum_required/s/3.16.3/3.12/" CMakeLists.txt CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" cmake -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=FALSE -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0 -DWITH_LIBDE265=0 -DWITH_X265=0 From e201ec41aacaa7b67521dd826227b35f7cbdc7e3 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 19 Oct 2023 13:58:16 +0200 Subject: [PATCH 190/327] Upgrade to libvips v8.15.0-rc1 (#198) - Remove liborc in favor of highway. --- LIBVIPS_VERSION | 2 +- THIRD-PARTY-NOTICES.md | 4 ++-- build/lin.sh | 29 +++++++++++++++-------------- build/win.sh | 2 -- platforms/linux-armv6/Dockerfile | 2 ++ platforms/linux-s390x/Dockerfile | 2 ++ 6 files changed, 22 insertions(+), 19 deletions(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index bcb04e75..1574513f 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.14.5 +8.15.0-rc1 diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index eed1033b..c979d150 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -15,13 +15,13 @@ used under the terms of the following licences: | gdk-pixbuf | LGPLv3 | | glib | LGPLv3 | | harfbuzz | MIT Licence | +| highway | Apache-2.0 License, BSD 3-Clause | | lcms | MIT Licence | | libarchive | BSD 2-Clause | | libexif | LGPLv3 | | libffi | MIT Licence | | libheif | LGPLv3 | | libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) | -| mozjpeg | [zlib License, IJG License, BSD-3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) | | libnsgif | MIT Licence | | libpng | [libpng License](https://github.com/glennrp/libpng/blob/master/LICENSE) | | librsvg | LGPLv3 | @@ -30,7 +30,7 @@ used under the terms of the following licences: | libvips | LGPLv3 | | libwebp | New BSD License | | libxml2 | MIT Licence | -| orc | [orc License](https://gitlab.freedesktop.org/gstreamer/orc/blob/master/COPYING) (BSD-like) | +| mozjpeg | [zlib License, IJG License, BSD-3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) | | pango | LGPLv3 | | pixman | MIT Licence | | proxy-libintl | LGPLv3 | diff --git a/build/lin.sh b/build/lin.sh index facec0c2..ff77f699 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -104,7 +104,7 @@ VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.3.2 VERSION_TIFF=4.6.0 -VERSION_ORC=0.4.34 +VERSION_HWY=1.0.7 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.2 @@ -163,7 +163,7 @@ version_latest "png" "$VERSION_PNG16" "1705" version_latest "spng" "$VERSION_SPNG" "24289" version_latest "webp" "$VERSION_WEBP" "webmproject/libwebp" version_latest "tiff" "$VERSION_TIFF" "1738" -version_latest "orc" "$VERSION_ORC" "2573" +version_latest "highway" "$VERSION_HWY" "205809" version_latest "proxy-libintl" "$VERSION_PROXY_LIBINTL" "frida/proxy-libintl" version_latest "gdkpixbuf" "$VERSION_GDKPIXBUF" "9533" version_latest "freetype" "$VERSION_FREETYPE" "854" @@ -316,12 +316,15 @@ CFLAGS="${CFLAGS} -pthread" ./configure --host=${CHOST} --prefix=${TARGET} --ena --disable-tools --disable-tests --disable-contrib --disable-docs --disable-mdi --disable-pixarlog --disable-old-jpeg --disable-cxx --disable-lzma --disable-zstd make install-strip -mkdir ${DEPS}/orc -$CURL https://gstreamer.freedesktop.org/data/src/orc/orc-${VERSION_ORC}.tar.xz | tar xJC ${DEPS}/orc --strip-components=1 -cd ${DEPS}/orc -meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dorc-test=disabled -Dbenchmarks=disabled -Dexamples=disabled -Dgtk_doc=disabled -Dtests=disabled -Dtools=disabled -meson install -C _build --tag devel +if [ -z "$WITHOUT_HIGHWAY" ]; then + mkdir ${DEPS}/hwy + $CURL https://github.com/google/highway/archive/${VERSION_HWY}.tar.gz | tar xzC ${DEPS}/hwy --strip-components=1 + cd ${DEPS}/hwy + CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" cmake -G"Unix Makefiles" \ + -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=FALSE -DBUILD_TESTING=0 -DHWY_ENABLE_CONTRIB=0 -DHWY_ENABLE_EXAMPLES=0 -DHWY_ENABLE_TESTS=0 + make install/strip +fi mkdir ${DEPS}/gdkpixbuf $CURL https://download.gnome.org/sources/gdk-pixbuf/$(without_patch $VERSION_GDKPIXBUF)/gdk-pixbuf-${VERSION_GDKPIXBUF}.tar.xz | tar xJC ${DEPS}/gdkpixbuf --strip-components=1 @@ -443,8 +446,6 @@ meson install -C _build --tag devel mkdir ${DEPS}/vips $CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-$(without_prerelease $VERSION_VIPS).tar.xz | tar xJC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips -# Backport libarchive-based dzsave -$CURL https://raw.githubusercontent.com/libvips/build-win64-mxe/master/build/patches/vips-8-pr-3476.patch | patch -p1 # Link libvips.so.42 statically into libvips-cpp.so.42 sed -i'.bak' "s/library('vips'/static_&/" libvips/meson.build sed -i'.bak' "/version: library_version/{N;d;}" libvips/meson.build @@ -461,9 +462,9 @@ fi # Disable building man pages, gettext po files, tools, and (fuzz-)tests sed -i'.bak' "/subdir('man')/{N;N;N;N;d;}" meson.build CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" meson setup _build --default-library=shared --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -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 \ + -Ddeprecated=false -Dintrospection=disabled -Dmodules=disabled -Dcfitsio=disabled -Dfftw=disabled -Djpeg-xl=disabled \ + ${WITHOUT_HIGHWAY:+-Dhighway=disabled} -Dorc=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 \ ${LINUX:+-Dcpp_link_args="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--version-script=$DEPS/vips/vips.map $EXCLUDE_LIBS"} meson install -C _build --tag runtime,devel @@ -533,10 +534,10 @@ printf "{\n\ \"glib\": \"${VERSION_GLIB}\",\n\ \"harfbuzz\": \"${VERSION_HARFBUZZ}\",\n\ \"heif\": \"${VERSION_HEIF}\",\n\ + \"highway\": \"${VERSION_HWY}\",\n\ \"imagequant\": \"${VERSION_IMAGEQUANT}\",\n\ \"lcms\": \"${VERSION_LCMS2}\",\n\ \"mozjpeg\": \"${VERSION_MOZJPEG}\",\n\ - \"orc\": \"${VERSION_ORC}\",\n\ \"pango\": \"${VERSION_PANGO}\",\n\ \"pixman\": \"${VERSION_PIXMAN}\",\n\ \"png\": \"${VERSION_PNG16}\",\n\ diff --git a/build/win.sh b/build/win.sh index 58659d63..623e1c8f 100755 --- a/build/win.sh +++ b/build/win.sh @@ -44,8 +44,6 @@ 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 \ *.json \ THIRD-PARTY-NOTICES.md diff --git a/platforms/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile index 114d38f3..d36ccb00 100644 --- a/platforms/linux-armv6/Dockerfile +++ b/platforms/linux-armv6/Dockerfile @@ -47,6 +47,8 @@ ENV \ RUST_TARGET="arm-unknown-linux-gnueabihf" \ FLAGS="-marm -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard" \ WITHOUT_NEON="true" \ + # Highway requires NEON (Armv7+) + WITHOUT_HIGHWAY="true" \ MESON="--cross-file=/root/meson.ini" COPY Toolchain.cmake /root/ diff --git a/platforms/linux-s390x/Dockerfile b/platforms/linux-s390x/Dockerfile index e7279dca..86499bc0 100644 --- a/platforms/linux-s390x/Dockerfile +++ b/platforms/linux-s390x/Dockerfile @@ -45,6 +45,8 @@ ENV \ CHOST="s390x-linux-gnu" \ RUST_TARGET="s390x-unknown-linux-gnu" \ FLAGS="" \ + # https://github.com/google/highway/issues/1153 + WITHOUT_HIGHWAY="true" \ MESON="--cross-file=/root/meson.ini" COPY Toolchain.cmake /root/ From 3d5c380a320d50638be5e636c77a921bb18edcf8 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 19 Oct 2023 13:31:50 +0100 Subject: [PATCH 191/327] Bump deps: harfbuzz, heif --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index ff77f699..97ab0516 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -111,14 +111,14 @@ VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.5.0 VERSION_ARCHIVE=3.7.2 VERSION_FONTCONFIG=2.14.2 -VERSION_HARFBUZZ=8.2.1 +VERSION_HARFBUZZ=8.2.2 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 VERSION_RSVG=2.57.0 VERSION_AOM=3.7.0 -VERSION_HEIF=1.17.0 +VERSION_HEIF=1.17.1 VERSION_CGIF=0.3.2 # Remove patch version component From f2bc55a5e394b1f2a9af97f1bfc46e38ed86aa26 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 19 Oct 2023 15:13:25 +0100 Subject: [PATCH 192/327] Leave tarballs as-is, remove Brotli, don't re-gzip (#199) These files will no longer be downloaded millions of times, so there is no need to spend CPU time maximising compression. --- .circleci/config.yml | 2 +- .github/workflows/build-release.yml | 15 +-------------- build/lin.sh | 6 ------ build/win.sh | 6 ------ integrity-json.sh | 10 ---------- integrity.sh | 2 +- platforms/linux-arm64v8/Dockerfile | 2 -- platforms/linux-armv6/Dockerfile | 2 -- platforms/linux-armv7/Dockerfile | 2 -- platforms/linux-s390x/Dockerfile | 2 -- platforms/linux-x64/Dockerfile | 2 -- platforms/linuxmusl-arm64v8/Dockerfile | 2 -- platforms/linuxmusl-x64/Dockerfile | 2 -- platforms/win32/Dockerfile | 2 +- 14 files changed, 4 insertions(+), 53 deletions(-) delete mode 100755 integrity-json.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index 2876f9ab..7f7aa613 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,4 +23,4 @@ jobs: - when: condition: <> steps: - - run: gh release upload --repo lovell/sharp-libvips $CIRCLE_TAG *.tar.gz *.tar.br *.integrity + - run: gh release upload --repo lovell/sharp-libvips $CIRCLE_TAG *.tar.gz *.integrity diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index e3283325..8596f064 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -43,7 +43,7 @@ jobs: if: runner.os == 'macOS' run: | pip3 install meson ninja - brew install advancecomp automake brotli nasm pkg-config + brew install automake nasm pkg-config - name: Build ${{ matrix.platform }} id: build-release run: ./build.sh $(cat LIBVIPS_VERSION) ${{ matrix.platform }} @@ -63,19 +63,6 @@ jobs: omitNameDuringUpdate: true prerelease: true token: ${{ secrets.GITHUB_TOKEN }} - - name: Upload Release Asset (.tar.br) - id: upload-release-asset-br - if: startsWith(github.ref, 'refs/tags/v') - uses: ncipollo/release-action@v1 - with: - allowUpdates: true - artifacts: libvips-*-${{ matrix.platform }}.tar.br - artifactContentType: application/x-brotli - artifactErrorsFailBuild: true - omitBodyDuringUpdate: true - omitNameDuringUpdate: true - prerelease: true - token: ${{ secrets.GITHUB_TOKEN }} - name: Upload Release Asset (.integrity) id: upload-release-asset-integrity if: startsWith(github.ref, 'refs/tags/v') diff --git a/build/lin.sh b/build/lin.sh index 97ab0516..cb68fd60 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -566,11 +566,5 @@ tar chzf ${PACKAGE}/libvips-${VERSION_VIPS}-${PLATFORM}.tar.gz \ *.json \ THIRD-PARTY-NOTICES.md -# Recompress using AdvanceCOMP, ~5% smaller -advdef --recompress --shrink-insane ${PACKAGE}/libvips-${VERSION_VIPS}-${PLATFORM}.tar.gz - -# Recompress using Brotli, ~15% smaller -gunzip -c ${PACKAGE}/libvips-${VERSION_VIPS}-${PLATFORM}.tar.gz | brotli -o ${PACKAGE}/libvips-${VERSION_VIPS}-${PLATFORM}.tar.br - # Allow tarballs to be read outside container chmod 644 ${PACKAGE}/libvips-${VERSION_VIPS}-${PLATFORM}.tar.* diff --git a/build/win.sh b/build/win.sh index 623e1c8f..cb6c85a4 100755 --- a/build/win.sh +++ b/build/win.sh @@ -48,12 +48,6 @@ tar czf /packaging/libvips-${VERSION_VIPS}-${PLATFORM}.tar.gz \ *.json \ THIRD-PARTY-NOTICES.md -# Recompress using AdvanceCOMP, ~5% smaller -advdef --recompress --shrink-insane /packaging/libvips-${VERSION_VIPS}-${PLATFORM}.tar.gz - -# Recompress using Brotli, ~15% smaller -gunzip -c /packaging/libvips-${VERSION_VIPS}-${PLATFORM}.tar.gz | brotli -o /packaging/libvips-${VERSION_VIPS}-${PLATFORM}.tar.br - # Allow tarballs to be read outside container chmod 644 /packaging/libvips-${VERSION_VIPS}-${PLATFORM}.tar.* diff --git a/integrity-json.sh b/integrity-json.sh deleted file mode 100755 index 20bfbace..00000000 --- a/integrity-json.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash -set -e - -LIBVIPS_VERSION=$(cat LIBVIPS_VERSION) - -for url in $(curl -sL https://api.github.com/repos/lovell/sharp-libvips/releases | jq -r --arg NAME "v$LIBVIPS_VERSION" '.[] | select(.name == $NAME) | .assets[] | select(.name | contains(".br.integrity")) | .browser_download_url'); do - PLATFORM_AND_ARCH=$(echo $url | cut -d'.' -f6 | cut -d'-' -f2,3) - CHECKSUM=$(curl -Ls $url) - echo "\"$PLATFORM_AND_ARCH\": \"$CHECKSUM\"," -done diff --git a/integrity.sh b/integrity.sh index 0d450ebe..70543c14 100755 --- a/integrity.sh +++ b/integrity.sh @@ -8,6 +8,6 @@ integrity() { printf "$CHECKSUM" > $1.integrity } -for tarball in *.tar.{br,gz}; do +for tarball in *.tar.gz; do integrity $tarball done diff --git a/platforms/linux-arm64v8/Dockerfile b/platforms/linux-arm64v8/Dockerfile index 867a9cb0..d77e603a 100644 --- a/platforms/linux-arm64v8/Dockerfile +++ b/platforms/linux-arm64v8/Dockerfile @@ -15,10 +15,8 @@ RUN \ amazon-linux-extras install epel -y && \ yum install -y --setopt=tsflags=nodocs \ --exclude=gcc \ - advancecomp \ autoconf \ automake \ - brotli \ bzip2 \ cmake3 \ curl \ diff --git a/platforms/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile index d36ccb00..df4c708b 100644 --- a/platforms/linux-armv6/Dockerfile +++ b/platforms/linux-armv6/Dockerfile @@ -16,10 +16,8 @@ RUN \ dpkg --add-architecture armhf && \ apt-get update && \ apt-get install -y \ - advancecomp \ autoconf \ autopoint \ - brotli \ cmake \ gettext \ git \ diff --git a/platforms/linux-armv7/Dockerfile b/platforms/linux-armv7/Dockerfile index 2d1410d9..e18ed492 100644 --- a/platforms/linux-armv7/Dockerfile +++ b/platforms/linux-armv7/Dockerfile @@ -16,10 +16,8 @@ RUN \ dpkg --add-architecture armhf && \ apt-get update && \ apt-get install -y \ - advancecomp \ autoconf \ autopoint \ - brotli \ cmake \ crossbuild-essential-armhf \ gettext \ diff --git a/platforms/linux-s390x/Dockerfile b/platforms/linux-s390x/Dockerfile index 86499bc0..93b40156 100644 --- a/platforms/linux-s390x/Dockerfile +++ b/platforms/linux-s390x/Dockerfile @@ -16,10 +16,8 @@ RUN \ dpkg --add-architecture s390x && \ apt-get update && \ apt-get install -y \ - advancecomp \ autoconf \ autopoint \ - brotli \ cmake \ crossbuild-essential-s390x \ gettext \ diff --git a/platforms/linux-x64/Dockerfile b/platforms/linux-x64/Dockerfile index 5fdcc96d..4c2156b9 100644 --- a/platforms/linux-x64/Dockerfile +++ b/platforms/linux-x64/Dockerfile @@ -15,10 +15,8 @@ RUN \ amazon-linux-extras install epel -y && \ yum install -y --setopt=tsflags=nodocs \ --exclude=gcc \ - advancecomp \ autoconf \ automake \ - brotli \ bzip2 \ cmake3 \ curl \ diff --git a/platforms/linuxmusl-arm64v8/Dockerfile b/platforms/linuxmusl-arm64v8/Dockerfile index b9a48978..e06ee32a 100644 --- a/platforms/linuxmusl-arm64v8/Dockerfile +++ b/platforms/linuxmusl-arm64v8/Dockerfile @@ -16,7 +16,6 @@ RUN \ autoconf \ automake \ binutils \ - brotli \ build-base \ cmake \ coreutils \ @@ -32,7 +31,6 @@ RUN \ py3-pip \ python3 \ && \ - apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/v3.17/community/ add advancecomp && \ curl -Ls https://github.com/lovell/aarch64-linux-musl-crosstools/archive/main.tar.gz | tar -hxzC / --strip-components=2 && \ ln -s /usr/bin/pkg-config /bin/aarch64-linux-musl-pkg-config && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ diff --git a/platforms/linuxmusl-x64/Dockerfile b/platforms/linuxmusl-x64/Dockerfile index 7630c52c..fb016f8d 100644 --- a/platforms/linuxmusl-x64/Dockerfile +++ b/platforms/linuxmusl-x64/Dockerfile @@ -16,7 +16,6 @@ RUN \ autoconf \ automake \ binutils \ - brotli \ build-base \ cmake \ coreutils \ @@ -33,7 +32,6 @@ RUN \ py3-pip \ python3 \ && \ - apk --update --no-cache --repository https://alpine.global.ssl.fastly.net/alpine/v3.17/community/ add advancecomp && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ --profile minimal \ diff --git a/platforms/win32/Dockerfile b/platforms/win32/Dockerfile index 7ac99922..58316606 100644 --- a/platforms/win32/Dockerfile +++ b/platforms/win32/Dockerfile @@ -3,4 +3,4 @@ LABEL maintainer="Lovell Fuller " # Create Debian-based container suitable for post-processing Windows binaries -RUN apt-get update && apt-get install -y advancecomp brotli curl zip +RUN apt-get update && apt-get install -y curl zip From b883a19969a1bab39f279091d0b8f3d41c254fbd Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 20 Oct 2023 09:20:10 +0100 Subject: [PATCH 193/327] hwy: ensure correct lib directory (#200) --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index cb68fd60..c7b9826e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -321,7 +321,7 @@ if [ -z "$WITHOUT_HIGHWAY" ]; then $CURL https://github.com/google/highway/archive/${VERSION_HWY}.tar.gz | tar xzC ${DEPS}/hwy --strip-components=1 cd ${DEPS}/hwy CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" cmake -G"Unix Makefiles" \ - -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=FALSE -DBUILD_TESTING=0 -DHWY_ENABLE_CONTRIB=0 -DHWY_ENABLE_EXAMPLES=0 -DHWY_ENABLE_TESTS=0 make install/strip fi From 8e4557fb90117aad1503800ac71fe5802adb0165 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 20 Oct 2023 09:56:13 +0100 Subject: [PATCH 194/327] Bump dep: zlib-ng --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index c7b9826e..d50b5ddd 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,7 +92,7 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.1.3 +VERSION_ZLIB_NG=2.1.4 VERSION_FFI=3.4.4 VERSION_GLIB=2.78.0 VERSION_XML2=2.11.5 From b2551ba1592b0396634720c7aaabd27b9b536943 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 20 Oct 2023 10:15:54 +0100 Subject: [PATCH 195/327] zlib-ng: build without 32-bit ARM SIMD --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index d50b5ddd..d5a598ac 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -206,7 +206,7 @@ $CURL https://github.com/zlib-ng/zlib-ng/archive/${VERSION_ZLIB_NG}.tar.gz | tar cd ${DEPS}/zlib-ng CFLAGS="${CFLAGS} -O3" cmake -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=FALSE -DZLIB_COMPAT=TRUE + -DBUILD_SHARED_LIBS=FALSE -DZLIB_COMPAT=TRUE -DWITH_ARMV6=FALSE make install/strip mkdir ${DEPS}/ffi From 83a9219b55bddf91b3d1a3e602205f6863c4826e Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 31 Oct 2023 22:06:20 +0000 Subject: [PATCH 196/327] Bump dep: glib --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index d5a598ac..2b38bb99 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,7 +94,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.4 VERSION_FFI=3.4.4 -VERSION_GLIB=2.78.0 +VERSION_GLIB=2.78.1 VERSION_XML2=2.11.5 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 From ec71fc85b42a3bc75873fdd9da277d27b311f365 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 1 Nov 2023 09:35:51 +0000 Subject: [PATCH 197/327] glib: update glib-without-gregex patch file --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 2b38bb99..5c9328ab 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -219,7 +219,7 @@ make install-strip mkdir ${DEPS}/glib $CURL https://download.gnome.org/sources/glib/$(without_patch $VERSION_GLIB)/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1 cd ${DEPS}/glib -$CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/e826724a837825226057347b75567059dabc85d4/glib-without-gregex.patch | patch -p1 +$CURL https://gist.githubusercontent.com/lovell/8d0de84a57dd10220cdeb8f64d7dd9ce/raw/1c0a5b5e1d5731bc1557df789e6d85b97f6a69dc/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled \ -Dglib_assert=false -Dglib_checks=false ${DARWIN:+-Dbsymbolic_functions=false} From 177fd33006c98e1cd5c14a9faa133ce8a90ee374 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 1 Nov 2023 15:10:57 +0100 Subject: [PATCH 198/327] Update libtiff licence location (#202) --- THIRD-PARTY-NOTICES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index c979d150..79e5bfc5 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -26,7 +26,7 @@ used under the terms of the following licences: | libpng | [libpng License](https://github.com/glennrp/libpng/blob/master/LICENSE) | | librsvg | LGPLv3 | | libspng | [BSD 2-Clause, libpng License](https://github.com/randy408/libspng/blob/master/LICENSE) | -| libtiff | [libtiff License](https://libtiff.gitlab.io/libtiff/misc.html) (BSD-like) | +| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) | | libvips | LGPLv3 | | libwebp | New BSD License | | libxml2 | MIT Licence | From a66edc3f2ccb09859930fa7d8977cbc7bf6de336 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 3 Nov 2023 14:17:14 +0000 Subject: [PATCH 199/327] Bump dep: heif --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 5c9328ab..a1a9da64 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -118,7 +118,7 @@ VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 VERSION_RSVG=2.57.0 VERSION_AOM=3.7.0 -VERSION_HEIF=1.17.1 +VERSION_HEIF=1.17.3 VERSION_CGIF=0.3.2 # Remove patch version component From 061bcf4b58021ed418ee9f0acceb8bf05b711381 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 3 Nov 2023 22:22:59 +0100 Subject: [PATCH 200/327] Upgrade to libvips v8.15.0-rc2 (#203) --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 1574513f..12916453 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.15.0-rc1 +8.15.0-rc2 From c57d14e73433f75722c557825a562beb4a0a4754 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 6 Nov 2023 21:17:58 +0000 Subject: [PATCH 201/327] Add infrastructure to re-publish release tarballs as npm packages (#204) --- .gitignore | 3 ++ README.md | 9 +---- npm/darwin-arm64/package.json | 42 ++++++++++++++++++++ npm/darwin-x64/package.json | 42 ++++++++++++++++++++ npm/dev/package.json | 30 ++++++++++++++ npm/linux-arm/package.json | 45 +++++++++++++++++++++ npm/linux-arm64/package.json | 45 +++++++++++++++++++++ npm/linux-s390x/package.json | 45 +++++++++++++++++++++ npm/linux-x64/package.json | 45 +++++++++++++++++++++ npm/linuxmusl-arm64/package.json | 45 +++++++++++++++++++++ npm/linuxmusl-x64/package.json | 45 +++++++++++++++++++++ npm/package.json | 18 +++++++++ npm/populate.sh | 68 ++++++++++++++++++++++++++++++++ npm/win32-ia32/package.json | 30 ++++++++++++++ npm/win32-x64/package.json | 30 ++++++++++++++ 15 files changed, 535 insertions(+), 7 deletions(-) create mode 100644 npm/darwin-arm64/package.json create mode 100644 npm/darwin-x64/package.json create mode 100644 npm/dev/package.json create mode 100644 npm/linux-arm/package.json create mode 100644 npm/linux-arm64/package.json create mode 100644 npm/linux-s390x/package.json create mode 100644 npm/linux-x64/package.json create mode 100644 npm/linuxmusl-arm64/package.json create mode 100644 npm/linuxmusl-x64/package.json create mode 100644 npm/package.json create mode 100755 npm/populate.sh create mode 100644 npm/win32-ia32/package.json create mode 100644 npm/win32-x64/package.json diff --git a/.gitignore b/.gitignore index a312f5d6..c20d1458 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ libvips* *.log deps/ target/ +npm/*/* +!npm/*/package.json +npm/img-sharp-libvips-*.tgz diff --git a/README.md b/README.md index 170c35ff..9bac641c 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,8 @@ libvips and its dependencies are provided as pre-compiled shared libraries for the most common operating systems and CPU architectures. -During `npm install`, these binaries are fetched as tarballs from -this repository via HTTPS and stored locally within `node_modules/sharp/vendor`. - -The base URL can be overridden using the -`npm_config_sharp_libvips_binary_host` environment variable. - -https://sharp.pixelplumbing.com/install#custom-prebuilt-binaries +These are [packaged](npm) and published to the npm registry under the +[@img](https://www.npmjs.com/org/img) organisation. ## Creating a tarball diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json new file mode 100644 index 00000000..73a86e9b --- /dev/null +++ b/npm/darwin-arm64/package.json @@ -0,0 +1,42 @@ +{ + "name": "@img/sharp-libvips-darwin-arm64", + "version": "0.0.3", + "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/darwin-arm64" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + }, + "engines": { + "npm": ">=9.6.5", + "yarn": ">=3.2.0", + "pnpm": ">=7.1.0", + "macos": ">=11" + }, + "os": [ + "darwin" + ], + "cpu": [ + "arm64" + ] +} diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json new file mode 100644 index 00000000..465141af --- /dev/null +++ b/npm/darwin-x64/package.json @@ -0,0 +1,42 @@ +{ + "name": "@img/sharp-libvips-darwin-x64", + "version": "0.0.3", + "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/darwin-x64" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + }, + "engines": { + "npm": ">=9.6.5", + "yarn": ">=3.2.0", + "pnpm": ">=7.1.0", + "macos": ">=10.13" + }, + "os": [ + "darwin" + ], + "cpu": [ + "x64" + ] +} diff --git a/npm/dev/package.json b/npm/dev/package.json new file mode 100644 index 00000000..339ad8c7 --- /dev/null +++ b/npm/dev/package.json @@ -0,0 +1,30 @@ +{ + "name": "@img/sharp-libvips-dev", + "version": "0.0.3", + "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/dev" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "include", + "cplusplus", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./include": "./include/index.js", + "./cplusplus": "./cplusplus/index.js" + } +} diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json new file mode 100644 index 00000000..53816cf7 --- /dev/null +++ b/npm/linux-arm/package.json @@ -0,0 +1,45 @@ +{ + "name": "@img/sharp-libvips-linux-arm", + "version": "0.0.3", + "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/linux-arm" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + }, + "type": "commonjs", + "engines": { + "npm": ">=9.6.5", + "yarn": ">=3.2.0", + "pnpm": ">=7.1.0", + "glibc": ">=2.28" + }, + "os": [ + "linux" + ], + "libc": [ + "glibc" + ], + "cpu": [ + "arm" + ] +} diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json new file mode 100644 index 00000000..bd13dc0d --- /dev/null +++ b/npm/linux-arm64/package.json @@ -0,0 +1,45 @@ +{ + "name": "@img/sharp-libvips-linux-arm64", + "version": "0.0.3", + "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/linux-arm64" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + }, + "engines": { + "npm": ">=9.6.5", + "yarn": ">=3.2.0", + "pnpm": ">=7.1.0", + "glibc": ">=2.26" + }, + "os": [ + "linux" + ], + "libc": [ + "glibc" + ], + "cpu": [ + "arm64" + ] +} diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json new file mode 100644 index 00000000..5578e027 --- /dev/null +++ b/npm/linux-s390x/package.json @@ -0,0 +1,45 @@ +{ + "name": "@img/sharp-libvips-linux-s390x", + "version": "0.0.3", + "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/linux-s390x" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + }, + "type": "commonjs", + "engines": { + "npm": ">=9.6.5", + "yarn": ">=3.2.0", + "pnpm": ">=7.1.0", + "glibc": ">=2.28" + }, + "os": [ + "linux" + ], + "libc": [ + "glibc" + ], + "cpu": [ + "s390x" + ] +} diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json new file mode 100644 index 00000000..a1d92bee --- /dev/null +++ b/npm/linux-x64/package.json @@ -0,0 +1,45 @@ +{ + "name": "@img/sharp-libvips-linux-x64", + "version": "0.0.3", + "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/linux-x64" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + }, + "engines": { + "npm": ">=9.6.5", + "yarn": ">=3.2.0", + "pnpm": ">=7.1.0", + "glibc": ">=2.26" + }, + "os": [ + "linux" + ], + "libc": [ + "glibc" + ], + "cpu": [ + "x64" + ] +} diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json new file mode 100644 index 00000000..ff81a18f --- /dev/null +++ b/npm/linuxmusl-arm64/package.json @@ -0,0 +1,45 @@ +{ + "name": "@img/sharp-libvips-linuxmusl-arm64", + "version": "0.0.3", + "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/linuxmusl-arm64" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + }, + "engines": { + "npm": ">=9.6.5", + "yarn": ">=3.2.0", + "pnpm": ">=7.1.0", + "musl": ">=1.2.2" + }, + "os": [ + "linux" + ], + "libc": [ + "musl" + ], + "cpu": [ + "arm64" + ] +} diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json new file mode 100644 index 00000000..aa69c019 --- /dev/null +++ b/npm/linuxmusl-x64/package.json @@ -0,0 +1,45 @@ +{ + "name": "@img/sharp-libvips-linuxmusl-x64", + "version": "0.0.3", + "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/linuxmusl-x64" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + }, + "engines": { + "npm": ">=9.6.5", + "yarn": ">=3.2.0", + "pnpm": ">=7.1.0", + "musl": ">=1.2.2" + }, + "os": [ + "linux" + ], + "libc": [ + "musl" + ], + "cpu": [ + "x64" + ] +} diff --git a/npm/package.json b/npm/package.json new file mode 100644 index 00000000..9f629523 --- /dev/null +++ b/npm/package.json @@ -0,0 +1,18 @@ +{ + "name": "@img/sharp-libvips", + "version": "0.0.3", + "private": "true", + "workspaces": [ + "dev", + "darwin-x64", + "darwin-arm64", + "linux-arm", + "linux-arm64", + "linuxmusl-arm64", + "linuxmusl-x64", + "linux-s390x", + "linux-x64", + "win32-ia32", + "win32-x64" + ] +} diff --git a/npm/populate.sh b/npm/populate.sh new file mode 100755 index 00000000..f53f9581 --- /dev/null +++ b/npm/populate.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash +set -e + +LIBVIPS_VERSION=$(cat LIBVIPS_VERSION) +CURL="curl --silent --location" + +download_extract() { + PLATFORM="$1" + PACKAGE="${1%v[68]}" # remove ARM version + echo "$PLATFORM -> $PACKAGE" + rm -rf "npm/$PACKAGE/include" "npm/$PACKAGE/lib" + $CURL \ + "https://github.com/lovell/sharp-libvips/releases/download/v$LIBVIPS_VERSION/libvips-$LIBVIPS_VERSION-$PLATFORM.tar.gz" | \ + tar xzC "npm/$PACKAGE" --exclude="platform.json" +} + +download_cpp() { + $CURL \ + --remote-name --output-dir "npm/dev/cplusplus" --create-dirs \ + "https://raw.githubusercontent.com/libvips/libvips/v$LIBVIPS_VERSION/cplusplus/$1.cpp" +} + +generate_readme() { + PACKAGE="$1" + jq -r '("# `" + .name + "`\n\n" + .description + ".\n")' "npm/$PACKAGE/package.json" > "npm/$PACKAGE/README.md" + echo "## Licensing" >> "npm/$PACKAGE/README.md" + cat "npm/$PACKAGE/THIRD-PARTY-NOTICES.md" | tail -n +2 >> "npm/$PACKAGE/README.md" +} + +generate_index() { + PACKAGE="$1" + for dir in include lib cplusplus; do + if [ -d "npm/$PACKAGE/$dir" ]; then + echo "module.exports = __dirname;" > "npm/$PACKAGE/$dir/index.js" + fi + done +} + +remove_unused() { + PACKAGE="$1" + if [ "$PACKAGE" != "dev" ]; then + rm -r "npm/$PACKAGE/include" + fi + rm "npm/$PACKAGE/THIRD-PARTY-NOTICES.md" +} + +# Download and extract per-platform binaries +PLATFORMS=$(ls platforms --ignore=*armv7 --ignore=win32*) +for platform in $PLATFORMS; do + download_extract "$platform" +done +download_extract "win32-ia32" +download_extract "win32-x64" + +# Common header and source files +cp -r npm/linux-x64/{include,versions.json,THIRD-PARTY-NOTICES.md} npm/dev/ +find npm/dev/include/ -maxdepth 1 -type f -links +1 -delete +for source in VConnection VError VImage VInterpolate VRegion vips-operators; do + download_cpp "$source" +done; + +# Generate README files +PACKAGES=$(jq -r '.workspaces[]' "npm/package.json") +for package in $PACKAGES; do + generate_readme "$package" + generate_index "$package" + remove_unused "$package" +done diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json new file mode 100644 index 00000000..5d576fea --- /dev/null +++ b/npm/win32-ia32/package.json @@ -0,0 +1,30 @@ +{ + "name": "@img/sharp-libvips-win32-ia32", + "version": "0.0.3", + "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/win32-ia32" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + } +} diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json new file mode 100644 index 00000000..3c821868 --- /dev/null +++ b/npm/win32-x64/package.json @@ -0,0 +1,30 @@ +{ + "name": "@img/sharp-libvips-win32-x64", + "version": "0.0.3", + "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/win32-x64" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + } +} From e219aeaa1f7ba706957f375653ea566088c2395f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 8 Nov 2023 11:37:11 +0000 Subject: [PATCH 202/327] Add infrastructure to build WebAssembly static libs via wasm-vips (#205) Co-authored-by: Ingvar Stepanyan --- .github/workflows/build-release.yml | 1 + .gitignore | 2 ++ README.md | 7 ++++ build.sh | 6 ++++ build/wasm.sh | 50 +++++++++++++++++++++++++++ npm/dev-wasm32/THIRD-PARTY-NOTICES.md | 31 +++++++++++++++++ npm/dev-wasm32/package.json | 31 +++++++++++++++++ npm/package.json | 1 + npm/populate.sh | 4 +-- 9 files changed, 131 insertions(+), 2 deletions(-) create mode 100755 build/wasm.sh create mode 100644 npm/dev-wasm32/THIRD-PARTY-NOTICES.md create mode 100644 npm/dev-wasm32/package.json diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 8596f064..10dc914a 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -28,6 +28,7 @@ jobs: - 'linuxmusl-x64' - 'linuxmusl-arm64v8' - 'linux-s390x' + - 'wasm32' - 'win32-ia32' - 'win32-x64' - 'win32-arm64v8' diff --git a/.gitignore b/.gitignore index c20d1458..4d630da0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,9 @@ libvips* *.log +build/wasm-vips-* deps/ target/ npm/*/* !npm/*/package.json +!npm/dev-wasm32/THIRD-PARTY-NOTICES.md npm/img-sharp-libvips-*.tgz diff --git a/README.md b/README.md index 9bac641c..a9743ed3 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,13 @@ The dylib files are compiled within the same build script as Linux. Dependency paths are modified to use the relative `@rpath` with `install_name_tool`. +### WebAssembly + +The scripts from [wasm-vips](https://github.com/kleisauke/wasm-vips) +are [used to compile](build/wasm.sh) libvips and its dependencies +as static Wasm libraries ready for further compilation into a single, +statically-linked sharp shared library. + ## Licences These scripts are licensed under the terms of the [Apache 2.0 Licence](LICENSE). diff --git a/build.sh b/build.sh index 150eaa9e..d32817a9 100755 --- a/build.sh +++ b/build.sh @@ -79,6 +79,12 @@ if ! [ -x "$(command -v docker)" ]; then exit 1 fi +# WebAssembly +if [ "$PLATFORM" == "wasm32" ]; then + ./build/wasm.sh "${VERSION_VIPS}" + exit 0 +fi + # Update base images for baseimage in alpine:3.15 amazonlinux:2 debian:bullseye debian:buster; do docker pull $baseimage diff --git a/build/wasm.sh b/build/wasm.sh new file mode 100755 index 00000000..ce11325e --- /dev/null +++ b/build/wasm.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +set -e + +if [ $# -lt 1 ]; then + echo + echo "Usage: $0 VERSION_VIPS [VERSION_WASM_VIPS]" + echo "Use wasm-vips to build wasm32 static libraries for libvips and its dependencies" + echo + echo "Please specify the libvips VERSION_VIPS, e.g. 8.15.0" + echo "Optionally provide a specific VERSION_WASM_VIPS commit, e.g. abc1234" + echo + exit 1 +fi +VERSION_VIPS="$1" +VERSION_WASM_VIPS="${2:-56f151b}" # TODO: fetch latest wasm-vips commit as default + +DIR="wasm-vips-${VERSION_WASM_VIPS}" +TAG="wasm-vips:${VERSION_WASM_VIPS}" + +echo "Using ${TAG} to build libvips ${VERSION_VIPS}" +cd "${0%/*}" + +# Download specific version of wasm-vips +if [ ! -d "$DIR" ]; then + mkdir "${DIR}" + curl -Ls https://github.com/kleisauke/wasm-vips/archive/${VERSION_WASM_VIPS}.tar.gz | tar xzC "${DIR}" --strip-components=1 +fi + +# Check libvips versions match +VERSION_VIPS_UPSTREAM=$(grep -Po "^VERSION_VIPS=\K[^ ]*" "${DIR}/build.sh") +if [ "$VERSION_VIPS" != "$VERSION_VIPS_UPSTREAM" ]; then + echo "Expected libvips $VERSION_VIPS, found $VERSION_VIPS_UPSTREAM upstream" # TODO: modify build.sh on-the-fly? + exit 1 +fi + +# Create container with emscripten +if [ -z "$(docker images -q ${TAG})" ]; then + pushd "${DIR}" + docker build -t "${TAG}" . + popd +fi + +# Build libvips and dependencies as static Wasm libraries via emscripten +if [ ! -d "$DIR/build/target/lib" ]; then + docker run --rm -v "$PWD/${DIR}":/src "${TAG}" -c "./build.sh --disable-bindings --disable-modules --disable-jxl --enable-libvips-cpp" +fi + +# Copy only the files we need +cp -r --no-preserve=mode,ownership ${DIR}/build/target/{include,lib,versions.json} ../npm/dev-wasm32 +rm -r ../npm/dev-wasm32/lib/cmake diff --git a/npm/dev-wasm32/THIRD-PARTY-NOTICES.md b/npm/dev-wasm32/THIRD-PARTY-NOTICES.md new file mode 100644 index 00000000..cef230d2 --- /dev/null +++ b/npm/dev-wasm32/THIRD-PARTY-NOTICES.md @@ -0,0 +1,31 @@ +# Third-party notices + +This software contains third-party libraries +used under the terms of the following licences: + +| Library | Used under the terms of | +|---------------|-----------------------------------------------------------------------------------------------------------| +| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) | +| cgif | MIT Licence | +| expat | MIT Licence | +| glib | LGPLv3 | +| highway | Apache-2.0 License, BSD 3-Clause | +| lcms | MIT Licence | +| libexif | LGPLv3 | +| libffi | MIT Licence | +| libheif | LGPLv3 | +| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) | +| mozjpeg | [zlib License, IJG License, BSD-3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) | +| libnsgif | MIT Licence | +| libspng | [BSD 2-Clause, libpng License](https://github.com/randy408/libspng/blob/master/LICENSE) | +| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) | +| libvips | LGPLv3 | +| libwebp | New BSD License | +| resvg | MPL-2.0 License | +| zlib-ng | [zlib Licence](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) | + +Use of libraries under the terms of the LGPLv3 is via the +"any later version" clause of the LGPLv2 or LGPLv2.1. + +Please report any errors or omissions via +https://github.com/lovell/sharp-libvips/issues/new diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json new file mode 100644 index 00000000..ad46dc01 --- /dev/null +++ b/npm/dev-wasm32/package.json @@ -0,0 +1,31 @@ +{ + "name": "@img/sharp-libvips-dev-wasm32", + "version": "0.0.3", + "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/dev-wasm32" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "include", + "lib", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./include": "./include/index.js", + "./lib": "./lib/index.js", + "./versions": "./versions.json" + } +} diff --git a/npm/package.json b/npm/package.json index 9f629523..c58d3873 100644 --- a/npm/package.json +++ b/npm/package.json @@ -4,6 +4,7 @@ "private": "true", "workspaces": [ "dev", + "dev-wasm32", "darwin-x64", "darwin-arm64", "linux-arm", diff --git a/npm/populate.sh b/npm/populate.sh index f53f9581..8f91a3a7 100755 --- a/npm/populate.sh +++ b/npm/populate.sh @@ -38,10 +38,10 @@ generate_index() { remove_unused() { PACKAGE="$1" - if [ "$PACKAGE" != "dev" ]; then + if [[ "$PACKAGE" != "dev"* ]]; then rm -r "npm/$PACKAGE/include" + rm "npm/$PACKAGE/THIRD-PARTY-NOTICES.md" fi - rm "npm/$PACKAGE/THIRD-PARTY-NOTICES.md" } # Download and extract per-platform binaries From 75d4a28b83837398dc8d49c4b2c05cccd01bea17 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 12 Nov 2023 09:24:25 +0000 Subject: [PATCH 203/327] Add link to emscripten MIT licence as we ship its runtime --- npm/dev-wasm32/THIRD-PARTY-NOTICES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/npm/dev-wasm32/THIRD-PARTY-NOTICES.md b/npm/dev-wasm32/THIRD-PARTY-NOTICES.md index cef230d2..b5ad47c8 100644 --- a/npm/dev-wasm32/THIRD-PARTY-NOTICES.md +++ b/npm/dev-wasm32/THIRD-PARTY-NOTICES.md @@ -7,6 +7,7 @@ used under the terms of the following licences: |---------------|-----------------------------------------------------------------------------------------------------------| | aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) | | cgif | MIT Licence | +| emscripten | [MIT Licence](https://github.com/emscripten-core/emscripten/blob/main/LICENSE) | | expat | MIT Licence | | glib | LGPLv3 | | highway | Apache-2.0 License, BSD 3-Clause | From a8513bc01ac85c04e875d533449a7fdd165ee739 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 12 Nov 2023 09:24:50 +0000 Subject: [PATCH 204/327] Bump dep: harfbuzz --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index a1a9da64..e1de7a88 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -111,7 +111,7 @@ VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.5.0 VERSION_ARCHIVE=3.7.2 VERSION_FONTCONFIG=2.14.2 -VERSION_HARFBUZZ=8.2.2 +VERSION_HARFBUZZ=8.3.0 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 From c5c8348d73dddde919e2870f77a2973c622091c4 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 12 Nov 2023 09:26:36 +0000 Subject: [PATCH 205/327] Upgrade to libvips v8.15.0 --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 12916453..f3302102 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.15.0-rc2 +8.15.0 From b44cff2425d6b3792412b6ce20a4fee8142fcad2 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sat, 11 Nov 2023 15:40:21 +0100 Subject: [PATCH 206/327] Upgrade to libvips v8.15.0 --- build/wasm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/wasm.sh b/build/wasm.sh index ce11325e..bdc54d94 100755 --- a/build/wasm.sh +++ b/build/wasm.sh @@ -12,7 +12,7 @@ if [ $# -lt 1 ]; then exit 1 fi VERSION_VIPS="$1" -VERSION_WASM_VIPS="${2:-56f151b}" # TODO: fetch latest wasm-vips commit as default +VERSION_WASM_VIPS="${2:-c5a5f0f}" # TODO: fetch latest wasm-vips commit as default DIR="wasm-vips-${VERSION_WASM_VIPS}" TAG="wasm-vips:${VERSION_WASM_VIPS}" From 314817bd11fa6772ac644200bf8cfa996a2d6524 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 12 Nov 2023 12:04:12 +0000 Subject: [PATCH 207/327] CI: ignore missing artifacts when publishing a release These won't exist for Wasm and are (slowly) going away for other platforms anyway. --- .github/workflows/build-release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 10dc914a..47c1c2fe 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -59,7 +59,6 @@ jobs: allowUpdates: true artifacts: libvips-*-${{ matrix.platform }}.tar.gz artifactContentType: application/gzip - artifactErrorsFailBuild: true omitBodyDuringUpdate: true omitNameDuringUpdate: true prerelease: true @@ -72,7 +71,6 @@ jobs: allowUpdates: true artifacts: "*.integrity" artifactContentType: text/plain - artifactErrorsFailBuild: true omitBodyDuringUpdate: true omitNameDuringUpdate: true prerelease: true From 59bb328d1d9ae30493f050c9e139ee23f9dc45e7 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 30 Nov 2023 13:45:22 +0000 Subject: [PATCH 208/327] Packaging: bump for initial stable release --- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/dev-wasm32/package.json | 2 +- npm/dev/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/package.json | 2 +- npm/win32-ia32/package.json | 2 +- npm/win32-x64/package.json | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index 73a86e9b..dc3cd718 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-arm64", - "version": "0.0.3", + "version": "1.0.0", "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index 465141af..fb3624d2 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-x64", - "version": "0.0.3", + "version": "1.0.0", "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index ad46dc01..3231e098 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "0.0.3", + "version": "1.0.0", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev/package.json b/npm/dev/package.json index 339ad8c7..28f1fda6 100644 --- a/npm/dev/package.json +++ b/npm/dev/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev", - "version": "0.0.3", + "version": "1.0.0", "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index 53816cf7..f10c90cd 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "0.0.3", + "version": "1.0.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index bd13dc0d..40a924e0 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm64", - "version": "0.0.3", + "version": "1.0.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index 5578e027..75add4df 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-s390x", - "version": "0.0.3", + "version": "1.0.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index a1d92bee..d30bfeaa 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-x64", - "version": "0.0.3", + "version": "1.0.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index ff81a18f..80b79101 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-arm64", - "version": "0.0.3", + "version": "1.0.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index aa69c019..bba47410 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-x64", - "version": "0.0.3", + "version": "1.0.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/package.json b/npm/package.json index c58d3873..1732c34a 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips", - "version": "0.0.3", + "version": "1.0.0", "private": "true", "workspaces": [ "dev", diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json index 5d576fea..66784c2e 100644 --- a/npm/win32-ia32/package.json +++ b/npm/win32-ia32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-ia32", - "version": "0.0.3", + "version": "1.0.0", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index 3c821868..2743d272 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-x64", - "version": "0.0.3", + "version": "1.0.0", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From 9835b9e1326f38ebdd8b26554aa5e936b8485865 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 30 Nov 2023 13:46:11 +0000 Subject: [PATCH 209/327] Bump deps: aom, heif, xml2, zlib-ng Freetype: download from GitHub mirror archive --- build/lin.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index e1de7a88..514e8139 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,10 +92,10 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.1.4 +VERSION_ZLIB_NG=2.1.5 VERSION_FFI=3.4.4 VERSION_GLIB=2.78.1 -VERSION_XML2=2.11.5 +VERSION_XML2=2.12.1 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.15 VERSION_MOZJPEG=4.1.5 @@ -117,8 +117,8 @@ VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 VERSION_RSVG=2.57.0 -VERSION_AOM=3.7.0 -VERSION_HEIF=1.17.3 +VERSION_AOM=3.7.1 +VERSION_HEIF=1.17.5 VERSION_CGIF=0.3.2 # Remove patch version component @@ -348,7 +348,7 @@ meson install -C _build --tag devel sed -i'.bak' "s/^\(Requires:.*\)/\1 libjpeg, libpng16/" ${TARGET}/lib/pkgconfig/gdk-pixbuf-2.0.pc mkdir ${DEPS}/freetype -$CURL https://gitlab.freedesktop.org/freetype/freetype/-/archive/VER-${VERSION_FREETYPE//./-}/freetype-VER-${VERSION_FREETYPE//./-}.tar.bz2 | tar xjC ${DEPS}/freetype --strip-components=1 +$CURL https://github.com/freetype/freetype/archive/VER-${VERSION_FREETYPE//./-}.tar.gz | tar xzC ${DEPS}/freetype --strip-components=1 cd ${DEPS}/freetype meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dzlib=enabled -Dpng=disabled -Dharfbuzz=disabled -Dbrotli=disabled -Dbzip2=disabled From 90f7d301438d6d2656592983f8128447b26e780b Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 12 Dec 2023 16:58:12 +0000 Subject: [PATCH 210/327] Bump deps: aom, glib, lcms2, xml2 --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 514e8139..e1797dec 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,10 +94,10 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.5 VERSION_FFI=3.4.4 -VERSION_GLIB=2.78.1 -VERSION_XML2=2.12.1 +VERSION_GLIB=2.78.3 +VERSION_XML2=2.12.3 VERSION_EXIF=0.6.24 -VERSION_LCMS2=2.15 +VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 VERSION_PNG16=1.6.40 VERSION_SPNG=0.7.4 @@ -117,7 +117,7 @@ VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 VERSION_RSVG=2.57.0 -VERSION_AOM=3.7.1 +VERSION_AOM=3.8.0 VERSION_HEIF=1.17.5 VERSION_CGIF=0.3.2 From de30aa6f97d592787c89728fd1c4015a32398041 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 12 Dec 2023 19:20:00 +0000 Subject: [PATCH 211/327] aom: temporarily remove musl stack patch The change introduced by this patch was partially but not completely implemented in aom 3.8.0. Hopefully Alpine might provide a new patch, so the easiest solution for now is to remove and wait for an update. --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index e1797dec..a96b89a7 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -252,7 +252,7 @@ $CURL https://storage.googleapis.com/aom-releases/libaom-${VERSION_AOM}.tar.gz | cd ${DEPS}/aom if [ "${PLATFORM%-*}" == "linuxmusl" ]; then # https://bugs.chromium.org/p/aomedia/issues/detail?id=2754 - $CURL https://git.alpinelinux.org/aports/plain/main/aom/fix-stack-size-e53da0b.patch | patch -p1 + : # $CURL https://git.alpinelinux.org/aports/plain/main/aom/fix-stack-size-e53da0b.patch | patch -p1 # TODO: requires updated patch fi mkdir aom_build cd aom_build From b1c434b27c84ba5deeccdbc10436414bf1d3ba8a Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 19 Dec 2023 19:55:45 +0100 Subject: [PATCH 212/327] Bump dep: rsvg (#211) --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index a96b89a7..9751d521 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -116,7 +116,7 @@ VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 -VERSION_RSVG=2.57.0 +VERSION_RSVG=2.57.1 VERSION_AOM=3.8.0 VERSION_HEIF=1.17.5 VERSION_CGIF=0.3.2 From f2acc7eb8b6b8dbc13560fc323fec96af2689759 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 19 Dec 2023 20:46:05 +0100 Subject: [PATCH 213/327] Upgrade to libvips v8.15.1 (#212) --- LIBVIPS_VERSION | 2 +- build/wasm.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index f3302102..5816526f 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.15.0 +8.15.1 diff --git a/build/wasm.sh b/build/wasm.sh index bdc54d94..b53875ef 100755 --- a/build/wasm.sh +++ b/build/wasm.sh @@ -12,7 +12,7 @@ if [ $# -lt 1 ]; then exit 1 fi VERSION_VIPS="$1" -VERSION_WASM_VIPS="${2:-c5a5f0f}" # TODO: fetch latest wasm-vips commit as default +VERSION_WASM_VIPS="${2:-ec19268}" # TODO: fetch latest wasm-vips commit as default DIR="wasm-vips-${VERSION_WASM_VIPS}" TAG="wasm-vips:${VERSION_WASM_VIPS}" From c31cb34f598fb5d31ad948b2d0f3c9a4107e96ba Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 20 Dec 2023 11:58:57 +0000 Subject: [PATCH 214/327] Bump dep: heif --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 9751d521..90e76958 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -118,7 +118,7 @@ VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 VERSION_RSVG=2.57.1 VERSION_AOM=3.8.0 -VERSION_HEIF=1.17.5 +VERSION_HEIF=1.17.6 VERSION_CGIF=0.3.2 # Remove patch version component From 08d57f26f58bf0fc8ea7f21592dd73c0d46916f3 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 27 Dec 2023 10:50:54 +0100 Subject: [PATCH 215/327] Bump deps: fontconfig, glib (#213) --- .github/workflows/build-release.yml | 2 +- build/lin.sh | 10 +++++----- build/wasm.sh | 2 +- platforms/linux-arm64v8/Dockerfile | 2 +- platforms/linux-armv6/Dockerfile | 1 + platforms/linux-armv7/Dockerfile | 1 + platforms/linux-s390x/Dockerfile | 1 + platforms/linux-x64/Dockerfile | 2 +- platforms/linuxmusl-arm64v8/Dockerfile | 1 + platforms/linuxmusl-x64/Dockerfile | 1 + 10 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 47c1c2fe..aced7dc3 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -43,7 +43,7 @@ jobs: - name: Install dependencies (macOS) if: runner.os == 'macOS' run: | - pip3 install meson ninja + pip3 install meson ninja packaging brew install automake nasm pkg-config - name: Build ${{ matrix.platform }} id: build-release diff --git a/build/lin.sh b/build/lin.sh index 90e76958..d9052d3b 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,7 +94,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.5 VERSION_FFI=3.4.4 -VERSION_GLIB=2.78.3 +VERSION_GLIB=2.79.0 VERSION_XML2=2.12.3 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 @@ -110,7 +110,7 @@ VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.5.0 VERSION_ARCHIVE=3.7.2 -VERSION_FONTCONFIG=2.14.2 +VERSION_FONTCONFIG=2.15.0 VERSION_HARFBUZZ=8.3.0 VERSION_PIXMAN=0.42.2 VERSION_CAIRO=1.18.0 @@ -219,10 +219,10 @@ make install-strip mkdir ${DEPS}/glib $CURL https://download.gnome.org/sources/glib/$(without_patch $VERSION_GLIB)/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1 cd ${DEPS}/glib -$CURL https://gist.githubusercontent.com/lovell/8d0de84a57dd10220cdeb8f64d7dd9ce/raw/1c0a5b5e1d5731bc1557df789e6d85b97f6a69dc/glib-without-gregex.patch | patch -p1 +$CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/36e32c79e7962c5ea96cbb3f9c629e9145253e30/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - --force-fallback-for=gvdb -Dnls=disabled -Dtests=false -Dinstalled_tests=false -Dlibmount=disabled -Dlibelf=disabled \ - -Dglib_assert=false -Dglib_checks=false ${DARWIN:+-Dbsymbolic_functions=false} + --force-fallback-for=gvdb -Dintrospection=disabled -Dnls=disabled -Dlibmount=disabled -Dlibelf=disabled \ + -Dtests=false -Dglib_assert=false -Dglib_checks=false ${DARWIN:+-Dbsymbolic_functions=false} # bin-devel is needed for glib-compile-resources, as required by gdk-pixbuf meson install -C _build --tag bin-devel,devel diff --git a/build/wasm.sh b/build/wasm.sh index b53875ef..5cb4f201 100755 --- a/build/wasm.sh +++ b/build/wasm.sh @@ -12,7 +12,7 @@ if [ $# -lt 1 ]; then exit 1 fi VERSION_VIPS="$1" -VERSION_WASM_VIPS="${2:-ec19268}" # TODO: fetch latest wasm-vips commit as default +VERSION_WASM_VIPS="${2:-HEAD}" DIR="wasm-vips-${VERSION_WASM_VIPS}" TAG="wasm-vips:${VERSION_WASM_VIPS}" diff --git a/platforms/linux-arm64v8/Dockerfile b/platforms/linux-arm64v8/Dockerfile index d77e603a..5d845107 100644 --- a/platforms/linux-arm64v8/Dockerfile +++ b/platforms/linux-arm64v8/Dockerfile @@ -49,7 +49,7 @@ RUN \ --default-host aarch64-unknown-linux-gnu \ && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ - pip3 install meson ninja + pip3 install meson ninja packaging # Compiler settings ENV \ diff --git a/platforms/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile index df4c708b..a28d057d 100644 --- a/platforms/linux-armv6/Dockerfile +++ b/platforms/linux-armv6/Dockerfile @@ -26,6 +26,7 @@ RUN \ libtool \ ninja-build \ pkg-config \ + python3-packaging \ python3-pip \ && \ mkdir /root/tools && \ diff --git a/platforms/linux-armv7/Dockerfile b/platforms/linux-armv7/Dockerfile index e18ed492..f5c3b1e0 100644 --- a/platforms/linux-armv7/Dockerfile +++ b/platforms/linux-armv7/Dockerfile @@ -27,6 +27,7 @@ RUN \ libtool \ ninja-build \ pkg-config \ + python3-packaging \ python3-pip \ && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ diff --git a/platforms/linux-s390x/Dockerfile b/platforms/linux-s390x/Dockerfile index 93b40156..57dde0d2 100644 --- a/platforms/linux-s390x/Dockerfile +++ b/platforms/linux-s390x/Dockerfile @@ -27,6 +27,7 @@ RUN \ libtool \ ninja-build \ pkg-config \ + python3-packaging \ python3-pip \ && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ diff --git a/platforms/linux-x64/Dockerfile b/platforms/linux-x64/Dockerfile index 4c2156b9..141328c1 100644 --- a/platforms/linux-x64/Dockerfile +++ b/platforms/linux-x64/Dockerfile @@ -48,7 +48,7 @@ RUN \ --profile minimal \ && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ - pip3 install meson ninja + pip3 install meson ninja packaging # Compiler settings ENV \ diff --git a/platforms/linuxmusl-arm64v8/Dockerfile b/platforms/linuxmusl-arm64v8/Dockerfile index e06ee32a..0b6721c2 100644 --- a/platforms/linuxmusl-arm64v8/Dockerfile +++ b/platforms/linuxmusl-arm64v8/Dockerfile @@ -28,6 +28,7 @@ RUN \ linux-headers \ ninja \ pkgconf \ + py3-packaging \ py3-pip \ python3 \ && \ diff --git a/platforms/linuxmusl-x64/Dockerfile b/platforms/linuxmusl-x64/Dockerfile index fb016f8d..b8dfd6df 100644 --- a/platforms/linuxmusl-x64/Dockerfile +++ b/platforms/linuxmusl-x64/Dockerfile @@ -29,6 +29,7 @@ RUN \ nasm \ ninja \ pkgconf \ + py3-packaging \ py3-pip \ python3 \ && \ From 57713b80c8ee51f19e258b100e5197551315cd18 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 27 Dec 2023 11:33:10 +0100 Subject: [PATCH 216/327] Meson: replace deprecated "pkgconfig" entry in machine files (#214) --- platforms/linux-arm64v8/meson.ini | 2 +- platforms/linux-armv6/meson.ini | 2 +- platforms/linux-armv7/meson.ini | 2 +- platforms/linux-s390x/meson.ini | 2 +- platforms/linux-x64/meson.ini | 2 +- platforms/linuxmusl-arm64v8/meson.ini | 2 +- platforms/linuxmusl-x64/meson.ini | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/platforms/linux-arm64v8/meson.ini b/platforms/linux-arm64v8/meson.ini index 93999c2f..981d25d0 100644 --- a/platforms/linux-arm64v8/meson.ini +++ b/platforms/linux-arm64v8/meson.ini @@ -1,6 +1,6 @@ [binaries] strip = 'strip' -pkgconfig = ['pkg-config', '--static'] +pkg-config = ['pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/platforms/linux-armv6/meson.ini b/platforms/linux-armv6/meson.ini index e442b0f0..d8583a7b 100644 --- a/platforms/linux-armv6/meson.ini +++ b/platforms/linux-armv6/meson.ini @@ -12,7 +12,7 @@ nm = 'arm-rpi-linux-gnueabihf-gcc-nm' ld = 'arm-rpi-linux-gnueabihf-gcc-ld' strip = 'arm-rpi-linux-gnueabihf-strip' ranlib = 'arm-rpi-linux-gnueabihf-gcc-ranlib' -pkgconfig = ['arm-linux-gnueabihf-pkg-config', '--static'] +pkg-config = ['arm-linux-gnueabihf-pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/platforms/linux-armv7/meson.ini b/platforms/linux-armv7/meson.ini index 7bc926ca..ab9c086a 100644 --- a/platforms/linux-armv7/meson.ini +++ b/platforms/linux-armv7/meson.ini @@ -12,7 +12,7 @@ nm = 'arm-linux-gnueabihf-gcc-nm' ld = 'arm-linux-gnueabihf-gcc-ld' strip = 'arm-linux-gnueabihf-strip' ranlib = 'arm-linux-gnueabihf-gcc-ranlib' -pkgconfig = ['arm-linux-gnueabihf-pkg-config', '--static'] +pkg-config = ['arm-linux-gnueabihf-pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/platforms/linux-s390x/meson.ini b/platforms/linux-s390x/meson.ini index d492c099..80ee833c 100644 --- a/platforms/linux-s390x/meson.ini +++ b/platforms/linux-s390x/meson.ini @@ -12,7 +12,7 @@ nm = 's390x-linux-gnu-gcc-nm' ld = 's390x-linux-gnu-gcc-ld' strip = 's390x-linux-gnu-strip' ranlib = 's390x-linux-gnu-gcc-ranlib' -pkgconfig = ['s390x-linux-gnu-pkg-config', '--static'] +pkg-config = ['s390x-linux-gnu-pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/platforms/linux-x64/meson.ini b/platforms/linux-x64/meson.ini index 93999c2f..981d25d0 100644 --- a/platforms/linux-x64/meson.ini +++ b/platforms/linux-x64/meson.ini @@ -1,6 +1,6 @@ [binaries] strip = 'strip' -pkgconfig = ['pkg-config', '--static'] +pkg-config = ['pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/platforms/linuxmusl-arm64v8/meson.ini b/platforms/linuxmusl-arm64v8/meson.ini index 67b75923..c8418115 100644 --- a/platforms/linuxmusl-arm64v8/meson.ini +++ b/platforms/linuxmusl-arm64v8/meson.ini @@ -12,7 +12,7 @@ nm = 'aarch64-linux-musl-nm' ld = 'aarch64-linux-musl-ld' strip = 'aarch64-linux-musl-strip' ranlib = 'aarch64-linux-musl-ranlib' -pkgconfig = ['aarch64-linux-musl-pkg-config', '--static'] +pkg-config = ['aarch64-linux-musl-pkg-config', '--static'] # Ensure we disable the inotify backend in GIO # See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2991#note_1592863 diff --git a/platforms/linuxmusl-x64/meson.ini b/platforms/linuxmusl-x64/meson.ini index cc4b5425..12d1fec7 100644 --- a/platforms/linuxmusl-x64/meson.ini +++ b/platforms/linuxmusl-x64/meson.ini @@ -1,6 +1,6 @@ [binaries] strip = 'strip' -pkgconfig = ['pkg-config', '--static'] +pkg-config = ['pkg-config', '--static'] # Ensure we disable the inotify backend in GIO # See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2991#note_1592863 From edd1fc41040c7e931a5a63ede4eb0e78634f7de5 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 11 Jan 2024 13:24:44 +0000 Subject: [PATCH 217/327] Bump deps: pixman, zlib-ng --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index d9052d3b..9f989f57 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,7 +92,7 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.1.5 +VERSION_ZLIB_NG=2.1.6 VERSION_FFI=3.4.4 VERSION_GLIB=2.79.0 VERSION_XML2=2.12.3 @@ -112,7 +112,7 @@ VERSION_EXPAT=2.5.0 VERSION_ARCHIVE=3.7.2 VERSION_FONTCONFIG=2.15.0 VERSION_HARFBUZZ=8.3.0 -VERSION_PIXMAN=0.42.2 +VERSION_PIXMAN=0.43.0 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 From cf2b7f30b03d1578828297f0db2c1ae1b1ae8118 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 11 Jan 2024 13:43:18 +0000 Subject: [PATCH 218/327] aom: new musl-only patch to set min thread stack size The aom dependency implemented a minimum stack size for debugging purposes in v3.8.0. This patch enables it for production use, reducing the minimum from 1MB to 256 KB. The previous patch was temporarily removed in de30aa6. --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 9f989f57..9d953909 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -252,7 +252,7 @@ $CURL https://storage.googleapis.com/aom-releases/libaom-${VERSION_AOM}.tar.gz | cd ${DEPS}/aom if [ "${PLATFORM%-*}" == "linuxmusl" ]; then # https://bugs.chromium.org/p/aomedia/issues/detail?id=2754 - : # $CURL https://git.alpinelinux.org/aports/plain/main/aom/fix-stack-size-e53da0b.patch | patch -p1 # TODO: requires updated patch + $CURL https://gist.github.com/lovell/3e70b51079af2c9b78e5a0e6f6ad0e59/raw/92864bf57345f57cf32307dd3b399a6bd430b78e/aom-ensure-thread-stack-size-is-at-least-256-KB.patch | patch -p1 fi mkdir aom_build cd aom_build From e5871a2b6b767dbf7f46467d9db454087bb5e9a7 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 11 Jan 2024 15:18:31 +0000 Subject: [PATCH 219/327] Release v1.0.1 (libvips v8.15.1) --- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/dev-wasm32/package.json | 2 +- npm/dev/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/package.json | 2 +- npm/win32-ia32/package.json | 2 +- npm/win32-x64/package.json | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index dc3cd718..f64dae8d 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-arm64", - "version": "1.0.0", + "version": "1.0.1", "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index fb3624d2..a26fd817 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-x64", - "version": "1.0.0", + "version": "1.0.1", "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index 3231e098..be68c190 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "1.0.0", + "version": "1.0.1", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev/package.json b/npm/dev/package.json index 28f1fda6..a493295d 100644 --- a/npm/dev/package.json +++ b/npm/dev/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev", - "version": "1.0.0", + "version": "1.0.1", "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index f10c90cd..6bb39c5d 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.0.0", + "version": "1.0.1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index 40a924e0..06ad6ff7 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm64", - "version": "1.0.0", + "version": "1.0.1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index 75add4df..cbb8ec1c 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-s390x", - "version": "1.0.0", + "version": "1.0.1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index d30bfeaa..0d317c81 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-x64", - "version": "1.0.0", + "version": "1.0.1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index 80b79101..4c743b10 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-arm64", - "version": "1.0.0", + "version": "1.0.1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index bba47410..62a5cead 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-x64", - "version": "1.0.0", + "version": "1.0.1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/package.json b/npm/package.json index 1732c34a..68e97dc8 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips", - "version": "1.0.0", + "version": "1.0.1", "private": "true", "workspaces": [ "dev", diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json index 66784c2e..835b70c4 100644 --- a/npm/win32-ia32/package.json +++ b/npm/win32-ia32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-ia32", - "version": "1.0.0", + "version": "1.0.1", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index 2743d272..6a75b113 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-x64", - "version": "1.0.0", + "version": "1.0.1", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From 0fd2f6c7939b30f4f5420239640d0c701c00cf00 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 21 Jan 2024 10:54:14 +0000 Subject: [PATCH 220/327] Bump deps: aom, xml2 --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 9d953909..7378d378 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -95,7 +95,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" VERSION_ZLIB_NG=2.1.6 VERSION_FFI=3.4.4 VERSION_GLIB=2.79.0 -VERSION_XML2=2.12.3 +VERSION_XML2=2.12.4 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 @@ -117,7 +117,7 @@ VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.51.0 VERSION_RSVG=2.57.1 -VERSION_AOM=3.8.0 +VERSION_AOM=3.8.1 VERSION_HEIF=1.17.6 VERSION_CGIF=0.3.2 From eb6fedeea4dacbc214cf978a5ba75657295ac274 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 11 Feb 2024 18:47:27 +0100 Subject: [PATCH 221/327] Bump deps: expat, glib, pango, pixman, png, rsvg, xml2 (#217) --- build/lin.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 7378d378..9b75dee7 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,12 +94,12 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.6 VERSION_FFI=3.4.4 -VERSION_GLIB=2.79.0 -VERSION_XML2=2.12.4 +VERSION_GLIB=2.79.1 +VERSION_XML2=2.12.5 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 -VERSION_PNG16=1.6.40 +VERSION_PNG16=1.6.42 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.3.2 @@ -108,15 +108,15 @@ VERSION_HWY=1.0.7 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.2 -VERSION_EXPAT=2.5.0 +VERSION_EXPAT=2.6.0 VERSION_ARCHIVE=3.7.2 VERSION_FONTCONFIG=2.15.0 VERSION_HARFBUZZ=8.3.0 -VERSION_PIXMAN=0.43.0 +VERSION_PIXMAN=0.43.2 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 -VERSION_PANGO=1.51.0 -VERSION_RSVG=2.57.1 +VERSION_PANGO=1.51.2 +VERSION_RSVG=2.57.91 VERSION_AOM=3.8.1 VERSION_HEIF=1.17.6 VERSION_CGIF=0.3.2 @@ -174,7 +174,7 @@ version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" -#version_latest "pango" "$VERSION_PANGO" "11783" https://gitlab.gnome.org/GNOME/pango/-/issues/760 +version_latest "pango" "$VERSION_PANGO" "11783" version_latest "rsvg" "$VERSION_RSVG" "5420" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "strukturag/libheif" From 7a0ef14781fa1992df0a519f757acc2e52a3126e Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 11 Feb 2024 20:40:45 +0100 Subject: [PATCH 222/327] Build FreeType against HarfBuzz (#218) Resolves: #113. --- build/lin.sh | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 9b75dee7..e07d7fea 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -345,14 +345,18 @@ meson setup _build --default-library=static --buildtype=release --strip --prefix -Dtiff=disabled -Dintrospection=disabled -Dtests=false -Dinstalled_tests=false -Dgio_sniffing=false -Dman=false -Dbuiltin_loaders=png,jpeg meson install -C _build --tag devel # Include libjpeg and libpng as a dependency of gdk-pixbuf, see: https://gitlab.gnome.org/GNOME/gdk-pixbuf/merge_requests/50 -sed -i'.bak' "s/^\(Requires:.*\)/\1 libjpeg, libpng16/" ${TARGET}/lib/pkgconfig/gdk-pixbuf-2.0.pc - -mkdir ${DEPS}/freetype -$CURL https://github.com/freetype/freetype/archive/VER-${VERSION_FREETYPE//./-}.tar.gz | tar xzC ${DEPS}/freetype --strip-components=1 -cd ${DEPS}/freetype -meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dzlib=enabled -Dpng=disabled -Dharfbuzz=disabled -Dbrotli=disabled -Dbzip2=disabled -meson install -C _build --tag devel +sed -i'.bak' "/^Requires:/s/$/ libjpeg, libpng16/" ${TARGET}/lib/pkgconfig/gdk-pixbuf-2.0.pc + +build_freetype() { + rm -rf ${DEPS}/freetype + mkdir ${DEPS}/freetype + $CURL https://github.com/freetype/freetype/archive/VER-${VERSION_FREETYPE//./-}.tar.gz | tar xzC ${DEPS}/freetype --strip-components=1 + cd ${DEPS}/freetype + meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ + -Dzlib=enabled -Dpng=disabled -Dbrotli=disabled -Dbzip2=disabled "$@" + meson install -C _build --tag devel +} +build_freetype -Dharfbuzz=disabled mkdir ${DEPS}/expat $CURL https://github.com/libexpat/libexpat/releases/download/R_${VERSION_EXPAT//./_}/expat-${VERSION_EXPAT}.tar.xz | tar xJC ${DEPS}/expat --strip-components=1 @@ -388,6 +392,15 @@ meson setup _build --default-library=static --buildtype=release --strip --prefix -Dgobject=disabled -Dicu=disabled -Dtests=disabled -Dintrospection=disabled -Ddocs=disabled -Dbenchmark=disabled ${DARWIN:+-Dcoretext=enabled} meson install -C _build --tag devel +# pkg-config provided by Amazon Linux 2 doesn't support circular `Requires` dependencies. +# https://bugs.freedesktop.org/show_bug.cgi?id=7331 +# https://gitlab.freedesktop.org/pkg-config/pkg-config/-/commit/6d6dd43e75e2bc82cfe6544f8631b1bef6e1cf45 +# TODO(kleisauke): Remove when Amazon Linux 2 reaches EOL. +sed -i'.bak' "/^Requires:/s/ freetype2,//" ${TARGET}/lib/pkgconfig/harfbuzz.pc +sed -i'.bak' "/^Libs:/s/$/ -lfreetype/" ${TARGET}/lib/pkgconfig/harfbuzz.pc + +build_freetype -Dharfbuzz=enabled + mkdir ${DEPS}/pixman $CURL https://cairographics.org/releases/pixman-${VERSION_PIXMAN}.tar.gz | tar xzC ${DEPS}/pixman --strip-components=1 cd ${DEPS}/pixman From bb88053feac82486cceb0055e5cb294a1443ca44 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 19 Feb 2024 10:29:23 +0100 Subject: [PATCH 223/327] Bump deps: ffi, glib, highway (#219) --- build/lin.sh | 8 ++++---- platforms/linux-s390x/Dockerfile | 9 ++++++++- platforms/linux-s390x/Toolchain.cmake | 2 ++ platforms/linux-s390x/meson.ini | 1 + 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index e07d7fea..ca8c8255 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -93,8 +93,8 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.6 -VERSION_FFI=3.4.4 -VERSION_GLIB=2.79.1 +VERSION_FFI=3.4.5 +VERSION_GLIB=2.79.2 VERSION_XML2=2.12.5 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 @@ -104,7 +104,7 @@ VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.3.2 VERSION_TIFF=4.6.0 -VERSION_HWY=1.0.7 +VERSION_HWY=1.1.0 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.2 @@ -437,7 +437,7 @@ mkdir ${DEPS}/rsvg $CURL https://download.gnome.org/sources/librsvg/$(without_patch $VERSION_RSVG)/librsvg-${VERSION_RSVG}.tar.xz | tar xJC ${DEPS}/rsvg --strip-components=1 cd ${DEPS}/rsvg # Add missing pkg-config deps -sed -i'.bak' "s/^\(Requires:.*\)/\1 cairo-gobject pangocairo libxml-2.0/" librsvg.pc.in +sed -i'.bak' "/^Requires:/s/$/ cairo-gobject pangocairo libxml-2.0/" librsvg.pc.in # LTO optimization does not work for staticlib+rlib compilation sed -i'.bak' "/crate-type = /s/, \"rlib\"//" librsvg-c/Cargo.toml # We build Cairo with `-Dzlib=disabled`, which implicitly disables the PDF/PostScript surface backends diff --git a/platforms/linux-s390x/Dockerfile b/platforms/linux-s390x/Dockerfile index 57dde0d2..8720d832 100644 --- a/platforms/linux-s390x/Dockerfile +++ b/platforms/linux-s390x/Dockerfile @@ -37,6 +37,10 @@ RUN \ rustup target add s390x-unknown-linux-gnu && \ pip3 install meson +# Handy for debugging the compiled targets in Highway (hwy_list_targets) +#RUN apt-get install -y qemu-user-static +#ENV QEMU_LD_PREFIX="/usr/s390x-linux-gnu" + # Compiler settings ENV \ PKG_CONFIG="s390x-linux-gnu-pkg-config --static" \ @@ -44,7 +48,10 @@ ENV \ CHOST="s390x-linux-gnu" \ RUST_TARGET="s390x-unknown-linux-gnu" \ FLAGS="" \ - # https://github.com/google/highway/issues/1153 + # Highway supports IBMZ starting from IBM/Z14, which needs GCC 11 or + # higher (i.e. Debian 12, glibc 2.36). Therefore, it should be disabled + # for the time being. + #FLAGS="-march=z14 -mzvector" \ WITHOUT_HIGHWAY="true" \ MESON="--cross-file=/root/meson.ini" diff --git a/platforms/linux-s390x/Toolchain.cmake b/platforms/linux-s390x/Toolchain.cmake index fb400635..7520ceb6 100644 --- a/platforms/linux-s390x/Toolchain.cmake +++ b/platforms/linux-s390x/Toolchain.cmake @@ -8,6 +8,8 @@ SET(CMAKE_AR s390x-linux-gnu-gcc-ar) SET(CMAKE_STRIP s390x-linux-gnu-gcc-strip) SET(CMAKE_RANLIB s390x-linux-gnu-gcc-ranlib) +#SET(CMAKE_CROSSCOMPILING_EMULATOR qemu-s390x-static) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/platforms/linux-s390x/meson.ini b/platforms/linux-s390x/meson.ini index 80ee833c..b02a748b 100644 --- a/platforms/linux-s390x/meson.ini +++ b/platforms/linux-s390x/meson.ini @@ -13,6 +13,7 @@ ld = 's390x-linux-gnu-gcc-ld' strip = 's390x-linux-gnu-strip' ranlib = 's390x-linux-gnu-gcc-ranlib' pkg-config = ['s390x-linux-gnu-pkg-config', '--static'] +#exe_wrapper = 'qemu-s390x-static' [built-in options] libdir = 'lib' From 01f409040ffec4b97d5e9f5508edc904121dc124 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 23 Feb 2024 11:50:09 +0100 Subject: [PATCH 224/327] Bump dep: ffi (#220) --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index ca8c8255..4b12a2f6 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -93,7 +93,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.6 -VERSION_FFI=3.4.5 +VERSION_FFI=3.4.6 VERSION_GLIB=2.79.2 VERSION_XML2=2.12.5 VERSION_EXIF=0.6.24 From 41cd61b11ebf6bb6ed45702cd447be6b37811612 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 23 Feb 2024 11:17:19 +0100 Subject: [PATCH 225/327] CI: upgrade ARM64 runner to Ubuntu 22.04 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7f7aa613..d9448b25 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,7 +14,7 @@ jobs: linux-arm64v8: resource_class: arm.medium machine: - image: ubuntu-2004:202101-01 + image: ubuntu-2204:current steps: - checkout - github-cli/setup From 2436bd92021300a20a0c3ec8238299f94a095d5c Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 23 Feb 2024 11:46:35 +0100 Subject: [PATCH 226/327] CI: upgrade circleci/github-cli orb to 2.0 --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d9448b25..bb4ee54d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,6 +1,6 @@ version: 2.1 orbs: - github-cli: circleci/github-cli@1.0 + github-cli: circleci/github-cli@2.0 workflows: build: @@ -23,4 +23,4 @@ jobs: - when: condition: <> steps: - - run: gh release upload --repo lovell/sharp-libvips $CIRCLE_TAG *.tar.gz *.integrity + - run: gh release upload --repo "$(git config --get remote.origin.url)" $CIRCLE_TAG *.tar.gz *.integrity From 4720684c736dc204987cebd1e5abbecaddae2632 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 23 Feb 2024 11:26:33 +0000 Subject: [PATCH 227/327] CI: Upgrade to actions/checkout v4 --- .github/workflows/build-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index aced7dc3..66ad55d9 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -39,7 +39,7 @@ jobs: platform: 'darwin-arm64v8' steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install dependencies (macOS) if: runner.os == 'macOS' run: | From 96e00ee648253621cea103820631f79c09d8cdea Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 14 Mar 2024 12:23:15 +0100 Subject: [PATCH 228/327] Bump deps: aom, expat, glib, pango, pixman, png, rsvg (#224) --- build/lin.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 4b12a2f6..b444b5b9 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,12 +94,12 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.6 VERSION_FFI=3.4.6 -VERSION_GLIB=2.79.2 +VERSION_GLIB=2.80.0 VERSION_XML2=2.12.5 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 -VERSION_PNG16=1.6.42 +VERSION_PNG16=1.6.43 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.3.2 @@ -108,16 +108,16 @@ VERSION_HWY=1.1.0 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.2 -VERSION_EXPAT=2.6.0 +VERSION_EXPAT=2.6.2 VERSION_ARCHIVE=3.7.2 VERSION_FONTCONFIG=2.15.0 VERSION_HARFBUZZ=8.3.0 -VERSION_PIXMAN=0.43.2 +VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 -VERSION_PANGO=1.51.2 -VERSION_RSVG=2.57.91 -VERSION_AOM=3.8.1 +VERSION_PANGO=1.52.1 +VERSION_RSVG=2.57.92 +VERSION_AOM=3.8.2 VERSION_HEIF=1.17.6 VERSION_CGIF=0.3.2 From fd01c52acdb14974d9d86fc34132449727006fd5 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Fri, 15 Mar 2024 11:20:31 +0100 Subject: [PATCH 229/327] Upgrade to libvips v8.15.2 (#225) --- LIBVIPS_VERSION | 2 +- build/lin.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 5816526f..e7ab33dc 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.15.1 +8.15.2 diff --git a/build/lin.sh b/build/lin.sh index b444b5b9..3cbedd30 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -457,7 +457,7 @@ CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=r meson install -C _build --tag devel mkdir ${DEPS}/vips -$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-$(without_prerelease $VERSION_VIPS).tar.xz | tar xJC ${DEPS}/vips --strip-components=1 +$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}a/vips-$(without_prerelease $VERSION_VIPS).tar.xz | tar xJC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips # Link libvips.so.42 statically into libvips-cpp.so.42 sed -i'.bak' "s/library('vips'/static_&/" libvips/meson.build @@ -475,7 +475,7 @@ fi # Disable building man pages, gettext po files, tools, and (fuzz-)tests sed -i'.bak' "/subdir('man')/{N;N;N;N;d;}" meson.build CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" meson setup _build --default-library=shared --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Ddeprecated=false -Dintrospection=disabled -Dmodules=disabled -Dcfitsio=disabled -Dfftw=disabled -Djpeg-xl=disabled \ + -Ddeprecated=false -Dexamples=false -Dintrospection=disabled -Dmodules=disabled -Dcfitsio=disabled -Dfftw=disabled -Djpeg-xl=disabled \ ${WITHOUT_HIGHWAY:+-Dhighway=disabled} -Dorc=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 \ From d7a5f55c23ae824ae3672f5fc65d3af334088de8 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 17 Mar 2024 09:59:09 +0000 Subject: [PATCH 230/327] Bump dep: xml2 --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 3cbedd30..e3b57471 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -95,7 +95,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" VERSION_ZLIB_NG=2.1.6 VERSION_FFI=3.4.6 VERSION_GLIB=2.80.0 -VERSION_XML2=2.12.5 +VERSION_XML2=2.12.6 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 From c597a776921508edacccd2396e50cfdaff4dd411 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 17 Mar 2024 10:15:50 +0000 Subject: [PATCH 231/327] vips: remove release label suffix --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index e3b57471..6d973908 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -457,7 +457,7 @@ CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=r meson install -C _build --tag devel mkdir ${DEPS}/vips -$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}a/vips-$(without_prerelease $VERSION_VIPS).tar.xz | tar xJC ${DEPS}/vips --strip-components=1 +$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-$(without_prerelease $VERSION_VIPS).tar.xz | tar xJC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips # Link libvips.so.42 statically into libvips-cpp.so.42 sed -i'.bak' "s/library('vips'/static_&/" libvips/meson.build From e5cb0768603818dd5ac45da7f0fe87f7dc25e01f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 17 Mar 2024 19:46:11 +0000 Subject: [PATCH 232/327] rsvg: pin to version 2.57.2 --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 6d973908..998e8e89 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -116,7 +116,7 @@ VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 VERSION_PANGO=1.52.1 -VERSION_RSVG=2.57.92 +VERSION_RSVG=2.57.2 VERSION_AOM=3.8.2 VERSION_HEIF=1.17.6 VERSION_CGIF=0.3.2 @@ -175,7 +175,7 @@ version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" version_latest "pango" "$VERSION_PANGO" "11783" -version_latest "rsvg" "$VERSION_RSVG" "5420" +#version_latest "rsvg" "$VERSION_RSVG" "5420" # https://github.com/lovell/sharp-libvips/issues/226 version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "strukturag/libheif" version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" From 5f044c34f4ac3c9e85f251aa31e41f4c37b38839 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 17 Mar 2024 21:01:49 +0000 Subject: [PATCH 233/327] Release v1.0.2 (libvips v8.15.2) --- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/dev-wasm32/package.json | 2 +- npm/dev/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/package.json | 2 +- npm/win32-ia32/package.json | 2 +- npm/win32-x64/package.json | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index f64dae8d..cae6a826 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-arm64", - "version": "1.0.1", + "version": "1.0.2", "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index a26fd817..d72fe07a 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-x64", - "version": "1.0.1", + "version": "1.0.2", "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index be68c190..48f106ee 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "1.0.1", + "version": "1.0.2", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev/package.json b/npm/dev/package.json index a493295d..1551339c 100644 --- a/npm/dev/package.json +++ b/npm/dev/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev", - "version": "1.0.1", + "version": "1.0.2", "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index 6bb39c5d..b2ba2a5a 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.0.1", + "version": "1.0.2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index 06ad6ff7..4c5a982a 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm64", - "version": "1.0.1", + "version": "1.0.2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index cbb8ec1c..5d8d71f7 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-s390x", - "version": "1.0.1", + "version": "1.0.2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index 0d317c81..ff499eef 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-x64", - "version": "1.0.1", + "version": "1.0.2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index 4c743b10..df6cea90 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-arm64", - "version": "1.0.1", + "version": "1.0.2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index 62a5cead..274672a3 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-x64", - "version": "1.0.1", + "version": "1.0.2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/package.json b/npm/package.json index 68e97dc8..787d8538 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips", - "version": "1.0.1", + "version": "1.0.2", "private": "true", "workspaces": [ "dev", diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json index 835b70c4..6dc321c8 100644 --- a/npm/win32-ia32/package.json +++ b/npm/win32-ia32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-ia32", - "version": "1.0.1", + "version": "1.0.2", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index 6a75b113..93cafc94 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-x64", - "version": "1.0.1", + "version": "1.0.2", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From 7d5110cc05b03c2c62517f2b3a8ff04565361568 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 18 Mar 2024 15:39:30 +0000 Subject: [PATCH 234/327] Re-build of dev-wasm32 as 1.0.3 Update build script to ensure the WASM Docker image is rebuilt every time (relies on Docker's cache) and therefore the version of emscripten is up-to-date. (Version 1.0.2 of dev-wasm32 package used an old emscripten.) --- build/wasm.sh | 10 +++++----- npm/dev-wasm32/package.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build/wasm.sh b/build/wasm.sh index 5cb4f201..5eb70d89 100755 --- a/build/wasm.sh +++ b/build/wasm.sh @@ -34,15 +34,15 @@ if [ "$VERSION_VIPS" != "$VERSION_VIPS_UPSTREAM" ]; then fi # Create container with emscripten -if [ -z "$(docker images -q ${TAG})" ]; then - pushd "${DIR}" - docker build -t "${TAG}" . - popd -fi +pushd "${DIR}" +docker build -t "${TAG}" . +popd # Build libvips and dependencies as static Wasm libraries via emscripten if [ ! -d "$DIR/build/target/lib" ]; then docker run --rm -v "$PWD/${DIR}":/src "${TAG}" -c "./build.sh --disable-bindings --disable-modules --disable-jxl --enable-libvips-cpp" +else + echo "Skipping build: found existing files in $DIR/build/target" fi # Copy only the files we need diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index 48f106ee..40cb7cfb 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "1.0.2", + "version": "1.0.3", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From 8c27a005c6ec56cf4a13b12aeff6c35adae57b1d Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 18 Mar 2024 16:03:50 +0000 Subject: [PATCH 235/327] Bump dep: harfbuzz --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 998e8e89..b8a5d1b7 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -111,7 +111,7 @@ VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.6.2 VERSION_ARCHIVE=3.7.2 VERSION_FONTCONFIG=2.15.0 -VERSION_HARFBUZZ=8.3.0 +VERSION_HARFBUZZ=8.3.1 VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 From aaff2e7b37c3570127e09219aa1c92a29cae3c3a Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 24 Mar 2024 16:14:26 +0100 Subject: [PATCH 236/327] Build FreeType with libpng support (#228) Allows use of OpenType fonts with CBDT raster glyphs --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index b8a5d1b7..2f9fb8e9 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -353,7 +353,7 @@ build_freetype() { $CURL https://github.com/freetype/freetype/archive/VER-${VERSION_FREETYPE//./-}.tar.gz | tar xzC ${DEPS}/freetype --strip-components=1 cd ${DEPS}/freetype meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dzlib=enabled -Dpng=disabled -Dbrotli=disabled -Dbzip2=disabled "$@" + -Dzlib=enabled -Dpng=enabled -Dbrotli=disabled -Dbzip2=disabled "$@" meson install -C _build --tag devel } build_freetype -Dharfbuzz=disabled From 6e8348267b4ec7581dabe2b048329898308d26ea Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 24 Mar 2024 17:37:26 +0100 Subject: [PATCH 237/327] Meson: specify default system directories in machine files (#227) --- build/lin.sh | 3 +-- platforms/darwin-arm64v8/meson.ini | 4 ++++ platforms/darwin-x64/meson.ini | 4 ++++ platforms/linux-arm64v8/meson.ini | 4 ++++ platforms/linux-armv6/meson.ini | 4 ++++ platforms/linux-armv7/meson.ini | 4 ++++ platforms/linux-s390x/meson.ini | 4 ++++ platforms/linux-x64/meson.ini | 4 ++++ platforms/linuxmusl-arm64v8/meson.ini | 4 ++++ platforms/linuxmusl-x64/meson.ini | 4 ++++ 10 files changed, 37 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 2f9fb8e9..18058362 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -379,8 +379,7 @@ mkdir ${DEPS}/fontconfig $CURL https://www.freedesktop.org/software/fontconfig/release/fontconfig-${VERSION_FONTCONFIG}.tar.xz | tar xJC ${DEPS}/fontconfig --strip-components=1 cd ${DEPS}/fontconfig meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dcache-build=disabled -Ddoc=disabled -Dnls=disabled -Dtests=disabled -Dtools=disabled \ - ${LINUX:+--sysconfdir=/etc} ${DARWIN:+--sysconfdir=/usr/local/etc} + -Dcache-build=disabled -Ddoc=disabled -Dnls=disabled -Dtests=disabled -Dtools=disabled meson install -C _build --tag devel mkdir ${DEPS}/harfbuzz diff --git a/platforms/darwin-arm64v8/meson.ini b/platforms/darwin-arm64v8/meson.ini index de108582..d58ed9ee 100644 --- a/platforms/darwin-arm64v8/meson.ini +++ b/platforms/darwin-arm64v8/meson.ini @@ -12,4 +12,8 @@ objcpp = 'clang++' strip = ['strip', '-x'] [built-in options] +datadir = '/usr/local/share' +localedir = '/usr/local/share/locale' +sysconfdir = '/usr/local/etc' +localstatedir = '/usr/local/var' wrap_mode = 'nofallback' diff --git a/platforms/darwin-x64/meson.ini b/platforms/darwin-x64/meson.ini index e7e7f1cb..527b0705 100644 --- a/platforms/darwin-x64/meson.ini +++ b/platforms/darwin-x64/meson.ini @@ -2,4 +2,8 @@ strip = ['strip', '-x'] [built-in options] +datadir = '/usr/local/share' +localedir = '/usr/local/share/locale' +sysconfdir = '/usr/local/etc' +localstatedir = '/usr/local/var' wrap_mode = 'nofallback' diff --git a/platforms/linux-arm64v8/meson.ini b/platforms/linux-arm64v8/meson.ini index 981d25d0..2548a4c1 100644 --- a/platforms/linux-arm64v8/meson.ini +++ b/platforms/linux-arm64v8/meson.ini @@ -4,4 +4,8 @@ pkg-config = ['pkg-config', '--static'] [built-in options] libdir = 'lib' +datadir = '/usr/share' +localedir = '/usr/share/locale' +sysconfdir = '/etc' +localstatedir = '/var' wrap_mode = 'nofallback' diff --git a/platforms/linux-armv6/meson.ini b/platforms/linux-armv6/meson.ini index d8583a7b..0ea12eb2 100644 --- a/platforms/linux-armv6/meson.ini +++ b/platforms/linux-armv6/meson.ini @@ -16,4 +16,8 @@ pkg-config = ['arm-linux-gnueabihf-pkg-config', '--static'] [built-in options] libdir = 'lib' +datadir = '/usr/share' +localedir = '/usr/share/locale' +sysconfdir = '/etc' +localstatedir = '/var' wrap_mode = 'nofallback' diff --git a/platforms/linux-armv7/meson.ini b/platforms/linux-armv7/meson.ini index ab9c086a..85c79a5d 100644 --- a/platforms/linux-armv7/meson.ini +++ b/platforms/linux-armv7/meson.ini @@ -16,4 +16,8 @@ pkg-config = ['arm-linux-gnueabihf-pkg-config', '--static'] [built-in options] libdir = 'lib' +datadir = '/usr/share' +localedir = '/usr/share/locale' +sysconfdir = '/etc' +localstatedir = '/var' wrap_mode = 'nofallback' diff --git a/platforms/linux-s390x/meson.ini b/platforms/linux-s390x/meson.ini index b02a748b..fdb69d2f 100644 --- a/platforms/linux-s390x/meson.ini +++ b/platforms/linux-s390x/meson.ini @@ -17,4 +17,8 @@ pkg-config = ['s390x-linux-gnu-pkg-config', '--static'] [built-in options] libdir = 'lib' +datadir = '/usr/share' +localedir = '/usr/share/locale' +sysconfdir = '/etc' +localstatedir = '/var' wrap_mode = 'nofallback' diff --git a/platforms/linux-x64/meson.ini b/platforms/linux-x64/meson.ini index 981d25d0..2548a4c1 100644 --- a/platforms/linux-x64/meson.ini +++ b/platforms/linux-x64/meson.ini @@ -4,4 +4,8 @@ pkg-config = ['pkg-config', '--static'] [built-in options] libdir = 'lib' +datadir = '/usr/share' +localedir = '/usr/share/locale' +sysconfdir = '/etc' +localstatedir = '/var' wrap_mode = 'nofallback' diff --git a/platforms/linuxmusl-arm64v8/meson.ini b/platforms/linuxmusl-arm64v8/meson.ini index c8418115..435abb62 100644 --- a/platforms/linuxmusl-arm64v8/meson.ini +++ b/platforms/linuxmusl-arm64v8/meson.ini @@ -21,4 +21,8 @@ has_function_inotify_init1 = false [built-in options] libdir = 'lib' +datadir = '/usr/share' +localedir = '/usr/share/locale' +sysconfdir = '/etc' +localstatedir = '/var' wrap_mode = 'nofallback' diff --git a/platforms/linuxmusl-x64/meson.ini b/platforms/linuxmusl-x64/meson.ini index 12d1fec7..1bced856 100644 --- a/platforms/linuxmusl-x64/meson.ini +++ b/platforms/linuxmusl-x64/meson.ini @@ -8,4 +8,8 @@ pkg-config = ['pkg-config', '--static'] has_function_inotify_init1 = false [built-in options] +datadir = '/usr/share' +localedir = '/usr/share/locale' +sysconfdir = '/etc' +localstatedir = '/var' wrap_mode = 'nofallback' From 625f82e188dfb40298e805c686c906bd958a5924 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 1 Apr 2024 20:27:23 +0200 Subject: [PATCH 238/327] Bump deps: harfbuzz, pango, rsvg (#230) --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 18058362..4989e32b 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -111,12 +111,12 @@ VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.6.2 VERSION_ARCHIVE=3.7.2 VERSION_FONTCONFIG=2.15.0 -VERSION_HARFBUZZ=8.3.1 +VERSION_HARFBUZZ=8.4.0 VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.13 -VERSION_PANGO=1.52.1 -VERSION_RSVG=2.57.2 +VERSION_PANGO=1.52.2 +VERSION_RSVG=2.57.3 VERSION_AOM=3.8.2 VERSION_HEIF=1.17.6 VERSION_CGIF=0.3.2 @@ -395,7 +395,7 @@ meson install -C _build --tag devel # https://bugs.freedesktop.org/show_bug.cgi?id=7331 # https://gitlab.freedesktop.org/pkg-config/pkg-config/-/commit/6d6dd43e75e2bc82cfe6544f8631b1bef6e1cf45 # TODO(kleisauke): Remove when Amazon Linux 2 reaches EOL. -sed -i'.bak' "/^Requires:/s/ freetype2,//" ${TARGET}/lib/pkgconfig/harfbuzz.pc +sed -i'.bak' "/^Requires:/s/ freetype2.*,//" ${TARGET}/lib/pkgconfig/harfbuzz.pc sed -i'.bak' "/^Libs:/s/$/ -lfreetype/" ${TARGET}/lib/pkgconfig/harfbuzz.pc build_freetype -Dharfbuzz=enabled From 8d0ec1ada5c4947464f27590795f4a999eb344d1 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 2 Apr 2024 13:10:54 +0200 Subject: [PATCH 239/327] vips: disable HBR support in heifsave (#231) --- build/lin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index 4989e32b..a4385461 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -458,6 +458,8 @@ meson install -C _build --tag devel mkdir ${DEPS}/vips $CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-$(without_prerelease $VERSION_VIPS).tar.xz | tar xJC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips +# Disable HBR support in heifsave +$CURL https://github.com/kleisauke/libvips/commit/ad921cf9396dc5a224e93c71b601e87bd3a8a521.patch | patch -p1 # Link libvips.so.42 statically into libvips-cpp.so.42 sed -i'.bak' "s/library('vips'/static_&/" libvips/meson.build sed -i'.bak' "/version: library_version/{N;d;}" libvips/meson.build From a684ad0734f837bdcc03b982738a71e13654902a Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 2 Apr 2024 13:12:54 +0200 Subject: [PATCH 240/327] Update libpng licence location (#232) --- THIRD-PARTY-NOTICES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 79e5bfc5..b84e3fac 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -23,7 +23,7 @@ used under the terms of the following licences: | libheif | LGPLv3 | | libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) | | libnsgif | MIT Licence | -| libpng | [libpng License](https://github.com/glennrp/libpng/blob/master/LICENSE) | +| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) | | librsvg | LGPLv3 | | libspng | [BSD 2-Clause, libpng License](https://github.com/randy408/libspng/blob/master/LICENSE) | | libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) | From 1acfeb9935c611b2659cde6157879ed564872565 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 14 Apr 2024 19:09:56 +0200 Subject: [PATCH 241/327] Bump deps: archive, cgif, webp (#235) --- build/lin.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index a4385461..f8aa1c51 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -102,14 +102,14 @@ VERSION_MOZJPEG=4.1.5 VERSION_PNG16=1.6.43 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 -VERSION_WEBP=1.3.2 +VERSION_WEBP=1.4.0 VERSION_TIFF=4.6.0 VERSION_HWY=1.1.0 VERSION_PROXY_LIBINTL=0.4 VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.6.2 -VERSION_ARCHIVE=3.7.2 +VERSION_ARCHIVE=3.7.3 VERSION_FONTCONFIG=2.15.0 VERSION_HARFBUZZ=8.4.0 VERSION_PIXMAN=0.43.4 @@ -119,7 +119,7 @@ VERSION_PANGO=1.52.2 VERSION_RSVG=2.57.3 VERSION_AOM=3.8.2 VERSION_HEIF=1.17.6 -VERSION_CGIF=0.3.2 +VERSION_CGIF=0.4.0 # Remove patch version component without_patch() { @@ -143,7 +143,7 @@ version_latest() { VERSION_SELECTOR="versions" fi if [[ "$3" == *"/"* ]]; then - VERSION_LATEST=$(git ls-remote --tags --refs https://github.com/$3.git | sort -t'/' -k3 -V | awk -F'/' 'END{print $3}' | tr -d 'vV') + VERSION_LATEST=$(git -c 'versionsort.suffix=-' ls-remote --tags --refs --sort='v:refname' https://github.com/$3.git | awk -F'/' 'END{print $3}' | tr -d 'v') else VERSION_LATEST=$($CURL "https://release-monitoring.org/api/v2/versions/?project_id=$3" | jq -j ".$VERSION_SELECTOR[0]" | tr '_' '.') fi @@ -449,7 +449,7 @@ PKG_CONFIG=${PKG_CONFIG/ --static/} ./configure --host=${CHOST} --prefix=${TARGE PKG_CONFIG_ALL_STATIC=1 make install-strip bin_SCRIPTS= mkdir ${DEPS}/cgif -$CURL https://github.com/dloebl/cgif/archive/V${VERSION_CGIF}.tar.gz | tar xzC ${DEPS}/cgif --strip-components=1 +$CURL https://github.com/dloebl/cgif/archive/v${VERSION_CGIF}.tar.gz | tar xzC ${DEPS}/cgif --strip-components=1 cd ${DEPS}/cgif CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dtests=false From 759ef305f378c25075b45d2042bfe965381da2f6 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sat, 27 Apr 2024 14:10:24 +0200 Subject: [PATCH 242/327] Bump deps: aom, archive, fribidi, rsvg - Remove unused gdk-pixbuf dependency. --- THIRD-PARTY-NOTICES.md | 1 - build.sh | 1 + build/lin.sh | 57 ++++++++------------------ platforms/linux-arm64v8/Dockerfile | 2 + platforms/linux-arm64v8/meson.ini | 1 - platforms/linux-armv6/Dockerfile | 2 + platforms/linux-armv6/meson.ini | 1 - platforms/linux-armv7/Dockerfile | 2 + platforms/linux-armv7/meson.ini | 1 - platforms/linux-s390x/Dockerfile | 2 + platforms/linux-s390x/meson.ini | 1 - platforms/linux-x64/Dockerfile | 2 + platforms/linux-x64/meson.ini | 1 - platforms/linuxmusl-arm64v8/Dockerfile | 14 ++++--- platforms/linuxmusl-arm64v8/meson.ini | 1 - platforms/linuxmusl-x64/Dockerfile | 12 +++--- platforms/linuxmusl-x64/meson.ini | 1 - 17 files changed, 44 insertions(+), 58 deletions(-) diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index b84e3fac..7b794812 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -12,7 +12,6 @@ used under the terms of the following licences: | fontconfig | [fontconfig Licence](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) | | freetype | [freetype Licence](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) | | fribidi | LGPLv3 | -| gdk-pixbuf | LGPLv3 | | glib | LGPLv3 | | harfbuzz | MIT Licence | | highway | Apache-2.0 License, BSD 3-Clause | diff --git a/build.sh b/build.sh index d32817a9..fa9350ab 100755 --- a/build.sh +++ b/build.sh @@ -60,6 +60,7 @@ for flavour in darwin-x64 darwin-arm64v8; do if [ $PLATFORM = "darwin-arm64v8" ]; then # ARM64 builds work via cross compilation from an x86_64 machine export CHOST="aarch64-apple-darwin" + export RUST_TARGET="aarch64-apple-darwin" export FLAGS+=" -target arm64-apple-macos11" # macOS 11 Big Sur is the first version to support ARM-based macs export MACOSX_DEPLOYMENT_TARGET="11.0" diff --git a/build/lin.sh b/build/lin.sh index f8aa1c51..cc37e800 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -106,18 +106,17 @@ VERSION_WEBP=1.4.0 VERSION_TIFF=4.6.0 VERSION_HWY=1.1.0 VERSION_PROXY_LIBINTL=0.4 -VERSION_GDKPIXBUF=2.42.10 VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.6.2 -VERSION_ARCHIVE=3.7.3 +VERSION_ARCHIVE=3.7.4 VERSION_FONTCONFIG=2.15.0 VERSION_HARFBUZZ=8.4.0 VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.0 -VERSION_FRIBIDI=1.0.13 +VERSION_FRIBIDI=1.0.14 VERSION_PANGO=1.52.2 -VERSION_RSVG=2.57.3 -VERSION_AOM=3.8.2 +VERSION_RSVG=2.58.91 +VERSION_AOM=3.9.0 VERSION_HEIF=1.17.6 VERSION_CGIF=0.4.0 @@ -165,7 +164,6 @@ version_latest "webp" "$VERSION_WEBP" "webmproject/libwebp" version_latest "tiff" "$VERSION_TIFF" "1738" version_latest "highway" "$VERSION_HWY" "205809" version_latest "proxy-libintl" "$VERSION_PROXY_LIBINTL" "frida/proxy-libintl" -version_latest "gdkpixbuf" "$VERSION_GDKPIXBUF" "9533" version_latest "freetype" "$VERSION_FREETYPE" "854" version_latest "expat" "$VERSION_EXPAT" "770" version_latest "archive" "$VERSION_ARCHIVE" "1558" @@ -175,7 +173,7 @@ version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" version_latest "pango" "$VERSION_PANGO" "11783" -#version_latest "rsvg" "$VERSION_RSVG" "5420" # https://github.com/lovell/sharp-libvips/issues/226 +version_latest "rsvg" "$VERSION_RSVG" "5420" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "strukturag/libheif" version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" @@ -189,6 +187,7 @@ if [ "$DARWIN" = true ]; then if [ "$DARWIN_ARM" = true ]; then ${CARGO_HOME}/bin/rustup target add aarch64-apple-darwin fi + CFLAGS= cargo install cargo-c fi if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then @@ -223,7 +222,7 @@ $CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/36e meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dintrospection=disabled -Dnls=disabled -Dlibmount=disabled -Dlibelf=disabled \ -Dtests=false -Dglib_assert=false -Dglib_checks=false ${DARWIN:+-Dbsymbolic_functions=false} -# bin-devel is needed for glib-compile-resources, as required by gdk-pixbuf +# bin-devel is needed for glib-compile-resources meson install -C _build --tag bin-devel,devel mkdir ${DEPS}/xml2 @@ -326,27 +325,6 @@ if [ -z "$WITHOUT_HIGHWAY" ]; then make install/strip fi -mkdir ${DEPS}/gdkpixbuf -$CURL https://download.gnome.org/sources/gdk-pixbuf/$(without_patch $VERSION_GDKPIXBUF)/gdk-pixbuf-${VERSION_GDKPIXBUF}.tar.xz | tar xJC ${DEPS}/gdkpixbuf --strip-components=1 -cd ${DEPS}/gdkpixbuf -# Skip thumbnailer -sed -i'.bak' "/subdir('thumbnailer')/d" meson.build -sed -i'.bak' "/post-install/{N;N;N;N;d;}" meson.build -# Skip the built-in loaders for BMP, GIF, ICO, PNM, XPM, XBM, TGA, ICNS and QTIF -sed -i'.bak' "/'bmp':/{N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;d;}" gdk-pixbuf/meson.build -sed -i'.bak' "/'pnm':/{N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;d;}" gdk-pixbuf/meson.build -# Skip executables -sed -i'.bak' "/gdk-pixbuf-csource/{N;N;d;}" gdk-pixbuf/meson.build -sed -i'.bak' "/loaders_cache = custom/{N;N;N;N;N;N;N;N;N;c\\ - loaders_cache = []\\ - loaders_dep = declare_dependency() -}" gdk-pixbuf/meson.build -meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dtiff=disabled -Dintrospection=disabled -Dtests=false -Dinstalled_tests=false -Dgio_sniffing=false -Dman=false -Dbuiltin_loaders=png,jpeg -meson install -C _build --tag devel -# Include libjpeg and libpng as a dependency of gdk-pixbuf, see: https://gitlab.gnome.org/GNOME/gdk-pixbuf/merge_requests/50 -sed -i'.bak' "/^Requires:/s/$/ libjpeg, libpng16/" ${TARGET}/lib/pkgconfig/gdk-pixbuf-2.0.pc - build_freetype() { rm -rf ${DEPS}/freetype mkdir ${DEPS}/freetype @@ -435,18 +413,20 @@ meson install -C _build --tag devel mkdir ${DEPS}/rsvg $CURL https://download.gnome.org/sources/librsvg/$(without_patch $VERSION_RSVG)/librsvg-${VERSION_RSVG}.tar.xz | tar xJC ${DEPS}/rsvg --strip-components=1 cd ${DEPS}/rsvg -# Add missing pkg-config deps -sed -i'.bak' "/^Requires:/s/$/ cairo-gobject pangocairo libxml-2.0/" librsvg.pc.in -# LTO optimization does not work for staticlib+rlib compilation -sed -i'.bak' "/crate-type = /s/, \"rlib\"//" librsvg-c/Cargo.toml +# Disallow GIF and WebP embedded in SVG images +sed -i'.bak' "/image = /s/, \"gif\", \"webp\"//" rsvg/Cargo.toml # We build Cairo with `-Dzlib=disabled`, which implicitly disables the PDF/PostScript surface backends sed -i'.bak' "/cairo-rs = /s/, \"pdf\", \"ps\"//" {librsvg-c,rsvg}/Cargo.toml -# Remove the --static flag from the PKG_CONFIG env since Rust does not -# support that. Build with PKG_CONFIG_ALL_STATIC=1 instead. -PKG_CONFIG=${PKG_CONFIG/ --static/} ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --disable-introspection --disable-pixbuf-loader ${DARWIN:+--disable-Bsymbolic} # Skip build of rsvg-convert -PKG_CONFIG_ALL_STATIC=1 make install-strip bin_SCRIPTS= +sed -i'.bak' "/subdir('rsvg_convert')/d" meson.build +# Regenerate the lockfile after making the above changes +cargo generate-lockfile +# Remove the --static flag from the PKG_CONFIG env since Rust does not +# parse that correctly. +PKG_CONFIG=${PKG_CONFIG/ --static/} meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ + -Dintrospection=disabled -Dpixbuf{,-loader}=disabled -Ddocs=disabled -Dvala=disabled -Dtests=false \ + ${RUST_TARGET:+-Dtriplet=$RUST_TARGET} +meson install -C _build --tag devel mkdir ${DEPS}/cgif $CURL https://github.com/dloebl/cgif/archive/v${VERSION_CGIF}.tar.gz | tar xzC ${DEPS}/cgif --strip-components=1 @@ -544,7 +524,6 @@ printf "{\n\ \"fontconfig\": \"${VERSION_FONTCONFIG}\",\n\ \"freetype\": \"${VERSION_FREETYPE}\",\n\ \"fribidi\": \"${VERSION_FRIBIDI}\",\n\ - \"gdkpixbuf\": \"${VERSION_GDKPIXBUF}\",\n\ \"glib\": \"${VERSION_GLIB}\",\n\ \"harfbuzz\": \"${VERSION_HARFBUZZ}\",\n\ \"heif\": \"${VERSION_HEIF}\",\n\ diff --git a/platforms/linux-arm64v8/Dockerfile b/platforms/linux-arm64v8/Dockerfile index 5d845107..60a73b24 100644 --- a/platforms/linux-arm64v8/Dockerfile +++ b/platforms/linux-arm64v8/Dockerfile @@ -28,6 +28,7 @@ RUN \ gperf \ jq \ make \ + openssl-devel \ patch \ pkgconfig \ python3 \ @@ -48,6 +49,7 @@ RUN \ --profile minimal \ --default-host aarch64-unknown-linux-gnu \ && \ + cargo install cargo-c && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ pip3 install meson ninja packaging diff --git a/platforms/linux-arm64v8/meson.ini b/platforms/linux-arm64v8/meson.ini index 2548a4c1..2f9d2ad0 100644 --- a/platforms/linux-arm64v8/meson.ini +++ b/platforms/linux-arm64v8/meson.ini @@ -1,6 +1,5 @@ [binaries] strip = 'strip' -pkg-config = ['pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/platforms/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile index a28d057d..042e7278 100644 --- a/platforms/linux-armv6/Dockerfile +++ b/platforms/linux-armv6/Dockerfile @@ -23,6 +23,7 @@ RUN \ git \ gperf \ jq \ + libssl-dev \ libtool \ ninja-build \ pkg-config \ @@ -36,6 +37,7 @@ RUN \ --profile minimal \ && \ rustup target add arm-unknown-linux-gnueabihf && \ + cargo install cargo-c && \ pip3 install meson # Compiler settings diff --git a/platforms/linux-armv6/meson.ini b/platforms/linux-armv6/meson.ini index 0ea12eb2..d06f2638 100644 --- a/platforms/linux-armv6/meson.ini +++ b/platforms/linux-armv6/meson.ini @@ -12,7 +12,6 @@ nm = 'arm-rpi-linux-gnueabihf-gcc-nm' ld = 'arm-rpi-linux-gnueabihf-gcc-ld' strip = 'arm-rpi-linux-gnueabihf-strip' ranlib = 'arm-rpi-linux-gnueabihf-gcc-ranlib' -pkg-config = ['arm-linux-gnueabihf-pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/platforms/linux-armv7/Dockerfile b/platforms/linux-armv7/Dockerfile index f5c3b1e0..cd41ef17 100644 --- a/platforms/linux-armv7/Dockerfile +++ b/platforms/linux-armv7/Dockerfile @@ -24,6 +24,7 @@ RUN \ git \ gperf \ jq \ + libssl-dev \ libtool \ ninja-build \ pkg-config \ @@ -35,6 +36,7 @@ RUN \ --profile minimal \ && \ rustup target add arm-unknown-linux-gnueabihf && \ + cargo install cargo-c && \ pip3 install meson # Compiler settings diff --git a/platforms/linux-armv7/meson.ini b/platforms/linux-armv7/meson.ini index 85c79a5d..af494050 100644 --- a/platforms/linux-armv7/meson.ini +++ b/platforms/linux-armv7/meson.ini @@ -12,7 +12,6 @@ nm = 'arm-linux-gnueabihf-gcc-nm' ld = 'arm-linux-gnueabihf-gcc-ld' strip = 'arm-linux-gnueabihf-strip' ranlib = 'arm-linux-gnueabihf-gcc-ranlib' -pkg-config = ['arm-linux-gnueabihf-pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/platforms/linux-s390x/Dockerfile b/platforms/linux-s390x/Dockerfile index 8720d832..78d5638f 100644 --- a/platforms/linux-s390x/Dockerfile +++ b/platforms/linux-s390x/Dockerfile @@ -24,6 +24,7 @@ RUN \ git \ gperf \ jq \ + libssl-dev \ libtool \ ninja-build \ pkg-config \ @@ -35,6 +36,7 @@ RUN \ --profile minimal \ && \ rustup target add s390x-unknown-linux-gnu && \ + cargo install cargo-c && \ pip3 install meson # Handy for debugging the compiled targets in Highway (hwy_list_targets) diff --git a/platforms/linux-s390x/meson.ini b/platforms/linux-s390x/meson.ini index fdb69d2f..29cbf642 100644 --- a/platforms/linux-s390x/meson.ini +++ b/platforms/linux-s390x/meson.ini @@ -12,7 +12,6 @@ nm = 's390x-linux-gnu-gcc-nm' ld = 's390x-linux-gnu-gcc-ld' strip = 's390x-linux-gnu-strip' ranlib = 's390x-linux-gnu-gcc-ranlib' -pkg-config = ['s390x-linux-gnu-pkg-config', '--static'] #exe_wrapper = 'qemu-s390x-static' [built-in options] diff --git a/platforms/linux-x64/Dockerfile b/platforms/linux-x64/Dockerfile index 141328c1..be135987 100644 --- a/platforms/linux-x64/Dockerfile +++ b/platforms/linux-x64/Dockerfile @@ -29,6 +29,7 @@ RUN \ jq \ make \ nasm \ + openssl-devel \ patch \ pkgconfig \ python3 \ @@ -47,6 +48,7 @@ RUN \ --no-modify-path \ --profile minimal \ && \ + cargo install cargo-c && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ pip3 install meson ninja packaging diff --git a/platforms/linux-x64/meson.ini b/platforms/linux-x64/meson.ini index 2548a4c1..2f9d2ad0 100644 --- a/platforms/linux-x64/meson.ini +++ b/platforms/linux-x64/meson.ini @@ -1,6 +1,5 @@ [binaries] strip = 'strip' -pkg-config = ['pkg-config', '--static'] [built-in options] libdir = 'lib' diff --git a/platforms/linuxmusl-arm64v8/Dockerfile b/platforms/linuxmusl-arm64v8/Dockerfile index 0b6721c2..7ccc15e2 100644 --- a/platforms/linuxmusl-arm64v8/Dockerfile +++ b/platforms/linuxmusl-arm64v8/Dockerfile @@ -9,6 +9,12 @@ ENV \ CARGO_HOME="/usr/local/cargo" \ PATH="/usr/local/cargo/bin:$PATH" +# Musl defaults to static libs but we need them to be dynamic for host toolchain. +# The toolchain will produce static libs by default. +# We also need to add the directory containing libc.a to the library search path. +ENV \ + RUSTFLAGS="-Ctarget-feature=-crt-static -Lnative=/aarch64-linux-musl/lib" + # Build dependencies RUN \ apk update && apk upgrade && \ @@ -27,6 +33,7 @@ RUN \ libtool \ linux-headers \ ninja \ + openssl-dev \ pkgconf \ py3-packaging \ py3-pip \ @@ -39,6 +46,7 @@ RUN \ --profile minimal \ && \ rustup target add aarch64-unknown-linux-musl && \ + cargo install cargo-c && \ pip3 install meson # Compiler settings @@ -50,11 +58,5 @@ ENV \ FLAGS="-march=armv8-a" \ MESON="--cross-file=/root/meson.ini" -# Musl defaults to static libs but we need them to be dynamic for host toolchain. -# The toolchain will produce static libs by default. -# We also need to add the directory containing libc.a to the library search path. -ENV \ - RUSTFLAGS="-Ctarget-feature=-crt-static -Lnative=/aarch64-linux-musl/lib" - COPY Toolchain.cmake /root/ COPY meson.ini /root/ diff --git a/platforms/linuxmusl-arm64v8/meson.ini b/platforms/linuxmusl-arm64v8/meson.ini index 435abb62..4f47b7d5 100644 --- a/platforms/linuxmusl-arm64v8/meson.ini +++ b/platforms/linuxmusl-arm64v8/meson.ini @@ -12,7 +12,6 @@ nm = 'aarch64-linux-musl-nm' ld = 'aarch64-linux-musl-ld' strip = 'aarch64-linux-musl-strip' ranlib = 'aarch64-linux-musl-ranlib' -pkg-config = ['aarch64-linux-musl-pkg-config', '--static'] # Ensure we disable the inotify backend in GIO # See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2991#note_1592863 diff --git a/platforms/linuxmusl-x64/Dockerfile b/platforms/linuxmusl-x64/Dockerfile index b8dfd6df..31940da0 100644 --- a/platforms/linuxmusl-x64/Dockerfile +++ b/platforms/linuxmusl-x64/Dockerfile @@ -9,6 +9,11 @@ ENV \ CARGO_HOME="/usr/local/cargo" \ PATH="/usr/local/cargo/bin:$PATH" +# Musl defaults to static libs but we need them to be dynamic for host toolchain. +# The toolchain will produce static libs by default. +ENV \ + RUSTFLAGS="-Ctarget-feature=-crt-static" + # Build dependencies RUN \ apk update && apk upgrade && \ @@ -28,6 +33,7 @@ RUN \ linux-headers \ nasm \ ninja \ + openssl-dev \ pkgconf \ py3-packaging \ py3-pip \ @@ -37,6 +43,7 @@ RUN \ --no-modify-path \ --profile minimal \ && \ + cargo install cargo-c && \ pip3 install meson # Compiler settings @@ -46,10 +53,5 @@ ENV \ FLAGS="-march=nehalem" \ MESON="--cross-file=/root/meson.ini" -# Musl defaults to static libs but we need them to be dynamic for host toolchain. -# The toolchain will produce static libs by default. -ENV \ - RUSTFLAGS="-Ctarget-feature=-crt-static" - COPY Toolchain.cmake /root/ COPY meson.ini /root/ diff --git a/platforms/linuxmusl-x64/meson.ini b/platforms/linuxmusl-x64/meson.ini index 1bced856..8496c9bb 100644 --- a/platforms/linuxmusl-x64/meson.ini +++ b/platforms/linuxmusl-x64/meson.ini @@ -1,6 +1,5 @@ [binaries] strip = 'strip' -pkg-config = ['pkg-config', '--static'] # Ensure we disable the inotify backend in GIO # See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2991#note_1592863 From e4027448589c6a083441240197d7d011bd4fce9c Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sat, 27 Apr 2024 14:13:57 +0200 Subject: [PATCH 243/327] linux-s390x: upgrade to glibc 2.31 (Debian 11) --- platforms/linux-s390x/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platforms/linux-s390x/Dockerfile b/platforms/linux-s390x/Dockerfile index 78d5638f..11819c24 100644 --- a/platforms/linux-s390x/Dockerfile +++ b/platforms/linux-s390x/Dockerfile @@ -1,7 +1,7 @@ -FROM debian:buster +FROM debian:bullseye LABEL maintainer="Lovell Fuller " -# Create Debian 10 (glibc 2.28) container suitable for cross-compiling Linux s390x binaries +# Create Debian 11 (glibc 2.31) container suitable for cross-compiling Linux s390x binaries # Path settings ENV \ From 5f524acbc937c5f1822714ca3de0bc3d7beaf196 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 13 May 2024 15:35:13 +0100 Subject: [PATCH 244/327] Bump deps: glib, xml2 exif: patch for SRATIONAL denominator sanity check --- build/lin.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index cc37e800..4b17b760 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,8 +94,8 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.6 VERSION_FFI=3.4.6 -VERSION_GLIB=2.80.0 -VERSION_XML2=2.12.6 +VERSION_GLIB=2.80.2 +VERSION_XML2=2.12.7 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 @@ -235,6 +235,8 @@ make install-strip mkdir ${DEPS}/exif $CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libexif-${VERSION_EXIF}.tar.bz2 | tar xjC ${DEPS}/exif --strip-components=1 cd ${DEPS}/exif +# https://github.com/libexif/libexif/pull/147 +$CURL https://github.com/lovell/libexif/commit/db84aefa1deb103604c5860dd6486b1dd3af676b.patch | patch -p1 ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-nls --without-libiconv-prefix --without-libintl-prefix \ CPPFLAGS="${CPPFLAGS} -DNO_VERBOSE_TAG_DATA" From 04439814fa726a4d60dfa743f386c416cf8a90f8 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 21 May 2024 10:13:05 +0100 Subject: [PATCH 245/327] Bump dep: harfbuzz --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 4b17b760..34fd2204 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -110,7 +110,7 @@ VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.6.2 VERSION_ARCHIVE=3.7.4 VERSION_FONTCONFIG=2.15.0 -VERSION_HARFBUZZ=8.4.0 +VERSION_HARFBUZZ=8.5.0 VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.14 From f3aff14fc37cf7a8344d4b7242e7207d3f706b90 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 21 May 2024 10:15:20 +0100 Subject: [PATCH 246/327] CI: Upgrade to macOS 12 (Monterey) macOS 11 (Big Sur) will be removed on 28th June --- .github/workflows/build-release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 66ad55d9..25026828 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -33,9 +33,9 @@ jobs: - 'win32-x64' - 'win32-arm64v8' include: - - os: macos-11 + - os: macos-12 platform: 'darwin-x64' - - os: macos-11 + - os: macos-12 platform: 'darwin-arm64v8' steps: - name: Checkout From cfe521581d7fcb94148aa78eb4fa45c69bcca84f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 13 Jun 2024 11:24:21 +0100 Subject: [PATCH 247/327] Bump deps: aom, fribidi, glib, hwy, pango, xml2 --- build/lin.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 34fd2204..97ace25b 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,8 +94,8 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.1.6 VERSION_FFI=3.4.6 -VERSION_GLIB=2.80.2 -VERSION_XML2=2.12.7 +VERSION_GLIB=2.80.3 +VERSION_XML2=2.13.0 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 @@ -104,7 +104,7 @@ VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.4.0 VERSION_TIFF=4.6.0 -VERSION_HWY=1.1.0 +VERSION_HWY=1.2.0 VERSION_PROXY_LIBINTL=0.4 VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.6.2 @@ -113,10 +113,10 @@ VERSION_FONTCONFIG=2.15.0 VERSION_HARFBUZZ=8.5.0 VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.0 -VERSION_FRIBIDI=1.0.14 -VERSION_PANGO=1.52.2 +VERSION_FRIBIDI=1.0.15 +VERSION_PANGO=1.54.0 VERSION_RSVG=2.58.91 -VERSION_AOM=3.9.0 +VERSION_AOM=3.9.1 VERSION_HEIF=1.17.6 VERSION_CGIF=0.4.0 @@ -406,10 +406,10 @@ meson install -C _build --tag devel mkdir ${DEPS}/pango $CURL https://download.gnome.org/sources/pango/$(without_patch $VERSION_PANGO)/pango-${VERSION_PANGO}.tar.xz | tar xJC ${DEPS}/pango --strip-components=1 cd ${DEPS}/pango -# Disable utils, examples, tests and tools -sed -i'.bak' "/subdir('utils')/{N;N;N;d;}" meson.build +# Disable utils and tools +sed -i'.bak' "/subdir('utils')/{N;d;}" meson.build meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dgtk_doc=false -Dintrospection=disabled -Dfontconfig=enabled + -Ddocumentation=false -Dbuild-testsuite=false -Dbuild-examples=false -Dintrospection=disabled -Dfontconfig=enabled meson install -C _build --tag devel mkdir ${DEPS}/rsvg From bc005dc4b2d164540239d566a83e15d7d6bb2d68 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 13 Jun 2024 11:56:13 +0100 Subject: [PATCH 248/327] linuxmusl: remove aom patch, now fixed upstream https://aomedia.googlesource.com/aom/+/0a0e504 --- build/lin.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 97ace25b..fb376fa2 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -251,10 +251,6 @@ meson install -C _build --tag devel mkdir ${DEPS}/aom $CURL https://storage.googleapis.com/aom-releases/libaom-${VERSION_AOM}.tar.gz | tar xzC ${DEPS}/aom --strip-components=1 cd ${DEPS}/aom -if [ "${PLATFORM%-*}" == "linuxmusl" ]; then - # https://bugs.chromium.org/p/aomedia/issues/detail?id=2754 - $CURL https://gist.github.com/lovell/3e70b51079af2c9b78e5a0e6f6ad0e59/raw/92864bf57345f57cf32307dd3b399a6bd430b78e/aom-ensure-thread-stack-size-is-at-least-256-KB.patch | patch -p1 -fi mkdir aom_build cd aom_build AOM_AS_FLAGS="${FLAGS}" cmake -G"Unix Makefiles" \ From 2335e6f20c996c7dd96b46cc4c46062a18c970b9 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 13 Jun 2024 12:22:47 +0100 Subject: [PATCH 249/327] macOS: pkg-config is already available --- .github/workflows/build-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 25026828..2c44a23a 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -44,7 +44,7 @@ jobs: if: runner.os == 'macOS' run: | pip3 install meson ninja packaging - brew install automake nasm pkg-config + brew install automake nasm - name: Build ${{ matrix.platform }} id: build-release run: ./build.sh $(cat LIBVIPS_VERSION) ${{ matrix.platform }} From 459b35f0b8b67dd3ae0bec9dc27ec6914f92981f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 13 Jun 2024 12:23:35 +0100 Subject: [PATCH 250/327] Remove engines property from package.json files https://github.com/lovell/sharp/issues/4130 --- npm/darwin-arm64/package.json | 6 ------ npm/darwin-x64/package.json | 6 ------ npm/linux-arm/package.json | 5 +---- npm/linux-arm64/package.json | 5 +---- npm/linux-s390x/package.json | 5 +---- npm/linux-x64/package.json | 5 +---- npm/linuxmusl-arm64/package.json | 5 +---- npm/linuxmusl-x64/package.json | 5 +---- 8 files changed, 6 insertions(+), 36 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index cae6a826..4db0ff46 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -27,12 +27,6 @@ "./package": "./package.json", "./versions": "./versions.json" }, - "engines": { - "npm": ">=9.6.5", - "yarn": ">=3.2.0", - "pnpm": ">=7.1.0", - "macos": ">=11" - }, "os": [ "darwin" ], diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index d72fe07a..d96aadc8 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -27,12 +27,6 @@ "./package": "./package.json", "./versions": "./versions.json" }, - "engines": { - "npm": ">=9.6.5", - "yarn": ">=3.2.0", - "pnpm": ">=7.1.0", - "macos": ">=10.13" - }, "os": [ "darwin" ], diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index b2ba2a5a..b7d0ff2a 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -27,10 +27,7 @@ "./versions": "./versions.json" }, "type": "commonjs", - "engines": { - "npm": ">=9.6.5", - "yarn": ">=3.2.0", - "pnpm": ">=7.1.0", + "config": { "glibc": ">=2.28" }, "os": [ diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index 4c5a982a..2d9b5ed2 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -27,10 +27,7 @@ "./package": "./package.json", "./versions": "./versions.json" }, - "engines": { - "npm": ">=9.6.5", - "yarn": ">=3.2.0", - "pnpm": ">=7.1.0", + "config": { "glibc": ">=2.26" }, "os": [ diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index 5d8d71f7..801fb02b 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -27,10 +27,7 @@ "./versions": "./versions.json" }, "type": "commonjs", - "engines": { - "npm": ">=9.6.5", - "yarn": ">=3.2.0", - "pnpm": ">=7.1.0", + "config": { "glibc": ">=2.28" }, "os": [ diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index ff499eef..af6ee5c0 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -27,10 +27,7 @@ "./package": "./package.json", "./versions": "./versions.json" }, - "engines": { - "npm": ">=9.6.5", - "yarn": ">=3.2.0", - "pnpm": ">=7.1.0", + "config": { "glibc": ">=2.26" }, "os": [ diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index df6cea90..2792ce2b 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -27,10 +27,7 @@ "./package": "./package.json", "./versions": "./versions.json" }, - "engines": { - "npm": ">=9.6.5", - "yarn": ">=3.2.0", - "pnpm": ">=7.1.0", + "config": { "musl": ">=1.2.2" }, "os": [ diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index 274672a3..d165920a 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -27,10 +27,7 @@ "./package": "./package.json", "./versions": "./versions.json" }, - "engines": { - "npm": ">=9.6.5", - "yarn": ">=3.2.0", - "pnpm": ">=7.1.0", + "config": { "musl": ">=1.2.2" }, "os": [ From ab05993c7e8f986656c3a5e4e1e9de5c77db8ef3 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 13 Jun 2024 15:39:03 +0100 Subject: [PATCH 251/327] linux-s390x: upgrade to glibc 2.31 (commit e402744) --- npm/linux-s390x/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index 801fb02b..e6a8456c 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -28,7 +28,7 @@ }, "type": "commonjs", "config": { - "glibc": ">=2.28" + "glibc": ">=2.31" }, "os": [ "linux" From 1eec548a4a239dcc5641bb352196c4c8dc7b5727 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 19 Jun 2024 07:39:32 +0100 Subject: [PATCH 252/327] Bump dep: cgif --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index fb376fa2..053fec06 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -118,7 +118,7 @@ VERSION_PANGO=1.54.0 VERSION_RSVG=2.58.91 VERSION_AOM=3.9.1 VERSION_HEIF=1.17.6 -VERSION_CGIF=0.4.0 +VERSION_CGIF=0.4.1 # Remove patch version component without_patch() { From 8a25b0ac0ca482ae48c2e1d161c013def87816a7 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sat, 22 Jun 2024 11:41:03 +0200 Subject: [PATCH 253/327] Bump deps: xml2, zlib-ng (#237) --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 053fec06..ea5e7cb3 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,10 +92,10 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.1.6 +VERSION_ZLIB_NG=2.1.7 VERSION_FFI=3.4.6 VERSION_GLIB=2.80.3 -VERSION_XML2=2.13.0 +VERSION_XML2=2.13.1 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 @@ -151,7 +151,7 @@ version_latest() { echo "$1 version $2 has been superseded by $VERSION_LATEST" fi } -version_latest "zlib-ng" "$VERSION_ZLIB_NG" "115592" +#version_latest "zlib-ng" "$VERSION_ZLIB_NG" "115592" # latest version in release monitoring is a release candidate version_latest "ffi" "$VERSION_FFI" "1611" version_latest "glib" "$VERSION_GLIB" "10024" "unstable" version_latest "xml2" "$VERSION_XML2" "1783" From 291ce6ade9c473090d59601ac02085935257116e Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 2 Jul 2024 20:26:23 +0100 Subject: [PATCH 254/327] Bump dep: zlib-ng --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index ea5e7cb3..633723ae 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,7 +92,7 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.1.7 +VERSION_ZLIB_NG=2.2.1 VERSION_FFI=3.4.6 VERSION_GLIB=2.80.3 VERSION_XML2=2.13.1 @@ -151,7 +151,7 @@ version_latest() { echo "$1 version $2 has been superseded by $VERSION_LATEST" fi } -#version_latest "zlib-ng" "$VERSION_ZLIB_NG" "115592" # latest version in release monitoring is a release candidate +version_latest "zlib-ng" "$VERSION_ZLIB_NG" "115592" version_latest "ffi" "$VERSION_FFI" "1611" version_latest "glib" "$VERSION_GLIB" "10024" "unstable" version_latest "xml2" "$VERSION_XML2" "1783" @@ -175,7 +175,7 @@ version_latest "fribidi" "$VERSION_FRIBIDI" "857" version_latest "pango" "$VERSION_PANGO" "11783" version_latest "rsvg" "$VERSION_RSVG" "5420" version_latest "aom" "$VERSION_AOM" "17628" -version_latest "heif" "$VERSION_HEIF" "strukturag/libheif" +version_latest "heif" "$VERSION_HEIF" "64439" version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" if [ "$ALL_AT_VERSION_LATEST" = "false" ]; then exit 1; fi From e397099c39ee0e92394b88bfb06b76314e849dd0 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 3 Jul 2024 08:00:23 +0100 Subject: [PATCH 255/327] zlib-ng: prevent use of aligned_alloc with darwin-x64 This feature is unsupported on macOS 10.13. Can be removed when the minimum x64 macOS version increases to 10.15. --- build/lin.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index 633723ae..2af913aa 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -203,6 +203,9 @@ fi mkdir ${DEPS}/zlib-ng $CURL https://github.com/zlib-ng/zlib-ng/archive/${VERSION_ZLIB_NG}.tar.gz | tar xzC ${DEPS}/zlib-ng --strip-components=1 cd ${DEPS}/zlib-ng +if [ "$MACOSX_DEPLOYMENT_TARGET" = "10.13" ]; then + sed -i'.bak' "/-DHAVE_ALIGNED_ALLOC/d" CMakeLists.txt +fi CFLAGS="${CFLAGS} -O3" cmake -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=FALSE -DZLIB_COMPAT=TRUE -DWITH_ARMV6=FALSE From 4ef08c70b3b72292fa17e04670a0aaa439de6762 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 8 Jul 2024 11:14:28 +0200 Subject: [PATCH 256/327] Bump deps: glib, harfbuzz, xml2 (#239) --- build/lin.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 2af913aa..00629024 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,8 +94,8 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.1 VERSION_FFI=3.4.6 -VERSION_GLIB=2.80.3 -VERSION_XML2=2.13.1 +VERSION_GLIB=2.81.0 +VERSION_XML2=2.13.2 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 @@ -110,7 +110,7 @@ VERSION_FREETYPE=2.13.2 VERSION_EXPAT=2.6.2 VERSION_ARCHIVE=3.7.4 VERSION_FONTCONFIG=2.15.0 -VERSION_HARFBUZZ=8.5.0 +VERSION_HARFBUZZ=9.0.0 VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.15 @@ -223,7 +223,7 @@ $CURL https://download.gnome.org/sources/glib/$(without_patch $VERSION_GLIB)/gli cd ${DEPS}/glib $CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/36e32c79e7962c5ea96cbb3f9c629e9145253e30/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - --force-fallback-for=gvdb -Dintrospection=disabled -Dnls=disabled -Dlibmount=disabled -Dlibelf=disabled \ + --force-fallback-for=gvdb -Dintrospection=disabled -Dnls=disabled -Dlibmount=disabled -Dsysprof=disabled -Dlibelf=disabled \ -Dtests=false -Dglib_assert=false -Dglib_checks=false ${DARWIN:+-Dbsymbolic_functions=false} # bin-devel is needed for glib-compile-resources meson install -C _build --tag bin-devel,devel @@ -258,7 +258,7 @@ mkdir aom_build cd aom_build AOM_AS_FLAGS="${FLAGS}" cmake -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DBUILD_SHARED_LIBS=FALSE -DENABLE_DOCS=0 -DENABLE_TESTS=0 -DENABLE_TESTDATA=0 -DENABLE_TOOLS=0 -DENABLE_EXAMPLES=0 \ + -DBUILD_SHARED_LIBS=FALSE -DBUILD_TESTING=0 -DENABLE_DOCS=0 -DENABLE_TESTS=0 -DENABLE_TESTDATA=0 -DENABLE_TOOLS=0 -DENABLE_EXAMPLES=0 \ -DCONFIG_PIC=1 -DENABLE_NASM=1 ${WITHOUT_NEON:+-DENABLE_NEON=0} ${DARWIN_ARM:+-DCONFIG_RUNTIME_CPU_DETECT=0} \ -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_WEBM_IO=0 \ .. From 2d75cd5c480b2ad921083de40dc634fb5e6fbfc7 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 8 Jul 2024 15:17:13 +0200 Subject: [PATCH 257/327] Disable build of cruft (#241) Mirrors commit libvips/libvips@ee482ca and libvips/libvips@a9e161f. --- build/lin.sh | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 00629024..b96f73a6 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -215,7 +215,7 @@ mkdir ${DEPS}/ffi $CURL https://github.com/libffi/libffi/releases/download/v${VERSION_FFI}/libffi-${VERSION_FFI}.tar.gz | tar xzC ${DEPS}/ffi --strip-components=1 cd ${DEPS}/ffi ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --disable-builddir --disable-multi-os-directory --disable-raw-api --disable-structs + --disable-builddir --disable-multi-os-directory --disable-raw-api --disable-structs --disable-docs make install-strip mkdir ${DEPS}/glib @@ -243,7 +243,7 @@ $CURL https://github.com/lovell/libexif/commit/db84aefa1deb103604c5860dd6486b1dd ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-nls --without-libiconv-prefix --without-libintl-prefix \ CPPFLAGS="${CPPFLAGS} -DNO_VERBOSE_TAG_DATA" -make install-strip +make install-strip doc_DATA= mkdir ${DEPS}/lcms2 $CURL https://github.com/mm2/Little-CMS/releases/download/lcms${VERSION_LCMS2}/lcms2-${VERSION_LCMS2}.tar.gz | tar xzC ${DEPS}/lcms2 --strip-components=1 @@ -258,7 +258,7 @@ mkdir aom_build cd aom_build AOM_AS_FLAGS="${FLAGS}" cmake -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DBUILD_SHARED_LIBS=FALSE -DBUILD_TESTING=0 -DENABLE_DOCS=0 -DENABLE_TESTS=0 -DENABLE_TESTDATA=0 -DENABLE_TOOLS=0 -DENABLE_EXAMPLES=0 \ + -DBUILD_SHARED_LIBS=FALSE -DENABLE_DOCS=0 -DENABLE_TESTS=0 -DENABLE_TESTDATA=0 -DENABLE_TOOLS=0 -DENABLE_EXAMPLES=0 \ -DCONFIG_PIC=1 -DENABLE_NASM=1 ${WITHOUT_NEON:+-DENABLE_NEON=0} ${DARWIN_ARM:+-DCONFIG_RUNTIME_CPU_DETECT=0} \ -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_WEBM_IO=0 \ .. @@ -271,7 +271,7 @@ cd ${DEPS}/heif sed -i'.bak' "/^cmake_minimum_required/s/3.16.3/3.12/" CMakeLists.txt CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" cmake -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=FALSE -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0 -DWITH_LIBDE265=0 -DWITH_X265=0 + -DBUILD_SHARED_LIBS=FALSE -DBUILD_TESTING=0 -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0 -DWITH_LIBDE265=0 -DWITH_X265=0 make install/strip mkdir ${DEPS}/jpeg @@ -285,14 +285,15 @@ make install/strip mkdir ${DEPS}/png16 $CURL https://downloads.sourceforge.net/project/libpng/libpng16/${VERSION_PNG16}/libpng-${VERSION_PNG16}.tar.xz | tar xJC ${DEPS}/png16 --strip-components=1 cd ${DEPS}/png16 -./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking -make install-strip +./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ + --disable-tools --without-binconfigs --disable-unversioned-libpng-config +make install-strip dist_man_MANS= mkdir ${DEPS}/spng $CURL https://github.com/randy408/libspng/archive/v${VERSION_SPNG}.tar.gz | tar xzC ${DEPS}/spng --strip-components=1 cd ${DEPS}/spng CFLAGS="${CFLAGS} -O3 -DSPNG_SSE=4" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dstatic_zlib=true + -Dstatic_zlib=true -Dbuild_examples=false meson install -C _build --tag devel mkdir ${DEPS}/imagequant @@ -306,7 +307,7 @@ $CURL https://storage.googleapis.com/downloads.webmproject.org/releases/webp/lib cd ${DEPS}/webp ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --enable-libwebpmux --enable-libwebpdemux ${WITHOUT_NEON:+--disable-neon} -make install-strip +make install-strip bin_PROGRAMS= noinst_PROGRAMS= man_MANS= mkdir ${DEPS}/tiff $CURL https://download.osgeo.org/libtiff/tiff-${VERSION_TIFF}.tar.gz | tar xzC ${DEPS}/tiff --strip-components=1 @@ -314,7 +315,7 @@ cd ${DEPS}/tiff # Propagate -pthread into CFLAGS to ensure WebP support CFLAGS="${CFLAGS} -pthread" ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-tools --disable-tests --disable-contrib --disable-docs --disable-mdi --disable-pixarlog --disable-old-jpeg --disable-cxx --disable-lzma --disable-zstd -make install-strip +make install-strip noinst_PROGRAMS= dist_doc_DATA= if [ -z "$WITHOUT_HIGHWAY" ]; then mkdir ${DEPS}/hwy @@ -343,7 +344,7 @@ cd ${DEPS}/expat ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared \ --disable-dependency-tracking --without-xmlwf --without-docbook --without-getrandom --without-sys-getrandom \ --without-libbsd --without-examples --without-tests -make install-strip +make install-strip dist_cmake_DATA= nodist_cmake_DATA= mkdir ${DEPS}/archive $CURL https://github.com/libarchive/libarchive/releases/download/v${VERSION_ARCHIVE}/libarchive-${VERSION_ARCHIVE}.tar.xz | tar xJC ${DEPS}/archive --strip-components=1 @@ -352,7 +353,7 @@ cd ${DEPS}/archive --disable-bsdtar --disable-bsdcat --disable-bsdcpio --disable-bsdunzip --disable-posix-regex-lib --disable-xattr --disable-acl \ --without-bz2lib --without-libb2 --without-iconv --without-lz4 --without-zstd --without-lzma \ --without-lzo2 --without-cng --without-openssl --without-xml2 --without-expat -make install-strip +make install-strip libarchive_man_MANS= mkdir ${DEPS}/fontconfig $CURL https://www.freedesktop.org/software/fontconfig/release/fontconfig-${VERSION_FONTCONFIG}.tar.xz | tar xJC ${DEPS}/fontconfig --strip-components=1 From ad960df07ac72b911086a514683dbd346038ff3f Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 9 Jul 2024 09:10:22 +0200 Subject: [PATCH 258/327] xml2: switch from autotools to meson (#240) --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index b96f73a6..8a729f50 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -231,9 +231,9 @@ meson install -C _build --tag bin-devel,devel mkdir ${DEPS}/xml2 $CURL https://download.gnome.org/sources/libxml2/$(without_patch $VERSION_XML2)/libxml2-${VERSION_XML2}.tar.xz | tar xJC ${DEPS}/xml2 --strip-components=1 cd ${DEPS}/xml2 -./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --with-minimum --with-reader --with-writer --with-valid --with-http --with-tree --with-zlib --without-python --without-lzma -make install-strip +meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ + -Dminimum=true +meson install -C _build --tag devel mkdir ${DEPS}/exif $CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libexif-${VERSION_EXIF}.tar.bz2 | tar xjC ${DEPS}/exif --strip-components=1 From a34823b45f04b1efb923089e150eefc8ee7bb581 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 16 Jul 2024 14:32:24 +0200 Subject: [PATCH 259/327] Bump deps: heif, rsvg (#243) * Bump deps: heif, rsvg * Add tomli dependency in Docker containers Required by Cargo projects since Meson 1.5.0. Python >= 3.11 have one built-in, older Python versions require either the external `tomli` module or `toml2json` program. --- build/lin.sh | 4 ++-- platforms/linux-arm64v8/Dockerfile | 2 +- platforms/linux-armv6/Dockerfile | 2 +- platforms/linux-armv7/Dockerfile | 2 +- platforms/linux-s390x/Dockerfile | 2 +- platforms/linux-x64/Dockerfile | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 8a729f50..6544f6ee 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -115,9 +115,9 @@ VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.15 VERSION_PANGO=1.54.0 -VERSION_RSVG=2.58.91 +VERSION_RSVG=2.58.92 VERSION_AOM=3.9.1 -VERSION_HEIF=1.17.6 +VERSION_HEIF=1.18.0 VERSION_CGIF=0.4.1 # Remove patch version component diff --git a/platforms/linux-arm64v8/Dockerfile b/platforms/linux-arm64v8/Dockerfile index 60a73b24..e034dd09 100644 --- a/platforms/linux-arm64v8/Dockerfile +++ b/platforms/linux-arm64v8/Dockerfile @@ -51,7 +51,7 @@ RUN \ && \ cargo install cargo-c && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ - pip3 install meson ninja packaging + pip3 install meson ninja packaging tomli # Compiler settings ENV \ diff --git a/platforms/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile index 042e7278..2ea91fec 100644 --- a/platforms/linux-armv6/Dockerfile +++ b/platforms/linux-armv6/Dockerfile @@ -38,7 +38,7 @@ RUN \ && \ rustup target add arm-unknown-linux-gnueabihf && \ cargo install cargo-c && \ - pip3 install meson + pip3 install meson tomli # Compiler settings ENV \ diff --git a/platforms/linux-armv7/Dockerfile b/platforms/linux-armv7/Dockerfile index cd41ef17..9cbbeed8 100644 --- a/platforms/linux-armv7/Dockerfile +++ b/platforms/linux-armv7/Dockerfile @@ -37,7 +37,7 @@ RUN \ && \ rustup target add arm-unknown-linux-gnueabihf && \ cargo install cargo-c && \ - pip3 install meson + pip3 install meson tomli # Compiler settings ENV \ diff --git a/platforms/linux-s390x/Dockerfile b/platforms/linux-s390x/Dockerfile index 11819c24..d88981d3 100644 --- a/platforms/linux-s390x/Dockerfile +++ b/platforms/linux-s390x/Dockerfile @@ -37,7 +37,7 @@ RUN \ && \ rustup target add s390x-unknown-linux-gnu && \ cargo install cargo-c && \ - pip3 install meson + pip3 install meson tomli # Handy for debugging the compiled targets in Highway (hwy_list_targets) #RUN apt-get install -y qemu-user-static diff --git a/platforms/linux-x64/Dockerfile b/platforms/linux-x64/Dockerfile index be135987..1743ce63 100644 --- a/platforms/linux-x64/Dockerfile +++ b/platforms/linux-x64/Dockerfile @@ -50,7 +50,7 @@ RUN \ && \ cargo install cargo-c && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ - pip3 install meson ninja packaging + pip3 install meson ninja packaging tomli # Compiler settings ENV \ From 6651f42d25659eb200ea75f9d63ad742bbafaf0a Mon Sep 17 00:00:00 2001 From: sumitd2 <91451282+sumitd2@users.noreply.github.com> Date: Wed, 17 Jul 2024 19:57:54 +0530 Subject: [PATCH 260/327] Add linux-ppc64 (little endian) as supported platform (#242) --- .github/workflows/build-release.yml | 1 + README.md | 1 + build.sh | 3 +- npm/linux-ppc64/package.json | 42 +++++++++++++++++++ npm/package.json | 1 + npm/populate.sh | 9 +++- platforms/linux-ppc64le/Dockerfile | 55 +++++++++++++++++++++++++ platforms/linux-ppc64le/Toolchain.cmake | 15 +++++++ platforms/linux-ppc64le/meson.ini | 23 +++++++++++ 9 files changed, 148 insertions(+), 2 deletions(-) create mode 100644 npm/linux-ppc64/package.json create mode 100644 platforms/linux-ppc64le/Dockerfile create mode 100644 platforms/linux-ppc64le/Toolchain.cmake create mode 100644 platforms/linux-ppc64le/meson.ini diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 2c44a23a..2a97cef3 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -27,6 +27,7 @@ jobs: - 'linux-armv7' - 'linuxmusl-x64' - 'linuxmusl-arm64v8' + - 'linux-ppc64le' - 'linux-s390x' - 'wasm32' - 'win32-ia32' diff --git a/README.md b/README.md index a9743ed3..48c76967 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ the same shared libraries within multiple containers. * [ARMv7-A glibc](platforms/linux-armv7/Dockerfile) * [ARM64v8-A glibc](platforms/linux-arm64v8/Dockerfile) * [ARM64v8-A musl](platforms/linuxmusl-arm64v8/Dockerfile) +* [ppc64le glibc](platforms/linux-ppc64le/Dockerfile) * [s390x glibc](platforms/linux-s390x/Dockerfile) ### Windows diff --git a/build.sh b/build.sh index fa9350ab..46337e0a 100755 --- a/build.sh +++ b/build.sh @@ -20,6 +20,7 @@ if [ $# -lt 1 ]; then echo "- linux-armv7" echo "- linux-arm64v8" echo "- linuxmusl-arm64v8" + echo "- linux-ppc64le" echo "- linux-s390x" echo "- darwin-x64" echo "- darwin-arm64v8" @@ -101,7 +102,7 @@ for flavour in win32-ia32 win32-x64 win32-arm64v8; do done # Linux (x64, ARMv6, ARMv7, ARM64v8) -for flavour in linux-x64 linuxmusl-x64 linux-armv6 linux-armv7 linux-arm64v8 linuxmusl-arm64v8 linux-s390x; do +for flavour in linux-x64 linuxmusl-x64 linux-armv6 linux-armv7 linux-arm64v8 linuxmusl-arm64v8 linux-ppc64le linux-s390x; do if [ $PLATFORM = "all" ] || [ $PLATFORM = $flavour ]; then echo "Building $flavour..." docker build -t vips-dev-$flavour platforms/$flavour diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json new file mode 100644 index 00000000..5039afd7 --- /dev/null +++ b/npm/linux-ppc64/package.json @@ -0,0 +1,42 @@ +{ + "name": "@img/sharp-libvips-linux-ppc64", + "version": "1.0.2", + "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) ppc64le", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/linux-ppc64" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + }, + "type": "commonjs", + "config": { + "glibc": ">=2.31" + }, + "os": [ + "linux" + ], + "libc": [ + "glibc" + ], + "cpu": [ + "ppc64" + ] +} diff --git a/npm/package.json b/npm/package.json index 787d8538..a3446521 100644 --- a/npm/package.json +++ b/npm/package.json @@ -11,6 +11,7 @@ "linux-arm64", "linuxmusl-arm64", "linuxmusl-x64", + "linux-ppc64", "linux-s390x", "linux-x64", "win32-ia32", diff --git a/npm/populate.sh b/npm/populate.sh index 8f91a3a7..39229543 100755 --- a/npm/populate.sh +++ b/npm/populate.sh @@ -6,7 +6,14 @@ CURL="curl --silent --location" download_extract() { PLATFORM="$1" - PACKAGE="${1%v[68]}" # remove ARM version + case $1 in + *ppc64le) + PACKAGE="${1%??}" # package directory is named as npm/linux-ppc64 + ;; + *) + PACKAGE="${1%v[68]}" # remove ARM version + ;; + esac echo "$PLATFORM -> $PACKAGE" rm -rf "npm/$PACKAGE/include" "npm/$PACKAGE/lib" $CURL \ diff --git a/platforms/linux-ppc64le/Dockerfile b/platforms/linux-ppc64le/Dockerfile new file mode 100644 index 00000000..f2a30955 --- /dev/null +++ b/platforms/linux-ppc64le/Dockerfile @@ -0,0 +1,55 @@ +FROM debian:bullseye +LABEL maintainer="Lovell Fuller " + +# Create Debian 11 (glibc 2.31) container suitable for cross-compiling Linux ppc64le binaries + +# Path settings +ENV \ + RUSTUP_HOME="/usr/local/rustup" \ + CARGO_HOME="/usr/local/cargo" \ + PATH="/usr/local/cargo/bin:$PATH" + +# Build dependencies +RUN \ + apt-get update && \ + apt-get install -y curl && \ + dpkg --add-architecture ppc64el && \ + apt-get install -y \ + autoconf \ + autopoint \ + cmake \ + crossbuild-essential-ppc64el \ + gettext \ + git \ + gperf \ + jq \ + libssl-dev \ + libtool \ + ninja-build \ + pkg-config \ + python3-packaging \ + python3-pip \ + && \ + curl https://sh.rustup.rs -sSf | sh -s -- -y \ + --no-modify-path \ + --profile minimal \ + && \ + rustup target add powerpc64le-unknown-linux-gnu && \ + cargo install cargo-c && \ + pip3 install meson tomli + +# Handy for debugging the compiled targets in Highway (hwy_list_targets) +#RUN apt-get install -y qemu-user-static +#ENV QEMU_LD_PREFIX="/usr/powerpc64le-linux-gnu" + +# Compiler settings +ENV \ + PKG_CONFIG="powerpc64le-linux-gnu-pkg-config --static" \ + PLATFORM="linux-ppc64le" \ + CHOST="powerpc64le-linux-gnu" \ + RUST_TARGET="powerpc64le-unknown-linux-gnu" \ + FLAGS="" \ + MESON="--cross-file=/root/meson.ini" + +COPY Toolchain.cmake /root/ +COPY meson.ini /root/ diff --git a/platforms/linux-ppc64le/Toolchain.cmake b/platforms/linux-ppc64le/Toolchain.cmake new file mode 100644 index 00000000..3440b0be --- /dev/null +++ b/platforms/linux-ppc64le/Toolchain.cmake @@ -0,0 +1,15 @@ +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_VERSION 1) +set(CMAKE_SYSTEM_PROCESSOR ppc64le) + +SET(CMAKE_C_COMPILER powerpc64le-linux-gnu-gcc) +SET(CMAKE_CXX_COMPILER powerpc64le-linux-gnu-g++) +SET(CMAKE_AR powerpc64le-linux-gnu-gcc-ar) +SET(CMAKE_STRIP powerpc64le-linux-gnu-gcc-strip) +SET(CMAKE_RANLIB powerpc64le-linux-gnu-gcc-ranlib) + +#SET(CMAKE_CROSSCOMPILING_EMULATOR qemu-ppc64le-static) + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/platforms/linux-ppc64le/meson.ini b/platforms/linux-ppc64le/meson.ini new file mode 100644 index 00000000..d8e648a6 --- /dev/null +++ b/platforms/linux-ppc64le/meson.ini @@ -0,0 +1,23 @@ +[host_machine] +system = 'linux' +cpu_family = 'ppc64' +cpu = 'powerpc64le' +endian = 'little' + +[binaries] +c = 'powerpc64le-linux-gnu-gcc' +cpp = 'powerpc64le-linux-gnu-g++' +ar = 'powerpc64le-linux-gnu-gcc-ar' +nm = 'powerpc64le-linux-gnu-gcc-nm' +ld = 'powerpc64le-linux-gnu-gcc-ld' +strip = 'powerpc64le-linux-gnu-strip' +ranlib = 'powerpc64le-linux-gnu-gcc-ranlib' +#exe_wrapper = 'qemu-ppc64le-static' + +[built-in options] +libdir = 'lib' +datadir = '/usr/share' +localedir = '/usr/share/locale' +sysconfdir = '/etc' +localstatedir = '/var' +wrap_mode = 'nofallback' From d8ce72127239048574784145b5b55df3595f88ff Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 17 Jul 2024 15:31:21 +0100 Subject: [PATCH 261/327] linux-armv6: upgrade to Debian 11 (glibc 2.31) Allows use of the standard crossbuild tooling --- npm/linux-arm/package.json | 2 +- platforms/linux-armv6/Dockerfile | 11 +++++------ platforms/linux-armv6/Toolchain.cmake | 10 +++++----- platforms/linux-armv6/meson.ini | 14 +++++++------- 4 files changed, 18 insertions(+), 19 deletions(-) diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index b7d0ff2a..710c1e70 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -28,7 +28,7 @@ }, "type": "commonjs", "config": { - "glibc": ">=2.28" + "glibc": ">=2.31" }, "os": [ "linux" diff --git a/platforms/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile index 2ea91fec..3ac139fa 100644 --- a/platforms/linux-armv6/Dockerfile +++ b/platforms/linux-armv6/Dockerfile @@ -1,13 +1,13 @@ -FROM debian:buster +FROM debian:bullseye LABEL maintainer="Lovell Fuller " -# Create Debian 10 (glibc 2.28) container suitable for cross-compiling Linux ARMv6 binaries +# Create Debian 11 (glibc 2.31) container suitable for cross-compiling Linux ARMv6 binaries # Path settings ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin:$PATH" + PATH="/usr/local/cargo/bin:$PATH" # Build dependencies RUN \ @@ -19,6 +19,7 @@ RUN \ autoconf \ autopoint \ cmake \ + crossbuild-essential-armhf \ gettext \ git \ gperf \ @@ -30,8 +31,6 @@ RUN \ python3-packaging \ python3-pip \ && \ - mkdir /root/tools && \ - curl -Ls https://github.com/rvagg/rpi-newer-crosstools/archive/master.tar.gz | tar xzC /root/tools --strip-components=1 && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ --profile minimal \ @@ -44,7 +43,7 @@ RUN \ ENV \ PKG_CONFIG="arm-linux-gnueabihf-pkg-config --static" \ PLATFORM="linux-armv6" \ - CHOST="arm-rpi-linux-gnueabihf" \ + CHOST="arm-linux-gnueabihf" \ RUST_TARGET="arm-unknown-linux-gnueabihf" \ FLAGS="-marm -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard" \ WITHOUT_NEON="true" \ diff --git a/platforms/linux-armv6/Toolchain.cmake b/platforms/linux-armv6/Toolchain.cmake index 279e2990..3ec1bca1 100644 --- a/platforms/linux-armv6/Toolchain.cmake +++ b/platforms/linux-armv6/Toolchain.cmake @@ -2,11 +2,11 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR armv6-a) -SET(CMAKE_C_COMPILER arm-rpi-linux-gnueabihf-gcc) -set(CMAKE_CXX_COMPILER arm-rpi-linux-gnueabihf-g++) -SET(CMAKE_AR arm-rpi-linux-gnueabihf-ar) -SET(CMAKE_STRIP arm-rpi-linux-gnueabihf-strip) -SET(CMAKE_RANLIB arm-rpi-linux-gnueabihf-ranlib) +SET(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) +set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) +SET(CMAKE_AR arm-linux-gnueabihf-ar) +SET(CMAKE_STRIP arm-linux-gnueabihf-strip) +SET(CMAKE_RANLIB arm-linux-gnueabihf-ranlib) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) diff --git a/platforms/linux-armv6/meson.ini b/platforms/linux-armv6/meson.ini index d06f2638..3920ebec 100644 --- a/platforms/linux-armv6/meson.ini +++ b/platforms/linux-armv6/meson.ini @@ -5,13 +5,13 @@ cpu = 'armv6-a' endian = 'little' [binaries] -c = 'arm-rpi-linux-gnueabihf-gcc' -cpp = 'arm-rpi-linux-gnueabihf-g++' -ar = 'arm-rpi-linux-gnueabihf-ar' -nm = 'arm-rpi-linux-gnueabihf-gcc-nm' -ld = 'arm-rpi-linux-gnueabihf-gcc-ld' -strip = 'arm-rpi-linux-gnueabihf-strip' -ranlib = 'arm-rpi-linux-gnueabihf-gcc-ranlib' +c = 'arm-linux-gnueabihf-gcc' +cpp = 'arm-linux-gnueabihf-g++' +ar = 'arm-linux-gnueabihf-ar' +nm = 'arm-linux-gnueabihf-gcc-nm' +ld = 'arm-linux-gnueabihf-gcc-ld' +strip = 'arm-linux-gnueabihf-strip' +ranlib = 'arm-linux-gnueabihf-gcc-ranlib' [built-in options] libdir = 'lib' From 43820a468ab2e896bf70d4ed50db663df69929a0 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 17 Jul 2024 16:09:04 +0100 Subject: [PATCH 262/327] Remove linux-armv7 This platform was not published to npm and GitHub releases are no longer used. Running 'npm install' on ARMv7 hardware will use the (32-bit) linux-arm package. --- .github/workflows/build-release.yml | 1 - README.md | 1 - build.sh | 5 ++- npm/populate.sh | 2 +- platforms/linux-armv7/Dockerfile | 52 --------------------------- platforms/linux-armv7/Toolchain.cmake | 13 ------- platforms/linux-armv7/meson.ini | 22 ------------ 7 files changed, 3 insertions(+), 93 deletions(-) delete mode 100644 platforms/linux-armv7/Dockerfile delete mode 100644 platforms/linux-armv7/Toolchain.cmake delete mode 100644 platforms/linux-armv7/meson.ini diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 2a97cef3..3796b6bd 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -24,7 +24,6 @@ jobs: platform: - 'linux-x64' - 'linux-armv6' - - 'linux-armv7' - 'linuxmusl-x64' - 'linuxmusl-arm64v8' - 'linux-ppc64le' diff --git a/README.md b/README.md index 48c76967..fb9c4aca 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,6 @@ the same shared libraries within multiple containers. * [x64 glibc](platforms/linux-x64/Dockerfile) * [x64 musl](platforms/linuxmusl-x64/Dockerfile) * [ARMv6 glibc](platforms/linux-armv6/Dockerfile) -* [ARMv7-A glibc](platforms/linux-armv7/Dockerfile) * [ARM64v8-A glibc](platforms/linux-arm64v8/Dockerfile) * [ARM64v8-A musl](platforms/linuxmusl-arm64v8/Dockerfile) * [ppc64le glibc](platforms/linux-ppc64le/Dockerfile) diff --git a/build.sh b/build.sh index 46337e0a..40ec60c3 100755 --- a/build.sh +++ b/build.sh @@ -17,7 +17,6 @@ if [ $# -lt 1 ]; then echo "- linux-x64" echo "- linuxmusl-x64" echo "- linux-armv6" - echo "- linux-armv7" echo "- linux-arm64v8" echo "- linuxmusl-arm64v8" echo "- linux-ppc64le" @@ -101,8 +100,8 @@ for flavour in win32-ia32 win32-x64 win32-arm64v8; do fi done -# Linux (x64, ARMv6, ARMv7, ARM64v8) -for flavour in linux-x64 linuxmusl-x64 linux-armv6 linux-armv7 linux-arm64v8 linuxmusl-arm64v8 linux-ppc64le linux-s390x; do +# Linux (x64, ARMv6, ARM64v8) +for flavour in linux-x64 linuxmusl-x64 linux-armv6 linux-arm64v8 linuxmusl-arm64v8 linux-ppc64le linux-s390x; do if [ $PLATFORM = "all" ] || [ $PLATFORM = $flavour ]; then echo "Building $flavour..." docker build -t vips-dev-$flavour platforms/$flavour diff --git a/npm/populate.sh b/npm/populate.sh index 39229543..84f6c077 100755 --- a/npm/populate.sh +++ b/npm/populate.sh @@ -52,7 +52,7 @@ remove_unused() { } # Download and extract per-platform binaries -PLATFORMS=$(ls platforms --ignore=*armv7 --ignore=win32*) +PLATFORMS=$(ls platforms --ignore=win32*) for platform in $PLATFORMS; do download_extract "$platform" done diff --git a/platforms/linux-armv7/Dockerfile b/platforms/linux-armv7/Dockerfile deleted file mode 100644 index 9cbbeed8..00000000 --- a/platforms/linux-armv7/Dockerfile +++ /dev/null @@ -1,52 +0,0 @@ -FROM debian:buster -LABEL maintainer="Lovell Fuller " - -# Create Debian 10 (glibc 2.28) container suitable for cross-compiling Linux ARMv7-A binaries - -# Path settings -ENV \ - RUSTUP_HOME="/usr/local/rustup" \ - CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:$PATH" - -# Build dependencies -RUN \ - apt-get update && \ - apt-get install -y curl && \ - dpkg --add-architecture armhf && \ - apt-get update && \ - apt-get install -y \ - autoconf \ - autopoint \ - cmake \ - crossbuild-essential-armhf \ - gettext \ - git \ - gperf \ - jq \ - libssl-dev \ - libtool \ - ninja-build \ - pkg-config \ - python3-packaging \ - python3-pip \ - && \ - curl https://sh.rustup.rs -sSf | sh -s -- -y \ - --no-modify-path \ - --profile minimal \ - && \ - rustup target add arm-unknown-linux-gnueabihf && \ - cargo install cargo-c && \ - pip3 install meson tomli - -# Compiler settings -ENV \ - PKG_CONFIG="arm-linux-gnueabihf-pkg-config --static" \ - PLATFORM="linux-armv7" \ - CHOST="arm-linux-gnueabihf" \ - RUST_TARGET="arm-unknown-linux-gnueabihf" \ - FLAGS="-marm -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard" \ - MESON="--cross-file=/root/meson.ini" - -COPY Toolchain.cmake /root/ -COPY meson.ini /root/ diff --git a/platforms/linux-armv7/Toolchain.cmake b/platforms/linux-armv7/Toolchain.cmake deleted file mode 100644 index 2acdf704..00000000 --- a/platforms/linux-armv7/Toolchain.cmake +++ /dev/null @@ -1,13 +0,0 @@ -set(CMAKE_SYSTEM_NAME Linux) -set(CMAKE_SYSTEM_VERSION 1) -set(CMAKE_SYSTEM_PROCESSOR armv7-a) - -SET(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) -SET(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) -SET(CMAKE_AR arm-linux-gnueabihf-gcc-ar) -SET(CMAKE_STRIP arm-linux-gnueabihf-gcc-strip) -SET(CMAKE_RANLIB arm-linux-gnueabihf-gcc-ranlib) - -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/platforms/linux-armv7/meson.ini b/platforms/linux-armv7/meson.ini deleted file mode 100644 index af494050..00000000 --- a/platforms/linux-armv7/meson.ini +++ /dev/null @@ -1,22 +0,0 @@ -[host_machine] -system = 'linux' -cpu_family = 'arm' -cpu = 'armv7-a' -endian = 'little' - -[binaries] -c = 'arm-linux-gnueabihf-gcc' -cpp = 'arm-linux-gnueabihf-g++' -ar = 'arm-linux-gnueabihf-gcc-ar' -nm = 'arm-linux-gnueabihf-gcc-nm' -ld = 'arm-linux-gnueabihf-gcc-ld' -strip = 'arm-linux-gnueabihf-strip' -ranlib = 'arm-linux-gnueabihf-gcc-ranlib' - -[built-in options] -libdir = 'lib' -datadir = '/usr/share' -localedir = '/usr/share/locale' -sysconfdir = '/etc' -localstatedir = '/var' -wrap_mode = 'nofallback' From dc8d356271c7b9d6799f7375a12e42935b91bc20 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 10 Aug 2024 10:13:32 +0100 Subject: [PATCH 263/327] Bump deps: glib, heif, rsvg, xml2 --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 6544f6ee..b308700b 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,8 +94,8 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.1 VERSION_FFI=3.4.6 -VERSION_GLIB=2.81.0 -VERSION_XML2=2.13.2 +VERSION_GLIB=2.81.1 +VERSION_XML2=2.13.3 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 @@ -115,9 +115,9 @@ VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.0 VERSION_FRIBIDI=1.0.15 VERSION_PANGO=1.54.0 -VERSION_RSVG=2.58.92 +VERSION_RSVG=2.58.93 VERSION_AOM=3.9.1 -VERSION_HEIF=1.18.0 +VERSION_HEIF=1.18.2 VERSION_CGIF=0.4.1 # Remove patch version component From 82bee8fd32b32afc8a9a8fde59e174dd2fe88b8a Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 10 Aug 2024 14:58:03 +0100 Subject: [PATCH 264/327] Ensure cargo uses correct linker when cross-compiling --- build/lin.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index b308700b..9710d265 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -85,6 +85,12 @@ export CARGO_PROFILE_RELEASE_PANIC=abort # https://reproducible-builds.org/docs/build-path/ export RUSTFLAGS+=" --remap-path-prefix=$CARGO_HOME/registry/=" +# Ensure Cargo uses correct linker when cross-compiling +if [ "$LINUX" = true ] && [ -n "$CHOST" ]; then + echo "[target.${RUST_TARGET}]" >> "$CARGO_HOME/config" + echo "linker = \"${CHOST}-gcc\"" >> "$CARGO_HOME/config" +fi + # We don't want to use any native libraries, so unset PKG_CONFIG_PATH unset PKG_CONFIG_PATH From e2d84650f12b9d12805d9b3bffe0794305f2bb72 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 12 Aug 2024 10:09:32 +0200 Subject: [PATCH 265/327] rsvg: workaround zune-jpeg issue (#244) See: https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/967#note_2088834 --- build/lin.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 9710d265..49dd4281 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -85,12 +85,6 @@ export CARGO_PROFILE_RELEASE_PANIC=abort # https://reproducible-builds.org/docs/build-path/ export RUSTFLAGS+=" --remap-path-prefix=$CARGO_HOME/registry/=" -# Ensure Cargo uses correct linker when cross-compiling -if [ "$LINUX" = true ] && [ -n "$CHOST" ]; then - echo "[target.${RUST_TARGET}]" >> "$CARGO_HOME/config" - echo "linker = \"${CHOST}-gcc\"" >> "$CARGO_HOME/config" -fi - # We don't want to use any native libraries, so unset PKG_CONFIG_PATH unset PKG_CONFIG_PATH @@ -427,6 +421,13 @@ sed -i'.bak' "/image = /s/, \"gif\", \"webp\"//" rsvg/Cargo.toml sed -i'.bak' "/cairo-rs = /s/, \"pdf\", \"ps\"//" {librsvg-c,rsvg}/Cargo.toml # Skip build of rsvg-convert sed -i'.bak' "/subdir('rsvg_convert')/d" meson.build +# https://github.com/etemesi254/zune-image/pull/187 +# https://github.com/bevyengine/bevy/issues/14117#issuecomment-2236518551 +# https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html#the-patch-section +cat >> Cargo.toml < Date: Mon, 12 Aug 2024 10:59:02 +0200 Subject: [PATCH 266/327] Upgrade to libvips v8.15.3 (#245) --- LIBVIPS_VERSION | 2 +- build/lin.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index e7ab33dc..d2c1cf91 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.15.2 +8.15.3 diff --git a/build/lin.sh b/build/lin.sh index 49dd4281..bed28ed1 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -448,7 +448,7 @@ mkdir ${DEPS}/vips $CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-$(without_prerelease $VERSION_VIPS).tar.xz | tar xJC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips # Disable HBR support in heifsave -$CURL https://github.com/kleisauke/libvips/commit/ad921cf9396dc5a224e93c71b601e87bd3a8a521.patch | patch -p1 +$CURL https://github.com/libvips/build-win64-mxe/raw/v${VERSION_VIPS}/build/patches/vips-8-heifsave-disable-hbr-support.patch | patch -p1 # Link libvips.so.42 statically into libvips-cpp.so.42 sed -i'.bak' "s/library('vips'/static_&/" libvips/meson.build sed -i'.bak' "/version: library_version/{N;d;}" libvips/meson.build From fd99a03e344cc10b826f8f24269b3e5b3eb9f758 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 12 Aug 2024 22:17:50 +0100 Subject: [PATCH 267/327] Revert "linux-armv6: upgrade to Debian 11 (glibc 2.31)" This reverts commit d8ce72127239048574784145b5b55df3595f88ff. --- npm/linux-arm/package.json | 2 +- platforms/linux-armv6/Dockerfile | 11 ++++++----- platforms/linux-armv6/Toolchain.cmake | 10 +++++----- platforms/linux-armv6/meson.ini | 14 +++++++------- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index 710c1e70..b7d0ff2a 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -28,7 +28,7 @@ }, "type": "commonjs", "config": { - "glibc": ">=2.31" + "glibc": ">=2.28" }, "os": [ "linux" diff --git a/platforms/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile index 3ac139fa..2ea91fec 100644 --- a/platforms/linux-armv6/Dockerfile +++ b/platforms/linux-armv6/Dockerfile @@ -1,13 +1,13 @@ -FROM debian:bullseye +FROM debian:buster LABEL maintainer="Lovell Fuller " -# Create Debian 11 (glibc 2.31) container suitable for cross-compiling Linux ARMv6 binaries +# Create Debian 10 (glibc 2.28) container suitable for cross-compiling Linux ARMv6 binaries # Path settings ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:$PATH" + PATH="/usr/local/cargo/bin:/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin:$PATH" # Build dependencies RUN \ @@ -19,7 +19,6 @@ RUN \ autoconf \ autopoint \ cmake \ - crossbuild-essential-armhf \ gettext \ git \ gperf \ @@ -31,6 +30,8 @@ RUN \ python3-packaging \ python3-pip \ && \ + mkdir /root/tools && \ + curl -Ls https://github.com/rvagg/rpi-newer-crosstools/archive/master.tar.gz | tar xzC /root/tools --strip-components=1 && \ curl https://sh.rustup.rs -sSf | sh -s -- -y \ --no-modify-path \ --profile minimal \ @@ -43,7 +44,7 @@ RUN \ ENV \ PKG_CONFIG="arm-linux-gnueabihf-pkg-config --static" \ PLATFORM="linux-armv6" \ - CHOST="arm-linux-gnueabihf" \ + CHOST="arm-rpi-linux-gnueabihf" \ RUST_TARGET="arm-unknown-linux-gnueabihf" \ FLAGS="-marm -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard" \ WITHOUT_NEON="true" \ diff --git a/platforms/linux-armv6/Toolchain.cmake b/platforms/linux-armv6/Toolchain.cmake index 3ec1bca1..279e2990 100644 --- a/platforms/linux-armv6/Toolchain.cmake +++ b/platforms/linux-armv6/Toolchain.cmake @@ -2,11 +2,11 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR armv6-a) -SET(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) -set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++) -SET(CMAKE_AR arm-linux-gnueabihf-ar) -SET(CMAKE_STRIP arm-linux-gnueabihf-strip) -SET(CMAKE_RANLIB arm-linux-gnueabihf-ranlib) +SET(CMAKE_C_COMPILER arm-rpi-linux-gnueabihf-gcc) +set(CMAKE_CXX_COMPILER arm-rpi-linux-gnueabihf-g++) +SET(CMAKE_AR arm-rpi-linux-gnueabihf-ar) +SET(CMAKE_STRIP arm-rpi-linux-gnueabihf-strip) +SET(CMAKE_RANLIB arm-rpi-linux-gnueabihf-ranlib) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) diff --git a/platforms/linux-armv6/meson.ini b/platforms/linux-armv6/meson.ini index 3920ebec..d06f2638 100644 --- a/platforms/linux-armv6/meson.ini +++ b/platforms/linux-armv6/meson.ini @@ -5,13 +5,13 @@ cpu = 'armv6-a' endian = 'little' [binaries] -c = 'arm-linux-gnueabihf-gcc' -cpp = 'arm-linux-gnueabihf-g++' -ar = 'arm-linux-gnueabihf-ar' -nm = 'arm-linux-gnueabihf-gcc-nm' -ld = 'arm-linux-gnueabihf-gcc-ld' -strip = 'arm-linux-gnueabihf-strip' -ranlib = 'arm-linux-gnueabihf-gcc-ranlib' +c = 'arm-rpi-linux-gnueabihf-gcc' +cpp = 'arm-rpi-linux-gnueabihf-g++' +ar = 'arm-rpi-linux-gnueabihf-ar' +nm = 'arm-rpi-linux-gnueabihf-gcc-nm' +ld = 'arm-rpi-linux-gnueabihf-gcc-ld' +strip = 'arm-rpi-linux-gnueabihf-strip' +ranlib = 'arm-rpi-linux-gnueabihf-gcc-ranlib' [built-in options] libdir = 'lib' From 01379cfed69f6bdf77506c3182e8f9d4aae4e918 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 12 Aug 2024 22:43:15 +0100 Subject: [PATCH 268/327] Bump dep: freetype --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index bed28ed1..4cd65f11 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -106,7 +106,7 @@ VERSION_WEBP=1.4.0 VERSION_TIFF=4.6.0 VERSION_HWY=1.2.0 VERSION_PROXY_LIBINTL=0.4 -VERSION_FREETYPE=2.13.2 +VERSION_FREETYPE=2.13.3 VERSION_EXPAT=2.6.2 VERSION_ARCHIVE=3.7.4 VERSION_FONTCONFIG=2.15.0 From b510980e9a104a77957e3491ac2d0f22535f29e4 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 13 Aug 2024 15:44:41 +0100 Subject: [PATCH 269/327] Release v1.0.4/v1.0.5 (libvips v8.15.3) --- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/dev-wasm32/package.json | 2 +- npm/dev/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-ppc64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/package.json | 2 +- npm/win32-ia32/package.json | 2 +- npm/win32-x64/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index 4db0ff46..b76bdb6b 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-arm64", - "version": "1.0.2", + "version": "1.0.4", "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index d96aadc8..41f84f45 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-x64", - "version": "1.0.2", + "version": "1.0.4", "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index 40cb7cfb..4af52f21 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "1.0.3", + "version": "1.0.5", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev/package.json b/npm/dev/package.json index 1551339c..ab273fcb 100644 --- a/npm/dev/package.json +++ b/npm/dev/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev", - "version": "1.0.2", + "version": "1.0.4", "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index b7d0ff2a..183c4907 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.0.2", + "version": "1.0.5", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index 2d9b5ed2..3e596fe3 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm64", - "version": "1.0.2", + "version": "1.0.4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json index 5039afd7..a1c0c5cc 100644 --- a/npm/linux-ppc64/package.json +++ b/npm/linux-ppc64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-ppc64", - "version": "1.0.2", + "version": "1.0.4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) ppc64le", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index e6a8456c..d8e252d5 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-s390x", - "version": "1.0.2", + "version": "1.0.4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index af6ee5c0..b5d80867 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-x64", - "version": "1.0.2", + "version": "1.0.4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index 2792ce2b..b7ff60f3 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-arm64", - "version": "1.0.2", + "version": "1.0.4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index d165920a..013b0917 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-x64", - "version": "1.0.2", + "version": "1.0.4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/package.json b/npm/package.json index a3446521..751dce5c 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips", - "version": "1.0.2", + "version": "1.0.4", "private": "true", "workspaces": [ "dev", diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json index 6dc321c8..d19b36c5 100644 --- a/npm/win32-ia32/package.json +++ b/npm/win32-ia32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-ia32", - "version": "1.0.2", + "version": "1.0.4", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index 93cafc94..db7857fd 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-x64", - "version": "1.0.2", + "version": "1.0.4", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From a6eb282a7c11b0a6f3259e2ac79f6149168b6d35 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 2 Sep 2024 10:11:41 +0100 Subject: [PATCH 270/327] Bump dep: glib --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 4cd65f11..7e0d7202 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -94,7 +94,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.1 VERSION_FFI=3.4.6 -VERSION_GLIB=2.81.1 +VERSION_GLIB=2.82.0 VERSION_XML2=2.13.3 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 From e9b6265d9de94f7163d15b17c53c21bca4e3380d Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 2 Sep 2024 10:26:08 +0100 Subject: [PATCH 271/327] Bump dep: cairo --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 7e0d7202..60dc36c3 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -112,7 +112,7 @@ VERSION_ARCHIVE=3.7.4 VERSION_FONTCONFIG=2.15.0 VERSION_HARFBUZZ=9.0.0 VERSION_PIXMAN=0.43.4 -VERSION_CAIRO=1.18.0 +VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.15 VERSION_PANGO=1.54.0 VERSION_RSVG=2.58.93 From 0da88328ee775b810297507cfce4b2af995cf5a3 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 2 Sep 2024 10:50:59 +0100 Subject: [PATCH 272/327] Bump dep: rsvg --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 60dc36c3..787cabc4 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -115,7 +115,7 @@ VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.15 VERSION_PANGO=1.54.0 -VERSION_RSVG=2.58.93 +VERSION_RSVG=2.58.94 VERSION_AOM=3.9.1 VERSION_HEIF=1.18.2 VERSION_CGIF=0.4.1 From f88ede1fad3d7d2345a70cc677fc5202f0475ab1 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 2 Sep 2024 10:52:43 +0100 Subject: [PATCH 273/327] glib: prevent debug default (from v2.82.0) --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 787cabc4..45d79b2a 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -224,7 +224,7 @@ cd ${DEPS}/glib $CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/36e32c79e7962c5ea96cbb3f9c629e9145253e30/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dintrospection=disabled -Dnls=disabled -Dlibmount=disabled -Dsysprof=disabled -Dlibelf=disabled \ - -Dtests=false -Dglib_assert=false -Dglib_checks=false ${DARWIN:+-Dbsymbolic_functions=false} + -Dtests=false -Dglib_assert=false -Dglib_checks=false -Dglib_debug=disabled ${DARWIN:+-Dbsymbolic_functions=false} # bin-devel is needed for glib-compile-resources meson install -C _build --tag bin-devel,devel From 27c642811bb69264d43eedee1833c1ac8927fd6f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 2 Sep 2024 10:54:20 +0100 Subject: [PATCH 274/327] cairo: ensure freetype and therefore fontconfig available This re-allows the optional use of fontconfig on macOS via the PANGOCAIRO_BACKEND environment variable. (cairo v1.18.0 switched to a default of coretext-only.) --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 45d79b2a..bb898b43 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -392,7 +392,7 @@ mkdir ${DEPS}/cairo $CURL https://cairographics.org/releases/cairo-${VERSION_CAIRO}.tar.xz | tar xJC ${DEPS}/cairo --strip-components=1 cd ${DEPS}/cairo meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - ${LINUX:+-Dquartz=disabled} ${DARWIN:+-Dquartz=enabled} -Dtee=disabled -Dxcb=disabled -Dxlib=disabled -Dzlib=disabled \ + ${LINUX:+-Dquartz=disabled} ${DARWIN:+-Dquartz=enabled} -Dfreetype=enabled -Dtee=disabled -Dxcb=disabled -Dxlib=disabled -Dzlib=disabled \ -Dtests=disabled -Dspectre=disabled -Dsymbol-lookup=disabled meson install -C _build --tag devel From 273d659a1bd84ba554678bf93d76140de800d34c Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 2 Sep 2024 11:28:46 +0100 Subject: [PATCH 275/327] cairo: ensure cairo-ft can be built on macOS See commit 27c6428 --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index bb898b43..25fc0dd3 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -392,7 +392,7 @@ mkdir ${DEPS}/cairo $CURL https://cairographics.org/releases/cairo-${VERSION_CAIRO}.tar.xz | tar xJC ${DEPS}/cairo --strip-components=1 cd ${DEPS}/cairo meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - ${LINUX:+-Dquartz=disabled} ${DARWIN:+-Dquartz=enabled} -Dfreetype=enabled -Dtee=disabled -Dxcb=disabled -Dxlib=disabled -Dzlib=disabled \ + ${LINUX:+-Dquartz=disabled} ${DARWIN:+-Dquartz=enabled} -Dfreetype=enabled -Dfontconfig=enabled -Dtee=disabled -Dxcb=disabled -Dxlib=disabled -Dzlib=disabled \ -Dtests=disabled -Dspectre=disabled -Dsymbol-lookup=disabled meson install -C _build --tag devel From 9eb45ac88d278d70c7eb7b6d3f7b4fac28008c4d Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 8 Sep 2024 12:15:50 +0100 Subject: [PATCH 276/327] Bump dep: expat --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 25fc0dd3..b51e3f02 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -107,7 +107,7 @@ VERSION_TIFF=4.6.0 VERSION_HWY=1.2.0 VERSION_PROXY_LIBINTL=0.4 VERSION_FREETYPE=2.13.3 -VERSION_EXPAT=2.6.2 +VERSION_EXPAT=2.6.3 VERSION_ARCHIVE=3.7.4 VERSION_FONTCONFIG=2.15.0 VERSION_HARFBUZZ=9.0.0 From 49754b6750e128200ab070792fec2399ab17ae46 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 3 Oct 2024 11:52:43 +0200 Subject: [PATCH 277/327] Bump deps: archive, fribidi, glib, harfbuzz, png, rsvg, tiff, xml2, zlib-ng (#249) --- build/lin.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index b51e3f02..8b3a724a 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -92,30 +92,30 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.2.1 +VERSION_ZLIB_NG=2.2.2 VERSION_FFI=3.4.6 -VERSION_GLIB=2.82.0 -VERSION_XML2=2.13.3 +VERSION_GLIB=2.82.1 +VERSION_XML2=2.13.4 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 -VERSION_PNG16=1.6.43 +VERSION_PNG16=1.6.44 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.4.0 -VERSION_TIFF=4.6.0 +VERSION_TIFF=4.7.0 VERSION_HWY=1.2.0 VERSION_PROXY_LIBINTL=0.4 VERSION_FREETYPE=2.13.3 VERSION_EXPAT=2.6.3 -VERSION_ARCHIVE=3.7.4 +VERSION_ARCHIVE=3.7.6 VERSION_FONTCONFIG=2.15.0 -VERSION_HARFBUZZ=9.0.0 +VERSION_HARFBUZZ=10.0.1 VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.2 -VERSION_FRIBIDI=1.0.15 +VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.54.0 -VERSION_RSVG=2.58.94 +VERSION_RSVG=2.59.1 VERSION_AOM=3.9.1 VERSION_HEIF=1.18.2 VERSION_CGIF=0.4.1 From 163fb0a62924889779d55ad90fe973131cfb6065 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 7 Oct 2024 13:00:13 +0200 Subject: [PATCH 278/327] Upgrade to libvips v8.15.5-rc1 (#250) --- LIBVIPS_VERSION | 2 +- build/lin.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index d2c1cf91..42a2ffc1 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.15.3 +8.15.5-rc1 diff --git a/build/lin.sh b/build/lin.sh index 8b3a724a..f412d10b 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -445,7 +445,7 @@ CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=r meson install -C _build --tag devel mkdir ${DEPS}/vips -$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-$(without_prerelease $VERSION_VIPS).tar.xz | tar xJC ${DEPS}/vips --strip-components=1 +$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-${VERSION_VIPS}.tar.xz | tar xJC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips # Disable HBR support in heifsave $CURL https://github.com/libvips/build-win64-mxe/raw/v${VERSION_VIPS}/build/patches/vips-8-heifsave-disable-hbr-support.patch | patch -p1 From 9f3d92f5c58d09dd246eb3fdf72d3c5d8aec8a7d Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 8 Oct 2024 16:50:53 +0200 Subject: [PATCH 279/327] Bump dep: aom (#251) --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index f412d10b..f0f43918 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -116,7 +116,7 @@ VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.54.0 VERSION_RSVG=2.59.1 -VERSION_AOM=3.9.1 +VERSION_AOM=3.10.0 VERSION_HEIF=1.18.2 VERSION_CGIF=0.4.1 From 12104193f5901aed7a39cc93a8312905191abcf0 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 9 Oct 2024 11:15:07 +0100 Subject: [PATCH 280/327] Add libvips version number to shared library SONAME and filename (#252) This should help improve support for multiple versions of sharp that use differing versions of libvips running within the same process by ensuring dlopen accesses the relevant shared library. --- build/lin.sh | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index f0f43918..0097f559 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -1,6 +1,15 @@ #!/usr/bin/env bash set -e +# Remove patch version component +without_patch() { + echo "${1%.[[:digit:]]*}" +} +# Remove prerelease suffix +without_prerelease() { + echo "${1%-[[:alnum:]]*}" +} + # Environment / working directories case ${PLATFORM} in linux*) @@ -9,7 +18,7 @@ case ${PLATFORM} in TARGET=/target PACKAGE=/packaging ROOT=/root - VIPS_CPP_DEP=libvips-cpp.so.42 + VIPS_CPP_DEP=libvips-cpp.so.$(without_prerelease $VERSION_VIPS) ;; darwin*) DARWIN=true @@ -17,7 +26,7 @@ case ${PLATFORM} in TARGET=$PWD/target PACKAGE=$PWD ROOT=$PWD/platforms/$PLATFORM - VIPS_CPP_DEP=libvips-cpp.42.dylib + VIPS_CPP_DEP=libvips-cpp.$(without_prerelease $VERSION_VIPS).dylib ;; esac @@ -120,15 +129,6 @@ VERSION_AOM=3.10.0 VERSION_HEIF=1.18.2 VERSION_CGIF=0.4.1 -# Remove patch version component -without_patch() { - echo "${1%.[[:digit:]]*}" -} -# Remove prerelease suffix -without_prerelease() { - echo "${1%-[[:alnum:]]*}" -} - # Check for newer versions # Skip by setting the VERSION_LATEST_REQUIRED environment variable to "false" ALL_AT_VERSION_LATEST=true @@ -447,13 +447,15 @@ meson install -C _build --tag devel mkdir ${DEPS}/vips $CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-${VERSION_VIPS}.tar.xz | tar xJC ${DEPS}/vips --strip-components=1 cd ${DEPS}/vips +# Use version number in SONAME +$CURL https://gist.githubusercontent.com/lovell/313a6901e9db1bf285f2a1f1180499e4/raw/3988223c7dfa4d22745d9392034b0117abef1446/libvips-cpp-soversion.patch | patch -p1 # Disable HBR support in heifsave $CURL https://github.com/libvips/build-win64-mxe/raw/v${VERSION_VIPS}/build/patches/vips-8-heifsave-disable-hbr-support.patch | patch -p1 -# Link libvips.so.42 statically into libvips-cpp.so.42 +# Link libvips.so statically into libvips-cpp.so sed -i'.bak' "s/library('vips'/static_&/" libvips/meson.build sed -i'.bak' "/version: library_version/{N;d;}" libvips/meson.build if [ "$LINUX" = true ]; then - # Ensure libvips-cpp.so.42 is linked with -z nodelete + # Ensure libvips-cpp.so is linked with -z nodelete sed -i'.bak' "/gnu_symbol_visibility: 'hidden',/a link_args: nodelete_link_args," cplusplus/meson.build # Ensure symbols from external libs (except for libglib-2.0.a and libgobject-2.0.a) are not exposed EXCLUDE_LIBS=$(find ${TARGET}/lib -maxdepth 1 -name '*.a' ! -name 'libglib-2.0.a' ! -name 'libgobject-2.0.a' -printf "-Wl,--exclude-libs=%f ") From 9c5fe30077bf9ec5e21e6ed97618cb85b568f27a Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 9 Oct 2024 14:30:20 +0100 Subject: [PATCH 281/327] Release v1.0.6 (libvips v8.15.5-rc1) --- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/dev-wasm32/package.json | 2 +- npm/dev/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-ppc64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/package.json | 2 +- npm/win32-ia32/package.json | 2 +- npm/win32-x64/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index b76bdb6b..1ee44bdd 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-arm64", - "version": "1.0.4", + "version": "1.0.6", "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index 41f84f45..956e6676 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-x64", - "version": "1.0.4", + "version": "1.0.6", "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index 4af52f21..f75daa9c 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "1.0.5", + "version": "1.0.6", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev/package.json b/npm/dev/package.json index ab273fcb..80e92785 100644 --- a/npm/dev/package.json +++ b/npm/dev/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev", - "version": "1.0.4", + "version": "1.0.6", "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index 183c4907..0516b2a6 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.0.5", + "version": "1.0.6", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index 3e596fe3..c2bb5ced 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm64", - "version": "1.0.4", + "version": "1.0.6", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json index a1c0c5cc..b5150b5f 100644 --- a/npm/linux-ppc64/package.json +++ b/npm/linux-ppc64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-ppc64", - "version": "1.0.4", + "version": "1.0.6", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) ppc64le", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index d8e252d5..edcffe09 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-s390x", - "version": "1.0.4", + "version": "1.0.6", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index b5d80867..420eb774 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-x64", - "version": "1.0.4", + "version": "1.0.6", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index b7ff60f3..f5a52c2e 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-arm64", - "version": "1.0.4", + "version": "1.0.6", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index 013b0917..0b50936f 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-x64", - "version": "1.0.4", + "version": "1.0.6", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/package.json b/npm/package.json index 751dce5c..25487bdf 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips", - "version": "1.0.4", + "version": "1.0.6", "private": "true", "workspaces": [ "dev", diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json index d19b36c5..f822253b 100644 --- a/npm/win32-ia32/package.json +++ b/npm/win32-ia32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-ia32", - "version": "1.0.4", + "version": "1.0.6", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index db7857fd..2b471cf7 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-x64", - "version": "1.0.4", + "version": "1.0.6", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From d84029b4122685e80e49e32955e313765b500cd7 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sun, 13 Oct 2024 22:16:20 +0200 Subject: [PATCH 282/327] Upgrade to libvips v8.16.0-rc1 (#253) --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 42a2ffc1..87b632ce 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.15.5-rc1 +8.16.0-rc1 From c88c89f088346cdf8e4e83012ce782eff4299bf9 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 14 Oct 2024 10:12:03 +0100 Subject: [PATCH 283/327] Release v1.1.0-rc1 (libvips v8.16.0-rc1) --- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/dev-wasm32/package.json | 2 +- npm/dev/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-ppc64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/package.json | 2 +- npm/win32-ia32/package.json | 2 +- npm/win32-x64/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index 1ee44bdd..8e4f486d 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-arm64", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index 956e6676..cb590e55 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-x64", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index f75daa9c..0827183a 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev/package.json b/npm/dev/package.json index 80e92785..6161c5ba 100644 --- a/npm/dev/package.json +++ b/npm/dev/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index 0516b2a6..c2173a4f 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index c2bb5ced..08017166 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm64", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json index b5150b5f..d3fb40cb 100644 --- a/npm/linux-ppc64/package.json +++ b/npm/linux-ppc64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-ppc64", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) ppc64le", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index edcffe09..2d364896 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-s390x", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index 420eb774..3333e6fe 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-x64", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index f5a52c2e..7d66a38a 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-arm64", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index 0b50936f..2c3f283f 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-x64", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/package.json b/npm/package.json index 25487bdf..da16e50c 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips", - "version": "1.0.6", + "version": "1.1.0-rc1", "private": "true", "workspaces": [ "dev", diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json index f822253b..6a125c23 100644 --- a/npm/win32-ia32/package.json +++ b/npm/win32-ia32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-ia32", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index 2b471cf7..e717e0be 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-x64", - "version": "1.0.6", + "version": "1.1.0-rc1", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From f26590a7861940f0e66e72cdd9240ae5f6338205 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 14 Oct 2024 17:28:33 +0100 Subject: [PATCH 284/327] Bump dep: archive --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 0097f559..94eb2cc4 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -117,7 +117,7 @@ VERSION_HWY=1.2.0 VERSION_PROXY_LIBINTL=0.4 VERSION_FREETYPE=2.13.3 VERSION_EXPAT=2.6.3 -VERSION_ARCHIVE=3.7.6 +VERSION_ARCHIVE=3.7.7 VERSION_FONTCONFIG=2.15.0 VERSION_HARFBUZZ=10.0.1 VERSION_PIXMAN=0.43.4 From db9fdbae98d3bae3346541009f77c80702b28508 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 14 Oct 2024 17:16:14 +0100 Subject: [PATCH 285/327] CI: Upgrade to macOS 13 (Intel), limit permissions --- .github/workflows/build-release.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 3796b6bd..9bd9becf 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -1,8 +1,13 @@ name: Build Release -on: [ push, pull_request ] +on: + - push + - pull_request +permissions: {} jobs: create-release: - runs-on: 'ubuntu-22.04' + permissions: + contents: write + runs-on: 'ubuntu-24.04' outputs: upload_url: ${{ steps.create-release.outputs.upload_url }} steps: @@ -15,12 +20,15 @@ jobs: prerelease: true token: ${{ secrets.GITHUB_TOKEN }} build: + permissions: + contents: write runs-on: ${{ matrix.os }} needs: create-release strategy: fail-fast: false matrix: - os: [ ubuntu-22.04 ] + os: + - 'ubuntu-24.04' platform: - 'linux-x64' - 'linux-armv6' @@ -33,9 +41,9 @@ jobs: - 'win32-x64' - 'win32-arm64v8' include: - - os: macos-12 + - os: macos-13 platform: 'darwin-x64' - - os: macos-12 + - os: macos-13 platform: 'darwin-arm64v8' steps: - name: Checkout From 2078c2349b64f91787ea6510c42b99209b5b2bfc Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Mon, 21 Oct 2024 12:13:19 +0200 Subject: [PATCH 286/327] Bump dep: glib (#254) - rsvg: avoid use of `cargo generate-lockfile` - webp: ignore "latest" webp-rfc9649 tag --- build/lin.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 94eb2cc4..ef44c9e5 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -103,7 +103,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.2 VERSION_FFI=3.4.6 -VERSION_GLIB=2.82.1 +VERSION_GLIB=2.82.2 VERSION_XML2=2.13.4 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 @@ -160,7 +160,7 @@ version_latest "lcms2" "$VERSION_LCMS2" "9815" version_latest "mozjpeg" "$VERSION_MOZJPEG" "mozilla/mozjpeg" version_latest "png" "$VERSION_PNG16" "1705" version_latest "spng" "$VERSION_SPNG" "24289" -version_latest "webp" "$VERSION_WEBP" "webmproject/libwebp" +version_latest "webp" "$VERSION_WEBP" "1761" version_latest "tiff" "$VERSION_TIFF" "1738" version_latest "highway" "$VERSION_HWY" "205809" version_latest "proxy-libintl" "$VERSION_PROXY_LIBINTL" "frida/proxy-libintl" @@ -428,8 +428,8 @@ cat >> Cargo.toml < Date: Tue, 22 Oct 2024 11:05:54 +0200 Subject: [PATCH 287/327] Upgrade to libvips v8.16.0-rc2 (#255) * cargo-c: ensure deterministic build --- LIBVIPS_VERSION | 2 +- build/lin.sh | 2 +- platforms/linux-arm64v8/Dockerfile | 2 +- platforms/linux-armv6/Dockerfile | 2 +- platforms/linux-ppc64le/Dockerfile | 2 +- platforms/linux-s390x/Dockerfile | 2 +- platforms/linux-x64/Dockerfile | 2 +- platforms/linuxmusl-arm64v8/Dockerfile | 2 +- platforms/linuxmusl-x64/Dockerfile | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 87b632ce..a52f900f 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.16.0-rc1 +8.16.0-rc2 diff --git a/build/lin.sh b/build/lin.sh index ef44c9e5..75389bc4 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -187,7 +187,7 @@ if [ "$DARWIN" = true ]; then if [ "$DARWIN_ARM" = true ]; then ${CARGO_HOME}/bin/rustup target add aarch64-apple-darwin fi - CFLAGS= cargo install cargo-c + CFLAGS= cargo install cargo-c --locked fi if [ "${PLATFORM%-*}" == "linuxmusl" ] || [ "$DARWIN" = true ]; then diff --git a/platforms/linux-arm64v8/Dockerfile b/platforms/linux-arm64v8/Dockerfile index e034dd09..14a8e104 100644 --- a/platforms/linux-arm64v8/Dockerfile +++ b/platforms/linux-arm64v8/Dockerfile @@ -49,7 +49,7 @@ RUN \ --profile minimal \ --default-host aarch64-unknown-linux-gnu \ && \ - cargo install cargo-c && \ + cargo install cargo-c --locked && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ pip3 install meson ninja packaging tomli diff --git a/platforms/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile index 2ea91fec..6c1b7352 100644 --- a/platforms/linux-armv6/Dockerfile +++ b/platforms/linux-armv6/Dockerfile @@ -37,7 +37,7 @@ RUN \ --profile minimal \ && \ rustup target add arm-unknown-linux-gnueabihf && \ - cargo install cargo-c && \ + cargo install cargo-c --locked && \ pip3 install meson tomli # Compiler settings diff --git a/platforms/linux-ppc64le/Dockerfile b/platforms/linux-ppc64le/Dockerfile index f2a30955..35d69fde 100644 --- a/platforms/linux-ppc64le/Dockerfile +++ b/platforms/linux-ppc64le/Dockerfile @@ -35,7 +35,7 @@ RUN \ --profile minimal \ && \ rustup target add powerpc64le-unknown-linux-gnu && \ - cargo install cargo-c && \ + cargo install cargo-c --locked && \ pip3 install meson tomli # Handy for debugging the compiled targets in Highway (hwy_list_targets) diff --git a/platforms/linux-s390x/Dockerfile b/platforms/linux-s390x/Dockerfile index d88981d3..b5881100 100644 --- a/platforms/linux-s390x/Dockerfile +++ b/platforms/linux-s390x/Dockerfile @@ -36,7 +36,7 @@ RUN \ --profile minimal \ && \ rustup target add s390x-unknown-linux-gnu && \ - cargo install cargo-c && \ + cargo install cargo-c --locked && \ pip3 install meson tomli # Handy for debugging the compiled targets in Highway (hwy_list_targets) diff --git a/platforms/linux-x64/Dockerfile b/platforms/linux-x64/Dockerfile index 1743ce63..83e41cb7 100644 --- a/platforms/linux-x64/Dockerfile +++ b/platforms/linux-x64/Dockerfile @@ -48,7 +48,7 @@ RUN \ --no-modify-path \ --profile minimal \ && \ - cargo install cargo-c && \ + cargo install cargo-c --locked && \ ln -s /usr/bin/cmake3 /usr/bin/cmake && \ pip3 install meson ninja packaging tomli diff --git a/platforms/linuxmusl-arm64v8/Dockerfile b/platforms/linuxmusl-arm64v8/Dockerfile index 7ccc15e2..9f7dda6b 100644 --- a/platforms/linuxmusl-arm64v8/Dockerfile +++ b/platforms/linuxmusl-arm64v8/Dockerfile @@ -46,7 +46,7 @@ RUN \ --profile minimal \ && \ rustup target add aarch64-unknown-linux-musl && \ - cargo install cargo-c && \ + cargo install cargo-c --locked && \ pip3 install meson # Compiler settings diff --git a/platforms/linuxmusl-x64/Dockerfile b/platforms/linuxmusl-x64/Dockerfile index 31940da0..3fa55eca 100644 --- a/platforms/linuxmusl-x64/Dockerfile +++ b/platforms/linuxmusl-x64/Dockerfile @@ -43,7 +43,7 @@ RUN \ --no-modify-path \ --profile minimal \ && \ - cargo install cargo-c && \ + cargo install cargo-c --locked && \ pip3 install meson # Compiler settings From 4578043bc58aceae412503b898d972acad8e1258 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 28 Oct 2024 10:07:58 +0000 Subject: [PATCH 288/327] Release v1.1.0-rc2 (libvips v8.16.0-rc2) --- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/dev-wasm32/package.json | 2 +- npm/dev/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-ppc64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/package.json | 2 +- npm/win32-ia32/package.json | 2 +- npm/win32-x64/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index 8e4f486d..dd841690 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-arm64", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index cb590e55..aaa1ff38 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-x64", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index 0827183a..51ff32e7 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev/package.json b/npm/dev/package.json index 6161c5ba..16f36257 100644 --- a/npm/dev/package.json +++ b/npm/dev/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index c2173a4f..5e422f7f 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index 08017166..6cd8726a 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm64", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json index d3fb40cb..c779938a 100644 --- a/npm/linux-ppc64/package.json +++ b/npm/linux-ppc64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-ppc64", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) ppc64le", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index 2d364896..415a3c05 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-s390x", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index 3333e6fe..400adf72 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-x64", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index 7d66a38a..e0665ec9 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-arm64", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index 2c3f283f..643869ac 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-x64", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/package.json b/npm/package.json index da16e50c..ab903a7f 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "private": "true", "workspaces": [ "dev", diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json index 6a125c23..7e7222ec 100644 --- a/npm/win32-ia32/package.json +++ b/npm/win32-ia32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-ia32", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index e717e0be..339a2a38 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-x64", - "version": "1.1.0-rc1", + "version": "1.1.0-rc2", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From dd14232e8bb0afdcea025670c3df50b7489d47b1 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 28 Oct 2024 11:49:21 +0000 Subject: [PATCH 289/327] tiff: build without libdeflate --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 75389bc4..b5ac0cc7 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -314,7 +314,7 @@ $CURL https://download.osgeo.org/libtiff/tiff-${VERSION_TIFF}.tar.gz | tar xzC $ cd ${DEPS}/tiff # Propagate -pthread into CFLAGS to ensure WebP support CFLAGS="${CFLAGS} -pthread" ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ - --disable-tools --disable-tests --disable-contrib --disable-docs --disable-mdi --disable-pixarlog --disable-old-jpeg --disable-cxx --disable-lzma --disable-zstd + --disable-tools --disable-tests --disable-contrib --disable-docs --disable-mdi --disable-pixarlog --disable-old-jpeg --disable-cxx --disable-lzma --disable-zstd --disable-libdeflate make install-strip noinst_PROGRAMS= dist_doc_DATA= if [ -z "$WITHOUT_HIGHWAY" ]; then From b7f1adc16ccac18f07fc7940de5ed473a36ca713 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Tue, 29 Oct 2024 08:43:14 +0100 Subject: [PATCH 290/327] Upgrade to libvips v8.16.0 (#256) --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index a52f900f..894aa0bc 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.16.0-rc2 +8.16.0 From dc55d50a348d647fe8df1417d77af6a76406c044 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 1 Nov 2024 13:01:24 +0000 Subject: [PATCH 291/327] Bump dep: rsvg --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index b5ac0cc7..c01f35cb 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -124,7 +124,7 @@ VERSION_PIXMAN=0.43.4 VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.54.0 -VERSION_RSVG=2.59.1 +VERSION_RSVG=2.59.2 VERSION_AOM=3.10.0 VERSION_HEIF=1.18.2 VERSION_CGIF=0.4.1 From f83d1f92853d059fdfbc2648eeb014479c4f5a28 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 1 Nov 2024 13:02:08 +0000 Subject: [PATCH 292/327] Upgrade version of gcc in ARMv6 container --- platforms/linux-armv6/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile index 6c1b7352..ab84dbb2 100644 --- a/platforms/linux-armv6/Dockerfile +++ b/platforms/linux-armv6/Dockerfile @@ -7,7 +7,7 @@ LABEL maintainer="Lovell Fuller " ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:/root/tools/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin:$PATH" + PATH="/usr/local/cargo/bin:/root/tools/x64-gcc-12.3.0-glibc-2.28/arm-rpi-linux-gnueabihf/bin:$PATH" # Build dependencies RUN \ From 9e53a16010da5473c7d8bc66c46cb06001a4af90 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 1 Nov 2024 15:31:33 +0000 Subject: [PATCH 293/327] Upgrade minimum macOS version to 10.15 (Catalina) (#257) Required for C++17, aligned alloc etc. --- build.sh | 2 +- build/lin.sh | 3 --- platforms/darwin-x64/Toolchain.cmake | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/build.sh b/build.sh index 40ec60c3..771eb15a 100755 --- a/build.sh +++ b/build.sh @@ -46,7 +46,7 @@ for flavour in darwin-x64 darwin-arm64v8; do export PKG_CONFIG="$(brew --prefix)/bin/pkg-config --static" # Earliest supported version of macOS - export MACOSX_DEPLOYMENT_TARGET="10.13" + export MACOSX_DEPLOYMENT_TARGET="10.15" # Added -fno-stack-check to workaround a stack misalignment bug on macOS 10.15 # See: diff --git a/build/lin.sh b/build/lin.sh index c01f35cb..691b80fc 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -203,9 +203,6 @@ fi mkdir ${DEPS}/zlib-ng $CURL https://github.com/zlib-ng/zlib-ng/archive/${VERSION_ZLIB_NG}.tar.gz | tar xzC ${DEPS}/zlib-ng --strip-components=1 cd ${DEPS}/zlib-ng -if [ "$MACOSX_DEPLOYMENT_TARGET" = "10.13" ]; then - sed -i'.bak' "/-DHAVE_ALIGNED_ALLOC/d" CMakeLists.txt -fi CFLAGS="${CFLAGS} -O3" cmake -G"Unix Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=FALSE -DZLIB_COMPAT=TRUE -DWITH_ARMV6=FALSE diff --git a/platforms/darwin-x64/Toolchain.cmake b/platforms/darwin-x64/Toolchain.cmake index 08be8ab0..e1c513f7 100644 --- a/platforms/darwin-x64/Toolchain.cmake +++ b/platforms/darwin-x64/Toolchain.cmake @@ -2,7 +2,7 @@ SET(CMAKE_C_COMPILER clang) SET(CMAKE_CXX_COMPILER clang++) # Earliest supported version of macOS -SET(CMAKE_OSX_DEPLOYMENT_TARGET 10.13) +SET(CMAKE_OSX_DEPLOYMENT_TARGET 10.15) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) From a280b4833e6b28b9ae97f4054b52eb5b8cde8326 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 3 Nov 2024 09:23:38 +0000 Subject: [PATCH 294/327] Bump dep: heif --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 691b80fc..fed16021 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -126,7 +126,7 @@ VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.54.0 VERSION_RSVG=2.59.2 VERSION_AOM=3.10.0 -VERSION_HEIF=1.18.2 +VERSION_HEIF=1.19.1 VERSION_CGIF=0.4.1 # Check for newer versions From 3718441cc2acc73f8443d2d394a53b6f9ffbb5b3 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 4 Nov 2024 16:22:56 +0000 Subject: [PATCH 295/327] Release v1.1.0-rc3 (libvips v8.16.0) --- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/dev-wasm32/package.json | 2 +- npm/dev/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-ppc64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/package.json | 2 +- npm/win32-ia32/package.json | 2 +- npm/win32-x64/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index dd841690..b41d586d 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-arm64", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index aaa1ff38..98a46636 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-x64", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index 51ff32e7..e056756d 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev/package.json b/npm/dev/package.json index 16f36257..d941a8d3 100644 --- a/npm/dev/package.json +++ b/npm/dev/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index 5e422f7f..fbf45128 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index 6cd8726a..f6363691 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm64", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json index c779938a..96ee4755 100644 --- a/npm/linux-ppc64/package.json +++ b/npm/linux-ppc64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-ppc64", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) ppc64le", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index 415a3c05..c445260b 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-s390x", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index 400adf72..27321a5f 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-x64", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index e0665ec9..2ebc16ec 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-arm64", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index 643869ac..65c33eb9 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-x64", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/package.json b/npm/package.json index ab903a7f..eb8c9f20 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "private": "true", "workspaces": [ "dev", diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json index 7e7222ec..d643d1c4 100644 --- a/npm/win32-ia32/package.json +++ b/npm/win32-ia32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-ia32", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index 339a2a38..d736e0b0 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-x64", - "version": "1.1.0-rc2", + "version": "1.1.0-rc3", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From 5da396cc76fe73bb307d9c7be509045ddc52e5bf Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 4 Nov 2024 20:20:58 +0000 Subject: [PATCH 296/327] linux-arm: upgrade to Debian 11 (glibc 2.31), aids C++17 support --- npm/linux-arm/package.json | 4 ++-- platforms/linux-armv6/Dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index fbf45128..948aeee9 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.1.0-rc3", + "version": "1.1.0-rc3.1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", @@ -28,7 +28,7 @@ }, "type": "commonjs", "config": { - "glibc": ">=2.28" + "glibc": ">=2.31" }, "os": [ "linux" diff --git a/platforms/linux-armv6/Dockerfile b/platforms/linux-armv6/Dockerfile index ab84dbb2..928b367f 100644 --- a/platforms/linux-armv6/Dockerfile +++ b/platforms/linux-armv6/Dockerfile @@ -1,13 +1,13 @@ FROM debian:buster LABEL maintainer="Lovell Fuller " -# Create Debian 10 (glibc 2.28) container suitable for cross-compiling Linux ARMv6 binaries +# Create Debian 11 (glibc 2.31) container suitable for cross-compiling Linux ARMv6 binaries # Path settings ENV \ RUSTUP_HOME="/usr/local/rustup" \ CARGO_HOME="/usr/local/cargo" \ - PATH="/usr/local/cargo/bin:/root/tools/x64-gcc-12.3.0-glibc-2.28/arm-rpi-linux-gnueabihf/bin:$PATH" + PATH="/usr/local/cargo/bin:/root/tools/x64-gcc-10.3.0-glibc-2.28/arm-rpi-linux-gnueabihf/bin:$PATH" # Build dependencies RUN \ From c7f789c15acd11c372461f261221a6491046e16f Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 10 Nov 2024 10:48:18 +0000 Subject: [PATCH 297/327] Bump deps: expat, glib, harfbuzz, heif, pixman --- build/lin.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index fed16021..c83f2e77 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -103,7 +103,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.2 VERSION_FFI=3.4.6 -VERSION_GLIB=2.82.2 +VERSION_GLIB=2.83.0 VERSION_XML2=2.13.4 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 @@ -116,17 +116,17 @@ VERSION_TIFF=4.7.0 VERSION_HWY=1.2.0 VERSION_PROXY_LIBINTL=0.4 VERSION_FREETYPE=2.13.3 -VERSION_EXPAT=2.6.3 +VERSION_EXPAT=2.6.4 VERSION_ARCHIVE=3.7.7 VERSION_FONTCONFIG=2.15.0 -VERSION_HARFBUZZ=10.0.1 -VERSION_PIXMAN=0.43.4 +VERSION_HARFBUZZ=10.1.0 +VERSION_PIXMAN=0.44.0 VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.54.0 VERSION_RSVG=2.59.2 VERSION_AOM=3.10.0 -VERSION_HEIF=1.19.1 +VERSION_HEIF=1.19.2 VERSION_CGIF=0.4.1 # Check for newer versions @@ -381,7 +381,7 @@ mkdir ${DEPS}/pixman $CURL https://cairographics.org/releases/pixman-${VERSION_PIXMAN}.tar.gz | tar xzC ${DEPS}/pixman --strip-components=1 cd ${DEPS}/pixman meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dlibpng=disabled -Diwmmxt=disabled -Dgtk=disabled -Dopenmp=disabled -Dtests=disabled \ + -Dlibpng=disabled -Dgtk=disabled -Dopenmp=disabled -Dtests=disabled -Ddemos=disabled \ ${DARWIN_ARM:+-Da64-neon=disabled} meson install -C _build --tag devel From 22969d597bffab4dfcf12c571e5bc678e7a28cee Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 20 Nov 2024 17:17:16 +0000 Subject: [PATCH 298/327] Bump deps: aom, heif, xml2 --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index c83f2e77..bcdeabf0 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -104,7 +104,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" VERSION_ZLIB_NG=2.2.2 VERSION_FFI=3.4.6 VERSION_GLIB=2.83.0 -VERSION_XML2=2.13.4 +VERSION_XML2=2.13.5 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 @@ -125,8 +125,8 @@ VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.54.0 VERSION_RSVG=2.59.2 -VERSION_AOM=3.10.0 -VERSION_HEIF=1.19.2 +VERSION_AOM=3.11.0 +VERSION_HEIF=1.19.5 VERSION_CGIF=0.4.1 # Check for newer versions From 5418149bc8596c7b4edd6dfa78a1ada623273110 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 9 Dec 2024 15:04:42 +0000 Subject: [PATCH 299/327] Bump deps: pango, pixman --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index bcdeabf0..3756c46f 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -120,10 +120,10 @@ VERSION_EXPAT=2.6.4 VERSION_ARCHIVE=3.7.7 VERSION_FONTCONFIG=2.15.0 VERSION_HARFBUZZ=10.1.0 -VERSION_PIXMAN=0.44.0 +VERSION_PIXMAN=0.44.2 VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 -VERSION_PANGO=1.54.0 +VERSION_PANGO=1.55.0 VERSION_RSVG=2.59.2 VERSION_AOM=3.11.0 VERSION_HEIF=1.19.5 From 37f6402697c530fe4e0288d42dd8e20f4a076eb1 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 9 Dec 2024 15:06:16 +0000 Subject: [PATCH 300/327] exif: patch to relax/allow parsing Samsung metadata --- build/lin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/lin.sh b/build/lin.sh index 3756c46f..1c5f2e69 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -237,6 +237,8 @@ $CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libe cd ${DEPS}/exif # https://github.com/libexif/libexif/pull/147 $CURL https://github.com/lovell/libexif/commit/db84aefa1deb103604c5860dd6486b1dd3af676b.patch | patch -p1 +# https://github.com/libexif/libexif/pull/183 +$CURL https://github.com/lovell/libexif/commit/ef0887f2635180d1e7197c92756d1dc0243f9a35.patch | patch -p1 ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-nls --without-libiconv-prefix --without-libintl-prefix \ CPPFLAGS="${CPPFLAGS} -DNO_VERBOSE_TAG_DATA" From c0a0e382796f225e7ebe02ed7d003157dab23f4a Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 12 Dec 2024 11:52:47 +0100 Subject: [PATCH 301/327] Bump deps: glib, pango (#259) --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 1c5f2e69..5eb92ff8 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -103,7 +103,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.2 VERSION_FFI=3.4.6 -VERSION_GLIB=2.83.0 +VERSION_GLIB=2.83.2 VERSION_XML2=2.13.5 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 @@ -123,7 +123,7 @@ VERSION_HARFBUZZ=10.1.0 VERSION_PIXMAN=0.44.2 VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 -VERSION_PANGO=1.55.0 +VERSION_PANGO=1.55.5 VERSION_RSVG=2.59.2 VERSION_AOM=3.11.0 VERSION_HEIF=1.19.5 From fad94a90409cef84a663a705d3b6056bf131542a Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 12 Dec 2024 14:26:40 +0100 Subject: [PATCH 302/327] pixman: ARM64 intrinsics supported on Mach-O (#260) --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 5eb92ff8..3f5d8572 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -384,7 +384,7 @@ $CURL https://cairographics.org/releases/pixman-${VERSION_PIXMAN}.tar.gz | tar x cd ${DEPS}/pixman meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dlibpng=disabled -Dgtk=disabled -Dopenmp=disabled -Dtests=disabled -Ddemos=disabled \ - ${DARWIN_ARM:+-Da64-neon=disabled} + ${WITHOUT_NEON:+-Da64-neon=disabled} meson install -C _build --tag devel mkdir ${DEPS}/cairo From 6be5623025239acab0b031ebf6c6ca7100ee323f Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 12 Dec 2024 15:58:53 +0100 Subject: [PATCH 303/327] resvg: update licence (#262) See: https://github.com/linebender/resvg/commit/cfb2ee57d53852d26189adf0dc047b9b68b32c0c --- npm/dev-wasm32/THIRD-PARTY-NOTICES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/dev-wasm32/THIRD-PARTY-NOTICES.md b/npm/dev-wasm32/THIRD-PARTY-NOTICES.md index b5ad47c8..c42babb8 100644 --- a/npm/dev-wasm32/THIRD-PARTY-NOTICES.md +++ b/npm/dev-wasm32/THIRD-PARTY-NOTICES.md @@ -22,7 +22,7 @@ used under the terms of the following licences: | libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) | | libvips | LGPLv3 | | libwebp | New BSD License | -| resvg | MPL-2.0 License | +| resvg | MIT Licence | | zlib-ng | [zlib Licence](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) | Use of libraries under the terms of the LGPLv3 is via the From 932de3218f2b976b0d6895d92f12a7b4e174d509 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 6 Jan 2025 15:34:46 +0000 Subject: [PATCH 304/327] Bump deps: webp, zlib-ng --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 3f5d8572..a8efab19 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -101,7 +101,7 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.2.2 +VERSION_ZLIB_NG=2.2.3 VERSION_FFI=3.4.6 VERSION_GLIB=2.83.2 VERSION_XML2=2.13.5 @@ -111,7 +111,7 @@ VERSION_MOZJPEG=4.1.5 VERSION_PNG16=1.6.44 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 -VERSION_WEBP=1.4.0 +VERSION_WEBP=1.5.0 VERSION_TIFF=4.7.0 VERSION_HWY=1.2.0 VERSION_PROXY_LIBINTL=0.4 @@ -172,7 +172,7 @@ version_latest "harfbuzz" "$VERSION_HARFBUZZ" "1299" version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" -version_latest "pango" "$VERSION_PANGO" "11783" +version_latest "pango" "$VERSION_PANGO" "11783" "unstable" version_latest "rsvg" "$VERSION_RSVG" "5420" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "64439" From e2407bb4d5c9abb5beb93deba9798a8af27bc573 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 14 Jan 2025 14:57:39 +0000 Subject: [PATCH 305/327] Bump deps: harfbuzz, pango, png --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index a8efab19..c1a4d333 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -108,7 +108,7 @@ VERSION_XML2=2.13.5 VERSION_EXIF=0.6.24 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 -VERSION_PNG16=1.6.44 +VERSION_PNG16=1.6.45 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.5.0 @@ -119,11 +119,11 @@ VERSION_FREETYPE=2.13.3 VERSION_EXPAT=2.6.4 VERSION_ARCHIVE=3.7.7 VERSION_FONTCONFIG=2.15.0 -VERSION_HARFBUZZ=10.1.0 +VERSION_HARFBUZZ=10.2.0 VERSION_PIXMAN=0.44.2 VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 -VERSION_PANGO=1.55.5 +VERSION_PANGO=1.56.0 VERSION_RSVG=2.59.2 VERSION_AOM=3.11.0 VERSION_HEIF=1.19.5 From ea981ff04d12256c61592d856863d168c6378388 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 17 Jan 2025 20:50:14 +0000 Subject: [PATCH 306/327] Bump deps: exif, fontconfig --- build/lin.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index c1a4d333..859497d8 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -105,7 +105,7 @@ VERSION_ZLIB_NG=2.2.3 VERSION_FFI=3.4.6 VERSION_GLIB=2.83.2 VERSION_XML2=2.13.5 -VERSION_EXIF=0.6.24 +VERSION_EXIF=0.6.25 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 VERSION_PNG16=1.6.45 @@ -118,7 +118,7 @@ VERSION_PROXY_LIBINTL=0.4 VERSION_FREETYPE=2.13.3 VERSION_EXPAT=2.6.4 VERSION_ARCHIVE=3.7.7 -VERSION_FONTCONFIG=2.15.0 +VERSION_FONTCONFIG=2.16.0 VERSION_HARFBUZZ=10.2.0 VERSION_PIXMAN=0.44.2 VERSION_CAIRO=1.18.2 @@ -235,10 +235,6 @@ meson install -C _build --tag devel mkdir ${DEPS}/exif $CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libexif-${VERSION_EXIF}.tar.bz2 | tar xjC ${DEPS}/exif --strip-components=1 cd ${DEPS}/exif -# https://github.com/libexif/libexif/pull/147 -$CURL https://github.com/lovell/libexif/commit/db84aefa1deb103604c5860dd6486b1dd3af676b.patch | patch -p1 -# https://github.com/libexif/libexif/pull/183 -$CURL https://github.com/lovell/libexif/commit/ef0887f2635180d1e7197c92756d1dc0243f9a35.patch | patch -p1 ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-nls --without-libiconv-prefix --without-libintl-prefix \ CPPFLAGS="${CPPFLAGS} -DNO_VERBOSE_TAG_DATA" From 8d7d28c3373c6714f93f2ec17d43a26ec4a5e37e Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 3 Feb 2025 11:22:20 +0000 Subject: [PATCH 307/327] Bump deps: glib, pango, png --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 859497d8..f492e33d 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -103,12 +103,12 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.3 VERSION_FFI=3.4.6 -VERSION_GLIB=2.83.2 +VERSION_GLIB=2.83.3 VERSION_XML2=2.13.5 VERSION_EXIF=0.6.25 VERSION_LCMS2=2.16 VERSION_MOZJPEG=4.1.5 -VERSION_PNG16=1.6.45 +VERSION_PNG16=1.6.46 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.5.0 @@ -123,7 +123,7 @@ VERSION_HARFBUZZ=10.2.0 VERSION_PIXMAN=0.44.2 VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 -VERSION_PANGO=1.56.0 +VERSION_PANGO=1.56.1 VERSION_RSVG=2.59.2 VERSION_AOM=3.11.0 VERSION_HEIF=1.19.5 From 3f8bff4a5583926d44ef57bda8727f40a9ff5cc4 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 19 Feb 2025 12:58:32 +0100 Subject: [PATCH 308/327] Bump deps: aom, cgif, ffi, lcms2, png, xml2, zlib-ng (#263) --- build/lin.sh | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index f492e33d..0a8d3a44 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -101,14 +101,14 @@ unset PKG_CONFIG_PATH CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers -VERSION_ZLIB_NG=2.2.3 -VERSION_FFI=3.4.6 +VERSION_ZLIB_NG=2.2.4 +VERSION_FFI=3.4.7 VERSION_GLIB=2.83.3 -VERSION_XML2=2.13.5 +VERSION_XML2=2.13.6 VERSION_EXIF=0.6.25 -VERSION_LCMS2=2.16 +VERSION_LCMS2=2.17 VERSION_MOZJPEG=4.1.5 -VERSION_PNG16=1.6.46 +VERSION_PNG16=1.6.47 VERSION_SPNG=0.7.4 VERSION_IMAGEQUANT=2.4.1 VERSION_WEBP=1.5.0 @@ -125,9 +125,9 @@ VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.56.1 VERSION_RSVG=2.59.2 -VERSION_AOM=3.11.0 +VERSION_AOM=3.12.0 VERSION_HEIF=1.19.5 -VERSION_CGIF=0.4.1 +VERSION_CGIF=0.5.0 # Check for newer versions # Skip by setting the VERSION_LATEST_REQUIRED environment variable to "false" @@ -233,7 +233,7 @@ meson setup _build --default-library=static --buildtype=release --strip --prefix meson install -C _build --tag devel mkdir ${DEPS}/exif -$CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libexif-${VERSION_EXIF}.tar.bz2 | tar xjC ${DEPS}/exif --strip-components=1 +$CURL https://github.com/libexif/libexif/releases/download/v${VERSION_EXIF}/libexif-${VERSION_EXIF}.tar.xz | tar xJC ${DEPS}/exif --strip-components=1 cd ${DEPS}/exif ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \ --disable-nls --without-libiconv-prefix --without-libintl-prefix \ @@ -243,7 +243,8 @@ make install-strip doc_DATA= mkdir ${DEPS}/lcms2 $CURL https://github.com/mm2/Little-CMS/releases/download/lcms${VERSION_LCMS2}/lcms2-${VERSION_LCMS2}.tar.gz | tar xzC ${DEPS}/lcms2 --strip-components=1 cd ${DEPS}/lcms2 -CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} +CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ + -Dtests=disabled meson install -C _build --tag devel mkdir ${DEPS}/aom @@ -436,7 +437,7 @@ mkdir ${DEPS}/cgif $CURL https://github.com/dloebl/cgif/archive/v${VERSION_CGIF}.tar.gz | tar xzC ${DEPS}/cgif --strip-components=1 cd ${DEPS}/cgif CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ - -Dtests=false + -Dexamples=false -Dtests=false meson install -C _build --tag devel mkdir ${DEPS}/vips From ce6c8889e24293c347929f301a05df192698d61d Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 19 Feb 2025 14:16:15 +0100 Subject: [PATCH 309/327] rsvg: remove workaround for zune-jpeg (#261) --- build/lin.sh | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 0a8d3a44..c2fb9f52 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -417,14 +417,8 @@ sed -i'.bak' "/image = /s/, \"gif\", \"webp\"//" rsvg/Cargo.toml sed -i'.bak' "/cairo-rs = /s/, \"pdf\", \"ps\"//" {librsvg-c,rsvg}/Cargo.toml # Skip build of rsvg-convert sed -i'.bak' "/subdir('rsvg_convert')/d" meson.build -# https://github.com/etemesi254/zune-image/pull/187 -# https://github.com/bevyengine/bevy/issues/14117#issuecomment-2236518551 -# https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html#the-patch-section -cat >> Cargo.toml < Date: Wed, 19 Feb 2025 14:21:00 +0100 Subject: [PATCH 310/327] Linux: ensure GLib's `g_print*()` functions wrap the system ones (#264) C99 `printf()` semantics are well-supported by these Linux cross-targets, avoids the need for gnulib compat functions. An alternative is setting up QEMU when cross-compiling, as this functionality is gated by `meson.can_run_host_binaries()`, but this is a bit simpler. --- platforms/linux-armv6/meson.ini | 6 ++++++ platforms/linux-ppc64le/meson.ini | 6 ++++++ platforms/linux-s390x/meson.ini | 6 ++++++ platforms/linuxmusl-arm64v8/meson.ini | 6 +++++- platforms/linuxmusl-x64/meson.ini | 2 +- 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/platforms/linux-armv6/meson.ini b/platforms/linux-armv6/meson.ini index d06f2638..1371dea5 100644 --- a/platforms/linux-armv6/meson.ini +++ b/platforms/linux-armv6/meson.ini @@ -13,6 +13,12 @@ ld = 'arm-rpi-linux-gnueabihf-gcc-ld' strip = 'arm-rpi-linux-gnueabihf-strip' ranlib = 'arm-rpi-linux-gnueabihf-gcc-ranlib' +[properties] +# https://docs.gtk.org/glib/cross-compiling.html#cross-properties +have_c99_vsnprintf = true +have_c99_snprintf = true +have_unix98_printf = true + [built-in options] libdir = 'lib' datadir = '/usr/share' diff --git a/platforms/linux-ppc64le/meson.ini b/platforms/linux-ppc64le/meson.ini index d8e648a6..fcb2c1a9 100644 --- a/platforms/linux-ppc64le/meson.ini +++ b/platforms/linux-ppc64le/meson.ini @@ -14,6 +14,12 @@ strip = 'powerpc64le-linux-gnu-strip' ranlib = 'powerpc64le-linux-gnu-gcc-ranlib' #exe_wrapper = 'qemu-ppc64le-static' +[properties] +# https://docs.gtk.org/glib/cross-compiling.html#cross-properties +have_c99_vsnprintf = true +have_c99_snprintf = true +have_unix98_printf = true + [built-in options] libdir = 'lib' datadir = '/usr/share' diff --git a/platforms/linux-s390x/meson.ini b/platforms/linux-s390x/meson.ini index 29cbf642..0b1cfb15 100644 --- a/platforms/linux-s390x/meson.ini +++ b/platforms/linux-s390x/meson.ini @@ -14,6 +14,12 @@ strip = 's390x-linux-gnu-strip' ranlib = 's390x-linux-gnu-gcc-ranlib' #exe_wrapper = 'qemu-s390x-static' +[properties] +# https://docs.gtk.org/glib/cross-compiling.html#cross-properties +have_c99_vsnprintf = true +have_c99_snprintf = true +have_unix98_printf = true + [built-in options] libdir = 'lib' datadir = '/usr/share' diff --git a/platforms/linuxmusl-arm64v8/meson.ini b/platforms/linuxmusl-arm64v8/meson.ini index 4f47b7d5..f291e68d 100644 --- a/platforms/linuxmusl-arm64v8/meson.ini +++ b/platforms/linuxmusl-arm64v8/meson.ini @@ -13,10 +13,14 @@ ld = 'aarch64-linux-musl-ld' strip = 'aarch64-linux-musl-strip' ranlib = 'aarch64-linux-musl-ranlib' +[properties] # Ensure we disable the inotify backend in GIO # See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2991#note_1592863 -[properties] has_function_inotify_init1 = false +# https://docs.gtk.org/glib/cross-compiling.html#cross-properties +have_c99_vsnprintf = true +have_c99_snprintf = true +have_unix98_printf = true [built-in options] libdir = 'lib' diff --git a/platforms/linuxmusl-x64/meson.ini b/platforms/linuxmusl-x64/meson.ini index 8496c9bb..86c70e82 100644 --- a/platforms/linuxmusl-x64/meson.ini +++ b/platforms/linuxmusl-x64/meson.ini @@ -1,9 +1,9 @@ [binaries] strip = 'strip' +[properties] # Ensure we disable the inotify backend in GIO # See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2991#note_1592863 -[properties] has_function_inotify_init1 = false [built-in options] From 9ea3ead842795bd63f6e7ed9f5e50208a5f7fe08 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Thu, 20 Feb 2025 15:41:43 +0100 Subject: [PATCH 311/327] Bump dep: rsvg (#265) --- build/lin.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index c2fb9f52..2dccc167 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -124,7 +124,7 @@ VERSION_PIXMAN=0.44.2 VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.56.1 -VERSION_RSVG=2.59.2 +VERSION_RSVG=2.59.90 VERSION_AOM=3.12.0 VERSION_HEIF=1.19.5 VERSION_CGIF=0.5.0 @@ -173,7 +173,7 @@ version_latest "pixman" "$VERSION_PIXMAN" "3648" version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" version_latest "pango" "$VERSION_PANGO" "11783" "unstable" -version_latest "rsvg" "$VERSION_RSVG" "5420" +version_latest "rsvg" "$VERSION_RSVG" "5420" "unstable" version_latest "aom" "$VERSION_AOM" "17628" version_latest "heif" "$VERSION_HEIF" "64439" version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" @@ -417,9 +417,10 @@ sed -i'.bak' "/image = /s/, \"gif\", \"webp\"//" rsvg/Cargo.toml sed -i'.bak' "/cairo-rs = /s/, \"pdf\", \"ps\"//" {librsvg-c,rsvg}/Cargo.toml # Skip build of rsvg-convert sed -i'.bak' "/subdir('rsvg_convert')/d" meson.build -# Update and regenerate the lockfile for zune-jpeg -# https://github.com/etemesi254/zune-image/pull/242 -cargo update zune-jpeg +# https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/1066#note_2356762 +sed -i'.bak' "/^if host_system in \['windows'/s/, 'linux'//" meson.build +# Regenerate the lockfile after making the above changes +cargo update --workspace # Remove the --static flag from the PKG_CONFIG env since Rust does not # parse that correctly. PKG_CONFIG=${PKG_CONFIG/ --static/} meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ From 474a7d157d73b4a63a32de6cc33936ba91249632 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 20 Feb 2025 15:15:36 +0000 Subject: [PATCH 312/327] Bump dep: glib --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 2dccc167..5cbae0e2 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -103,7 +103,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.4 VERSION_FFI=3.4.7 -VERSION_GLIB=2.83.3 +VERSION_GLIB=2.83.4 VERSION_XML2=2.13.6 VERSION_EXIF=0.6.25 VERSION_LCMS2=2.17 From 8546a72c6f8d77af578fcbf2e46fca29c56402d7 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Sat, 1 Mar 2025 12:00:41 +0100 Subject: [PATCH 313/327] Bump deps: glib, harfbuzz (#266) --- build/lin.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 5cbae0e2..b92f560f 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -103,7 +103,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.4 VERSION_FFI=3.4.7 -VERSION_GLIB=2.83.4 +VERSION_GLIB=2.83.5 VERSION_XML2=2.13.6 VERSION_EXIF=0.6.25 VERSION_LCMS2=2.17 @@ -119,7 +119,7 @@ VERSION_FREETYPE=2.13.3 VERSION_EXPAT=2.6.4 VERSION_ARCHIVE=3.7.7 VERSION_FONTCONFIG=2.16.0 -VERSION_HARFBUZZ=10.2.0 +VERSION_HARFBUZZ=10.4.0 VERSION_PIXMAN=0.44.2 VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 @@ -218,7 +218,7 @@ make install-strip mkdir ${DEPS}/glib $CURL https://download.gnome.org/sources/glib/$(without_patch $VERSION_GLIB)/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1 cd ${DEPS}/glib -$CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/36e32c79e7962c5ea96cbb3f9c629e9145253e30/glib-without-gregex.patch | patch -p1 +$CURL https://gist.github.com/kleisauke/284d685efa00908da99ea6afbaaf39ae/raw/936a6b8013d07d358c6944cc5b5f0e27db707ace/glib-without-gregex.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ --force-fallback-for=gvdb -Dintrospection=disabled -Dnls=disabled -Dlibmount=disabled -Dsysprof=disabled -Dlibelf=disabled \ -Dtests=false -Dglib_assert=false -Dglib_checks=false -Dglib_debug=disabled ${DARWIN:+-Dbsymbolic_functions=false} From 0c612d0a1e906957eeb09edf3c56dd1cd0958d6a Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Mon, 3 Mar 2025 17:20:02 +0000 Subject: [PATCH 314/327] Bump dep: heif --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index b92f560f..d9cbc14f 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -126,7 +126,7 @@ VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.56.1 VERSION_RSVG=2.59.90 VERSION_AOM=3.12.0 -VERSION_HEIF=1.19.5 +VERSION_HEIF=1.19.7 VERSION_CGIF=0.5.0 # Check for newer versions From e8cdde70c54975d44eee78c0a3c2353aa55ded9b Mon Sep 17 00:00:00 2001 From: Ivan Barlog Date: Fri, 7 Mar 2025 16:16:03 +0100 Subject: [PATCH 315/327] Bump deps: glib, rsvg (#267) --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index d9cbc14f..1bc0bf8b 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -103,7 +103,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.4 VERSION_FFI=3.4.7 -VERSION_GLIB=2.83.5 +VERSION_GLIB=2.84.0 VERSION_XML2=2.13.6 VERSION_EXIF=0.6.25 VERSION_LCMS2=2.17 @@ -124,7 +124,7 @@ VERSION_PIXMAN=0.44.2 VERSION_CAIRO=1.18.2 VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.56.1 -VERSION_RSVG=2.59.90 +VERSION_RSVG=2.59.91 VERSION_AOM=3.12.0 VERSION_HEIF=1.19.7 VERSION_CGIF=0.5.0 From 5e7cf58983e0994747bc7eae10cf094a51f2f6be Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 12 Mar 2025 20:19:21 +0100 Subject: [PATCH 316/327] Bump deps: cairo, pango (#268) --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 1bc0bf8b..75965025 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -121,9 +121,9 @@ VERSION_ARCHIVE=3.7.7 VERSION_FONTCONFIG=2.16.0 VERSION_HARFBUZZ=10.4.0 VERSION_PIXMAN=0.44.2 -VERSION_CAIRO=1.18.2 +VERSION_CAIRO=1.18.4 VERSION_FRIBIDI=1.0.16 -VERSION_PANGO=1.56.1 +VERSION_PANGO=1.56.2 VERSION_RSVG=2.59.91 VERSION_AOM=3.12.0 VERSION_HEIF=1.19.7 From 71ff347ea2ce1a57673ae4e25cfc1a284ca97921 Mon Sep 17 00:00:00 2001 From: Kleis Auke Wolthuizen Date: Wed, 12 Mar 2025 22:59:46 +0100 Subject: [PATCH 317/327] Upgrade to libvips v8.16.1 (#269) --- LIBVIPS_VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LIBVIPS_VERSION b/LIBVIPS_VERSION index 894aa0bc..559d6961 100644 --- a/LIBVIPS_VERSION +++ b/LIBVIPS_VERSION @@ -1 +1 @@ -8.16.0 +8.16.1 From 4e1ebe2c69982382d398a3cf7f1d5e536a114542 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Wed, 12 Mar 2025 22:14:29 +0000 Subject: [PATCH 318/327] Release v1.1.0-rc4 (libvips v8.16.1) --- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/dev-wasm32/package.json | 2 +- npm/dev/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-ppc64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/package.json | 2 +- npm/win32-ia32/package.json | 2 +- npm/win32-x64/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index b41d586d..4e03e1b5 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-arm64", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index 98a46636..7e471f37 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-x64", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index e056756d..23f64e51 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev/package.json b/npm/dev/package.json index d941a8d3..580ec5e7 100644 --- a/npm/dev/package.json +++ b/npm/dev/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index 948aeee9..cd008142 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.1.0-rc3.1", + "version": "1.1.0-rc4.1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index f6363691..c96d3fde 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm64", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json index 96ee4755..23b88f28 100644 --- a/npm/linux-ppc64/package.json +++ b/npm/linux-ppc64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-ppc64", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) ppc64le", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index c445260b..2dd24064 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-s390x", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index 27321a5f..490bb9a7 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-x64", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index 2ebc16ec..241b2f1f 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-arm64", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index 65c33eb9..dad8d7bc 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-x64", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/package.json b/npm/package.json index eb8c9f20..cb3d432c 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "private": "true", "workspaces": [ "dev", diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json index d643d1c4..65830b38 100644 --- a/npm/win32-ia32/package.json +++ b/npm/win32-ia32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-ia32", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index d736e0b0..25062143 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-x64", - "version": "1.1.0-rc3", + "version": "1.1.0-rc4", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From 32450f2bfc45a41a5bf99645febda97451fdd307 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 3 Apr 2025 11:12:01 +0100 Subject: [PATCH 319/327] Bump deps: archive, expat, fontconfig, harfbuzz, pango, rsvg, xml2 Pin xml2 to 2.13.x release line --- build/lin.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 75965025..462c4d0e 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -104,7 +104,7 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" VERSION_ZLIB_NG=2.2.4 VERSION_FFI=3.4.7 VERSION_GLIB=2.84.0 -VERSION_XML2=2.13.6 +VERSION_XML2=2.13.7 VERSION_EXIF=0.6.25 VERSION_LCMS2=2.17 VERSION_MOZJPEG=4.1.5 @@ -116,15 +116,15 @@ VERSION_TIFF=4.7.0 VERSION_HWY=1.2.0 VERSION_PROXY_LIBINTL=0.4 VERSION_FREETYPE=2.13.3 -VERSION_EXPAT=2.6.4 -VERSION_ARCHIVE=3.7.7 -VERSION_FONTCONFIG=2.16.0 -VERSION_HARFBUZZ=10.4.0 +VERSION_EXPAT=2.7.1 +VERSION_ARCHIVE=3.7.9 +VERSION_FONTCONFIG=2.16.1 +VERSION_HARFBUZZ=11.0.0 VERSION_PIXMAN=0.44.2 VERSION_CAIRO=1.18.4 VERSION_FRIBIDI=1.0.16 -VERSION_PANGO=1.56.2 -VERSION_RSVG=2.59.91 +VERSION_PANGO=1.56.3 +VERSION_RSVG=2.60.0 VERSION_AOM=3.12.0 VERSION_HEIF=1.19.7 VERSION_CGIF=0.5.0 @@ -154,7 +154,7 @@ version_latest() { version_latest "zlib-ng" "$VERSION_ZLIB_NG" "115592" version_latest "ffi" "$VERSION_FFI" "1611" version_latest "glib" "$VERSION_GLIB" "10024" "unstable" -version_latest "xml2" "$VERSION_XML2" "1783" +#version_latest "xml2" "$VERSION_XML2" "1783" # https://gitlab.gnome.org/GNOME/libxml2/-/issues/883 version_latest "exif" "$VERSION_EXIF" "1607" version_latest "lcms2" "$VERSION_LCMS2" "9815" version_latest "mozjpeg" "$VERSION_MOZJPEG" "mozilla/mozjpeg" From b88cd2fd09c76b30b17a46617b0d62cf578e6707 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 3 Apr 2025 11:49:30 +0100 Subject: [PATCH 320/327] fontconfig: release tarballs now hosted via GitLab instance --- build/lin.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/lin.sh b/build/lin.sh index 462c4d0e..e397b386 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -352,7 +352,7 @@ cd ${DEPS}/archive make install-strip libarchive_man_MANS= mkdir ${DEPS}/fontconfig -$CURL https://www.freedesktop.org/software/fontconfig/release/fontconfig-${VERSION_FONTCONFIG}.tar.xz | tar xJC ${DEPS}/fontconfig --strip-components=1 +$CURL https://gitlab.freedesktop.org/fontconfig/fontconfig/-/archive/${VERSION_FONTCONFIG}/fontconfig-${VERSION_FONTCONFIG}.tar.gz | tar xzC ${DEPS}/fontconfig --strip-components=1 cd ${DEPS}/fontconfig meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dcache-build=disabled -Ddoc=disabled -Dnls=disabled -Dtests=disabled -Dtools=disabled From 52d8842daa2c12612a8f1fe33abba9ae6b926250 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 3 Apr 2025 14:07:03 +0100 Subject: [PATCH 321/327] Release v1.1.0-rc5 (libvips v8.16.1) --- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/dev-wasm32/package.json | 2 +- npm/dev/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-ppc64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/package.json | 2 +- npm/win32-ia32/package.json | 2 +- npm/win32-x64/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index 4e03e1b5..e758ec6e 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-arm64", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index 7e471f37..797cf13b 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-x64", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index 23f64e51..8a44a194 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev/package.json b/npm/dev/package.json index 580ec5e7..d7d4f4a5 100644 --- a/npm/dev/package.json +++ b/npm/dev/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index cd008142..941c0016 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.1.0-rc4.1", + "version": "1.1.0-rc5.1", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index c96d3fde..b501cfff 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm64", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json index 23b88f28..ca73e942 100644 --- a/npm/linux-ppc64/package.json +++ b/npm/linux-ppc64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-ppc64", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) ppc64le", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index 2dd24064..b2d922d1 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-s390x", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index 490bb9a7..8e29590b 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-x64", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index 241b2f1f..f952adf3 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-arm64", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index dad8d7bc..2fd01903 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-x64", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/package.json b/npm/package.json index cb3d432c..bf357705 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "private": "true", "workspaces": [ "dev", diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json index 65830b38..e1d071ec 100644 --- a/npm/win32-ia32/package.json +++ b/npm/win32-ia32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-ia32", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index 25062143..f8057158 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-x64", - "version": "1.1.0-rc4", + "version": "1.1.0-rc5", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From da86314a0c1caf5b67ab0d905e6ddafccc147e72 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 4 Apr 2025 11:36:25 +0100 Subject: [PATCH 322/327] Remove incorrect prerelease semver suffix --- npm/linux-arm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index 941c0016..929caa7b 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.1.0-rc5.1", + "version": "1.1.0-rc5", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From 5b61642067b37ea2e5399eb0145f562ddecb5c78 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 4 Apr 2025 11:36:58 +0100 Subject: [PATCH 323/327] Bump deps: glib, xml2 --- build/lin.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index e397b386..e0764051 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -103,8 +103,8 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.4 VERSION_FFI=3.4.7 -VERSION_GLIB=2.84.0 -VERSION_XML2=2.13.7 +VERSION_GLIB=2.84.1 +VERSION_XML2=2.14.1 VERSION_EXIF=0.6.25 VERSION_LCMS2=2.17 VERSION_MOZJPEG=4.1.5 @@ -154,7 +154,7 @@ version_latest() { version_latest "zlib-ng" "$VERSION_ZLIB_NG" "115592" version_latest "ffi" "$VERSION_FFI" "1611" version_latest "glib" "$VERSION_GLIB" "10024" "unstable" -#version_latest "xml2" "$VERSION_XML2" "1783" # https://gitlab.gnome.org/GNOME/libxml2/-/issues/883 +version_latest "xml2" "$VERSION_XML2" "1783" version_latest "exif" "$VERSION_EXIF" "1607" version_latest "lcms2" "$VERSION_LCMS2" "9815" version_latest "mozjpeg" "$VERSION_MOZJPEG" "mozilla/mozjpeg" @@ -228,6 +228,8 @@ meson install -C _build --tag bin-devel,devel mkdir ${DEPS}/xml2 $CURL https://download.gnome.org/sources/libxml2/$(without_patch $VERSION_XML2)/libxml2-${VERSION_XML2}.tar.xz | tar xJC ${DEPS}/xml2 --strip-components=1 cd ${DEPS}/xml2 +# https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/306 +$CURL https://gitlab.gnome.org/GNOME/libxml2/-/commit/88732cae7d6031b2fa216faa3dd542681b385117.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dminimum=true meson install -C _build --tag devel From e60df11d4923d5ec681b857e5d5abb0f93c5c06a Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Fri, 4 Apr 2025 13:00:27 +0100 Subject: [PATCH 324/327] Release v1.1.0 (libvips v8.16.1) --- npm/darwin-arm64/package.json | 2 +- npm/darwin-x64/package.json | 2 +- npm/dev-wasm32/package.json | 2 +- npm/dev/package.json | 2 +- npm/linux-arm/package.json | 2 +- npm/linux-arm64/package.json | 2 +- npm/linux-ppc64/package.json | 2 +- npm/linux-s390x/package.json | 2 +- npm/linux-x64/package.json | 2 +- npm/linuxmusl-arm64/package.json | 2 +- npm/linuxmusl-x64/package.json | 2 +- npm/package.json | 2 +- npm/win32-ia32/package.json | 2 +- npm/win32-x64/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/npm/darwin-arm64/package.json b/npm/darwin-arm64/package.json index e758ec6e..dca3473d 100644 --- a/npm/darwin-arm64/package.json +++ b/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-arm64", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Prebuilt libvips and dependencies for use with sharp on macOS 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/darwin-x64/package.json b/npm/darwin-x64/package.json index 797cf13b..3a2e38e4 100644 --- a/npm/darwin-x64/package.json +++ b/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-darwin-x64", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Prebuilt libvips and dependencies for use with sharp on macOS x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev-wasm32/package.json b/npm/dev-wasm32/package.json index 8a44a194..531eda52 100644 --- a/npm/dev-wasm32/package.json +++ b/npm/dev-wasm32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev-wasm32", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Header files and static wasm32 libraries for libvips and dependencies to build sharp as wasm32", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/dev/package.json b/npm/dev/package.json index d7d4f4a5..fdaf802b 100644 --- a/npm/dev/package.json +++ b/npm/dev/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-dev", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Header files and C++ sources for libvips and dependencies required when compiling sharp from source", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm/package.json b/npm/linux-arm/package.json index 929caa7b..e787c5cf 100644 --- a/npm/linux-arm/package.json +++ b/npm/linux-arm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 32-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-arm64/package.json b/npm/linux-arm64/package.json index b501cfff..8896ccc7 100644 --- a/npm/linux-arm64/package.json +++ b/npm/linux-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-arm64", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-ppc64/package.json b/npm/linux-ppc64/package.json index ca73e942..84f37067 100644 --- a/npm/linux-ppc64/package.json +++ b/npm/linux-ppc64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-ppc64", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) ppc64le", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-s390x/package.json b/npm/linux-s390x/package.json index b2d922d1..d61d5c6a 100644 --- a/npm/linux-s390x/package.json +++ b/npm/linux-s390x/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-s390x", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) s390x", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linux-x64/package.json b/npm/linux-x64/package.json index 8e29590b..549c5458 100644 --- a/npm/linux-x64/package.json +++ b/npm/linux-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linux-x64", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-arm64/package.json b/npm/linuxmusl-arm64/package.json index f952adf3..99e9af75 100644 --- a/npm/linuxmusl-arm64/package.json +++ b/npm/linuxmusl-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-arm64", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) 64-bit ARM", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/linuxmusl-x64/package.json b/npm/linuxmusl-x64/package.json index 2fd01903..9529117a 100644 --- a/npm/linuxmusl-x64/package.json +++ b/npm/linuxmusl-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-linuxmusl-x64", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Prebuilt libvips and dependencies for use with sharp on Linux (musl) x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/package.json b/npm/package.json index bf357705..f337131b 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips", - "version": "1.1.0-rc5", + "version": "1.1.0", "private": "true", "workspaces": [ "dev", diff --git a/npm/win32-ia32/package.json b/npm/win32-ia32/package.json index e1d071ec..5a1c411f 100644 --- a/npm/win32-ia32/package.json +++ b/npm/win32-ia32/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-ia32", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x86", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", diff --git a/npm/win32-x64/package.json b/npm/win32-x64/package.json index f8057158..575ddf32 100644 --- a/npm/win32-x64/package.json +++ b/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@img/sharp-libvips-win32-x64", - "version": "1.1.0-rc5", + "version": "1.1.0", "description": "Prebuilt libvips and dependencies for use with sharp on Windows x64", "author": "Lovell Fuller ", "homepage": "https://sharp.pixelplumbing.com", From 9260d9341f13c8386aee0cfa0d84bd40dfc4a22c Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 22 Apr 2025 21:59:17 +0100 Subject: [PATCH 325/327] Bump deps: aom, ffi, fontconfig, harfbuzz, xml2 --- build/lin.sh | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index e0764051..7af39940 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -102,9 +102,9 @@ CURL="curl --silent --location --retry 3 --retry-max-time 30" # Dependency version numbers VERSION_ZLIB_NG=2.2.4 -VERSION_FFI=3.4.7 +VERSION_FFI=3.4.8 VERSION_GLIB=2.84.1 -VERSION_XML2=2.14.1 +VERSION_XML2=2.14.2 VERSION_EXIF=0.6.25 VERSION_LCMS2=2.17 VERSION_MOZJPEG=4.1.5 @@ -118,14 +118,14 @@ VERSION_PROXY_LIBINTL=0.4 VERSION_FREETYPE=2.13.3 VERSION_EXPAT=2.7.1 VERSION_ARCHIVE=3.7.9 -VERSION_FONTCONFIG=2.16.1 -VERSION_HARFBUZZ=11.0.0 +VERSION_FONTCONFIG=2.16.2 +VERSION_HARFBUZZ=11.1.0 VERSION_PIXMAN=0.44.2 VERSION_CAIRO=1.18.4 VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.56.3 VERSION_RSVG=2.60.0 -VERSION_AOM=3.12.0 +VERSION_AOM=3.12.1 VERSION_HEIF=1.19.7 VERSION_CGIF=0.5.0 @@ -228,8 +228,6 @@ meson install -C _build --tag bin-devel,devel mkdir ${DEPS}/xml2 $CURL https://download.gnome.org/sources/libxml2/$(without_patch $VERSION_XML2)/libxml2-${VERSION_XML2}.tar.xz | tar xJC ${DEPS}/xml2 --strip-components=1 cd ${DEPS}/xml2 -# https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/306 -$CURL https://gitlab.gnome.org/GNOME/libxml2/-/commit/88732cae7d6031b2fa216faa3dd542681b385117.patch | patch -p1 meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \ -Dminimum=true meson install -C _build --tag devel From 382dcf160af428cd646f0595b5e5b2bbaff4a621 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 22 Apr 2025 23:12:34 +0100 Subject: [PATCH 326/327] aom: pin to 3.12.0 due to cmake 3.16 dependency linux-armv6 uses Debian 11, which provides cmake 3.13 --- build/lin.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/lin.sh b/build/lin.sh index 7af39940..63563f35 100755 --- a/build/lin.sh +++ b/build/lin.sh @@ -125,7 +125,7 @@ VERSION_CAIRO=1.18.4 VERSION_FRIBIDI=1.0.16 VERSION_PANGO=1.56.3 VERSION_RSVG=2.60.0 -VERSION_AOM=3.12.1 +VERSION_AOM=3.12.0 VERSION_HEIF=1.19.7 VERSION_CGIF=0.5.0 @@ -174,7 +174,7 @@ version_latest "cairo" "$VERSION_CAIRO" "247" version_latest "fribidi" "$VERSION_FRIBIDI" "857" version_latest "pango" "$VERSION_PANGO" "11783" "unstable" version_latest "rsvg" "$VERSION_RSVG" "5420" "unstable" -version_latest "aom" "$VERSION_AOM" "17628" +#version_latest "aom" "$VERSION_AOM" "17628" # aom 3.12.1 requires cmake 3.16 https://aomedia.googlesource.com/aom/+/597a35fbc9837e33366a1108631d9c72ee7a49e7 version_latest "heif" "$VERSION_HEIF" "64439" version_latest "cgif" "$VERSION_CGIF" "dloebl/cgif" if [ "$ALL_AT_VERSION_LATEST" = "false" ]; then exit 1; fi From d02b5257427ddcb596a6c8bf5ccbb60853499724 Mon Sep 17 00:00:00 2001 From: Dennis Ameling Date: Tue, 22 Apr 2025 18:45:47 +0200 Subject: [PATCH 327/327] Publish sharp-libvips-win32-arm64 package to npm --- npm/package.json | 1 + npm/populate.sh | 5 +++-- npm/win32-arm64/package.json | 30 ++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 npm/win32-arm64/package.json diff --git a/npm/package.json b/npm/package.json index f337131b..34e8bcb0 100644 --- a/npm/package.json +++ b/npm/package.json @@ -14,6 +14,7 @@ "linux-ppc64", "linux-s390x", "linux-x64", + "win32-arm64", "win32-ia32", "win32-x64" ] diff --git a/npm/populate.sh b/npm/populate.sh index 84f6c077..2ebd477e 100755 --- a/npm/populate.sh +++ b/npm/populate.sh @@ -56,8 +56,9 @@ PLATFORMS=$(ls platforms --ignore=win32*) for platform in $PLATFORMS; do download_extract "$platform" done -download_extract "win32-ia32" -download_extract "win32-x64" +for platform in arm64v8 ia32 x64; do + download_extract "win32-$platform" +done # Common header and source files cp -r npm/linux-x64/{include,versions.json,THIRD-PARTY-NOTICES.md} npm/dev/ diff --git a/npm/win32-arm64/package.json b/npm/win32-arm64/package.json new file mode 100644 index 00000000..16942a45 --- /dev/null +++ b/npm/win32-arm64/package.json @@ -0,0 +1,30 @@ +{ + "name": "@img/sharp-libvips-win32-arm64", + "version": "1.1.0", + "description": "Prebuilt libvips and dependencies for use with sharp on Windows 64-bit ARM", + "author": "Lovell Fuller ", + "homepage": "https://sharp.pixelplumbing.com", + "repository": { + "type": "git", + "url": "git+https://github.com/lovell/sharp-libvips.git", + "directory": "npm/win32-arm64" + }, + "license": "LGPL-3.0-or-later", + "funding": { + "url": "https://opencollective.com/libvips" + }, + "preferUnplugged": true, + "publishConfig": { + "access": "public" + }, + "files": [ + "lib", + "versions.json" + ], + "type": "commonjs", + "exports": { + "./lib": "./lib/index.js", + "./package": "./package.json", + "./versions": "./versions.json" + } +}