Skip to content

Commit 72789d9

Browse files
customization
1 parent 4a8ac7e commit 72789d9

4 files changed

Lines changed: 70 additions & 77 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,7 @@
11
name: CI
22
on:
3-
push:
4-
branches:
5-
- main
6-
- 'temp-*'
7-
pull_request:
8-
branches:
9-
- main
10-
types:
11-
- opened
12-
- reopened
13-
- synchronize
14-
- ready_for_review
3+
- push
4+
- pull_request
155
permissions: {}
166
jobs:
177
check-latest-versions:
@@ -35,32 +25,6 @@ jobs:
3525
include:
3626
- os: 'ubuntu-24.04'
3727
platform: 'linux-x64'
38-
- os: 'ubuntu-24.04'
39-
platform: 'linux-armv6'
40-
- os: 'ubuntu-24.04'
41-
platform: 'linuxmusl-x64'
42-
- os: 'ubuntu-24.04'
43-
platform: 'linux-ppc64le'
44-
- os: 'ubuntu-24.04'
45-
platform: 'linux-riscv64'
46-
- os: 'ubuntu-24.04'
47-
platform: 'linux-s390x'
48-
- os: 'ubuntu-24.04'
49-
platform: 'dev-wasm32'
50-
- os: 'ubuntu-24.04'
51-
platform: 'win32-ia32'
52-
- os: 'ubuntu-24.04'
53-
platform: 'win32-x64'
54-
- os: 'ubuntu-24.04'
55-
platform: 'win32-arm64v8'
56-
- os: 'macos-15-intel'
57-
platform: 'darwin-x64'
58-
- os: 'macos-15'
59-
platform: 'darwin-arm64v8'
60-
- os: 'ubuntu-24.04-arm'
61-
platform: 'linux-arm64v8'
62-
- os: 'ubuntu-24.04-arm'
63-
platform: 'linuxmusl-arm64v8'
6428
steps:
6529
- name: Checkout
6630
uses: actions/checkout@v6
@@ -79,38 +43,3 @@ jobs:
7943
compression-level: 0
8044
retention-days: 1
8145
if-no-files-found: error
82-
populate-and-publish-npm-workspace:
83-
permissions:
84-
contents: write
85-
id-token: write
86-
needs: build
87-
runs-on: ubuntu-24.04
88-
steps:
89-
- name: Install Node.js
90-
uses: actions/setup-node@v6
91-
with:
92-
node-version: '24'
93-
- name: Checkout
94-
uses: actions/checkout@v6
95-
- name: Download build artifacts
96-
uses: actions/download-artifact@v7
97-
with:
98-
merge-multiple: true
99-
- name: Populate npm workspace
100-
run: ./populate-npm-workspace.sh
101-
- name: Create npm workspace tarball
102-
run: tar -vcaf npm-workspace.tar.xz -C npm .
103-
- name: Generate release notes
104-
run: ./generate-release-notes.sh
105-
- name: Create GitHub release for tag
106-
if: startsWith(github.ref, 'refs/tags/v')
107-
uses: ncipollo/release-action@v1
108-
with:
109-
artifacts: npm-workspace.tar.xz
110-
artifactContentType: application/x-xz
111-
bodyFile: release-notes.md
112-
prerelease: ${{ contains(github.ref, '-rc') }}
113-
makeLatest: ${{ !contains(github.ref, '-rc') }}
114-
- name: Publish npm packages
115-
if: startsWith(github.ref, 'refs/tags/v')
116-
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: 61 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,12 +185,20 @@ AOM_AS_FLAGS="${FLAGS}" cmake -G"Unix Makefiles" \
185185
..
186186
make install/strip
187187

