|
|
|
@ -1,10 +1,21 @@ |
|
|
|
|
{ pkgs ? import <nixpkgs> {}}: |
|
|
|
|
let |
|
|
|
|
artiqSrc = builtins.toString <artiqSrc>; |
|
|
|
|
generatedNix = pkgs.runCommand "generated-nix" { } |
|
|
|
|
generatedNix = pkgs.runCommand "generated-nix" { buildInputs = [ pkgs.nix pkgs.git ]; } |
|
|
|
|
'' |
|
|
|
|
cp --no-preserve=mode,ownership -R ${./artiq} $out |
|
|
|
|
echo ${artiqSrc} > $out/pkgs/artiq-src.nix |
|
|
|
|
REV=`git --git-dir ${artiqSrc}/.git rev-parse HEAD` |
|
|
|
|
HASH=`nix-hash --type sha256 --base32 ${artiqSrc}` |
|
|
|
|
cat > $out/pkgs/artiq-src.nix << EOF |
|
|
|
|
{ fetchgit }: |
|
|
|
|
fetchgit { |
|
|
|
|
url = "git://github.com/m-labs/artiq.git"; |
|
|
|
|
rev = "$REV"; |
|
|
|
|
sha256 = "$HASH"; |
|
|
|
|
deepClone = true; |
|
|
|
|
leaveDotGit = true; |
|
|
|
|
} |
|
|
|
|
EOF |
|
|
|
|
''; |
|
|
|
|
artiqPkgs = import "${generatedNix}/default.nix" { inherit pkgs; }; |
|
|
|
|
|
|
|
|
@ -22,7 +33,7 @@ let |
|
|
|
|
start // { |
|
|
|
|
"artiq-board-${board.target}-${board.variant}" = boardBinaries; |
|
|
|
|
"conda-artiq-board-${board.target}-${board.variant}" = import "${generatedNix}/conda-board.nix" { inherit pkgs; } { |
|
|
|
|
artiqSrc = import "${generatedNix}/pkgs/artiq-src.nix"; |
|
|
|
|
artiqSrc = import "${generatedNix}/pkgs/artiq-src.nix" { fetchgit = pkgs.fetchgit; }; |
|
|
|
|
boardBinaries = boardBinaries; |
|
|
|
|
target = board.target; |
|
|
|
|
variant = board.variant; |
|
|
|
@ -32,7 +43,7 @@ let |
|
|
|
|
jobs = { |
|
|
|
|
conda-artiq = import "${generatedNix}/conda-build.nix" { inherit pkgs; } { |
|
|
|
|
name = "conda-artiq"; |
|
|
|
|
src = import "${generatedNix}/pkgs/artiq-src.nix"; |
|
|
|
|
src = import "${generatedNix}/pkgs/artiq-src.nix" { fetchgit = pkgs.fetchgit; }; |
|
|
|
|
recipe = "conda/artiq"; |
|
|
|
|
}; |
|
|
|
|
} // boardJobs // artiqPkgs; |
|
|
|
|