# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DESCRIPTION="OHF Matter Server - WebSocket Matter controller based on matter.js" HOMEPAGE="https://github.com/matter-js/matterjs-server" SRC_URI="https://registry.npmjs.org/matter-server/-/matter-server-${PV}.tgz -> ${P}.tgz" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64 ~arm64" IUSE="+server +systemd" REQUIRED_USE="systemd? ( server )" RDEPEND=" server? ( >=net-libs/nodejs-22.13.0:* ) " S="${WORKDIR}/package" inherit systemd src_install() { if use server; then cd "${S}" || die npm install --omit=dev --ignore-scripts --no-audit --no-fund || die insinto /opt/${PN} doins -r . # CLI wrapper (newbin is the correct Gentoo helper - auto-creates dir + sets +x) cat > "${T}/matter-server" <<-'EOF' #!/bin/sh exec /usr/bin/node --enable-source-maps "/opt/matterjs-server/dist/esm/MatterServer.js" "$@" EOF newbin "${T}/matter-server" matter-server fi if use systemd; then systemd_dounit "${FILESDIR}/${PN}.service" fi dodoc README.md } pkg_postinst() { if use server; then elog "Manual start:" elog " matter-server --storage-path /var/lib/matterjs-server" elog "Dashboard: http://localhost:5580" fi if use systemd; then elog "Systemd service:" elog " systemctl enable --now matterjs-server.service" fi elog "" elog "Storage directory (recommended):" elog " mkdir -p /var/lib/matterjs-server" elog " chown -R matter:matter /var/lib/matterjs-server (optional)" }