Skip to content

Commit fcc7fd2

Browse files
customization
1 parent 20b5e89 commit fcc7fd2

4 files changed

Lines changed: 72 additions & 70 deletions

File tree

.github/workflows/ci.yml

Lines changed: 0 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -25,32 +25,6 @@ jobs:
2525
include:
2626
- os: 'ubuntu-24.04'
2727
platform: 'linux-x64'
28-
- os: 'ubuntu-24.04'
29-
platform: 'linux-armv6'
30-
- os: 'ubuntu-24.04'
31-
platform: 'linuxmusl-x64'
32-
- os: 'ubuntu-24.04'
33-
platform: 'linux-ppc64le'
34-
- os: 'ubuntu-24.04'
35-
platform: 'linux-riscv64'
36-
- os: 'ubuntu-24.04'
37-
platform: 'linux-s390x'
38-
- os: 'ubuntu-24.04'
39-
platform: 'dev-wasm32'
40-
- os: 'ubuntu-24.04'
41-
platform: 'win32-ia32'
42-
- os: 'ubuntu-24.04'
43-
platform: 'win32-x64'
44-
- os: 'ubuntu-24.04'
45-
platform: 'win32-arm64v8'
46-
- os: 'macos-15-intel'
47-
platform: 'darwin-x64'
48-
- os: 'macos-15'
49-
platform: 'darwin-arm64v8'
50-
- os: 'ubuntu-24.04-arm'
51-
platform: 'linux-arm64v8'
52-
- os: 'ubuntu-24.04-arm'
53-
platform: 'linuxmusl-arm64v8'
5428
steps:
5529
- name: Checkout
5630
uses: actions/checkout@v4
@@ -69,38 +43,3 @@ jobs:
6943
compression-level: 0
7044
retention-days: 1
7145
if-no-files-found: error
72-
populate-and-publish-npm-workspace:
73-
permissions:
74-
contents: write
75-
id-token: write
76-
needs: build
77-
runs-on: ubuntu-24.04
78-
steps:
79-
- name: Install Node.js
80-
uses: actions/setup-node@v5
81-
with:
82-
node-version: '24'
83-
- name: Checkout
84-
uses: actions/checkout@v4
85-
- name: Download build artifacts
86-
uses: actions/download-artifact@v4
87-
with:
88-
merge-multiple: true
89-
- name: Populate npm workspace
90-
run: ./populate-npm-workspace.sh
91-
- name: Create npm workspace tarball
92-
run: tar -vcaf npm-workspace.tar.xz -C npm .
93-
- name: Generate release notes
94-
run: ./generate-release-notes.sh
95-
- name: Create GitHub release for tag
96-
if: startsWith(github.ref, 'refs/tags/v')
97-
uses: ncipollo/release-action@v1
98-
with:
99-
artifacts: npm-workspace.tar.xz
100-
artifactContentType: application/x-xz
101-
bodyFile: release-notes.md
102-
prerelease: ${{ contains(github.ref, '-rc') }}
103-
makeLatest: ${{ !contains(github.ref, '-rc') }}
104-
- name: Publish npm packages
105-
if: startsWith(github.ref, 'refs/tags/v')
106-
run: cd npm && npm publish --workspaces --tag=${{ contains(github.ref, '-rc') && 'next' || 'latest' }}

build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ done
9292
for flavour in linux-x64 linuxmusl-x64 linux-armv6 linux-arm64v8 linuxmusl-arm64v8 linux-ppc64le linux-riscv64 linux-s390x; do
9393
if [ $PLATFORM = "all" ] || [ $PLATFORM = $flavour ]; then
9494
echo "Building $flavour..."
95-
docker build --pull -t vips-dev-$flavour platforms/$flavour
95+
docker build --pull --progress=plain -t vips-dev-$flavour platforms/$flavour
9696
docker run --rm -v $PWD:/packaging vips-dev-$flavour sh -c "/packaging/build/posix.sh"
9797
fi
9898
done

build/posix.sh

Lines changed: 62 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ mkdir ${DEPS}/lcms
168168
$CURL https://github.com/mm2/Little-CMS/releases/download/lcms${VERSION_LCMS}/lcms2-${VERSION_LCMS}.tar.gz | tar xzC ${DEPS}/lcms --strip-components=1
169169
cd ${DEPS}/lcms
170170
CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON} \
171-
-Dtests=disabled
171+
-Dtests=disabled
172172
meson install -C _build --tag devel
173173

174174
mkdir ${DEPS}/aom
@@ -188,14 +188,22 @@ AOM_AS_FLAGS="${FLAGS}" cmake -G"Unix Makefiles" \
188188
..
189189
make install/strip
190190

