[READ-ONLY] Mirror of https://github.com/mrgnw/avify.
1#!/bin/sh
2set -e
3
4LIBHEIF_VERSION=1.21.2
5PREFIX="$HOME/.local"
6
7if ! command -v pkg-config >/dev/null 2>&1; then
8 echo "Installing pkgconf..."
9 brew install pkgconf
10fi
11
12if ! brew list libde265 >/dev/null 2>&1; then
13 echo "Installing libde265..."
14 brew install libde265
15fi
16
17if [ ! -f "$PREFIX/lib/libheif.dylib" ]; then
18 echo "Building libheif $LIBHEIF_VERSION (decode-only, linked to libde265)..."
19 cd /tmp
20 rm -rf libheif-build
21 git clone --depth 1 --branch "v$LIBHEIF_VERSION" https://github.com/strukturag/libheif.git libheif-build
22 cd libheif-build
23 mkdir build && cd build
24 cmake .. \
25 -DCMAKE_INSTALL_PREFIX="$PREFIX" \
26 -DBUILD_SHARED_LIBS=ON \
27 -DWITH_EXAMPLES=OFF \
28 -DWITH_GDK_PIXBUF=OFF \
29 -DWITH_X265=OFF \
30 -DWITH_AOM_DECODER=OFF \
31 -DWITH_AOM_ENCODER=OFF \
32 -DWITH_RAV1E=OFF \
33 -DWITH_DAV1D=OFF \
34 -DWITH_JPEG_DECODER=OFF \
35 -DWITH_JPEG_ENCODER=OFF \
36 -DWITH_OpenJPEG_DECODER=OFF \
37 -DWITH_OpenJPEG_ENCODER=OFF \
38 -DWITH_KVAZAAR=OFF \
39 -DWITH_FFMPEG_DECODER=OFF \
40 -DWITH_VVDEC=OFF \
41 -DWITH_VVENC=OFF \
42 -DWITH_UNCOMPRESSED_CODEC=OFF \
43 -DENABLE_PLUGIN_LOADING=OFF
44 make -j"$(sysctl -n hw.ncpu)"
45 make install
46 rm -rf /tmp/libheif-build
47fi
48
49export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$(brew --prefix libde265)/lib/pkgconfig"
50cargo install --path . --features heic
51install_name_tool -add_rpath "$PREFIX/lib" "$(which avify)"
52
53echo "Done. avify installed to $(which avify)"