Compare commits
50 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72e9933a9a | ||
|
|
6e948adaf6 | ||
|
|
fb5798ff20 | ||
|
|
da8dc566a0 | ||
|
|
f00866be76 | ||
|
|
a8a86bb6e2 | ||
|
|
0fbdf5f6bf | ||
|
|
e65a78b984 | ||
|
|
8aea21b811 | ||
|
|
cf66a6f820 |
||
|
|
ba0e5e1b73 | ||
|
|
6ebc987a02 |
||
|
|
33098ec868 |
||
|
|
24bcdc3f02 |
||
|
|
962e7973c5 |
||
|
|
75ce46ad7f |
||
|
|
954f13bec7 |
||
|
|
b9e93b2a06 | ||
|
|
a4e8c1c574 | ||
|
|
3424986317 | ||
|
|
06e1cefc66 | ||
|
|
942ac93a60 |
||
|
|
6bb5c02c86 |
||
|
|
71050f7026 | ||
|
|
ad813ca9b5 | ||
|
|
1f66525b15 |
||
|
|
f6ca2c9dba | ||
|
|
d6b3bf9a21 | ||
|
|
e6a755e643 | ||
|
|
51865e2e07 |
||
|
|
875d06240b |
||
|
|
e19236dbfe |
||
|
|
f7c89640ec | ||
|
|
ac69956f33 | ||
|
|
1bb72ad40d | ||
|
|
0491a511af | ||
|
|
2bf1aea783 |
||
|
|
742b557442 |
||
|
|
0ba165ae92 |
||
|
|
acb7e68fb1 |
||
|
|
12e287be9d | ||
|
|
9d56fea866 | ||
|
|
14a6c3d6b4 | ||
|
|
273e4d387d | ||
|
|
d265c8809c | ||
|
|
ed199813e5 |
||
|
|
3c6e26df00 | ||
|
|
68a7378595 | ||
|
|
d3a8ac1dc9 | ||
|
|
e12d1405e8 |
13 changed files with 462 additions and 234 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -2,3 +2,7 @@
|
|||
/arbor-f12f934.tar.gz
|
||||
/arbor-fb5d4ea.tar.gz
|
||||
/arbor-0.3.tar.gz
|
||||
/arbor-0.5.2.tar.gz
|
||||
/arbor-0.6.tar.gz
|
||||
/arbor-0.7.tar.gz
|
||||
/arbor-0.9.0.tar.gz
|
||||
|
|
|
|||
13
.packit.yaml
Normal file
13
.packit.yaml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
upstream_project_url: https://github.com/arbor-sim/arbor
|
||||
upstream_tag_template: v{version}
|
||||
|
||||
jobs:
|
||||
- job: pull_from_upstream
|
||||
trigger: release
|
||||
dist_git_branches:
|
||||
- fedora-rawhide
|
||||
- job: koji_build
|
||||
|
||||
trigger: commit
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
From 8880ff435f69b515a57e60e8b7434dad9e47847e Mon Sep 17 00:00:00 2001
|
||||
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
|
||||
Date: Thu, 16 Jan 2025 09:49:20 -0500
|
||||
Subject: [PATCH] Fix a few typos that cause failure to compile with GCC 15
|
||||
|
||||
These were eventually included in
|
||||
76120d16c00ae67128c3c69421ab712f985f3445, along with many other changes.
|
||||
---
|
||||
arbor/include/arbor/util/expected.hpp | 2 +-
|
||||
python/strprintf.hpp | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arbor/include/arbor/util/expected.hpp b/arbor/include/arbor/util/expected.hpp
|
||||
index 9d860f65..1af88eb4 100644
|
||||
--- a/arbor/include/arbor/util/expected.hpp
|
||||
+++ b/arbor/include/arbor/util/expected.hpp
|
||||
@@ -486,7 +486,7 @@ struct expected<void, E> {
|
||||
// Swap ops.
|
||||
|
||||
void swap(expected& other) {
|
||||
- data_.swap(other.data);
|
||||
+ data_.swap(other.data_);
|
||||
}
|
||||
|
||||
// Accessors.
|
||||
diff --git a/python/strprintf.hpp b/python/strprintf.hpp
|
||||
index 63801677..2ccf12c1 100644
|
||||
--- a/python/strprintf.hpp
|
||||
+++ b/python/strprintf.hpp
|
||||
@@ -168,7 +168,7 @@ namespace impl {
|
||||
for (auto& x: s.seq_) {
|
||||
if (!first) o << s.sep_;
|
||||
first = false;
|
||||
- o << s.f(x);
|
||||
+ o << s.f_(x);
|
||||
}
|
||||
return o;
|
||||
}
|
||||
--
|
||||
2.47.1
|
||||
|
||||
33
0001-Quote-various-cmake-var-values.patch
Normal file
33
0001-Quote-various-cmake-var-values.patch
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
From 02bb37946cafdb5892c04a2e9804566c3d36e8a0 Mon Sep 17 00:00:00 2001
|
||||
From: "Ankur Sinha (Ankur Sinha Gmail)" <sanjay.ankur@gmail.com>
|
||||
Date: Mon, 29 Aug 2022 17:22:11 +0100
|
||||
Subject: [PATCH] Quote various cmake var values
|
||||
|
||||
---
|
||||
cmake/arbor-config.cmake.in | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/cmake/arbor-config.cmake.in b/cmake/arbor-config.cmake.in
|
||||
index c9edecdc..7b6e1391 100644
|
||||
--- a/cmake/arbor-config.cmake.in
|
||||
+++ b/cmake/arbor-config.cmake.in
|
||||
@@ -46,11 +46,11 @@ endfunction()
|
||||
|
||||
set(ARB_VECTORIZE @ARB_VECTORIZE@)
|
||||
set(ARB_WITH_GPU @ARB_WITH_GPU@)
|
||||
-set(ARB_ARCH @ARB_ARCH@)
|
||||
-set(ARB_MODCC_FLAGS @ARB_MODCC_FLAGS@)
|
||||
-set(ARB_CXX @CMAKE_CXX_COMPILER@)
|
||||
-set(ARB_CXX_FLAGS @CMAKE_CXX_FLAGS@)
|
||||
-set(ARB_CXX_FLAGS_TARGET @ARB_CXX_FLAGS_TARGET_FULL@)
|
||||
+set(ARB_ARCH "@ARB_ARCH@")
|
||||
+set(ARB_MODCC_FLAGS "@ARB_MODCC_FLAGS@")
|
||||
+set(ARB_CXX "@CMAKE_CXX_COMPILER@")
|
||||
+set(ARB_CXX_FLAGS "@CMAKE_CXX_FLAGS@")
|
||||
+set(ARB_CXX_FLAGS_TARGET "@ARB_CXX_FLAGS_TARGET_FULL@")
|
||||
|
||||
_append_property(arbor::arbor INTERFACE_LINK_LIBRARIES @arbor_add_import_libs@)
|
||||
_append_property(arbor::arborenv INTERFACE_LINK_LIBRARIES @arborenv_add_import_libs@)
|
||||
--
|
||||
2.37.2
|
||||
|
||||
22
arbor-0.9.0-pybind11-3.0.patch
Normal file
22
arbor-0.9.0-pybind11-3.0.patch
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
diff -Naur arbor-0.9.0-original/python/pyarb.hpp arbor-0.9.0/python/pyarb.hpp
|
||||
--- arbor-0.9.0-original/python/pyarb.hpp 2023-08-10 10:47:38.000000000 +0100
|
||||
+++ arbor-0.9.0/python/pyarb.hpp 2025-11-03 08:24:00.093256311 +0000
|
||||
@@ -13,18 +13,6 @@
|
||||
|
||||
#include <pybind11/pybind11.h>
|
||||
|
||||
-// Version check
|
||||
-#define mk_tok(x) #x
|
||||
-#define mk_ver(M, m, p) mk_tok(M) "." mk_tok(m) "." mk_tok(p)
|
||||
-#define PB11_ERR(M, m, p) "Required version of pybind11 is 2.8.1 <= version < 3.0.0 Found " mk_ver(M, m, p)
|
||||
-static_assert((PYBIND11_VERSION_HEX >= 0x02080100)
|
||||
- &&
|
||||
- (PYBIND11_VERSION_HEX < 0x03000000),
|
||||
- PB11_ERR(PYBIND11_VERSION_MAJOR, PYBIND11_VERSION_MINOR, PYBIND11_VERSION_PATCH));
|
||||
-#undef PB11_ERR
|
||||
-#undef mk_ver
|
||||
-#undef mk_tok
|
||||
-
|
||||
namespace pyarb {
|
||||
|
||||
// Sample recorder object interface.
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
From 26f74e228ebd1840befa4122d4f36840104a2380 Mon Sep 17 00:00:00 2001
|
||||
From: "Ankur Sinha (Ankur Sinha Gmail)" <sanjay.ankur@gmail.com>
|
||||
Date: Sat, 7 Dec 2019 16:58:38 +0000
|
||||
Subject: [PATCH] Use system pybind11
|
||||
|
||||
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
|
||||
index bf4d5f0..0057102 100644
|
||||
--- a/python/CMakeLists.txt
|
||||
+++ b/python/CMakeLists.txt
|
||||
@@ -1,19 +1,10 @@
|
||||
include(FindPythonModule) # required for find_python_module
|
||||
|
||||
-# Set up pybind11 as an external project.
|
||||
-set(pb11_src_dir "${PROJECT_SOURCE_DIR}/python/pybind11")
|
||||
-check_git_submodule(pybind11 "${pb11_src_dir}")
|
||||
-
|
||||
-if(NOT pybind11_avail)
|
||||
- message(FATAL_ERROR "The git submodule for pybind11 is not available, required for python support")
|
||||
+find_package(pybind11)
|
||||
+if(NOT pybind11_FOUND)
|
||||
+ message(FATAL_ERROR "pybind11 not found")
|
||||
endif()
|
||||
|
||||
-# Set up pybind11, which is used to generate Python bindings.
|
||||
-# Pybind11 has good cmake support, so just add the pybind11 directory,
|
||||
-# instead of using find_package.
|
||||
-set(PYBIND11_CPP_STANDARD -std=c++14)
|
||||
-add_subdirectory(pybind11)
|
||||
-
|
||||
set(pyarb_source
|
||||
cells.cpp
|
||||
config.cpp
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
--- a/ext/CMakeLists.orig.txt 2020-06-06 20:38:54.795020000 +0200
|
||||
+++ b/ext/CMakeLists.txt 2020-06-06 20:41:11.429317416 +0200
|
||||
@@ -1,63 +1,6 @@
|
||||
# Niels Lohmann's json library (single-header version).
|
||||
|
||||
-add_library(ext-json INTERFACE)
|
||||
-target_include_directories(ext-json INTERFACE json/single_include)
|
||||
-
|
||||
# tinyopt command line parsing libary (header-only).
|
||||
|
||||
add_library(ext-tinyopt INTERFACE)
|
||||
target_include_directories(ext-tinyopt INTERFACE tinyopt/include)
|
||||
-
|
||||
-# Random123 (DE Shaw Research) counter-based random number generators (header-only)
|
||||
-
|
||||
-add_library(ext-random123 INTERFACE)
|
||||
-target_include_directories(ext-random123 INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>/random123/include)
|
||||
-install(TARGETS ext-random123 EXPORT arbor-targets)
|
||||
-
|
||||
-# Google benchmark for microbenchmarks:
|
||||
-
|
||||
-check_git_submodule(gbench google-benchmark)
|
||||
-if(gbench_avail)
|
||||
- # Set up google benchmark as an external project.
|
||||
-
|
||||
- include(ExternalProject)
|
||||
- set(gbench_src_dir "${CMAKE_CURRENT_SOURCE_DIR}/google-benchmark")
|
||||
- set(gbench_install_dir "${CMAKE_CURRENT_BINARY_DIR}/google-benchmark")
|
||||
- set(gbench_cmake_args
|
||||
- "-DCMAKE_BUILD_TYPE=release"
|
||||
- "-DCMAKE_INSTALL_PREFIX=${gbench_install_dir}"
|
||||
- "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}"
|
||||
- "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
|
||||
-
|
||||
- ExternalProject_Add(gbench-build
|
||||
- # Add dummy DOWNLOAD_COMMAND to stop ExternalProject_Add terminating CMake if the
|
||||
- # git submodule had not been udpated.
|
||||
- DOWNLOAD_COMMAND "${CMAKE_COMMAND}" -E echo "Warning: ${gbench_src_dir} empty or missing."
|
||||
- SOURCE_DIR "${gbench_src_dir}"
|
||||
- CMAKE_ARGS "${gbench_cmake_args}"
|
||||
- INSTALL_DIR "${gbench_install_dir}"
|
||||
- )
|
||||
- set_target_properties(gbench-build PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
||||
-
|
||||
-else()
|
||||
- add_error_target(gbench-build
|
||||
- "Building Google benchmark library"
|
||||
- "The git submodule for google benchmark is not available")
|
||||
-endif()
|
||||
-
|
||||
-add_library(ext-benchmark INTERFACE)
|
||||
-add_dependencies(ext-benchmark gbench-build)
|
||||
-target_include_directories(ext-benchmark INTERFACE "${gbench_install_dir}/include")
|
||||
-target_link_libraries(ext-benchmark INTERFACE "${gbench_install_dir}/lib/libbenchmark.a")
|
||||
-
|
||||
-# Sphinx RTD theme
|
||||
-
|
||||
-check_git_submodule(rtdtheme sphinx_rtd_theme)
|
||||
-add_target_if(rtdtheme_avail
|
||||
- check-sphinx_rtd_theme
|
||||
- "Checking for Read the Docs Sphinx theme"
|
||||
- "The git submodule for read the docs is not available")
|
||||
-
|
||||
-add_library(ext-sphinx_rtd_theme INTERFACE)
|
||||
-add_dependencies(ext-sphinx_rtd_theme check-sphinx_rtd_theme)
|
||||
-target_include_directories(ext-sphinx_rtd_theme INTERFACE sphinx_rtd_theme)
|
||||
323
arbor.spec
323
arbor.spec
|
|
@ -14,73 +14,105 @@ Documentation is available at https://arbor.readthedocs.io/en/latest/
|
|||
}
|
||||
|
||||
# Best to start with the serial version when debugging build failures
|
||||
%bcond_without mpich
|
||||
%bcond_without openmpi
|
||||
%bcond mpich 1
|
||||
%bcond openmpi 1
|
||||
|
||||
%bcond_without tests
|
||||
%bcond tests 1
|
||||
|
||||
#%%global commit fb5d4ea736282dce14c3284bc5db748b082db957
|
||||
#%%global checkoutdate 20200225
|
||||
#%%global shortcommit %%(c=%%{commit}; echo ${c:0:7})
|
||||
# Python unit tests in MPI environment fail in a non-deterministic way.
|
||||
# Using pytest _as is_ doesn't work either and `-m unittest` does not
|
||||
# allow filtering tests as `pytest -k` does.
|
||||
# For now we don't run the Python MPI tests.
|
||||
%bcond mpi_py_unittest 0
|
||||
|
||||
%global forgeurl https://github.com/arbor-sim/arbor
|
||||
|
||||
Name: arbor
|
||||
Version: 0.3
|
||||
Release: 2%{?dist}
|
||||
Version: 0.9.0
|
||||
Release: %autorelease
|
||||
Summary: Multi-compartment neural network simulation library
|
||||
|
||||
License: BSD
|
||||
URL: https://github.com/arbor-sim/%{name}
|
||||
%if 0%{?commit:1}
|
||||
Source0: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
|
||||
%else
|
||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
%endif
|
||||
# Use the system copy of pybind11
|
||||
# https://github.com/arbor-sim/arbor/issues/915
|
||||
Patch0: %{name}-0001-Use-system-pybind11.patch
|
||||
%forgemeta
|
||||
|
||||
# This patch changes ext/CMakeLists.txt for automatically using tinyopt libraries by cmake command.
|
||||
Patch1: %{name}-tinyopt_cmake.patch
|
||||
URL: %forgeurl
|
||||
Source0: %forgesource
|
||||
# script to run examples
|
||||
Source1: https://raw.githubusercontent.com/arbor-sim/arbor/master/scripts/run_python_examples.sh
|
||||
Source2: https://raw.githubusercontent.com/arbor-sim/arbor/master/scripts/run_cpp_examples.sh
|
||||
License: BSD-3-Clause
|
||||
|
||||
# Random123 does not support these
|
||||
ExcludeArch: mips64r2 mips32r2 s390 s390x
|
||||
Patch: 0001-Quote-various-cmake-var-values.patch
|
||||
# Tests are failing to compile due to some missing includes
|
||||
Patch: fix-missing-includes.patch
|
||||
# Fix a few typos that cause failure to compile with GCC 15
|
||||
#
|
||||
# These were eventually included in
|
||||
# 76120d16c00ae67128c3c69421ab712f985f3445, along with many other changes.
|
||||
Patch: 0001-Fix-a-few-typos-that-cause-failure-to-compile-with-G.patch
|
||||
# Remove the hard-coded pybind11 version check so that we can build with
|
||||
# pybind11 3.0; this is part of https://github.com/arbor-sim/arbor/pull/2481.
|
||||
Patch: arbor-0.9.0-pybind11-3.0.patch
|
||||
|
||||
# Random123 does not support:
|
||||
# mips64r2 mips32r2 s390
|
||||
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
|
||||
ExcludeArch: mips64r2 mips32r2 s390x %{ix86}
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: make
|
||||
BuildRequires: fmt-devel
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: git-core
|
||||
BuildRequires: gtest-devel
|
||||
BuildRequires: google-benchmark-devel
|
||||
BuildRequires: json-devel
|
||||
BuildRequires: libunwind-devel
|
||||
BuildRequires: pybind11-devel
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: Random123-devel
|
||||
BuildRequires: tclap-devel
|
||||
Provides: python3-%{name} = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python3-%{name}}
|
||||
BuildRequires: pugixml-devel
|
||||
|
||||
# For validation, but we don't have these BRs
|
||||
# BuildRequires: julia julia-sundials julia-unitful julia-JSON
|
||||
|
||||
%if %{with tests}
|
||||
BuildRequires: %{py3_dist numpy}
|
||||
BuildRequires: %{py3_dist pandas}
|
||||
BuildRequires: %{py3_dist seaborn}
|
||||
%endif
|
||||
|
||||
# Required by arbor
|
||||
Requires: %{py3_dist numpy}
|
||||
|
||||
# Provide Python meta data for packages requiring arbor
|
||||
%py_provides python3-arbor
|
||||
|
||||
%description %{_description}
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Provides: %{name}-static = %{version}-%{release}
|
||||
Summary: Development files for arbor
|
||||
Requires: arbor%{?_isa} = %{version}-%{release}
|
||||
Provides: arbor-static = %{version}-%{release}
|
||||
|
||||
%description devel %{_description}
|
||||
|
||||
%package doc
|
||||
# Does not require the main package, since it may be installed by people using
|
||||
# the MPI builds
|
||||
Summary: Documentation for %{name}
|
||||
Summary: Documentation for arbor
|
||||
BuildRequires: python3-sphinx
|
||||
BuildRequires: python3-sphinx_rtd_theme
|
||||
BuildRequires: python3-svgwrite
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
%description doc %{_description}
|
||||
|
||||
%if %{with mpich}
|
||||
%package mpich
|
||||
Summary: MPICH build for %{name}
|
||||
Summary: MPICH build for arbor
|
||||
BuildRequires: mpich-devel
|
||||
BuildRequires: rpm-mpi-hooks
|
||||
BuildRequires: python3-mpi4py-mpich
|
||||
|
|
@ -88,22 +120,22 @@ BuildRequires: python3-mpi4py-mpich
|
|||
Requires: mpich
|
||||
Requires: python3-mpich
|
||||
Requires: python3-mpi4py-mpich
|
||||
Provides: python3-%{name}-mpich = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python3-%{name}-mpich}
|
||||
Requires: %{py3_dist numpy}
|
||||
Provides: python3-arbor-mpich = %{version}-%{release}
|
||||
|
||||
%description mpich %{_description}
|
||||
|
||||
%package mpich-devel
|
||||
Summary: Development files for %{name}-mpich
|
||||
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
|
||||
Provides: %{name}-mpich-static = %{version}-%{release}
|
||||
Summary: Development files for arbor-mpich
|
||||
Requires: arbor-mpich%{?_isa} = %{version}-%{release}
|
||||
Provides: arbor-mpich-static = %{version}-%{release}
|
||||
|
||||
%description mpich-devel %{_description}
|
||||
%endif
|
||||
|
||||
%if %{with openmpi}
|
||||
%package openmpi
|
||||
Summary: OpenMPI build for %{name}
|
||||
Summary: OpenMPI build for arbor
|
||||
BuildRequires: openmpi-devel
|
||||
BuildRequires: rpm-mpi-hooks
|
||||
BuildRequires: python3-mpi4py-openmpi
|
||||
|
|
@ -111,41 +143,57 @@ BuildRequires: python3-mpi4py-openmpi
|
|||
Requires: openmpi
|
||||
Requires: python3-openmpi
|
||||
Requires: python3-mpi4py-openmpi
|
||||
Provides: python3-%{name}-openmpi = %{version}-%{release}
|
||||
%{?python_provide:%python_provide python3-%{name}-openmpi}
|
||||
Requires: %{py3_dist numpy}
|
||||
Provides: python3-arbor-openmpi = %{version}-%{release}
|
||||
|
||||
%description openmpi %{_description}
|
||||
|
||||
%package openmpi-devel
|
||||
Summary: Development files for %{name}-openmpi
|
||||
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
|
||||
Provides: %{name}-openmpi-static = %{version}-%{release}
|
||||
Summary: Development files for arbor-openmpi
|
||||
Requires: arbor-openmpi%{?_isa} = %{version}-%{release}
|
||||
Provides: arbor-openmpi-static = %{version}-%{release}
|
||||
|
||||
%description openmpi-devel %{_description}
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%if 0%{?commit:1}
|
||||
%autosetup -n %{name}-%{commit} -S git
|
||||
%else
|
||||
%autosetup -p1
|
||||
%endif
|
||||
%forgeautosetup -p1
|
||||
|
||||
# correct catalogue location
|
||||
sed -i 's|dummy-catalogue.so|lib/dummy-catalogue.so|' python/test/unit/test_catalogues.py
|
||||
|
||||
# Disable failing padded test
|
||||
sed -i '/test_padded.cpp/ d' test/unit/CMakeLists.txt
|
||||
|
||||
# should always be included, but is currently included only if bundled pybind11
|
||||
# is used
|
||||
sed -i '/add_subdirectory(python)/i \
|
||||
include(FindPythonModule)' CMakeLists.txt
|
||||
# Do not build external libraries
|
||||
# tclap and json and random123
|
||||
sed -i -e 's/ ext-random123//' CMakeLists.txt
|
||||
# Remove ext folders, unbundle libraries
|
||||
rm -vrf ext/google-benchmark ext/json ext/random123 ext/sphinx_rtd_theme
|
||||
mv ext/tinyopt/LICENSE ext/tinyopt/LICENSE-tinyopt
|
||||
|
||||
# Disable doc build: we built it ourselves
|
||||
sed -i '/add_subdirectory(doc)/ d' CMakeLists.txt
|
||||
|
||||
# Remove ext folders, unbundle libraries
|
||||
rm -vrf ext/google-benchmark ext/json ext/random123
|
||||
mv ext/tinyopt/LICENSE ext/tinyopt/LICENSE-tinyopt
|
||||
|
||||
# tclap and json are both header only
|
||||
find . -type f -name "CMakeLists.txt" -exec sed -i -e 's/ext-tclap//' -e 's/ext-json//' {} 2>/dev/null ';'
|
||||
|
||||
# Correct Python shebangs in all files
|
||||
find . -type f -name "*" -exec sed -i 's|^#![ ]*/usr/bin/env.*python.*$|#!/usr/bin/python3|' {} 2>/dev/null ';'
|
||||
# We set it, remove the hard coded bits from CMakeLists.txt
|
||||
sed -i '/set(arb_pyexecdir/ d' python/CMakeLists.txt
|
||||
|
||||
# Fix shebang (special case)
|
||||
sed -i 's|^#![ ]*/usr/env/bin.*python.*$|#!/usr/bin/python3|' example/lfp/neuron_lfp_example.py
|
||||
|
||||
# test scripts
|
||||
cp %{SOURCE1} scripts/
|
||||
cp %{SOURCE2} scripts/
|
||||
chmod +x scripts/*.sh
|
||||
sed -i 's/ python / python3 /' scripts/run_python_examples.sh
|
||||
sed -i 's|build/|./|' scripts/run_cpp_examples.sh
|
||||
|
||||
# builddir for serial
|
||||
mkdir build-serial
|
||||
|
|
@ -163,7 +211,7 @@ mkdir build-serial
|
|||
# straight away
|
||||
%global do_cmake_config %{expand: \
|
||||
echo
|
||||
echo "*** BUILDING %{name}-%{version}$MPI_COMPILE_TYPE ***"
|
||||
echo "*** BUILDING arbor-%{version}$MPI_COMPILE_TYPE ***"
|
||||
echo
|
||||
pushd build$MPI_COMPILE_TYPE &&
|
||||
cmake \\\
|
||||
|
|
@ -178,20 +226,16 @@ pushd build$MPI_COMPILE_TYPE &&
|
|||
-DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \\\
|
||||
-DCMAKE_SKIP_RPATH:BOOL=ON \\\
|
||||
-DCMAKE_BUILD_TYPE:STRING="release" \\\
|
||||
%ifarch x86_64 i686 aarch64
|
||||
-DARB_VECTORIZE:BOOL=ON \\\
|
||||
%else
|
||||
-DARB_USE_BUNDLED_LIBS:BOOL=OFF \\\
|
||||
-DARB_USE_BUNDLED_PYBIND11:BOOL=OFF \\\
|
||||
-DARB_VECTORIZE:BOOL=OFF \\\
|
||||
%endif
|
||||
%ifarch %{power64}
|
||||
-DARB_ARCH=power8 \\\
|
||||
%endif
|
||||
-DARB_WITH_MPI:BOOL=$MPI_YES \\\
|
||||
-DARB_WITH_GPU:BOOL=OFF \\\
|
||||
-DARB_ARCH:STRING="native" \\\
|
||||
-DARB_ARCH:STRING="none" \\\
|
||||
-DARB_CXX_FLAGS_TARGET:STRING="-ffat-lto-objects" \\\
|
||||
-DCMAKE_INSTALL_LIBDIR=%{_lib} \\\
|
||||
-DARB_WITH_PYTHON:BOOL=ON \\\
|
||||
-Darb_pyexecdir:STRING=$MPI_PYTHON3_SITEARCH \\\
|
||||
-DARB_PYTHON_LIB_PATH:STRING=$MPI_PYTHON3_SITEARCH \\\
|
||||
%if "%{_lib}" == "lib64"
|
||||
-DLIB_SUFFIX=64 .. &&
|
||||
%else
|
||||
|
|
@ -208,13 +252,16 @@ popd || exit -1;
|
|||
|
||||
%global do_make_build %{expand: \
|
||||
%make_build -C build$MPI_COMPILE_TYPE || exit -1
|
||||
%make_build -C build$MPI_COMPILE_TYPE examples || exit -1
|
||||
%if %{with tests}
|
||||
%make_build -C build$MPI_COMPILE_TYPE tests || exit -1
|
||||
%endif
|
||||
}
|
||||
|
||||
# Build serial version, dummy arguments
|
||||
%global __cc gcc
|
||||
%global __cxx g++
|
||||
%set_build_flags
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
export MPI_SUFFIX=""
|
||||
export MPI_HOME=%{_prefix}
|
||||
export MPI_INCLUDE=%{_includedir}
|
||||
|
|
@ -225,17 +272,12 @@ export MPI_PYTHON3_SITEARCH=%{python3_sitearch}
|
|||
%{do_cmake_config}
|
||||
%{do_make_build}
|
||||
|
||||
# Manually make docs in the serial build
|
||||
sphinx-build-%{python3_version} -b html doc html
|
||||
# Remove uneeded dotfiles
|
||||
rm -rfv html/{.buildinfo,.doctrees}
|
||||
|
||||
# skip building sphinx docs because they bundle js/fonts and it's very hard to
|
||||
# unbundle
|
||||
|
||||
# Build mpich version
|
||||
%if %{with mpich}
|
||||
%{_mpich_load}
|
||||
%global __cc mpicc
|
||||
%global __cxx mpicxx
|
||||
%set_build_flags
|
||||
export CC=mpicc
|
||||
export CXX=mpicxx
|
||||
|
|
@ -252,8 +294,6 @@ export MPI_COMPILE_TYPE="-mpich"
|
|||
# Build OpenMPI version
|
||||
%if %{with openmpi}
|
||||
%{_openmpi_load}
|
||||
%global __cc mpicc
|
||||
%global __cxx mpicxx
|
||||
%set_build_flags
|
||||
export CC=mpicc
|
||||
export CXX=mpicxx
|
||||
|
|
@ -272,7 +312,7 @@ export MPI_COMPILE_TYPE="-openmpi"
|
|||
# Install everything
|
||||
%global do_install %{expand: \
|
||||
echo
|
||||
echo "*** INSTALLING %{name}-%{version}$MPI_COMPILE_TYPE ***"
|
||||
echo "*** INSTALLING arbor-%{version}$MPI_COMPILE_TYPE ***"
|
||||
echo
|
||||
%make_install -C build$MPI_COMPILE_TYPE || exit -1
|
||||
}
|
||||
|
|
@ -299,6 +339,8 @@ export MPI_COMPILE_TYPE="-mpich"
|
|||
|
||||
pushd $RPM_BUILD_ROOT/$MPI_BIN
|
||||
mv -v modcc{,$MPI_SUFFIX} -v
|
||||
mv -v arbor-build-catalogue{,$MPI_SUFFIX} -v
|
||||
mv -v lmorpho{,$MPI_SUFFIX} -v
|
||||
popd
|
||||
%{_mpich_unload}
|
||||
%endif
|
||||
|
|
@ -316,18 +358,60 @@ export MPI_COMPILE_TYPE="-openmpi"
|
|||
|
||||
pushd $RPM_BUILD_ROOT/$MPI_BIN
|
||||
mv -v modcc{,$MPI_SUFFIX} -v
|
||||
mv -v arbor-build-catalogue{,$MPI_SUFFIX} -v
|
||||
mv -v lmorpho{,$MPI_SUFFIX} -v
|
||||
popd
|
||||
%{_openmpi_unload}
|
||||
%endif
|
||||
|
||||
|
||||
# https://github.com/arbor-sim/arbor/blob/master/.github/workflows/test-matrix.yml
|
||||
%if %{with tests}
|
||||
%check
|
||||
# Run for serial only. our builders are not using MPI
|
||||
|
||||
# Taken from upstream's GitHub workflow
|
||||
%global mpirun mpirun -n %{_smp_build_ncpus}
|
||||
|
||||
# these tests segfault, filter out
|
||||
gtest_filter="${gtest_filter--}${gtest_filter+:}*diffusion*"
|
||||
|
||||
pushd build-serial
|
||||
./bin/unit --gtest_filter=-*mc_event_delivery*:*fvm_lowered*:*mc_cell_group*
|
||||
%{py3_test_envvars} %{python3} -m unittest discover -v -s ../python
|
||||
./bin/unit ${gtest_filter+--gtest_filter=}${gtest_filter-}
|
||||
./bin/unit-modcc
|
||||
cp ../scripts/run_cpp_examples.sh .
|
||||
./run_cpp_examples.sh
|
||||
popd
|
||||
|
||||
# MPICH
|
||||
%if %{with mpich}
|
||||
%{_mpich_load}
|
||||
pushd build-mpich
|
||||
%if %{with mpi_py_unittest}
|
||||
%{py3_test_envvars} %{mpirun} %{python3} -m unittest discover -v -s ../python
|
||||
%endif
|
||||
%{mpirun} ./bin/unit-mpi
|
||||
cp ../scripts/run_cpp_examples.sh .
|
||||
./run_cpp_examples.sh "%{mpirun}"
|
||||
popd
|
||||
%{py3_test_envvars} ./scripts/run_python_examples.sh "%{mpirun}"
|
||||
%{_mpich_unload}
|
||||
%endif
|
||||
|
||||
# OpenMPI
|
||||
%if %{with openmpi}
|
||||
%{_openmpi_load}
|
||||
pushd build-openmpi
|
||||
%if %{with mpi_py_unittest}
|
||||
%{py3_test_envvars} %{mpirun} %{python3} -m unittest discover -v -s ../python
|
||||
%endif
|
||||
%{mpirun} ./bin/unit-mpi
|
||||
cp ../scripts/run_cpp_examples.sh .
|
||||
./run_cpp_examples.sh "%{mpirun}"
|
||||
popd
|
||||
%{py3_test_envvars} ./scripts/run_python_examples.sh "%{mpirun}"
|
||||
%{_openmpi_unload}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
|
||||
|
|
@ -335,19 +419,24 @@ popd
|
|||
%license LICENSE ext/tinyopt/LICENSE-tinyopt
|
||||
%doc README.md
|
||||
%{_bindir}/modcc
|
||||
%{python3_sitearch}/%{name}
|
||||
%{_bindir}/arbor-build-catalogue
|
||||
%{_bindir}/lmorpho
|
||||
%{python3_sitearch}/arbor
|
||||
%{_datadir}/arbor
|
||||
|
||||
|
||||
%files devel
|
||||
%{_includedir}/%{name}
|
||||
%{_includedir}/%{name}env
|
||||
%{_libdir}/cmake/%{name}
|
||||
%{_includedir}/arborio
|
||||
%{_includedir}/arbor
|
||||
%{_includedir}/arborenv
|
||||
%{_libdir}/cmake/arbor
|
||||
%{_libdir}/libarbor.a
|
||||
%{_libdir}/libarborio.a
|
||||
%{_libdir}/libarborenv.a
|
||||
|
||||
%files doc
|
||||
%license LICENSE
|
||||
%doc html
|
||||
%doc example/
|
||||
|
||||
|
||||
%if %{with mpich}
|
||||
|
|
@ -355,13 +444,18 @@ popd
|
|||
%doc README.md
|
||||
%license LICENSE ext/tinyopt/LICENSE-tinyopt
|
||||
%{_libdir}/mpich/bin/modcc_mpich
|
||||
%{python3_sitearch}/mpich/%{name}
|
||||
%{_libdir}/mpich/bin/arbor-build-catalogue_mpich
|
||||
%{_libdir}/mpich/bin/lmorpho_mpich
|
||||
%{python3_sitearch}/mpich/arbor
|
||||
%{_libdir}/mpich/share/arbor
|
||||
|
||||
%files mpich-devel
|
||||
%{_libdir}/mpich/include/%{name}
|
||||
%{_libdir}/mpich/include/%{name}env
|
||||
%{_libdir}/mpich/lib/cmake/%{name}
|
||||
%{_libdir}/mpich/include/arbor
|
||||
%{_libdir}/mpich/include/arborio
|
||||
%{_libdir}/mpich/include/arborenv
|
||||
%{_libdir}/mpich/lib/cmake/arbor
|
||||
%{_libdir}/mpich/lib/libarbor.a
|
||||
%{_libdir}/mpich/lib/libarborio.a
|
||||
%{_libdir}/mpich/lib/libarborenv.a
|
||||
%endif
|
||||
|
||||
|
|
@ -370,61 +464,20 @@ popd
|
|||
%doc README.md
|
||||
%license LICENSE ext/tinyopt/LICENSE-tinyopt
|
||||
%{_libdir}/openmpi/bin/modcc_openmpi
|
||||
%{python3_sitearch}/openmpi/%{name}
|
||||
%{_libdir}/openmpi/bin/arbor-build-catalogue_openmpi
|
||||
%{_libdir}/openmpi/bin/lmorpho_openmpi
|
||||
%{python3_sitearch}/openmpi/arbor
|
||||
%{_libdir}/openmpi/share/arbor
|
||||
|
||||
%files openmpi-devel
|
||||
%{_libdir}/openmpi/include/%{name}
|
||||
%{_libdir}/openmpi/include/%{name}env
|
||||
%{_libdir}/openmpi/lib/cmake/%{name}
|
||||
%{_libdir}/openmpi/include/arbor
|
||||
%{_libdir}/openmpi/include/arborio
|
||||
%{_libdir}/openmpi/include/arborenv
|
||||
%{_libdir}/openmpi/lib/cmake/arbor
|
||||
%{_libdir}/openmpi/lib/libarbor.a
|
||||
%{_libdir}/openmpi/lib/libarborio.a
|
||||
%{_libdir}/openmpi/lib/libarborenv.a
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Sun Jun 28 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.3-2
|
||||
- Update build flags to ensure CC and CXX are set correctly
|
||||
- https://lists.fedoraproject.org/archives/list/scitech@lists.fedoraproject.org/thread/BNKLXKY4O7BOTZ7LH7XDUTQO6FG2UWUT/#BNKLXKY4O7BOTZ7LH7XDUTQO6FG2UWUT
|
||||
|
||||
* Mon Jun 08 2020 Antonio Trande <sagitter@fedoraproject.org> - 0.3-2
|
||||
- Move Provides lines to runtime packages
|
||||
- Add patch for using tinyopt libraries
|
||||
|
||||
* Sat Jun 06 2020 Antonio Trande <sagitter@fedoraproject.org> - 0.3-1
|
||||
- Release 0.3
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.2.2-8.20200225gitfb5d4ea736282dce14c3284bc5db748b082db957
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Thu Apr 02 2020 Björn Esser <besser82@fedoraproject.org> - 0.2.2-7.20200225gitfb5d4ea736282dce14c3284bc5db748b082db957
|
||||
- Fix string quoting for rpm >= 4.16
|
||||
|
||||
* Wed Feb 26 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.2-5.20200226gitfb5d4ea736282dce14c3284bc5db748b082db957
|
||||
- Use new snapshot that fixes errors on 32 bit systems
|
||||
- No longer excludes i686 and armv7hl
|
||||
- Drop unneeded patch.
|
||||
|
||||
* Sun Feb 23 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.2-5.20200223gitf12f934f365d9e68f01bfd857982be80da2ddd10
|
||||
- Build from latest upstream snapshot
|
||||
- Freshen patch
|
||||
- Add exclude arches
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Tue Dec 10 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.2-3
|
||||
- Enable tests
|
||||
- Add patch for test crash
|
||||
|
||||
* Mon Dec 09 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.2-2
|
||||
- Remove arch info in provides for static
|
||||
- Temporarily disable tests
|
||||
- use python3-devel
|
||||
- Add documentation in separate sub-package
|
||||
- add python3-{mpich,openmpi} as requires that own MPI_PYTHON3_SITEARCH directories
|
||||
- Improve summaries for sub-packages to please rpmlint
|
||||
|
||||
* Sat Dec 07 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.2-1
|
||||
- Update to latest release
|
||||
|
||||
* Sun Jan 13 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.1-1
|
||||
- Initial rpm package
|
||||
%autochangelog
|
||||
|
|
|
|||
75
changelog
Normal file
75
changelog
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.3-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.3-9
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.3-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Oct 05 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.3-7
|
||||
- Explicitly require setuptools
|
||||
|
||||
* Fri Aug 28 2020 Jeff Law <law@redhat.com> - 0.3-6
|
||||
- Re-enable LTO
|
||||
- Do not force -march=native on armv7hl so that build architecture does not bleed
|
||||
into the binaries. This should probably be done on all targets
|
||||
|
||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3-5
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Jeff Law <law@redhat.com> - 0.3-4
|
||||
- Disable LTO for armv7hl build
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sun Jun 28 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.3-2
|
||||
- Update build flags to ensure CC and CXX are set correctly
|
||||
- https://lists.fedoraproject.org/archives/list/scitech@lists.fedoraproject.org/thread/BNKLXKY4O7BOTZ7LH7XDUTQO6FG2UWUT/#BNKLXKY4O7BOTZ7LH7XDUTQO6FG2UWUT
|
||||
|
||||
* Mon Jun 08 2020 Antonio Trande <sagitter@fedoraproject.org> - 0.3-2
|
||||
- Move Provides lines to runtime packages
|
||||
- Add patch for using tinyopt libraries
|
||||
|
||||
* Sat Jun 06 2020 Antonio Trande <sagitter@fedoraproject.org> - 0.3-1
|
||||
- Release 0.3
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.2.2-8.20200225gitfb5d4ea736282dce14c3284bc5db748b082db957
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Thu Apr 02 2020 Björn Esser <besser82@fedoraproject.org> - 0.2.2-7.20200225gitfb5d4ea736282dce14c3284bc5db748b082db957
|
||||
- Fix string quoting for rpm >= 4.16
|
||||
|
||||
* Wed Feb 26 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.2-5.20200226gitfb5d4ea736282dce14c3284bc5db748b082db957
|
||||
- Use new snapshot that fixes errors on 32 bit systems
|
||||
- No longer excludes i686 and armv7hl
|
||||
- Drop unneeded patch.
|
||||
|
||||
* Sun Feb 23 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.2-5.20200223gitf12f934f365d9e68f01bfd857982be80da2ddd10
|
||||
- Build from latest upstream snapshot
|
||||
- Freshen patch
|
||||
- Add exclude arches
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Tue Dec 10 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.2-3
|
||||
- Enable tests
|
||||
- Add patch for test crash
|
||||
|
||||
* Mon Dec 09 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.2-2
|
||||
- Remove arch info in provides for static
|
||||
- Temporarily disable tests
|
||||
- use python3-devel
|
||||
- Add documentation in separate sub-package
|
||||
- add python3-{mpich,openmpi} as requires that own MPI_PYTHON3_SITEARCH directories
|
||||
- Improve summaries for sub-packages to please rpmlint
|
||||
|
||||
* Sat Dec 07 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.2.2-1
|
||||
- Update to latest release
|
||||
|
||||
* Sun Jan 13 2019 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.1-1
|
||||
- Initial rpm package
|
||||
|
||||
43
fix-missing-includes.patch
Normal file
43
fix-missing-includes.patch
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
From fa15938c196bf317e0292d41ec7d341978e9ed08 Mon Sep 17 00:00:00 2001
|
||||
From: Sandro <devel@penguinpee.nl>
|
||||
Date: Mon, 29 Apr 2024 14:35:01 +0200
|
||||
Subject: [PATCH] Fix missing includes
|
||||
|
||||
Tests are failing to compile without those.
|
||||
|
||||
diff --git a/test/unit/common.hpp b/test/unit/common.hpp
|
||||
index db75e4d1..e02b9df2 100644
|
||||
--- a/test/unit/common.hpp
|
||||
+++ b/test/unit/common.hpp
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <unordered_map>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
+#include <algorithm>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
diff --git a/test/unit/test_event_queue.cpp b/test/unit/test_event_queue.cpp
|
||||
index daa0ccb9..17c10378 100644
|
||||
--- a/test/unit/test_event_queue.cpp
|
||||
+++ b/test/unit/test_event_queue.cpp
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <arbor/spike_event.hpp>
|
||||
|
||||
#include "event_queue.hpp"
|
||||
+#include "common.hpp"
|
||||
|
||||
using namespace arb;
|
||||
|
||||
diff --git a/test/unit/test_ordered_forest.cpp b/test/unit/test_ordered_forest.cpp
|
||||
index c58c76a4..12f7bd31 100644
|
||||
--- a/test/unit/test_ordered_forest.cpp
|
||||
+++ b/test/unit/test_ordered_forest.cpp
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include "util/ordered_forest.hpp"
|
||||
+#include "common.hpp"
|
||||
|
||||
using arb::util::ordered_forest;
|
||||
|
||||
21
run_cpp_examples.sh
Normal file
21
run_cpp_examples.sh
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env bash
|
||||
# Runs all C++ examples
|
||||
|
||||
set -Eeuo pipefail
|
||||
|
||||
if [[ "$#" -gt 1 ]]; then
|
||||
echo "usage: run_cpp_examples.sh <prefix, e.g., mpirun -n 4 -oversubscribe>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PREFIX=${1:-}
|
||||
|
||||
$PREFIX build/bin/bench
|
||||
$PREFIX build/bin/brunel
|
||||
$PREFIX build/bin/dryrun
|
||||
$PREFIX build/bin/gap_junctions
|
||||
$PREFIX build/bin/generators
|
||||
$PREFIX build/bin/lfp
|
||||
$PREFIX build/bin/probe-demo v
|
||||
$PREFIX build/bin/ring
|
||||
$PREFIX build/bin/single-cell
|
||||
21
run_python_examples.sh
Normal file
21
run_python_examples.sh
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env bash
|
||||
# Runs all Python examples
|
||||
|
||||
set -Eeuo pipefail
|
||||
|
||||
if [[ "$#" -gt 1 ]]; then
|
||||
echo "usage: run_python_examples.sh <prefix>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PREFIX=${1:-}
|
||||
|
||||
$PREFIX python python/example/network_ring.py
|
||||
$PREFIX python python/example/single_cell_model.py
|
||||
$PREFIX python python/example/single_cell_recipe.py
|
||||
$PREFIX python python/example/single_cell_stdp.py
|
||||
$PREFIX python python/example/brunel.py -n 400 -m 100 -e 20 -p 0.1 -w 1.2 -d 1 -g 0.5 -l 5 -t 100 -s 1 -G 50 -S 123
|
||||
$PREFIX python python/example/single_cell_swc.py python/example/single_cell_detailed.swc
|
||||
$PREFIX python python/example/single_cell_detailed.py python/example/single_cell_detailed.swc
|
||||
$PREFIX python python/example/single_cell_detailed_recipe.py python/example/single_cell_detailed.swc
|
||||
$PREFIX python python/example/single_cell_cable.py
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (arbor-0.3.tar.gz) = d81438e6b0474615d383b9a401a0ff32b3039e19b9ff9be2648c27cf96c72951f74959dd6213579ae6f2a158579cf2e1ea325fe60ec6b9c8decd800e9a171ebc
|
||||
SHA512 (arbor-0.9.0.tar.gz) = fa0280cae870c150c8f891949da9d6276f672bb7191b7b982cda4695dd38e3bffdd0dfa5f3acc2cf940909f64eb9da04cd11aeb7a4baa262fdbcd99be618aa15
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue