mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
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
This commit is contained in:
@@ -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
|
||||
|
||||
36
dev-ml/reason-parser/files/menhir.patch
Normal file
36
dev-ml/reason-parser/files/menhir.patch
Normal file
@@ -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
|
||||
55
dev-ml/reason-parser/reason-parser-1.13.4.ebuild
Normal file
55
dev-ml/reason-parser/reason-parser-1.13.4.ebuild
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user