We no longer have a separate `startkde` script; instead we patch the script
which comes with `plasma-workspace`. The primary reason to do this is that we
have not been keeping up with the minor bugfixes that the upstream script
receives. A secondary reason is: now that we support Wayland, we don't really
want to have a separate package for each session script.
Disabling HiDPI support seemed to resolve a segfault at SDDM startup, but that
was a red herring. The problem actually resulted from a QML cache invalidation
bug. It should be safe to enable HiDPI support again.
* Skip verifying checksums for already fetched packages.
Needed for two-staged building in Nix:
1. Build a fixed derivation with `bazel fetch` (filtered out of non-reproducable bits).
2. Build an actual derivation which uses fetched dependencies (skipping
checksums needed here because they depend on the build directory).
* Don't clean environment variables for children processes.
Needed for Nix compiler wrappers.
The build for the version 5.4.0 of digiKam has been broken at the time
prior to this commit, which is the main reason for this update as I
don't think it makes sense to fix the build for 5.4.0 when we're going
to update it anyway.
A lot has changed upstream between version 5.4.0 and 5.7.0 and it's too
much to be summarized here, so here are the URLs to the upstream
announcements:
* https://www.digikam.org/news/2017-03-14_digiKam_5.5.0_is_released/
* https://www.digikam.org/news/2017-06-21-5.6.0-release-announcement/
* https://www.digikam.org/news/2017-09-11-5.7.0_release_announcement/
On the packaging side, we now no longer have the patch that disables
-fno-operator-names because the build runs fine without that patch
(which didn't even apply but I didn't check why) and IMO it doesn't make
sense to rebase that patch for no reason.
Additionally, there were build time dependencies lurking around in
propagatedBuildInputs, which is kinda pointless and the application just
runs fine if those dependencies are listed in buildInputs.
While looking for clues about why that might be necessary I haven't
found any comment about it in the source nor a clarification within the
message of the commit where this has been introduced.
The commit in question is be7b7d908f.
Apart from these changes, the rest is just adding a few dependencies
(kcalcore, libksane, mesa and pcre) to get less errors during
cmakeConfigurePhase.
I've tested digiKam by playing around within a VM using photos I
netcat'ed into it and it works so far. The VM was built using:
nix-build nixos --arg configuration '{ pkgs, ... }: {
imports = [ ./nixos/tests/common/user-account.nix ];
environment.systemPackages = [ pkgs.digikam ];
services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
services.xserver.desktopManager.default = "plasma5";
virtualisation.memorySize = 1024;
}' -A vm
What I didn't test however was whether importing from a camera would
work (as I don't have one), but aside from that, the application seems
to run fine compared to the fact that it didn't even build until now :-)
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @the-kenny, @urkud, @viric, @cillianderoiste, @ttuegel
Cc: @jraygauthier, @fkz, @sh01, @lsix
This was actually already mentioned in the comment above version:
Awaiting upcoming `v1.12.0` release. `v1.11.0` is not supporting
cmake which is the the reason behind taking an unstable git rev.
So version 1.12.0 has been released in the meantime and it's also needed
by the latest version of digiKam, which is the only package in nixpkgs
that depends on libqtav.
As we're going to bump digiKam, I think bumping this is safe as in the
worst case we can only make things broken which are already broken
(digiKam currently doesn't build).
The fixes for the CMakeLists.txt are now also no longer needed, so we
can safely drop them as well.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @jraygauthier