qt5-build.eclass: Fix order of patchsets including depending sed

- downstream patches are based on top of KDE's patchset
- downstream patch affects qmake bootstrapping modifications

Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
Andreas Sturmlechner
2023-04-13 23:26:28 +02:00
parent 7389c6598a
commit cef1124ead

View File

@@ -189,21 +189,10 @@ qt5-build_src_prepare() {
if [[ ${QT5_MODULE} == qtbase ]]; then
qt5_symlink_tools_to_build_dir
[[ -n ${_QT5_GENTOOPATCHSET_REV} ]] && eapply "${WORKDIR}/qtbase-5.15-gentoo-patchset-${_QT5_GENTOOPATCHSET_REV}"
# Avoid unnecessary qmake recompilations
sed -i -e "/Creating qmake/i if [ '!' -e \"\$outpath/bin/qmake\" ]; then" \
-e '/echo "Done."/a fi' configure || die "sed failed (skip qmake bootstrap)"
# Respect CC, CXX, *FLAGS, MAKEOPTS and EXTRA_EMAKE when bootstrapping qmake
sed -i -e "/outpath\/qmake\".*\"*\$MAKE\"*)/ s|)| \
${MAKEOPTS} ${EXTRA_EMAKE} 'CC=$(tc-getCC)' 'CXX=$(tc-getCXX)' \
'QMAKE_CFLAGS=${CFLAGS}' 'QMAKE_CXXFLAGS=${CXXFLAGS}' 'QMAKE_LFLAGS=${LDFLAGS}'&|" \
-e 's/\(setBootstrapVariable\s\+\|EXTRA_C\(XX\)\?FLAGS=.*\)QMAKE_C\(XX\)\?FLAGS_\(DEBUG\|RELEASE\).*/:/' \
configure || die "sed failed (respect env for qmake build)"
sed -i -e '/^CPPFLAGS\s*=/ s/-g //' \
qmake/Makefile.unix || die "sed failed (CPPFLAGS for qmake build)"
# Respect CXX in bsymbolic_functions, fvisibility, precomp, and a few other tests
sed -i -e "/^QMAKE_CONF_COMPILER=/ s:=.*:=\"$(tc-getCXX)\":" \
configure || die "sed failed (QMAKE_CONF_COMPILER)"
@@ -214,6 +203,19 @@ qt5-build_src_prepare() {
[[ -n ${QT5_KDEPATCHSET_REV} ]] && eapply "${WORKDIR}/${QT5_MODULE}-${PV}-gentoo-kde-${QT5_KDEPATCHSET_REV}"
if [[ ${QT5_MODULE} == qtbase ]]; then
[[ -n ${_QT5_GENTOOPATCHSET_REV} ]] && eapply "${WORKDIR}/qtbase-5.15-gentoo-patchset-${_QT5_GENTOOPATCHSET_REV}"
# Respect CC, CXX, *FLAGS, MAKEOPTS and EXTRA_EMAKE when bootstrapping qmake
sed -i -e "/outpath\/qmake\".*\"*\$MAKE\"*)/ s|)| \
${MAKEOPTS} ${EXTRA_EMAKE} 'CC=$(tc-getCC)' 'CXX=$(tc-getCXX)' \
'QMAKE_CFLAGS=${CFLAGS}' 'QMAKE_CXXFLAGS=${CXXFLAGS}' 'QMAKE_LFLAGS=${LDFLAGS}'&|" \
-e 's/\(setBootstrapVariable\s\+\|EXTRA_C\(XX\)\?FLAGS=.*\)QMAKE_C\(XX\)\?FLAGS_\(DEBUG\|RELEASE\).*/:/' \
configure || die "sed failed (respect env for qmake build)"
sed -i -e '/^CPPFLAGS\s*=/ s/-g //' \
qmake/Makefile.unix || die "sed failed (CPPFLAGS for qmake build)"
fi
default
}