583 lines
14 KiB
Nix
583 lines
14 KiB
Nix
|
final: final-py: prev-py: let
|
||
|
SpiNNFrontEndCommon_C_Models = final.stdenv.mkDerivation {
|
||
|
pname = "SpiNNFrontEndCommon";
|
||
|
version = "1!7.1.1";
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "SpiNNakerManchester";
|
||
|
repo = "SpiNNFrontEndCommon";
|
||
|
rev = "c3f8c980fd51d40032524150c563feac787532ae";
|
||
|
hash = "sha256-lJwoFmICQdnLaalFcFGnLnGiE+puuV2fQHM1wqHiiFY=";
|
||
|
};
|
||
|
buildInputs = with final; [
|
||
|
final-py.spinn_common
|
||
|
which
|
||
|
gcc-arm-embedded-10
|
||
|
(final-py.python.withPackages (p: with p; [
|
||
|
SpiNNUtilities
|
||
|
]))
|
||
|
];
|
||
|
preConfigure = ''
|
||
|
mkdir SPINN_DIRS
|
||
|
cp -r ${final-py.spinn_common}/SPINN_DIRS/* SPINN_DIRS
|
||
|
chmod +rw -R SPINN_DIRS
|
||
|
export SPINN_DIRS=$PWD/SPINN_DIRS
|
||
|
export GNUTOOLS=${final.gcc-arm-embedded-10}
|
||
|
export GNUBIN=$GNUTOOLS/bin
|
||
|
export C_LOGS_DICT=$PWD/spinn_front_end_common/common_model_binaries/logs.sqlite3
|
||
|
pushd c_common
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
popd
|
||
|
mkdir $out
|
||
|
cp -r * $out
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
spynnaker_c = final.stdenv.mkDerivation {
|
||
|
pname = "spynnaker";
|
||
|
version = "1!7.1.1";
|
||
|
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "SpiNNakerManchester";
|
||
|
repo = "sPyNNaker";
|
||
|
rev = "6f7455badeeea223dda85cd0aab9e5f5086f843b";
|
||
|
hash = "sha256-zXssngB+A6zoH5X2FOI10biUNXNlwh0tySje/JMoZ0w=";
|
||
|
};
|
||
|
|
||
|
buildInputs = with final; [
|
||
|
(final-py.python.withPackages (p: with p; [
|
||
|
SpiNNFrontEndCommon
|
||
|
]))
|
||
|
gcc-arm-embedded-10
|
||
|
];
|
||
|
|
||
|
preConfigure = ''
|
||
|
mkdir SPINN_DIRS
|
||
|
cp -r ${SpiNNFrontEndCommon_C_Models}/SPINN_DIRS/* SPINN_DIRS
|
||
|
chmod +rw -R SPINN_DIRS
|
||
|
export SPINN_DIRS=$PWD/SPINN_DIRS
|
||
|
export GNUTOOLS=${final.gcc-arm-embedded-10}
|
||
|
export GNUBIN=$GNUTOOLS/bin
|
||
|
SLLT_TAG=https://spinnakermanchester.github.io/spinnaker_tools/sllt.tag
|
||
|
COMMON_TAG=https://spinnakermanchester.github.io/spinn_common/common.tag
|
||
|
FEC_TAG=https://spinnakermanchester.github.io/SpiNNFrontEndCommon/c/fec.tag
|
||
|
pushd neural_modelling
|
||
|
export NEURAL_MODELLING_DIRS=$PWD
|
||
|
touch logs.sqlite3
|
||
|
export C_LOGS_DICT=$PWD/logs.sqlite3
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
popd
|
||
|
mkdir $out
|
||
|
cp -r * $out
|
||
|
'';
|
||
|
};
|
||
|
in {
|
||
|
morphio = final-py.toPythonModule ( final.stdenv.mkDerivation rec {
|
||
|
pname = "morphio";
|
||
|
version = "3.3.9";
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "BlueBrain";
|
||
|
repo = "MorphIO";
|
||
|
rev = "v${version}";
|
||
|
fetchSubmodules = true;
|
||
|
hash = "sha256-qPHuKb9dSnSgEXzeI94Zf3VpMBBssQ0y8lCVzzYB+rA=";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = (with final; [
|
||
|
cmake
|
||
|
ninja
|
||
|
hdf5
|
||
|
final-py.numpy
|
||
|
]);
|
||
|
cmakeFlags = [
|
||
|
"-DMorphIO_CXX_WARNINGS=OFF"
|
||
|
];
|
||
|
postInstall = ''
|
||
|
mkdir -p $out/${final-py.python.sitePackages}
|
||
|
mv ../morphio $out/${final-py.python.sitePackages}
|
||
|
cp binds/python/_morphio.* $out/${final-py.python.sitePackages}/morphio/
|
||
|
'';
|
||
|
});
|
||
|
|
||
|
csa = final-py.buildPythonPackage rec {
|
||
|
pname = "csa";
|
||
|
version = "0.1.12";
|
||
|
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "INCF";
|
||
|
repo = "csa";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-QtgqpYD0PtMoiobCEe0SkKF6HiiypctOWht9EnhlhKM=";
|
||
|
};
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
numpy
|
||
|
matplotlib
|
||
|
];
|
||
|
};
|
||
|
|
||
|
nineml = final-py.buildPythonPackage rec {
|
||
|
pname = "nineml";
|
||
|
version = "25-04-2020";
|
||
|
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "INCF";
|
||
|
repo = "nineml-python";
|
||
|
rev = "062a2ac8a9be97cee4dad02938e3858e051cf07c";
|
||
|
hash = "sha256-Tyil4lnqQlzQthp6L77+pAjDywHDQC3NIp39BRgIfzY=";
|
||
|
};
|
||
|
|
||
|
postPatch = ''
|
||
|
sed -e 's/collections.Iterable/collections.abc.Iterable/g' -i nineml/utils/iterables.py
|
||
|
sed -e 's/sympy.numbers/sympy.core.numbers/g' -i nineml/abstraction/componentclass/visitors/validators/general.py
|
||
|
'';
|
||
|
|
||
|
buildInputs = with final-py; [
|
||
|
pip
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
lxml
|
||
|
pyyaml
|
||
|
h5py
|
||
|
future
|
||
|
sympy
|
||
|
numpy
|
||
|
numpydoc
|
||
|
nose
|
||
|
];
|
||
|
};
|
||
|
|
||
|
lazyarray = final-py.buildPythonPackage rec {
|
||
|
pname = "lazyarray";
|
||
|
version = "0.5.2";
|
||
|
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "NeuralEnsemble";
|
||
|
repo = "lazyarray";
|
||
|
rev = "9d60f2c307a70d7bd65fbfe3cb2a96391fd88bf9";
|
||
|
hash = "sha256-D4KzICEdCoA1S8uKRU76Q6PfcolbuZsLAtDIm4a94wo=";
|
||
|
};
|
||
|
|
||
|
doCheck = false; # Py2 code
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
numpy
|
||
|
];
|
||
|
};
|
||
|
|
||
|
pynn = final-py.buildPythonPackage rec {
|
||
|
pname = "pyNN";
|
||
|
version = "0.12.1";
|
||
|
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "NeuralEnsemble";
|
||
|
repo = "PyNN";
|
||
|
rev = "${version}";
|
||
|
hash = "sha256-X7U4aSA6J45++2mTPGWi+N6QtuH0muQtSrH6CWziNJg=";
|
||
|
};
|
||
|
|
||
|
buildInputs = with final-py; [
|
||
|
pip
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
nineml
|
||
|
numpy
|
||
|
lazyarray
|
||
|
neo
|
||
|
quantities
|
||
|
morphio
|
||
|
brian2
|
||
|
nest
|
||
|
neuronpy
|
||
|
];
|
||
|
|
||
|
doCheck = false;
|
||
|
};
|
||
|
|
||
|
boilerplates = final-py.buildPythonPackage rec {
|
||
|
pname = "boilerplates";
|
||
|
version = "1.1.1";
|
||
|
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "mbdevpl";
|
||
|
repo = "python-boilerplates";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-u6Gdtgqo4s40vMZhgEonil7OWsbOSFbnBO2PgOzWXmY=";
|
||
|
};
|
||
|
|
||
|
# Fix circular dependency
|
||
|
postPatch = ''
|
||
|
echo "" > ./requirements.txt
|
||
|
echo 'VERSION = "${version}"' > ./boilerplates/_version.py
|
||
|
'';
|
||
|
|
||
|
disabledTests = [
|
||
|
"test_git_repo"
|
||
|
"test_logging"
|
||
|
];
|
||
|
|
||
|
nativeBuildInputs = with final-py; [
|
||
|
pytestCheckHook
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
colorlog
|
||
|
sentry-sdk
|
||
|
executing
|
||
|
pure-eval
|
||
|
asttokens
|
||
|
argcomplete
|
||
|
GitPython
|
||
|
packaging
|
||
|
semver
|
||
|
docutils
|
||
|
];
|
||
|
};
|
||
|
|
||
|
version-query = final-py.buildPythonPackage rec {
|
||
|
pname = "version-query";
|
||
|
version = "1.5.5";
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "mbdevpl";
|
||
|
repo = "version-query";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-b5G1YwT3RSWusNsT4kq8aBCzzs0UfoJrPMUH8KuaqX0=";
|
||
|
};
|
||
|
|
||
|
postPatch = ''
|
||
|
echo 'VERSION = "${version}"' > ./version_query/_version.py
|
||
|
'';
|
||
|
|
||
|
doCheck = false;
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
boilerplates
|
||
|
];
|
||
|
};
|
||
|
|
||
|
ebrains-drive = final-py.buildPythonPackage rec {
|
||
|
pname = "ebrains-drive";
|
||
|
version = "20-02-2024";
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "HumanBrainProject";
|
||
|
repo = "ebrains-drive";
|
||
|
rev = "3be240da78b23488cf01dc9768423bb962673c8d";
|
||
|
hash = "sha256-eYbAHGu0h9K5FYos10GGUwSMdDgVcslz2wf6XFY5yjo=";
|
||
|
};
|
||
|
|
||
|
postPatch = ''
|
||
|
sed -e 's/__version__ = predict_version_str()/__version__ = "0.6.0"/g' -i setup.py
|
||
|
'';
|
||
|
|
||
|
# no more strings.lowercase
|
||
|
doCheck = false;
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
version-query
|
||
|
requests
|
||
|
tqdm
|
||
|
];
|
||
|
};
|
||
|
|
||
|
SpiNNUtilities = final-py.buildPythonPackage {
|
||
|
pname = "SpiNNUtilities";
|
||
|
version = "1!7.1.1";
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "SpiNNakerManchester";
|
||
|
repo = "SpiNNUtils";
|
||
|
rev = "37beeec7ad5489af8e644dfdf511108f27146951";
|
||
|
hash = "sha256-oB3uxDTX7CFvftqDxYqJ0A4RLfK4/JH1FVoAJMcUEa4=";
|
||
|
};
|
||
|
|
||
|
# Tests depend on writable home
|
||
|
postPatch = ''
|
||
|
mkdir $NIX_BUILD_TOP/fake_home
|
||
|
export HOME=$NIX_BUILD_TOP/fake_home
|
||
|
export SKIP_PING_TESTS="true"
|
||
|
'';
|
||
|
|
||
|
nativeBuildInputs = with final-py; [
|
||
|
pytestCheckHook
|
||
|
];
|
||
|
|
||
|
disabledTests = [
|
||
|
"test_localhost"
|
||
|
];
|
||
|
|
||
|
buildInputs = with final-py; [
|
||
|
httpretty
|
||
|
testfixtures
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
appdirs
|
||
|
numpy
|
||
|
pyyaml
|
||
|
requests
|
||
|
typing-extensions
|
||
|
];
|
||
|
};
|
||
|
|
||
|
SpiNNMachine = final-py.buildPythonPackage {
|
||
|
pname = "SpiNNMachine";
|
||
|
version = "1!7.1.1";
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "SpiNNakerManchester";
|
||
|
repo = "SpiNNMachine";
|
||
|
rev = "a798e7b12200d66f6fb9c6ed0af3f0fa85abd7be";
|
||
|
hash = "sha256-+9/ZK72SgI3seSCwCBVMPP1VL6r83SkQ4n3S1WkVCac=";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = with final-py; [
|
||
|
pytestCheckHook
|
||
|
];
|
||
|
|
||
|
buildInputs = with final-py; [
|
||
|
testfixtures
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
SpiNNUtilities
|
||
|
];
|
||
|
};
|
||
|
|
||
|
SpiNNaker_PACMAN = final-py.buildPythonPackage {
|
||
|
pname = "SpiNNaker_PACMAN";
|
||
|
version = "1!7.1.1";
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "SpiNNakerManchester";
|
||
|
repo = "PACMAN";
|
||
|
rev = "adc5ed196b8ac661365c5ec67b4107932548deab";
|
||
|
hash = "sha256-ITe0fqDg/4r1xwFYXHpl0kL0Ek3d2s+SbQvRtWk1eF4=";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = with final-py; [
|
||
|
pytestCheckHook
|
||
|
];
|
||
|
|
||
|
buildInputs = with final-py; [
|
||
|
testfixtures
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
SpiNNMachine
|
||
|
jsonschema
|
||
|
];
|
||
|
};
|
||
|
|
||
|
SpiNNMan = final-py.buildPythonPackage {
|
||
|
pname = "SpiNNMan";
|
||
|
version = "1!7.1.1";
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "SpiNNakerManchester";
|
||
|
repo = "SpiNNMan";
|
||
|
rev = "8b0e8192125c5856769ff302480e2c17b08d1b5f";
|
||
|
hash = "sha256-54JE5Vl1mcdBCHR4HOk4l7muZHePvufrwhgJZ11aX2A=";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = with final-py; [
|
||
|
pytestCheckHook
|
||
|
];
|
||
|
|
||
|
buildInputs = with final-py; [
|
||
|
testfixtures
|
||
|
];
|
||
|
|
||
|
disabledTests = [
|
||
|
"test_create_job"
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
SpiNNMachine
|
||
|
SpiNNUtilities
|
||
|
websocket-client
|
||
|
];
|
||
|
};
|
||
|
|
||
|
spalloc = final-py.buildPythonPackage {
|
||
|
pname = "spalloc";
|
||
|
version = "1!7.1.1";
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "SpiNNakerManchester";
|
||
|
repo = "spalloc";
|
||
|
rev = "25f5d0874269996f2c36175885e9bbe7895ed4af";
|
||
|
hash = "sha256-Tck2VGV5ZO1PKHEY/OLoIVvj5AWCyVqtXca514vWmTA=";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = with final-py; [
|
||
|
pytestCheckHook
|
||
|
];
|
||
|
|
||
|
buildInputs = with final-py; [
|
||
|
mock
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
SpiNNUtilities
|
||
|
jsonschema
|
||
|
];
|
||
|
};
|
||
|
|
||
|
spinnaker_tools = final.stdenv.mkDerivation {
|
||
|
pname = "spinnaker_tools";
|
||
|
version = "1!7.1.1";
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "SpiNNakerManchester";
|
||
|
repo = "spinnaker_tools";
|
||
|
rev = "26dd8651d7af8371ca1d5927524d1af2527dd041";
|
||
|
hash = "sha256-Ppow52pfzVi9Jh7cVSow6OmNMLmudMq4lRZOeCJyMU8=";
|
||
|
};
|
||
|
propagatedBuildInputs = with final; [
|
||
|
perl
|
||
|
gcc-arm-embedded-10
|
||
|
];
|
||
|
postPatch = ''
|
||
|
patchShebangs ./tools
|
||
|
'';
|
||
|
preConfigure = ''
|
||
|
export SPINN_DIRS=$PWD
|
||
|
export GNUTOOLS=${final.gcc-arm-embedded-10}
|
||
|
export GNUBIN=$GNUTOOLS/bin
|
||
|
chmod +x ./tools/*
|
||
|
'';
|
||
|
installPhase = ''
|
||
|
mkdir $out
|
||
|
cp -r * $out
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
spinn_common = final.stdenv.mkDerivation {
|
||
|
pname = "spinn_common";
|
||
|
version = "1!7.1.1";
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "SpiNNakerManchester";
|
||
|
repo = "spinn_common";
|
||
|
rev = "fa5f769a7e8bab42b6932557c0deaebc1d7f2016";
|
||
|
hash = "sha256-aQpIkPWhKT+Uw4svKfibR7SEeKwNPqv86skSLNv2Z3Q=";
|
||
|
};
|
||
|
nativeBuildInputs = [
|
||
|
final-py.spinnaker_tools
|
||
|
];
|
||
|
preConfigure = ''
|
||
|
mkdir SPINN_DIRS
|
||
|
cp -r ${final-py.spinnaker_tools}/* SPINN_DIRS
|
||
|
chmod +rw -R SPINN_DIRS
|
||
|
export SPINN_DIRS=$PWD/SPINN_DIRS
|
||
|
export GNUTOOLS=${final.gcc-arm-embedded-10}
|
||
|
export GNUBIN=$GNUTOOLS/bin
|
||
|
'';
|
||
|
|
||
|
postInstall = ''
|
||
|
cp -r SPINN_DIRS $out
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
SpiNNFrontEndCommon = final-py.buildPythonPackage {
|
||
|
pname = "SpiNNFrontEndCommon";
|
||
|
version = "1!7.1.1";
|
||
|
src = SpiNNFrontEndCommon_C_Models;
|
||
|
|
||
|
nativeBuildInputs = with final-py; [
|
||
|
pytestCheckHook
|
||
|
];
|
||
|
|
||
|
buildInputs = with final-py; [
|
||
|
httpretty
|
||
|
testfixtures
|
||
|
];
|
||
|
|
||
|
disabledTestPaths = [
|
||
|
"fec_local_tests/test_java_caller.py"
|
||
|
"unittests/interface/test_java_caller.py"
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
ebrains-drive
|
||
|
scipy
|
||
|
SpiNNMan
|
||
|
SpiNNaker_PACMAN
|
||
|
spalloc
|
||
|
SpiNNFrontEndCommon_C_Models
|
||
|
];
|
||
|
};
|
||
|
|
||
|
spinnaker_testbase = final-py.buildPythonPackage {
|
||
|
pname = "spinnaker_testbase";
|
||
|
version = "1!7.1.1";
|
||
|
|
||
|
src = final.fetchFromGitHub {
|
||
|
owner = "SpiNNakerManchester";
|
||
|
repo = "TestBase";
|
||
|
rev = "324aa4c9f8348aa21c88611bb7ccf7585c783415";
|
||
|
hash = "sha256-YBDaFr7oDx53LBQN+V8CXpNTIGSLBDRyq4pNMBxankI=";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = with final-py; [
|
||
|
pytestCheckHook
|
||
|
];
|
||
|
|
||
|
buildInputs = with final-py; [
|
||
|
testfixtures
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
SpiNNFrontEndCommon
|
||
|
matplotlib
|
||
|
];
|
||
|
};
|
||
|
|
||
|
spynnaker = final-py.buildPythonPackage {
|
||
|
pname = "spynnaker";
|
||
|
version = "1!7.1.1";
|
||
|
|
||
|
src = spynnaker_c;
|
||
|
|
||
|
nativeBuildInputs = with final-py; [
|
||
|
pytestCheckHook
|
||
|
];
|
||
|
|
||
|
buildInputs = with final-py; [
|
||
|
testfixtures
|
||
|
spinnaker_testbase
|
||
|
];
|
||
|
|
||
|
propagatedBuildInputs = with final-py; [
|
||
|
SpiNNFrontEndCommon
|
||
|
matplotlib
|
||
|
quantities
|
||
|
neo
|
||
|
lazyarray
|
||
|
scipy
|
||
|
csa
|
||
|
pynn
|
||
|
];
|
||
|
|
||
|
# All these tests depend on connecting to the SpiNNaker or Network
|
||
|
disabledTestPaths = [
|
||
|
"proxy_integration_tests/"
|
||
|
"spynnaker_integration_tests/"
|
||
|
"test_whole_board/"
|
||
|
"unittests/test_from_file_connector.py"
|
||
|
"unittests/model_tests/"
|
||
|
"unittests/test_using_virtual_board/"
|
||
|
"unittests/test_integration_using_virtual_board/"
|
||
|
"unittests/test_pop_views_assembly/test_getting.py"
|
||
|
"unittests/test_pop_views_assembly/test_idmixin.py"
|
||
|
"unittests/test_pop_views_assembly/test_models.py"
|
||
|
"unittests/test_pop_views_assembly/test_population.py"
|
||
|
"unittests/test_pop_views_assembly/test_record.py"
|
||
|
"unittests/test_pop_views_assembly/test_views.py"
|
||
|
"unittests/test_populations/test_population.py"
|
||
|
"unittests/test_sata_connectors/"
|
||
|
"unittests/test_spinnaker_link_connectors/"
|
||
|
"unittests/test_populations/test_vertex.py"
|
||
|
"unittests/utilities_tests/test_utility_calls.py"
|
||
|
];
|
||
|
};
|
||
|
}
|