blob: 231691a4b5a545b477cc9c191ab51bd76cc6a63a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
pkgname=kathara
pkgver=3.7.6
pkgrel=1
pkgdesc="A lightweight container-based network emulation tool."
arch=('any')
url="https://www.kathara.org/"
license=('GPL3')
install="kathara.install"
changelog="kathara.changelog"
makedepends=(
'python'
'chrpath'
'patchelf'
'make'
'ruby-ronn-ng'
)
optdepends=(
'docker: for running network scenarios in a local environment'
'xterm: for opening devices terminals'
'tmux: for devices terminals multiplexing'
)
source=("https://github.com/KatharaFramework/Kathara/archive/refs/tags/$pkgver.tar.gz")
md5sums=('SKIP')
prepare() {
python3 -m venv $srcdir/venv
$srcdir/venv/bin/pip install --upgrade setuptools
$srcdir/venv/bin/pip install -r $srcdir/Kathara-$pkgver/src/requirements.txt
$srcdir/venv/bin/pip install -r $srcdir/Kathara-$pkgver/scripts/autocompletion/requirements.txt
$srcdir/venv/bin/pip install nuitka==2.3.3
$srcdir/venv/bin/pip install pytest
}
build() {
cd $srcdir/Kathara-$pkgver/docs && make roff-build
cd $srcdir/Kathara-$pkgver/scripts/autocompletion/ && $srcdir/venv/bin/python generate_autocompletion.py $srcdir/Kathara-$pkgver/scripts/autocompletion/kathara.bash-completion
cd $srcdir/Kathara-$pkgver/ && $srcdir/venv/bin/python -m pytest tests
cd $srcdir/Kathara-$pkgver/src/ && $srcdir/venv/bin/python -m nuitka --lto=yes --plugin-enable=pylint-warnings --plugin-enable=multiprocessing --follow-imports --standalone --include-plugin-directory=Kathara --output-filename=kathara kathara.py
}
package() {
for man_file in $srcdir/Kathara-$pkgver/docs/Roff/*; do \
man_file_dir="man${man_file: -1}"; \
[[ -d $srcdir/Kathara-$pkgver/docs/Roff/$man_file_dir ]] || mkdir $srcdir/Kathara-$pkgver/docs/Roff/$man_file_dir; \
mv -f $man_file $srcdir/Kathara-$pkgver/docs/Roff/$man_file_dir; \
done;
install -d -m 755 $pkgdir/usr/share/man
cp -r $srcdir/Kathara-$pkgver/docs/Roff/* $pkgdir/usr/share/man/
install -d -m 755 $pkgdir/etc/bash_completion.d/
install -p -m 644 $srcdir/Kathara-$pkgver/scripts/autocompletion/kathara.bash-completion $pkgdir/etc/bash_completion.d/
rm -f $srcdir/Kathara-$pkgver/src/kathara.dist/libbz2.so.1.0
rm -f $srcdir/Kathara-$pkgver/src/kathara.dist/libexpat.so.1
rm -f $srcdir/Kathara-$pkgver/src/kathara.dist/libtinfo.so.6
rm -f $srcdir/Kathara-$pkgver/src/kathara.dist/libz.so.1
rm -f $srcdir/Kathara-$pkgver/src/kathara.dist/libtinfo.so.5
rm -f $srcdir/Kathara-$pkgver/src/kathara.dist/libcrypto.so.1.1
install -d $pkgdir/usr/lib/$pkgname
install -p -m 644 $srcdir/Kathara-$pkgver/src/kathara.dist/*.so* $pkgdir/usr/lib/$pkgname/
install -p -m 755 $srcdir/Kathara-$pkgver/src/kathara.dist/kathara $pkgdir/usr/lib/$pkgname/
install -d -m 755 $pkgdir/usr/lib/$pkgname/certifi
install -p -m 644 $srcdir/Kathara-$pkgver/src/kathara.dist/certifi/* $pkgdir/usr/lib/$pkgname/certifi/
install -d -m 755 $pkgdir/usr/lib/$pkgname/pyuv
install -p -m 644 $srcdir/Kathara-$pkgver/src/kathara.dist/pyuv/* $pkgdir/usr/lib/$pkgname/pyuv/
install -d -m 755 $pkgdir/usr/bin
ln -sf /usr/lib/$pkgname/kathara "$pkgdir/usr/bin/$pkgname"
}
|