From c36a31787e9de77be4afc2d11c83513a52df1823 Mon Sep 17 00:00:00 2001 From: Alexis Ballier Date: Thu, 20 Apr 2017 11:33:15 +0200 Subject: 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(+) create mode 100644 dev-ml/reason-parser/files/menhir.patch create mode 100644 dev-ml/reason-parser/reason-parser-1.13.4.ebuild (limited to 'dev-ml') diff --git a/dev-ml/reason-parser/Manifest b/dev-ml/reason-parser/Manifest index 8a45cb0d2a84..4d9702169576 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 000000000000..6c028eee34b0 --- /dev/null +++ b/dev-ml/reason-parser/files/menhir.patch @@ -0,0 +1,36 @@ +commit 2c15b2f2783b6ab44fe09387019f0918146c2895 +Author: Jason Rose +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 000000000000..c02afbc39bb5 --- /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 +} -- cgit v1.2.3-65-gdbad