From 035cdaf3f0f0f9a7c04f7758b19c9971978454be Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Sun, 13 Feb 2022 18:21:38 +0800 Subject: [PATCH] add NDSPs and contrib Nix packages TOPTICA and highfinesse stuff dropped, I don't have hardware to test and probably will never. --- flake.nix | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 103 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index 57be228..c7ad568 100644 --- a/flake.nix +++ b/flake.nix @@ -112,7 +112,108 @@ }; in rec { - packages.x86_64-linux = { + packages.x86_64-linux = rec { + # https://github.com/m-labs/artiq/issues/23 + hidapi = pkgs.hidapi.overrideAttrs (oa: { + src = pkgs.fetchFromGitHub { + owner = "signal11"; + repo = "hidapi"; + rev = "a6a622ffb680c55da0de787ff93b80280498330f"; + sha256 = "17n7c4v3jjrnzqwxpflggxjn6vkzscb32k4kmxqjbfvjqnx7qp7j"; + }; + }); + korad_ka3005p = pkgs.python3Packages.buildPythonPackage { + pname = "korad_ka3005p"; + version = "1.1"; + src = pkgs.fetchFromGitHub { + owner = "m-labs"; + repo = "korad_ka3005p"; + rev = "a1898409cb188b388ed1cf84e76ca69e9c8a74eb"; + sha256 = "0h20qss70nssqiagc2fx75mravq1pji7rizhag3nq8xrcz2w20nc"; + }; + propagatedBuildInputs = [ artiq.inputs.sipyco.packages.x86_64-linux.sipyco artiq.packages.x86_64-linux.asyncserial ]; + }; + newfocus8742 = pkgs.python3Packages.buildPythonPackage { + pname = "newfocus8742"; + version = "0.2"; + src = pkgs.fetchFromGitHub { + owner = "quartiq"; + repo = "newfocus8742"; + rev = "9f6092b724b33b934aa4d3a1d6a20c295cd1d02d"; + sha256 = "0qf05ghylnqf3l5vjx5dc748wi84xn6p6lb6f9r8p6f1z7z67fb8"; + }; + propagatedBuildInputs = [ artiq.inputs.sipyco.packages.x86_64-linux.sipyco pkgs.python3Packages.pyusb ]; + # no unit tests so do a simple smoke test + checkPhase = "python -m newfocus8742.aqctl_newfocus8742 -h"; + }; + hut2 = pkgs.python3Packages.buildPythonPackage { + pname = "hut2"; + version = "0.2"; + src = pkgs.fetchFromGitHub { + owner = "quartiq"; + repo = "hut2"; + rev = "68369d5d63d233827840a9a752d90454a4e03baa"; + sha256 = "0r832c0icz8v3w27ci13024bqfslj1gx6dwhjv11ksw229xdcghd"; + }; + propagatedBuildInputs = [ artiq.inputs.sipyco.packages.x86_64-linux.sipyco ]; + # no unit tests without hardware so do a simple smoke test + checkPhase = "python -m hut2.aqctl_hut2 -h"; + }; + wand = pkgs.python3Packages.buildPythonPackage { + pname = "wand"; + version = "0.4.dev"; + src = pkgs.fetchFromGitHub { + owner = "OxfordIonTrapGroup"; + repo = "wand"; + rev = "c080ddab6b2d94bb673ed32a0cea2bf68e66c702"; + sha256 = "sha256-T27/mZepPrnheoVEKsP5cRDFc1JffTnuPvXq2r2GP4E="; + }; + nativeBuildInputs = [ pkgs.qt5.wrapQtAppsHook ]; + dontWrapQtApps = true; + postFixup = '' + wrapQtApp "$out/bin/wand_gui" + ''; + propagatedBuildInputs = (with artiq.packages.x86_64-linux; [ artiq qasync ]) + ++ (with pkgs.python3Packages; [ numpy scipy influxdb setuptools ]); + }; + flake8-artiq = pkgs.python3Packages.buildPythonPackage { + pname = "flake8-artiq"; + version = "0.1.0"; + src = pkgs.fetchgit { + url = "https://gitlab.com/duke-artiq/flake8-artiq.git"; + rev = "1216092974140a561850905734fc22fdacdc2cde"; + sha256 = "0rkab2qdwyzms6nxc44jzb5grvkkbpjwwmfv2zj96cm6cm8d9pdr"; + }; + propagatedBuildInputs = [ pkgs.python3Packages.flake8 ]; + checkInputs = [ pkgs.python3Packages.pytestCheckHook ]; + }; + dax = pkgs.python3Packages.buildPythonPackage rec { + pname = "dax"; + version = "6.6.1"; + src = pkgs.fetchgit { + url = "https://gitlab.com/duke-artiq/dax.git"; + rev = "v${version}"; + sha256 = "sha256-lvO5Y0moIc+GzQd2ju1vtZoHNdoE0+wqXDi7nZFznrs="; + }; + VERSIONEER_OVERRIDE = version; + inherit (pkgs.python3Packages.pygit2) SSL_CERT_FILE; + doCheck = false; # currently breaks with ad9910 driver + propagatedBuildInputs = [ artiq.packages.x86_64-linux.artiq artiq.inputs.sipyco.packages.x86_64-linux.sipyco ] + ++ (with pkgs.python3Packages; [ numpy scipy pyvcd natsort pygit2 matplotlib graphviz h5py networkx sortedcontainers ]); + checkInputs = [ pkgs.python3Packages.pytestCheckHook ]; + }; + dax-applets = pkgs.python3Packages.buildPythonPackage rec { + pname = "dax-applets"; + version = "0.0.0"; + src = pkgs.fetchgit { + url = "https://gitlab.com/duke-artiq/dax-applets.git"; + rev = "3cd1aefb03208021a38fd04803f6dcff25f61e1d"; + sha256 = "0kk745fc8dri0zs1db790zl0dja4ibz4cd2h85xq6j6ar1s6afwj"; + }; + propagatedBuildInputs = [ artiq.packages.x86_64-linux.artiq ] + ++ (with pkgs.python3Packages; [ numpy pyqt5 pyqtgraph ]); + doCheck = false; + }; conda-channel = makeCondaChannel [ { name = "sipyco"; @@ -163,8 +264,6 @@ ]; }; - hydraJobs = { - inherit (packages.x86_64-linux) conda-channel; - }; + hydraJobs = packages.x86_64-linux; }; }