Compare commits

..

No commits in common. 'master' and 'master' have entirely different histories.

  1. 7
      artiq-fast.nix
  2. 48
      artiq-full.nix
  3. 8
      artiq-full/extras.nix
  4. 5
      artiq-zynq.nix
  5. 116
      hydra/artiq.json
  6. 2
      hydra/mcu.json
  7. 7
      hydra/web.json
  8. 12
      mcu-contrib/default.nix
  9. 29
      web.nix

7
artiq-fast.nix

@ -59,9 +59,8 @@ in
extended-tests = pkgs.stdenv.mkDerivation {
name = "extended-tests";
__networked = true; # compatibility with old patched Nix
# breaks hydra, https://github.com/NixOS/hydra/issues/1216
#__impure = true; # Nix 2.8+
# requires patched Nix
__networked = true;
buildInputs = [
(pkgs.python3.withPackages(ps: [ ps.paramiko artiqpkgs.artiq artiqpkgs.artiq-board-kc705-nist_clock ]))
@ -75,7 +74,7 @@ in
mkdir $HOME/.ssh
cp /opt/hydra_id_ed25519 $HOME/.ssh/id_ed25519
cp /opt/hydra_id_ed25519.pub $HOME/.ssh/id_ed25519.pub
echo "rpi-1 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIACtBFDVBYoAE4fpJCTANZSE0bcVpTR3uvfNvb80C4i5" > $HOME/.ssh/known_hosts
echo "rpi-1 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPOBQVcsvk6WgRj18v4m0zkFeKrcN9gA+r6sxQxNwFpv" > $HOME/.ssh/known_hosts
chmod 600 $HOME/.ssh/id_ed25519
LOCKCTL=$(mktemp -d)
mkfifo $LOCKCTL/lockctl

48
artiq-full.nix

@ -156,12 +156,60 @@ let
"2" = "apsatellite2";
};
};
berkeley3 = {
master = "berkeley3master";
satellites = {
"1" = "berkeley3satellite";
};
};
npl3 = {
master = "npl3master";
satellites = {
"1" = "npl3satellite";
};
};
npl5 = {
master = "npl5master";
satellites = {
"1" = "npl5satellite";
};
};
ptb3 = {
master = "ptb3master";
satellites = {
"1" = "ptb3satellite";
};
};
roa1 = {
master = "roa1master";
satellites = {
"1" = "roa1satellite";
};
};
sias = {
master = "siasmaster";
satellites = {
"1" = "siassatellite";
};
};
stfc = {
master = "stfcmaster";
satellites = {
"1" = "stfcsatellite";
};
};
ubirmingham3 = {
master = "ubirmingham3master";
satellites = {
"1" = "ubirmingham3satellite";
};
};
ustc5 = {
master = "ustc5master";
satellites = {
"1" = "ustc5satellite";
};
};
''}
};
drtio-ddbs = pkgs.lib.attrsets.mapAttrs'

8
artiq-full/extras.nix

