# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI=5 inherit user DESCRIPTION="The ultimate open source web chat platform" HOMEPAGE="https://rocket.chat/" SRC_URI="https://cdn-download.rocket.chat/build/rocket.chat-${PV}.tgz -> ${P}.tar.gz" LICENSE="MIT" SLOT="0" KEYWORDS="~amd64" IUSE="" RDEPEND=">=dev-db/mongodb-3.6 net-libs/nodejs media-gfx/imagemagick[jpeg,png]" DEPEND="${RDEPEND}" RESTRICT="network-sandbox" NODEJS_VERSION="12.18.4" ROCKET_DEST="/usr/share/${PN}" ROCKET_LOG="/var/log/${PN}" ROCKET_USER="rocket" ROCKET_GROUP="daemon" pkg_setup() { enewgroup ${ROCKET_GROUP} enewuser ${ROCKET_USER} -1 -1 ${ROCKET_DEST} "${ROCKET_GROUP}" } src_unpack() { default mv "$WORKDIR/"* "$WORKDIR/$P" } src_prepare() { default export NPM_CONFIG_PREFIX="${WORKDIR}/${P}" test -d $NPM_CONFIG_PREFIX || mkdir $NPM_CONFIG_PREFIX npm install n || die "Error installing n" N_PREFIX="${WORKDIR}/${P}/node" elog "Installing node v${NODEJS_VERSION} in $N_PREFIX ..." N_PREFIX=$N_PREFIX $NPM_CONFIG_PREFIX/node_modules/n/bin/n -q ${NODEJS_VERSION} &>/dev/null || \ die "Error installing node v${NODEJS_VERSION}" PATH=$N_PREFIX/n/versions/node/$NODEJS_VERSION/bin:$PATH elog "Using $(which node) $(node --version) ..." elog "Installing rocker-chat ..." pushd programs/server &>/dev/null || die "Cannot find programs/server" npm install || die "Error in npm install in programs/server" popd } src_install() { mkdir -p "${D}${ROCKET_DEST}" cp -a . "${D}${ROCKET_DEST}" keepdir "${ROCKET_LOG}" fowners "${ROCKET_USER}:${ROCKET_GROUP}" "${ROCKET_LOG}" # This is to enable webhook integration with script support keepdir "${ROCKET_DEST}/.babel-cache" fowners "${ROCKET_USER}:${ROCKET_GROUP}" "${ROCKET_DEST}/.babel-cache" newconfd "${FILESDIR}/${PN}-conf.d" "rocket-chat" newinitd "${FILESDIR}/${PN}-init.d" "rocket-chat" }