Web lists-archives.com

Building Qt with kdesrc-build




Hi all,

I'm trying to build Qt using kdesrc-build on Debian Stretch.  I've
successfully built a number of KDE modules but now I've come up
against plasma-workspace's dependency on Qt >= 5.9.0 which Stretch
doesn't provide.

I've followed the instructions here

https://docs.kde.org/trunk5/en/extragear-utils/kdesrc-build/basic-features.html

but unfortunately a number of Qt packages fail to build as
kdesrc-build expects a CMakeLists.txt file:

rah@myrtle:~/proj/plasma-mobile/kdesrc$ grep "Error" $( ls -1rt src/log/latest/*/cmake.log | tail -n 3 )
src/log/latest/qtmultimedia/cmake.log:CMake Error: The source directory "/home/rah/proj/plasma-mobile/kdesrc/src/qt5/qtmultimedia" does not appear to contain CMakeLists.txt.
src/log/latest/qtdeclarative/cmake.log:CMake Error: The source directory "/home/rah/proj/plasma-mobile/kdesrc/src/qt5/qtdeclarative" does not appear to contain CMakeLists.txt.
src/log/latest/qtwayland/cmake.log:CMake Error: The source directory "/home/rah/proj/plasma-mobile/kdesrc/src/qt5/qtwayland" does not appear to contain CMakeLists.txt.

I've taken a look at some of the kdesrc-build source and played around
but I don't really understand how the different build system classes
are meant to change kdesrc-build's behaviour, or what behaviour is
expected for Qt.

Is it expected that kdesrc-build should build Qt5 without issue and if
so, how?

My .kdesrc-buildrc is attached.  Any help would be appreciated.

Thanks,

Bob
# Autogenerated by kdesrc-build-setup. You may modify this file if desired.
global

    # This option is used to switch development tracks for many modules at
    # once. 'kf5-qt5' is the latest KF5 and Qt5-based software.
    branch-group kf5-qt5

    # The path to your Qt installation (default is empty, assumes Qt provided
    # by system)
    qtdir /usr/local/stow/qt-kdesrc

    # Install directory for KDE software
    kdedir /usr/local/stow/kdesrc

    # Directory for downloaded source code
    source-dir ~/proj/plasma-mobile/kdesrc/src

    # Directory to build KDE into before installing
    # relative to source-dir by default
    build-dir ~/proj/plasma-mobile/kdesrc/build     # ~/kdesrc/build

    # Use multiple cores for building. Other options to GNU make may also be
    # set.
    make-options -j3

    # kdesrc-build can install a sample .xsession file for "Custom"
    # (or "XSession") logins,
    install-session-driver false

    # or add a environment variable-setting script to
    # ~/.config/kde-env-master.sh
    install-environment-driver false
    # Proxy to use for HTTP downloads.
    http-proxy http://ash:3128

    # Prefer HTTPS instead of Git-native protocol for git modules that come
    # from 'kde-projects' repositories.
    #
    # Note that any git:// repositories you use will need to be
    # manually converted to https:// URLs if your network does not allow
    # git:// protcol.
    git-desired-protocol git    # http is also valid
end global

module qt
    repository kde:qt
    branch 5.9.2
end module

include /store/rah/proj/plasma-mobile/kdesrc-build/custom-qt5-libs-build-include


# Refers to the kf5-frameworks file included as part of kdesrc-build. The file
# is simply read-in at this point as if you'd typed it in yourself.
include /store/rah/proj/plasma-mobile/kdesrc-build/kf5-frameworks-build-include


# Refers to the kf5-workspace file included as part of kdesrc-build. The file
# is simply read-in at this point as if you'd typed it in yourself.
include /store/rah/proj/plasma-mobile/kdesrc-build/kf5-workspace-build-include


# Refers to the kf5-applications file included as part of kdesrc-build. The file
# is simply read-in at this point as if you'd typed it in yourself.
include /store/rah/proj/plasma-mobile/kdesrc-build/kf5-applications-build-include


# Refers to the kf5-kdepim file included as part of kdesrc-build. The file
# is simply read-in at this point as if you'd typed it in yourself.
include /store/rah/proj/plasma-mobile/kdesrc-build/kf5-kdepim-build-include

Attachment: signature.asc
Description: This is a digitally signed message part