summaryrefslogtreecommitdiff
path: root/dev-ml/reason-parser
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2017-04-20 11:33:15 +0200
committerAlexis Ballier <aballier@gentoo.org>2017-04-20 11:33:15 +0200
commitc36a31787e9de77be4afc2d11c83513a52df1823 (patch)
treeee9ba050297d3e97d26c44390ffb6cdf481b0a78 /dev-ml/reason-parser
parentfa47822a43566361d1b9475e605ee24abcb5780e (diff)
downloadgentoo-c36a31787e9de77be4afc2d11c83513a52df1823.tar.gz
gentoo-c36a31787e9de77be4afc2d11c83513a52df1823.tar.xz
dev-ml/reason-parser: Bump to 1.13.4 and backport upstream fix for latest menhir, bug #616024
Package-Manager: Portage-2.3.5, Repoman-2.3.2
Diffstat (limited to 'dev-ml/reason-parser')
-rw-r--r--dev-ml/reason-parser/Manifest1
-rw-r--r--dev-ml/reason-parser/files/menhir.patch36
-rw-r--r--dev-ml/reason-parser/reason-parser-1.13.4.ebuild55
3 files changed, 92 insertions, 0 deletions
diff --git a/dev-ml/reason-parser/Manifest b/dev-ml/reason-parser/Manifest
index 8a45cb0d2a8..4d970216957 100644
--- a/dev-ml/reason-parser/Manifest
+++ b/dev-ml/reason-parser/Manifest
@@ -1 +1,2 @@
DIST reason-parser-1.13.3.tar.gz 10253108 SHA256 b92840f8238dd6266c5678da3e4dc832776bcc98990ac47773020e34dce708a6 SHA512 82398fbbf72bcadfc868e5f33e8666ef80ef610f8313d08bc16593944569b7a16693fcc6397a117518bf8e32f71083f0ac4a416112f97cd220715f4293136b84 WHIRLPOOL a82dd8e28a012ed0716fba6bc79eee849110bfb42cd8221eb15847cadae90d62d909e635f3da465c6220382d6eee62f2f69a739d96d3d6a5baddc58623cd059e
+DIST reason-parser-1.13.4.tar.gz 6856260 SHA256 07b0f4a471b570b9f6ee699016d2fb9d98788d1ccfb428a2b2f20f1ee6f42b9e SHA512 ee2270ffbb3c3c818aafec2ef0f23f3741e66e5b077b3a84b49b357b003d24d639165c521bf0afe92bf81ef626ed6d863ea6d097b83a2e1b5a0349a679cc8c7f WHIRLPOOL ffc8b96ce5b653c1d78877f0422315cce3d42615b88bb6f09f52d3af9799fe30ed221094a5acbc49448f0d1e865b1702a2b5956a8d327a22b2db01eb33aa0da7
diff --git a/dev-ml/reason-parser/files/menhir.patch b/dev-ml/reason-parser/files/menhir.patch
new file mode 100644
index 00000000000..6c028eee34b
--- /dev/null
+++ b/dev-ml/reason-parser/files/menhir.patch
@@ -0,0 +1,36 @@
+commit 2c15b2f2783b6ab44fe09387019f0918146c2895
+Author: Jason Rose <jasoncrose+github_jasonrose@gmail.com>
+Date: Wed Apr 19 17:49:42 2017 -0700
+
+ Supporting menhir.20170416 (#1226)
+
+diff --git a/reason-parser/src/reason_toolchain.ml b/reason-parser/src/reason_toolchain.ml
+index 6c70d93..7f98586 100644
+--- a/reason-parser/src/reason_toolchain.ml
++++ b/reason-parser/src/reason_toolchain.ml
+@@ -506,20 +506,16 @@ module JS_syntax = struct
+ if in_error then
+ begin
+ match supplier.last_token with
++ | None -> assert false
+ | Some triple ->
+ (* We just recovered from the error state, try the original token again *)
+ let checkpoint_with_previous_token = I.offer checkpoint triple in
+- let accept_new = I.loop_test
+- (fun _ _ -> true)
+- checkpoint_with_previous_token
+- false
+- in
+- if accept_new then
+- loop_handle_yacc supplier false checkpoint_with_previous_token
+- else
++ match I.shifts checkpoint_with_previous_token with
++ | None ->
+ (* The original token still fail to be parsed, discard *)
+ loop_handle_yacc supplier false checkpoint
+- | None -> assert false
++ | Some env ->
++ loop_handle_yacc supplier false checkpoint_with_previous_token
+ end
+ else
+ let triple = read supplier in
diff --git a/dev-ml/reason-parser/reason-parser-1.13.4.ebuild b/dev-ml/reason-parser/reason-parser-1.13.4.ebuild
new file mode 100644
index 00000000000..c02afbc39bb
--- /dev/null
+++ b/dev-ml/reason-parser/reason-parser-1.13.4.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit findlib eutils
+
+DESCRIPTION="Meta Language Toolchain"
+HOMEPAGE="https://github.com/facebook/reason"
+SRC_URI="https://github.com/facebook/reason/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="+ocamlopt"
+
+DEPEND="
+ dev-lang/ocaml:=[ocamlopt?]
+ >=dev-ml/menhir-20170418:=
+ dev-ml/merlin-extend:=
+ dev-ml/result:=
+ dev-ml/topkg:=
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppx_tools_versioned:=
+"
+RDEPEND="${DEPEND}"
+DEPEND="${DEPEND}
+ dev-ml/ocamlbuild
+ dev-ml/opam
+"
+
+S="${WORKDIR}/reason-${PV}/${PN}"
+
+src_prepare() {
+ epatch "${FILESDIR}/menhir.patch"
+ default
+}
+
+src_compile() {
+ emake compile_error
+ ocamlbuild -package topkg pkg/build.native || die
+ ./build.native build \
+ --native "$(usex ocamlopt true false)" \
+ --native-dynlink "$(usex ocamlopt true false)" \
+ || die
+}
+
+src_install() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ --mandir="${ED}/usr/share/man" \
+ ${PN}.install || die
+}