# Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit nodejs-mod systemd # @zwave-js/core ships build/cjs/test/ as runtime code, which nodejs_remove_dev # deletes as if it were a test directory. NODEJS_KEEP_DEV_FILES=1 DESCRIPTION="Small server wrapper around Z-Wave JS to access it via a WebSocket." HOMEPAGE="https://github.com/zwave-js/zwave-js-server" SRC_URI="https://github.com/Tatsh/tatsh-overlay/releases/download/__distfiles__/${P}-node_modules.tar.xz" S="${WORKDIR}/${P}" LICENSE="0BSD Apache-2.0 BSD BSD-2 ISC MIT" SLOT="0" KEYWORDS="~amd64" RESTRICT="strip" RDEPEND="net-libs/nodejs:=" src_install() { nodejs-mod_src_install fperms 0755 "/usr/$(get_libdir)/node_modules/${PN}/node_modules/@zwave-js/server/dist-cjs/bin/"{client,server}.js dosym "../$(get_libdir)/node_modules/${PN}/node_modules/@zwave-js/server/dist-cjs/bin/client.js" /usr/bin/zwave-client dosym "../$(get_libdir)/node_modules/${PN}/node_modules/@zwave-js/server/dist-cjs/bin/server.js" /usr/bin/zwave-server insinto /etc doins "${FILESDIR}/${PN}.config.js" systemd_newunit "${FILESDIR}/${PN}.service" "${PN}@.service" } pkg_postinst() { elog elog "You need to set up security keys. See" elog "${PN}.keys.js.example in the documentation directory for more" elog "information." elog elog "systemd: To create the service, the device path must be specified" elog "with systemd-escape:" elog elog " systemctl enable --now ${PN}@\$(systemd-escape --path /dev/ttyACM0)" elog }