191+
mkdir ${DEPS}/libde265
192+
$CURL https://github.com/strukturag/libde265/releases/download/v${VERSION_LIBDE265}/libde265-${VERSION_LIBDE265}.tar.gz | tar xzC ${DEPS}/libde265 --strip-components=1
193+
cd ${DEPS}/libde265
194+
CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" cmake -G"Unix Makefiles" \
195+
-DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \
196+
-DBUILD_SHARED_LIBS=FALSE -DBUILD_TESTING=0 -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0
197+
make install/strip
198+
191199
mkdir ${DEPS}/heif
192200
$CURL https://github.com/strukturag/libheif/releases/download/v${VERSION_HEIF}/libheif-${VERSION_HEIF}.tar.gz | tar xzC ${DEPS}/heif --strip-components=1
193201
cd ${DEPS}/heif
194202
# Downgrade minimum required CMake version to 3.12 - https://github.com/strukturag/libheif/issues/975
195203
sed -i'.bak' "/^cmake_minimum_required/s/3.16.3/3.12/" CMakeLists.txt
196204
CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" cmake -G"Unix Makefiles" \
197205
-DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \
198-
-DBUILD_SHARED_LIBS=FALSE -DBUILD_TESTING=0 -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0 -DWITH_LIBDE265=0 -DWITH_X265=0
206+
-DBUILD_SHARED_LIBS=FALSE -DBUILD_TESTING=0 -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0 -DWITH_LIBDE265=1 -DWITH_X265=0
199207
make install/strip
200208

201209
mkdir ${DEPS}/jpeg
@@ -241,6 +249,14 @@ CFLAGS="${CFLAGS} -pthread" ./configure --host=${CHOST} --prefix=${TARGET} --ena
241249
--disable-tools --disable-tests --disable-contrib --disable-docs --disable-mdi --disable-pixarlog --disable-old-jpeg --disable-cxx --disable-lzma --disable-zstd --disable-libdeflate
242250
make install-strip noinst_PROGRAMS= dist_doc_DATA=
243251

252+
mkdir ${DEPS}/openjpeg
253+
$CURL https://github.com/uclouvain/openjpeg/archive/refs/tags/v${VERSION_OPENJPEG}.tar.gz | tar xzC ${DEPS}/openjpeg --strip-components=1
254+
cd ${DEPS}/openjpeg
255+
CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" cmake -G"Unix Makefiles" \
256+
-DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \
257+
-DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=0 -DBUILD_CODEC=OFF
258+
make install/strip
259+
244260
if [ -z "$WITHOUT_HIGHWAY" ]; then
245261
mkdir ${DEPS}/hwy
246262
$CURL https://github.com/google/highway/archive/${VERSION_HWY}.tar.gz | tar xzC ${DEPS}/hwy --strip-components=1
@@ -367,6 +383,46 @@ CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=r
367383
-Dexamples=false -Dtests=false
368384
meson install -C _build --tag devel
369385

