commit:     271563b25cc23d95f5e46118316ab8efc6de3b00
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 19 02:52:34 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Feb 19 02:52:34 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=271563b2

dev-lang/duktape: add 2.7.0

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/duktape/Manifest                          |  1 +
 dev-lang/duktape/duktape-2.7.0.ebuild              | 43 ++++++++++++++++++++++
 .../files/duktape-2.7.0-respect-tc-env.patch       | 24 ++++++++++++
 3 files changed, 68 insertions(+)

diff --git a/dev-lang/duktape/Manifest b/dev-lang/duktape/Manifest
index a9ff63d0552c..10a6577ac5c0 100644
--- a/dev-lang/duktape/Manifest
+++ b/dev-lang/duktape/Manifest
@@ -1,3 +1,4 @@
 DIST duktape-2.4.0.tar.xz 1027744 BLAKE2B 
9fb74b0586a5ccf5ef80d69955ab0ddb94428d463e300a558b5ab6e279d2c416b794434466604caa80581883df85f889694af1dd3ea0aaa4a3d53babb855f3ef
 SHA512 
be6b7c73ae7c3419e8ced375fcff9680946e780b71d30e3be4e4e3b4b3a2710aa8f86530081c64958507a11fc215cacc5409c7d3a1d30b757838a00c748fa281
 DIST duktape-2.5.0.tar.xz 1031188 BLAKE2B 
15d9190e9c723bacf8249ea31bf528793ca06e86d2697648192fee50b4ba2f7cf091e1392ac14a7a5c35b05a3ff5f200e0318cc8a4b873ad26f0c97683a2cb72
 SHA512 
230e298a91cb48407d7c2a4b7c85cf9d53151d550e2fd7ba6cb8f9115682abce295fb78a3c3cd22b4812ce86944dd6d28c2b25c3845668a17232e3a08ea63837
 DIST duktape-2.6.0.tar.xz 1035160 BLAKE2B 
98155e1bf7e76aab37f5ccdb951d9d456df3d984ebed5058d8931e25317ffd94b4d95f08e102eb6eb2fa36ab6d2d60be6072b4101b7754e1c1440f7d6fb2c91b
 SHA512 
d72a2aaa05391fa243861aca6ca6082f91a08b9c5d60c7b246d35d7161532b0048bb67bd8fec7996c700ee317ac2bb52e528582682e5425b0431757d8b1c5be4
+DIST duktape-2.7.0.tar.xz 1026524 BLAKE2B 
da5eea88758201177f32c5611a3757433ef1b0173d6430eff1f067abd7535f3e4b9c3717290fbd8475827a53f7a2a74818287a65e563f14e91761f5cd0fe30d5
 SHA512 
8ff5465c9c335ea08ebb0d4a06569c991b9dc4661b63e10da6b123b882e7375e82291d6b883c2644902d68071a29ccc880dae8229447cebe710c910b54496c1d

diff --git a/dev-lang/duktape/duktape-2.7.0.ebuild 
b/dev-lang/duktape/duktape-2.7.0.ebuild
new file mode 100644
index 000000000000..31308f713bc1
--- /dev/null
+++ b/dev-lang/duktape/duktape-2.7.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Embeddable Javascript engine"
+HOMEPAGE="https://duktape.org";
+SRC_URI="https://duktape.org/${P}.tar.xz";
+
+LICENSE="MIT"
+# Upstream don't maintain binary compatibility
+# https://github.com/svaarala/duktape/issues/1524
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.7.0-respect-tc-env.patch
+)
+
+src_prepare() {
+       default
+
+       # Edit pkgconfig
+       sed "s#VERSION#${PV}#" "${FILESDIR}/${PN}.pc" > "${S}/${PN}.pc" || die
+       sed -i "s#LIBDIR#$(get_libdir)#" "${S}/${PN}.pc" || die
+
+       mv Makefile.sharedlibrary Makefile || die "failed to rename makefile"
+}
+
+src_compile() {
+       emake CC="$(tc-getCC)"
+}
+
+src_install() {
+       dodir /usr/$(get_libdir)
+       dodir /usr/include
+       emake INSTALL_PREFIX="${ED}"/usr LIBDIR="/$(get_libdir)" install
+
+       insinto /usr/$(get_libdir)/pkgconfig/
+       doins ${S}/${PN}.pc
+}

diff --git a/dev-lang/duktape/files/duktape-2.7.0-respect-tc-env.patch 
b/dev-lang/duktape/files/duktape-2.7.0-respect-tc-env.patch
new file mode 100644
index 000000000000..f29f9c7073a0
--- /dev/null
+++ b/dev-lang/duktape/files/duktape-2.7.0-respect-tc-env.patch
@@ -0,0 +1,24 @@
+diff --git a/Makefile.sharedlibrary b/Makefile.sharedlibrary
+index bf5c0cb..5862b4f 100644
+--- a/Makefile.sharedlibrary
++++ b/Makefile.sharedlibrary
+@@ -70,11 +70,11 @@ all: libduktape.$(SO_REALNAME_SUFFIX) 
libduktaped.$(SO_REALNAME_SUFFIX) duktape.
+ # to $INSTALL_PREFIX/include on installation.
+ 
+ libduktape.$(SO_REALNAME_SUFFIX):
+-      $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -Wall -Wextra -Os 
-Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \
++      $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -Wall -Wextra 
-Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \
+               -o $@ $(DUKTAPE_SRCDIR)/duktape.c
+ 
+ libduktaped.$(SO_REALNAME_SUFFIX):
+-      $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -g -Wall -Wextra 
-Os -Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) \
++      $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -Wall -Wextra 
-Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) \
+               -o $@ $(DUKTAPE_SRCDIR)/duktape.c
+ 
+ duktape.pc:
+@@ -101,4 +101,4 @@ install: libduktape.$(SO_REALNAME_SUFFIX) 
libduktaped.$(SO_REALNAME_SUFFIX) dukt
+ 
+ CCOPTS = -I./examples/cmdline
+ duk:
+-      $(CC) $(CCOPTS) -I$(INSTALL_PREFIX)/include 
-L$(INSTALL_PREFIX)$(LIBDIR) -Wall -Wextra -Os -o $@ 
./examples/cmdline/duk_cmdline.c -lduktape -lm
++      $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(CCOPTS) 
-I$(INSTALL_PREFIX)/include -L$(INSTALL_PREFIX)$(LIBDIR) -Wall -Wextra -o $@ 
./examples/cmdline/duk_cmdline.c -lduktape -lm

Reply via email to