diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 38500 -> 38493 bytes | |||
-rw-r--r-- | eclass/qt6-build.eclass | 31 |
2 files changed, 15 insertions, 16 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex b96d9930adcb..563be4e5cd0b 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass index 28f8d904065d..c96bc0c1c3c3 100644 --- a/eclass/qt6-build.eclass +++ b/eclass/qt6-build.eclass @@ -99,15 +99,14 @@ qt6-build_src_prepare() { cmake_src_prepare if [[ -e CMakeLists.txt ]]; then - # build may be skipped entirely and install nothing without errors - # if checking for a major dependency/condition failed - sed -i '/message(NOTICE.*Skipping/s/NOTICE/FATAL_ERROR/' CMakeLists.txt || die + # throw an error rather than skip if *required* conditions are not met + sed -e '/message(NOTICE.*Skipping/s/NOTICE/FATAL_ERROR/' \ + -i CMakeLists.txt || die fi if in_iuse test && use test && [[ -e tests/auto/CMakeLists.txt ]]; then - # upstream seems to install before running tests, and cmake - # subdir that is present in about half of the Qt6 components - # cause a dependency on itself and sometimes install test junk + # .cmake files tests causing a self-dependency in many modules, + # and that sometimes install additional test junk sed -i '/add_subdirectory(cmake)/d' tests/auto/CMakeLists.txt || die fi @@ -136,13 +135,7 @@ qt6-build_src_configure() { return fi - if [[ ${mycmakeargs@a} == *a* ]]; then - local mycmakeargs=("${mycmakeargs[@]}") - else - local mycmakeargs=() - fi - - mycmakeargs+=( + local defaultcmakeargs=( # see _qt6-build_create_user_facing_links -DINSTALL_PUBLICBINDIR="${QT6_PREFIX}"/bin # note that if qtbase was built with tests, this is default ON @@ -151,6 +144,12 @@ qt6-build_src_configure() { -DQT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS=ON ) + if [[ ${mycmakeargs@a} == *a* ]]; then + local mycmakeargs=("${defaultcmakeargs[@]}" "${mycmakeargs[@]}") + else + local mycmakeargs=("${defaultcmakeargs[@]}") + fi + cmake_src_configure } @@ -251,8 +250,8 @@ _qt6-build_match_cpu_flags() { local flags=() intrin intrins while IFS=' ' read -ra intrins; do [[ ${intrins[*]} == *=[^_]* && ${intrins[*]} == *=_* ]] && - for intrin in "${intrins[@]}"; do - [[ ${intrin} == *?=* ]] && flags+=( -mno-${intrin%=*} ) + for intrin in "${intrins[@]%=*}"; do + [[ ${intrin} ]] && flags+=( -mno-${intrin} ) done done < <( # TODO: review if can drop fma= matching after QTBUG-116357 @@ -287,7 +286,7 @@ _qt6-build_prepare_env() { readonly QT6_BINDIR=${QT6_ARCHDATADIR}/bin readonly QT6_DOCDIR=${QT6_PREFIX}/share/qt6-doc - readonly QT6_EXAMPLESDIR=${QT6_ARCHDATADIR}/examples + readonly QT6_EXAMPLESDIR=${QT6_DATADIR}/examples readonly QT6_HEADERDIR=${QT6_PREFIX}/include/qt6 readonly QT6_IMPORTDIR=${QT6_ARCHDATADIR}/imports readonly QT6_LIBEXECDIR=${QT6_ARCHDATADIR}/libexec |