mirror of
https://github.com/nix-community/dream2nix.git
synced 2024-11-29 23:35:33 +03:00
72 lines
1.6 KiB
Nix
72 lines
1.6 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
l = lib // builtins;
|
|
python = config.deps.python;
|
|
in {
|
|
imports = [
|
|
../../drv-parts/pip
|
|
];
|
|
|
|
deps = {
|
|
nixpkgs,
|
|
nixpkgsStable,
|
|
...
|
|
}: {
|
|
inherit
|
|
(nixpkgs)
|
|
apache-airflow
|
|
git
|
|
fetchFromGitHub
|
|
;
|
|
python = nixpkgs.python3;
|
|
};
|
|
|
|
name = "apache-airflow";
|
|
version = "2.5.0";
|
|
|
|
mkDerivation = {
|
|
src = config.deps.fetchFromGitHub {
|
|
owner = "apache";
|
|
repo = "airflow";
|
|
rev = "refs/tags/${config.version}";
|
|
# Download using the git protocol rather than using tarballs, because the
|
|
# GitHub archive tarballs don't appear to include tests
|
|
forceFetchGit = true;
|
|
hash = "sha256-QWUXSG+RSHkF5kP1ZYtx+tHjO0n7hfya9CFA3lBhJHk=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
python.pkgs.GitPython
|
|
];
|
|
};
|
|
|
|
pip = {
|
|
pypiSnapshotDate = "2023-01-01";
|
|
requirementsList = [
|
|
"apache-airflow"
|
|
"setuptools-scm"
|
|
];
|
|
|
|
drvs = {
|
|
# We include fixes from nixpkgs for pendulum, but keep
|
|
# our dependencies to avoid version conflicts
|
|
pendulum.nixpkgs-overrides = {
|
|
enable = true;
|
|
exclude = ["propagatedBuildInputs"];
|
|
};
|
|
lazy-object-proxy.mkDerivation = {
|
|
# setuptools-scm is required by lazy-object-proxy,
|
|
# we include it in our requirements above instead of
|
|
# using the version from nixpkgs to ensure that
|
|
# transistive dependencies (i.e. typing-extensions) are
|
|
# compatible with the rest of our lock file.
|
|
|
|
buildInputs = [config.pip.drvs.setuptools-scm.public];
|
|
};
|
|
};
|
|
};
|
|
}
|