[WIP] Flakes #45
|
@ -1,9 +1,11 @@
|
||||||
{ pkgs ? import <nixpkgs> {}
|
{ pkgs ? import <nixpkgs> {}
|
||||||
, artiq-fast ? <artiq-fast>
|
, artiq-fast ? <artiq-fast>
|
||||||
|
, sinaraSystemsSrc ? <sinaraSystemsSrc>
|
||||||
|
, sinaraSystemsRev ? null
|
||||||
|
, sinaraSystemsHash ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
sinaraSystemsSrc = <sinaraSystemsSrc>;
|
|
||||||
generatedNix = pkgs.runCommand "generated-nix" { buildInputs = [ pkgs.nix pkgs.git ]; }
|
generatedNix = pkgs.runCommand "generated-nix" { buildInputs = [ pkgs.nix pkgs.git ]; }
|
||||||
''
|
''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
|
@ -11,14 +13,21 @@ let
|
||||||
cp ${../artiq-full/artiq-targets.nix} $out/artiq-targets.nix
|
cp ${../artiq-full/artiq-targets.nix} $out/artiq-targets.nix
|
||||||
cp -a ${artiq-fast} $out/fast
|
cp -a ${artiq-fast} $out/fast
|
||||||
|
|
||||||
|
${if sinaraSystemsRev != null && sinaraSystemsHash != null
|
||||||
|
then ''
|
||||||
|
REV=${sinaraSystemsRev}
|
||||||
|
HASH=${sinaraSystemsHash}
|
||||||
|
'' else ''
|
||||||
REV=`git --git-dir ${sinaraSystemsSrc}/.git rev-parse HEAD`
|
REV=`git --git-dir ${sinaraSystemsSrc}/.git rev-parse HEAD`
|
||||||
echo -n $REV > $out/sinara-rev.txt
|
|
||||||
SINARA_SRC_CLEAN=`mktemp -d`
|
SINARA_SRC_CLEAN=`mktemp -d`
|
||||||
cp -a ${sinaraSystemsSrc}/. $SINARA_SRC_CLEAN
|
cp -a ${sinaraSystemsSrc}/. $SINARA_SRC_CLEAN
|
||||||
chmod -R 755 $SINARA_SRC_CLEAN/.git
|
chmod -R 755 $SINARA_SRC_CLEAN/.git
|
||||||
chmod 755 $SINARA_SRC_CLEAN
|
chmod 755 $SINARA_SRC_CLEAN
|
||||||
rm -rf $SINARA_SRC_CLEAN/.git
|
rm -rf $SINARA_SRC_CLEAN/.git
|
||||||
HASH=`nix-hash --type sha256 --base32 $SINARA_SRC_CLEAN`
|
HASH=`nix-hash --type sha256 --base32 $SINARA_SRC_CLEAN`
|
||||||
|
''}
|
||||||
|
|
||||||
|
echo -n $REV > $out/sinara-rev.txt
|
||||||
echo -n $HASH > $out/sinara-hash.txt
|
echo -n $HASH > $out/sinara-hash.txt
|
||||||
|
|
||||||
cat > $out/default.nix << EOF
|
cat > $out/default.nix << EOF
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
{ pkgs, version, src, target }:
|
{ pkgs, version, src, target }:
|
||||||
|
|
||||||
let
|
let
|
||||||
wfvm = import ../wfvm.nix { inherit pkgs; };
|
wfvm = import ../wfvm.nix {
|
||||||
|
inherit pkgs;
|
||||||
|
wfvm-pkgs = pkgs;
|
||||||
|
};
|
||||||
libiconv-filename = "libiconv-1.15-h1df5818_7.tar.bz2";
|
libiconv-filename = "libiconv-1.15-h1df5818_7.tar.bz2";
|
||||||
libiconv = pkgs.fetchurl {
|
libiconv = pkgs.fetchurl {
|
||||||
url = "https://anaconda.org/anaconda/libiconv/1.15/download/win-64/${libiconv-filename}";
|
url = "https://anaconda.org/anaconda/libiconv/1.15/download/win-64/${libiconv-filename}";
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
{ pkgs, version, src }:
|
{ pkgs, version, src }:
|
||||||
|
|
||||||
let
|
let
|
||||||
wfvm = import ../wfvm.nix { inherit pkgs; };
|
wfvm = import ../wfvm.nix {
|
||||||
|
inherit pkgs;
|
||||||
|
wfvm-pkgs = pkgs;
|
||||||
|
};
|
||||||
conda-vs2015_runtime-filename = "vs2015_runtime-14.16.27012-hf0eaf9b_2.tar.bz2";
|
conda-vs2015_runtime-filename = "vs2015_runtime-14.16.27012-hf0eaf9b_2.tar.bz2";
|
||||||
conda-vs2015_runtime = pkgs.fetchurl {
|
conda-vs2015_runtime = pkgs.fetchurl {
|
||||||
url = "https://anaconda.org/anaconda/vs2015_runtime/14.16.27012/download/win-64/${conda-vs2015_runtime-filename}";
|
url = "https://anaconda.org/anaconda/vs2015_runtime/14.16.27012/download/win-64/${conda-vs2015_runtime-filename}";
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
{ pkgs, conda-windows-llvm-or1k, version, src }:
|
{ pkgs, conda-windows-llvm-or1k, version, src }:
|
||||||
|
|
||||||
let
|
let
|
||||||
wfvm = import ../wfvm.nix { inherit pkgs; };
|
wfvm = import ../wfvm.nix {
|
||||||
|
inherit pkgs;
|
||||||
|
wfvm-pkgs = pkgs;
|
||||||
|
};
|
||||||
conda-vs2015_runtime-filename = "vs2015_runtime-14.16.27012-hf0eaf9b_2.tar.bz2";
|
conda-vs2015_runtime-filename = "vs2015_runtime-14.16.27012-hf0eaf9b_2.tar.bz2";
|
||||||
conda-vs2015_runtime = pkgs.fetchurl {
|
conda-vs2015_runtime = pkgs.fetchurl {
|
||||||
url = "https://anaconda.org/anaconda/vs2015_runtime/14.16.27012/download/win-64/${conda-vs2015_runtime-filename}";
|
url = "https://anaconda.org/anaconda/vs2015_runtime/14.16.27012/download/win-64/${conda-vs2015_runtime-filename}";
|
||||||
|
|
|
@ -33,8 +33,6 @@ in
|
||||||
buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind;
|
buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind;
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
NIX_BUILD_CORES=4
|
|
||||||
makeFlagsArray=(-j''$NIX_BUILD_CORES)
|
|
||||||
mkdir -p $out/
|
mkdir -p $out/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
{ pkgs }:
|
{ pkgs
|
||||||
|
, wfvm-pkgs ? import (pkgs.fetchFromGitHub {
|
||||||
let
|
|
||||||
# Pin nixpkgs to avoid frequent resource-intensive Windows reinstallations on Hydra.
|
|
||||||
wfvm-pkgs = pkgs.fetchFromGitHub {
|
|
||||||
owner = "NixOS";
|
owner = "NixOS";
|
||||||
repo = "nixpkgs";
|
repo = "nixpkgs";
|
||||||
rev = "f8248ab6d9e69ea9c07950d73d48807ec595e923";
|
rev = "f8248ab6d9e69ea9c07950d73d48807ec595e923";
|
||||||
sha256 = "009i9j6mbq6i481088jllblgdnci105b2q4mscprdawg3knlyahk";
|
sha256 = "009i9j6mbq6i481088jllblgdnci105b2q4mscprdawg3knlyahk";
|
||||||
};
|
}) {}
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
wfvm = pkgs.fetchgit {
|
wfvm = pkgs.fetchgit {
|
||||||
url = "https://git.m-labs.hk/M-Labs/wfvm.git";
|
url = "https://git.m-labs.hk/M-Labs/wfvm.git";
|
||||||
rev = "4b497938ffd9fcddf84a3dbe2f01524395292adb";
|
rev = "4b497938ffd9fcddf84a3dbe2f01524395292adb";
|
||||||
sha256 = "0m3kdbbcskqc1lf8b5f7ccbll9b7vkl4r00kbyx3yjb2rs6cqvil";
|
sha256 = "0m3kdbbcskqc1lf8b5f7ccbll9b7vkl4r00kbyx3yjb2rs6cqvil";
|
||||||
};
|
};
|
||||||
in import "${wfvm}/wfvm" { pkgs = (import wfvm-pkgs {}); }
|
in import "${wfvm}/wfvm" { pkgs = wfvm-pkgs; }
|
||||||
|
|
|
@ -13,7 +13,10 @@ set -e
|
||||||
nix-build -E "
|
nix-build -E "
|
||||||
let
|
let
|
||||||
pkgs = import <nixpkgs> {};
|
pkgs = import <nixpkgs> {};
|
||||||
wfvm = import ../wfvm.nix { inherit pkgs; };
|
wfvm = import ../wfvm.nix {
|
||||||
|
inherit pkgs;
|
||||||
|
wfvm-pkgs = pkgs;
|
||||||
|
};
|
||||||
in
|
in
|
||||||
wfvm.utils.wfvm-run {
|
wfvm.utils.wfvm-run {
|
||||||
name = \"get-conda-packages\";
|
name = \"get-conda-packages\";
|
||||||
|
|
|
@ -10,7 +10,10 @@ let
|
||||||
inherit port;
|
inherit port;
|
||||||
}) tcpPorts;
|
}) tcpPorts;
|
||||||
|
|
||||||
wfvm = import ../wfvm.nix { inherit pkgs; };
|
wfvm = import ../wfvm.nix {
|
||||||
|
inherit pkgs;
|
||||||
|
wfvm-pkgs = pkgs;
|
||||||
|
};
|
||||||
conda-deps = {
|
conda-deps = {
|
||||||
name = "conda-deps";
|
name = "conda-deps";
|
||||||
script = let
|
script = let
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
{ pkgs ? import <nixpkgs> {}
|
{ pkgs ? import <nixpkgs> {}
|
||||||
, a6p ? <a6p>
|
, a6p ? <a6p>
|
||||||
}:
|
, artiq-board-generated ? <artiq-board-generated>
|
||||||
|
, sinaraSystemsRev ? builtins.readFile (artiq-board-generated + "/sinara-rev.txt")
|
||||||
let
|
, sinaraSystemsHash ? builtins.readFile (artiq-board-generated + "/sinara-hash.txt")
|
||||||
sinaraSystemsRev = builtins.readFile <artiq-board-generated/sinara-rev.txt>;
|
, sinaraSystemsSrc ? (
|
||||||
sinaraSystemsHash = builtins.readFile <artiq-board-generated/sinara-hash.txt>;
|
|
||||||
sinaraSystemsSrc =
|
|
||||||
if a6p
|
if a6p
|
||||||
then pkgs.fetchgit {
|
then pkgs.fetchgit {
|
||||||
url = "https://git.m-labs.hk/M-Labs/sinara-systems.git";
|
url = "https://git.m-labs.hk/M-Labs/sinara-systems.git";
|
||||||
rev = sinaraSystemsRev;
|
rev = sinaraSystemsRev;
|
||||||
sha256 = sinaraSystemsHash;
|
sha256 = sinaraSystemsHash;
|
||||||
}
|
}
|
||||||
else <sinaraSystemsSrc>;
|
else <sinaraSystemsSrc>
|
||||||
artiq-fast =
|
)
|
||||||
|
, artiq-fast ? (
|
||||||
if a6p
|
if a6p
|
||||||
then <artiq-board-generated/fast>
|
then <artiq-board-generated/fast>
|
||||||
else <artiq-fast>;
|
else <artiq-fast>
|
||||||
|
)
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
artiqVersion = import (artiq-fast + "/pkgs/artiq-version.nix") {
|
artiqVersion = import (artiq-fast + "/pkgs/artiq-version.nix") {
|
||||||
inherit (pkgs) stdenv git fetchgit;
|
inherit (pkgs) stdenv git fetchgit;
|
||||||
};
|
};
|
||||||
|
@ -49,17 +52,17 @@ let
|
||||||
|
|
||||||
${if a6p
|
${if a6p
|
||||||
then ''
|
then ''
|
||||||
cp -a ${<artiq-board-generated>} $out/board-generated
|
cp -a ${artiq-board-generated} $out/board-generated
|
||||||
ln -s board-generated/fast $out/fast
|
ln -s board-generated/fast $out/fast
|
||||||
''
|
''
|
||||||
else "cp -a ${<artiq-fast>} $out/fast"}
|
else "cp -a ${artiq-fast} $out/fast"}
|
||||||
cp ${./artiq-full}/artiq-board-vivado.nix $out
|
cp ${./artiq-full}/artiq-board-vivado.nix $out
|
||||||
cp ${./artiq-full}/generate-identifier.py $out
|
cp ${./artiq-full}/generate-identifier.py $out
|
||||||
cp ${./artiq-full}/conda-artiq-board.nix $out
|
cp ${./artiq-full}/conda-artiq-board.nix $out
|
||||||
cp ${./artiq-full}/extras.nix $out
|
cp ${./artiq-full}/extras.nix $out
|
||||||
cp ${./artiq-full}/*.patch $out
|
cp ${./artiq-full}/*.patch $out
|
||||||
|
|
||||||
${if a6p
|
${if sinaraSystemsRev != null && sinaraSystemsHash != null
|
||||||
then ''
|
then ''
|
||||||
REV=${sinaraSystemsRev}
|
REV=${sinaraSystemsRev}
|
||||||
HASH=${sinaraSystemsHash}
|
HASH=${sinaraSystemsHash}
|
||||||
|
@ -109,7 +112,9 @@ let
|
||||||
inherit pkgs vivado;
|
inherit pkgs vivado;
|
||||||
}
|
}
|
||||||
''};
|
''};
|
||||||
conda-artiq-board = import ./conda-artiq-board.nix { inherit pkgs; };
|
conda-artiq-board = import ./conda-artiq-board.nix {
|
||||||
|
inherit pkgs;
|
||||||
|
};
|
||||||
src = pkgs.fetchgit {
|
src = pkgs.fetchgit {
|
||||||
url = "https://git.m-labs.hk/M-Labs/sinara-systems.git";
|
url = "https://git.m-labs.hk/M-Labs/sinara-systems.git";
|
||||||
rev = "$REV";
|
rev = "$REV";
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"artiq-beta-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1614493604,
|
||||||
|
"narHash": "sha256-9P/O4SWHqHWO+OD3d8FihJXQ+Y5JRlW0ajBNYZlIZUg=",
|
||||||
|
"ref": "master",
|
||||||
|
"rev": "b8f4c6b9bb8ce4f2d7dc50e87690ad336841357c",
|
||||||
|
"revCount": 7585,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/M-Labs/artiq.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/M-Labs/artiq.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"artiq-legacy-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1613549523,
|
||||||
|
"narHash": "sha256-FgX/W+y8N4/6DLLTJuJVg5gUr3zk/5DxmSIxA4I6ZvE=",
|
||||||
|
"ref": "release-5",
|
||||||
|
"rev": "10c9842fc8844b524811336c6a529c648a2d2fde",
|
||||||
|
"revCount": 7153,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/M-Labs/artiq.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"ref": "release-5",
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/M-Labs/artiq.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"artiq-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1613555154,
|
||||||
|
"narHash": "sha256-D/43YVvMNkcXV6sBBxAqxcmtEO3TagIQEQl0zsGE+ag=",
|
||||||
|
"ref": "release-6",
|
||||||
|
"rev": "c22482787ef806eb8e48d59b6ded7d93c7677c81",
|
||||||
|
"revCount": 7582,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/M-Labs/artiq.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"ref": "release-6",
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/M-Labs/artiq.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1614338965,
|
||||||
|
"narHash": "sha256-2HPgL9171Dhlg9lS4Ep5aeh4ejRCED+gNmU9tYzgyic=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "113092f5531ef38a45046990199873755a372646",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "release-20.09",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"artiq-beta-src": "artiq-beta-src",
|
||||||
|
"artiq-legacy-src": "artiq-legacy-src",
|
||||||
|
"artiq-src": "artiq-src",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"sinara-systems": "sinara-systems"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sinara-systems": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1615195806,
|
||||||
|
"narHash": "sha256-UfsPJxvERsGiECOFC+sjmk4r61aWepF0nXqRgnmLR80=",
|
||||||
|
"ref": "master",
|
||||||
|
"rev": "1f0605f46cc7cbfcdf427f15a93e0e4a75d0d491",
|
||||||
|
"revCount": 202,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.m-labs.hk/M-Labs/sinara-systems.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.m-labs.hk/M-Labs/sinara-systems.git"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
|
@ -0,0 +1,115 @@
|
||||||
|
# let
|
||||||
|
# system = "x86_64-linux";
|
||||||
|
# in
|
||||||
|
{
|
||||||
|
description = "ARTIQ";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/release-20.09";
|
||||||
|
artiq-beta-src = {
|
||||||
|
url = "git+https://github.com/M-Labs/artiq.git";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
artiq-src = {
|
||||||
|
url = "git+https://github.com/M-Labs/artiq.git?ref=release-6";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
artiq-legacy-src = {
|
||||||
|
url = "git+https://github.com/M-Labs/artiq.git?ref=release-5";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
sinara-systems = {
|
||||||
|
url = "git+https://git.m-labs.hk/M-Labs/sinara-systems.git";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = sources@{ self, nixpkgs, sinara-systems, ... }:
|
||||||
|
let
|
||||||
|
systems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
];
|
||||||
|
forAllSystems = nixpkgs.lib.genAttrs systems;
|
||||||
|
|
||||||
|
sinaraSystemsSrc = sinara-systems.outPath;
|
||||||
|
sinaraSystemsRev = sinara-systems.rev;
|
||||||
|
sinaraSystemsHash = builtins.replaceStrings ["sha256-"] [""] sinara-systems.narHash;
|
||||||
|
|
||||||
|
artiq-jobsets = system: artiqInputName: a6p:
|
||||||
|
let
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
|
||||||
|
artiq-fast-src =
|
||||||
|
let
|
||||||
|
inherit (sources.${artiqInputName}) lastModified rev revCount narHash;
|
||||||
|
hash = builtins.replaceStrings ["sha256-"] [""] narHash;
|
||||||
|
|
||||||
|
artiqSrc = sources.${artiqInputName}.outPath;
|
||||||
|
|
||||||
|
in pkgs.runCommand "generated-nix" { buildInputs = [ pkgs.nix pkgs.git ]; } ''
|
||||||
|
cp --no-preserve=mode,ownership -R ${./artiq-fast} $out
|
||||||
|
|
||||||
|
MAJOR_VERSION=`cat ${artiqSrc}/MAJOR_VERSION`
|
||||||
|
if [ -e ${artiqSrc}/BETA ]; then
|
||||||
|
SUFFIX=".beta"
|
||||||
|
else
|
||||||
|
SUFFIX=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat > $out/pkgs/artiq-src.nix << EOF
|
||||||
|
{ fetchgit }:
|
||||||
|
fetchgit {
|
||||||
|
url = "git://github.com/m-labs/artiq.git";
|
||||||
|
rev = "${rev}";
|
||||||
|
sha256 = "${hash}";
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
echo "{ stdenv, git, fetchgit }: \"$MAJOR_VERSION.${toString revCount}.`cut -c1-8 <<< ${rev}`$SUFFIX\"" > $out/pkgs/artiq-version.nix
|
||||||
|
echo "{ stdenv, git, fetchgit }: \"${toString lastModified}\"" > $out/pkgs/artiq-timestamp.nix
|
||||||
|
'';
|
||||||
|
artiq-fast =
|
||||||
|
import artiq-fast-src {
|
||||||
|
inherit pkgs;
|
||||||
|
};
|
||||||
|
|
||||||
|
artiq-board-generated =
|
||||||
|
(import ./artiq-board-generated {
|
||||||
|
inherit pkgs;
|
||||||
|
inherit sinaraSystemsSrc sinaraSystemsRev sinaraSystemsHash;
|
||||||
|
artiq-fast = artiq-fast-src;
|
||||||
|
}).generated-nix;
|
||||||
|
|
||||||
|
artiq-full =
|
||||||
|
import ./artiq-full.nix {
|
||||||
|
inherit pkgs a6p artiq-board-generated;
|
||||||
|
artiq-fast = artiq-fast-src;
|
||||||
|
inherit sinaraSystemsSrc sinaraSystemsRev sinaraSystemsHash;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
inherit artiq-fast artiq-full;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
packages = forAllSystems (system:
|
||||||
|
builtins.foldl' (a: b: a // b) {} (
|
||||||
|
builtins.attrValues (
|
||||||
|
artiq-jobsets system "artiq-beta-src" true
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
defaultPackage = forAllSystems (system: self.packages.${system}.artiq);
|
||||||
|
|
||||||
|
hydraJobs =
|
||||||
|
let
|
||||||
|
jobset = artiqInputName: a6p: name:
|
||||||
|
forAllSystems (system: (artiq-jobsets system artiqInputName a6p).${name});
|
||||||
|
in {
|
||||||
|
fast = jobset "artiq-src" true "artiq-fast";
|
||||||
|
fast-beta = jobset "artiq-beta-src" true "artiq-fast";
|
||||||
|
fast-legacy = jobset "artiq-legacy-src" false "artiq-fast";
|
||||||
|
full = jobset "artiq-src" true "artiq-full";
|
||||||
|
full-beta = jobset "artiq-beta-src" true "artiq-full";
|
||||||
|
full-legacy = jobset "artiq-legacy-src" false "artiq-full";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue