blob: 2e96460064ee8b0043d34675a38fca25d9ed830b (
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
69
70
71
72
73
74
75
76
77
|
# Maintainer: Prurigro
# Contributor: Prurigro
# Contributor: Werecat
# Contributor: Xyne
_pkgname=cjdns
pkgname=${_pkgname}-git
pkgver=0.3.1473
pkgrel=1
pkgdesc="A routing engine designed for security, scalability, speed and ease of use."
url="https://github.com/cjdelisle/${_pkgname}"
license=('GPL3')
makedepends=('git' 'cmake' 'python2')
optdepends=('python2: required by the python cjdnsadmin utilities')
arch=('i686' 'x86_64' 'armv6h' 'armv7h')
install=${pkgname}.install
backup=("etc/default/${_pkgname}")
source=("git://github.com/cjdelisle/${_pkgname}.git#branch=master")
sha256sums=('SKIP')
pkgver() {
cd "${srcdir}/${_pkgname}"
git describe --always | sed 's|-|.|g;s|[^\.]*\.||;s|\.[^\.]*$||'
}
prepare() {
cd "${srcdir}/${_pkgname}"
## Clean previous builds and resync
./clean
mkdir build
## Set occurances of python to python2 due to a naming conflict between Debian and Archlinux
find "${srcdir}/${_pkgname}"/contrib/python \
-type f \
-exec sed -i 's@/usr/bin/python\s*$@/usr/bin/python2@;s@/usr/bin/env\ python@/usr/bin/env\ python2@' {} \+
}
build() {
cd "${srcdir}"/${_pkgname}
## Disable Arch's generic makepkg optimizations (set via /etc/makepkg.conf) in favour of those specified by cjdns
unset MAKEFLAGS
# unset CFLAGS
# unset CPPFLAGS
## Build using the ./do script
export NO_DEBUG=1
cd build
cmake ..
make
}
## Package creation helper functions
_package_cjdns() {
install -D -m755 "${srcdir}"/${_pkgname}/build/admin/angel/cjdroute2 "${pkgdir}"/usr/bin/cjdroute
install -D -m755 "${srcdir}"/${_pkgname}/build/admin/angel/${_pkgname} "${pkgdir}"/usr/bin/${_pkgname}
install -D -m644 "${srcdir}"/${_pkgname}/contrib/systemd/${_pkgname}.service "${pkgdir}"/usr/lib/systemd/system/${_pkgname}.service
install -D -m755 "${srcdir}"/${_pkgname}/contrib/bash/i_am_stupid.sh "${pkgdir}"/usr/bin/cjdns-recoverconfig
}
_package_pyutils() {
install -D -m644 "${srcdir}"/${_pkgname}/contrib/python/cjdnsadmin/cjdnsadmin.py "${pkgdir}"/usr/lib/$(python2-config --libs | grep -o -E python2.*)/cjdnsadmin/cjdnsadmin.py
install -D -m644 "${srcdir}"/${_pkgname}/contrib/python/cjdnsadmin/bencode.py "${pkgdir}"/usr/lib/$(python2-config --libs | grep -o -E python2.*)/cjdnsadmin/bencode.py
install -D -m644 "${srcdir}"/${_pkgname}/contrib/python/cjdnsadmin/__init__.py "${pkgdir}"/usr/lib/$(python2-config --libs | grep -o -E python2.*)/cjdnsadmin/__init__.py
install -D -m755 "${srcdir}"/${_pkgname}/contrib/python/cjdnslog "${pkgdir}"/usr/bin/cjdns-log
install -D -m755 "${srcdir}"/${_pkgname}/contrib/python/dumptable "${pkgdir}"/usr/bin/cjdns-dumptable
install -D -m755 "${srcdir}"/${_pkgname}/contrib/python/findnodes "${pkgdir}"/usr/bin/cjdns-findnodes
install -D -m755 "${srcdir}"/${_pkgname}/contrib/python/pingAll.py "${pkgdir}"/usr/bin/cjdns-pingAll
}
## Package creation function: comment out a helper function to remove its associated functionality
package() {
_package_cjdns ## Core binaries (cjdns and cjdroute), a systemd service file and a config recovery script written in bash
_package_pyutils ## Miscellaneous python2-based cjdns admin port utility scripts and libraries
}
|