qt5-build.eclass: fix qconfig.pri regeneration.
authori.Dark_Templar <darktemplar@dark-templar-archives.net>
Thu, 19 Oct 2017 20:58:00 +0000 (23:58 +0300)
committerMichael Palimaka <kensington@gentoo.org>
Sat, 3 Feb 2018 13:36:56 +0000 (00:36 +1100)
eclass/qt5-build.eclass

index 82855656e040ace47397577c73eee856c64496c2..25d4136c80b5f407c375de50f87a6647f3f2c79c 100644 (file)
@@ -803,6 +803,11 @@ qt5_install_module_qconfigs() {
                insinto "${QT5_ARCHDATADIR#${EPREFIX}}"/mkspecs/gentoo
                doins "${T}"/${PN}-qconfig.pri
        )
+
+       if [[ ${PN} = qtcore && ${QT5_MINOR_VERSION} -ge 9 ]]; then
+               insinto "${QT5_ARCHDATADIR#${EPREFIX}}"/mkspecs/gentoo
+               newins "${D}${QT5_ARCHDATADIR#${EPREFIX}}"/mkspecs/qconfig.pri qconfig-qtcore.pri
+       fi
 }
 
 # @FUNCTION: qt5_regenerate_global_qconfigs
@@ -824,9 +829,14 @@ qt5_regenerate_global_qconfigs() {
        einfo "Updating QT_CONFIG in qconfig.pri"
 
        local qconfig_pri=${ROOT%/}${QT5_ARCHDATADIR}/mkspecs/qconfig.pri
+       local qconfig_pri_orig=${ROOT%/}${QT5_ARCHDATADIR}/mkspecs/gentoo/qconfig-qtcore.pri
        if [[ -f ${qconfig_pri} ]]; then
                local x qconfig_add= qconfig_remove=
-               local qt_config=$(sed -n 's/^QT_CONFIG\s*+=\s*//p' "${qconfig_pri}")
+               if [[ -f ${qconfig_pri_orig} ]]; then
+                       local qt_config=$(sed -n 's/^QT_CONFIG\s*+=\s*//p' "${qconfig_pri_orig}")
+               else
+                       local qt_config=$(sed -n 's/^QT_CONFIG\s*+=\s*//p' "${qconfig_pri}")
+               fi
                local new_qt_config=
 
                # generate list of QT_CONFIG entries from the existing list,
@@ -847,6 +857,6 @@ qt5_regenerate_global_qconfigs() {
                sed -i -e "s/^QT_CONFIG\s*+=.*/QT_CONFIG +=${new_qt_config}/" \
                        "${qconfig_pri}" || eerror "Failed to sed QT_CONFIG in ${qconfig_pri}"
        else
-               ewarn "${qconfig_pri} does not exist or is not a regular file"
+               ewarn "${qconfig_pri} or ${qconfig_pri_orig} does not exist or is not a regular file"
        fi
 }