From b4287ac9f450a5e62e4013efa7231dbb6a9a4718 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Mon, 5 Sep 2022 11:48:43 +0800 Subject: [PATCH] flake: add experimental feature support --- flake.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 641630975..bc2cf378e 100644 --- a/flake.nix +++ b/flake.nix @@ -134,7 +134,7 @@ doCheck = false; # FIXME }; - artiq = pkgs.python3Packages.buildPythonPackage rec { + artiq-upstream = pkgs.python3Packages.buildPythonPackage rec { pname = "artiq"; version = artiqVersion; src = self; @@ -175,6 +175,11 @@ ''; }; + artiq = artiq-upstream // { + withExperimentalFeatures = features: artiq-upstream.overrideAttrs(oa: + { patches = map (f: ./experimental-features/${f}.diff) features; }); + }; + migen = pkgs.python3Packages.buildPythonPackage rec { name = "migen"; src = src-migen; @@ -250,7 +255,7 @@ runScript = "vivado"; }; - makeArtiqBoardPackage = { target, variant, buildCommand ? "python -m artiq.gateware.targets.${target} -V ${variant}" }: + makeArtiqBoardPackage = { target, variant, buildCommand ? "python -m artiq.gateware.targets.${target} -V ${variant}", experimentalFeatures ? [] }: pkgs.stdenv.mkDerivation { name = "artiq-board-${target}-${variant}"; phases = [ "buildPhase" "checkPhase" "installPhase" ]; @@ -261,7 +266,7 @@ }; }; nativeBuildInputs = [ - (pkgs.python3.withPackages(ps: [ ps.jsonschema migen misoc artiq])) + (pkgs.python3.withPackages(ps: [ ps.jsonschema migen misoc (artiq.withExperimentalFeatures experimentalFeatures) ])) rustPlatform.rust.rustc rustPlatform.rust.cargo pkgs.llvmPackages_11.clang-unwrapped