merge and update

This commit is contained in:
sudo-nautilus 2021-05-13 16:53:29 +05:30
commit 956e0957c7
60 changed files with 260 additions and 59 deletions

View file

@ -46,7 +46,7 @@ jobs:
strategy:
fail-fast: false
matrix:
target: [win32]
target: [win64,linux64]
steps:
- name: Checkout
uses: actions/checkout@v2
@ -70,7 +70,7 @@ jobs:
strategy:
fail-fast: false
matrix:
target: [win32]
target: [win64,linux64]
variant: [gpl,lgpl,gpl 4.4,lgpl 4.4,gpl-shared,lgpl-shared,gpl-shared 4.4,lgpl-shared 4.4]
steps:
- name: Checkout
@ -107,7 +107,7 @@ jobs:
strategy:
fail-fast: false
matrix:
target: [win32]
target: [win64,linux64]
variant: [gpl,lgpl,gpl 4.4,lgpl 4.4,gpl-shared,lgpl-shared,gpl-shared 4.4,lgpl-shared 4.4]
steps:
- name: Checkout

View file

@ -14,7 +14,7 @@ jobs:
strategy:
fail-fast: false
matrix:
target: [win32]
target: [win64,linux64]
variant: [gpl,lgpl,gpl 4.4,lgpl 4.4,gpl-shared,lgpl-shared,gpl-shared 4.4,lgpl-shared 4.4]
steps:
- name: Checkout

View file

