summaryrefslogtreecommitdiff
path: root/pcr/cjdns-git/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/cjdns-git/PKGBUILD')
-rw-r--r--pcr/cjdns-git/PKGBUILD77
1 files changed, 77 insertions, 0 deletions
diff --git a/pcr/cjdns-git/PKGBUILD b/pcr/cjdns-git/PKGBUILD
new file mode 100644
index 000000000..2e9646006
--- /dev/null
+++ b/pcr/cjdns-git/PKGBUILD
@@ -0,0 +1,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
+}