386+
mkdir ${DEPS}/brotli
387+
$CURL https://github.com/google/brotli/archive/refs/tags/v${VERSION_BROTLI}.tar.gz | tar xzC ${DEPS}/brotli --strip-components=1
388+
cd ${DEPS}/brotli
389+
CFLAGS="${CFLAGS} -O3" cmake -G"Unix Makefiles" \
390+
-DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib \
391+
-DBUILD_SHARED_LIBS=FALSE \
392+
-DCMAKE_BUILD_TYPE=Release
393+
make install
394+
395+
mkdir ${DEPS}/lcms2
396+
$CURL https://github.com/mm2/Little-CMS/archive/refs/tags/lcms${VERSION_LCMS2}.tar.gz | tar xzC ${DEPS}/lcms2 --strip-components=1
397+
cd ${DEPS}/lcms2
398+
# Disable utils
399+
sed -i'.bak' "/subdir('util')/d" meson.build
400+
meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON}
401+
meson install -C _build --tag devel
402+
403+
mkdir ${DEPS}/libjxl
404+
$CURL https://github.com/libjxl/libjxl/archive/refs/tags/v${VERSION_LIBJXL}.tar.gz | tar xzC ${DEPS}/libjxl --strip-components=1
405+
cd ${DEPS}/libjxl
406+
mkdir -p build
407+
cd build
408+
CFLAGS="${CFLAGS} -O3" cmake -G"Unix Makefiles" \
409+
-DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib \
410+
-DBUILD_SHARED_LIBS=OFF \
411+
-DCMAKE_BUILD_TYPE=Release \
412+
-DJPEGXL_ENABLE_FUZZERS=OFF \
413+
-DJPEGXL_ENABLE_TOOLS=OFF \
414+
-DJPEGXL_ENABLE_DOXYGEN=OFF \
415+
-DJPEGXL_ENABLE_MANPAGES=OFF \
416+
-DJPEGXL_ENABLE_BENCHMARK=OFF \
417+
-DJPEGXL_ENABLE_EXAMPLES=OFF \
418+
-DJPEGXL_ENABLE_SJPEG=OFF \
419+
-DJPEGXL_ENABLE_OPENEXR=OFF \
420+
-DJPEGXL_ENABLE_SKCMS=OFF \
421+
-DJPEGXL_ENABLE_TRANSCODE_JPEG=OFF \
422+
-DBUILD_TESTING=OFF \
423+
..
424+
make install
425+
370426
mkdir ${DEPS}/vips
371427
$CURL https://github.com/libvips/libvips/releases/download/v${VERSION_VIPS}/vips-${VERSION_VIPS}.tar.xz | tar xJC ${DEPS}/vips --strip-components=1
372428
cd ${DEPS}/vips
@@ -390,9 +446,9 @@ fi
390446
# Disable building man pages, gettext po files, tools, and (fuzz-)tests
391447
sed -i'.bak' "/subdir('man')/{N;N;N;N;d;}" meson.build
392448
CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" meson setup _build --default-library=shared --buildtype=release --strip --prefix=${TARGET} ${MESON} \
393-
-Ddeprecated=false -Dexamples=false -Dintrospection=disabled -Dmodules=disabled -Dcfitsio=disabled -Dfftw=disabled -Djpeg-xl=disabled \
449+
-Ddeprecated=false -Dexamples=false -Dintrospection=disabled -Dmodules=disabled -Dcfitsio=disabled -Dfftw=disabled \
394450
${WITHOUT_HIGHWAY:+-Dhighway=disabled} -Dorc=disabled -Dmagick=disabled -Dmatio=disabled -Dnifti=disabled -Dopenexr=disabled \
395-
-Dopenjpeg=disabled -Dopenslide=disabled -Dpdfium=disabled -Dpoppler=disabled -Dquantizr=disabled \
451+
-Dopenslide=disabled -Dpdfium=disabled -Dpoppler=disabled -Dquantizr=disabled \
396452
-Dppm=false -Danalyze=false -Dradiance=false \
397453
${LINUX:+-Dcpp_link_args="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--version-script=$DEPS/vips/vips.map $EXCLUDE_LIBS"}
398454
meson install -C _build --tag runtime,devel
@@ -476,6 +532,8 @@ printf "{\n\
476532
\"webp\": \"${VERSION_WEBP}\",\n\
477533
\"xml2\": \"${VERSION_XML2}\",\n\
478534
\"zlib-ng\": \"${VERSION_ZLIB_NG}\"\n\
535+
\"libjxl\": \"${VERSION_LIBJXL}\"\n\
536+
479537
}" >versions.json
480538

481539
# Add third-party notices

versions.properties

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
VERSION_AOM=3.13.1
2-
VERSION_ARCHIVE=3.8.2
2+
VERSION_ARCHIVE=3.8.3
33
VERSION_CAIRO=1.18.4
44
VERSION_CGIF=0.5.0
55
VERSION_EXIF=0.6.25
@@ -8,8 +8,9 @@ VERSION_FFI=3.5.2
88
VERSION_FONTCONFIG=2.17.1
99
VERSION_FREETYPE=2.14.1
1010
VERSION_FRIBIDI=1.0.16
11-
VERSION_GLIB=2.86.1
12-
VERSION_HARFBUZZ=12.1.0
11+
VERSION_GLIB=2.87.0
12+
VERSION_HARFBUZZ=12.2.0
13+
VERSION_LIBDE265=1.0.16
1314
VERSION_HEIF=1.20.2
1415
VERSION_HWY=1.3.0
1516
VERSION_IMAGEQUANT=2.4.1
@@ -19,10 +20,14 @@ VERSION_PANGO=1.57.0
1920
VERSION_PIXMAN=0.46.4
2021
VERSION_PNG=1.6.50
2122
VERSION_PROXY_LIBINTL=0.5
22-
VERSION_RSVG=2.61.2
23+
VERSION_RSVG=2.61.3
2324
VERSION_SPNG=0.7.4
2425
VERSION_TIFF=4.7.1
2526
VERSION_VIPS=8.17.3
2627
VERSION_WEBP=1.6.0
2728
VERSION_XML2=2.15.1
2829
VERSION_ZLIB_NG=2.2.5
30+
VERSION_BROTLI=1.1.0
31+
VERSION_LCMS2=2.17
32+
VERSION_LIBJXL=0.11.1
33+
VERSION_OPENJPEG=2.5.4

0 commit comments

Comments
 (0)