diff options
-rw-r--r-- | .SRCINFO | 64 | ||||
-rw-r--r-- | .gitignore | 9 | ||||
-rw-r--r-- | PKGBUILD | 177 | ||||
-rwxr-xr-x | csl | 4 | ||||
-rw-r--r-- | qreduce-file-location.patch | 39 | ||||
-rw-r--r-- | qreduce.desktop | 8 | ||||
-rwxr-xr-x | redcsl | 4 | ||||
-rw-r--r-- | redcsl.desktop | 9 | ||||
-rwxr-xr-x | redpsl | 16 | ||||
-rw-r--r-- | reduce-addons-svn.install | 30 | ||||
-rw-r--r-- | reduce-csl-svn.install | 11 |
11 files changed, 371 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..1a9fbec29703 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,64 @@ +# Generated by mksrcinfo v8 +# Sun Dec 20 13:10:06 UTC 2015 +pkgbase = reduce-svn + pkgver = 20151220.3311 + pkgrel = 1 + url = http://reduce-algebra.sourceforge.net/ + arch = i686 + arch = x86_64 + groups = science + license = BSD + makedepends = subversion + makedepends = texlive-htmlxml + makedepends = imagemagick + depends = ncurses + depends = libxext + depends = libxrandr + depends = libxft + depends = freetype2 + depends = expat + depends = libx11 + depends = libxcursor + source = reduce::svn+http://svn.code.sf.net/p/reduce-algebra/code/trunk + source = csl + source = redcsl + source = redpsl + source = redcsl.desktop + source = qreduce.desktop + source = qreduce-file-location.patch + sha256sums = SKIP + sha256sums = 5a6065ef28bc64e38cc5c7e9c3ce5145c273e3ea7e7c073d8417a4d94fa6bafe + sha256sums = 9724e19545f181f6456e30bc1eff837cb708678f162a939b45f23627ad50c46c + sha256sums = 3d383ac93cb831a5a142395e76a9c275dc7e49dc150763610869e56e5a795e65 + sha256sums = 22c7c510fba9ec2bcb8f476af0c96055a915a31f34c01ece43ff21d0dfa9dd0d + sha256sums = 9dce4d401c759c933ebc3ffbe0eff86150f04829ca10a9fd6f6faba4498f47ad + sha256sums = e387eada63c3e15cb75f5f5a5060491831f607d93c7f97b30262fc30cf1ebea3 + +pkgname = reduce-csl-svn + pkgdesc = REDUCE Computer Algebra System -- CSL version + install = reduce-csl-svn.install + depends = reduce-common + provides = reduce-csl + conflicts = reduce-csl + conflicts = reduce-algebra + +pkgname = reduce-psl-svn + pkgdesc = REDUCE Computer Algebra System -- PSL version + depends = reduce-common + provides = reduce-psl + conflicts = reduce-psl + +pkgname = reduce-common-svn + pkgdesc = REDUCE Computer Algebra System -- common files + provides = reduce-common + conflicts = reduce-common + +pkgname = reduce-addons-svn + pkgdesc = Useful addons for the REDUCE Computer Algebra System + install = reduce-addons-svn.install + optdepends = reduce-csl: REDUCE Computer Algebra System + optdepends = reduce-psl: REDUCE Computer Algebra System + optdepends = python2-pyside: for QT-based GUI + provides = reduce-addons + conflicts = reduce-addons + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..6865c5e8d084 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +# Vim +*~ +*.swp + +# Makepkg +*.pkg.tar.xz +/pkg/ +/src/ +/reduce diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..c844b3ae3133 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,177 @@ +# Maintainer: serkho <sergey.khorev@gmail.com> +# adopted from reduce-algebra by quasi <quasi@aur.archlinux.org> +# Contributor: wangjiezhe <wangjiezhe AT yandex DOT com> + +pkgbase=reduce-svn +_pkgbase=reduce +pkgname=(reduce-csl-svn reduce-psl-svn reduce-common-svn reduce-addons-svn) +pkgver=20151220.3311 +pkgrel=1 +arch=('i686' 'x86_64') +url="http://reduce-algebra.sourceforge.net/" +license=('BSD') +groups=('science') +makedepends=('subversion' 'texlive-htmlxml' 'imagemagick') # for documentation +depends=('ncurses' 'libxext' 'libxrandr' 'libxft' 'freetype2' 'expat' 'libx11' 'libxcursor') +source=("${_pkgbase}::svn+http://svn.code.sf.net/p/reduce-algebra/code/trunk" + 'csl' 'redcsl' 'redpsl' + 'redcsl.desktop' 'qreduce.desktop' + 'qreduce-file-location.patch') +sha256sums=('SKIP' + '5a6065ef28bc64e38cc5c7e9c3ce5145c273e3ea7e7c073d8417a4d94fa6bafe' + '9724e19545f181f6456e30bc1eff837cb708678f162a939b45f23627ad50c46c' + '3d383ac93cb831a5a142395e76a9c275dc7e49dc150763610869e56e5a795e65' + '22c7c510fba9ec2bcb8f476af0c96055a915a31f34c01ece43ff21d0dfa9dd0d' + '9dce4d401c759c933ebc3ffbe0eff86150f04829ca10a9fd6f6faba4498f47ad' + 'e387eada63c3e15cb75f5f5a5060491831f607d93c7f97b30262fc30cf1ebea3') + +pkgver() { + cd ${srcdir}/${_pkgbase} + svn info | awk '/Revision/{r=$2}/Date/{gsub(/-/,"");d=$4}END{print d"."r}' +} + +prepare() { + rm -rf "${srcdir}/${_pkgbase}-build" + svn export "${srcdir}/${_pkgbase}" "${srcdir}/${_pkgbase}-build" + #svn export --force "${srcdir}/${_pkgbase}" "${srcdir}/${_pkgbase}-build" + + cd "${srcdir}/${_pkgbase}-build" + patch -Np0 -i "${srcdir}/qreduce-file-location.patch" +} + +build() { + cd "${srcdir}/${_pkgbase}-build" + ./configure --with-csl + ./configure --with-psl + make -j1 + (cd generic/redfront && make -j1) + (cd generic/casefold && cc casefold.c -o casefold) + (cd generic/libreduce && make PYTHON=/usr/bin/python2 -j1) + (cd generic/emacs && makeinfo reduce-ide.texinfo) +} + +package_reduce-csl-svn() { + depends=('reduce-common') + provides=('reduce-csl') + conflicts=('reduce-csl' 'reduce-algebra') + pkgdesc='REDUCE Computer Algebra System -- CSL version' + #pkgdesc="A portable general-purpose computer algebra system (CSL version)" + install=reduce-csl-svn.install + + install -Dm755 redcsl ${pkgdir}/usr/bin/redcsl + install -Dm755 csl ${pkgdir}/usr/bin/csl + install -Dm644 redcsl.desktop ${pkgdir}/usr/share/applications/redcsl.desktop + + cd "${srcdir}/${_pkgbase}-build" + + install -Dm644 cslbuild/generated-c/reduce.img ${pkgdir}/usr/lib/reduce/cslbuild/csl/reduce.img + install -Dm644 cslbuild/generated-c/csl.img ${pkgdir}/usr/lib/reduce/cslbuild/csl/csl.img + + install -d ${pkgdir}/usr/lib/reduce/cslbuild/csl + install -d ${pkgdir}/usr/share/reduce/ + + install -t ${pkgdir}/usr/lib/reduce/cslbuild/csl/ cslbuild/${CARCH}-unknown-linux-gnu/csl/{csl,reduce} + + cp -r cslbuild/${CARCH}-unknown-linux-gnu/csl/reduce.resources ${pkgdir}/usr/lib/reduce/cslbuild/csl/ + cp -r cslbuild/${CARCH}-unknown-linux-gnu/csl/reduce.fonts ${pkgdir}/usr/share/reduce/fonts + + install -Dm644 debianbuild/reduce/debian/copyright ${pkgdir}/usr/share/doc/reduce-csl/copyright + install -Dm644 debianbuild/reduce/debian/redcsl.1 ${pkgdir}/usr/share/man/man1/redcsl.1 + + cd "${pkgdir}/usr/lib/reduce/cslbuild/csl" + ln -s ../../../../share/reduce/fonts reduce.fonts + + cd "${pkgdir}/usr/share/reduce" + ln -s ../../lib/reduce/cslbuild +} + +package_reduce-psl-svn() { + depends=('reduce-common') + provides=('reduce-psl') + conflicts=('reduce-psl') + pkgdesc='REDUCE Computer Algebra System -- PSL version' + + install -D redpsl ${pkgdir}/usr/bin/redpsl + + cd "${srcdir}/${_pkgbase}-build" + + install -d ${pkgdir}/usr/lib/reduce/pslbuild + install -d ${pkgdir}/usr/share/reduce + + cp -r pslbuild/${CARCH}-unknown-linux-gnu/{psl,red} ${pkgdir}/usr/lib/reduce/pslbuild/ + + install -Dm644 debianbuild/reduce/debian/copyright ${pkgdir}/usr/share/doc/reduce-psl/copyright + install -Dm644 debianbuild/reduce/debian/redpsl.1 ${pkgdir}/usr/share/man/man1/redpsl.1 + + cd "${pkgdir}/usr/share/reduce" + ln -s ../../lib/reduce/pslbuild +} + +package_reduce-common-svn() { + provides=('reduce-common') + conflicts=('reduce-common') + pkgdesc='REDUCE Computer Algebra System -- common files' + + cd "${srcdir}/${_pkgbase}-build" + + install -d ${pkgdir}/usr/share/reduce/doc + + cp -r packages ${pkgdir}/usr/share/reduce/ + + install -Dm644 debianbuild/reduce/debian/copyright ${pkgdir}/usr/share/doc/reduce-common/copyright + + cp -r doc/{manual,manual2,misc,primers,util} ${pkgdir}/usr/share/reduce/doc + + install -Dm644 generic/qreduce/Bumblebee.png ${pkgdir}/usr/share/icons/redcsl.png +} + +package_reduce-addons-svn() { + provides=('reduce-addons') + conflicts=('reduce-addons') + pkgdesc='Useful addons for the REDUCE Computer Algebra System' + optdepends=( + 'reduce-csl: REDUCE Computer Algebra System' + 'reduce-psl: REDUCE Computer Algebra System' + 'python2-pyside: for QT-based GUI' + ) + install=reduce-addons-svn.install + + cd "${srcdir}/${_pkgbase}-build" + + install -d ${pkgdir}/usr/lib/reduce + install -d ${pkgdir}/usr/share/doc/reduce-addons + install -d ${pkgdir}/usr/share/emacs/site-lisp/reduce + + install -D generic/redfront/${CARCH}-unknown-linux-gnu/redfront/redfront ${pkgdir}/usr/bin/redfront + install -Dm644 generic/redfront/src/redfront.1 ${pkgdir}/usr/share/man/man1/redfront.1 + + install -D generic/breduce/breduce ${pkgdir}/usr/bin/breduce + install -Dm644 generic/breduce/breduce.1 ${pkgdir}/usr/share/man/man1/breduce.1 + install -t ${pkgdir}/usr/share/doc/reduce-addons generic/breduce/breduce.{bbl,pdf,tex} + + install -D generic/casefold/casefold ${pkgdir}/usr/bin/casefold + install -Dm644 generic/casefold/README ${pkgdir}/usr/share/doc/reduce-addons/README.casefold + + install -t ${pkgdir}/usr/lib/reduce generic/libreduce/${CARCH}-unknown-linux-gnu/{libreduce.so,RedPy.so} + + cp -r generic/qreduce ${pkgdir}/usr/share/ + + install -t ${pkgdir}/usr/share/emacs/site-lisp/reduce generic/emacs/reduce-{mode,run}.el + install -Dm644 generic/emacs/reduce-ide.texinfo ${pkgdir}/usr/share/doc/reduce-addons/reduce-ide.texinfo + install -Dm644 generic/emacs/README ${pkgdir}/usr/share/doc/reduce-addons/README.emacs + install -Dm644 generic/emacs/reduce-ide.info ${pkgdir}/usr/share/info/reduce-ide.info + + cd "${pkgdir}/usr/bin" + ln -s redfront rfcsl + ln -s redfront rfpsl + ln -s ../share/qreduce/qreduce.py qreduce + + cd "${pkgdir}/usr/share/man/man1" + ln -s redfront.1 rfcsl.1 + ln -s redfront.1 rfpsl.1 + + cd "${pkgdir}/usr/share/qreduce" + ln -s ../../lib/reduce/RedPy.so +} + +# vim:set ts=2 sw=2 et: @@ -0,0 +1,4 @@ +#! /bin/sh + +exec /usr/lib/reduce/cslbuild/csl/csl $* + diff --git a/qreduce-file-location.patch b/qreduce-file-location.patch new file mode 100644 index 000000000000..9bd84b1c209e --- /dev/null +++ b/qreduce-file-location.patch @@ -0,0 +1,39 @@ +diff -ur generic.orig/libreduce/Makefile generic/libreduce/Makefile +--- generic.orig/libreduce/Makefile 2015-12-19 20:41:15.750461410 +0800 ++++ generic/libreduce/Makefile 2015-12-19 20:41:21.805483683 +0800 +@@ -21,7 +21,7 @@ + autoheader + mkdir -p $(BUILD); \ + cd $(BUILD); \ +- ../src/configure --disable-universal; \ ++ ../src/configure --disable-universal --disable-logfile; \ + make + + clean: +diff -ur generic.orig/qreduce/qreduce.py generic/qreduce/qreduce.py +--- generic.orig/qreduce/qreduce.py 2015-12-19 20:41:15.750461410 +0800 ++++ generic/qreduce/qreduce.py 2015-12-19 20:41:21.806483686 +0800 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python2 + # ---------------------------------------------------------------------- + # $Id: qreduce.py 2640 2014-08-12 02:04:01Z thomas-sturm $ + # ---------------------------------------------------------------------- +diff -ur generic.orig/qreduce/qrmodel.py generic/qreduce/qrmodel.py +--- generic.orig/qreduce/qrmodel.py 2015-12-19 20:41:15.750461410 +0800 ++++ generic/qreduce/qrmodel.py 2015-12-19 21:01:22.187907281 +0800 +@@ -59,13 +59,6 @@ + + from subprocess import Popen, PIPE + +-here = os.path.dirname(os.path.realpath(__file__)) +-p = Popen("%s/../../config.guess" % here, stdout=PIPE, stderr=PIPE) +-config_guess, err = p.communicate() +-p = Popen(["%s/../../scripts/findhost.sh" % here, config_guess], stdout=PIPE, stderr=PIPE) +-arch, err = p.communicate() +-sys.path.append("%s/../libreduce/%s" % (here, arch.rstrip())) +- + from RedPy import procNew, procDelete, ansNew, ansDelete + + +Only in generic/qreduce: .ropeproject diff --git a/qreduce.desktop b/qreduce.desktop new file mode 100644 index 000000000000..9f4a603348ac --- /dev/null +++ b/qreduce.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=QReduce +Comment=Qt-based worksheet GUI for Reduce +Icon=/usr/share/qreduce/Bumblebee.png +Type=Application +Categories=Education;Science;Math; +Exec=qreduce +Terminal=true diff --git a/redcsl b/redcsl new file mode 100755 index 000000000000..6ba46442a034 --- /dev/null +++ b/redcsl @@ -0,0 +1,4 @@ +#! /bin/sh + +exec /usr/lib/reduce/cslbuild/csl/reduce $* + diff --git a/redcsl.desktop b/redcsl.desktop new file mode 100644 index 000000000000..2ccfb3af42f8 --- /dev/null +++ b/redcsl.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Redcsl +GenericName=Reduce Algebra System (CSL version) +Comment=A portable general-purpose computer algebra system (CSL version) +Icon=redcsl +Type=Application +Categories=Education;Science;Math; +Exec=redcsl +Terminal=true diff --git a/redpsl b/redpsl new file mode 100755 index 000000000000..0589336486ce --- /dev/null +++ b/redpsl @@ -0,0 +1,16 @@ +#! /bin/sh + +case `uname -m` in +i*) + STORE=16000000 + ;; +x86_64) + STORE=1000 + ;; +esac + +bin="/usr/lib/reduce/pslbuild/psl/bpsl" +img="/usr/lib/reduce/pslbuild/red/reduce.img" + +exec $bin -td $STORE -f $img $* + diff --git a/reduce-addons-svn.install b/reduce-addons-svn.install new file mode 100644 index 000000000000..544f71b9beea --- /dev/null +++ b/reduce-addons-svn.install @@ -0,0 +1,30 @@ +infodir=/usr/share/info +filelist=(reduce-ide.info) + +post_install() { + update-desktop-database -q + for file in "${filelist[@]}"; do + install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null + done + while read; do printf '%s\n' "$REPLY"; done <<- EOF + Warning! This package requires the REDUCE Computer Algebra System + that is available in one of the packages in the optdepends array! + It will not work without one of those! +EOF +} + +post_upgrade() { + update-desktop-database -q + for file in "${filelist[@]}"; do + install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null + done +} + +pre_remove() { + update-desktop-database -q + for file in "${filelist[@]}"; do + install-info --delete "$infodir/$file.gz" "$infodir/dir" 2> /dev/null + done +} + +# vim:set ts=2 sw=2 et: diff --git a/reduce-csl-svn.install b/reduce-csl-svn.install new file mode 100644 index 000000000000..e111ef946053 --- /dev/null +++ b/reduce-csl-svn.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} |