From 47f355984ab35c11134a48e89d2860030833e908 Mon Sep 17 00:00:00 2001 From: Stephan Maka Date: Fri, 29 Jan 2021 23:45:37 +0100 Subject: [PATCH 1/2] artiq-full: move reading standalone flag from sinara-systems to before generatedNix --- artiq-full.nix | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/artiq-full.nix b/artiq-full.nix index 0152683..23e6552 100644 --- a/artiq-full.nix +++ b/artiq-full.nix @@ -2,6 +2,23 @@ let sinaraSystemsSrc = ; + standaloneVariants = + let + jsonFiles = + builtins.attrNames ( + pkgs.lib.filterAttrs (name: type: + type != "directory" && + builtins.match ".+\\.json" name != null + ) (builtins.readDir sinaraSystemsSrc) + ); + isStandalone = jsonFile: + (builtins.fromJSON ( + builtins.readFile "${sinaraSystemsSrc}/${jsonFile}" + )).base == "standalone"; + in + map (builtins.replaceStrings [".json"] [""]) ( + builtins.filter isStandalone jsonFiles + ); generatedNix = pkgs.runCommand "generated-nix" { buildInputs = [ pkgs.nix pkgs.git ]; } '' @@ -111,6 +128,9 @@ let "wipm7master" "wipm7satellite" ]); + standaloneVariants = [${builtins.concatStringsSep " " ( + builtins.map (variant: "\"${variant}\"") standaloneVariants + )}]; # Splitting the build process into software+gateware does # not work when artiq embeds compiled firmware into generated # Vivado input. @@ -148,7 +168,7 @@ let boardBinaries = boardBinaries; inherit target variant; }; - } // (pkgs.lib.optionalAttrs ((builtins.fromJSON (builtins.readFile json)).base == "standalone") { + } // (pkgs.lib.optionalAttrs (builtins.elem variant standaloneVariants) { "device-db-\''${target}-\''${variant}" = pkgs.stdenv.mkDerivation { name = "device-db-\''${target}-\''${variant}"; buildInputs = ddbDeps; -- 2.42.0 From b917c0bf2dd9bd64acbc15357d0507f5b778de80 Mon Sep 17 00:00:00 2001 From: Stephan Maka Date: Tue, 2 Feb 2021 03:57:38 +0100 Subject: [PATCH 2/2] artiq-full: let drtio-ddbs depend on one json file instead of full sinara-systems --- artiq-full.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/artiq-full.nix b/artiq-full.nix index 23e6552..5de005c 100644 --- a/artiq-full.nix +++ b/artiq-full.nix @@ -241,7 +241,7 @@ let buildPhase = " mkdir \$out artiq_ddb_template \ - \''${pkgs.lib.strings.concatStringsSep " " (pkgs.lib.attrsets.mapAttrsToList (dest: desc: "-s " + dest + " " + src + "/" + desc + ".json") crates.satellites) } \ + \''${pkgs.lib.strings.concatStringsSep " " (pkgs.lib.attrsets.mapAttrsToList (dest: desc: "-s " + dest + " " + (src + "/\''${desc}.json")) crates.satellites) } \ \''${src}/\''${crates.master}.json -o \$out/device_db.py mkdir \$out/nix-support echo file device_db_template \$out/device_db.py >> \$out/nix-support/hydra-build-products -- 2.42.0