summaryrefslogtreecommitdiff
path: root/dev-lua/luvit
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lua/luvit')
-rw-r--r--dev-lua/luvit/Manifest7
-rw-r--r--dev-lua/luvit/files/luvit-0.7.0-unbundle-http-parser.patch54
-rw-r--r--dev-lua/luvit/luvit-0.7.0.ebuild93
-rw-r--r--dev-lua/luvit/luvit-0.8.2.ebuild94
-rw-r--r--dev-lua/luvit/luvit-9999.ebuild101
-rw-r--r--dev-lua/luvit/metadata.xml8
6 files changed, 357 insertions, 0 deletions
diff --git a/dev-lua/luvit/Manifest b/dev-lua/luvit/Manifest
new file mode 100644
index 000000000000..b45cb9215713
--- /dev/null
+++ b/dev-lua/luvit/Manifest
@@ -0,0 +1,7 @@
+AUX luvit-0.7.0-unbundle-http-parser.patch 1383 BLAKE2B 7b28d44ff91b9f599db4fc224dd471573e40c98caaa2404675d02cfc4de581457393952e4c793dd8ae55aedf133cd22e52ef6114670ae4d03ac0439dc6bab5f4 SHA512 0aefa90e3e10e557e59523f2d052aad8eb4f235471b34cf650a380f27faf97fa83cff6d1ae3c3f1e7642db839db8f0660c2ff2aa8e950041b3e1b3452d04619f
+DIST luvit-0.7.0.tar.gz 6440621 BLAKE2B 03cde753f19441bf408c3985704d9042bdbb217368d2effdb494c650038dd2f6a01acd81a73c8bd6e2ef5648d017eb27a8728f4ea568d62f9a94812cf19fe767 SHA512 9a2366d7033f685bdaed9d8fc22b74e570a6b2b5f0c2e5ecdea6b92776e12fed7ec8fa6c84ff457bdfc8849a7ee79c27803577857b3263e20c1fc53b87383b12
+DIST luvit-0.8.2.tar.gz 7126452 BLAKE2B fc08b9964883ad0708cfeec0740171936daa8e58b43ff587eecbe3986f86e46d850a67b47e7a14880c67b9abe650b5cac3bcffab1c6fb2a42f965f38663aa292 SHA512 46ce9e99d1a002697bb777000d97849135805c3b36344880c1d5cb48c648c7252ec440af35a78eb595d7706d11dc85f76e72c72569e2b3d26e2747b870f98c2b
+EBUILD luvit-0.7.0.ebuild 2162 BLAKE2B f7174ac4f2ed634360cffbd0fdc982325b79faf00912a9eee0d4de22785e9f8497c87e19f79819572cf611c9c46156a2a5c56e296c149745e6e78002b0153738 SHA512 191c8af8628f3560cd05899ff89b4333005e7efca09fb9a4cabeb572773e2f941818c0c45c6e1190c6402a1b2d6053bf05d6dee1f91d24fa455423598ed062fb
+EBUILD luvit-0.8.2.ebuild 2232 BLAKE2B f1c9f8b279f34c77a6e04ed6ac3ce118dc132c6a7c255022f60acfc552ef7e75824046e998318a936cf0c742e22cea4f6985df9a41c446aee98a5dba76909b52 SHA512 4d07fcaa70a0250e7960021ea73c972ea213d0b4f73d8455660713d08e6081620e9667b6fb4b8990fa8199c856853e4eee9f68105167e3bd86a9b21b941ba375
+EBUILD luvit-9999.ebuild 2425 BLAKE2B b625935d72facd0934674d6b6b93c8588ede4ad0baa87288fddd8b73acea37add5ca008c9993995bb96c0d9a3dcb1cd5f3523b56c620b71a7c830404abbf9d5c SHA512 082c7144b04be678eecbb1424a97b182d51730c5cf293c89c36d3cc1f36a8c0558be43c19c72ad6b6090194cb393836761f6a3926003366c704b4df647835ec2
+MISC metadata.xml 256 BLAKE2B 4770083294f5244f4cbac3512b31f2842b85efbe2d31a801f8937e0f0e616e8940c5f3c32836ab5404a29d4c07cb048a871360487d308eb68d01b7d97970ada6 SHA512 a8a13bfb63fbe12ba3f7753aff5fcd7711dcc1e5918d17fa67d0a9daaead72657f180538137148dfa70319ca0bb852c9c24416f9248564611caf75f68fa6f1eb
diff --git a/dev-lua/luvit/files/luvit-0.7.0-unbundle-http-parser.patch b/dev-lua/luvit/files/luvit-0.7.0-unbundle-http-parser.patch
new file mode 100644
index 000000000000..d9ae8568c140
--- /dev/null
+++ b/dev-lua/luvit/files/luvit-0.7.0-unbundle-http-parser.patch
@@ -0,0 +1,54 @@
+commit b34b7b0474878d1951637b762c68694c16c1c574
+Author: hasufell <hasufell@gentoo.org>
+Date: Sun Jun 30 22:37:10 2013 +0200
+
+ unbundle http-parser
+
+diff --git a/Makefile b/Makefile
+index a0e9277..99535ca 100644
+--- a/Makefile
++++ b/Makefile
+@@ -40,6 +40,7 @@ USE_SYSTEM_SSL?=0
+ USE_SYSTEM_LUAJIT?=0
+ USE_SYSTEM_ZLIB?=0
+ USE_SYSTEM_YAJL?=0
++USE_SYSTEM_HTTPPARSER?=0
+
+ DEBUG ?= 1
+ ifeq (${DEBUG},1)
+@@ -95,6 +96,10 @@ endif
+ LIBS += ${UVDIR}/libuv.a
+ LIBS += ${CARESDIR}/libcares.a
+
++ifeq (${USE_SYSTEM_HTTPPARSER},1)
++LIBS += -lhttp_parser
++endif
++
+ ifeq (${USE_SYSTEM_LUAJIT},1)
+ CPPFLAGS+=$(shell pkg-config --cflags luajit)
+ LIBS+=$(shell pkg-config --libs luajit)
+@@ -174,8 +179,11 @@ LUVLIBS=${BUILDDIR}/utils.o \
+ ${BUILDDIR}/lhttp_parser.o
+
+ DEPS= ${UVDIR}/libuv.a \
+- ${CARESDIR}/libcares.a \
+- ${HTTPDIR}/http_parser.o
++ ${CARESDIR}/libcares.a
++
++ifeq (${USE_SYSTEM_HTTPPARSER},0)
++DEPS += ${HTTPDIR}/http_parser.o
++endif
+
+ ifeq (${USE_SYSTEM_LUAJIT},0)
+ DEPS+=${LUADIR}/src/libluajit.a
+@@ -290,8 +298,10 @@ install: all
+ install ${BUILDDIR}/luvit ${BINDIR}/luvit
+ mkdir -p ${LIBDIR}
+ cp lib/luvit/*.lua ${LIBDIR}
++ifeq (${USE_SYSTEM_HTTPPARSER},0)
+ mkdir -p ${INCDIR}/http_parser
+ cp ${HTTPDIR}/http_parser.h ${INCDIR}/http_parser/
++endif
+ mkdir -p ${INCDIR}/uv
+ cp -r ${UVDIR}/include/* ${INCDIR}/uv/
+ cp src/*.h ${INCDIR}/
diff --git a/dev-lua/luvit/luvit-0.7.0.ebuild b/dev-lua/luvit/luvit-0.7.0.ebuild
new file mode 100644
index 000000000000..da21771c0b31
--- /dev/null
+++ b/dev-lua/luvit/luvit-0.7.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs multilib
+
+# TODO: FHS https://github.com/luvit/luvit/issues/379
+
+DESCRIPTION="Takes node.js' architecture and dependencies and fits it in the Lua language"
+HOMEPAGE="https://luvit.io/"
+SRC_URI="https://luvit.io/dist/latest/${P}.tar.gz"
+
+KEYWORDS="amd64 x86"
+SLOT="0"
+IUSE="bundled-libs examples"
+# luvit Apache-2.0
+# luajit MIT
+# yajl BSD
+LICENSE="Apache-2.0 bundled-libs? ( BSD MIT )"
+
+# fails in portage environment
+# succeeds if run manually
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/openssl:0
+ sys-libs/zlib
+ !bundled-libs? (
+ dev-lang/luajit:2[lua52compat]
+ >=dev-libs/yajl-2.0.2
+ net-libs/http-parser
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ rm -r deps/{openssl,zlib} || die
+ epatch "${FILESDIR}"/${P}-unbundle-http-parser.patch
+ if use bundled-libs ; then
+ sed -i \
+ -e "s/-Werror//" \
+ -e "s/-O3//" \
+ deps/http-parser/Makefile || die "fixing flags failed!"
+ else
+ rm -r deps/{luajit,yajl,http-parser} || die
+ # TODO: no version detection for http-parser yet
+ MY_YAJL_VERSION=$($(tc-getPKG_CONFIG) --modversion yajl)
+ MY_LUAJIT_VERSION=$($(tc-getPKG_CONFIG) --modversion luajit)
+ sed -i \
+ -e "s:^YAJL_VERSION=.*:YAJL_VERSION=${MY_YAJL_VERSION}:" \
+ -e "s:^LUAJIT_VERSION=.*:LUAJIT_VERSION=${MY_LUAJIT_VERSION}:" \
+ Makefile || die "setting yajl version failed"
+ fi
+
+}
+
+src_configure() {
+ # skip retarded gyp build system
+ :
+}
+
+src_compile() {
+ tc-export CC AR
+
+ emake -C deps/cares
+
+ myemakeargs=(
+ DEBUG=0
+ WERROR=0
+ USE_SYSTEM_SSL=1
+ # bundled luajit is compiled with special flags
+ USE_SYSTEM_LUAJIT=$(usex bundled-libs "0" "1")
+ USE_SYSTEM_YAJL=$(usex bundled-libs "0" "1")
+ USE_SYSTEM_HTTPPARSER=$(usex bundled-libs "0" "1")
+ USE_SYSTEM_ZLIB=1
+ PREFIX=/usr
+ LIBDIR="${D%/}"/usr/$(get_libdir)/${PN}
+ DESTDIR="${D}"
+ )
+
+ emake "${myemakeargs[@]}" all
+}
+
+src_install() {
+ emake "${myemakeargs[@]}" install
+ dodoc TODO ChangeLog README.markdown errors.markdown
+
+ if use examples ; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-lua/luvit/luvit-0.8.2.ebuild b/dev-lua/luvit/luvit-0.8.2.ebuild
new file mode 100644
index 000000000000..9dedec697b3b
--- /dev/null
+++ b/dev-lua/luvit/luvit-0.8.2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs multilib
+
+# TODO: FHS https://github.com/luvit/luvit/issues/379
+
+DESCRIPTION="Takes node.js' architecture and dependencies and fits it in the Lua language"
+HOMEPAGE="https://luvit.io/"
+SRC_URI="https://luvit.io/dist/latest/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="bundled-libs examples libressl"
+# luvit Apache-2.0
+# luajit MIT
+# yajl BSD
+LICENSE="Apache-2.0 bundled-libs? ( BSD MIT )"
+
+# fails in portage environment
+# succeeds if run manually
+RESTRICT="test"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ sys-libs/zlib
+ !bundled-libs? (
+ dev-lang/luajit:2[lua52compat]
+ >=dev-libs/yajl-2.0.2
+ net-libs/http-parser
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ rm -r deps/{openssl,zlib} || die
+ epatch "${FILESDIR}"/${PN}-0.7.0-unbundle-http-parser.patch
+ if use bundled-libs ; then
+ sed -i \
+ -e "s/-Werror//" \
+ -e "s/-O3//" \
+ deps/http-parser/Makefile || die "fixing flags failed!"
+ else
+ rm -r deps/{luajit,yajl,http-parser} || die
+ # TODO: no version detection for http-parser yet
+ MY_YAJL_VERSION=$($(tc-getPKG_CONFIG) --modversion yajl)
+ MY_LUAJIT_VERSION=$($(tc-getPKG_CONFIG) --modversion luajit)
+ sed -i \
+ -e "s:^YAJL_VERSION=.*:YAJL_VERSION=${MY_YAJL_VERSION}:" \
+ -e "s:^LUAJIT_VERSION=.*:LUAJIT_VERSION=${MY_LUAJIT_VERSION}:" \
+ Makefile || die "setting yajl version failed"
+ fi
+
+}
+
+src_configure() {
+ # skip retarded gyp build system
+ :
+}
+
+src_compile() {
+ tc-export CC AR
+
+ emake -C deps/cares
+
+ myemakeargs=(
+ DEBUG=0
+ WERROR=0
+ USE_SYSTEM_SSL=1
+ # bundled luajit is compiled with special flags
+ USE_SYSTEM_LUAJIT=$(usex bundled-libs "0" "1")
+ USE_SYSTEM_YAJL=$(usex bundled-libs "0" "1")
+ USE_SYSTEM_HTTPPARSER=$(usex bundled-libs "0" "1")
+ USE_SYSTEM_ZLIB=1
+ PREFIX=/usr
+ LIBDIR="${D%/}"/usr/$(get_libdir)/${PN}
+ DESTDIR="${D}"
+ )
+
+ emake "${myemakeargs[@]}" all
+}
+
+src_install() {
+ emake "${myemakeargs[@]}" install
+ dodoc TODO ChangeLog README.markdown errors.markdown
+
+ if use examples ; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-lua/luvit/luvit-9999.ebuild b/dev-lua/luvit/luvit-9999.ebuild
new file mode 100644
index 000000000000..5718d425719e
--- /dev/null
+++ b/dev-lua/luvit/luvit-9999.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit toolchain-funcs multilib git-2
+
+# TODO: FHS https://github.com/luvit/luvit/issues/379
+
+DESCRIPTION="Takes node.js' architecture and dependencies and fits it in the Lua language"
+HOMEPAGE="https://luvit.io/"
+EGIT_REPO_URI="https://github.com/luvit/luvit.git"
+
+KEYWORDS=""
+SLOT="0"
+IUSE="bundled-libs examples libressl"
+# luvit Apache-2.0
+# luajit MIT
+# yajl BSD
+LICENSE="Apache-2.0 bundled-libs? ( BSD MIT )"
+
+# fails in portage environment
+# succeeds if run manually
+RESTRICT="test"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ sys-libs/zlib
+ !bundled-libs? (
+ dev-lang/luajit:2[lua52compat]
+ >=dev-libs/yajl-2.0.4
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+EGIT_HAS_SUBMODULES=1
+
+src_prepare() {
+ rm -r deps/{openssl,zlib} || die
+
+ if use bundled-libs ; then
+ MY_YAJL_VERSION=$(git --git-dir deps/yajl/.git describe --tags)
+ MY_LUAJIT_VERSION=$(git --git-dir deps/luajit/.git describe --tags)
+ else
+ rm -r deps/{luajit,yajl} || die
+ MY_YAJL_VERSION=$($(tc-getPKG_CONFIG) --modversion yajl)
+ MY_LUAJIT_VERSION=$($(tc-getPKG_CONFIG) --modversion luajit)
+ fi
+
+ MY_HTTP_VERSION=$(git --git-dir deps/http-parser/.git describe --tags)
+ MY_UV_VERSION=$(git --git-dir deps/uv/.git describe --all --long | cut -f 3 -d -)
+
+ sed \
+ -e "s:^YAJL_VERSION=.*:YAJL_VERSION=${MY_YAJL_VERSION}:" \
+ -e "s:^LUAJIT_VERSION=.*:LUAJIT_VERSION=${MY_LUAJIT_VERSION}:" \
+ -e "s:^HTTP_VERSION=.*:HTTP_VERSION=${MY_HTTP_VERSION}:" \
+ -e "s:^UV_VERSION.*:UV_VERSION=${MY_UV_VERSION}:" \
+ -i Makefile || die "sed failed"
+
+ sed -i \
+ -e "s/-Werror//" \
+ -e "s/-O3//" \
+ deps/http-parser/Makefile || die "fixing flags failed!"
+}
+
+src_configure() {
+ # skip retarded gyp build system
+ :
+}
+
+src_compile() {
+ tc-export CC AR
+
+ emake -C deps/cares
+
+ myemakeargs=(
+ DEBUG=0
+ WERROR=0
+ USE_SYSTEM_SSL=1
+ USE_SYSTEM_ZLIB=1
+ # bundled luajit is compiled with special flags
+ USE_SYSTEM_LUAJIT=$(usex bundled-libs "0" "1")
+ USE_SYSTEM_YAJL=$(usex bundled-libs "0" "1")
+ PREFIX=/usr
+ LIBDIR="${D}"/usr/$(get_libdir)/${PN}
+ DESTDIR="${D}"
+ )
+
+ emake "${myemakeargs[@]}" all
+}
+
+src_install() {
+ emake "${myemakeargs[@]}" install
+ dodoc TODO ChangeLog README.markdown errors.markdown
+
+ if use examples ; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-lua/luvit/metadata.xml b/dev-lua/luvit/metadata.xml
new file mode 100644
index 000000000000..dc16404b528a
--- /dev/null
+++ b/dev-lua/luvit/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <use>
+ <flag name="bundled-libs">Use bundled versions of some libraries.</flag>
+ </use>
+</pkgmetadata>