aboutsummaryrefslogtreecommitdiffstats
path: root/community/cloudi/APKBUILD
diff options
context:
space:
mode:
authorMichael Truog <mjtruog@protonmail.com>2018-03-30 19:06:38 -0700
committerTimo Teräs <timo.teras@iki.fi>2018-04-13 06:11:24 +0000
commita11b0ef3c0c3349b6f75612c9ab2c65730537121 (patch)
tree6a7f0857111434c26d9acb458d530354aa06c300 /community/cloudi/APKBUILD
parent7d2dd0002729db9050a9d4a69242d5acde1e873b (diff)
community/cloudi: moved from testing
* Updated my email * Switched url to use HTTPS
Diffstat (limited to 'community/cloudi/APKBUILD')
-rw-r--r--community/cloudi/APKBUILD140
1 files changed, 140 insertions, 0 deletions
diff --git a/community/cloudi/APKBUILD b/community/cloudi/APKBUILD
new file mode 100644
index 00000000000..b795e70e80a
--- /dev/null
+++ b/community/cloudi/APKBUILD
@@ -0,0 +1,140 @@
+# Contributor: Michael Truog <mjtruog@protonmail.com>
+# Maintainer: Michael Truog <mjtruog@protonmail.com>
+#
+# INFO
+#
+# Why is the cloudi.initd file not using the openrc default start-stop-daemon?
+#
+# With the Erlang VM it is possible to use the -heart erl command line
+# argument (which is possible with cloudi configuration of the
+# /etc/cloudi/vm.args file). To allow the use of the heartbeat monitoring
+# of the Erlang runtime system, it is necessary to rely upon the cloudi
+# script for handling the cloudi pid and not utilize openrc for pidfile
+# creation or signal-based termination.
+#
+# With a typical Erlang VM release, it is normally expected to provide
+# the ability to attach to the Erlang VM shell of the running node using
+# pipes. The setup of the Erlang VM shell pipes needs to be handled with
+# Erlang VM execution that also handles detaching the daemon process.
+# If the openrc default start-stop-daemon execution was used instead,
+# it would not be possible to easily setup the Erlang VM shell pipes.
+#
+# The termination of cloudi utilizes a 65000 millisecond timeout, allowing
+# all services a maximum of 60000 milliseconds for termination with
+# 5000 millisecond for internal Erlang VM delays. The cloudi script does
+# block for this termination to complete.
+#
+# The pid file path is set during the configuration step
+# (shown below with the assignment of CLOUDI_PID_FILE).
+
+pkgname=cloudi
+pkgver=1.7.3
+pkgrel=3
+pkgdesc="Cloud computing framework for efficient, scalable, and stable soft-realtime event processing."
+url="https://cloudi.org/"
+license="MIT"
+arch="all"
+depends="erlang
+ g++"
+makedepends="autoconf
+ automake
+ binutils-dev
+ boost-dev
+ boost-system
+ boost-thread
+ erlang-asn1
+ erlang-common-test
+ erlang-crypto
+ erlang-dev
+ erlang-erl-interface
+ erlang-eunit
+ erlang-inets
+ erlang-jinterface
+ erlang-public-key
+ erlang-reltool
+ erlang-sasl
+ erlang-snmp
+ erlang-ssl
+ erlang-syntax-tools
+ erlang-tools
+ erlang-xmerl
+ gmp-dev
+ go
+ libexecinfo-dev
+ libtool
+ nodejs
+ openjdk8
+ perl
+ php7
+ python3
+ python3-dev
+ ruby
+ "
+install=""
+subpackages=""
+source="https://osdn.net/dl/$pkgname/$pkgname-$pkgver.tar.gz
+ 0005-Disable-tests-for-aports-buildservers.patch
+ $pkgname.initd"
+builddir="$srcdir/cloudi-$pkgver/src"
+
+# configure additional dependencies based on the package architecture
+CONFIGURE_ARGS=""
+# Enable Haskell on the appropriate architectures
+case "$CTARGET_ARCH" in
+x86_64)
+ # Haskell is available on armhf though the compilation of the
+ # external Haskell dependencies fails with a gcc linker error
+ # (commit a55ed2043ebe1432fe30400d2aee3b080da32062)
+ makedepends="$makedepends ghc cabal zlib-dev"
+ CONFIGURE_ARGS="$CONFIGURE_ARGS --enable-haskell-support"
+ ;;
+esac
+# Enable OCaml on the appropriate architectures
+case "$CTARGET_ARCH" in
+x86 | armhf | s390x)
+ ;;
+*)
+ makedepends="$makedepends ocaml"
+ CONFIGURE_ARGS="$CONFIGURE_ARGS --enable-ocaml-support"
+ ;;
+esac
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ cd "$builddir"
+ export PATH="/usr/lib/jvm/java-1.8-openjdk/bin:$PATH"
+ LIBS="-lexecinfo" CLOUDI_PID_FILE="/run/cloudi.pid" ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --bindir=/usr/sbin \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --host="$CHOST" \
+ --build="$CBUILD" \
+ --with-cxx-backtrace \
+ --with-python-version=3 \
+ --enable-go-support $CONFIGURE_ARGS
+ make
+}
+
+check() {
+ cd "$builddir"
+ make ct
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname
+}
+
+sha512sums="4a254983c45f12c0eb8cde6f9b4953219ce1e52abc3262d1703d28f2b1a2d1cc8eb9a2beae5e9e52b14d17704ab239948f895681bd4ac38e677a8bb025afc053 cloudi-1.7.3.tar.gz
+b2ef0cf07e207cbe62a34edb69ac4700bd5a75d9924e6597595e69f0988772d833d6af882cfa40278c9efe4b042da2952f9b7276b3c80c4b015b0c1490782b59 0005-Disable-tests-for-aports-buildservers.patch
+053f860f656617012208a0e1909e43b2f8979d381a90d3fa5a745a9cf5021fe54556a641fef2badaa9955f2394d00e32183389cb9b501169dcbf8cbe4fbb0329 cloudi.initd"