mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-22 19:44:21 +01:00
academic/cadabra2: Added (field-theory motivated computer algebra).
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
This commit is contained in:
parent
6a41b790cf
commit
8c5f20ab59
5 changed files with 175 additions and 0 deletions
10
academic/cadabra2/README
Normal file
10
academic/cadabra2/README
Normal file
|
@ -0,0 +1,10 @@
|
|||
Cadabra is a symbolic 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,
|
||||
component computations, implicit coordinate dependence, multiple index
|
||||
types and many more. The input format is a subset of TeX. Programmable
|
||||
in Python. Both a command-line and a graphical interface are available.
|
||||
|
||||
Optional runtime dependencies are matplotlib, mpmath, and sympy.
|
115
academic/cadabra2/cadabra2.SlackBuild
Normal file
115
academic/cadabra2/cadabra2.SlackBuild
Normal file
|
@ -0,0 +1,115 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Slackware build script for cadabra2
|
||||
|
||||
# Copyright 2017, Alexander Verbovetsky, Moscow, Russia
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use of this script, with or without modification, is
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of this script must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
PRGNAM=cadabra2
|
||||
VERSION=${VERSION:-2.1.6}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
case "$( uname -m )" in
|
||||
i?86) ARCH=i586 ;;
|
||||
arm*) ARCH=arm ;;
|
||||
*) ARCH=$( uname -m ) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
CWD=$(pwd)
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
if [ "$ARCH" = "i586" ]; then
|
||||
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "i686" ]; then
|
||||
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "x86_64" ]; then
|
||||
SLKCFLAGS="-O2 -fPIC"
|
||||
LIBDIRSUFFIX="64"
|
||||
else
|
||||
SLKCFLAGS="-O2"
|
||||
LIBDIRSUFFIX=""
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf $PKG
|
||||
mkdir -p $TMP $PKG $OUTPUT
|
||||
cd $TMP
|
||||
rm -rf $PRGNAM-$VERSION
|
||||
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
|
||||
cd $PRGNAM-$VERSION
|
||||
chown -R root:root .
|
||||
find -L . \
|
||||
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
|
||||
-o -perm 511 \) -exec chmod 755 {} \; -o \
|
||||
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
|
||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
||||
|
||||
# workaround for https://github.com/kpeeters/cadabra2/issues/12
|
||||
# (caused by https://github.com/zaphoyd/websocketpp/issues/587)
|
||||
sed --in-place \
|
||||
-e 's/listen(lib::asio::ip::tcp::v6(),/listen(lib::asio::ip::tcp::v4(),/' \
|
||||
client_server/websocketpp/websocketpp/transport/asio/endpoint.hpp
|
||||
|
||||
sed --in-place \
|
||||
-e "s/\(LIBRARY DESTINATION lib\)/\1${LIBDIRSUFFIX}/" \
|
||||
client_server/CMakeLists.txt \
|
||||
frontend/common/CMakeLists.txt
|
||||
|
||||
sed --in-place \
|
||||
-e '/^execute_process(COMMAND texhash)$/d' \
|
||||
frontend/latex/install.cmake
|
||||
|
||||
sed --in-place \
|
||||
-e '/^install(CODE\s\+"execute_process(COMMAND \(touch\|gtk-update-icon-cache.*\|chmod go+r\) ${ICON_PREFIX}\/share\/icons\/hicolor\(\|\/icon-theme\.cache\))")$/d' \
|
||||
frontend/gtkmm/CMakeLists.txt
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake \
|
||||
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DUSE_PYTHON_3=OFF \
|
||||
-DCMAKE_BUILD_TYPE=Release ..
|
||||
make
|
||||
make install DESTDIR=$PKG
|
||||
cd ..
|
||||
|
||||
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
|
||||
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
||||
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a doc examples README.rst $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
mkdir -p $PKG/install
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
cat $CWD/doinst.sh > $PKG/install/doinst.sh
|
||||
|
||||
cd $PKG
|
||||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
|
10
academic/cadabra2/cadabra2.info
Normal file
10
academic/cadabra2/cadabra2.info
Normal file
|
@ -0,0 +1,10 @@
|
|||
PRGNAM="cadabra2"
|
||||
VERSION="2.1.6"
|
||||
HOMEPAGE="http://cadabra.science"
|
||||
DOWNLOAD="http://downloads.sourceforge.net/slackbuildsdirectlinks/cadabra2-2.1.6.tar.gz"
|
||||
MD5SUM="7c25d51d17deb7e2ea8f45eb6091e728"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES=""
|
||||
MAINTAINER="Alexander Verbovetsky"
|
||||
EMAIL="alik@ejik.org"
|
21
academic/cadabra2/doinst.sh
Normal file
21
academic/cadabra2/doinst.sh
Normal file
|
@ -0,0 +1,21 @@
|
|||
if [ -x /usr/bin/update-desktop-database ]; then
|
||||
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ -x /usr/bin/update-mime-database ]; then
|
||||
/usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
|
||||
if [ -x /usr/bin/gtk-update-icon-cache ]; then
|
||||
/usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -x /usr/bin/mktexlsr ]; then
|
||||
chroot . /usr/bin/mktexlsr >/dev/null 2>&1
|
||||
else
|
||||
if [ -x /usr/share/texmf/bin/mktexlsr ]; then
|
||||
chroot . /usr/share/texmf/bin/mktexlsr >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
19
academic/cadabra2/slack-desc
Normal file
19
academic/cadabra2/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
|||
# HOW TO EDIT THIS FILE:
|
||||
# The "handy ruler" below makes it easier to edit a package description.
|
||||
# Line up the first '|' above the ':' following the base package name, and
|
||||
# the '|' on the right side marks the last column you can put a character in.
|
||||
# You must make exactly 11 lines for the formatting to be correct. It's also
|
||||
# customary to leave one space after the ':' except on otherwise blank lines.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
cadabra2: cadabra2 (a field-theory motivated approach to computer algebra)
|
||||
cadabra2:
|
||||
cadabra2: Cadabra is a symbolic computer algebra system designed specifically
|
||||
cadabra2: for the solution of problems encountered in field theory. The input
|
||||
cadabra2: format is a subset of TeX. Programmable in Python. Both a
|
||||
cadabra2: command-line and a graphical interface are available.
|
||||
cadabra2:
|
||||
cadabra2: Homepage: http://cadabra.science
|
||||
cadabra2:
|
||||
cadabra2: Development: https://github.com/kpeeters/cadabra2
|
||||
cadabra2:
|
Loading…
Reference in a new issue