@@ -86,6 +86,7 @@ export RUSTFLAGS+=" --remap-path-prefix=$CARGO_HOME/registry/="
8686# We don't want to use any native libraries, so unset PKG_CONFIG_PATH
8787unset PKG_CONFIG_PATH
8888
89+
8990# Common options for curl
9091CURL=" curl --silent --location --retry 3 --retry-max-time 30"
9192
@@ -119,6 +120,11 @@ VERSION_AOM=3.7.0
119120VERSION_HEIF=1.16.2
120121VERSION_CGIF=0.3.2
121122
123+ # Additional Tropy dependencies
124+ VERSION_DE265=1.0.12
125+ VERSION_OPENJPEG=2.5.0
126+ VERSION_POPPLER=23.09.0
127+
122128# Remove patch version component
123129without_patch () {
124130 echo " ${1% .[[:digit:]]* } "
@@ -177,6 +183,9 @@ version_latest "rsvg" "$VERSION_RSVG" "5420"
177183version_latest " aom" " $VERSION_AOM " " 17628"
178184version_latest " heif" " $VERSION_HEIF " " strukturag/libheif"
179185version_latest " cgif" " $VERSION_CGIF " " dloebl/cgif"
186+ version_latest " de265" " $VERSION_DE265 " " 11239"
187+ version_latest " openjpeg" " $VERSION_OPENJPEG " " 2550"
188+ version_latest " poppler" " $VERSION_POPPLER " " 3686"
180189if [ " $ALL_AT_VERSION_LATEST " = " false" ]; then exit 1; fi
181190
182191# Download and build dependencies from source
@@ -263,12 +272,19 @@ AOM_AS_FLAGS="${FLAGS}" cmake -G"Unix Makefiles" \
263272 ..
264273make install/strip
265274
275+ mkdir ${DEPS} /de265
276+ $CURL https://github.com/strukturag/libde265/releases/download/v${VERSION_DE265} /libde265-${VERSION_DE265} .tar.gz | tar xzC ${DEPS} /de265 --strip-components=1
277+ cd ${DEPS} /de265
278+ ./configure --host=${CHOST} --prefix=${TARGET} --enable-static --disable-shared --disable-dependency-tracking \
279+ --disable-dec265 --disable-sherlock265 ${DARWIN_ARM: +--disable-arm}
280+ make install-strip
281+
266282mkdir ${DEPS} /heif
267283$CURL https://github.com/strukturag/libheif/releases/download/v${VERSION_HEIF} /libheif-${VERSION_HEIF} .tar.gz | tar xzC ${DEPS} /heif --strip-components=1
268284cd ${DEPS} /heif
269285CFLAGS=" ${CFLAGS} -O3" CXXFLAGS=" ${CXXFLAGS} -O3" cmake -G" Unix Makefiles" \
270- -DCMAKE_TOOLCHAIN_FILE=${ROOT} /Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \
271- -DBUILD_SHARED_LIBS=FALSE -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0 -DWITH_LIBDE265=0 -DWITH_X265=0
286+ -DCMAKE_TOOLCHAIN_FILE=${ROOT} /Toolchain.cmake -DCMAKE_PREFIX_PATH= ${TARGET} - DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release \
287+ -DBUILD_SHARED_LIBS=FALSE -DENABLE_PLUGIN_LOADING=0 -DWITH_EXAMPLES=0 -DWITH_LIBDE265=ON -DWITH_X265=0
272288make install/strip
273289
274290mkdir ${DEPS} /jpeg
@@ -437,6 +453,49 @@ CFLAGS="${CFLAGS} -O3" meson setup _build --default-library=static --buildtype=r
437453 -Dtests=false
438454meson install -C _build --tag devel
439455
456+ mkdir -p ${DEPS} /openjpeg/build
457+ $CURL https://github.com/uclouvain/openjpeg/archive/v${VERSION_OPENJPEG} .tar.gz | tar xzC ${DEPS} /openjpeg --strip-components=1
458+ cd ${DEPS} /openjpeg/build
459+ LDFLAGS=${LDFLAGS/ \$ / } cmake .. -G" Unix Makefiles" \
460+ -DCMAKE_TOOLCHAIN_FILE=${ROOT} /Toolchain.cmake -DCMAKE_PREFIX_PATH=${TARGET} -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_BUILD_TYPE=Release \
461+ -DBUILD_SHARED_LIBS=FALSE -DBUILD_CODEC=OFF
462+ make install/strip
463+
464+ mkdir -p ${DEPS} /poppler/build
465+ $CURL https://gitlab.freedesktop.org/poppler/poppler/-/archive/poppler-${VERSION_POPPLER} /poppler-poppler-${VERSION_POPPLER} .tar.bz2 | tar xjC ${DEPS} /poppler --strip-components=1
466+ cd ${DEPS} /poppler/build
467+ LDFLAGS=${LDFLAGS/ \$ / } cmake .. -G" Unix Makefiles" \
468+ -DCMAKE_TOOLCHAIN_FILE=${ROOT} /Toolchain.cmake\
469+ -DCMAKE_PREFIX_PATH=${TARGET} \
470+ -DCMAKE_INSTALL_PREFIX=${TARGET} \
471+ -DCMAKE_INSTALL_LIBDIR=lib \
472+ -DCMAKE_BUILD_TYPE=Release \
473+ -DBUILD_SHARED_LIBS=FALSE \
474+ -DBUILD_CPP_TESTS=OFF \
475+ -DBUILD_GTK_TESTS=OFF \
476+ -DBUILD_QT5_TESTS=OFF \
477+ -DBUILD_QT6_TESTS=OFF \
478+ -DBUILD_MANUAL_TESTS=OFF \
479+ -DENABLE_BOOST=OFF \
480+ -DENABLE_CMS=lcms2 \
481+ -DENABLE_CPP=OFF \
482+ -DENABLE_DCTDECODER=libjpeg \
483+ -DENABLE_GLIB=ON \
484+ -DENABLE_GOBJECT_INTROSPECTION=OFF \
485+ -DENABLE_GTK_DOC=OFF \
486+ -DENABLE_LIBCURL=OFF \
487+ -DENABLE_LIBOPENJPEG=openjpeg2 \
488+ -DENABLE_LIBPNG=ON \
489+ -DENABLE_LIBTIFF=ON \
490+ -DENABLE_QT5=OFF \
491+ -DENABLE_QT6=OFF \
492+ -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
493+ -DENABLE_UTILS=OFF \
494+ -DENABLE_ZLIB=ON \
495+ -DENABLE_ZLIB_UNCOMPRESS=OFF \
496+ -DEXTRA_WARN=OFF
497+ make install/strip
498+
440499mkdir ${DEPS} /vips
441500$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
442501cd ${DEPS} /vips
459518sed -i' .bak' " /subdir('man')/{N;N;N;N;d;}" meson.build
460519CFLAGS=" ${CFLAGS} -O3" CXXFLAGS=" ${CXXFLAGS} -O3" meson setup _build --default-library=shared --buildtype=release --strip --prefix=${TARGET} ${MESON} \
461520 -Ddeprecated=false -Dintrospection=false -Dmodules=disabled -Dcfitsio=disabled -Dfftw=disabled -Djpeg-xl=disabled \
462- -Dmagick=disabled -Dmatio=disabled -Dnifti=disabled -Dopenexr=disabled -Dopenjpeg=disabled - Dopenslide=disabled \
463- -Dpdfium=disabled -Dpoppler=disabled - Dquantizr=disabled \
521+ -Dmagick=disabled -Dmatio=disabled -Dnifti=disabled -Dopenexr=disabled -Dopenslide=disabled \
522+ -Dpdfium=disabled -Dquantizr=disabled \
464523 -Dppm=false -Danalyze=false -Dradiance=false \
465524 ${LINUX: +-Dcpp_link_args=" $LDFLAGS -Wl,-Bsymbolic-functions -Wl,--version-script=$DEPS /vips/vips.map $EXCLUDE_LIBS " }
466525meson install -C _build --tag runtime,devel
@@ -550,7 +609,7 @@ printf "{\n\
550609printf " \" ${PLATFORM} \" " > platform.json
551610
552611# Add third-party notices
553- $CURL -O https://raw.githubusercontent.com/lovell /sharp-libvips/main/THIRD-PARTY-NOTICES.md
612+ $CURL -O https://raw.githubusercontent.com/tropy /sharp-libvips/main/THIRD-PARTY-NOTICES.json
554613
555614# Create the tarball
556615ls -al lib
@@ -559,8 +618,7 @@ mv lib-filtered lib
559618tar chzf ${PACKAGE} /libvips-${VERSION_VIPS} -${PLATFORM} .tar.gz \
560619 include \
561620 lib \
562- * .json \
563- THIRD-PARTY-NOTICES.md
621+ * .json
564622
565623# Recompress using AdvanceCOMP, ~5% smaller
566624advdef --recompress --shrink-insane ${PACKAGE} /libvips-${VERSION_VIPS} -${PLATFORM} .tar.gz
0 commit comments