summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin20672 -> 21010 bytes
-rw-r--r--dev-lang/ats2/Manifest4
-rw-r--r--dev-lang/ats2/ats2-0.4.2.ebuild94
-rw-r--r--dev-lang/ats2/files/50ats2-gentoo.el4
-rw-r--r--dev-lang/ats2/metadata.xml22
-rw-r--r--dev-lang/crystal/Manifest6
-rw-r--r--dev-lang/crystal/crystal-1.10.0-r1.ebuild (renamed from dev-lang/crystal/crystal-1.10.0.ebuild)2
-rw-r--r--dev-lang/crystal/crystal-1.10.1-r1.ebuild (renamed from dev-lang/crystal/crystal-1.10.1.ebuild)2
-rw-r--r--dev-lang/crystal/crystal-1.9.2-r2.ebuild (renamed from dev-lang/crystal/crystal-1.9.2-r1.ebuild)2
-rw-r--r--dev-lang/rapydscript-ng/Manifest5
-rw-r--r--dev-lang/rapydscript-ng/metadata.xml15
-rw-r--r--dev-lang/rapydscript-ng/rapydscript-ng-0.7.22.ebuild75
-rw-r--r--dev-lang/rapydscript-ng/rapydscript-ng-9999.ebuild75
13 files changed, 300 insertions, 6 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 6432dab1bb7b..b54c8a800e49 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/ats2/Manifest b/dev-lang/ats2/Manifest
new file mode 100644
index 000000000000..60a902c4fe02
--- /dev/null
+++ b/dev-lang/ats2/Manifest
@@ -0,0 +1,4 @@
+AUX 50ats2-gentoo.el 200 BLAKE2B 4e07607ab27c87422e5f770746b3d077ca8c2564cb8a3a3bd79411c900dd41a2c1d79df1200b1fad19e8356fc22fb2250ea3f2aac95fa3e5ef9e696b397b59d7 SHA512 06c7550aca601a813dda7f3cc29642479cae27e4f605edd19bb3c41b5f76afdb84723bc81754d067eadd5e6074699969557459bfaf4200d3ecff8dc1867e4635
+DIST ATS2-Postiats-gmp-0.4.2.tgz 4532277 BLAKE2B 3263ab8790c737a2a4f30d2acb770e4f5d3bbedd40136bbf07283541f5b6678aaba7031cf4a2e77552755e5510fcc65446dfc3499645f5c7f4c4e5bc52e8942d SHA512 cfc3f15b1365badcdce535afc7e71ffe25471f2661bdc47294b77c917049566eee4eeb8ec373f4121ad474b8528263d7b3ff8627c1f5b7f3ea7475cb95ca7597
+EBUILD ats2-0.4.2.ebuild 1985 BLAKE2B f2aac7797075569c6dd1e2abaa603de96dcb554e071d63f3930312ff99b653f5edd8c77b3188e81228100bddaf71cde22a29f99996be44beabc61a140cd73db3 SHA512 7b838c2ff4bd88e12b7961fefd0169b0e94bdfe50f33da61a6632bd4823547ab072488151566f6c5061af6d11c4d676b9b57ad3a3d4f32db74ebab7e858fb758
+MISC metadata.xml 980 BLAKE2B ba3d935ee5cd32484046247817252585e5f1e8fc4fa502c7689ef90437674a02ca32506c59fadf6489ea43fb8ed769fece9554f7ab32b3e2774e382e66ae5cfc SHA512 86d721588d9c4f1e352c9b4cde43df44db269fb5189ed951244e57f7fe0c86fbc561ede3b5d09ab4b4a50b5fd036eac813e7619e462b2a9d382ec49176229380
diff --git a/dev-lang/ats2/ats2-0.4.2.ebuild b/dev-lang/ats2/ats2-0.4.2.ebuild
new file mode 100644
index 000000000000..e4f7eae958af
--- /dev/null
+++ b/dev-lang/ats2/ats2-0.4.2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp-common toolchain-funcs
+
+DESCRIPTION="Functional programming language with dependent types"
+HOMEPAGE="https://www.cs.bu.edu/~hwxi/atslangweb/
+ https://sourceforge.net/projects/ats2-lang/"
+SRC_URI="http://downloads.sourceforge.net/sourceforge/ats2-lang/ATS2-Postiats-gmp-${PV}.tgz"
+S="${WORKDIR}/ATS2-Postiats-gmp-${PV}"
+
+LICENSE="GPL-3+"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="emacs"
+
+RDEPEND="
+ dev-libs/gmp:=
+ emacs? ( >=app-editors/emacs-25.3:* )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ default
+
+ sed -i Makefile \
+ -e "/^CFLAGS/s|=| = ${CFLAGS}|" \
+ -e "/^LDFLAGS/s|=| = ${LDFLAGS}|" \
+ -e "/^MAKE/s|=make| ?= \$(MAKE)|g" \
+ -e "/^MAKEJ4/s|-j4||" \
+ || die
+
+ sed -i ccomp/atslib/Makefile \
+ -i src/CBOOT/Makefile \
+ -i utils/atscc/Makefile_build \
+ -i utils/myatscc/Makefile_build \
+ -e "s|ld |$(tc-getLD) |g" \
+ -e "s|-O2|${CFLAGS} ${LDFLAGS}|g" \
+ || die
+
+ sed -i ccomp/atslib/Makefile \
+ -i src/Makefile \
+ -e "s|ar -r|$(tc-getAR) ${ARFLAGS} -r|g" \
+ || die
+
+ rm utils/emacs/flycheck-ats2.el || die
+}
+
+src_compile() {
+ emake -j1 CC="$(tc-getCC)" GCC="$(tc-getCC)" CCOMP="$(tc-getCC)" all
+
+ if use emacs ; then
+ cd utils/emacs || die
+
+ elisp-compile ./*.el
+ fi
+}
+
+src_install() {
+ default
+
+ if use emacs ; then
+ cd utils/emacs || die
+
+ elisp-install "${PN}" ./*.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ local ats2_dir="/usr/lib/${PN}-postiats-${PV}"
+ local contrib_dir="${ats2_dir}/contrib"
+
+ # Randomly generated.
+ local libatslib="${ED}${ats2_dir}/ccomp/atslib/lib/libatslib.a"
+ if [[ -f "${libatslib}" ]] ; then
+ rm "${libatslib}" || die
+ fi
+
+ # Broken symlinks.
+ rm "${ED}${contrib_dir}"/*/*/SATS/DOCUGEN/Makefile.gen || die
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-lang/ats2/files/50ats2-gentoo.el b/dev-lang/ats2/files/50ats2-gentoo.el
new file mode 100644
index 000000000000..2171d0efefa7
--- /dev/null
+++ b/dev-lang/ats2/files/50ats2-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'ats-mode "@SITELISP@/ats2-mode.el"
+ "Major mode to edit ATS2 source code." t)
+(add-to-list 'auto-mode-alist '("\\.\\(s\\|d\\|h\\)ats\\'" . ats-mode))
diff --git a/dev-lang/ats2/metadata.xml b/dev-lang/ats2/metadata.xml
new file mode 100644
index 000000000000..4410a5199d1c
--- /dev/null
+++ b/dev-lang/ats2/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <longdescription>
+ ATS is a statically typed programming language that unifies implementation
+ with formal specification. It is equipped with a highly expressive type
+ system rooted in the framework Applied Type System, which gives the
+ language its name. In particular, both dependent types and linear types are
+ available in ATS. ATS2 extends ATS with an advanced template system,
+ allowing functional programming to be employed in a setting where only bare
+ minimal run-time support is available. In addition, the template system
+ makes ATS2 highly suitable for supporting numerical computation.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">ats2-lang</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest
index 2f4350a50187..560e438e9acc 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -7,7 +7,7 @@ DIST crystal-1.10.1-1-linux-x86_64.tar.gz 46236242 BLAKE2B 8c74672aaeb99cdb9ebcc
DIST crystal-1.10.1.tar.gz 3305965 BLAKE2B eede32a5ed5695bbe4288f8942db251ebe3b57c241523a215109994e703c58cd95c2d449b0bf87cd45cfa637d264a73ea060227f0459034cc40135b1c2ee20c5 SHA512 2e26d6e366ea5c8b7abe3457608a0a0eca60b5d15f3c9079a58c3855302c7c07cd705d04fb6aa1bec2681fe40799609cab77a8b8e6fc10be7a8e545c5b0ecfc1
DIST crystal-1.9.2-1-linux-x86_64.tar.gz 46171732 BLAKE2B b664207f2994a16e8e05cfc72d5e4e3cf9ec1e8b8a41869a56fc03b0946b7439f1528ec78c0affd32bf07a67d3329a644f5ba7f1270982723697071266a6ab7f SHA512 bce18bf48c5c746aa1ee8aa9a34b5ec2f104aed95f3a74070229df4bf73a0ac9297af79a873d965c9631196b6f1103059a015c4f68cea800a779936aef9389d0
DIST crystal-1.9.2.tar.gz 3245770 BLAKE2B 76795f79f305863aed9fd8b5de8fe7edcb512e7a64e2368a606fe38171cc4653a126dba71c071cffb1a6a26426a5eeb3c5bc458800cbc95f083c8895d962d7e2 SHA512 9356b7e267bfa2183af2184e633cd91ef23487e46e73db33f4363ce4fcf5515349555dfd5c056a0616855e49cff4bbab07d1eeed84e087ae469bfc0eb49b63b1
-EBUILD crystal-1.10.0.ebuild 2622 BLAKE2B 342d56a054fada0b5999ccc3f3beeec3fdda155316550d3ccdf339f3d9600c5f71bf5bcbb72485c84c9e470dcbfb197f0d4f8b1b87e2ecea25743c0a69d9e4bc SHA512 dc29c3f034c7f1d4e46d29c64c5eaea504eae932788abec0e4ccadb8a003c498713880a0894db1282221d66e43bf446b2038948ce97e8e61e718f19705fe9af0
-EBUILD crystal-1.10.1.ebuild 2610 BLAKE2B cfad5fec105f76f392d28487dd8e12ea2b139f6c151e6af2bc161bc704774929271f31b38184086d311f4ebe1b3615938bd7be1aa1dd5514af94a3a8e7409ed2 SHA512 e2176464f4a573263644882a530448de9d6fbae319d28ba2e22e29514641c48a4ad5d4b62fc694aaf9915f77e2f01dfd1f029d8d51217fd9670fe7a33d50015e
-EBUILD crystal-1.9.2-r1.ebuild 2609 BLAKE2B 88cb14b4138e53c2bae5dcc6b3698221e68c9b687c59bca053af8535d96e2e46b9d4ad9947bc198b6400fb9b77aca07fb89361aaf79e49461eecfdbe79dc8ab7 SHA512 35bf8e60a176fabe4e12cb614a20b2309efb23d0c15d6d756a3488e251a03d7a7463d765b8c85a58cc66e6ce36c21e8e70d9735d3033395a8ed4109bb42789e6
+EBUILD crystal-1.10.0-r1.ebuild 2632 BLAKE2B 2db090a02669da14d50464f66002aa1a343ca384f844dc96eba874eb4ba205c5188751d415623ab56e27a87fb60831dfebcef1bd3e70df3a35e11d30da8cbacb SHA512 fbbfbf1821d60272056701e5a1abfdb4d8f86a9c42ba80153309d85d144618b9a8110cac444669301e96e9decc4127cad90423d030112ed69a20f8de7a40d634
+EBUILD crystal-1.10.1-r1.ebuild 2620 BLAKE2B 75814086c9628ca29219c028c8b786f09b521ee98f1e63d4077a3b49009af34a2021f5c18e7bb22bf92b891eeda0356178a7edbde946ccdba3dba5725119619a SHA512 cbf2f7fc39f96cd077aa7657c6bfa1e59b5a89c59a09843b32b7ddfea4301b3af8eba10bc98ff1e9a913d62907fef602fb2d521ab4f6dfd0818520ee7c0317d9
+EBUILD crystal-1.9.2-r2.ebuild 2619 BLAKE2B db8dd8294809f2ee44bb92544d39bc3a5da81cc050b92e9cb7ad534a3b1e6c28a3a8591b9622db207e60da3f767f9a37d26ba21d0724084e7c978a3754fb731e SHA512 e8e61f7659eecacf18f167b37eadc676b6e4b2c2cd20384e7724912e9d5ea3f359fc15f0832600de89f0aa9a1dc2ce66b4b8df4905c664e0bcf9eac3645b423d
MISC metadata.xml 762 BLAKE2B 591f38c882318a6564501cc61abe6222264b65adeaffaf3b23d959ee86b83bae33eaf99029229705f92070fa539fd6d63d8242afc38475904483a9a0b997effd SHA512 ea223d568a3c336a43b183efc61bd1f1a9d1e5e0e8d963275e0b23ee879551bc7d8aae797b1e2edba49d119ad306692599eb535c5d164ebee0c6721dfeab78dc
diff --git a/dev-lang/crystal/crystal-1.10.0.ebuild b/dev-lang/crystal/crystal-1.10.0-r1.ebuild
index fc6fe6558b18..281f3e30f477 100644
--- a/dev-lang/crystal/crystal-1.10.0.ebuild
+++ b/dev-lang/crystal/crystal-1.10.0-r1.ebuild
@@ -33,7 +33,7 @@ DEPEND="
dev-libs/gmp:=
dev-libs/libatomic_ops:=
dev-libs/libevent:=
- dev-libs/libpcre:=
+ dev-libs/libpcre2:=[unicode]
dev-libs/pcl:=
<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=
llvm-libunwind? ( sys-libs/llvm-libunwind:= )
diff --git a/dev-lang/crystal/crystal-1.10.1.ebuild b/dev-lang/crystal/crystal-1.10.1-r1.ebuild
index a650efd69f36..7c8e041ba186 100644
--- a/dev-lang/crystal/crystal-1.10.1.ebuild
+++ b/dev-lang/crystal/crystal-1.10.1-r1.ebuild
@@ -28,7 +28,7 @@ DEPEND="
dev-libs/gmp:=
dev-libs/libatomic_ops:=
dev-libs/libevent:=
- dev-libs/libpcre:=
+ dev-libs/libpcre2:=[unicode]
dev-libs/pcl:=
<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=
llvm-libunwind? ( sys-libs/llvm-libunwind:= )
diff --git a/dev-lang/crystal/crystal-1.9.2-r1.ebuild b/dev-lang/crystal/crystal-1.9.2-r2.ebuild
index 805f363fca45..0646d53e151b 100644
--- a/dev-lang/crystal/crystal-1.9.2-r1.ebuild
+++ b/dev-lang/crystal/crystal-1.9.2-r2.ebuild
@@ -28,7 +28,7 @@ DEPEND="
dev-libs/gmp:=
dev-libs/libatomic_ops:=
dev-libs/libevent:=
- dev-libs/libpcre:=
+ dev-libs/libpcre2:=[unicode]
dev-libs/pcl:=
<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=
llvm-libunwind? ( sys-libs/llvm-libunwind:= )
diff --git a/dev-lang/rapydscript-ng/Manifest b/dev-lang/rapydscript-ng/Manifest
new file mode 100644
index 000000000000..6472d8b42b2a
--- /dev/null
+++ b/dev-lang/rapydscript-ng/Manifest
@@ -0,0 +1,5 @@
+DIST rapydscript-ng-0.7.22.tar.gz 437745 BLAKE2B 5720a24743b0276a179a8c5da4c0f890f7c91a07968df7ac1e9c3a830d003fb4da7cfb124410428afe20cbf98429d6985750c129ab9ad01316a97d92793385ec SHA512 301d83c3a6715d2ae0e45bf344c48070273f160c3dccd3396788be360768c5df228b12f58f2eca3daea499bf6994a6cd0afc14c5cc590855d585d39753e06e00
+DIST rapydscript-ng-node_modules-0.7.22.tar.xz 2340024 BLAKE2B 7b4683ef86f639b7898d4120414844b7da15c86bcaee569be12dea29581d2aa594db713bd3ee8837bb05ffdea9f831b12302643c31eded3abaf3f88c59ac17e1 SHA512 8b26ffc4748b99a698aaa93e7a8e858b0071613596228ce880ff24889bc66171b4030dc568f0d60e52846ecb3b530c1f3adafd1fd2377ace726ee91f0a2a3c41
+EBUILD rapydscript-ng-0.7.22.ebuild 1816 BLAKE2B 29d8d383a0931619cfc50b9e0210e2498d3257290e11fd8b1117b38234115edd81e14f6ffba89e1f986a9f5c002fb253dbe5c278625794eba90ad6e9e511d5e6 SHA512 75342caf14e4a9b749c08adc12dc40999849926fde3e20df3953e94ebc149617316fdbe2491c6e0f1e5c0772fed3e78755b6daa0a114c1974f51d19bcad9ba1e
+EBUILD rapydscript-ng-9999.ebuild 1816 BLAKE2B 29d8d383a0931619cfc50b9e0210e2498d3257290e11fd8b1117b38234115edd81e14f6ffba89e1f986a9f5c002fb253dbe5c278625794eba90ad6e9e511d5e6 SHA512 75342caf14e4a9b749c08adc12dc40999849926fde3e20df3953e94ebc149617316fdbe2491c6e0f1e5c0772fed3e78755b6daa0a114c1974f51d19bcad9ba1e
+MISC metadata.xml 487 BLAKE2B 3be2d649691d5e79745a936501c448f3ff0d703c7cd5dd5af4ed6789e91e7b06e0b477bbd0387ad95afba6e3b75bcfac6d335938c75d71dc64693dd44328e33a SHA512 e5b6c74cc7eb0f03cd53eee77507abb248f3b10f417fc6819c6c782b6c08896d6cf43ed39abb6b67155ee8935574c8718a2f68eeb3fdde8eb4266e5d5a5ffa7a
diff --git a/dev-lang/rapydscript-ng/metadata.xml b/dev-lang/rapydscript-ng/metadata.xml
new file mode 100644
index 000000000000..ff2fd6660875
--- /dev/null
+++ b/dev-lang/rapydscript-ng/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>eschwartz93@gmail.com</email>
+ <name>Eli Schwartz</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kovidgoyal/rapydscript-ng</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lang/rapydscript-ng/rapydscript-ng-0.7.22.ebuild b/dev-lang/rapydscript-ng/rapydscript-ng-0.7.22.ebuild
new file mode 100644
index 000000000000..467e239b5828
--- /dev/null
+++ b/dev-lang/rapydscript-ng/rapydscript-ng-0.7.22.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2023 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"
+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
+}
diff --git a/dev-lang/rapydscript-ng/rapydscript-ng-9999.ebuild b/dev-lang/rapydscript-ng/rapydscript-ng-9999.ebuild
new file mode 100644
index 000000000000..467e239b5828
--- /dev/null
+++ b/dev-lang/rapydscript-ng/rapydscript-ng-9999.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2023 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"
+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
+}