From c9c07c7a74ee712064aa849522beff7128a77d4b Mon Sep 17 00:00:00 2001 From: Ankur Sinha (Ankur Sinha Gmail) Date: Apr 08 2024 11:57:46 +0000 Subject: feat: update to 3.7 --- diff --git a/.gitignore b/.gitignore index 9fd0f57..0fb78bc 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /nest-3.3.tar.gz /nest-3.4.tar.gz /nest-simulator-3.6.tar.gz +/nest-simulator-3.7_rc1.tar.gz diff --git a/0001-disable-python-setups.patch b/0001-disable-python-setups.patch new file mode 100644 index 0000000..8cb0a0a --- /dev/null +++ b/0001-disable-python-setups.patch @@ -0,0 +1,35 @@ +From 5bfe453bfef59d6264c8e987b3f3361bd458a9b5 Mon Sep 17 00:00:00 2001 +From: "Ankur Sinha (Ankur Sinha Gmail)" +Date: Mon, 8 Apr 2024 11:56:54 +0100 +Subject: [PATCH 1/6] disable python setups + +--- + doc/CMakeLists.txt | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt +index 14429eba6..bc0bc3771 100644 +--- a/doc/CMakeLists.txt ++++ b/doc/CMakeLists.txt +@@ -51,12 +51,12 @@ if( BUILD_SLI_DOCS STREQUAL ON AND NOT CMAKE_CROSSCOMPILING ) + + # Update the global help index to include all help files in + # the global installation directory for documentation. +- install( CODE +- "execute_process( +- COMMAND ${Python_EXECUTABLE} -B generate_helpindex.py \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}\" +- WORKING_DIRECTORY \"${PROJECT_SOURCE_DIR}/doc/slihelp_generator\" +- )" +- ) ++ #install( CODE ++ # "execute_process( ++ # COMMAND ${Python_EXECUTABLE} -B generate_helpindex.py \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}\" ++ # WORKING_DIRECTORY \"${PROJECT_SOURCE_DIR}/doc/slihelp_generator\" ++ # )" ++ # ) + endif () + + # Determine in or out of tree building +-- +2.44.0 + diff --git a/0002-tweak-PYEXECDIR.patch b/0002-tweak-PYEXECDIR.patch new file mode 100644 index 0000000..6bc0f55 --- /dev/null +++ b/0002-tweak-PYEXECDIR.patch @@ -0,0 +1,53 @@ +From 7b7e5bce5f41da5a511b87df416fd20e670313b4 Mon Sep 17 00:00:00 2001 +From: "Ankur Sinha (Ankur Sinha Gmail)" +Date: Mon, 8 Apr 2024 11:57:28 +0100 +Subject: [PATCH 2/6] tweak PYEXECDIR + +--- + bin/nest_vars.sh.in | 2 +- + cmake/ConfigureSummary.cmake | 2 +- + pynest/CMakeLists.txt | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/bin/nest_vars.sh.in b/bin/nest_vars.sh.in +index 6e33190cd..bc07787ce 100644 +--- a/bin/nest_vars.sh.in ++++ b/bin/nest_vars.sh.in +@@ -1,7 +1,7 @@ + #!/bin/sh + + # Make PyNEST available by prepending its path to PYTHONPATH in a safe way. +-export PYTHONPATH="@CMAKE_INSTALL_PREFIX@/@PYEXECDIR@${PYTHONPATH:+:$PYTHONPATH}" ++export PYTHONPATH="@PYEXECDIR@${PYTHONPATH:+:$PYTHONPATH}" + + # Make NEST executables available by prepending their path to PATH. + export PATH="@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@:${PATH}" +diff --git a/cmake/ConfigureSummary.cmake b/cmake/ConfigureSummary.cmake +index 0e3eba620..b699d06c0 100644 +--- a/cmake/ConfigureSummary.cmake ++++ b/cmake/ConfigureSummary.cmake +@@ -239,7 +239,7 @@ function( NEST_PRINT_CONFIG_SUMMARY ) + endif() + if ( HAVE_PYTHON ) + message( "PyNEST will be installed to:" ) +- message( " ${CMAKE_INSTALL_PREFIX}/${PYEXECDIR}" ) ++ message( " ${PYEXECDIR}" ) + message( "" ) + endif () + message( "To set necessary environment variables, add the following line" ) +diff --git a/pynest/CMakeLists.txt b/pynest/CMakeLists.txt +index 6d3129419..9a1f831db 100644 +--- a/pynest/CMakeLists.txt ++++ b/pynest/CMakeLists.txt +@@ -74,7 +74,7 @@ if ( HAVE_PYTHON ) + ) + + install(DIRECTORY nest/ ${PROJECT_BINARY_DIR}/pynest/nest/ +- DESTINATION ${CMAKE_INSTALL_PREFIX}/${PYEXECDIR}/nest ++ DESTINATION ${PYEXECDIR}/nest + PATTERN "versionchecker.py.in" EXCLUDE + ) + install( TARGETS pynestkernel DESTINATION ${PYEXECDIR}/nest/ ) +-- +2.44.0 + diff --git a/0003-use-system-Random123.patch b/0003-use-system-Random123.patch new file mode 100644 index 0000000..4e6d36d --- /dev/null +++ b/0003-use-system-Random123.patch @@ -0,0 +1,61 @@ +From 6b75663af76bd2e3f45fed7072f417fa9740e79b Mon Sep 17 00:00:00 2001 +From: "Ankur Sinha (Ankur Sinha Gmail)" +Date: Mon, 8 Apr 2024 11:58:05 +0100 +Subject: [PATCH 3/6] use system Random123 + +--- + CMakeLists.txt | 1 - + thirdparty/CMakeLists.txt | 24 ------------------------ + 2 files changed, 25 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f060a5c93..985510e8d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -179,7 +179,6 @@ nest_check_have_stl_vector_capacity_doubling() + nest_check_have_xlc_ice_on_using() + nest_check_have_std_nan() + nest_check_have_std_isnan() +-nest_check_random123() + + include( NestVersionInfo ) + get_version_info() +diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt +index 6db0ad5d2..94bbdfc55 100644 +--- a/thirdparty/CMakeLists.txt ++++ b/thirdparty/CMakeLists.txt +@@ -20,31 +20,7 @@ + set( thirdparty_headers + compose.hpp + randutils.hpp +- Random123/gsl_microrng.h +- Random123/aes.h +- Random123/array.h +- Random123/u01fixedpt.h +- Random123/philox.h +- Random123/threefry.h +- Random123/ars.h +- Random123/conventional/gsl_cbrng.h +- Random123/features/open64features.h +- Random123/features/xlcfeatures.h +- Random123/features/nvccfeatures.h +- Random123/features/metalfeatures.h +- Random123/features/sunprofeatures.h +- Random123/features/sse.h +- Random123/features/pgccfeatures.h +- Random123/features/openclfeatures.h +- Random123/features/iccfeatures.h +- Random123/features/compilerfeatures.h +- Random123/features/clangfeatures.h +- Random123/features/msvcfeatures.h +- Random123/features/gccfeatures.h + ) + + + install( FILES compose.hpp randutils.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nest) +-install( DIRECTORY Random123/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nest/Random123 +- FILES_MATCHING PATTERN "*.h" ) +- +-- +2.44.0 + diff --git a/0004-remove-rpath.patch b/0004-remove-rpath.patch new file mode 100644 index 0000000..0cb367f --- /dev/null +++ b/0004-remove-rpath.patch @@ -0,0 +1,81 @@ +From bf9da5f290a4e29af4621e27da01a9e11a1e302a Mon Sep 17 00:00:00 2001 +From: "Ankur Sinha (Ankur Sinha Gmail)" +Date: Mon, 8 Apr 2024 11:59:16 +0100 +Subject: [PATCH 4/6] remove rpath + +--- + cmake/ProcessOptions.cmake | 51 -------------------------------------- + 1 file changed, 51 deletions(-) + +diff --git a/cmake/ProcessOptions.cmake b/cmake/ProcessOptions.cmake +index 485e94a55..80a17abf3 100644 +--- a/cmake/ProcessOptions.cmake ++++ b/cmake/ProcessOptions.cmake +@@ -148,8 +148,6 @@ function( NEST_PROCESS_STATIC_LIBRARIES ) + endif () + + set( BUILD_SHARED_LIBS OFF PARENT_SCOPE ) +- # set RPATH stuff +- set( CMAKE_SKIP_RPATH TRUE PARENT_SCOPE ) + + if ( UNIX OR APPLE ) + # On Linux .a is the static library suffix, on Mac OS X .lib can also +@@ -166,55 +164,6 @@ function( NEST_PROCESS_STATIC_LIBRARIES ) + else () + set( BUILD_SHARED_LIBS ON PARENT_SCOPE ) + +- # set RPATH stuff +- set( CMAKE_SKIP_RPATH FALSE PARENT_SCOPE ) +- # use, i.e. don't skip the full RPATH for the build tree +- set( CMAKE_SKIP_BUILD_RPATH FALSE PARENT_SCOPE ) +- # on OS X +- set( CMAKE_MACOSX_RPATH ON PARENT_SCOPE ) +- +- # when building, don't use the install RPATH already +- # (but later on when installing) +- set( CMAKE_BUILD_WITH_INSTALL_RPATH FALSE PARENT_SCOPE ) +- +- # set run-time search path (RPATH) so that dynamic libraries in ``lib/nest`` can be located +- +- # Note: "$ORIGIN" (on Linux) and "@loader_path" (on MacOS) are not CMake variables, but special keywords for the +- # Linux resp. the macOS dynamic loader. They refer to the path in which the object is located, e.g. +- # ``${CMAKE_INSTALL_PREFIX}/bin`` for the nest and sli executables, ``${CMAKE_INSTALL_PREFIX}/lib/nest`` for all +- # dynamic libraries except PyNEST (libnestkernel.so, etc.), and something like +- # ``${CMAKE_INSTALL_PREFIX}/lib/python3.x/site-packages/nest`` for ``pynestkernel.so``. The RPATH is relative to +- # this origin, so the binary ``bin/nest`` can find the files in the relative location ``../lib/nest``, and +- # similarly for PyNEST and the other libraries. For simplicity, we set all the possibilities on all generated +- # objects. +- +- # PyNEST can only act as an entry point; it does not need to be included in the other objects' RPATH itself. +- +- if ( APPLE ) +- set( CMAKE_INSTALL_RPATH +- # for binaries +- "@loader_path/../${CMAKE_INSTALL_LIBDIR}/nest" +- # for libraries (except pynestkernel) +- "@loader_path/../../${CMAKE_INSTALL_LIBDIR}/nest" +- # for pynestkernel: origin at /lib/python3.x/site-packages/nest +- "@loader_path/../../../nest" +- PARENT_SCOPE ) +- else () +- set( CMAKE_INSTALL_RPATH +- # for binaries +- "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}/nest" +- # for libraries (except pynestkernel) +- "\$ORIGIN/../../${CMAKE_INSTALL_LIBDIR}/nest" +- # for pynestkernel: origin at /lib(64)/python3.x/site-packages/nest +- # while libs are at the root of that at /lib(64)/nest +- "\$ORIGIN/../../../nest" +- PARENT_SCOPE ) +- endif () +- +- # add the automatically determined parts of the RPATH +- # which point to directories outside the build tree to the install RPATH +- set( CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE PARENT_SCOPE ) +- + if ( UNIX OR APPLE ) + # reverse the search order for lib extensions + set( CMAKE_FIND_LIBRARY_SUFFIXES ".so;.dylib;.a;.lib" PARENT_SCOPE ) +-- +2.44.0 + diff --git a/0005-install-in-libdir.patch b/0005-install-in-libdir.patch new file mode 100644 index 0000000..0fee7cb --- /dev/null +++ b/0005-install-in-libdir.patch @@ -0,0 +1,71 @@ +From 7f9162613fd33ae13f2c9287fad0d0ca1e5b0ce3 Mon Sep 17 00:00:00 2001 +From: "Ankur Sinha (Ankur Sinha Gmail)" +Date: Mon, 8 Apr 2024 11:59:43 +0100 +Subject: [PATCH 5/6] install in libdir + +--- + cmake/ConfigureSummary.cmake | 2 +- + libnestutil/config.h.in | 2 +- + nest/CMakeLists.txt | 4 ++-- + sli/CMakeLists.txt | 4 ++-- + 4 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/cmake/ConfigureSummary.cmake b/cmake/ConfigureSummary.cmake +index b699d06c0..831aa65ec 100644 +--- a/cmake/ConfigureSummary.cmake ++++ b/cmake/ConfigureSummary.cmake +@@ -230,7 +230,7 @@ function( NEST_PRINT_CONFIG_SUMMARY ) + message( " ${CMAKE_INSTALL_FULL_BINDIR}/" ) + message( "" ) + message( "NEST dynamic libraries and user modules will be installed to:" ) +- message( " ${CMAKE_INSTALL_FULL_LIBDIR}/nest/" ) ++ message( " ${CMAKE_INSTALL_FULL_LIBDIR}/" ) + message( "" ) + if ( BUILD_DOCS ) + message( "Documentation and examples will be installed to:" ) +diff --git a/libnestutil/config.h.in b/libnestutil/config.h.in +index 08b425156..ff112908f 100644 +--- a/libnestutil/config.h.in ++++ b/libnestutil/config.h.in +@@ -43,7 +43,7 @@ + #define NEST_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" + #define NEST_INSTALL_DATADIR "@CMAKE_INSTALL_DATADIR@" + #define NEST_INSTALL_DOCDIR "@CMAKE_INSTALL_DOCDIR@" +-#define NEST_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@/nest" ++#define NEST_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" + + #define MPIEXEC "@MPIEXEC@" + #define MPIEXEC_NUMPROC_FLAG "@MPIEXEC_NUMPROC_FLAG@" +diff --git a/nest/CMakeLists.txt b/nest/CMakeLists.txt +index 7a21c573c..f3b534ba9 100644 +--- a/nest/CMakeLists.txt ++++ b/nest/CMakeLists.txt +@@ -95,8 +95,8 @@ if ( HAVE_PYTHON ) + endif () + + install( TARGETS nest nest_lib +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/nest +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/nest ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) + +diff --git a/sli/CMakeLists.txt b/sli/CMakeLists.txt +index 38391d062..4ee036195 100644 +--- a/sli/CMakeLists.txt ++++ b/sli/CMakeLists.txt +@@ -138,8 +138,8 @@ target_include_directories( sli_readline PRIVATE + ) + + install( TARGETS sli_readline sli_lib sli +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/nest +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/nest ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) + +-- +2.44.0 + diff --git a/0006-use-online-documentation.patch b/0006-use-online-documentation.patch new file mode 100644 index 0000000..855e6f6 --- /dev/null +++ b/0006-use-online-documentation.patch @@ -0,0 +1,33 @@ +From 78fa790e7a506e9cd080375ebde87004345852f9 Mon Sep 17 00:00:00 2001 +From: "Ankur Sinha (Ankur Sinha Gmail)" +Date: Mon, 8 Apr 2024 12:00:16 +0100 +Subject: [PATCH 6/6] use online documentation + +--- + pynest/nest/lib/hl_api_info.py | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/pynest/nest/lib/hl_api_info.py b/pynest/nest/lib/hl_api_info.py +index 5a878c6c1..8461e78ce 100644 +--- a/pynest/nest/lib/hl_api_info.py ++++ b/pynest/nest/lib/hl_api_info.py +@@ -83,12 +83,10 @@ def helpdesk(): + docdir = sli_func("statusdict/prgdocdir ::") + help_fname = os.path.join(docdir, "html", "index.html") + +- if not os.path.isfile(help_fname): +- msg = "Sorry, the help index cannot be opened. " +- msg += "Did you run 'make html' before running 'make install'?" +- raise FileNotFoundError(msg) +- +- webbrowser.open_new(f"file://{help_fname}") ++ if os.path.isfile(help_fname): ++ webbrowser.open_new(f"file://{help_fname}") ++ else: ++ webbrowser.open_new("https://nest-simulator.readthedocs.io/") + + + @check_stack +-- +2.44.0 + diff --git a/disable-python-setups.patch b/disable-python-setups.patch deleted file mode 100644 index a30cfe6..0000000 --- a/disable-python-setups.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt -index 14429eba6..bc0bc3771 100644 ---- a/doc/CMakeLists.txt -+++ b/doc/CMakeLists.txt -@@ -51,12 +51,12 @@ if( BUILD_SLI_DOCS STREQUAL ON AND NOT CMAKE_CROSSCOMPILING ) - - # Update the global help index to include all help files in - # the global installation directory for documentation. -- install( CODE -- "execute_process( -- COMMAND ${Python_EXECUTABLE} -B generate_helpindex.py \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}\" -- WORKING_DIRECTORY \"${PROJECT_SOURCE_DIR}/doc/slihelp_generator\" -- )" -- ) -+ #install( CODE -+ # "execute_process( -+ # COMMAND ${Python_EXECUTABLE} -B generate_helpindex.py \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}\" -+ # WORKING_DIRECTORY \"${PROJECT_SOURCE_DIR}/doc/slihelp_generator\" -+ # )" -+ # ) - endif () - - # Determine in or out of tree building diff --git a/install-in-libdir.patch b/install-in-libdir.patch deleted file mode 100644 index d913a96..0000000 --- a/install-in-libdir.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/cmake/ConfigureSummary.cmake b/cmake/ConfigureSummary.cmake -index 5e1c8a14b..8352c040e 100644 ---- a/cmake/ConfigureSummary.cmake -+++ b/cmake/ConfigureSummary.cmake -@@ -241,7 +241,7 @@ function( NEST_PRINT_CONFIG_SUMMARY ) - message( " ${CMAKE_INSTALL_FULL_BINDIR}/" ) - message( "" ) - message( "NEST dynamic libraries and user modules will be installed to:" ) -- message( " ${CMAKE_INSTALL_FULL_LIBDIR}/nest/" ) -+ message( " ${CMAKE_INSTALL_FULL_LIBDIR}/" ) - message( "" ) - if ( BUILD_DOCS ) - message( "Documentation and examples will be installed to:" ) -diff --git a/libnestutil/config.h.in b/libnestutil/config.h.in -index 08b425156..ff112908f 100644 ---- a/libnestutil/config.h.in -+++ b/libnestutil/config.h.in -@@ -43,7 +43,7 @@ - #define NEST_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" - #define NEST_INSTALL_DATADIR "@CMAKE_INSTALL_DATADIR@" - #define NEST_INSTALL_DOCDIR "@CMAKE_INSTALL_DOCDIR@" --#define NEST_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@/nest" -+#define NEST_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" - - #define MPIEXEC "@MPIEXEC@" - #define MPIEXEC_NUMPROC_FLAG "@MPIEXEC_NUMPROC_FLAG@" -diff --git a/nest/CMakeLists.txt b/nest/CMakeLists.txt -index e0a8e7413..75b1ab952 100644 ---- a/nest/CMakeLists.txt -+++ b/nest/CMakeLists.txt -@@ -96,8 +96,8 @@ if ( HAVE_PYTHON ) - endif () - - install( TARGETS nest nest_lib -- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/nest -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/nest -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ) - -diff --git a/sli/CMakeLists.txt b/sli/CMakeLists.txt -index 38391d062..4ee036195 100644 ---- a/sli/CMakeLists.txt -+++ b/sli/CMakeLists.txt -@@ -138,8 +138,8 @@ target_include_directories( sli_readline PRIVATE - ) - - install( TARGETS sli_readline sli_lib sli -- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/nest -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/nest -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ) - diff --git a/nest.spec b/nest.spec index c71b61e..160baab 100644 --- a/nest.spec +++ b/nest.spec @@ -1,5 +1,6 @@ # Use forge macros for getting source tarball from GitHub %global forgeurl https://github.com/nest/nest-simulator +%global branch v3.7_rc1 # We build the python bit separately - their build system doesn't let me build # and install separately - everything is done at install time @@ -49,7 +50,7 @@ %endif Name: nest -Version: 3.6 +Version: 3.7 Release: %autorelease Summary: The neural simulation tool %forgemeta @@ -62,23 +63,24 @@ URL: http://www.nest-simulator.org/ Source0: %forgesource Source1: README-Fedora.md +# https://github.com/sanjayankur31/nest-simulator/tree/fedora-3.7 # 1. Let it build and install the cythonised shared object But we still build # our python modules ourselves # 2. The helpindex must be generated after the help files have been installed # to the install location, so we do this manually because the script doesn't # respect rpmbuildroot and so on -Patch: disable-python-setups.patch +Patch: 0001-disable-python-setups.patch # Tweak PYEXECDIR -Patch: tweak-PYEXECDIR.patch +Patch: 0002-tweak-PYEXECDIR.patch # Use system Random123 -Patch: use-system-Random123.patch +Patch: 0003-use-system-Random123.patch # Remove rpath -Patch: remove-rpath.patch +Patch: 0004-remove-rpath.patch # Install in standard libdir -Patch: install-in-libdir.patch +Patch: 0005-install-in-libdir.patch # Use online docs for helpdesk -Patch: use-online-documentation.patch +Patch: 0006-use-online-documentation.patch # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -240,10 +242,11 @@ Recommends: %{py3_dist ipython} %forgeautosetup -p1 cp %{SOURCE1} ./ -v -# Version used in tag is 3.6 and the tarball is named accordingly. -# However the file VERSION contains '3.6.0'. Let's fix that! +# Fix VERSION +# TODO: Check if needed with each release echo %{version} > VERSION + # Tweaks # We'll set it ourselves - easier for mpi implementations sed -i.orig '/PYEXECDIR/ d' cmake/ProcessOptions.cmake diff --git a/remove-rpath.patch b/remove-rpath.patch deleted file mode 100644 index d66f0ae..0000000 --- a/remove-rpath.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff --git a/cmake/ProcessOptions.cmake b/cmake/ProcessOptions.cmake -index e20c3086d..89881f811 100644 ---- a/cmake/ProcessOptions.cmake -+++ b/cmake/ProcessOptions.cmake -@@ -148,8 +148,6 @@ function( NEST_PROCESS_STATIC_LIBRARIES ) - endif () - - set( BUILD_SHARED_LIBS OFF PARENT_SCOPE ) -- # set RPATH stuff -- set( CMAKE_SKIP_RPATH TRUE PARENT_SCOPE ) - - if ( UNIX OR APPLE ) - # On Linux .a is the static library suffix, on Mac OS X .lib can also -@@ -166,55 +164,6 @@ function( NEST_PROCESS_STATIC_LIBRARIES ) - else () - set( BUILD_SHARED_LIBS ON PARENT_SCOPE ) - -- # set RPATH stuff -- set( CMAKE_SKIP_RPATH FALSE PARENT_SCOPE ) -- # use, i.e. don't skip the full RPATH for the build tree -- set( CMAKE_SKIP_BUILD_RPATH FALSE PARENT_SCOPE ) -- # on OS X -- set( CMAKE_MACOSX_RPATH ON PARENT_SCOPE ) -- -- # when building, don't use the install RPATH already -- # (but later on when installing) -- set( CMAKE_BUILD_WITH_INSTALL_RPATH FALSE PARENT_SCOPE ) -- -- # set run-time search path (RPATH) so that dynamic libraries in ``lib/nest`` can be located -- -- # Note: "$ORIGIN" (on Linux) and "@loader_path" (on MacOS) are not CMake variables, but special keywords for the -- # Linux resp. the macOS dynamic loader. They refer to the path in which the object is located, e.g. -- # ``${CMAKE_INSTALL_PREFIX}/bin`` for the nest and sli executables, ``${CMAKE_INSTALL_PREFIX}/lib/nest`` for all -- # dynamic libraries except PyNEST (libnestkernel.so, etc.), and something like -- # ``${CMAKE_INSTALL_PREFIX}/lib/python3.x/site-packages/nest`` for ``pynestkernel.so``. The RPATH is relative to -- # this origin, so the binary ``bin/nest`` can find the files in the relative location ``../lib/nest``, and -- # similarly for PyNEST and the other libraries. For simplicity, we set all the possibilities on all generated -- # objects. -- -- # PyNEST can only act as an entry point; it does not need to be included in the other objects' RPATH itself. -- -- if ( APPLE ) -- set( CMAKE_INSTALL_RPATH -- # for binaries -- "@loader_path/../${CMAKE_INSTALL_LIBDIR}/nest" -- # for libraries (except pynestkernel) -- "@loader_path/../../${CMAKE_INSTALL_LIBDIR}/nest" -- # for pynestkernel: origin at /lib/python3.x/site-packages/nest -- "@loader_path/../../../nest" -- PARENT_SCOPE ) -- else () -- set( CMAKE_INSTALL_RPATH -- # for binaries -- "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}/nest" -- # for libraries (except pynestkernel) -- "\$ORIGIN/../../${CMAKE_INSTALL_LIBDIR}/nest" -- # for pynestkernel: origin at /lib(64)/python3.x/site-packages/nest -- # while libs are at the root of that at /lib(64)/nest -- "\$ORIGIN/../../../nest" -- PARENT_SCOPE ) -- endif () -- -- # add the automatically determined parts of the RPATH -- # which point to directories outside the build tree to the install RPATH -- set( CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE PARENT_SCOPE ) -- - if ( UNIX OR APPLE ) - # reverse the search order for lib extensions - set( CMAKE_FIND_LIBRARY_SUFFIXES ".so;.dylib;.a;.lib" PARENT_SCOPE ) diff --git a/sources b/sources index c851fe7..8f80e1f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (nest-simulator-3.6.tar.gz) = 48289ad845b4ad32f07a19882f7a52d167351e80e3f777bbad41e083885220b65f72498b65b0ce48837173b05acf4aeefc2f6d614b7e1536624ded4aa5c0ab6a +SHA512 (nest-simulator-3.7_rc1.tar.gz) = fa80cee40dbd1f8e2bc41e154e8cf83a58b34c3439b57f413e7a59d86fcb49e292c54b253cc645c26e68919e1d9ca424d5768679e45439d3dab2cdcbaa795344 diff --git a/tweak-PYEXECDIR.patch b/tweak-PYEXECDIR.patch deleted file mode 100644 index 6ed6847..0000000 --- a/tweak-PYEXECDIR.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 131b8a047734a6774b50042bcb4ff5da7b84328f Mon Sep 17 00:00:00 2001 -From: "Ankur Sinha (Ankur Sinha Gmail)" -Date: Fri, 13 Jan 2023 10:48:53 +0000 -Subject: [PATCH 2/6] tweak PYEXECDIR - ---- - bin/nest_vars.sh.in | 2 +- - cmake/ConfigureSummary.cmake | 2 +- - pynest/CMakeLists.txt | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/bin/nest_vars.sh.in b/bin/nest_vars.sh.in -index 6e33190cd..bc07787ce 100644 ---- a/bin/nest_vars.sh.in -+++ b/bin/nest_vars.sh.in -@@ -1,7 +1,7 @@ - #!/bin/sh - - # Make PyNEST available by prepending its path to PYTHONPATH in a safe way. --export PYTHONPATH="@CMAKE_INSTALL_PREFIX@/@PYEXECDIR@${PYTHONPATH:+:$PYTHONPATH}" -+export PYTHONPATH="@PYEXECDIR@${PYTHONPATH:+:$PYTHONPATH}" - - # Make NEST executables available by prepending their path to PATH. - export PATH="@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@:${PATH}" -diff --git a/cmake/ConfigureSummary.cmake b/cmake/ConfigureSummary.cmake -index 62c0d08ca..f68bc4f89 100644 ---- a/cmake/ConfigureSummary.cmake -+++ b/cmake/ConfigureSummary.cmake -@@ -234,7 +234,7 @@ function( NEST_PRINT_CONFIG_SUMMARY ) - endif() - if ( HAVE_PYTHON ) - message( "PyNEST will be installed to:" ) -- message( " ${CMAKE_INSTALL_PREFIX}/${PYEXECDIR}" ) -+ message( " ${PYEXECDIR}" ) - message( "" ) - endif () - message( "To set necessary environment variables, add the following line" ) -diff --git a/pynest/CMakeLists.txt b/pynest/CMakeLists.txt -index f3b0218c4..92367dc04 100644 ---- a/pynest/CMakeLists.txt -+++ b/pynest/CMakeLists.txt -@@ -75,7 +75,7 @@ if ( HAVE_PYTHON ) - ) - - install(DIRECTORY nest/ ${PROJECT_BINARY_DIR}/pynest/nest/ -- DESTINATION ${CMAKE_INSTALL_PREFIX}/${PYEXECDIR}/nest -+ DESTINATION ${PYEXECDIR}/nest - PATTERN "versionchecker.py.in" EXCLUDE - ) - install( TARGETS pynestkernel DESTINATION ${PYEXECDIR}/nest/ ) --- -2.40.1 - diff --git a/use-online-documentation.patch b/use-online-documentation.patch deleted file mode 100644 index 9a8b17f..0000000 --- a/use-online-documentation.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/pynest/nest/lib/hl_api_info.py b/pynest/nest/lib/hl_api_info.py -index 5a878c6c1..8461e78ce 100644 ---- a/pynest/nest/lib/hl_api_info.py -+++ b/pynest/nest/lib/hl_api_info.py -@@ -83,12 +83,10 @@ def helpdesk(): - docdir = sli_func("statusdict/prgdocdir ::") - help_fname = os.path.join(docdir, "html", "index.html") - -- if not os.path.isfile(help_fname): -- msg = "Sorry, the help index cannot be opened. " -- msg += "Did you run 'make html' before running 'make install'?" -- raise FileNotFoundError(msg) -- -- webbrowser.open_new(f"file://{help_fname}") -+ if os.path.isfile(help_fname): -+ webbrowser.open_new(f"file://{help_fname}") -+ else: -+ webbrowser.open_new("https://nest-simulator.readthedocs.io/") - - - @check_stack diff --git a/use-system-Random123.patch b/use-system-Random123.patch deleted file mode 100644 index 8350c1a..0000000 --- a/use-system-Random123.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a924f3ebf..8c8c5980f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -184,7 +184,6 @@ nest_check_have_stl_vector_capacity_doubling() - nest_check_have_xlc_ice_on_using() - nest_check_have_std_nan() - nest_check_have_std_isnan() --nest_check_random123() - - include( NestVersionInfo ) - get_version_info() -diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt -index 6db0ad5d2..94bbdfc55 100644 ---- a/thirdparty/CMakeLists.txt -+++ b/thirdparty/CMakeLists.txt -@@ -20,31 +20,7 @@ - set( thirdparty_headers - compose.hpp - randutils.hpp -- Random123/gsl_microrng.h -- Random123/aes.h -- Random123/array.h -- Random123/u01fixedpt.h -- Random123/philox.h -- Random123/threefry.h -- Random123/ars.h -- Random123/conventional/gsl_cbrng.h -- Random123/features/open64features.h -- Random123/features/xlcfeatures.h -- Random123/features/nvccfeatures.h -- Random123/features/metalfeatures.h -- Random123/features/sunprofeatures.h -- Random123/features/sse.h -- Random123/features/pgccfeatures.h -- Random123/features/openclfeatures.h -- Random123/features/iccfeatures.h -- Random123/features/compilerfeatures.h -- Random123/features/clangfeatures.h -- Random123/features/msvcfeatures.h -- Random123/features/gccfeatures.h - ) - - - install( FILES compose.hpp randutils.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nest) --install( DIRECTORY Random123/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nest/Random123 -- FILES_MATCHING PATTERN "*.h" ) --