summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD83
1 files changed, 83 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..64d517a582bf
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,83 @@
+# Maintainer: Tomas Pecka <peckato1 at fit dot cvut dot cz>
+
+pkgname=('algorithms-library-git' 'algorithms-library-gui-git')
+pkgbase='algorithms-library-git'
+_pkgbase='automata-library'
+
+pkgver=0.0.0.r515.gc4bc905a4
+pkgrel=1
+
+pkgdesc='Theoretical computer science datastructures and algorithms implementation. The library provides graphical and console interface similar to bash with many classical algorithms manipulating automata, grammars, regular expressions, trees and strings.'
+arch=('x86_64' 'armv7' 'i686')
+url='https://gitlab.fit.cvut.cz/algorithms-library-toolkit/'
+license=('GPL')
+
+makedepends=('python3' 'cmake' 'gcc>=7.3.1' 'make' 'tclap' 'libxml2' 'qt5-base>=5.7' 'graphviz' 'jsoncpp' 'git')
+checkdepends=()
+
+source=("$_pkgbase::git+https://gitlab.fit.cvut.cz/algorithms-library-toolkit/automata-library.git")
+sha256sums=('SKIP')
+validpgpkeys=()
+
+pkgver() {
+ cd "$_pkgbase"
+ git describe --long --tags --match="v*" | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+prepare() {
+ cd "$_pkgbase"
+
+ #patch -p1 -i "$srcdir/$pkgname-$pkgver.patch"
+
+ mkdir -p build
+}
+
+build() {
+ cd "$_pkgbase/build"
+ python ../CMake/generate.py -wm
+ cmake .. \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+check() {
+ cd "$_pkgbase/build"
+ make test ARGS="--output-on-failure"
+}
+
+package_algorithms-library-git() {
+ depends=('tclap' 'libxml2' 'readline')
+ optdepends=('graphviz: Visualize data structures')
+ provides=('algorithms-library')
+ conflicts=('algorithms-library')
+
+ cd "$_pkgbase/build"
+ make DESTDIR="$pkgdir" install
+
+ # remove gui parts
+ mkdir -p gui/usr/lib gui/usr/bin gui/usr/include/algorithms-library
+
+ # move binaries
+ mv -f $pkgdir/usr/bin/agui2 gui/usr/bin
+
+ # move libraries
+ mv -f $pkgdir/usr/lib/libalib2gui* gui/usr/lib
+
+ # move includes
+ pushd ../alib2gui/src
+ for file in $(find . -name "*.h" -o -name "*.hpp"); do
+ mkdir -p $(dirname "../../build/gui/usr/include/algorithms-library/$file")
+ mv $pkgdir/usr/include/algorithms-library/$file ../../build/gui/usr/include/algorithms-library/$file
+ done
+ popd
+}
+
+package_algorithms-library-gui-git() {
+ depends=('libxml2' 'qt5-base>=5.7' 'graphviz' 'jsoncpp' "algorithms-library-git>=$pkgver" "algorithms-library-git<=$pkgver")
+ provides=('algorithms-library-gui')
+ conflicts=('algorithms-library-gui')
+
+ cd "$_pkgbase/build"
+ mv gui/* $pkgdir
+}