@ -241,13 +241,13 @@ in
condaOptions = { dependencies = [ "flake8" ]; };
}) // (dualPackage rec {
name = "dax";
version = "6.7";
version = "6.6";
enabled = builtins.head (builtins.splitVersion version) == builtins.head (builtins.splitVersion artiq.version);
withManual = false;
src = pkgs.fetchgit {
url = "https://gitlab.com/duke-artiq/dax.git";
rev = "v${version}";
sha256 = "0rgvqqiypqvxjzrsixn3h7dn93isqw5vc2wrmpkxhzvw9lh5ihm7";
sha256 = "1xf1snd0hsa94r8rdl17kwc5x0ig8hx29c0blpcihbh6r0j1cg7q";
};
pythonOptions = {
VERSIONEER_OVERRIDE = version;
@ -263,8 +263,8 @@ in
withManual = false;
src = pkgs.fetchgit {
url = "https://gitlab.com/duke-artiq/dax-applets.git";
rev = "0f0196b6941b0c44a33c85d8c02047ca65466463";
sha256 = "0mx6yjvprhdnkdigwns8mg6v5daqxpgbv7mf63fa76i1iv2wvak4";
rev = "3cd1aefb03208021a38fd04803f6dcff25f61e1d";
sha256 = "0kk745fc8dri0zs1db790zl0dja4ibz4cd2h85xq6j6ar1s6afwj";
};
pythonOptions = {
propagatedBuildInputs = [ artiq ]

5
artiq-zynq.nix

@ -21,9 +21,8 @@ in
zc706-hitl-tests = pkgs.lib.hydraJob (pkgs.stdenv.mkDerivation {
name = "zc706-hitl-tests";
__networked = true; # compatibility with old patched Nix
# breaks hydra, https://github.com/NixOS/hydra/issues/1216
#__impure = true; # Nix 2.8+
# requires patched Nix
__networked = true;
buildInputs = [
pkgs.netcat pkgs.openssh pkgs.rsync artiq-fast.artiq artiq-fast.artiq-netboot

116
hydra/artiq.json

@ -1,29 +1,4 @@
{
"artiq-nac3": {
"enabled": 1,
"type": 1,
"hidden": false,
"description": "Main ARTIQ packages (with NAC3)",
"flake": "git+https://github.com/m-labs/artiq.git?ref=nac3",
"checkinterval": 300,
"schedulingshares": 10,
"enableemail": false,
"emailoverride": "",
"keepnr": 50
},
"nac3": {
"enabled": 1,
"type": 1,
"hidden": false,
"description": "Third generation ARTIQ compiler",
"flake": "git+https://git.m-labs.hk/M-Labs/nac3.git",
"checkinterval": 300,
"schedulingshares": 10,
"enableemail": false,
"emailoverride": "",
"keepnr": 50
},
"main-beta": {
"enabled": 1,
"type": 1,
@ -61,36 +36,24 @@
"keepnr": 50
},
"main": {
"enabled": 1,
"type": 1,
"hidden": false,
"description": "Main ARTIQ packages (stable version)",
"flake": "git+https://github.com/m-labs/artiq.git?ref=release-7",
"checkinterval": 300,
"schedulingshares": 10,
"enableemail": false,
"emailoverride": "",
"keepnr": 50
},
"extra": {
"artiq-nac3": {
"enabled": 1,
"type": 1,
"hidden": false,
"description": "Additional ARTIQ packages (stable version)",
"flake": "git+https://git.m-labs.hk/m-labs/artiq-extrapkg.git?ref=release-7",
"description": "Main ARTIQ packages (with NAC3)",
"flake": "git+https://github.com/m-labs/artiq.git?ref=nac3",
"checkinterval": 300,
"schedulingshares": 10,
"enableemail": false,
"emailoverride": "",
"keepnr": 50
},
"zynq": {
"nac3": {
"enabled": 1,
"type": 1,
"hidden": false,
"description": "ARTIQ on Zynq-7000 (stable version)",
"flake": "git+https://git.m-labs.hk/m-labs/artiq-zynq.git?ref=release-7",
"description": "Third generation ARTIQ compiler",
"flake": "git+https://git.m-labs.hk/M-Labs/nac3.git",
"checkinterval": 300,
"schedulingshares": 10,
"enableemail": false,
@ -98,10 +61,10 @@
"keepnr": 50
},
"fast-legacy": {
"fast": {
"enabled": 1,
"hidden": false,
"description": "Core ARTIQ packages to build fast for CI purposes (legacy version)",
"description": "Core ARTIQ packages to build fast for CI purposes",
"nixexprinput": "nixScripts",
"nixexprpath": "artiq-fast.nix",
"checkinterval": 300,
@ -115,10 +78,10 @@
"artiqSrc": { "type": "git", "value": "https://github.com/m-labs/artiq.git release-6 1", "emailresponsible": false }
}
},
"board-generated-legacy": {
"board-generated": {
"enabled": 1,
"hidden": false,
"description": "Generated code for ARTIQ boards (legacy version)",
"description": "Generated code for ARTIQ boards (ARTIQ 6 only)",
"nixexprinput": "nixScripts",
"nixexprpath": "artiq-board-generated",
"checkinterval": 14400,
@ -130,13 +93,13 @@
"nixpkgs": { "type": "git", "value": "https://github.com/NixOS/nixpkgs.git nixos-21.05", "emailresponsible": false },
"nixScripts": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/nix-scripts.git", "emailresponsible": false },
"sinaraSystemsSrc": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/sinara-systems-legacy.git master 1", "emailresponsible": false },
"artiq-fast": { "type": "sysbuild", "value": "artiq:fast-legacy:generated-nix", "emailresponsible": false }
"artiq-fast": { "type": "sysbuild", "value": "artiq:fast:generated-nix", "emailresponsible": false }
}
},
"full-legacy": {
"full": {
"enabled": 1,
"hidden": false,
"description": "Full set of ARTIQ packages (legacy version)",
"description": "Full set of ARTIQ packages",
"nixexprinput": "nixScripts",
"nixexprpath": "artiq-full.nix",
"checkinterval": 86400,
@ -148,13 +111,13 @@
"nixpkgs": { "type": "git", "value": "https://github.com/NixOS/nixpkgs.git nixos-21.05", "emailresponsible": false },
"nixScripts": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/nix-scripts.git", "emailresponsible": false },
"use-generated": { "type": "boolean", "value": "true" },
"artiq-board-generated": { "type": "sysbuild", "value": "artiq:board-generated-legacy:generated-nix", "emailresponsible": false }
"artiq-board-generated": { "type": "sysbuild", "value": "artiq:board-generated:generated-nix", "emailresponsible": false }
}
},
"zynq-legacy": {
"zynq": {
"enabled": 1,
"hidden": false,
"description": "ARTIQ on Zynq-7000 (legacy version)",
"description": "ARTIQ on Zynq-7000",
"nixexprinput": "nixScripts",
"nixexprpath": "artiq-zynq.nix",
"checkinterval": 300,
@ -165,8 +128,49 @@
"inputs": {
"nixpkgs": { "type": "git", "value": "https://github.com/NixOS/nixpkgs.git nixos-21.05", "emailresponsible": false },
"nixScripts": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/nix-scripts.git", "emailresponsible": false },
"artiq-fast": { "type": "sysbuild", "value": "artiq:fast-legacy:generated-nix", "emailresponsible": false },
"artiq-zynq": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/artiq-zynq.git release-6", "emailresponsible": false }
"artiq-fast": { "type": "sysbuild", "value": "artiq:fast:generated-nix", "emailresponsible": false },
"artiq-zynq": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/artiq-zynq.git release-6", "emailresponsible": false },
"gitea_repo_name": { "value": "artiq-zynq", "type": "string" },
"gitea_repo_owner": { "value": "M-Labs", "type": "string" },
"gitea_status_repo": { "value": "artiq-zynq", "type": "string" }
}
},
"fast-legacy": {
"enabled": 1,
"hidden": false,
"description": "Core ARTIQ packages to build fast for CI purposes (legacy version)",
"nixexprinput": "nixScripts",
"nixexprpath": "artiq-fast.nix",
"checkinterval": 300,
"schedulingshares": 10,
"enableemail": false,
"emailoverride": "",
"keepnr": 50,
"inputs": {
"nixpkgs": { "type": "git", "value": "https://github.com/NixOS/nixpkgs.git nixos-21.05", "emailresponsible": false },
"nixScripts": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/nix-scripts.git", "emailresponsible": false },
"artiqSrc": { "type": "git", "value": "https://github.com/m-labs/artiq.git release-5 1", "emailresponsible": false }
}
},
"full-legacy": {
"enabled": 1,
"hidden": false,
"description": "Full set of ARTIQ packages (legacy version)",
"nixexprinput": "nixScripts",
"nixexprpath": "artiq-full.nix",
"checkinterval": 86400,
"schedulingshares": 1,
"enableemail": false,
"emailoverride": "",
"keepnr": 50,
"inputs": {
"nixpkgs": { "type": "git", "value": "https://github.com/NixOS/nixpkgs.git nixos-21.05", "emailresponsible": false },
"nixScripts": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/nix-scripts.git", "emailresponsible": false },
"sinaraSystemsSrc": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/sinara-systems-legacy.git master 1", "emailresponsible": false },
"use-generated": { "type": "boolean", "value": "false" },
"artiq-fast": { "type": "sysbuild", "value": "artiq:fast-legacy:generated-nix", "emailresponsible": false }
}
},
@ -182,7 +186,7 @@
"emailoverride": "",
"keepnr": 50,
"inputs": {
"nixpkgs": { "type": "git", "value": "https://github.com/NixOS/nixpkgs.git nixos-22.05", "emailresponsible": false },
"nixpkgs": { "type": "git", "value": "https://github.com/NixOS/nixpkgs.git nixos-21.11", "emailresponsible": false },
"nixScripts": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/nix-scripts.git", "emailresponsible": false },
"urukulSrc": { "type": "git", "value": "https://github.com/quartiq/urukul.git", "emailresponsible": false },
"mirnySrc": { "type": "git", "value": "https://github.com/quartiq/mirny.git", "emailresponsible": false },

2
hydra/mcu.json

@ -11,7 +11,7 @@
"emailoverride": "",
"keepnr": 10,
"inputs": {
"nixpkgs": { "type": "git", "value": "https://github.com/NixOS/nixpkgs.git nixos-22.05", "emailresponsible": false },
"nixpkgs": { "type": "git", "value": "https://github.com/NixOS/nixpkgs.git nixos-21.11", "emailresponsible": false },
"mozillaOverlay": { "type": "git", "value": "https://github.com/mozilla/nixpkgs-mozilla.git", "emailresponsible": false },
"nixScripts": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/nix-scripts.git", "emailresponsible": false },
"stabilizerSrc": { "type": "git", "value": "https://github.com/quartiq/stabilizer.git", "emailresponsible": false },

7
hydra/web.json

@ -2,7 +2,7 @@
"web": {
"enabled": 1,
"hidden": false,
"description": "Websites",
"description": "M-Labs website",
"nixexprinput": "nixScripts",
"nixexprpath": "web.nix",
"checkinterval": 300,
@ -11,10 +11,9 @@
"emailoverride": "",
"keepnr": 10,
"inputs": {
"nixpkgs": { "type": "git", "value": "https://github.com/NixOS/nixpkgs.git nixos-22.05", "emailresponsible": false },
"nixpkgs": { "type": "git", "value": "https://github.com/NixOS/nixpkgs.git nixos-21.11", "emailresponsible": false },
"nixScripts": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/nix-scripts.git", "emailresponsible": false },
"webSrc": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/web2019.git", "emailresponsible": false },
"nmigenSrc": { "type": "git", "value": "https://gitlab.com/nmigen/nmigen.git", "emailresponsible": false }
"webSrc": { "type": "git", "value": "https://git.m-labs.hk/M-Labs/web2019.git", "emailresponsible": false }
}
}
}

12
mcu-contrib/default.nix

@ -8,8 +8,8 @@ let
"thumbv7em-none-eabihf"
];
rustManifest = pkgs.fetchurl {
url = "https://static.rust-lang.org/dist/2022-11-03/channel-rust-stable.toml";
sha256 = "sha256-DzNEaW724O8/B8844tt5AVHmSjSQ3cmzlU4BP90oRlY=";
url = "https://static.rust-lang.org/dist/2022-01-15/channel-rust-nightly.toml";
sha256 = "sha256-kGKh+zzI1lFEbuYxGJ1uqm+sP8A/b66f+/zDICvQtuk=";
};
rustChannelOfTargets = _channel: _date: targets:
(pkgs.lib.rustLib.fromManifestFile rustManifest {
@ -70,11 +70,15 @@ in
doCheck = false;
} // value))) {
dual-iir = {};
dual-iir-pounder_v1_0 = {
dual-iir-pounder_v1_1 = {
binaryName = "dual-iir";
extraCargoBuildArgs = "--features pounder_v1_0";
extraCargoBuildArgs = "--features pounder_v1_1";
};
lockin = {};
lockin-pounder_v1_1 = {
binaryName = "lockin";
extraCargoBuildArgs = "--features pounder_v1_1";
};
} //
{
# openMMC build system breaks if host compiler is not available, so do not use stdenvNoCC here

29
web.nix

@ -1,30 +1,7 @@
let
pkgs = import <nixpkgs> {};
web-src = <webSrc>;
nmigen-src = <nmigenSrc>;
src = <webSrc>;
in
rec {
web = pkgs.runCommand "web" {} "cd ${web-src}; ${pkgs.zola}/bin/zola build -o $out";
sphinxcontrib-platformpicker = pkgs.python3Packages.buildPythonPackage rec {
pname = "sphinxcontrib-platformpicker";
version = "1.3";
src = pkgs.fetchFromGitHub {
owner = "whitequark";
repo = "sphinxcontrib-platformpicker";
rev = "v${version}";
sha256 = "sha256-qKhi4QqYhU7CbNSpziFacXc/sWWPSuM3Nc/oWPmBivM=";
};
propagatedBuildInputs = [ pkgs.python3Packages.sphinx ];
};
nmigen-docs = pkgs.stdenvNoCC.mkDerivation {
name = "nmigen-docs";
src = nmigen-src;
buildInputs = [ (pkgs.python3.withPackages(ps: [ ps.sphinx ps.sphinx_rtd_theme sphinxcontrib-platformpicker ])) ];
phases = [ "buildPhase" ];
buildPhase =
''
export PYTHONPATH=$src
sphinx-build -b html $src/docs $out
'';
};
{
web = pkgs.runCommand "web" {} "cd ${src}; ${pkgs.zola}/bin/zola build -o $out";
}

Loading…
Cancel
Save