You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-lang/rapydscript-ng/rapydscript-ng-9999.ebuild

76 lines
1.8 KiB

# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/kovidgoyal/rapydscript-ng"
# this is nodejs software, so possibly unfixable. I am sorry.
# Instead, we will have to generate this with the live ebuild and upload assets
# using EGIT_OVERRIDE_COMMIT for the tagged version we need.
BDEPEND="app-arch/libarchive"
inherit git-r3
else
SRC_URI="
https://github.com/kovidgoyal/rapydscript-ng/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/rapydscript-ng-node_modules-${PV}.tar.xz
"
KEYWORDS="~amd64 ~arm64"
fi
inherit edo
DESCRIPTION="Pythonic JavaScript that doesn't suck"
HOMEPAGE="https://github.com/kovidgoyal/rapydscript-ng"
LICENSE="BSD"
SLOT="0"
BDEPEND+=" net-libs/nodejs"
RDEPEND="net-libs/nodejs"
maint_pkg_create() {
cd "${S}" || die
edo npm install --omit=optional
local ver=$(git describe)
ver=${ver#v}
local tar="${T}/rapydscript-ng-node_modules-${ver}.tar.xz"
bsdtar -s "#^#${PN}-node_modules-${ver}/#S" -caf "${tar}" package-lock.json node_modules/ || die
einfo "Packaged tar now available:"
einfo "$(du -b "${tar}")"
}
src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
maint_pkg_create
else
unpack ${A}
cp -r "${WORKDIR}"/${PN}-node_modules-${PV}/{node_modules,package-lock.json} "${S}" || die
fi
}
src_compile() {
edo bin/rapydscript self --complete
rm -r release/ || die
mv dev/ release/ || die
}
src_test() {
edo bin/rapydscript test
}
src_install() {
local modulesdir=/usr/$(get_libdir)/node_modules/rapydscript-ng
insinto "${modulesdir}"
doins -r *
fperms +x "${modulesdir}"/bin/rapydscript
dosym -r "${modulesdir}"/bin/rapydscript /usr/bin/rapydscript
}