diff --git a/lib/0-utils.sh b/lib/0-utils.sh index 9b496ca..98a1c78 100644 --- a/lib/0-utils.sh +++ b/lib/0-utils.sh @@ -381,6 +381,22 @@ using_cmake_4() { line_starts_with "${cmakeVersion}" 4 } +have_req_meson_version() { + local min=1.6.1 + have_required_version "$(meson --version)" "${min}" +} + +have_required_version() { + local have="$1" + local min="$2" + local hMaj hMin hPatch mMaj mMin mPatch + IFS=. read -r hMaj hMin hPatch <<<"${have}" + IFS=. read -r mMaj mMin mPatch <<<"${min}" + test "${hMaj}" -ge "${mMaj}" && + test "${hMin}" -ge "${mMin}" && + test "${hPatch}" -ge "${mPatch}" +} + recreate_dir() { local dirs=("$@") for dir in "${dirs[@]}"; do diff --git a/lib/build.sh b/lib/build.sh index b9d2de0..68114cf 100644 --- a/lib/build.sh +++ b/lib/build.sh @@ -368,16 +368,16 @@ glad 2.0.8 tar.gz https://github.com/Dav1dde/glad/archive libx265 4.1 tar.gz https://bitbucket.org/multicoreware/x265_git/downloads/x265_${ver}.${ext} libnuma libnuma 2.0.19 tar.gz https://github.com/numactl/numactl/archive/refs/tags/v${ver}.${ext} -libass 0.17.4 tar.xz https://github.com/libass/libass/releases/download/${ver}/libass-${ver}.${ext} libfreetype,libfribidi,libunibreak,libxml2,xz,libfontconfig +libass 0.17.4 tar.xz https://github.com/libass/libass/releases/download/${ver}/libass-${ver}.${ext} libfreetype,libharfbuzz,libfribidi,libunibreak,libxml2,xz +libfontconfig 2.17.1 tar.xz https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/${ver}/fontconfig-${ver}.${ext} libharfbuzz,expat,brotli +libfreetype 2.14.1 tar.xz https://downloads.sourceforge.net/freetype/freetype-${ver}.${ext} bzip,libpng,zlib,brotli +libharfbuzz 12.3.0 tar.xz https://github.com/harfbuzz/harfbuzz/releases/download/${ver}/harfbuzz-${ver}.${ext} libfreetype libunibreak 6.1 tar.gz https://github.com/adah1972/libunibreak/releases/download/libunibreak_${ver//./_}/libunibreak-${ver}.${ext} libxml2 2.15.1 tar.gz https://github.com/GNOME/libxml2/archive/refs/tags/v${ver}.${ext} xz 5.8.2 tar.xz https://github.com/tukaani-project/xz/releases/download/v${ver}/xz-${ver}.${ext} libfribidi 1.0.16 tar.xz https://github.com/fribidi/fribidi/releases/download/v${ver}/fribidi-${ver}.${ext} -libfreetype 2.14.1 tar.xz https://downloads.sourceforge.net/freetype/freetype-${ver}.${ext} zlib,bzip,libpng,libharfbuzz,brotli bzip latest git https://github.com/libarchive/bzip2.git -libharfbuzz 12.3.0 tar.xz https://github.com/harfbuzz/harfbuzz/releases/download/${ver}/harfbuzz-${ver}.${ext} brotli 1.2.0 tar.gz https://github.com/google/brotli/archive/refs/tags/v${ver}.${ext} -libfontconfig 2.17.1 tar.xz https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/${ver}/fontconfig-${ver}.${ext} expat expat 2.7.3 tar.xz https://github.com/libexpat/libexpat/releases/download/R_${ver//./_}/expat-${ver}.${ext} ' local supported_builds=() diff --git a/lib/docker.sh b/lib/docker.sh index 8f14a49..76c056f 100644 --- a/lib/docker.sh +++ b/lib/docker.sh @@ -158,6 +158,7 @@ docker_build_image() { echo 'USER 65534:65534' # pipx echo "RUN pipx install virtualenv" + echo "RUN pipx install meson" # rust local rustupVersion='1.28.2' local rustcVersion='1.90.0' diff --git a/lib/install_deps.sh b/lib/install_deps.sh index be6b924..84bbb07 100644 --- a/lib/install_deps.sh +++ b/lib/install_deps.sh @@ -167,7 +167,7 @@ check_for_req_pkgs() { has_cmd pipx || echo_if_fail python3 -m pipx ensurepath && source ~/.bashrc || return 1 echo_if_fail pipx install virtualenv || return 1 echo_if_fail pipx ensurepath || return 1 - has_cmd meson || echo_if_fail pipx install meson || return 1 + has_cmd meson && have_req_meson_version || echo_if_fail pipx install meson || return 1 echo_pass "pipx is installed" # shellcheck disable=SC1091