Members of the KDE Community are recommended to subscribe to the kde-community mailing list at to allow them to participate in important discussions and receive other important announcements

  1. 18 Aug, 2019 1 commit
  2. 10 Jul, 2019 1 commit
    • Michael Pyne's avatar
      buildsystem: Remove link to deleted wiki page. · 21afc50e
      Michael Pyne authored
      As David points out, this bit of advice ("see this page for list of
      packages for your distro") is probably not that helpful for a user who
      has surely run into having to find a single package on their distro
  3. 04 May, 2019 1 commit
    • Michael Pyne's avatar
      Add support for Meson build system. · 6385f5e4
      Michael Pyne authored
      New/updated config file options:
      * 'configure-flags', reused as the way to pass cmdline options to the
      meson setup command.
      * 'ninja-options', a new option to pass cmdline options to the `ninja`
      command. Note that ninja is mandated by Meson as the underlying build
      Tested with
      Fixes #27, reviewed in !8.
      Test suite passes and I continue to be able to build 2048.cpp. I've also
      validated that ninja-options is passed to ninja when building 2048.cpp,
      though this was a manual verification.
  4. 31 Mar, 2019 1 commit
    • Johan Ouwerkerk's avatar
      Use the new dependency resolver. · 085f9e32
      Johan Ouwerkerk authored
      Add the following two extra commandline options for introspection:
       * --list-build : like --print-modules but adds branch information
       * --dependency-tree : provides a full tree output of dependency information for each selected module, inspired by the format of `npm ls`.
      The --print-modules behaviour also changes: indentation is no longer provided. Also, the --help output lists the new options now.
  5. 20 Feb, 2019 1 commit
  6. 18 Feb, 2019 1 commit
  7. 09 Feb, 2019 1 commit
    • Michael Pyne's avatar
      Add support for building Qt5 modules. · 11490810
      Michael Pyne authored
      This commit adds basic support for building Qt5 using the Qt5 support
      documented at as requested in
      issue #16 (and a dependency for #15).
      Architecturally within kdesrc-build, Qt5 is handled as a special type of
      module-set, in the same way that KDE project modules are special-cased
      using 'kde-projects'. For Qt5, we use 'qt-projects', and reuse the
      existing use-modules and ignore-modules options.
      The first difference is that {use,ignore}-modules applies to Qt's git
      *submodules*. We pass the combination of those to Qt's `init-repository`
      script as a module-subset. Currently the user will need to enter at
      least a use-modules declaration for other reasons, so we would want to
      setup a sample qt5 configuration to include something appropriate.
      Qt5 support also involves a dedicated source code updater (based on the
      basic Git support already present) and a dedicated build system. The
      source code updater handles the Git update for the qt5 "supermodule"
      containing `init-repository` and then calls `init-repository` to
      complete the rest of the process.
      Unfortunately the existing async IPC code doesn't play well with this
      but the worst that happens is that kdesrc-build will have 2 updates
      running at once for a time (kdesrc-build will think all of Qt is updated
      once the supermodule is updated).
      The build system is actually fairly standard compared to the other
      There's a lot that's still missing here, including:
      * documentation,
      * real support for Git submodules (an open feature request for a long
      * the per-distro list of Qt build dependencies not handled by
      kdesrc-build, and
      * support for things like Qt's `qt5_tool`.
      But, it's successfully built for me with Qt 5.12. :)
  8. 12 Jan, 2019 1 commit
    • Michael Pyne's avatar
      Fix cxxflags being set to a space when globally empty. · b01505be
      Michael Pyne authored
      When cxxflags is globally set to an empty value, the getOption magic
      that appends module values to global values for cxxflags causes it the
      result to equal ' ' (i.e. one space). This is because the space is a
      separator between two empty values.
      This causes code testing against cxxflags to think it's actually been
      set to a value and to add it in the cmake calls.
      I fix this and add a test case, but also add some insurance by trimming
      leading/trailing white space so that the existing check for empty
      cxxflags would have had a chance to catch this.
      Differential Revision:
  9. 29 Dec, 2018 1 commit
  10. 25 Dec, 2018 1 commit
    • Michael Pyne's avatar
      Fix broken cmdline parsing when --stop-on-failure in use. · e743b5bb
      Michael Pyne authored
      As reported in bug 402509, as position of command line argument changes
      the module build list.
      What was happening was --stop-on-failure in particular could 'eat' the
      next command line argument, because even though it was manually
      specified as a 'flag' argument to Getopt::Long, the 'stop-on-failure'
      entry was then overridden in the function call to read options by
      including the options in ksb::BuildContext::defaultGlobalFlags.
      A coding error on my part caused this inclusion of options to treat the
      options as requiring string values instead of boolean flags. As a result
      Getopt::Long would read the next non-option value and assign it to the
      'stop-on-failure' result.
      Fixed by treating the included flags as boolean flags instead of string
      valued, and by ensuring that the two sources for cmdline options are
      fully disjoint. I also added a test that fails with the old code and
      works with the new.
      Fixes #8
  11. 21 Dec, 2018 1 commit
  12. 23 Nov, 2018 1 commit
    • Michael Pyne's avatar
      Remove dead code from ksb::Module. · 483e67ed
      Michael Pyne authored
      We used to have to mark a module as being from cmdline or rc-file for
      proper option and dependency handling but fixes to ksb::Module setup
      have made this redundant.
  13. 27 Oct, 2018 1 commit
  14. 21 Oct, 2018 1 commit
    • Michael Pyne's avatar
      Clean up --help, add stub for initial setup helper. · 6b48a781
      Michael Pyne authored
      Big thanks to the sysadmin team for setting up URL shortlinks for the
      docs URLs!
      This takes another step towards the idea of being able to automatically
      install known dependencies for common distributions, adding .xsession,
      adjusting .bashrc, making a configuration file, and all the other
      initial tasks that need to be done.
  15. 14 Oct, 2018 1 commit
  16. 22 Aug, 2018 1 commit
  17. 27 May, 2018 2 commits
    • Michael Pyne's avatar
      Add testcase for bug 394497 (ignore-modules/include-dependencies). · ca30f09b
      Michael Pyne authored
      This adds a testcase that would fail without the bugfix for bug 394497
      and now passes.
      This did require undoing some of the changes to generateModuleList but
      the only real behavior change (beside merging duplicate ignored module
      checks) was to move the step that generates module dependencies to occur
      earlier so that it can happen before the filter steps
    • Michael Pyne's avatar
      Fix --ignore-modules with --include-dependencies active. · fe41e064
      Michael Pyne authored
      A test case will follow but would clutter the actual fix (which is
      ensuring that a pass to remove all ignored modules happens immediately
      prior to forming the final module list).
  18. 15 Apr, 2018 1 commit
  19. 29 Dec, 2017 1 commit
  20. 05 Nov, 2017 1 commit
  21. 24 Sep, 2017 2 commits
  22. 07 Sep, 2017 2 commits
  23. 06 Aug, 2017 1 commit
    • Michael Pyne's avatar
      Reduce importance of qtdir option, default to ''. · 02c616cb
      Michael Pyne authored
      The qtdir setting took on much less importance with Qt 5.  We've never
      officially supported building Qt 5 with kdesrc-build, and qmake and
      cmake both use qmake or similar Qt-provided config information to find
      Qt, rather than using the unsupported QTDIR environment variable.
      As a result, default the value to an empty string (interpreted as use of
      system Qt) and stop adding it automatically to the environment variables
      defined during the build.  If set, it will continue to be used for now.
      This also helps the environment setup driver detect when it should look
      for the system Qt5 qmake.
  24. 01 Aug, 2017 1 commit
    • Michael Pyne's avatar
      Re-fix my module search path fixup. · 0c565a6a
      Michael Pyne authored
      I thought KF5 had removed /apps/ from the DATA_INSTALL_DIR, and so
      adjusted the CMakeLists.txt install to match when it turned out my
      module search paths were wrong.  Turns out /apps/ is used, so put that
      path and adjust module search paths instead.
  25. 30 Jul, 2017 1 commit
    • Michael Pyne's avatar
      Add install-environment-driver option. · 9031e6c8
      Michael Pyne authored
      This installs needed KDE-related environment settings without going so
      far as to install .xsession support.  For that, see
      install-session-driver, whose documentation has been fixed to make clear
      it's not a default.
  26. 24 Jul, 2017 1 commit
    • Michael Pyne's avatar
      Simplify environment/session driver scripts. · 84aad277
      Michael Pyne authored
      The kde-env-user stuff is probably extraneous, users who will go through and
      tweak the installed script should be skilled enough to
      already have their own .bashrc (or equivalent) and be able to setup their own
      env vars prior to sourcing
      This also ports some of the Qt4/KDE4 stuff to Qt5/KF5, removes now-unnecessary
      environment variable settings, etc.
  27. 23 Jul, 2017 1 commit
    • Michael Pyne's avatar
      Add install-environment-driver option. · 65ad4c42
      Michael Pyne authored
      This installs needed KDE-related environment settings without going so
      far as to install .xsession support.  For that, see
      install-session-driver, whose documentation has been fixed to make clear
      it's not a default.
  28. 29 Dec, 2016 1 commit
    • Michael Pyne's avatar
      ipc: Show status of unbuilt-but-updated modules in async. · 27a4d48e
      Michael Pyne authored
      Basically, modules which are updated by default but not actually built
      (e.g. due to using the manual-build option) are never mentioned in the
      kdesrc-build output in the default async mode of operation.
      This required a bit of refactoring of the IPC code to fix, since the
      underlying cause is that the output during async mode is driven by the
      needs of the build thread, which would request updates from the monitor
      thread on a per-module basis.  But the build thread never inquired about
      modules only being updated, so any such modules were never mentioned on
      the command line.
  29. 14 Oct, 2016 1 commit
    • Michael Pyne's avatar
      kde-projects: Fix a bug where some cmdline options were ignored. · 17d28237
      Michael Pyne authored
      Though I admit that I don't yet fully understand why the bug was
      present, this seems to fix the use of options like --src-only. There was
      an actual bug here: command line options are supposed to override
      rc-file options by default, so the call to update the global context
      object's options had to happen after the rc-file options were read.
      Whatever *this* the problem was, it appears to have been related to
      either the generation of the list of potential modules, or the filtering
      of that list aftewards.
      If other problems are encountered please reopen.
  30. 10 Oct, 2016 1 commit
  31. 08 Oct, 2016 7 commits