Compare commits

...
Sign in to create a new pull request.

26 commits

Author SHA1 Message Date
Fedora Release Engineering
72e9933a9a Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 03:52:17 +00:00
Benjamin A. Beasley
6e948adaf6 Remove pybind11 version check so we can use pybind11 3.0 2025-11-03 08:33:44 +00:00
Python Maint
fb5798ff20 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 12:07:31 +02:00
Python Maint
da8dc566a0 Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 12:38:25 +02:00
Fedora Release Engineering
f00866be76 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 17:11:20 +00:00
Python Maint
a8a86bb6e2 Rebuilt for Python 3.14 2025-06-03 22:57:55 +02:00
Benjamin A. Beasley
0fbdf5f6bf Fix a few typos that cause failure to compile with GCC 15 2025-01-16 10:01:11 -05:00
Fedora Release Engineering
e65a78b984 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 11:26:54 +00:00
Fedora Release Engineering
8aea21b811 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-17 17:20:50 +00:00
Sandro
cf66a6f820
Provide Python meta data using macro
Allow packages depending on `arbor` to resolve their deps.
2024-07-15 13:09:03 +02:00
Python Maint
ba0e5e1b73 Rebuilt for Python 3.13 2024-06-09 02:10:06 +02:00
Sandro
6ebc987a02
Fix missing includes
[skip changelog]
2024-04-29 14:42:11 +02:00
Sandro
33098ec868
Stop running examples script
The script is no longer run upstream. Let's follow suit.

[skip changelog]
2024-04-28 23:14:39 +02:00
Sandro
24bcdc3f02
Fix rpmlint errors
Fixed:

* wrong-script-interpreter
* no-binary
* lto-no-text-in-archive

Pending:

* static-library-without-debuginfo

[skip changelog]
2024-04-28 23:14:19 +02:00
Sandro
962e7973c5
Disable Python unittest for MPI
- Use Python macros for configuring test environment
- Make `gtest_filter` modular
- Re-enable previously disabled tests (they now succeed)

