summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD115
1 files changed, 115 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..83c12bd557b3
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,115 @@
+# Maintainer: Gustavo Alvarez <sl1pkn07@gmail.com>
+
+pkgname=adchpp-hg
+pkgver=2.12.1.725.c290861e08cd
+pkgrel=1
+pkgdesc="ADCH++ is a hub software for the ADC network. (Mercurial Version)"
+url='http://adchpp.sourceforge.net'
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('ruby'
+ 'python2'
+ 'boost-libs'
+ ) #'lua51' 'lua51-filesystem' 'lua51-socket'
+makedepends=('mercurial'
+ 'scons'
+ 'swig'
+ 'asciidoc'
+ )
+provides=('adchpp')
+conflicts=('adchpp')
+backup=('etc/adchpp/Script.xml'
+ 'etc/adchpp/adchpp.xml'
+ )
+source=("adchpp::hg+http://hg.code.sf.net/p/adchpp/code"
+ 'adchpp.sh'
+ 'adchpp.service'
+ 'adchpp.tmpfile'
+ 'adchpp.sysuser'
+ 'http://data.gpo.zugaina.org/klondike/net-p2p/adchpp/files/adchpp-2.8.0-fix_config_paths.patch'
+ 'http://data.gpo.zugaina.org/klondike/net-p2p/adchpp/files/adchpp-2.11.0-fix_cflags.patch'
+ 'https://dl.dropboxusercontent.com/u/6596386/adchpp-2.9.0-fix_store_files_in_config_dir_access.guard_plugin.patch'
+ 'https://dl.dropboxusercontent.com/u/6596386/adchpp-2.9.0-fix_log_path.patch'
+ )
+sha1sums=('SKIP'
+ 'd903e8241dec8e6c96b741f52a43a75894471cf7'
+ 'b834071b7bd39effcdc6bdeaa61f3e877757583b'
+ 'd8c98ccc13ffda1c68bd1d356f51ae99dd1a5ba2'
+ '7f270a8803871e6b25b9ed15d60ba765df9e3741'
+ 'e2e396e0542df153a312c0b43275a321511d0209'
+ '04c2bba95ab80d56a0e56fa9cd3f0b2edce88e23'
+ 'c201970be161b01d30a4c6761235f47aad9fec4e'
+ '1e40351b4be6441979229d63210b43817c9819bf'
+ )
+install=adchpp-hg.install
+
+[ "$CARCH" = "i686" ] && _arch="x86"
+[ "$CARCH" = "x86_64" ] && _arch="x64"
+
+pkgver() {
+ cd adchpp
+ _ver="$(cat ${srcdir}/adchpp/adchpp/version.cpp | grep VERSIONSTRING | grep -o "[[:digit:]]*" | paste -sd'.')"
+ echo "${_ver}.$(hg log -r -1 --template '{rev}.{node|short}\n')"
+}
+
+prepare() {
+ cd adchpp
+
+ # Use python2
+ rm -rf "${srcdir}/python"
+ mkdir "${srcdir}/python"
+ ln -s /usr/bin/python2 "${srcdir}/python/python"
+ export PATH="${srcdir}"/python:$PATH
+
+ # Patch
+ patch -p1 -i "${srcdir}/adchpp-2.8.0-fix_config_paths.patch"
+ patch -p1 -i "${srcdir}/adchpp-2.11.0-fix_cflags.patch"
+ patch -p0 -i "${srcdir}/adchpp-2.9.0-fix_store_files_in_config_dir_access.guard_plugin.patch"
+ patch -p0 -i "${srcdir}/adchpp-2.9.0-fix_log_path.patch"
+ sed -e "s|%%ADCHPPLIB%%|/usr/lib/adchpp|g" \
+ -e "s|%%ADCHPPSHARE%%|/usr/share/adchpp|g" \
+ -e "s|%%ADCHPPETC%%|/etc/adchpp|g" \
+ -e "s|%%ADCHPPLOG%%|/var/log/adchpp|g" \
+ -i etc/adchpp.xml -i etc/Script.xml -i rbutil/adchpp.rb -i pyutil/adchpp.py
+
+ # Ugly patch: set path for volatile files created by lua scripts
+ sed -e "/luadchpp.)/a-- set path of volatile files\nlocal varfilepath = \"/var/lib/adchpp/\"\n" \
+ -e 's|adchpp.Util_getCfgPath()|varfilepath|g' \
+ -i plugins/Script/examples/*lua
+
+ # Dos2Unix
+ find -type f -exec perl -pi -e 's/\r\n?/\n/g' "{}" \;
+
+ # Silence build warnings
+ sed 's|_BSD_SOURCE|_DEFAULT_SOURCE|g' -i SConstruct
+}
+
+build() {
+ cd adchpp
+ scons -j"$(nproc)" mode=release docs=yes ssl=yes langs=all tools=default systemboost=yes ruby=ruby arch="${_arch}" #systemlua=yes lua=lua5.1
+}
+
+package() {
+ cd adchpp
+
+ install -Dm755 ../adchpp.sh "${pkgdir}/usr/bin/adchpp"
+ install -Dm755 "build/release-default-${_arch}/bin/adchppd" "${pkgdir}/usr/lib/adchpp/adchpp"
+
+ (cd "build/release-default-${_arch}/bin"; for i in $(find . -maxdepth 1 -type f -name "*.so"); do install -Dm755 "${i}" "${pkgdir}/usr/lib/adchpp/${i}"; done)
+
+ install -Dm755 linux/generate_certs.sh "${pkgdir}/usr/share/adchpp/generate_certs.sh"
+
+ install -d "${pkgdir}/etc/adchpp/certs/trusted"
+
+ install -Dm644 etc/adchpp.xml "${pkgdir}/etc/adchpp/adchpp.xml"
+ install -Dm644 etc/Script.xml "${pkgdir}/etc/adchpp/Script.xml"
+
+ (cd plugins/Script/examples ; for i in $(find . -type f); do install -Dm644 "${i}" "${pkgdir}/usr/share/adchpp/scripts/${i}"; done)
+ for i in $(find pyutil rbutil -type f); do install -Dm644 "${i}" "${pkgdir}/usr/share/adchpp/${i}"; done
+
+ (cd build/docs; for i in $(find . -type f); do install -Dm644 "${i}" "${pkgdir}/usr/share/doc/adchpp/${i}"; done)
+
+ install -Dm644 ../adchpp.service "${pkgdir}/usr/lib/systemd/system/adchpp.service"
+ install -Dm644 ../adchpp.tmpfile "${pkgdir}/usr/lib/tmpfiles.d/adchpp.conf"
+ install -Dm644 ../adchpp.sysuser "${pkgdir}/usr/lib/sysusers.d/adchpp.conf"
+}