nextcloud-whiteboard-1.4.2phackerlay
download
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Create & collaborate on an infinite canvas!"
HOMEPAGE="https://github.com/nextcloud/whiteboard"
SRC_URI="https://github.com/nextcloud/whiteboard/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
BDEPEND="
>=net-libs/nodejs-22[npm]
"
RDEPEND="
acct-group/nextcloud-whiteboard
acct-user/nextcloud-whiteboard
"
S=${WORKDIR}/whiteboard-${PV}
RESTRICT="network-sandbox"
src_prepare() {
default
# lower build memory usage
sed -e "s:--max-old-space-size=8192:--max-old-space-size=4096:g" -i package.json || die
einfo
einfo Fetching npm packages
einfo
npm install || die
}
src_compile() {
einfo
einfo Building ${PN}
einfo
npm ci || die
npm run build || die
einfo
einfo Removing leftovers
einfo
find node_modules -type f \
\( \
-iname '*Makefile*' -o \
-iname '*armv*' -o \
-iname '*.cache' -o \
-iname '*Makefile*' -o \
-iname '*appveyor.yml' -o \
-iname '*.babelrc' -o \
-iname '*.bak' -o \
-iname '*bower.json' -o \
-iname '*.c' -o \
-iname '*.cc' -o \
-iname '*.cpp' -o \
-iname '*.md' -o \
-iname '*.markdown' -o \
-iname '*.rst' -o \
-iname '*.nycrc' -o \
-iname '*.npmignore' -o \
-iname '*.editorconfig' -o \
-iname '*.el' -o \
-iname '*.eslintignore' -o \
-iname '*.eslintrc*' -o \
-iname '*.fimbullinter.yaml' -o \
-iname '*.gitattributes' -o \
-iname '*.gitmodules' -o \
-iname '*.h' -o \
-iname '*.html' -o \
-iname '*.jshintrc' -o \
-iname '*.jscs.json' -o \
-iname '*.log' -o \
-iname '*logo.svg' -o \
-iname '*.nvmrc' -o \
-iname '*.o' -o \
-iname '*package-lock.json' -o \
-iname '*.travis.yml' -o \
-iname '*.prettierrc' -o \
-iname '*.sh' -o \
-iname '*.tags*' -o \
-iname '*.Dockerfile*' -o \
-iname '*.tm_properties' -o \
-iname '*.wotanrc.yaml' -o \
-iname '*tsconfig.json' -o \
-iname '*yarn.lock' \
\) \
-delete
find node_modules -type d \
\( \
-iwholename '*.github' -o \
-iwholename '*.tscache' -o \
-iwholename '*/man' -o \
-iwholename '*/test' -o \
-iwholename '*/scripts' -o \
-iwholename '*/git-hooks' -o \
-iwholename '*/linux-arm64' -o \
-iwholename '*/linux-armvy' -o \
-iwholename '*/linux-armv7' -o \
-iwholename '*/win32-ia32' -o \
-iwholename '*/win32-x64' -o \
-iwholename '*/darwin-x64' \
\) \
-exec rm -rf {} +
}
src_install() {
insinto "/opt/nextcloud-whiteboard"
doins -r *
newinitd ${FILESDIR}/nextcloud-whiteboard.initd ${PN}
newconfd ${FILESDIR}/nextcloud-whiteboard.confd ${PN}
}