quassel: Fix use of mkDerivation

The `with stdenv;` would override the `mkDerivation` to be the regular
one, instead of the libsForQt5 one.

This simply removes the dangerous use of the all-encompassing `with`,
and prefers using a more precise inherit for `lib`.

See #65399

Co-authored-by: worldofpeace <worldofpeace@protonmail.ch>
This commit is contained in:
Samuel Dionne-Riel 2019-08-30 00:22:16 -04:00 committed by worldofpeace
parent dd57c164e9
commit c52b5b8a5d

View File

@ -5,7 +5,7 @@
, static ? false # link statically
, stdenv, fetchFromGitHub, cmake, makeWrapper, dconf
, qtbase, qtscript
, mkDerivation, qtbase, qtscript
, phonon, libdbusmenu, qca-qt5
, withKDE ? true # enable KDE integration
@ -20,6 +20,7 @@
}:
let
inherit (stdenv) lib;
buildClient = monolithic || client;
buildCore = monolithic || enableDaemon;
in
@ -31,7 +32,7 @@ assert !buildClient -> !withKDE; # KDE is used by the client only
let
edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
in with stdenv; mkDerivation rec {
in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
name = "quassel${tag}-${version}";
version = "0.13.1";
@ -67,13 +68,15 @@ in with stdenv; mkDerivation rec {
++ edf client "WANT_QTCLIENT"
++ edf withKDE "WITH_KDE";
preFixup =
dontWrapQtApps = true;
postFixup =
lib.optionalString enableDaemon ''
wrapProgram "$out/bin/quasselcore" --suffix PATH : "${qtbase.bin}/bin"
wrapProgram "$out/bin/quasselcore" --suffix PATH : "${qtbase.bin}/bin"
'' +
lib.optionalString buildClient ''
wrapProgram "$out/bin/quassel${lib.optionalString client "client"}" \
--prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
wrapQtApp "$out/bin/quassel${lib.optionalString client "client"}" \
--prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
'';
meta = with stdenv.lib; {