Compare commits

...

2 Commits

Author SHA1 Message Date
7175dcf7ba more small fixes 2025-08-13 16:35:16 -05:00
f07486cb11 add cpuinfo to list of dependencies 2025-08-13 16:26:30 -05:00
3 changed files with 31 additions and 11 deletions

4
Jenkinsfile vendored
View File

@@ -9,11 +9,11 @@ pipeline {
name 'DISTRO' name 'DISTRO'
values 'ubuntu-22.04', 'ubuntu-24.04', values 'ubuntu-22.04', 'ubuntu-24.04',
'debian-12', 'fedora-42', 'debian-12', 'fedora-42',
'ogarcia/archlinux-latest' 'archlinux-latest'
} }
axis { axis {
name 'ARCH' name 'ARCH'
values 'amd64', 'arm64' values 'arm64', 'amd64'
} }
} }
stages { stages {

View File

@@ -179,12 +179,13 @@ ffmpeg 7cd1edeaa410d977a9f1ff8436f480cb45b80178 git https://github.com/
hdr10plus_tool 1.7.1 tar.gz https://github.com/quietvoid/hdr10plus_tool/archive/refs/tags/${ver}.${ext} hdr10plus_tool 1.7.1 tar.gz https://github.com/quietvoid/hdr10plus_tool/archive/refs/tags/${ver}.${ext}
dovi_tool 2.3.0 tar.gz https://github.com/quietvoid/dovi_tool/archive/refs/tags/${ver}.${ext} dovi_tool 2.3.0 tar.gz https://github.com/quietvoid/dovi_tool/archive/refs/tags/${ver}.${ext}
libsvtav1 3.0.2 tar.gz https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v${ver}/SVT-AV1-v${ver}.${ext} libsvtav1 3.0.2 tar.gz https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v${ver}/SVT-AV1-v${ver}.${ext}
libsvtav1_psy 3.0.2 tar.gz https://github.com/psy-ex/svt-av1-psy/archive/refs/tags/v${ver}.${ext} dovi_tool,hdr10plus_tool libsvtav1_psy 3.0.2 tar.gz https://github.com/psy-ex/svt-av1-psy/archive/refs/tags/v${ver}.${ext} dovi_tool,hdr10plus_tool,cpuinfo
librav1e 0.8.1 tar.gz https://github.com/xiph/rav1e/archive/refs/tags/v${ver}.${ext} librav1e 0.8.1 tar.gz https://github.com/xiph/rav1e/archive/refs/tags/v${ver}.${ext}
libaom 3.12.1 tar.gz https://storage.googleapis.com/aom-releases/libaom-${ver}.${ext} libaom 3.12.1 tar.gz https://storage.googleapis.com/aom-releases/libaom-${ver}.${ext}
libvmaf 3.0.0 tar.gz https://github.com/Netflix/vmaf/archive/refs/tags/v${ver}.${ext} libvmaf 3.0.0 tar.gz https://github.com/Netflix/vmaf/archive/refs/tags/v${ver}.${ext}
libopus 1.5.2 tar.gz https://github.com/xiph/opus/releases/download/v${ver}/opus-${ver}.${ext} libopus 1.5.2 tar.gz https://github.com/xiph/opus/releases/download/v${ver}/opus-${ver}.${ext}
libdav1d 1.5.1 tar.xz http://downloads.videolan.org/videolan/dav1d/${ver}/dav1d-${ver}.${ext} libdav1d 1.5.1 tar.xz http://downloads.videolan.org/videolan/dav1d/${ver}/dav1d-${ver}.${ext}
cpuinfo latest git https://github.com/pytorch/cpuinfo/
' '
BUILDS_CONF+="libc ${libcVer} tar.xz" BUILDS_CONF+="libc ${libcVer} tar.xz"
BUILDS_CONF+=' https://ftpmirror.gnu.org/glibc/glibc-${ver}.${ext}' BUILDS_CONF+=' https://ftpmirror.gnu.org/glibc/glibc-${ver}.${ext}'
@@ -401,6 +402,16 @@ build_librav1e() {
} }
### CMAKE ### ### CMAKE ###
build_cpuinfo() {
cmake \
"${CMAKE_FLAGS[@]}" \
-DCPUINFO_BUILD_UNIT_TESTS=OFF \
-DCPUINFO_BUILD_MOCK_TESTS=OFF \
-DCPUINFO_BUILD_BENCHMARKS=OFF \
-DUSE_SYSTEM_LIBS=ON || return 1
ccache make -j"${JOBS}" || return 1
${SUDO_MODIFY} make -j"${JOBS}" install || return 1
}
build_libsvtav1() { build_libsvtav1() {
cmake \ cmake \
"${CMAKE_FLAGS[@]}" \ "${CMAKE_FLAGS[@]}" \

View File

@@ -4,7 +4,7 @@ VALID_DOCKER_IMAGES=(
'ubuntu-22.04' 'ubuntu-24.04' 'ubuntu-22.04' 'ubuntu-24.04'
'fedora-41' 'fedora-42' 'fedora-41' 'fedora-42'
'debian-12' 'debian-12'
'ogarcia/archlinux-latest' 'archlinux-latest'
) )
DOCKER_WORKDIR='/workdir' DOCKER_WORKDIR='/workdir'
DOCKER_RUN_FLAGS=( DOCKER_RUN_FLAGS=(
@@ -78,13 +78,15 @@ docker_build_image() {
PLATFORM="${PLATFORM:-$(echo_platform)}" PLATFORM="${PLATFORM:-$(echo_platform)}"
for distro in "${DISTROS[@]}"; do for distro in "${DISTROS[@]}"; do
image_tag="$(set_distro_image_tag "${distro}")" echo_info "sourcing package manager for ${distro}"
echo_info "sourcing package manager for ${image_tag}"
# custom multi-arch image for archlinux
test "${distro}" == 'archlinux-latest' && \
distro='ogarcia/archlinux-latest'
# docker expects colon instead of dash # docker expects colon instead of dash
dockerDistro="${distro//-/:}" dockerDistro="${distro//-/:}"
# specific file for evaluated package manager info # specific file for evaluated package manager info
distroPkgMgr="${DOCKER_DIR}/$(bash_basename "${distro}")-pkg_mgr)" distroPkgMgr="${DOCKER_DIR}/$(bash_basename "${distro}")-pkg_mgr"
# get package manager info # get package manager info
# TODO REMOVE # TODO REMOVE
@@ -147,6 +149,7 @@ docker_build_image() {
} >"${dockerfile}" } >"${dockerfile}"
image_tag="$(set_distro_image_tag "${distro}")"
docker buildx build \ docker buildx build \
--platform "${PLATFORM}" \ --platform "${PLATFORM}" \
-t "${image_tag}" \ -t "${image_tag}" \
@@ -208,29 +211,35 @@ docker_run_image() {
check_docker || return 1 check_docker || return 1
for distro in "${DISTROS[@]}"; do for distro in "${DISTROS[@]}"; do
image_tag="$(set_distro_image_tag "${distro}")" # custom multi-arch image for arch
test "${distro}" == 'archlinux-latest' && \
distro='ogarcia/archlinux-latest'
# docker expects colon instead of dash
dockerDistro="${distro//-/:}"
# TODO REMOVE # TODO REMOVE
if is_root_owned "${IGN_DIR}"; then if is_root_owned "${IGN_DIR}"; then
docker run \ docker run \
"${DOCKER_RUN_FLAGS[@]}" \ "${DOCKER_RUN_FLAGS[@]}" \
"${image_tag}" \ "${dockerDistro}" \
chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore
fi fi
if ! echo_if_fail ls; then if ! echo_if_fail ls; then
docker run \ docker run \
"${DOCKER_RUN_FLAGS[@]}" \ "${DOCKER_RUN_FLAGS[@]}" \
"${image_tag}" \ "${dockerDistro}" \
chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore
fi fi
testfile="${PREFIX}/ffmpeg-build-testfile" testfile="${PREFIX}/ffmpeg-build-testfile"
if ! touch "${testfile}" 2>/dev/null; then if ! touch "${testfile}" 2>/dev/null; then
docker run \ docker run \
"${DOCKER_RUN_FLAGS[@]}" \ "${DOCKER_RUN_FLAGS[@]}" \
"${image_tag}" \ "${dockerDistro}" \
chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore chown -R "$(id -u):$(id -g)" "${DOCKER_WORKDIR}"/gitignore
fi fi
image_tag="$(set_distro_image_tag "${distro}")"
# if a docker registry is defined, pull from it # if a docker registry is defined, pull from it
if [[ ${DOCKER_REGISTRY} != '' ]]; then if [[ ${DOCKER_REGISTRY} != '' ]]; then
docker_login || return 1 docker_login || return 1