1. 12 Jul, 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. 06 Jul, 2019 1 commit
    • Michael Pyne's avatar
      git: Improve detection of local changes. · 00d2ae89
      Michael Pyne authored
      libgpg-error currently fails to update with kdesrc-build, ultimately due
      to git-rebase complaining that there are local changes that need to be
      stashed or reverted first.
      These local changes are inherent to the libgpg-error build process, but
      even so, kdesrc-build *does* check for local changes and stashes them
      But it turns out the current check from git of whether there are local
      changes (using git-diff) gives a 'no changes' answer with libgpg-error's
      modifications. So git-diff thinks there's no change, but git-rebase
      thinks there is a change.
      git-status --short gives an answer matching git-rebase, so switch to
      that instead. git-status also gives answers for both the index and the
      working tree at the same time to the updated code is even a bit shorter
  4. 04 Jul, 2019 1 commit
    • Michael Pyne's avatar
      sample-rc: Give the only anon module-set a name. · 99c87f49
      Michael Pyne authored
      It is optional for module-sets to have names, but it's still a good idea
      to *have* a name since kdesrc-build will try to provide you information
      on which module-set a given module is being built from. If no name is
      present then you'll get an ugly name for the set like
      "Building qca from <module-set at line 34>".
      As long as the user doesn't mind that's fine, but our base configuration
      should set a higher standard.
      This was the only anonymous module-set in the current base
      configuration. Thanks to Laurent for the report.
  5. 23 Jun, 2019 1 commit
    • Michael Pyne's avatar
      build-system: Don't auto-clean build dir on repeated failure. · 0d96a0e6
      Michael Pyne authored
      This was needed prior to CMake (and for some time as we were porting to
      CMake) so that a wedged build system had at least a hope of eventually
      being corrected.
      This interferes with other use cases however and since CMake is really
      good nowadays at generating valid build systems, remove this behavior.
      Users can still pass --refresh-build when desired.
      Fixes #30.
  6. 14 Jun, 2019 1 commit
  7. 03 Jun, 2019 1 commit
    • Milian Wolff's avatar
      Remove libkolab · d8df6b7f
      Milian Wolff authored
      It's been merged into kdepim-runtime and Volker says
      the non-building libkolab doesn't build anymore
  8. 25 May, 2019 2 commits
  9. 04 May, 2019 3 commits
    • Jonah Brüchert's avatar
      session-env: Set correct libname on Debian systems. · 74d70dec
      Jonah Brüchert authored
      Contributed by Jonah Brüchert.
      Debian and its derivatives use paths like /usr/lib/$abi-triple, and
      these /don't/ seem to also exist on non-Debian distros. So assume that
      if a GNU ABI triple path is present that it should be used.
      Differential Revision: https://phabricator.kde.org/D19864
    • José JORGE's avatar
      first-run: Add support for Mageia 6 distribution. · b7f93bfe
      José JORGE authored
      Contributed by José JORGE of Mageia based on the existing Fedora package
      list (and deliberately falling back to the Fedora install cmds which are
      I've tested myself by mounting the kdesrc-build directory into a Docker
      container running the base Mageia 6 image and verifying that
      "kdesrc-build --inital-setup" works. I have not verified that any
      substantial packages build from there.
      Differential Revision: https://phabricator.kde.org/D20936
    • 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 https://github.com/plibither8/2048.cpp
      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.
  10. 01 May, 2019 1 commit
    • Michael Pyne's avatar
      env: Do not prepend /bin when {qt,kde}dir is blank. · e54200ee
      Michael Pyne authored
      This fixes #29, where kdesrc-build was aggressively prepending '/bin' to
      the PATH if either kdedir or qtdir were unset (and qtdir is unset by
      default). This isn't normally an issue but can conflict with user
      Since the desire here is to setup Qt and/or KF5 before system packages,
      only perform this prepending if Qt and/or KF5 are actually in use from
      kdesrc-build. If those values aren't set then the system should already
      be configured to provide in the environment so we shouldn't interfere.
      It turns out that both ksb::Module and ksb::BuildContext are already
      somewhat testable without a lot of orchestration needed here. I've
      verified that the new tests fails without the patch applied, and pass
      with this patch applied.
  11. 27 Apr, 2019 1 commit
  12. 13 Apr, 2019 3 commits
  13. 31 Mar, 2019 9 commits
  14. 28 Mar, 2019 1 commit
  15. 24 Mar, 2019 1 commit
  16. 23 Mar, 2019 3 commits
  17. 09 Mar, 2019 1 commit
    • Michael Pyne's avatar
      dep-resolv: Fix bug handling negated dependencies. · 318635fd
      Michael Pyne authored
      Fix bug spotted by @ouwerkerk in handling of negated dependencies. Since
      _shortenModuleNames() removes all text from beginning of the string to
      the first '/', and since module names in dependency-data almost always
      contain at least one '/', the '-' prefix that indicates a negated
      dependency is eaten before the dependency is inserted into the
      appropriate list.
      This seems to have not been a significant issue in practice but could
      help with building fewer modules for things like Android-related
      branch-groups (which ignores kf5umbrella and manually specifies a
      minimal dependency list instead).
  18. 02 Mar, 2019 1 commit
  19. 20 Feb, 2019 1 commit
  20. 18 Feb, 2019 2 commits
  21. 09 Feb, 2019 3 commits
    • Michael Pyne's avatar
      Merge branch 'add-qt5-support' into 'master' · 991f4e1f
      Michael Pyne authored
      Add support for building Qt5 modules.
      See merge request !3
    • 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 https://wiki.qt.io/Building_Qt_5_from_Git 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. :)
    • Michael Pyne's avatar
      first-run: Add Fedora 29 packages and installer metadata. · 34cef6ec
      Michael Pyne authored
      This package set is sufficient to get kdesrc-build --metadata-only to
      work, and assuming Qt 5 is installed, to get through kcoreaddons, maybe
      a bit further.
  22. 08 Feb, 2019 1 commit