commit:     ae0c81ea37d33d8d5ac629c212ec2ea57951862e
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Wed Oct 18 21:13:28 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 19 21:03:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae0c81ea

dev-lang/rapydscript-ng: new package, add 0.7.22, 9999

build dependency of app-text/calibre, needed to rebuild javascript
assets from source when unbundling dev-libs/mathjax-3.

Because this is nodejs software, we must suffer. Upon advice, I have
taken the route of making a live ebuild that not ::gentoo-quality, which
is "acceptable" for a live ebuild even if maybe in an ideal world live
ebuilds would not need this either. ;) The live ebuild can then be used
to generate a release assets tarball that doesn't download totally
random content from the internet in a stable release ebuild that wants
to actually get keyworded.

[sam: Update SRC_URI.]

Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/33419
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/rapydscript-ng/Manifest                   |  2 +
 dev-lang/rapydscript-ng/metadata.xml               | 15 +++++
 .../rapydscript-ng/rapydscript-ng-0.7.22.ebuild    | 75 ++++++++++++++++++++++
 dev-lang/rapydscript-ng/rapydscript-ng-9999.ebuild | 75 ++++++++++++++++++++++
 profiles/arch/amd64/x32/package.mask               |  4 ++
 5 files changed, 171 insertions(+)

diff --git a/dev-lang/rapydscript-ng/Manifest b/dev-lang/rapydscript-ng/Manifest
new file mode 100644
index 000000000000..2bcf41ce830d
--- /dev/null
+++ b/dev-lang/rapydscript-ng/Manifest
@@ -0,0 +1,2 @@
+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

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>[email protected]</email>
+               <name>Eli Schwartz</name>
+       </maintainer>
+       <maintainer type="project" proxied="proxy">
+               <email>[email protected]</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
+}

diff --git a/profiles/arch/amd64/x32/package.mask 
b/profiles/arch/amd64/x32/package.mask
index 7d16a818b0fc..39e48f0b998e 100644
--- a/profiles/arch/amd64/x32/package.mask
+++ b/profiles/arch/amd64/x32/package.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+# Eli Schwartz <[email protected]> (2023-10-19)
+# Requires net-libs/nodejs which is unavailable on amd64/x32.
+dev-lang/rapydscript-ng
+
 # Maciej Barć <[email protected]> (2023-10-07)
 # Requires net-libs/nodejs which is unavailable on amd64/x32.
 app-containers/devcontainer

Reply via email to