@ -6,6 +6,9 @@
Static 32 bit Windows Builds of ffmpeg master and latest release branch. This repository is forked and well maintained. For static 64 bit Windows FFmpeg builds, you can check [BtbN's repository](https://github.com/BtbN/FFmpeg-Builds). Go to Wiki tab or go to releases for downloads.
EXPERIMENTAL Linux-Builds. Do not expect everything to work on them, specially anything that involved loading dynamic libs at runtime.
Shared Linux builds come without the programs (hopefully just for now), since they won't run without musl.
## Auto-Builds
Builds run daily at 12:00 UTC and are automatically released on success.

View file

@ -40,7 +40,7 @@ FF_LIBS="$(xargs <<< "$FF_LIBS")"
TESTFILE="uidtestfile"
rm -f "$TESTFILE"
docker run --rm -v "$PWD:/uidtestdir" "$IMAGE" /usr/bin/touch "/uidtestdir/$TESTFILE"
docker run --rm -v "$PWD:/uidtestdir" "$IMAGE" touch "/uidtestdir/$TESTFILE"
DOCKERUID="$(stat -c "%u" "$TESTFILE")"
rm -f "$TESTFILE"
[[ "$DOCKERUID" != "$(id -u)" ]] && UIDARGS=( -u "$(id -u):$(id -g)" ) || UIDARGS=()
@ -59,7 +59,7 @@ docker run --rm -i "${UIDARGS[@]}" -v $PWD/ffbuild:/ffbuild "$IMAGE" bash -s <<E
./configure --prefix=/ffbuild/prefix --pkg-config-flags="--static" \$FFBUILD_TARGET_FLAGS $FF_CONFIGURE --extra-cflags="$FF_CFLAGS" --extra-cxxflags="$FF_CXXFLAGS" --extra-ldflags="$FF_LDFLAGS" --extra-libs="$FF_LIBS"
make -j\$(nproc)
make install
make install install-doc
EOF
mkdir -p artifacts
@ -70,12 +70,18 @@ mkdir -p "ffbuild/pkgroot/$BUILD_NAME"
package_variant ffbuild/prefix "ffbuild/pkgroot/$BUILD_NAME"
cd ffbuild/pkgroot
zip -9 -r "${ARTIFACTS_PATH}/${BUILD_NAME}.zip" "$BUILD_NAME"
if [[ "${TARGET}" == win* ]]; then
OUTPUT_FNAME="${BUILD_NAME}.zip"
zip -9 -r "${ARTIFACTS_PATH}/${OUTPUT_FNAME}" "$BUILD_NAME"
else
OUTPUT_FNAME="${BUILD_NAME}.tar.xz"
tar cJf "${ARTIFACTS_PATH}/${OUTPUT_FNAME}" "$BUILD_NAME"
fi
cd -
rm -rf ffbuild
if [[ -n "$GITHUB_ACTIONS" ]]; then
echo "::set-output name=build_name::${BUILD_NAME}"
echo "${BUILD_NAME}.zip" > "${ARTIFACTS_PATH}/${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}.txt"
echo "${OUTPUT_FNAME}" > "${ARTIFACTS_PATH}/${TARGET}-${VARIANT}${ADDINS_STR:+-}${ADDINS_STR}.txt"
fi

View file

@ -0,0 +1,31 @@
FROM alpine:edge
ENV CARGO_HOME="/opt/cargo" PATH="/opt/cargo/bin:${PATH}"
RUN \
apk add --no-cache \
yasm nasm diffutils xxd pkgconf git ca-certificates curl wget unzip subversion autoconf automake libtool perl make cmake clang texinfo gperf gettext gettext-dev gettext-static itstool ragel musl-dev openssl-dev zlib-dev bzip2-static gtk-doc gobject-introspection gawk meson samurai p7zip python3 \
binutils gcc g++ gfortran \
rust cargo && \
ln -s python3 /usr/bin/python && \
cargo install cargo-c && rm -rf "${CARGO_HOME}"/{registry,git} && \
git config --global user.email "builder@localhost" && \
git config --global user.name "Builder" && \
mkdir /opt/ffbuild
ADD run_stage.sh /usr/bin/run_stage
ADD git-mini-clone.sh /usr/bin/git-mini-clone
ADD check-wget.sh /usr/bin/check-wget
ADD toolchain.cmake /toolchain.cmake
ADD cross.meson /cross.meson
ENV FFBUILD_TARGET_FLAGS="" \
FFBUILD_TOOLCHAIN=x86_64-alpine-linux-musl \
FFBUILD_CROSS_PREFIX="" \
FFBUILD_RUST_TARGET="" \
FFBUILD_PREFIX=/opt/ffbuild \
FFBUILD_CMAKE_TOOLCHAIN=/toolchain.cmake \
PKG_CONFIG_LIBDIR=/opt/ffbuild/lib/pkgconfig \
CFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong" \
CXXFLAGS="-static-libgcc -static-libstdc++ -I/opt/ffbuild/include -O2 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong" \
LDFLAGS="-static-libgcc -static-libstdc++ -L/opt/ffbuild/lib -O2 -pipe -fstack-protector-strong"

View file

@ -0,0 +1,10 @@
#!/bin/bash
set -xe
FNAME="$1"
URL="$2"
SHA512="$3"
SHAFILE="${FNAME}.sha512"
wget -O "${FNAME}" "${URL}"
trap "rm -f ${SHAFILE}" EXIT
echo "${SHA512} ${FNAME}" > "${SHAFILE}"
sha512sum -c "${SHAFILE}"

View file

@ -0,0 +1,15 @@
[binaries]
c = 'x86_64-alpine-linux-musl-gcc'
cpp = x86_64-alpine-linux-musl-g++'
ar = 'ar'
strip = 'strip'
[properties]
c_link_args = ['-static-libgcc', '-L/opt/ffbuild/lib', '-O2', '-pipe', '-fstack-protector-strong']
cpp_link_args = ['-static-libgcc', '-static-libstdc++', '-L/opt/ffbuild/lib', '-O2', '-pipe', '-fstack-protector-strong']
[host_machine]
system = 'linux'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'

View file

@ -0,0 +1,10 @@
#!/bin/bash
set -xe
REPO="$1"
REF="$2"
DEST="$3"
git init "$DEST"
git -C "$DEST" remote add origin "$REPO"
git -C "$DEST" fetch --depth=1 origin "$REF"
git -C "$DEST" config advice.detachedHead false
git -C "$DEST" checkout FETCH_HEAD

View file

@ -0,0 +1,7 @@
#!/bin/bash
set -xe
mkdir -p /stage
source "$1"
cd /stage
ffbuild_dockerbuild
rm -rf /stage "$FFBUILD_PREFIX"/bin

View file

@ -0,0 +1,12 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(CMAKE_C_COMPILER x86_64-alpine-linux-musl-gcc)
set(CMAKE_CXX_COMPILER x86_64-alpine-linux-musl-g++)
set(CMAKE_RANLIB ranlib)
set(CMAKE_FIND_ROOT_PATH /usr/x86_64-alpine-linux-musl /opt/ffbuild)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

View file

@ -5,7 +5,10 @@ source util/vars.sh
export DOCKER_BUILDKIT=1
docker build --tag "$BASE_IMAGE" images/base
if grep "FROM.*base.*" "images/base-${TARGET}/Dockerfile" >/dev/null 2>&1; then
docker build --tag "$BASE_IMAGE" images/base
fi
docker build --build-arg GH_REPO="$REPO" --tag "$TARGET_IMAGE" "images/base-${TARGET}"
./generate.sh "$TARGET" "$VARIANT" "${ADDINS[@]}"

View file

@ -8,8 +8,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
mkdir iconv
cd iconv
wget -O iconv.tar.gz "$ICONV_SRC"
tar xaf iconv.tar.gz
rm iconv.tar.gz
@ -27,7 +25,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -23,7 +23,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -23,7 +23,7 @@ ffbuild_dockerbuild() {
if [[ $TARGET == win* ]]; then
export CC="${FFBUILD_CROSS_PREFIX}gcc"
export AR="${FFBUILD_CROSS_PREFIX}ar"
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -37,7 +37,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -25,7 +25,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -26,7 +26,7 @@ ffbuild_dockerbuild() {
myconf+=(
--cross-file=/cross.meson
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -7,9 +7,6 @@ ffbuild_enabled() {
}
ffbuild_dockerbuild() {
mkdir gmp
cd gmp
wget "$GMP_SRC" -O gmp.tar.xz
tar xaf gmp.tar.xz
rm gmp.tar.xz
@ -27,7 +24,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -31,6 +31,10 @@ ffbuild_dockerbuild() {
--cross-compile-prefix="$FFBUILD_CROSS_PREFIX"
mingw
)
elif [[ $TARGET == linux64 ]]; then
myconf+=(
linux-x86_64
)
else
echo "Unknown target"
return -1

View file

@ -26,7 +26,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -28,7 +28,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi
@ -36,6 +36,8 @@ ffbuild_dockerbuild() {
./configure "${myconf[@]}"
make -j$(nproc)
make install
sed -i 's/Libs.private:/Libs.private: -lintl/' "$FFBUILD_PREFIX"/lib/pkgconfig/fontconfig.pc
}
ffbuild_configure() {

View file

@ -22,7 +22,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -31,7 +31,7 @@ ffbuild_dockerbuild() {
myconf+=(
--cross-file=/cross.meson
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -4,6 +4,9 @@ LOADER_REPO="https://github.com/KhronosGroup/Vulkan-Loader.git"
LOADER_COMMIT="7ea01c139ffc7c33cd12bd258c1bc8bf530c6d2d"
ffbuild_enabled() {
# The various graphics systems(xcb, xlib, wayland, ...) need figured out first
[[ $TARGET == linux* ]] && return -1
return 0
}

View file

@ -23,7 +23,7 @@ ffbuild_dockerbuild() {
myconf+=(
--cross-file=/cross.meson
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -26,7 +26,7 @@ ffbuild_dockerbuild() {
--host="$FFBUILD_TOOLCHAIN"
--cross-prefix="$FFBUILD_CROSS_PREFIX"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -4,6 +4,9 @@ GLSLANG_REPO="https://github.com/KhronosGroup/glslang.git"
GLSLANG_COMMIT="5878bcb17e43bf22cecaf6095900a33ff7f53445"
ffbuild_enabled() {
# Pointless without Vulkan
[[ $TARGET == linux* ]] && return -1
return 0
}

View file

@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -31,7 +31,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -28,7 +28,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -29,7 +29,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -32,7 +32,7 @@ ffbuild_dockerbuild() {
--target=x86-win32-gcc
)
export CROSS="$FFBUILD_CROSS_PREFIX"
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -33,7 +33,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -24,7 +24,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -30,7 +30,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -12,12 +12,20 @@ ffbuild_dockerbuild() {
git-mini-clone "$RAV1E_REPO" "$RAV1E_COMMIT" rav1e
cd rav1e
cargo cinstall \
--target="$FFBUILD_RUST_TARGET" \
local myconf=(
--prefix="$FFBUILD_PREFIX" \
--library-type=staticlib \
--crt-static \
--release
)
if [[ -n "$FFBUILD_RUST_TARGET" ]]; then
myconf+=(
--target="$FFBUILD_RUST_TARGET"
)
fi
cargo cinstall "${myconf[@]}"
}
ffbuild_configure() {

View file

@ -31,7 +31,7 @@ ffbuild_dockerbuild() {
myconf+=(
--cross-file=/cross.meson
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -27,7 +27,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -14,7 +14,13 @@ ffbuild_dockerbuild() {
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF ..
if [[ $VARIANT == *shared* && $TARGET == linux* ]]; then
USE_OMP="OFF"
else
USE_OMP="ON"
fi
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DWITH_OPENMP="$USE_OMP" -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF ..
make -j$(nproc)
make install
}
@ -32,5 +38,5 @@ ffbuild_ldflags() {
}
ffbuild_libs() {
echo -lgomp
[[ $VARIANT == *shared* && $TARGET == linux* ]] || echo -lgomp
}

View file

@ -26,7 +26,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -15,7 +15,13 @@ ffbuild_dockerbuild() {
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF ..
if [[ $VARIANT == *shared* && $TARGET == linux* ]]; then
USE_OMP="OFF"
else
USE_OMP="ON"
fi
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DBUILD_SHARED_LIBS=OFF -DUSE_OMP="$USE_OMP" ..
make -j$(nproc)
make install
}

View file

@ -26,7 +26,7 @@ ffbuild_dockerbuild() {
--host="$FFBUILD_TOOLCHAIN"
--cross-prefix="$FFBUILD_CROSS_PREFIX"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -33,7 +33,7 @@ ffbuild_dockerbuild() {
--host="$FFBUILD_TOOLCHAIN"
--cross-prefix="$FFBUILD_CROSS_PREFIX"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

View file

@ -33,7 +33,7 @@ ffbuild_dockerbuild() {
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi
@ -42,8 +42,12 @@ ffbuild_dockerbuild() {
make -j$(nproc)
make install
rm "$FFBUILD_PREFIX"/{bin/xvidcore.dll,lib/xvidcore.dll.a}
mv "$FFBUILD_PREFIX"/lib/{,lib}xvidcore.a
if [[ $TARGET == win* ]]; then
rm "$FFBUILD_PREFIX"/{bin/xvidcore.dll,lib/xvidcore.dll.a}
mv "$FFBUILD_PREFIX"/lib/{,lib}xvidcore.a
elif [[ $TARGET == linux* ]]; then
rm "$FFBUILD_PREFIX"/lib/libxvidcore.so*
fi
}
ffbuild_configure() {

View file

@ -1,7 +1,7 @@
#!/bin/bash
ZIMG_REPO="https://github.com/sekrit-twc/zimg.git"
ZIMG_COMMIT="c0d9c49ec157fc0708129a2bb6ca8906e85eb0f0"
ZIMG_COMMIT="c8153de9aa33bf4a8b47678986e34662a532c05e"
ffbuild_enabled() {
return 0
@ -17,13 +17,14 @@ ffbuild_dockerbuild() {
--prefix="$FFBUILD_PREFIX"
--disable-shared
--enable-static
--with-pic
)
if [[ $TARGET == win* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
elif [[ $TARGET != linux* ]]; then
echo "Unknown target"
return -1
fi

42
scripts.d/99-staticify.sh Executable file
View file

@ -0,0 +1,42 @@
#!/bin/bash
ffbuild_enabled() {
[[ $TARGET == linux* ]]
}
ffbuild_dockerfinal() {
to_df "RUN find /lib /usr/lib -maxdepth 1 -and -type l -and -name '*.so' -delete"
}
ffbuild_dockerlayer() {
return 0
}
ffbuild_dockerstage() {
return 0
}
ffbuild_dockerbuild() {
return 0
}
ffbuild_ldflags() {
if [[ $VARIANT == *shared* ]]; then
#if [[ $TARGET == *64* ]]; then
# echo "-Wl,--dynamic-linker=/lib64/ld-linux-x86-64.so.2"
#else
# echo "-Wl,--dynamic-linker=/lib/ld-linux.so.2"
#fi
return 0
else
echo "-pie -fPIE -static"
fi
}
ffbuild_configure() {
# Any dynamic executables linked against musl need its dynamic loader to run
# Thus it's impossible to build both the libraries and the programs, since
# with shared libs, the programs need to be dynamic, and in turn needs the musl
# dynamic loader at runtime.
[[ $VARIANT == *shared* ]] && echo --disable-programs
}

View file

@ -0,0 +1,18 @@
#!/bin/bash
package_variant() {
IN="$1"
OUT="$2"
# mkdir -p "$OUT"/bin
# cp "$IN"/bin/* "$OUT"/bin
mkdir -p "$OUT"/lib
cp -a "$IN"/lib/*.so* "$OUT"/lib
mkdir -p "$OUT"/include
cp -r "$IN"/include/* "$OUT"/include
mkdir -p "$OUT"/doc
cp -r "$IN"/share/doc/ffmpeg/* "$OUT"/doc
}

View file

@ -0,0 +1,3 @@
#!/bin/bash
source "$(dirname "$BASH_SOURCE")"/linux-install-shared.sh
source "$(dirname "$BASH_SOURCE")"/defaults-gpl-shared.sh

3
variants/linux64-gpl.sh Normal file
View file

@ -0,0 +1,3 @@
#!/bin/bash
source "$(dirname "$BASH_SOURCE")"/default-install.sh
source "$(dirname "$BASH_SOURCE")"/defaults-gpl.sh

View file

@ -0,0 +1,3 @@
#!/bin/bash
source "$(dirname "$BASH_SOURCE")"/linux-install-shared.sh
source "$(dirname "$BASH_SOURCE")"/defaults-lgpl-shared.sh

3
variants/linux64-lgpl.sh Normal file
View file

@ -0,0 +1,3 @@
#!/bin/bash
source "$(dirname "$BASH_SOURCE")"/default-install.sh
source "$(dirname "$BASH_SOURCE")"/defaults-lgpl.sh

View file

@ -1,3 +1,3 @@
#!/bin/bash
source "$(dirname "$BASH_SOURCE")"/default-install-shared.sh
source "$(dirname "$BASH_SOURCE")"/windows-install-shared.sh
source "$(dirname "$BASH_SOURCE")"/defaults-gpl-shared.sh

View file

@ -1,3 +1,3 @@
#!/bin/bash
source "$(dirname "$BASH_SOURCE")"/default-install-shared.sh
source "$(dirname "$BASH_SOURCE")"/windows-install-shared.sh
source "$(dirname "$BASH_SOURCE")"/defaults-lgpl-shared.sh

View file

@ -1,3 +1,3 @@
#!/bin/bash
source "$(dirname "$BASH_SOURCE")"/default-install-shared.sh
source "$(dirname "$BASH_SOURCE")"/windows-install-shared.sh
source "$(dirname "$BASH_SOURCE")"/defaults-gpl-shared.sh

View file

@ -1,3 +1,3 @@
#!/bin/bash
source "$(dirname "$BASH_SOURCE")"/default-install-shared.sh
source "$(dirname "$BASH_SOURCE")"/windows-install-shared.sh
source "$(dirname "$BASH_SOURCE")"/defaults-lgpl-shared.sh

View file

@ -14,6 +14,6 @@ package_variant() {
mkdir -p "$OUT"/include
cp -r "$IN"/include/* "$OUT"/include
mkdir -p "$OUT/doc"
mkdir -p "$OUT"/doc
cp -r "$IN"/share/doc/ffmpeg/* "$OUT"/doc
}