FFmpeg-Builds/scripts.d/45-pulseaudio.sh
BtbN 61debb00e5 Switch to a more direct Dockerfile.dl generation
Otherwise the entire build cache effectively invalidates the moment one
script changes..
2023-06-18 21:25:52 +02:00

67 lines
1.6 KiB
Bash
Executable file

#!/bin/bash
SCRIPT_REPO="https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git"
SCRIPT_COMMIT="e96d278bfc514f290b60c9e924fabc1c772e1689"
ffbuild_enabled() {
[[ $TARGET == linux* ]] || return 1
return 0
}
ffbuild_dockerdl() {
to_df "RUN git clone --filter=blob:none \"$SCRIPT_REPO\" \"$SELF\""
to_df "RUN git -C \"$SELF\" checkout \"$SCRIPT_COMMIT\""
}
ffbuild_dockerbuild() {
cd "$FFBUILD_DLDIR/$SELF"
# Kill build of utils and their sndfile dep
echo > src/utils/meson.build
echo > src/pulsecore/sndfile-util.c
echo > src/pulsecore/sndfile-util.h
sed -ri -e 's/(sndfile_dep = .*)\)/\1, required : false)/' meson.build
sed -ri -e 's/shared_library/library/g' src/meson.build src/pulse/meson.build
mkdir build && cd build
local myconf=(
--prefix="$FFBUILD_PREFIX"
--buildtype=release
--default-library=static
-Ddaemon=false
-Dclient=true
-Ddoxygen=false
-Dgcov=false
-Dman=false
-Dtests=false
-Dipv6=true
-Dopenssl=enabled
)
if [[ $TARGET == linux* ]]; then
myconf+=(
--cross-file=/cross.meson
)
else
echo "Unknown target"
return -1
fi
meson "${myconf[@]}" ..
ninja -j"$(nproc)"
ninja install
rm -r "$FFBUILD_PREFIX"/share
echo "Libs.private: -ldl -lrt" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libpulse.pc
echo "Libs.private: -ldl -lrt" >> "$FFBUILD_PREFIX"/lib/pkgconfig/libpulse-simple.pc
}
ffbuild_configure() {
echo --enable-libpulse
}
ffbuild_unconfigure() {
echo --disable-libpulse
}