188+
mkdir ${DEPS}/libde265
189+
$CURL https://github.com/strukturag/libde265/releases/download/v${VERSION_LIBDE265}/libde265-${VERSION_LIBDE265}.tar.gz | tar xzC ${DEPS}/libde265 --strip-components=1
190+
cd ${DEPS}/libde265
191+
CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" cmake -G"Unix Makefiles" \
192+
-DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \
193+
-DBUILD_SHARED_LIBS=FALSE -DBUILD_TESTING=0 -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0
194+
make install/strip
195+
188196
mkdir ${DEPS}/heif
189197
$CURL https://github.com/strukturag/libheif/releases/download/v${VERSION_HEIF}/libheif-${VERSION_HEIF}.tar.gz | tar xzC ${DEPS}/heif --strip-components=1
190198
cd ${DEPS}/heif
191199
CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" cmake -G"Unix Makefiles" \
192200
-DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \
193-
-DBUILD_SHARED_LIBS=FALSE -DBUILD_TESTING=0 -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0 -DWITH_LIBDE265=0 -DWITH_X265=0
201+
-DBUILD_SHARED_LIBS=FALSE -DBUILD_TESTING=0 -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0 -DWITH_LIBDE265=1 -DWITH_X265=0
194202
make install/strip
195203

196204
mkdir ${DEPS}/jpeg
@@ -231,6 +239,14 @@ CFLAGS="${CFLAGS} -pthread" ./configure --host=${CHOST} --prefix=${TARGET} --ena
231239
--disable-tools --disable-tests --disable-contrib --disable-docs --disable-mdi --disable-pixarlog --disable-old-jpeg --disable-cxx --disable-lzma --disable-zstd --disable-libdeflate
232240
make install-strip noinst_PROGRAMS= dist_doc_DATA=
233241

242+
mkdir ${DEPS}/openjpeg
243+
$CURL https://github.com/uclouvain/openjpeg/archive/refs/tags/v${VERSION_OPENJPEG}.tar.gz | tar xzC ${DEPS}/openjpeg --strip-components=1
244+
cd ${DEPS}/openjpeg
245+
CFLAGS="${CFLAGS} -pthread -O3" CXXFLAGS="${CXXFLAGS} -O3" cmake -G"Unix Makefiles" \
246+
-DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \
247+
-DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=0 -DBUILD_CODEC=OFF
248+
make install/strip
249+
234250
if [ -z "$WITHOUT_HIGHWAY" ]; then
235251
mkdir ${DEPS}/hwy
236252
$CURL https://github.com/google/highway/archive/${VERSION_HWY}.tar.gz | tar xzC ${DEPS}/hwy --strip-components=1
@@ -349,6 +365,46 @@ CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=r
349365
-Dexamples=false -Dtests=false
350366
meson install -C _build --tag devel
351367

