48 lines
1.3 KiB
Nix
48 lines
1.3 KiB
Nix
{ callPackage
|
|
, libsForQt5
|
|
}:
|
|
|
|
let
|
|
stableVersion = "2.2.31";
|
|
previewVersion = stableVersion;
|
|
addVersion = args:
|
|
let version = if args.stable then stableVersion else previewVersion;
|
|
branch = if args.stable then "stable" else "preview";
|
|
in args // { inherit version branch; };
|
|
extraArgs = rec {
|
|
mkOverride = attrname: version: sha256:
|
|
self: super: {
|
|
${attrname} = super.${attrname}.overridePythonAttrs (oldAttrs: {
|
|
inherit version;
|
|
src = oldAttrs.src.override {
|
|
inherit version sha256;
|
|
};
|
|
});
|
|
};
|
|
commonOverrides = [
|
|
(mkOverride "jsonschema" "3.2.0" "0ykr61yiiizgvm3bzipa3l73rvj49wmrybbfwhvpgk3pscl5pa68")
|
|
];
|
|
};
|
|
mkGui = args: libsForQt5.callPackage (import ./gui.nix (addVersion args // extraArgs)) { };
|
|
mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { };
|
|
guiSrcHash = "sha256-o9j/avuapiUKIDO6aO/uWFF/5gu+xdfhL7ZSDSaQ858=";
|
|
serverSrcHash = "sha256-8r8nWNqbHUDtJ6x+/SxHxaw1isSuWF/5as3YXLB6LFw=";
|
|
in {
|
|
guiStable = mkGui {
|
|
stable = true;
|
|
sha256Hash = guiSrcHash;
|
|
};
|
|
guiPreview = mkGui {
|
|
stable = false;
|
|
sha256Hash = guiSrcHash;
|
|
};
|
|
|
|
serverStable = mkServer {
|
|
stable = true;
|
|
sha256Hash = serverSrcHash;
|
|
};
|
|
serverPreview = mkServer {
|
|
stable = false;
|
|
sha256Hash = serverSrcHash;
|
|
};
|
|
}
|