Drew Risinger
ca28925120
Changes "name = '...-${version}" -> "pname = '...'" syntax everywhere that is easy. This matches current best nixpkgs convention. The nixpkgs standard derivation will convert this to name = "${pname}-${version}" automatically. This also has the added benefit of adding the version to the filepath for several packages that didn't have it before. The only remaining files are ./artiq-full/extras.nix & ./artiq-fast/pkgs/python-deps.nix. extras.nix had a semi-confusing function that I didn't want to mess with.
42 lines
1.6 KiB
Nix
42 lines
1.6 KiB
Nix
{ stdenv, lib, pythonDeps, fetchgit, git, python3Packages, qt5, binutils-or1k, binutils-arm, llvm-or1k, llvmlite-artiq, libartiq-support, lit, outputcheck }:
|
|
|
|
python3Packages.buildPythonPackage rec {
|
|
pname = "artiq";
|
|
version = import ./artiq-version.nix { inherit stdenv fetchgit git; };
|
|
src = import ./artiq-src.nix { inherit fetchgit; };
|
|
|
|
preBuild = "export VERSIONEER_OVERRIDE=${version}";
|
|
|
|
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
|
|
propagatedBuildInputs = [ binutils-or1k llvm-or1k llvmlite-artiq ]
|
|
++ (lib.lists.optionals (lib.strings.versionAtLeast version "6.0") [ binutils-arm ])
|
|
++ (with pythonDeps; [ sipyco pyqtgraph-qt5 pythonparser ])
|
|
++ (with python3Packages; [ pygit2 numpy dateutil scipy prettytable pyserial python-Levenshtein h5py pyqt5 ])
|
|
++ [(if (lib.strings.versionAtLeast version "6.0") then pythonDeps.qasync else python3Packages.quamash)];
|
|
|
|
dontWrapQtApps = true;
|
|
postFixup = ''
|
|
wrapQtApp "$out/bin/artiq_dashboard"
|
|
wrapQtApp "$out/bin/artiq_browser"
|
|
wrapQtApp "$out/bin/artiq_session"
|
|
'';
|
|
|
|
checkInputs = [ binutils-or1k outputcheck ];
|
|
checkPhase =
|
|
''
|
|
python -m unittest discover -v artiq.test
|
|
|
|
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
|
|
'';
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "A leading-edge control system for quantum information experiments";
|
|
homepage = https://m-labs/artiq;
|
|
license = licenses.lgpl3;
|
|
maintainers = [ maintainers.sb0 ];
|
|
};
|
|
}
|