SHA256
1
0
forked from pool/cadabra2

Accepting request 490019 from home:badshah400:branches:science

[Sorry for the multiple subs] New package: cadabra2 -- A CAS for solving problems in field theory (intended to replace cadabra)

OBS-URL: https://build.opensuse.org/request/show/490019
OBS-URL: https://build.opensuse.org/package/show/science/cadabra2?expand=0&rev=1
This commit is contained in:
Ismail Dönmez 2017-05-03 16:08:41 +00:00 committed by Git OBS Bridge
commit 1861c7a451
7 changed files with 344 additions and 0 deletions

23
.gitattributes vendored Normal file
View 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
View File

@ -0,0 +1 @@
.osc

3
2.1.4.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:89a8dc02f41fcb1061007fc87034975ba2a249ea8e03b2e5f035b8a123459559
size 4475773

View File

@ -0,0 +1,13 @@
Index: cadabra2-2.1.4/CMakeLists.txt
===================================================================
--- cadabra2-2.1.4.orig/CMakeLists.txt
+++ cadabra2-2.1.4/CMakeLists.txt
@@ -17,7 +17,7 @@ endif()
if(GIT_COMMIT_DATE)
set(CADABRA_VERSION_DATE "${GIT_COMMIT_DATE}")
else()
- execute(COMMAND date -I OUTPUT_VARIABLE THE_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process(COMMAND date -I OUTPUT_VARIABLE THE_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
set(CADABRA_VERSION_DATE "${THE_DATE}")
endif()
message("-- Building ${CADABRA_VERSION_MAJOR}.${CADABRA_VERSION_MINOR}.${CADABRA_VERSION_PATCH}")

2
cadabra2-rpmlintrc Normal file
View File

@ -0,0 +1,2 @@
# More than a thousand warnings about doxygen generated html doc files
addFilter("cadabra2-doc.* file-contains-date-and-time")

56
cadabra2.changes Normal file
View File

@ -0,0 +1,56 @@
-------------------------------------------------------------------
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.

246
cadabra2.spec Normal file
View File

@ -0,0 +1,246 @@
#
# spec file for package cadabra2
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: cadabra2
Version: 2.1.4
Release: 0
Summary: A computer algebra system for solving problems in field theory
License: GPL-3.0+
Group: Productivity/Scientific/Math
Url: http://cadabra.science/
Source0: https://github.com/kpeeters/cadabra2/archive/%{version}.tar.gz
Source1: %{name}-rpmlintrc
# PATCH-FIX-UPSTREAM cadabra2-cmake-error.patch badshah400@gmail.com -- Cmake needs to call "execute_process" instead of "execute"; fixes build failures
Patch0: cadabra2-cmake-error.patch
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: gmp-devel
BuildRequires: hicolor-icon-theme
BuildRequires: libuuid-devel
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: texlive-dvipng
BuildRequires: texlive-dvipng-bin
BuildRequires: texlive-epstopdf
BuildRequires: texlive-latex-bin
BuildRequires: texlive-makeindex-bin
BuildRequires: texlive-metafont-bin
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtkmm-3.0)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: tex(8r.enc)
BuildRequires: tex(adjustbox.sty)
BuildRequires: tex(caption.sty)
BuildRequires: tex(colortbl.sty)
BuildRequires: tex(fancyhdr.sty)
BuildRequires: tex(float.sty)
BuildRequires: tex(geometry.sty)
BuildRequires: tex(helvet.sty)
BuildRequires: tex(hyperref.sty)
BuildRequires: tex(multirow.sty)
BuildRequires: tex(natbib.sty)
BuildRequires: tex(pcrr8t.tfm)
BuildRequires: tex(phvr8t.tfm)
BuildRequires: tex(psyr.tfm)
BuildRequires: tex(sectsty.sty)
BuildRequires: tex(tabu.sty)
BuildRequires: tex(textcomp.sty)
BuildRequires: tex(tocloft.sty)
BuildRequires: tex(wasy7.tfm)
BuildRequires: tex(wasysym.sty)
BuildRequires: tex(xtab.sty)
BuildRequires: tex(zptmcm7t.tfm) tex(rsfs10.tfm)
Requires(post): texlive-kpathsea-bin
Requires(postun): texlive-kpathsea-bin
Recommends: %{name}-doc
Recommends: %{name}-examples
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1320
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: python3-devel
BuildRequires: python3-matplotlib
BuildRequires: python3-sympy
%else
BuildRequires: boost-devel
BuildRequires: python-devel
BuildRequires: python-matplotlib
BuildRequires: python-sympy
%endif
%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}
%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}
%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 doc-pdf
Summary: A computer algebra system for solving problems in field theory
# FIXME: use correct group, see "https://en.opensuse.org/openSUSE:Package_group_guidelines"
Group: Documentation/PDF
%description doc-pdf
Cadabra2 is a computer algebra system (CAS) designed specifically for
the solution of problems encountered in field theory.
This package provides documentation in the form of a PDF file for %{name}.
%prep
%setup -q
%patch0 -p1
%build
mkdir build && pushd build
# FIXME: you should use %%cmake macro but it doesn't work
cmake \\\
-DCMAKE_INSTALL_PREFIX=%{_prefix} \\\
-DPACKAGING_MODE=ON \\\
%if 0%{?suse_version} <= 1320
-DUSE_PYTHON_3=OFF \\\
%endif
-DINSTALL_LATEX_DIR=%{_datadir}/texmf \\\
-DENABLE_FRONTEND=ON \\\
..
make %{?_smp_mflags}
popd
doxygen
pushd doxygen/latex
make %{?_smp_mflags}
popd
%install
%cmake_install DESTDIR=%{buildroot}
%suse_update_desktop_file cadabra2-gtk
%post
%{_bindir}/texhash
/sbin/ldconfig
%post gui
%icon_theme_cache_post
%desktop_database_post
%postun
%{_bindir}/texhash
/sbin/ldconfig
%postun gui
%icon_theme_cache_postun
%desktop_database_postun
%files
%defattr(-,root,root)
%doc README.rst doc/license.txt
%{_bindir}/cadabra-server
%{_bindir}/%{name}
%{_bindir}/%{name}python
%{_bindir}/%{name}html
%if 0%{?suse_version} > 1320
%{python3_sitearch}/cdb
%{python3_sitearch}/cadabra2.so
%{python3_sitearch}/cadabra2_defaults.py
%else
%{python_sitearch}/cdb
%{python_sitearch}/cadabra2.so
%{python_sitearch}/cadabra2_defaults.py
%endif
%{_datadir}/%{name}/
%{_libexecdir}/*.so
%{_datadir}/texmf/tex/latex/cadabra2/
%files gui
%defattr(-,root,root)
%{_bindir}/%{name}-gtk
%{_datadir}/icons/hicolor/*/apps/cadabra2-gtk.*
%{_datadir}/applications/cadabra2-gtk.desktop
%files examples
%defattr(-,root,root)
%doc examples/
%files doc
%defattr(-,root,root)
%doc doxygen/html
%files doc-pdf
%defattr(-,root,root)
%doc doxygen/latex/refman.pdf
%changelog