diff options
-rw-r--r-- | dev-lang/duktape/Manifest | 1 | ||||
-rw-r--r-- | dev-lang/duktape/duktape-2.6.0.ebuild | 51 | ||||
-rw-r--r-- | dev-lang/duktape/files/duktape-2.6.0-respect-tc-env.patch | 33 |
3 files changed, 85 insertions, 0 deletions
diff --git a/dev-lang/duktape/Manifest b/dev-lang/duktape/Manifest index 7099c24cff5b..a9ff63d0552c 100644 --- a/dev-lang/duktape/Manifest +++ b/dev-lang/duktape/Manifest @@ -1,2 +1,3 @@ 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 diff --git a/dev-lang/duktape/duktape-2.6.0.ebuild b/dev-lang/duktape/duktape-2.6.0.ebuild new file mode 100644 index 000000000000..f84cdd45b4bd --- /dev/null +++ b/dev-lang/duktape/duktape-2.6.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +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 ~x86" + +PATCHES=( + "${FILESDIR}/${PN}-2.6.0-respect-tc-env.patch" +) + +src_prepare() { + # Set install path + sed -i "s#INSTALL_PREFIX = /usr/local#INSTALL_PREFIX = ${D%/}/usr#" \ + Makefile.sharedlibrary || die "failed to set install path" + + # Edit pkgconfig + sed "s#VERSION#${PV}#" "${FILESDIR}/${PN}.pc" > "${S}/${PN}.pc" || die + sed -i "s#LIBDIR#$(get_libdir)#" "${S}/${PN}.pc" || die + + # Set lib folder + sed -i "s#(INSTALL_PREFIX)/lib#(INSTALL_PREFIX)/$(get_libdir)#" \ + Makefile.sharedlibrary || die + + mv Makefile.sharedlibrary Makefile || die "failed to rename makefile" + + default +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + dodir /usr/$(get_libdir) + dodir /usr/include + emake install + + insinto /usr/$(get_libdir)/pkgconfig/ + doins "${S}/${PN}.pc" +} diff --git a/dev-lang/duktape/files/duktape-2.6.0-respect-tc-env.patch b/dev-lang/duktape/files/duktape-2.6.0-respect-tc-env.patch new file mode 100644 index 000000000000..ab58e7f9a6d7 --- /dev/null +++ b/dev-lang/duktape/files/duktape-2.6.0-respect-tc-env.patch @@ -0,0 +1,33 @@ +diff --git a/Makefile b/Makefile +index 156ea96..a0997b1 100644 +--- a/Makefile ++++ b/Makefile +@@ -52,7 +52,7 @@ INSTALL_PREFIX = /var/tmp/portage/dev-lang/duktape-2.6.0/image/usr + DUKTAPE_SRCDIR = ./src + #DUKTAPE_SRCDIR = ./src-noline + +-CC = gcc ++CC ?= gcc + + .PHONY: all + all: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX) +@@ -62,11 +62,11 @@ all: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX) + # to $INSTALL_PREFIX/include on installation. + + libduktape.$(SO_REALNAME_SUFFIX): +- $(CC) -shared -fPIC -Wall -Wextra -Os -Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \ ++ $(CC) -shared -fPIC ${CFLAGS} ${LDFLAGS} -Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) -lm \ + -o $@ $(DUKTAPE_SRCDIR)/duktape.c + + libduktaped.$(SO_REALNAME_SUFFIX): +- $(CC) -shared -fPIC -g -Wall -Wextra -Os -Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) \ ++ $(CC) -shared -fPIC ${CFLAGS} ${LDFLAGS} -Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) -lm \ + -o $@ $(DUKTAPE_SRCDIR)/duktape.c + + # Symlinks depend on platform conventions. +@@ -85,4 +85,4 @@ install: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX) + + CCOPTS = -I./examples/cmdline + duk: +- $(CC) $(CCOPTS) -I$(INSTALL_PREFIX)/include -L$(INSTALL_PREFIX)/lib64 -Wall -Wextra -Os -o $@ ./examples/cmdline/duk_cmdline.c -lduktape -lm ++ $(CC) $(CCOPTS) -I$(INSTALL_PREFIX)/include -L$(INSTALL_PREFIX)/lib64 ${CFLAGS} -o $@ ./examples/cmdline/duk_cmdline.c -lduktape -lm |