haccfiles/pkgs/uffd/default.nix

43 lines
1.2 KiB
Nix

{ fetchFromGitHub, fetchzip, pkgs }:
# slightly cursed, but possibly better than the previous packaging.
# dream2nix is not used via flakes because it has weirdly many dependencies
#
# to update uffd's dependencies, do run the `resolve` output of the below derivation
let
dream2nix = import (fetchFromGitHub {
owner = "nix-community";
repo = "dream2nix";
rev = "548ced938de2b007f40a3dc3e5d156ff58555cdc";
sha256 =
"sha256-FaeGth9m9k5QGsQfg+iY0CuRNyy5lSM06u1Mra5bO/M="; # pkgs.lib.fakeSha256;
});
d2n = dream2nix.lib.init {
inherit pkgs;
config.projectRoot = ./..;
};
src = fetchzip {
url = "https://git.cccv.de/uffd/uffd/-/archive/v2.1.0/uffd-v2.1.0.tar.gz";
hash = "sha256-OIsaMxzrVW4ATxbaetlNlCwXsnycun1i3wdzTg1EHN0=";
postFetch = ''
sed -i -e 's/local/2.1.0/g' $out/setup.py
'';
};
outputs = d2n.dream2nix-interface.makeOutputs {
discoveredProjects = [{
name = "uffd";
relPath = "";
subsystem = "python";
translator = "pip";
translators = [ "pip" ];
subsystemInfo.pythonAttr = "python3";
dreamLockPath = "./dream2nix-packages/uffd/dream-lock.json";
}];
source = src;
};
in {
uffd = outputs.packages.uffd;
uffd-resolve-deps = outputs.packages.uffd.resolve;
}