diff --git a/artiq-fast/conda/bscan-spi-bitstreams.nix b/artiq-fast/conda/bscan-spi-bitstreams.nix new file mode 100644 index 0000000..e70379c --- /dev/null +++ b/artiq-fast/conda/bscan-spi-bitstreams.nix @@ -0,0 +1,36 @@ +{ pkgs, bscan_spi_bitstreams }: + +let + src = pkgs.runCommand "conda-fake-source-bscan_spi_bitstreams" { } + '' + mkdir -p $out/fake-conda; + + # work around yet more idiotic conda behavior - build breaks if write permissions aren't set on source files. + cp --no-preserve=mode,ownership -R ${bscan_spi_bitstreams} workaround-conda + pushd workaround-conda + tar cf $out/src.tar . + popd + rm -rf workaround-conda + + cat << EOF > $out/fake-conda/meta.yaml + package: + name: bscan-spi-bitstreams + version: "0.10.0" + + source: + url: ../src.tar + + build: + noarch: generic + binary_relocation: false + script: + - "mkdir -p \$PREFIX/share/bscan-spi-bitstreams" + - "cp *.bit \$PREFIX/share/bscan-spi-bitstreams" + + EOF + ''; +in + import ./build.nix { inherit pkgs; } { + name = "conda-bscan_spi_bitstreams"; + inherit src; + } diff --git a/artiq-fast/default.nix b/artiq-fast/default.nix index 0cccfab..e18ffe7 100644 --- a/artiq-fast/default.nix +++ b/artiq-fast/default.nix @@ -42,6 +42,10 @@ let inherit (pythonDeps.sipyco) version src; }; }; + conda-bscan-spi-bitstreams = import ./conda/bscan-spi-bitstreams.nix { + inherit pkgs; + inherit (openocd) bscan_spi_bitstreams; + }; conda-artiq = import ./conda/artiq.nix { inherit pkgs; }; }; in