diff --git a/janus-gateway/default/PKGBUILD b/janus-gateway/default/PKGBUILD new file mode 100644 index 00000000..230af2d3 --- /dev/null +++ b/janus-gateway/default/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Maurizio Porrato +# Contributor: Martchus + +pkgname=janus-gateway +pkgver=0.4.5 +pkgrel=2 +pkgdesc="WebRTC gateway" +arch=('i686' 'x86_64') +url="http://janus.conf.meetecho.com/" +license=('GPL3') +depends=('libmicrohttpd' 'jansson' 'libnice' 'openssl' 'libsrtp' + 'sofia-sip' 'libusrsctp-git' 'libwebsockets' 'libevent' + 'librabbitmq-c' 'opus' 'libogg' 'glib2' 'ding-libs' 'lua>=5.3' + 'ffmpeg') +makedepends=('gengetopt' 'paho-mqtt-c-git') +provides=(janus-gateway) +backup=('etc/janus/janus.cfg') +install=janus-gateway.install + +source=("https://github.com/meetecho/janus-gateway/archive/v${pkgver}.tar.gz" + janus.service) +sha256sums=('fc60e615e0c70249e41a32e068ef8feed7e01478fb7659ae16b73c6dd08d695d' + 'cf2b6c8fdcd60ccfa179c4cd207a23ee7edfee90588c2c3847aa6cda418bed7f') + +_userid=531 + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./autogen.sh + ./configure --prefix=/usr --sysconfdir=/etc --disable-docs \ +--enable-javascript-commonjs-module --enable-post-processing \ +--enable-mqtt --enable-rabbit-mq + DESTDIR="$pkgdir/" make + + # make sysusers file to run as user janus + echo "u janus $_userid \"Janus WebRTC gateway user\" /var/lib/janus /bin/bash" > "$srcdir/janus.conf" +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + DESTDIR="$pkgdir/" make install configs + rm -f "$pkgdir/usr/share/janus/certs/mycert.{key,pem}" + + # install systemd unit file to run as user janus + install -dm0700 -o "$_userid" -g "$_userid" "${pkgdir}/var/lib/janus" + install -Dm644 "$srcdir/janus.service" -t "${pkgdir}"/usr/lib/systemd/system/ + install -Dm644 "$srcdir/janus.conf" -t "${pkgdir}"/usr/lib/sysusers.d/ +} diff --git a/janus-gateway/default/janus-gateway.install b/janus-gateway/default/janus-gateway.install new file mode 100644 index 00000000..465776fe --- /dev/null +++ b/janus-gateway/default/janus-gateway.install @@ -0,0 +1,10 @@ +post_install() { + openssl req -x509 -batch -nodes -newkey rsa:1024 \ + -keyout /usr/share/janus/certs/mycert.key \ + -out /usr/share/janus/certs/mycert.pem +} + +pre_remove() { + rm -f /usr/share/janus/certs/mycert.{key,pem} +} + diff --git a/janus-gateway/default/janus.service b/janus-gateway/default/janus.service new file mode 100644 index 00000000..f33e3e56 --- /dev/null +++ b/janus-gateway/default/janus.service @@ -0,0 +1,15 @@ +[Unit] +Description=Janus WebRTC Gateway +Wants=network.target + +[Service] +Type=simple +ExecStart=/usr/bin/janus +User=janus +Group=janus +Restart=on-failure +LimitNOFILE=65536 +TasksMax=infinity + +[Install] +WantedBy=multi-user.target