commit:     c36a31787e9de77be4afc2d11c83513a52df1823
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 20 09:33:15 2017 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Thu Apr 20 09:33:15 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c36a3178

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

 dev-ml/reason-parser/Manifest                    |  1 +
 dev-ml/reason-parser/files/menhir.patch          | 36 ++++++++++++++++
 dev-ml/reason-parser/reason-parser-1.13.4.ebuild | 55 ++++++++++++++++++++++++
 3 files changed, 92 insertions(+)

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_jasonr...@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
+}

Reply via email to