368+
mkdir ${DEPS}/brotli
369+
$CURL https://github.com/google/brotli/archive/refs/tags/v${VERSION_BROTLI}.tar.gz | tar xzC ${DEPS}/brotli --strip-components=1
370+
cd ${DEPS}/brotli
371+
CFLAGS="${CFLAGS} -O3" cmake -G"Unix Makefiles" \
372+
-DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib \
373+
-DBUILD_SHARED_LIBS=FALSE \
374+
-DCMAKE_BUILD_TYPE=Release
375+
make install
376+
377+
mkdir ${DEPS}/lcms2
378+
$CURL https://github.com/mm2/Little-CMS/archive/refs/tags/lcms${VERSION_LCMS2}.tar.gz | tar xzC ${DEPS}/lcms2 --strip-components=1
379+
cd ${DEPS}/lcms2
380+
# Disable utils
381+
sed -i'.bak' "/subdir('util')/d" meson.build
382+
meson setup _build --default-library=static --buildtype=release --strip --prefix=${TARGET} ${MESON}
383+
meson install -C _build --tag devel
384+
385+
mkdir ${DEPS}/libjxl
386+
$CURL https://github.com/libjxl/libjxl/archive/refs/tags/v${VERSION_LIBJXL}.tar.gz | tar xzC ${DEPS}/libjxl --strip-components=1
387+
cd ${DEPS}/libjxl
388+
mkdir -p build
389+
cd build
390+
CFLAGS="${CFLAGS} -O3" cmake -G"Unix Makefiles" \
391+
-DCMAKE_TOOLCHAIN_FILE=${ROOT}/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib \
392+
-DBUILD_SHARED_LIBS=OFF \
393+
-DCMAKE_BUILD_TYPE=Release \
394+
-DJPEGXL_ENABLE_FUZZERS=OFF \
395+
-DJPEGXL_ENABLE_TOOLS=OFF \
396+
-DJPEGXL_ENABLE_DOXYGEN=OFF \
397+
-DJPEGXL_ENABLE_MANPAGES=OFF \
398+
-DJPEGXL_ENABLE_BENCHMARK=OFF \
399+
-DJPEGXL_ENABLE_EXAMPLES=OFF \
400+
-DJPEGXL_ENABLE_SJPEG=OFF \
401+
-DJPEGXL_ENABLE_OPENEXR=OFF \
402+
-DJPEGXL_ENABLE_SKCMS=OFF \
403+
-DJPEGXL_ENABLE_TRANSCODE_JPEG=OFF \
404+
-DBUILD_TESTING=OFF \
405+
..
406+
make install
407+
352408
mkdir ${DEPS}/uhdr
353409
$CURL https://github.com/google/libultrahdr/archive/${VERSION_UHDR}.tar.gz | tar xzC ${DEPS}/uhdr --strip-components=1
354410
cd ${DEPS}/uhdr
@@ -385,8 +441,8 @@ fi
385441
sed -i'.bak' "/subdir('man')/{N;N;N;N;d;}" meson.build
386442
CFLAGS="${CFLAGS} -O3" CXXFLAGS="${CXXFLAGS} -O3" meson setup _build --default-library=shared --buildtype=release --strip --prefix=${TARGET} ${MESON} \
387443
-Ddeprecated=false -Dexamples=false -Dauto_features=enabled -Dintrospection=disabled -Dmodules=disabled -Dcfitsio=disabled -Dfftw=disabled \
388-
-Djpeg-xl=disabled ${WITHOUT_HIGHWAY:+-Dhighway=disabled} -Dorc=disabled -Dmagick=disabled -Dmatio=disabled -Dnifti=disabled -Dopenexr=disabled \
389-
-Dopenjpeg=disabled -Dopenslide=disabled -Dpdfium=disabled -Dpoppler=disabled -Dquantizr=disabled -Draw=disabled -Dspng=disabled \
444+
${WITHOUT_HIGHWAY:+-Dhighway=disabled} -Dorc=disabled -Dmagick=disabled -Dmatio=disabled -Dnifti=disabled -Dopenexr=disabled \
445+
-Dopenslide=disabled -Dpdfium=disabled -Dpoppler=disabled -Dquantizr=disabled \
390446
-Dppm=false -Danalyze=false -Dradiance=false \
391447
${LINUX:+-Dcpp_link_args="$LDFLAGS -Wl,-Bsymbolic-functions -Wl,--version-script=$DEPS/vips/vips.map $EXCLUDE_LIBS"}
392448
meson install -C _build --tag runtime,devel
@@ -472,6 +528,8 @@ printf "{\n\
472528
\"webp\": \"${VERSION_WEBP}\",\n\
473529
\"xml2\": \"${VERSION_XML2}\",\n\
474530
\"zlib-ng\": \"${VERSION_ZLIB_NG}\"\n\
531+
\"libjxl\": \"${VERSION_LIBJXL}\"\n\
532+
475533
}" >versions.json
476534

477535
# Add third-party notices

versions.properties

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ VERSION_FREETYPE=2.14.1
1010
VERSION_FRIBIDI=1.0.16
1111
VERSION_GLIB=2.87.3
1212
VERSION_HARFBUZZ=12.3.2
13+
VERSION_LIBDE265=1.0.16
1314
VERSION_HEIF=1.21.2
1415
VERSION_HWY=1.3.0
1516
VERSION_IMAGEQUANT=2.4.1
@@ -20,9 +21,14 @@ VERSION_PIXMAN=0.46.4
2021
VERSION_PNG=1.6.55
2122
VERSION_PROXY_LIBINTL=0.5
2223
VERSION_RSVG=2.61.92
24+
VERSION_SPNG=0.7.4
2325
VERSION_TIFF=4.7.1
2426
VERSION_UHDR=8cbc983
2527
VERSION_VIPS=8.18.0
2628
VERSION_WEBP=1.6.0
2729
VERSION_XML2=2.15.1
2830
VERSION_ZLIB_NG=2.3.3
31+
VERSION_BROTLI=1.1.0
32+
VERSION_LCMS2=2.17
33+
VERSION_LIBJXL=0.11.1
34+
VERSION_OPENJPEG=2.5.4

0 commit comments

Comments
 (0)