mirror of
https://github.com/levogevo/ffmpeg-builder.git
synced 2026-01-16 11:26:17 +00:00
Compare commits
3 Commits
7cd3f03417
...
81a2cde5c7
| Author | SHA1 | Date | |
|---|---|---|---|
| 81a2cde5c7 | |||
| 8a5ed69f86 | |||
| 014448ac55 |
20
lib/build.sh
20
lib/build.sh
@@ -32,7 +32,7 @@ set_compile_opts() {
|
||||
testfile="${PREFIX}/ffmpeg-build-testfile"
|
||||
else
|
||||
# try creating in parent path
|
||||
testfile="$(bash_basename "${PREFIX}")/ffmpeg-build-testfile"
|
||||
testfile="$(bash_dirname "${PREFIX}")/ffmpeg-build-testfile"
|
||||
fi
|
||||
unset SUDO_MODIFY
|
||||
if touch "${testfile}" 2>/dev/null; then
|
||||
@@ -442,10 +442,6 @@ FB_FUNC_NAMES+=('build')
|
||||
# shellcheck disable=SC2034
|
||||
FB_FUNC_DESCS['build']='build ffmpeg with desired configuration'
|
||||
build() {
|
||||
test -d "${DL_DIR}" || { mkdir -p "${DL_DIR}" || return 1; }
|
||||
test -d "${CCACHE_DIR}" || { mkdir -p "${CCACHE_DIR}" || return 1; }
|
||||
test -d "${BUILD_DIR}" || { mkdir -p "${BUILD_DIR}" || return 1; }
|
||||
|
||||
set_compile_opts || return 1
|
||||
|
||||
for build in ${ENABLE}; do
|
||||
@@ -517,9 +513,19 @@ del_pkgconfig_gcc_s() {
|
||||
### RUST ###
|
||||
cargo_cbuild() {
|
||||
cargo cinstall \
|
||||
--destdir ./local-install \
|
||||
--destdir "${PWD}/local-install" \
|
||||
"${CARGO_CINSTALL_FLAGS[@]}"
|
||||
${SUDO_MODIFY} cp -r ./local-install "${PREFIX}/"
|
||||
# cargo cinstall destdir prepends with entire prefix
|
||||
# this breaks windows with msys path augmentation
|
||||
# so recurse into directories until sysroot is there
|
||||
cd ./local-install || return 1
|
||||
local sysrootDir="$(bash_basename "${PREFIX}")"
|
||||
while ! test -d "${sysrootDir}"; do
|
||||
cd ./* || return 1
|
||||
done
|
||||
# final cd
|
||||
cd "${sysrootDir}" || return 1
|
||||
${SUDO_MODIFY} cp -r ./* "${PREFIX}/"
|
||||
}
|
||||
|
||||
build_hdr10plus_tool() {
|
||||
|
||||
@@ -106,7 +106,6 @@ docker_build_image() {
|
||||
local image="$1"
|
||||
validate_selected_image "${image}" || return 1
|
||||
check_docker || return 1
|
||||
test -d "${DOCKER_DIR}" || mkdir -p "${DOCKER_DIR}"
|
||||
PLATFORM="${PLATFORM:-$(echo_platform)}"
|
||||
|
||||
echo_info "sourcing package manager for ${image}"
|
||||
|
||||
@@ -293,7 +293,6 @@ set_encode_opts() {
|
||||
# shellcheck disable=SC2155
|
||||
# shellcheck disable=SC2016
|
||||
gen_encode_script() {
|
||||
test -d "${TMP_DIR}" || mkdir -p "${TMP_DIR}"
|
||||
local genScript="${TMP_DIR}/$(bash_basename "${OUTPUT}").sh"
|
||||
|
||||
# single string params
|
||||
|
||||
@@ -13,6 +13,7 @@ brew:brew update:brew upgrade:brew install:brew list --formula ${pkg}
|
||||
apt-get:${SUDO}apt-get update:${SUDO}apt-get upgrade -y:${SUDO}apt-get install -y:dpkg -l ${pkg}
|
||||
pacman:${SUDO}pacman -Syy:${SUDO}pacman -Syu --noconfirm:${SUDO}pacman -S --noconfirm --needed:pacman -Qi ${pkg}
|
||||
dnf:${SUDO}dnf check-update || true:${SUDO}dnf upgrade --refresh -y:${SUDO}dnf install -y:dnf list -q --installed ${pkg}
|
||||
winget:winget update:true:${SUDO}winget install:winget list ${pkg}
|
||||
'
|
||||
local supported_pkg_mgr=()
|
||||
unset pkg_mgr pkg_mgr_update pkg_mgr_upgrade pkg_install pkg_check
|
||||
|
||||
19
lib/utils.sh
19
lib/utils.sh
@@ -45,7 +45,6 @@ echo_if_fail() {
|
||||
|
||||
# set trace to the cmdEvalTrace and open file descriptor
|
||||
local cmdEvalTrace="${TMP_DIR}/${logName}cmdEvalTrace"
|
||||
test -d "${TMP_DIR}" || mkdir -p "${TMP_DIR}"
|
||||
exec 5>"${cmdEvalTrace}"
|
||||
export BASH_XTRACEFD=5
|
||||
|
||||
@@ -220,25 +219,35 @@ is_darwin() {
|
||||
}
|
||||
|
||||
print_os() {
|
||||
# cached response
|
||||
if [[ -n ${FB_OS} ]]; then
|
||||
echo "${FB_OS}"
|
||||
return 0
|
||||
fi
|
||||
FB_OS=''
|
||||
|
||||
unset FB_OS
|
||||
if [[ -f /etc/os-release ]]; then
|
||||
source /etc/os-release
|
||||
FB_OS="${ID}"
|
||||
if [[ ${VERSION_ID} != '' ]]; then
|
||||
FB_OS+="-${VERSION_ID}"
|
||||
fi
|
||||
if [[ ${FB_OS} == 'arch'* ]]; then
|
||||
FB_OS=archlinux
|
||||
if line_starts_with "${FB_OS}" 'arch'; then
|
||||
FB_OS='archlinux'
|
||||
fi
|
||||
else
|
||||
FB_OS="$(uname -o)"
|
||||
fi
|
||||
|
||||
echo "${FB_OS,,}"
|
||||
# lowercase
|
||||
FB_OS="${FB_OS,,}"
|
||||
|
||||
# special treatment for windows
|
||||
if line_contains "${FB_OS}" 'windows' || line_contains "${FB_OS}" 'msys'; then
|
||||
FB_OS='windows'
|
||||
fi
|
||||
|
||||
echo "${FB_OS}"
|
||||
}
|
||||
|
||||
is_positive_integer() {
|
||||
|
||||
17
main.sh
17
main.sh
@@ -15,6 +15,19 @@ DOCKER_DIR="${IGN_DIR}/docker"
|
||||
PATCHES_DIR="${REPO_DIR}/patches"
|
||||
export REPO_DIR IGN_DIR TMP_DIR DL_DIR BUILD_DIR CCACHE_DIR DOCKER_DIR PATCHES_DIR
|
||||
|
||||
# make paths if needed
|
||||
IGN_DIRS=(
|
||||
"${TMP_DIR}"
|
||||
"${DL_DIR}"
|
||||
"${BUILD_DIR}"
|
||||
"${CCACHE_DIR}"
|
||||
"${DOCKER_DIR}"
|
||||
)
|
||||
for dir in "${IGN_DIRS[@]}"; do
|
||||
test -d "${dir}" || mkdir -p "${dir}"
|
||||
done
|
||||
unset IGN_DIRS
|
||||
|
||||
# function names, descriptions, completions
|
||||
unset FB_FUNC_NAMES FB_FUNC_DESCS FB_FUNC_COMPLETION
|
||||
FB_FUNC_NAMES=()
|
||||
@@ -38,7 +51,7 @@ src_scripts() {
|
||||
export FB_RUNNING_AS_SCRIPT=1
|
||||
thisFile="$(readlink -f "$0")"
|
||||
export REPO_DIR="$(cd "$(dirname "${thisFile}")/.." && echo "$PWD")"
|
||||
source "${REPO_DIR}/main.sh" || return 1
|
||||
source "${REPO_DIR}/main.sh" || exit 1
|
||||
scr_name="$(bash_basename $0)"
|
||||
cmd="${scr_name//.sh/}"
|
||||
if [[ $DEBUG == 1 ]]; then set -x; fi
|
||||
@@ -71,8 +84,6 @@ set_completions() {
|
||||
done
|
||||
}
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
test -f "${HOME}/.bashrc" && source "${HOME}/.bashrc"
|
||||
src_scripts || return 1
|
||||
determine_pkg_mgr || return 1
|
||||
check_compile_opts_override || return 1
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
export FB_RUNNING_AS_SCRIPT=1
|
||||
thisFile="$(readlink -f "$0")"
|
||||
export REPO_DIR="$(cd "$(dirname "${thisFile}")/.." && echo "$PWD")"
|
||||
source "${REPO_DIR}/main.sh" || return 1
|
||||
source "${REPO_DIR}/main.sh" || exit 1
|
||||
scr_name="$(bash_basename $0)"
|
||||
cmd="${scr_name//.sh/}"
|
||||
if [[ $DEBUG == 1 ]]; then set -x; fi
|
||||
|
||||
Reference in New Issue
Block a user