summaryrefslogtreecommitdiff
path: root/eclass/qt6-build.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/qt6-build.eclass')
-rw-r--r--eclass/qt6-build.eclass29
1 files changed, 22 insertions, 7 deletions
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 31bdf1e01167..ae23f4e9bd82 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -234,18 +234,33 @@ _qt6-build_create_user_facing_links() {
# even if no links (empty), if missing will assume that it is an error
[[ ${PN} == qttranslations ]] && return
- # loop and match using paths (upstream suggests `xargs ln -s < ${links}`
- # but, for what it is worth, that will fail if paths have spaces)
+ # TODO: drop when <6.8.3 is gone, unneeded version with relative paths
+ if ver_test -lt 6.8.3; then
+ local link
+ while IFS= read -r link; do
+ if [[ -z ${link} ]]; then
+ continue
+ elif [[ ${link} =~ ^("${QT6_PREFIX}"/.+)\ ("${QT6_PREFIX}"/bin/.+) ]]
+ then
+ dosym -r "${BASH_REMATCH[1]#"${EPREFIX}"}" \
+ "${BASH_REMATCH[2]#"${EPREFIX}"}"
+ else
+ die "unrecognized user_facing_tool_links.txt line: ${link}"
+ fi
+ done < "${BUILD_DIR}"/user_facing_tool_links.txt || die
+
+ return
+ fi
+
local link
while IFS= read -r link; do
if [[ -z ${link} ]]; then
continue
- elif [[ ${link} =~ ^("${QT6_PREFIX}"/.+)\ ("${QT6_PREFIX}"/bin/.+) ]]
- then
- dosym -r "${BASH_REMATCH[1]#"${EPREFIX}"}" \
- "${BASH_REMATCH[2]#"${EPREFIX}"}"
+ elif [[ ${link} =~ (../[^ ]+)\ (bin/.+) ]]; then
+ dosym "${BASH_REMATCH[1]}" \
+ "${QT6_PREFIX#"${EPREFIX}"}/${BASH_REMATCH[2]}"
else
- die "unrecognized line '${link}' in '${links}'"
+ die "unrecognized user_facing_tool_links.txt line: ${link}"
fi
done < "${BUILD_DIR}"/user_facing_tool_links.txt || die
}