The package rpms/arbor.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/arbor.git/commit/?id=ba04c151410d....
Change:
+%ifarch %{power64}
Thanks.
Full change:
============
commit c20d8e8bbf4e42113fe63a1fad5b7c8ba572f9c4
Author: Ankur Sinha (Ankur Sinha Gmail) <sanjay.ankur(a)gmail.com>
Date: Sun Jun 28 17:55:46 2020 +0100
Update compiler and compiler flags
diff --git a/arbor.spec b/arbor.spec
index 3d97311..2acfa6e 100644
--- a/arbor.spec
+++ b/arbor.spec
@@ -31,7 +31,7 @@ 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
+Source0: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
%else
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
%endif
@@ -212,17 +212,15 @@ popd || exit -1;
}
# Build serial version, dummy arguments
-export MPI_COMPILER=serial
+%global __cc gcc
+%global __cxx g++
+%set_build_flags
export MPI_SUFFIX=""
export MPI_HOME=%{_prefix}
export MPI_INCLUDE=%{_includedir}
export MPI_LIB=%{_libdir}
export MPI_YES=OFF
export MPI_COMPILE_TYPE="-serial"
-export CFLAGS="%{build_cflags}"
-export CXXFLAGS="%{build_cxxflags}"
-export FFLAGS="%{build_fflags}"
-export LDFLAGS="%{build_ldflags}"
export MPI_PYTHON3_SITEARCH=%{python3_sitearch}
%{do_cmake_config}
%{do_make_build}
@@ -236,15 +234,14 @@ rm -rfv html/{.buildinfo,.doctrees}
# Build mpich version
%if %{with mpich}
%{_mpich_load}
+%global __cc mpicc
+%global __cxx mpicxx
+%set_build_flags
export CC=mpicc
export CXX=mpicxx
export FC=mpif90
export F77=mpif77
export MPI_YES=ON
-export CFLAGS="%{build_cflags}"
-export CXXFLAGS="%{build_cxxflags}"
-export FFLAGS="%{build_fflags}"
-export LDFLAGS="%{build_ldflags}"
export MPI_COMPILE_TYPE="-mpich"
%{do_cmake_config}
%{do_make_build}
@@ -255,15 +252,14 @@ 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
export FC=mpif90
export F77=mpif77
export MPI_YES=ON
-export CFLAGS="%{build_cflags}"
-export CXXFLAGS="%{build_cxxflags}"
-export FFLAGS="%{build_fflags}"
-export LDFLAGS="%{build_ldflags}"
# Python 3
export MPI_COMPILE_TYPE="-openmpi"
%{do_cmake_config}
@@ -385,6 +381,10 @@ popd
%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...
+
* Mon Jun 08 2020 Antonio Trande <sagitter(a)fedoraproject.org> - 0.3-2
- Move Provides lines to runtime packages
- Add patch for using tinyopt libraries
commit 6e9d0cd4d2ed348ee2ae3a0663239b78a10ad591
Author: sagitter <sagitter(a)fedoraproject.org>
Date: Mon Jun 8 19:49:12 2020 +0200
Move Provides lines to runtime packages
diff --git a/arbor.spec b/arbor.spec
index d13cdcd..3d97311 100644
--- a/arbor.spec
+++ b/arbor.spec
@@ -25,7 +25,7 @@ Documentation is available at
https://arbor.readthedocs.io/en/latest/
Name: arbor
Version: 0.3
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Multi-compartment neural network simulation library
License: BSD
@@ -39,6 +39,7 @@ Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
#
https://github.com/arbor-sim/arbor/issues/915
Patch0: %{name}-0001-Use-system-pybind11.patch
+# This patch changes ext/CMakeLists.txt for automatically using tinyopt libraries by
cmake command.
Patch1: %{name}-tinyopt_cmake.patch
# Random123 does not support these
@@ -54,6 +55,8 @@ BuildRequires: pybind11-devel
BuildRequires: python3-devel
BuildRequires: Random123-devel
BuildRequires: tclap-devel
+Provides: python3-%{name} = %{version}-%{release}
+%{?python_provide:%python_provide python3-%{name}}
# For validation, but we don't have these BRs
# BuildRequires: julia julia-sundials julia-unitful julia-JSON
@@ -63,8 +66,6 @@ BuildRequires: tclap-devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: %{name}-static = %{version}-%{release}
-Provides: python3-%{name} = %{version}-%{release}
-%{?python_provide:%python_provide python3-%{name}}
%description devel %{_description}
@@ -87,6 +88,8 @@ 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}
%description mpich %{_description}
@@ -94,8 +97,6 @@ Requires: python3-mpi4py-mpich
Summary: Development files for %{name}-mpich
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
Provides: %{name}-mpich-static = %{version}-%{release}
-Provides: python3-%{name}-mpich = %{version}-%{release}
-%{?python_provide:%python_provide python3-%{name}-mpich}
%description mpich-devel %{_description}
%endif
@@ -110,6 +111,8 @@ 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}
%description openmpi %{_description}
@@ -117,8 +120,6 @@ Requires: python3-mpi4py-openmpi
Summary: Development files for %{name}-openmpi
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
Provides: %{name}-openmpi-static = %{version}-%{release}
-Provides: python3-%{name}-openmpi = %{version}-%{release}
-%{?python_provide:%python_provide python3-%{name}-openmpi}
%description openmpi-devel %{_description}
%endif
@@ -384,6 +385,10 @@ popd
%endif
%changelog
+* Mon Jun 08 2020 Antonio Trande <sagitter(a)fedoraproject.org> - 0.3-2
+- Move Provides lines to runtime packages
+- Add patch for using tinyopt libraries
+
* Sat Jun 06 2020 Antonio Trande <sagitter(a)fedoraproject.org> - 0.3-1
- Release 0.3
commit ba04c151410d0fbe56f78905ae6662c65131a861
Author: sagitter <sagitter(a)fedoraproject.org>
Date: Mon Jun 8 14:16:59 2020 +0200
Release 0.3
diff --git a/.gitignore b/.gitignore
index 80f2251..b1f9e10 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
/arbor-0.2.2.tar.gz
/arbor-f12f934.tar.gz
/arbor-fb5d4ea.tar.gz
+/arbor-0.3.tar.gz
diff --git a/0001-Include-required-header.patch b/0001-Include-required-header.patch
deleted file mode 100644
index fc607a8..0000000
--- a/0001-Include-required-header.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 015bce3b60da23b18b308c6b758b463650cff397 Mon Sep 17 00:00:00 2001
-From: "Ankur Sinha (Ankur Sinha Gmail)" <sanjay.ankur(a)gmail.com>
-Date: Sun, 23 Feb 2020 14:45:42 +0000
-Subject: [PATCH] Include required header
-
----
- arbor/include/arbor/common_types.hpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arbor/include/arbor/common_types.hpp b/arbor/include/arbor/common_types.hpp
-index de9dc37..d756467 100644
---- a/arbor/include/arbor/common_types.hpp
-+++ b/arbor/include/arbor/common_types.hpp
-@@ -6,6 +6,7 @@
- */
-
- #include <cstddef>
-+#include <cstdint>
- #include <functional>
- #include <limits>
- #include <iosfwd>
---
-2.24.1
-
diff --git a/0001-Use-system-pybind11.patch b/arbor-0001-Use-system-pybind11.patch
similarity index 89%
rename from 0001-Use-system-pybind11.patch
rename to arbor-0001-Use-system-pybind11.patch
index a385645..3a826bc 100644
--- a/0001-Use-system-pybind11.patch
+++ b/arbor-0001-Use-system-pybind11.patch
@@ -3,15 +3,11 @@ From: "Ankur Sinha (Ankur Sinha Gmail)"
<sanjay.ankur(a)gmail.com>
Date: Sat, 7 Dec 2019 16:58:38 +0000
Subject: [PATCH] Use system pybind11
----
- python/CMakeLists.txt | 14 +++-----------
- 1 file changed, 3 insertions(+), 11 deletions(-)
-
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index bf4d5f0..0057102 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
-@@ -1,18 +1,10 @@
+@@ -1,19 +1,10 @@
include(FindPythonModule) # required for find_python_module
-# Set up pybind11 as an external project.
@@ -30,9 +26,7 @@ index bf4d5f0..0057102 100644
-# instead of using find_package.
-set(PYBIND11_CPP_STANDARD -std=c++14)
-add_subdirectory(pybind11)
-
+-
set(pyarb_source
cells.cpp
---
-2.24.1
-
+ config.cpp
diff --git a/arbor-tinyopt_cmake.patch b/arbor-tinyopt_cmake.patch
new file mode 100644
index 0000000..1306cbd
--- /dev/null
+++ b/arbor-tinyopt_cmake.patch
@@ -0,0 +1,66 @@
+--- 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)
diff --git a/arbor.spec b/arbor.spec
index 85d30d1..d13cdcd 100644
--- a/arbor.spec
+++ b/arbor.spec
@@ -19,14 +19,13 @@ Documentation is available at
https://arbor.readthedocs.io/en/latest/
%bcond_without tests
-%global commit fb5d4ea736282dce14c3284bc5db748b082db957
-%global checkoutdate 20200225
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
+#%%global commit fb5d4ea736282dce14c3284bc5db748b082db957
+#%%global checkoutdate 20200225
+#%%global shortcommit %%(c=%%{commit}; echo ${c:0:7})
Name: arbor
-Version: 0.2.2
-
-Release: 8.%{checkoutdate}git%{commit}%{?dist}
+Version: 0.3
+Release: 1%{?dist}
Summary: Multi-compartment neural network simulation library
License: BSD
@@ -38,10 +37,9 @@ 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: 0001-Use-system-pybind11.patch
-# Include missing header
-#
https://github.com/arbor-sim/arbor/pull/963
-Patch1: 0001-Include-required-header.patch
+Patch0: %{name}-0001-Use-system-pybind11.patch
+
+Patch1: %{name}-tinyopt_cmake.patch
# Random123 does not support these
ExcludeArch: mips64r2 mips32r2 s390 s390x
@@ -65,6 +63,8 @@ BuildRequires: tclap-devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: %{name}-static = %{version}-%{release}
+Provides: python3-%{name} = %{version}-%{release}
+%{?python_provide:%python_provide python3-%{name}}
%description devel %{_description}
@@ -94,6 +94,8 @@ Requires: python3-mpi4py-mpich
Summary: Development files for %{name}-mpich
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
Provides: %{name}-mpich-static = %{version}-%{release}
+Provides: python3-%{name}-mpich = %{version}-%{release}
+%{?python_provide:%python_provide python3-%{name}-mpich}
%description mpich-devel %{_description}
%endif
@@ -115,6 +117,8 @@ Requires: python3-mpi4py-openmpi
Summary: Development files for %{name}-openmpi
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
Provides: %{name}-openmpi-static = %{version}-%{release}
+Provides: python3-%{name}-openmpi = %{version}-%{release}
+%{?python_provide:%python_provide python3-%{name}-openmpi}
%description openmpi-devel %{_description}
%endif
@@ -123,14 +127,15 @@ Provides: %{name}-openmpi-static = %{version}-%{release}
%if 0%{?commit:1}
%autosetup -n %{name}-%{commit} -S git
%else
-%autosetup -S git
+%autosetup -p1
%endif
# Do not build external libraries
# tclap and json and random123
-sed -i -e '/add_subdirectory(ext)/ d' -e 's/ ext-random123//'
CMakeLists.txt
-# Remove ext folder
-rm -vrf ext
+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
# tclap and json are both header only
@@ -159,7 +164,6 @@ mkdir build-serial
echo
echo "*** BUILDING %{name}-%{version}$MPI_COMPILE_TYPE ***"
echo
-%set_build_flags
pushd build$MPI_COMPILE_TYPE &&
cmake \\\
-DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \\\
@@ -177,6 +181,9 @@ pushd build$MPI_COMPILE_TYPE &&
-DARB_VECTORIZE:BOOL=ON \\\
%else
-DARB_VECTORIZE:BOOL=OFF \\\
+%endif
+%ifarch %{power64}
+ -DARB_ARCH=power8 \\\
%endif
-DARB_WITH_MPI:BOOL=$MPI_YES \\\
-DARB_WITH_GPU:BOOL=OFF \\\
@@ -211,6 +218,10 @@ export MPI_INCLUDE=%{_includedir}
export MPI_LIB=%{_libdir}
export MPI_YES=OFF
export MPI_COMPILE_TYPE="-serial"
+export CFLAGS="%{build_cflags}"
+export CXXFLAGS="%{build_cxxflags}"
+export FFLAGS="%{build_fflags}"
+export LDFLAGS="%{build_ldflags}"
export MPI_PYTHON3_SITEARCH=%{python3_sitearch}
%{do_cmake_config}
%{do_make_build}
@@ -229,6 +240,10 @@ export CXX=mpicxx
export FC=mpif90
export F77=mpif77
export MPI_YES=ON
+export CFLAGS="%{build_cflags}"
+export CXXFLAGS="%{build_cxxflags}"
+export FFLAGS="%{build_fflags}"
+export LDFLAGS="%{build_ldflags}"
export MPI_COMPILE_TYPE="-mpich"
%{do_cmake_config}
%{do_make_build}
@@ -244,6 +259,10 @@ export CXX=mpicxx
export FC=mpif90
export F77=mpif77
export MPI_YES=ON
+export CFLAGS="%{build_cflags}"
+export CXXFLAGS="%{build_cxxflags}"
+export FFLAGS="%{build_fflags}"
+export LDFLAGS="%{build_ldflags}"
# Python 3
export MPI_COMPILE_TYPE="-openmpi"
%{do_cmake_config}
@@ -316,7 +335,7 @@ popd
%files
-%license LICENSE
+%license LICENSE ext/tinyopt/LICENSE-tinyopt
%doc README.md
%{_bindir}/modcc
%{python3_sitearch}/%{name}
@@ -337,7 +356,7 @@ popd
%if %{with mpich}
%files mpich
%doc README.md
-%license LICENSE
+%license LICENSE ext/tinyopt/LICENSE-tinyopt
%{_libdir}/mpich/bin/modcc_mpich
%{python3_sitearch}/mpich/%{name}
@@ -352,7 +371,7 @@ popd
%if %{with openmpi}
%files openmpi
%doc README.md
-%license LICENSE
+%license LICENSE ext/tinyopt/LICENSE-tinyopt
%{_libdir}/openmpi/bin/modcc_openmpi
%{python3_sitearch}/openmpi/%{name}
@@ -365,6 +384,9 @@ popd
%endif
%changelog
+* Sat Jun 06 2020 Antonio Trande <sagitter(a)fedoraproject.org> - 0.3-1
+- Release 0.3
+
* Tue May 26 2020 Miro HronĨok <mhroncok(a)redhat.com> -
0.2.2-8.20200225gitfb5d4ea736282dce14c3284bc5db748b082db957
- Rebuilt for Python 3.9
diff --git a/sources b/sources
index 1d28e53..94a682c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (arbor-fb5d4ea.tar.gz) =
d514ad36a63820cab543b19adf1f63218decfa7d6e9f8726178d90668c59952bde4daba91699c93b9678da4f42313050a8799ec58a5e78ef7d7f86a681ffc8b0
+SHA512 (arbor-0.3.tar.gz) =
d81438e6b0474615d383b9a401a0ff32b3039e19b9ff9be2648c27cf96c72951f74959dd6213579ae6f2a158579cf2e1ea325fe60ec6b9c8decd800e9a171ebc