2019-04-24 15:05:29 +08:00
|
|
|
{ stdenv, callPackage, fetchgit, git, python3Packages, qt5Full, binutils-or1k, llvm-or1k, llvmlite-artiq, libartiq-support, lit, outputcheck }:
|
2019-02-14 15:29:42 +08:00
|
|
|
|
|
|
|
let
|
2019-02-19 21:18:38 +08:00
|
|
|
pythonDeps = callPackage ./python-deps.nix {};
|
2019-02-14 15:29:42 +08:00
|
|
|
in
|
2019-02-19 21:18:38 +08:00
|
|
|
python3Packages.buildPythonPackage rec {
|
|
|
|
name = "artiq-${version}";
|
2019-04-24 15:05:29 +08:00
|
|
|
version = import ./artiq-version.nix { inherit stdenv fetchgit git; };
|
2019-02-19 21:18:38 +08:00
|
|
|
src = import ./artiq-src.nix { inherit fetchgit; };
|
|
|
|
preBuild = "export VERSIONEER_OVERRIDE=${version}";
|
2019-02-21 19:32:22 +08:00
|
|
|
propagatedBuildInputs = [ binutils-or1k llvm-or1k llvmlite-artiq qt5Full ]
|
2019-11-10 15:54:02 +08:00
|
|
|
++ (with pythonDeps; [ sipyco levenshtein pyqtgraph-qt5 quamash pythonparser ])
|
2019-02-21 19:32:22 +08:00
|
|
|
++ (with python3Packages; [ aiohttp pygit2 numpy dateutil scipy prettytable pyserial h5py pyqt5 ]);
|
2019-04-12 19:03:02 +08:00
|
|
|
checkInputs = [ binutils-or1k outputcheck ];
|
2019-03-31 22:33:19 +08:00
|
|
|
checkPhase =
|
|
|
|
''
|
|
|
|
python -m unittest discover -v artiq.test
|
|
|
|
|
2019-03-31 23:06:08 +08:00
|
|
|
TESTDIR=`mktemp -d`
|
|
|
|
cp --no-preserve=mode,ownership -R ${src}/artiq/test/lit $TESTDIR
|
|
|
|
LIBARTIQ_SUPPORT=${libartiq-support}/libartiq_support.so ${lit}/bin/lit -v $TESTDIR/lit
|
2019-03-31 22:33:19 +08:00
|
|
|
'';
|
2019-02-19 21:18:38 +08:00
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "A leading-edge control system for quantum information experiments";
|
|
|
|
homepage = https://m-labs/artiq;
|
|
|
|
license = licenses.lgpl3;
|
2019-04-12 19:05:24 +08:00
|
|
|
maintainers = [ maintainers.sb0 ];
|
2019-02-19 21:18:38 +08:00
|
|
|
};
|
|
|
|
}
|