[skip changelog]
2024-04-28 23:13:52 +02:00
Sandro
75ce46ad7f
Add Packit confg
[skip changelog]
2024-04-28 23:13:39 +02:00
Sandro
954f13bec7
Use user friendly notation of conditionals
[skip changelog]
2024-04-28 23:13:08 +02:00
Sandro
b9e93b2a06 Update to 0.9.0 (RHBZ#2145131)
- Drop obsolete patches
- Exclude segfaulting tests
2024-02-06 10:45:31 +00:00
Fedora Release Engineering
a4e8c1c574 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 23:22:37 +00:00
Fedora Release Engineering
3424986317 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 13:28:00 +00:00
Benjamin A. Beasley
06e1cefc66 Do not enable extra ISA extensions based on the build host
We must confine ourselves to the baseline features of each architecture
unless runtime feature detection is used.
2023-11-06 07:41:40 -05:00
Sandro
942ac93a60
Fix ExcludeArch
- s/s390/s390x/
2023-07-21 16:45:28 +02:00
Sandro
6bb5c02c86
Fix use of distutils (RHBZ#2219935) 2023-07-20 11:18:14 +02:00
Fedora Release Engineering
71050f7026 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 13:40:08 +00:00
Python Maint
ad813ca9b5 Rebuilt for Python 3.12 2023-06-28 15:02:54 +02:00
Vitaly Zaitsev
1f66525b15
Rebuilt due to fmt 10 update. 2023-06-28 10:59:00 +02:00
8 changed files with 174 additions and 74 deletions

1
.gitignore vendored
View file

@ -5,3 +5,4 @@
/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
View 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

View file

@ -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

View file

@ -1,33 +0,0 @@
From 884c568f96bc10079f28f4b2b7c8fc120c020053 Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Thu, 19 Jan 2023 10:10:21 -0500
Subject: [PATCH] Add some missing #include directives
Fixes failure to compile with GCC 13.
---
arbor/include/arbor/morph/primitives.hpp | 1 +
arbor/threading/threading.cpp | 1 +
2 files changed, 2 insertions(+)
diff --git a/arbor/include/arbor/morph/primitives.hpp b/arbor/include/arbor/morph/primitives.hpp
index 4be04670b..9d75060df 100644
--- a/arbor/include/arbor/morph/primitives.hpp
+++ b/arbor/include/arbor/morph/primitives.hpp
@@ -2,6 +2,7 @@
#include <algorithm>
#include <cstdlib>
+#include <cstdint>
#include <ostream>
#include <vector>
diff --git a/arbor/threading/threading.cpp b/arbor/threading/threading.cpp
index 552fda90a..4c786b867 100644
--- a/arbor/threading/threading.cpp
+++ b/arbor/threading/threading.cpp
@@ -1,4 +1,5 @@
#include <atomic>
+#include <stdexcept>
#include <arbor/assert.hpp>
#include <arbor/util/scope_exit.hpp>

View 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.

View file

@ -14,15 +14,21 @@ 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
# 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.7
Version: 0.9.0
Release: %autorelease
Summary: Multi-compartment neural network simulation library
@ -33,18 +39,24 @@ 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
License: BSD-3-Clause
Patch: 0001-Quote-various-cmake-var-values.patch
# Add some missing #include directives
# Fixes failure to compile with GCC 13.
# https://github.com/arbor-sim/arbor/pull/2080
Patch: %{forgeurl}/pull/2080.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 s390 %{ix86}
ExcludeArch: mips64r2 mips32r2 s390x %{ix86}
BuildRequires: cmake
BuildRequires: make
@ -60,7 +72,7 @@ BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: Random123-devel
BuildRequires: tclap-devel
Provides: python3-arbor = %{version}-%{release}
BuildRequires: pugixml-devel
# For validation, but we don't have these BRs
# BuildRequires: julia julia-sundials julia-unitful julia-JSON
@ -74,6 +86,9 @@ BuildRequires: %{py3_dist seaborn}
# Required by arbor
Requires: %{py3_dist numpy}
# Provide Python meta data for packages requiring arbor
%py_provides python3-arbor
%description %{_description}
%package devel
@ -86,11 +101,13 @@ Provides: arbor-static = %{version}-%{release}
%package doc
# Does not require the main package, since it may be installed by people using
# the MPI builds
Summary: Documentation for arbor
Summary: Documentation for arbor
BuildRequires: python3-sphinx
BuildRequires: python3-sphinx_rtd_theme
BuildRequires: python3-svgwrite
BuildArch: noarch
%description doc %{_description}
%if %{with mpich}
@ -168,6 +185,9 @@ find . -type f -name "CMakeLists.txt" -exec sed -i -e 's/ext-tclap//' -e 's/ext-
# Correct Python shebangs in all files
find . -type f -name "*" -exec sed -i 's|^#![ ]*/usr/bin/env.*python.*$|#!/usr/bin/python3|' {} 2>/dev/null ';'
# 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/
@ -208,18 +228,11 @@ pushd build$MPI_COMPILE_TYPE &&
-DCMAKE_BUILD_TYPE:STRING="release" \\\
-DARB_USE_BUNDLED_LIBS:BOOL=OFF \\\
-DARB_USE_BUNDLED_PYBIND11:BOOL=OFF \\\
%ifarch x86_64 i686 aarch64
-DARB_VECTORIZE:BOOL=ON \\\
%else
-DARB_VECTORIZE:BOOL=OFF \\\
%endif
-DARB_WITH_MPI:BOOL=$MPI_YES \\\
-DARB_WITH_GPU:BOOL=OFF \\\
%ifnarch s390x s390
-DARB_ARCH:STRING="native" \\\
%else
-DARB_ARCH:STRING="none" \\\
%endif
-DARB_CXX_FLAGS_TARGET:STRING="-ffat-lto-objects" \\\
-DCMAKE_INSTALL_LIBDIR=%{_lib} \\\
-DARB_WITH_PYTHON:BOOL=ON \\\
-DARB_PYTHON_LIB_PATH:STRING=$MPI_PYTHON3_SITEARCH \\\
@ -352,51 +365,51 @@ popd
%endif
# https://github.com/arbor-sim/arbor/blob/master/.github/workflows/test-everything.yml
# https://github.com/arbor-sim/arbor/blob/master/.github/workflows/test-matrix.yml
%if %{with tests}
%check
# General tests
export PYTHONPATH="%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}"
# for arbor-build-catalogue
export PATH="$PATH:%{buildroot}/%{_bindir}"
# 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
%{python3} -m unittest discover -v -s ../python
./bin/unit --gtest_filter=-*task_system.test_copy*:*notification_queue.test_copy*
%{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
./scripts/run_python_examples.sh
# MPICH
%if %{with mpich}
%{_mpich_load}
export PYTHONPATH="%{buildroot}/$MPI_PYTHON3_SITEARCH"
export PATH="$PATH:."
pushd build-mpich
mpirun -n %{_smp_build_ncpus} %{python3} -m unittest discover -v -s ../python
mpirun -n %{_smp_build_ncpus} ./bin/unit-mpi
%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 -n %{_smp_build_ncpus}"
./run_cpp_examples.sh "%{mpirun}"
popd
./scripts/run_python_examples.sh "mpirun -n %{_smp_build_ncpus}"
%{py3_test_envvars} ./scripts/run_python_examples.sh "%{mpirun}"
%{_mpich_unload}
%endif
# OpenMPI
%if %{with openmpi}
%{_openmpi_load}
export PYTHONPATH="%{buildroot}/$MPI_PYTHON3_SITEARCH"
export PATH="$PATH:."
pushd build-openmpi
mpirun -n %{_smp_build_ncpus} %{python3} -m unittest discover -v -s ../python
mpirun -n %{_smp_build_ncpus} ./bin/unit-mpi
%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 -n %{_smp_build_ncpus}"
./run_cpp_examples.sh "%{mpirun}"
popd
./scripts/run_python_examples.sh "mpirun -n %{_smp_build_ncpus}"
%{py3_test_envvars} ./scripts/run_python_examples.sh "%{mpirun}"
%{_openmpi_unload}
%endif
%endif

View 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;

View file

@ -1 +1 @@
SHA512 (arbor-0.7.tar.gz) = 66471172e159c87c930c89cfed20020cd7c770e0fd5f32b265197710c7bbd2920cfa018f384553130dd93645e149ccb71f64cc04208534c96b4e581f0c0acb50
SHA512 (arbor-0.9.0.tar.gz) = fa0280cae870c150c8f891949da9d6276f672bb7191b7b982cda4695dd38e3bffdd0dfa5f3acc2cf940909f64eb9da04cd11aeb7a4baa262fdbcd99be618aa15