Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 537244 - dev-qt/qt-creator-3.3.0 USE=qbs - qbsproject.cpp:269:43: error: ‘class qbs::Project’ has no member named ‘addFiles’
Summary: dev-qt/qt-creator-3.3.0 USE=qbs - qbsproject.cpp:269:43: error: ‘class qbs::P...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal with 2 votes (vote)
Assignee: Davide Pesavento
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-21 15:21 UTC by Eugene Shalygin
Modified: 2015-04-28 16:17 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log.xz (build.log.xz,61.90 KB, application/x-xz)
2015-01-21 15:22 UTC, Eugene Shalygin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Eugene Shalygin 2015-01-21 15:21:50 UTC
QtCreator faisl to build with Qbs support

Reproducible: Always

Steps to Reproduce:
1. USE-"qbs" emerge -1 dev-qt/qt-creator
Comment 1 Eugene Shalygin 2015-01-21 15:22:56 UTC
Created attachment 394506 [details]
build.log.xz
Comment 2 Dennis Schridde 2015-02-22 15:25:23 UTC
Any progress with this issue? Does upstream have a patch?
Comment 3 Davide Pesavento (RETIRED) gentoo-dev 2015-02-22 15:31:59 UTC
No, I haven't even begun looking at it.
Comment 4 Dennis Schridde 2015-02-22 18:23:51 UTC
Ok, the declarations are wrapped in:
#ifdef QBS_ENABLE_PROJECT_FILE_UPDATES

Normally this would be set by qbs:./src/lib/corelib/api/api.pri:
qbs_enable_project_file_updates {
    […]
    DEFINES += QBS_ENABLE_PROJECT_FILE_UPDATES
}

qt-creator sets that in qtcreator.pro:
exists(src/shared/qbs/qbs.pro) {
    !qbs_no_dev_install {
        QBS_CONFIG_ADDITION = […] qbs_enable_project_file_updates
        […]
    }
}

In qbs:./src/lib/corelib/corelib.qbs there seems to be another path to set the define:
QbsLibrary {
    […]
    property stringList projectFileUpdateDefines:
        project.enableProjectFileUpdates ? ["QBS_ENABLE_PROJECT_FILE_UPDATES"] : []
    […]
}

qt-creator also sets that in ./src/src.qbs:
Project {
    […]
    Project {
        name: "qbs"
        id: qbsProject
        property string qbsBaseDir: project.sharedSourcesDir + "/qbs"
        […]
        property bool enableProjectFileUpdates: true
        […]
    }
    […]
}

These conditions are all still the same in current git master of qbs and qt-creator, so I assume there is no way to enable QBS_ENABLE_PROJECT_FILE_UPDATES for system-wide installations, maybe because it simply would not work. Further evidence: Neither corelib.qbs nor api.pri are installed by dev-qt/qbs-1.3.3, so there seems to be no way to enable the feature.

So I see three possibilities:
1) Ask upstream wether QBS_ENABLE_PROJECT_FILE_UPDATES is supported for system-wide installations and if so to fix qt-creator to enable it for the qbs plugin.
2) Not unbundle qbs, which will automatically set QBS_ENABLE_PROJECT_FILE_UPDATES.
3) Disable USE=qbs.
Comment 5 Davide Pesavento (RETIRED) gentoo-dev 2015-02-23 02:15:00 UTC
4) None of the above.

We just need to add 'CONFIG+=qbs_enable_project_file_updates' in qbs ebuild.
Thanks for investigating.
Comment 6 Dennis Schridde 2015-02-23 09:19:28 UTC
(In reply to Davide Pesavento from comment #5)
> We just need to add 'CONFIG+=qbs_enable_project_file_updates' in qbs ebuild.

But the files which translate qbs_enable_project_file_updates to a preprocessor define do not seem to be installed by dev-qt/qbs-1.3.3 and are being deleted by the qt-creator-3.3.0 ebuild in src_prepare(). Am I missing something?
Comment 7 Cédric GNIEWEK 2015-03-06 15:06:25 UTC
A little bit of information : see https://bugreports.qt.io/browse/QBS-565

To sum up, it seems that the qbs_enable_project_file_updates option was introduced in order to remove the dependency to QtGui (due to the use of QTextDocument) on computers that have no graphics server.
And, by the way, Qbs doesn't depend on QtWidgets (check the ldd output with CONFIG+=qbs_enable_project_file_updates added to the QMake arguments).
Comment 8 abeshenkov 2015-04-27 08:12:26 UTC
I find, that makefile generates wrong - qbs project dosn't include in plugins/makefile
Comment 9 abeshenkov 2015-04-27 08:16:27 UTC
On no, my mistake
Comment 10 Davide Pesavento (RETIRED) gentoo-dev 2015-04-28 16:17:02 UTC
Thanks Dennis for investigating.

>=dev-util/qbs-1.4.0 (just committed) now enables the project file updates API required by Qt Creator. >=dev-qt/qt-creator-3.4.0 has been updated to require the fixed version of qbs. So this should work as expected now. Please test and reopen if it does not.