forked from pool/cadabra2
* Update to version 2.5.2.
* Add _service file to fetch sources from git to allow submodules to be included in tarball. * Add patches to fix build: cadabra2-cmake-correct-python-variable.patch, cadabra2-use-system-pybind11.patch, cadabra2-link-gmp.patch. * Drop cadabra2-link-python.patch: upstreamed. * Drop use of %suse_update_desktop_file: no longer needed. * Drop appdata file included as Source1, bundled files are now installed correctly. * Use python-rpm-macros and setup to build with newer pythons on Leap 15.X (does not yet work due to unavailability of python311-sympy and python311-ipykernel on these distros). OBS-URL: https://build.opensuse.org/package/show/science/cadabra2?expand=0&rev=60
This commit is contained in:
commit
cf94860cd3
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
8
_constraints
Normal file
8
_constraints
Normal file
@ -0,0 +1,8 @@
|
||||
<constraints>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="G">4</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</constraints>
|
||||
|
18
_service
Normal file
18
_service
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0"?>
|
||||
<services>
|
||||
<service name="obs_scm" mode="manual">
|
||||
<param name="url">https://github.com/kpeeters/cadabra2.git</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="revision">2.5.4</param>
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<param name="filename">cadabra2</param>
|
||||
<param name="submodules">enable</param>
|
||||
</service>
|
||||
<service name="tar" mode="buildtime"/>
|
||||
<service name="recompress" mode="buildtime">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">xz</param>
|
||||
</service>
|
||||
<service name="set_version" mode="buildtime"/>
|
||||
</services>
|
||||
|
3
cadabra2-2.4.5.6.tar.gz
Normal file
3
cadabra2-2.4.5.6.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9a3ebe3debd6efdd5f20a3c78acc2ef8933135d5f43da39b6ea107be94a9413c
|
||||
size 26827151
|
3
cadabra2-2.5.4.obscpio
Normal file
3
cadabra2-2.5.4.obscpio
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f130d667383d2504e4b36f468684b86f01730a86051d98d65409f0635e35e3ac
|
||||
size 87038478
|
86
cadabra2-cmake-correct-python-variable.patch
Normal file
86
cadabra2-cmake-correct-python-variable.patch
Normal file
@ -0,0 +1,86 @@
|
||||
Index: cadabra2-2.5.4/CMakeLists.txt
|
||||
===================================================================
|
||||
--- cadabra2-2.5.4.orig/CMakeLists.txt
|
||||
+++ cadabra2-2.5.4/CMakeLists.txt
|
||||
@@ -325,7 +325,7 @@ else()
|
||||
# calling into python's 'site' package (and hoping that the 0th
|
||||
# element is where we should be writing).
|
||||
execute_process(
|
||||
- COMMAND ${PYTHON_EXECUTABLE} -c "import site; print(site.getsitepackages()[0])"
|
||||
+ COMMAND ${Python_EXECUTABLE} -c "import site; print(site.getsitepackages()[0])"
|
||||
OUTPUT_VARIABLE PYTHON_SITE_PATH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
@@ -339,7 +339,7 @@ message(STATUS "Installing Python module
|
||||
# contain the abi name. See
|
||||
# https://www.python.org/dev/peps/pep-3149/
|
||||
execute_process(
|
||||
- COMMAND ${PYTHON_EXECUTABLE} -c "import sysconfig; print(sysconfig.get_config_var('SOABI'))"
|
||||
+ COMMAND ${Python_EXECUTABLE} -c "import sysconfig; print(sysconfig.get_config_var('SOABI'))"
|
||||
OUTPUT_VARIABLE PYTHON_SOABI
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
@@ -350,7 +350,7 @@ set(PYTHON_SITE_PATH_REL ${PYTHON_SITE_P
|
||||
|
||||
if(NOT WIN32)
|
||||
execute_process(
|
||||
- COMMAND ${PYTHON_EXECUTABLE} -c "import site; print (site.getsitepackages()[0]);"
|
||||
+ COMMAND ${Python_EXECUTABLE} -c "import site; print (site.getsitepackages()[0]);"
|
||||
OUTPUT_VARIABLE OLDER_PYTHON_SITE_PATH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
Index: cadabra2-2.5.4/core/cadabra2.in
|
||||
===================================================================
|
||||
--- cadabra2-2.5.4.orig/core/cadabra2.in
|
||||
+++ cadabra2-2.5.4/core/cadabra2.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!${PYTHON_EXECUTABLE}
|
||||
+#!${Python_EXECUTABLE}
|
||||
#
|
||||
# \ingroup pythoncore
|
||||
#
|
||||
@@ -119,8 +119,8 @@ if __name__ == '__main__':
|
||||
|
||||
if len(sys.argv)>1:
|
||||
if '-d' in sys.argv:
|
||||
- #rs = "lldb -ex r --args ${PYTHON_EXECUTABLE} "+sys.argv[0];
|
||||
- rs = "gdb -q -ex r --args ${PYTHON_EXECUTABLE} "+sys.argv[0];
|
||||
+ #rs = "lldb -ex r --args ${Python_EXECUTABLE} "+sys.argv[0];
|
||||
+ rs = "gdb -q -ex r --args ${Python_EXECUTABLE} "+sys.argv[0];
|
||||
for a in sys.argv[1:]:
|
||||
if a!='-d':
|
||||
rs += " "+a
|
||||
Index: cadabra2-2.5.4/jupyterkernel/kernelspec/kernel.json.in
|
||||
===================================================================
|
||||
--- cadabra2-2.5.4.orig/jupyterkernel/kernelspec/kernel.json.in
|
||||
+++ cadabra2-2.5.4/jupyterkernel/kernelspec/kernel.json.in
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"argv": [
|
||||
- "@PYTHON_EXECUTABLE@", "-m", "cadabra2_jupyter", "-f", "{connection_file}"
|
||||
+ "@Python_EXECUTABLE@", "-m", "cadabra2_jupyter", "-f", "{connection_file}"
|
||||
],
|
||||
"display_name":"Cadabra2",
|
||||
"language":"python"
|
||||
Index: cadabra2-2.5.4/tests/CMakeLists.txt
|
||||
===================================================================
|
||||
--- cadabra2-2.5.4.orig/tests/CMakeLists.txt
|
||||
+++ cadabra2-2.5.4/tests/CMakeLists.txt
|
||||
@@ -49,7 +49,7 @@ foreach(NBTEST ${NBTESTS})
|
||||
ARGS ${CNBIN}/${NBTEST}.cnb ${CDBOUT}/${NBTEST}.cdb
|
||||
COMMENT "Creating ${NBTEST} notebook...")
|
||||
add_custom_target("${NBTEST}_test" ALL DEPENDS ${CDBOUT}/${NBTEST}.cdb)
|
||||
- add_test(${NBTEST} ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/core/cadabra2 ${CDBOUT}/${NBTEST}.cdb)
|
||||
+ add_test(${NBTEST} ${Python_EXECUTABLE} ${CMAKE_SOURCE_DIR}/core/cadabra2 ${CDBOUT}/${NBTEST}.cdb)
|
||||
set_tests_properties(${NBTEST} PROPERTIES ENVIRONMENT "PYTHONPATH=${PYTHONPATH};LANG=en_US.UTF-8;LC_ALL=en_US.UTF-8;PYTHONIOENCODING=utf-8")
|
||||
endforeach()
|
||||
|
||||
@@ -100,7 +100,7 @@ if(MATHEMATICA_FOUND)
|
||||
set(RTESTS ${RTESTS} mma)
|
||||
endif()
|
||||
foreach(RTEST ${RTESTS})
|
||||
- add_test(${RTEST} ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/core/cadabra2 ${CMAKE_SOURCE_DIR}/tests/${RTEST}.cdb)
|
||||
+ add_test(${RTEST} ${Python_EXECUTABLE} ${CMAKE_SOURCE_DIR}/core/cadabra2 ${CMAKE_SOURCE_DIR}/tests/${RTEST}.cdb)
|
||||
# We need to set the Python path so that we pick up the correct cadabra2.so Python module
|
||||
# even if we did not do 'make install' yet.
|
||||
set_tests_properties(${RTEST} PROPERTIES ENVIRONMENT "PYTHONPATH=${PYTHONPATH};LANG=en_US.UTF-8;LC_ALL=en_US.UTF-8;PYTHONIOENCODING=utf-8")
|
12
cadabra2-disable-components-test.patch
Normal file
12
cadabra2-disable-components-test.patch
Normal file
@ -0,0 +1,12 @@
|
||||
Index: cadabra2-2.3.9.3/tests/CMakeLists.txt
|
||||
===================================================================
|
||||
--- cadabra2-2.3.9.3.orig/tests/CMakeLists.txt
|
||||
+++ cadabra2-2.3.9.3/tests/CMakeLists.txt
|
||||
@@ -69,7 +69,6 @@ set(RTESTS
|
||||
trigonometric
|
||||
noncovariant
|
||||
algebra
|
||||
- components
|
||||
factor
|
||||
field_theory
|
||||
gamma_paper
|
27
cadabra2-gtk.appdata.xml
Normal file
27
cadabra2-gtk.appdata.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<component>
|
||||
<id>cadabra2-gtk.desktop</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<name>Cadabra 2</name>
|
||||
<project_license>GPL-3.0+</project_license>
|
||||
<summary>A computer algebra system for problems in field theory</summary>
|
||||
<url type="homepage">http://cadabra.science/</url>
|
||||
<description>
|
||||
<p>Cadabra2 is a computer algebra system (CAS) designed specifically for
|
||||
the solution of problems encountered in field theory.</p>
|
||||
<p>It has been designed specifically for the solution of problems encountered
|
||||
in quantum and classical field theory. It has extensive functionality
|
||||
for tensor computer algebra, tensor polynomial simplification
|
||||
including multi-term symmetries, fermions and anti-commuting
|
||||
variables, Clifford algebras and Fierz transformations, implicit
|
||||
coordinate dependence, multiple index types and many more. The input
|
||||
format is a subset of TeX.</p>
|
||||
</description>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image height="1440" width="1192">https://cadabra.science/static/images/screenshot.png</image>
|
||||
<caption>Gamma matrix algebra in a Cadabra2 notebook</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<update_contact>info@cadabra.science</update_contact>
|
||||
</component>
|
14
cadabra2-link-gmp.patch
Normal file
14
cadabra2-link-gmp.patch
Normal file
@ -0,0 +1,14 @@
|
||||
Index: cadabra2-2.5.4/core/packages/CMakeLists.txt
|
||||
===================================================================
|
||||
--- cadabra2-2.5.4.orig/core/packages/CMakeLists.txt
|
||||
+++ cadabra2-2.5.4/core/packages/CMakeLists.txt
|
||||
@@ -67,7 +67,7 @@ foreach(PACKAGE ${COMPILED_PACKAGES})
|
||||
set_target_properties(${PNAME} PROPERTIES SUFFIX ".${PYTHON_MOD_SUFFIX}")
|
||||
set_target_properties(${PNAME} PROPERTIES INSTALL_RPATH "$ORIGIN/../../:$ORIGIN/../../../../")
|
||||
|
||||
- target_link_libraries(${PNAME} PUBLIC cadabra2 ${GMPXX_LIBRARIES})
|
||||
+ target_link_libraries(${PNAME} PUBLIC cadabra2 ${GMPXX_LIBRARIES} ${GMP_LIBRARIES})
|
||||
target_include_directories(${PNAME} PUBLIC ${CADABRA_CORE_DIR})
|
||||
|
||||
if(IPO_SUPPORTED)
|
||||
|
27
cadabra2-link-python.patch
Normal file
27
cadabra2-link-python.patch
Normal file
@ -0,0 +1,27 @@
|
||||
Index: cadabra2-2.4.5.6/core/CMakeLists.txt
|
||||
===================================================================
|
||||
--- cadabra2-2.4.5.6.orig/core/CMakeLists.txt
|
||||
+++ cadabra2-2.4.5.6/core/CMakeLists.txt
|
||||
@@ -294,7 +294,7 @@ target_link_libraries(cadabra2 PRIVATE
|
||||
${GMPXX_LIBRARIES}
|
||||
${GMP_LIBRARIES}
|
||||
${Boost_LIBRARIES}
|
||||
-# ${PYTHON_LIBRARIES}
|
||||
+ ${PYTHON_LIBRARIES}
|
||||
# ${GLIBMM3_LIBRARIES}
|
||||
)
|
||||
|
||||
Index: cadabra2-2.4.5.6/core/packages/CMakeLists.txt
|
||||
===================================================================
|
||||
--- cadabra2-2.4.5.6.orig/core/packages/CMakeLists.txt
|
||||
+++ cadabra2-2.4.5.6/core/packages/CMakeLists.txt
|
||||
@@ -66,8 +66,7 @@ foreach(PACKAGE ${COMPILED_PACKAGES})
|
||||
set_target_properties(${PNAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/cdb/${PINSTALL}")
|
||||
set_target_properties(${PNAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/cdb/${PINSTALL}")
|
||||
set_target_properties(${PNAME} PROPERTIES SUFFIX ".${PYTHON_MOD_SUFFIX}")
|
||||
-
|
||||
- target_link_libraries(${PNAME} PUBLIC cadabra2 ${GMPXX_LIBRARIES})
|
||||
+ target_link_libraries(${PNAME} PUBLIC cadabra2 ${PYTHON_LIBRARIES} ${GMPXX_LIBRARIES} ${GMP_LIBRARIES})
|
||||
target_include_directories(${PNAME} PUBLIC ${CADABRA_CORE_DIR})
|
||||
|
||||
if(IPO_SUPPORTED)
|
20
cadabra2-use-system-pybind11.patch
Normal file
20
cadabra2-use-system-pybind11.patch
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
CMakeLists.txt | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: cadabra2-2.5.4/CMakeLists.txt
|
||||
===================================================================
|
||||
--- cadabra2-2.5.4.orig/CMakeLists.txt
|
||||
+++ cadabra2-2.5.4/CMakeLists.txt
|
||||
@@ -297,7 +297,10 @@ set(PYTHON_POSTFIX "3")
|
||||
# message(STATUS "Building for use with Python 3 (good!)")
|
||||
|
||||
find_package(Python COMPONENTS Interpreter Development)
|
||||
-add_subdirectory(libs/pybind11)
|
||||
+find_package(pybind11 CONFIG)
|
||||
+if (NOT pybind11_FOUND)
|
||||
+ add_subdirectory(libs/pybind11)
|
||||
+endif()
|
||||
|
||||
message(STATUS "Found python ${PYTHON_LIBRARIES}")
|
||||
#find_package (Python COMPONENTS Interpreter)
|
514
cadabra2.changes
Normal file
514
cadabra2.changes
Normal file
@ -0,0 +1,514 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 12 04:32:18 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.5.2:
|
||||
* Fix simplification of pow nodes.
|
||||
* Make ExNode iterators skip nodes hidden by zoom.
|
||||
* Fix canonicalise acting on expressions with
|
||||
self-anticommuting objects and derivatives.
|
||||
* Fix crash when comparing with empty expressions.
|
||||
* Make zoom accept a list of patterns.
|
||||
* Fix bugs in getting Weight values from Python, and setting
|
||||
multipliers in Python.
|
||||
* Add LaTeXString object to display LaTeX formatted strings on
|
||||
capable frontends.
|
||||
* Fix a bug with canonicalise acting on vector-spinor objects.
|
||||
* Enable the use of Unicode greek characters as input (which
|
||||
will get converted to LaTeX automatically) to enable
|
||||
cut-n-paste in the terminal.
|
||||
* Fix handling of multi-line expressions (newlines now count as
|
||||
a whitespace).
|
||||
* Fix canonicalise to allow for factors which are sums, as long
|
||||
as these do not have indices.
|
||||
* Ability to use builtin MicroTeX for typesetting (the default
|
||||
in 2.5.x), which removes the requirement to have a LaTeX
|
||||
installation.
|
||||
* Experimental AppImages now available for Linux on both x86-64
|
||||
and aarch64 architectures.
|
||||
* Removed deprecated GTK-3 features and cleaned up the UI.
|
||||
* Fix bug in code to interrupt a running computation.
|
||||
* Added dynamical cell updates, e.g. to create animations.
|
||||
- Add _service file to fetch sources from git to allow submodules
|
||||
to be included in tarball.
|
||||
- Add patches to fix build:
|
||||
* cadabra2-cmake-correct-python-variable.patch: Use correct
|
||||
variable from FindPython, i.e. Python_EXECUTABLE, not
|
||||
PYTHON_EXECUTABLE (gh#kpeeters/cadabra2#309).
|
||||
* cadabra2-use-system-pybind11.patch: Allow use of system
|
||||
pybind11 (gh#kpeeters/cadabra2#310).
|
||||
* cadabra2-link-gmp.patch: Explicitly link to gmp library.
|
||||
- Drop cadabra2-link-python.patch: upstreamed.
|
||||
- Drop use of %suse_update_desktop_file: no longer needed.
|
||||
- Drop appdata file included as Source1, bundled files are now
|
||||
installed correctly.
|
||||
- Use python-rpm-macros and setup to build with newer pythons on
|
||||
Leap 15.X (does not yet work due to unavailability of
|
||||
python311-sympy and python311-ipykernel on these distros).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 18 19:37:14 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.4.5.6:
|
||||
* Allow setting PYTHON_SITE_PATH manually.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 25 18:20:58 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.4.5.4:
|
||||
* Improvements to the zoom algorithm.
|
||||
* Bug fixes.
|
||||
- Require python3 >= 3.8.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 17 10:51:15 UTC 2023 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Make examples and doc packages noarch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 10 21:57:56 UTC 2023 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.4.4.1:
|
||||
* Update to fix issues with pybind11 and to avoid cmake
|
||||
warnings.
|
||||
- Drop testing on 32-bit systems due to tolerance errors in a
|
||||
test (gh#kpeeters/cadabra2#280).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 7 08:00:00 UTC 2022 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.4.3.2:
|
||||
* Add missing canonicalisation of rationals when simplifying
|
||||
powers.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 6 12:54:33 UTC 2022 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.4.2.4:
|
||||
* Minor update to fix issues with Python 3.11.
|
||||
- Changes from version 2.4.2.0:
|
||||
* Added package cdb.graphics.plot for easy plotting.
|
||||
* Added package cdb.sympy.calculus for use of SymPy calculus
|
||||
functions on Cadabra expressions.
|
||||
* Expanded nevaluate to numerically evaluate more expressions.
|
||||
* Various small bug fixes and enhancements.
|
||||
- For %check, set working dir as HOME to allow tests that try to
|
||||
write config files to home dir to work without perm issues.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Oct 9 16:35:12 UTC 2022 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.4.0.2:
|
||||
* Release to accompany the "meld" paper.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 4 14:23:29 UTC 2022 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.3.9.3
|
||||
* Several fixes to meld (Dominic).
|
||||
* Make typesetting run in a separate thread to prevent the UI
|
||||
from feeling sluggish.
|
||||
* Some changes in the behaviour of list addition/multiplication,
|
||||
to match Mathematica's behaviour.
|
||||
* New nevaluate algorithm for fast numerical evaluation of
|
||||
expressions (work-in-progress).
|
||||
* Fix for Python 3.10.x.
|
||||
* Fix for automatic cleanup of Diagonal objects.
|
||||
* Fix crash with tab-completion.
|
||||
- Changes from version 2.3.8:
|
||||
* Option to display negative powers as fractions (Dominic).
|
||||
* New algorithm slot_asym to (anti-)symmetrise objects in
|
||||
indices by giving index positions instead of names.
|
||||
* New functionality to implement algorithms in Python (Dominic).
|
||||
* Faster re-implementation of get_component using new C++
|
||||
function modules (Dominic).
|
||||
* New cdb.numeric.evaluate and cdb.numeric.integrate modules to
|
||||
evaluate expressions numerically or integrate differential
|
||||
equations numerically (Dominic).
|
||||
* Updates to cdb.utils.indices and cdb.core.manip.
|
||||
* Add warnings functionality to the kernel (Dominic).
|
||||
* Add infrastructure to let algorithms display progress
|
||||
information while running (Dominic).
|
||||
* Add cell cursor position to status bar (Dominic).
|
||||
* Fix bug in expand_delta when the delta occurs at top-level in
|
||||
an expression.
|
||||
* Many meld fixes and improvements (Dominic).
|
||||
* Fix handling of auto-declare names (names with a '#'
|
||||
character).
|
||||
* Keep LaTeX log/aux files on error to aid debugging.
|
||||
* Fix LaTeX code to avoid some global variable name clashes.
|
||||
* Fix for compilation on Apple silicon.
|
||||
- Add cadabra2-link-python.patch: Link against python shared lib
|
||||
where necessary to avoid linking failures.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 14 01:09:07 UTC 2021 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.3.6.8:
|
||||
* Add forgotten file to sources.
|
||||
- Changes from version 2.3.6.4 and 2.3.6.6:
|
||||
* Do not remove latex log/aux files on error.
|
||||
* Fix glib linker error for cadabra-cli
|
||||
* Fix meld error where terms with different names but same index
|
||||
structure were melded.
|
||||
* Add more functionality to cdb.core.node.
|
||||
* Fix handling of auto-declare names ('A#'); these were not
|
||||
matched correctly to numbered names ('A18').
|
||||
* Fix vcpkg changing 'libintl' to 'intl'.
|
||||
* Optimise AdjformEx to use int32_t instead of mpq_class.
|
||||
* Handle Diagonal objects with symbolic (as opposed to numeric)
|
||||
indices.
|
||||
* Remove old-style gauge theory package.
|
||||
* Disable mathematica support by default.
|
||||
- Require jupyter-jupyter_core-filesystem for openSUSE >= 1550 for
|
||||
the appropriate rpm macros.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 5 18:54:07 UTC 2021 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.3.6.2:
|
||||
* Fix a linker error for the xeus jupyter kernel.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 31 15:34:53 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.3.6.1:
|
||||
* Once further change to the installation path of cadabra2.so
|
||||
module, to conform to Debian policies.
|
||||
* Fix display of lists containing Ex objects.
|
||||
* Fix import of Jupyter notebooks.
|
||||
* Fix bug related to automatic dummy index relabelling.
|
||||
* Fix tab-completion.
|
||||
- Exclude tests that try to write config files to home dir; since
|
||||
the `%ctest` macro does not accept additional options, run ctest
|
||||
manually.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 17 13:09:12 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.3.5:
|
||||
* Relocate cadabra module to python_sitelib instead of
|
||||
python_sitearch.
|
||||
- Add cadabra2-disable-components-test.patch: Disable a test that
|
||||
crashes in the buildroot env -- but not in a user session -- for
|
||||
unknown reasons (gh#kpeeters/cadabra2#212).
|
||||
- Enable tests since gh#kpeeters/cadabra2#211 is now resolved.
|
||||
- Add python3 to Requires for cadabra2.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 1 09:55:08 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.3.2:
|
||||
* Fixed bug in pattern matching logic used in
|
||||
integrate_by_parts.
|
||||
* Fixed bug which would prevent assignment to node multiplier
|
||||
from Python.
|
||||
* Tab-completion on command line and in the notebook.
|
||||
* Install the cadabra2 python module in a standard location.
|
||||
* Fixes for the Mathematica scalar backend.
|
||||
* Make expand_delta much faster when the Kronecker delta is
|
||||
contracted with objects which have anti-symmetry.
|
||||
* Make meld work correctly with non/anti-commuting objects.
|
||||
* Make numbered indices like a1 display with a subscript
|
||||
automatically a<sub>1</sub>.
|
||||
* Provide pickle functionality for expressions.
|
||||
* Fixes for compatibility with newer SymPy versions.
|
||||
* Added a 'find' function in the notebook, to search input
|
||||
cells.
|
||||
* New Jupyter kernel (enabled by default) which does not require
|
||||
Xeus.
|
||||
* Various improvements and fixed for handling and display of
|
||||
Young tableaux.
|
||||
* Added ExNode::ex() to obtain an Ex object from an ExNode
|
||||
iterator.
|
||||
- Drop patches incorporated upstream:
|
||||
* cadabra2-python-modules-location.patch.
|
||||
* Fix-linking-of-cadabra-module.patch.
|
||||
- Split out a separate package - jupyter-cadabra2-kernel - for the
|
||||
new jupyter notebook kernel.
|
||||
- Fix typo in `ENABLE_SYSTEM_JSONCPP` option passed to `%cmake`.
|
||||
- Set up but disable building and running tests until issues with
|
||||
the test-suite are sorted out [gh#kpeeters/cadabra2#211,
|
||||
gh#kpeeters/cadabra2#212].
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 28 20:52:48 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Refresh Fix-linking-of-cadabra-module.patch with fix for same
|
||||
issue committed upstream [gh#kpeeters/cadabra2#202].
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 9 22:19:27 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.3.0:
|
||||
* Fix bug which would collect powers of objects with indices and
|
||||
then report an error.
|
||||
* Functionality to read Cadabra Cloud notebooks into the desktop
|
||||
Cadabra.
|
||||
* Use a better hash function for expression trees (avoiding a
|
||||
bug in factor_in).
|
||||
* Expose index symmetries through traces, so that canonicalise
|
||||
and related algorithms work correctly. Introduced a new
|
||||
property TableauInherit.
|
||||
* More flexible LaTeXForm property, to enable more flexible
|
||||
object display in the notebook.
|
||||
* Various fixes for behaviour of unwrap with anti- or
|
||||
non-commuting arguments.
|
||||
* New meld algorithm for canonicalisation.
|
||||
- Drop cadabra2-add-pthread-to-cxxflags.patch: No longer required
|
||||
for building.
|
||||
- Add cadabra2-python-modules-location.patch to fix location of
|
||||
python libs and modules (gh#kpeeters/cadabra2#203).
|
||||
- Rebase Fix-linking-of-cadabra-module.patch for update; only
|
||||
partially fixed by upstream (gh#kpeeters/cadabra2#202).
|
||||
- Remove a hashbang from a non-executable script.
|
||||
- Use %{name}-%{version} naming format for source.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 4 01:21:06 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||
|
||||
- Update to version 2.2.8:
|
||||
* More versatile handling of Trace, including sorting using
|
||||
cyclic symmetry (Connor).
|
||||
* Fixes for combine (Connor).
|
||||
* Save command-line history (Connor).
|
||||
* Make imported notebooks use the default post_process function.
|
||||
* Make unwrap move scalars out of exterior (wedge) products, see
|
||||
this Q&A post.
|
||||
* Fix bug with indices with accents (github/166).
|
||||
* Added a cadabra2latex command to convert notebooks to LaTeX.
|
||||
* Fixed issue building with latest Homebrew on macOS.
|
||||
* Fixed Windows build issues and add python path settings at
|
||||
runtime.
|
||||
* Fixed bug with multipliers not reducing to canonical form.
|
||||
- Add Fix-linking-of-cadabra-module.patch
|
||||
- Remove timestamps from Doxygen generated HTML files, drop
|
||||
obsolete cadabra2-rpmlintrc
|
||||
- Use system jsoncpp
|
||||
- Drop conditionals for obsolete distro versions
|
||||
- Remove lots of unused/obsolete TeX BuildRequires.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 25 09:24:38 UTC 2019 - Atri Bhattacharya <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.2.7:
|
||||
* Added cdb.utils.develop and cdb.relativity.abstract.
|
||||
* Added authentication token to all client-server communication.
|
||||
* Various extensions to the Trace property.
|
||||
* Make property info available from Python (Dominic).
|
||||
* Fixed integration by parts with index-less derivatives.
|
||||
* Added eliminate_vielbein.
|
||||
* Fixed display of lists of sympy expressions.
|
||||
* Fixed (finally) UTF8 input for non-English symbols.
|
||||
|
||||
- Update to 2.2.6
|
||||
* Experimental notebook diff viewer (Dominic).
|
||||
* Warn when about to overwrite an existing notebook.
|
||||
* Improvements for HiDPI screens especially on macOS.
|
||||
* Fix crash in sym/asym.
|
||||
* Fix undo/redo crash in notebook when deleting cells.
|
||||
* Improvements to the cdb.core.manip package (Dominic).
|
||||
* Fix in young_project_tensor.
|
||||
* Fix pattern matching for anti-commuting factors.
|
||||
* Added explicit_indices to convert expressions with
|
||||
implicit indices to their explicit form.
|
||||
* Add option to build a Jupyter kernel.
|
||||
* Fix bug in split_index (acted on wrong parts of expressions).
|
||||
* Fix bug with substitute not checking constraints for
|
||||
single-factor patterns.
|
||||
* Add partial option to substitute to require that products or sums
|
||||
match all terms, not just a partial sum or partial product.
|
||||
|
||||
- Refresh cadabra2-add-pthread-to-cxxflags.patch for version
|
||||
update, no effective changes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 15 14:17:41 UTC 2019 - Atri B <badshah400@gmail.com>
|
||||
|
||||
- Update to version 2.2.5:
|
||||
* Interim bug fix release with fixes for upcoming Debian as well
|
||||
as the new explicit_indices algorithm.
|
||||
- Move man files to the correct _mandir.
|
||||
- Minor cleanups using spec-cleaner.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 25 08:44:42 UTC 2019 - badshah400@gmail.com
|
||||
|
||||
- Update to version 2.2.4:
|
||||
* Minor bug fixes.
|
||||
- Rebase cadabra2-add-pthread-to-cxxflags.patch for minor changes
|
||||
to source CMakeLists.txt file.
|
||||
- Use make doc instead of running doxygen directly.
|
||||
- Drop commented out commands to generate PDF documentation.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 30 07:11:16 UTC 2018 - guillaume.gardet@opensuse.org
|
||||
|
||||
- Disable explicitly mathematica option (fix archs not supported by
|
||||
Mathematica, such as AArch64)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 9 01:46:11 UTC 2018 - badshah400@gmail.com
|
||||
|
||||
- BuildRequires: libboost_date_time-devel instead of
|
||||
BuildRequires: libboost_date_time1_66_0-devel, and only for
|
||||
openSUSE > 1320; boost-devel in its entirety is already required
|
||||
for older versions.
|
||||
- gcc-c++ >= 4.9 now required.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 30 10:21:17 UTC 2018 - badshah400@gmail.com
|
||||
|
||||
- Update to version 2.2.0:
|
||||
* Experimental support for modifying the expression tree
|
||||
directly from Python (see e.g. Fourier transforms).
|
||||
* Fix for integration by parts (gh#kpeeters/cadabra2#71)
|
||||
* Fix for incorrect conversion to sympy expressions.
|
||||
* Optionally build with support for Mathematica scalar backend;
|
||||
see map_mma.
|
||||
* Many bugfixes for expression display and sympy conversion.
|
||||
* Now using pybind instead of boost.python, in preparation for
|
||||
* Windows port, and to enable building against Anaconda.
|
||||
* Copy/paste of output cells added.
|
||||
* New simplify command, which simplifies the scalar parts of
|
||||
expressions, and can be switched to use either Sympy or
|
||||
Mathematica.
|
||||
* Fix to treat derivatives with respect to explicit coordinates
|
||||
as scalars in evaluate; see this Q&A post.
|
||||
* Fix for failure to flag errors for WeightInherit property.
|
||||
* Fixed: vary on single-term expressions
|
||||
* (gh#kpeeters/cadabra2#57)
|
||||
* Fixed: evaluate with dense factors and no 'values' property on
|
||||
indices (gh#kpeeters/cadabra2#68)
|
||||
- Rename and rebase cadabra2-2.1.7.patch to
|
||||
cadabra2-add-pthread-to-cxxflags.patch.
|
||||
- Add BuildRequires: libboost_date_time1_66_0-devel, new
|
||||
dependency with version 2.2.0.
|
||||
- All python bindings are now required to be installed in
|
||||
_datadir.
|
||||
- New binary cadabra2cadabra.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 2 21:21:57 UTC 2018 - stefan.bruens@rwth-aachen.de
|
||||
|
||||
- Add a memory _constraints, builds fail with less than 4 GByte
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 27 22:08:29 UTC 2018 - badshah400@gmail.com
|
||||
|
||||
- Disable building LaTeX-based PDF documentation until build
|
||||
failures are fixed.
|
||||
- For the -gui package use post(un) scriptlets only for openSUSE
|
||||
<= 1320; for newer openSUSE, these are handled by rpm triggers
|
||||
automatically.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 29 08:33:37 UTC 2017 - kkaempf@suse.com
|
||||
|
||||
- fix build, add -pthread to CMAKE_CXX_FLAGS
|
||||
added cadabra2-2.1.7.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 22 09:19:49 UTC 2017 - badshah400@gmail.com
|
||||
|
||||
- Update to version 2.1.7:
|
||||
* Another interim release to fix bugs and sort out the build
|
||||
process on new distros.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 2 09:19:33 UTC 2017 - badshah400@gmail.com
|
||||
|
||||
- Update to version 2.1.5:
|
||||
* Interim release to get a number of bug fixes out to everyone,
|
||||
and to use as basis for binary packages for several new
|
||||
distributions.
|
||||
- Drop cadabra2-cmake-error.patch; fixed upstream.
|
||||
- Fix Group for cadabra2-doc-pdf: Documentation/PDF doesn't exist,
|
||||
use Documentation/Other
|
||||
- Change hashbang "/usr/bin/env python3" to "/usr/bn/python3".
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 11 12:04:47 UTC 2017 - badshah400@gmail.com
|
||||
|
||||
- Refresh source tarball from upstream: upstream might have pushed
|
||||
out a new tarball without changes to the versioning, making the
|
||||
source validator service complain about the mismatch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 6 18:20:17 UTC 2017 - badshah400@gmail.com
|
||||
|
||||
- Update to version 2.1.5:
|
||||
* Interim release with as its main feature the map_sympy command
|
||||
which makes it much easier to apply sympy algorithms to
|
||||
component expressions.
|
||||
- Drop cadabra2-include-functional-header.patch; fixed upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 20 22:52:55 UTC 2017 - badshah400@gmail.com
|
||||
|
||||
- Add an appdata file and install it to /usr/share/metainfo;
|
||||
BuildRequires on appstream-glib added.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 25 11:26:09 UTC 2017 - badshah400@gmail.com
|
||||
|
||||
- Add cadabra2-include-functional-header.patch: Explicitly include
|
||||
the <functional> header in core/Functional.hh to fix building on
|
||||
openSUSE > 1320; apply without conditionals as it doesn't hurt
|
||||
to have this generally.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 23 12:14:41 UTC 2017 - badshah400@gmail.com
|
||||
|
||||
- BuildRequires: texlive-epstopdf instead of texlive-epstopdf-bin
|
||||
to fix build failures on Leap 42.1.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 23 07:24:59 UTC 2017 - badshah400@gmail.com
|
||||
|
||||
- Update to version 2.1.4:
|
||||
* Enable packages to be written using Cadabra notation, instead
|
||||
of only pure Python (still experimental).
|
||||
* Young tableaux properties Tableau and FilledTableau the
|
||||
related algorithm lr_tensor are available again.
|
||||
* Sorting Majorana spinors possible again using sort_spinors.
|
||||
* Extended rename_dummies with capability to rename indices to
|
||||
different set.
|
||||
* Make vary work on powers of expressions with dummy indices.
|
||||
* Substitution of sub-sums now available (e.g. substitute of
|
||||
A+B=C in ex:=A+B+C+D).
|
||||
* Improved LaTeX export to make printed notebooks look much
|
||||
better.
|
||||
* Many improvements to the component engine, in particular for
|
||||
handling of derivatives and fractions involving tensors.
|
||||
* Better line spacing for line-wrapped equations.
|
||||
* Smarter scroll-to-cell behaviour of the notebook.
|
||||
* Canonicalising expressions with component values for indices
|
||||
now works again.
|
||||
* The unwrap algorithm can now be guided about what to unwrap,
|
||||
and also knows about spinors and Dirac bars.
|
||||
* Experimental support to use Cadabra directly from C++ code, as
|
||||
a library (see the c++lib directory).
|
||||
* Fixes for using a custom post_process defined as a function
|
||||
nested inside another.
|
||||
* Rudimentary timing logic, try server.totals();
|
||||
* Fixed: pasting text in the notebook sometimes double-pastes.
|
||||
* Fixed: split_index does not work properly on left- and
|
||||
right-hand side of equations.
|
||||
* Fixed: sort_product does not always sort expressions.
|
||||
* Fixed: eliminate_metric only acts at top level of an
|
||||
expression, should have deep=True by default.
|
||||
* Fixed: a bug which would lead to a segfault when using
|
||||
deep=True.
|
||||
- Rebase cadabra2-cmake-error.patch for version update.
|
||||
- Add %{name}-rpmlintrc file to suppress warnings about the
|
||||
presence of "__DATE__" and/or "__TIME__" in generated html files
|
||||
for documentation (%{name}-doc).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 17 09:09:44 UTC 2017 - badshah400@gmail.com
|
||||
|
||||
- Initial package.
|
||||
- Add cadabra2-cmake-error.patch to make sure CMakeLists.txt
|
||||
invokes "execute_process" instead of "execute"; fixes build
|
||||
failures.
|
||||
|
4
cadabra2.obsinfo
Normal file
4
cadabra2.obsinfo
Normal file
@ -0,0 +1,4 @@
|
||||
name: cadabra2
|
||||
version: 2.5.4
|
||||
mtime: 1723292700
|
||||
commit: 940443b1e78b2b191caa23307c74703202bedf13
|
239
cadabra2.spec
Normal file
239
cadabra2.spec
Normal file
@ -0,0 +1,239 @@
|
||||
#
|
||||
# spec file for package cadabra2
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
# Disable testing for 32-bit due to invalid free issue in test canonicalise: https://github.com/kpeeters/cadabra2/issues/280
|
||||
%ifarch %ix86
|
||||
%bcond_with tests
|
||||
%else
|
||||
%bcond_without tests
|
||||
%endif
|
||||
%{?sle15_python_module_pythons}
|
||||
%if 0%{?suse_version} > 1650
|
||||
%global pythons python3
|
||||
%endif
|
||||
Name: cadabra2
|
||||
Version: 2.5.4
|
||||
Release: 0
|
||||
Summary: A computer algebra system for solving problems in field theory
|
||||
License: GPL-3.0-or-later
|
||||
Group: Productivity/Scientific/Math
|
||||
URL: https://cadabra.science/
|
||||
Source0: %{name}-%{version}.tar.xz
|
||||
# PATCH-FIX-UPSTREAM cadabra2-disable-components-test.patch gh#kpeeters/cadabra2#212 badshah400@gmail.com -- Disable a test that crashes for unknown reasons
|
||||
Patch0: cadabra2-disable-components-test.patch
|
||||
# PATCH-FIX-UPSTREAM cadabra2-link-gmp.patch badshah400@gmail.com -- Link against gmp shared lib explicitly
|
||||
Patch1: cadabra2-link-gmp.patch
|
||||
# PATCH-FIX-UPSTREAM cadabra2-use-system-pybind11.patch gh#kpeeters/cadabra2#310 badshah400@gmail.com -- Allow use of system pybind11, fall back to bundled sources if not found
|
||||
Patch2: cadabra2-use-system-pybind11.patch
|
||||
# PATCH-FIX-UPSTREAM cadabra2-cmake-correct-python-variable.patch gh#kpeeters/cadabra2#309 badshah400@gmail.com -- Use correct variable set by cmake FindPython, i.e. Python_EXECUTABLE, not PYTHON_EXECUTABLE
|
||||
Patch3: cadabra2-cmake-correct-python-variable.patch
|
||||
BuildRequires: %{python_module devel >= 3.9}
|
||||
BuildRequires: %{python_module gobject-devel}
|
||||
BuildRequires: %{python_module ipykernel}
|
||||
BuildRequires: %{python_module matplotlib}
|
||||
BuildRequires: %{python_module pybind11-devel}
|
||||
BuildRequires: %{python_module sympy}
|
||||
BuildRequires: appstream-glib
|
||||
BuildRequires: cmake
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: gcc-c++ >= 4.9
|
||||
BuildRequires: gmp-devel
|
||||
BuildRequires: hicolor-icon-theme
|
||||
BuildRequires: libboost_date_time-devel
|
||||
BuildRequires: libboost_filesystem-devel
|
||||
BuildRequires: libboost_headers-devel
|
||||
BuildRequires: libboost_program_options-devel
|
||||
BuildRequires: libboost_python3-devel
|
||||
BuildRequires: libboost_regex-devel
|
||||
BuildRequires: libboost_system-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: pcre-devel
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(gtkmm-3.0)
|
||||
BuildRequires: pkgconfig(jsoncpp)
|
||||
BuildRequires: pkgconfig(sqlite3)
|
||||
Requires: python3 >= 3.8
|
||||
Recommends: %{name}-doc
|
||||
%if 0%{?suse_version} >= 1550
|
||||
BuildRequires: jupyter-jupyter_core-filesystem
|
||||
%endif
|
||||
# SECTION For test
|
||||
%if %{with tests}
|
||||
BuildRequires: %{python_module gmpy2}
|
||||
%endif
|
||||
# /SECTION
|
||||
Recommends: %{name}-examples
|
||||
|
||||
%description
|
||||
Cadabra2 is a computer algebra system (CAS) designed specifically for
|
||||
the solution of problems encountered in field theory. It has extensive
|
||||
functionality for tensor computer algebra, tensor polynomial
|
||||
simplification including multi-term symmetries, fermions and
|
||||
anti-commuting variables, Clifford algebras and Fierz transformations,
|
||||
implicit coordinate dependence, multiple index types and many more.
|
||||
The input format is a subset of TeX. Both a command-line and a
|
||||
graphical interface are available.
|
||||
|
||||
Key features of Cadabra2:
|
||||
- Input and output using TeX notation.
|
||||
- Designed for field-theory problems, with handling of anti-commuting
|
||||
and non-commuting objects without special notations for their
|
||||
products, gamma matrix algebra, Fierz identities, Dirac conjugation,
|
||||
vielbeine, flat and curved, covariant and contravariant indices,
|
||||
implicit dependence of tensors on coordinates, partial and covariant
|
||||
derivatives...
|
||||
- Powerful tensor simplification algorithms, not just for mono-term
|
||||
symmetries but also for multi-terms symmetries like the Bianchi
|
||||
identity, or dimensionally-dependent symmetries like the Schouten
|
||||
identity.
|
||||
|
||||
%package gui
|
||||
Summary: GUI for cadabra2: computer algebra system for problems in field theory
|
||||
Group: Productivity/Scientific/Math
|
||||
Requires: %{name} = %{version}
|
||||
Obsoletes: cadabra < 2.0
|
||||
Provides: cadabra = %{version}
|
||||
|
||||
%description gui
|
||||
Cadabra2 is a computer algebra system (CAS) designed specifically for
|
||||
the solution of problems encountered in field theory.
|
||||
|
||||
This package provides the GUI for %{name} and it's desktop menu integration.
|
||||
|
||||
%package examples
|
||||
Summary: A computer algebra system for solving problems in field theory
|
||||
Group: Productivity/Scientific/Math
|
||||
Requires: %{name} = %{version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description examples
|
||||
Cadabra2 is a computer algebra system (CAS) designed specifically for
|
||||
the solution of problems encountered in field theory.
|
||||
|
||||
This package provides examples for %{name}.
|
||||
|
||||
%package doc
|
||||
Summary: A computer algebra system for solving problems in field theory
|
||||
Group: Documentation/HTML
|
||||
Obsoletes: cadabra-doc < 2.0
|
||||
Provides: cadabra-doc = %{version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description doc
|
||||
Cadabra2 is a computer algebra system (CAS) designed specifically for
|
||||
the solution of problems encountered in field theory.
|
||||
|
||||
This package provides html documentation for %{name}.
|
||||
|
||||
%package -n jupyter-cadabra2-kernel
|
||||
Summary: Jupyter kernel for cadabra2
|
||||
Group: Productivity/Scientific/Math
|
||||
Requires: %{name} = %{version}
|
||||
Requires: jupyter-notebook
|
||||
|
||||
%description -n jupyter-cadabra2-kernel
|
||||
Cadabra2 is a computer algebra system (CAS) designed specifically for
|
||||
the solution of problems encountered in field theory.
|
||||
|
||||
This package provides a jupyter kernel for %{name}.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
rm examples/.gitignore
|
||||
# Remove timestamps from Doxygen HTML files
|
||||
echo "HTML_TIMESTAMP = NO" >> config/Doxyfile
|
||||
# REMOVE HASHBANG FROM NON-EXEC SCRIPT
|
||||
sed -i "1{/#!\/usr\/bin\/env python/d}" libs/appdirs/cdb_appdirs.py
|
||||
|
||||
%build
|
||||
%{python_expand #
|
||||
%cmake \
|
||||
-DCMAKE_MANDIR:PATH=%{_mandir} \
|
||||
-DINSTALL_LATEX_DIR:PATH=%{_datadir}/texmf \
|
||||
-DENABLE_FRONTEND:BOOL=ON \
|
||||
-DENABLE_SYSTEM_JSONCPP:BOOL=ON \
|
||||
-DENABLE_MATHEMATICA:BOOL=OFF \
|
||||
-DBUILD_TESTS:BOOL=%{?with_tests:ON}%{!?with_tests:OFF} \
|
||||
-DPython_EXECUTABLE=%{_bindir}/$python \
|
||||
%{nil}
|
||||
}
|
||||
|
||||
%cmake_build
|
||||
cd ..
|
||||
%make_build doc
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/texmf/tex/latex/cadabra2/
|
||||
ln %{buildroot}%{_datadir}/cadabra2/latex/* %{buildroot}%{_datadir}/texmf/tex/latex/cadabra2/
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
export PATH=${PATH}:%{buildroot}%{_bindir}
|
||||
export PYTHONDONTWRITEBYTECODE=1
|
||||
# Set HOME to current dir to allow tests that try to
|
||||
# write config files to home dir to run without perm issues
|
||||
export HOME=`pwd`
|
||||
%ctest
|
||||
%endif
|
||||
|
||||
%files
|
||||
%doc README.rst
|
||||
%license doc/license.txt
|
||||
%{_bindir}/cadabra2cadabra
|
||||
%{_bindir}/cadabra2latex
|
||||
%{_bindir}/cadabra-server
|
||||
%{_bindir}/cdb-nbtool
|
||||
%{_bindir}/%{name}
|
||||
%{_bindir}/%{name}-cli
|
||||
%{_bindir}/%{name}ipynb
|
||||
%{_bindir}/%{name}python
|
||||
%{_bindir}/%{name}html
|
||||
%{_datadir}/%{name}/
|
||||
%{_datadir}/texmf
|
||||
%{python3_sitearch}/cadabra2*.so
|
||||
%{python3_sitearch}/cadabra2_defaults.py
|
||||
%{python3_sitearch}/cdb_appdirs.py
|
||||
%{python3_sitearch}/cdb/
|
||||
%{_mandir}/man1/cadabra*.1%{?ext_man}
|
||||
|
||||
%files gui
|
||||
%license doc/license.txt
|
||||
%{_bindir}/%{name}-gtk
|
||||
%{_datadir}/icons/hicolor/*/apps/cadabra2-gtk.*
|
||||
%{_datadir}/applications/*.cadabra2-gtk.desktop
|
||||
%dir %{_datadir}/metainfo
|
||||
%{_datadir}/metainfo/*.appdata.xml
|
||||
|
||||
%files -n jupyter-cadabra2-kernel
|
||||
%license doc/license.txt
|
||||
%{python3_sitearch}/cadabra2_jupyter/
|
||||
%{python3_sitearch}/notebook/
|
||||
%{_jupyter_kernel_dir}/cadabra2/
|
||||
|
||||
%files examples
|
||||
%doc examples/
|
||||
|
||||
%files doc
|
||||
%doc doxygen/html
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user