summaryrefslogtreecommitdiff
path: root/dev-ml/js_of_ocaml
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-ml/js_of_ocaml
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-ml/js_of_ocaml')
-rw-r--r--dev-ml/js_of_ocaml/Manifest8
-rw-r--r--dev-ml/js_of_ocaml/files/ocaml405.patch41
-rw-r--r--dev-ml/js_of_ocaml/files/ppx.patch11
-rw-r--r--dev-ml/js_of_ocaml/js_of_ocaml-2.8.4-r2.ebuild71
-rw-r--r--dev-ml/js_of_ocaml/js_of_ocaml-3.0.0.ebuild77
-rw-r--r--dev-ml/js_of_ocaml/js_of_ocaml-9999.ebuild75
-rw-r--r--dev-ml/js_of_ocaml/metadata.xml18
7 files changed, 301 insertions, 0 deletions
diff --git a/dev-ml/js_of_ocaml/Manifest b/dev-ml/js_of_ocaml/Manifest
new file mode 100644
index 000000000000..c54245439547
--- /dev/null
+++ b/dev-ml/js_of_ocaml/Manifest
@@ -0,0 +1,8 @@
+AUX ocaml405.patch 1795 BLAKE2B 63db628b51cbf8ef91d223f20109d82d4e4de971219b2974a135d76ef587ac72e61445875fe875f309c07b99c795da0e329823727446ce6cd563e116a5359448 SHA512 6256e9042d3077fdb1b39ed3972abc80a05719be74d63bd049cc35084e07f8eca2d57b74d0aeb299954d49c5c4f8609c2c052fb0a050957d81438a4fd6579370
+AUX ppx.patch 542 BLAKE2B 4ec12f99067e811412564f648ed63c0b894849fb1b19779df9ad6a504ae54eba1c9c26f9f269a742d53f50b2dd28d42d0ad64e484c0b13674e78767a3a8d8ff6 SHA512 f8220bad4ee7df4191d0e69d3283e09bb167769ddd14e7906780c0ef31308074fcffa063a28fb0b6479724f72e28c23592f57388e256f44701a50de309b6e7f7
+DIST js_of_ocaml-2.8.4.tar.gz 1344082 BLAKE2B f7f24e422a906d14ccf26b65de00c4d08726058cb14113c60527e337a14b6e2e65fc6dcda76dcffe3139c5fc7b5b2c1111ecb3ceaf820697581fed7cd35d097d SHA512 8dc65bac7d60f2d3534e31e0fddb061f1b97bfd8146b1a34b4a1a516574c6a39f66d115646aa9767b7e24a51ec76949b05841088601f97d76972c8899a50c4fd
+DIST js_of_ocaml-3.0.0.tar.gz 1433377 BLAKE2B c4d696adc90c8caacf725f7b691b9f57199385f6137356da8562d63b95c5089317064e36d343f524713df600e07f04d8b530b591cb5532f0dffa4ae143dd8f4b SHA512 dc4bbbfdacb43338aa7f97b7012b6de8a2eac5d7c5f535ceb9565c477c961a212ce5b2a75b1719fcd9f2d57938ee2162f6f04d3364397a469d7a13d1fe4e3908
+EBUILD js_of_ocaml-2.8.4-r2.ebuild 1939 BLAKE2B 1a4df5f22dbfb072132a1071950d98b5d1fc5b2e3c32600c8835b3c7ea7f767876316dad6fbbca07a81d16b1c5bd91b68ad430fcf430f0b78ddc15842f680ddb SHA512 ad5ccdb110f22c0d58b7c4e45833033a6cddd4320f800f5248536c71af6b7df307ad9d411b1b1c064afbae4d72e3cad89b080e86ca570e212b023b96ca76dc6f
+EBUILD js_of_ocaml-3.0.0.ebuild 1692 BLAKE2B d7c2d13b0d51c62ee8f0ccfbb74bfcc7e7584d8d005669aadb3773d0a59c08b87b41b5d1d97ea3098d0b39f6b40a5a58c2c7c4069912ab6733a8cd22350e6f59 SHA512 8e98827f163d82d7d0f1b9f52e3e0a946ae3c64a2c696b2461519b732e16a947dc4e04e01a63f083a9f8c84909ad31ea024b199d58aaf992723f198f2705f145
+EBUILD js_of_ocaml-9999.ebuild 1616 BLAKE2B 41a9a14e319f2560264a197ea12adacf7d40941a61e054f16d05c1028f76df158d36261564673cac38145c41bc596b0f233dfdd8c1ceff7921f4f81e8b1716df SHA512 6e751689aabce36b5868e36d7174849a674a9a86b2f7ccd29bbdc1fcab12794ac11ff12951b0b38ff88120512521a2931161c80a586029aca8ea9aaa14d544c8
+MISC metadata.xml 716 BLAKE2B 84f799a7fce1817468f82d16e4cea7bd78b1ce9b958e5ff8a3862239777bf382f73ebc7e98390d03e627d21e23c8cf52ddd3fb00f34b012b17048962fdcca026 SHA512 1029dde32c4d38fe8a9fcd23b071f7c6c66a51c5cb07aad75f36711eba76b6764b837ed97c076eb68203b754e35c0360be5fd7a2f08697621f51892ebaf32696
diff --git a/dev-ml/js_of_ocaml/files/ocaml405.patch b/dev-ml/js_of_ocaml/files/ocaml405.patch
new file mode 100644
index 000000000000..552dff425c46
--- /dev/null
+++ b/dev-ml/js_of_ocaml/files/ocaml405.patch
@@ -0,0 +1,41 @@
+Index: js_of_ocaml-2.8.4/lib/ppx/ppx_js.ml
+===================================================================
+--- js_of_ocaml-2.8.4.orig/lib/ppx/ppx_js.ml
++++ js_of_ocaml-2.8.4/lib/ppx/ppx_js.ml
+@@ -162,7 +162,8 @@ let invoker ?(extra_types = []) uplift d
+ {[ fun (type res t0 t1 ..) arg1 arg2 -> e ]}
+ *)
+ let local_types =
+- res :: List.map Arg.name (extra_types @ arguments)
++ List.map Location.mknoloc
++ (res :: List.map Arg.name (extra_types @ arguments))
+ in
+ let result = List.fold_right Exp.newtype local_types invoker in
+
+@@ -210,7 +211,7 @@ let method_call ~loc obj meth args =
+ (Exp.fun_ ~loc ~attrs:[merlin_noloc] Label.nolabel None
+ (Pat.var ~loc ~attrs:[merlin_noloc] (Location.mknoloc "x"))
+ (Exp.send ~loc ~attrs:[merlin_noloc]
+- (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) meth))]
++ (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) (Location.mknoloc meth)))]
+ )
+
+ (* {[ obj##.prop ]} generates
+@@ -244,7 +245,7 @@ let prop_get ~loc:_ ~prop_loc obj prop =
+ (Exp.fun_ ~loc:gloc Label.nolabel None
+ (Pat.var ~loc:gloc ~attrs:[merlin_noloc] (Location.mknoloc "x"))
+ (Exp.send ~loc:prop_loc ~attrs:[merlin_noloc]
+- (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) prop))
++ (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) (Location.mknoloc prop)))
+ ]
+ )
+
+@@ -289,7 +290,7 @@ let prop_set ~loc ~prop_loc obj prop val
+ (Exp.fun_ ~loc Label.nolabel None
+ (Pat.var ~loc:gloc ~attrs:[merlin_noloc] (Location.mknoloc "x"))
+ (Exp.send ~loc:prop_loc ~attrs:[merlin_noloc]
+- (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) prop))
++ (Exp.ident ~loc:gloc (lid ~loc:gloc "x")) (Location.mknoloc prop)))
+ ]
+ )
+
diff --git a/dev-ml/js_of_ocaml/files/ppx.patch b/dev-ml/js_of_ocaml/files/ppx.patch
new file mode 100644
index 000000000000..c46293f546da
--- /dev/null
+++ b/dev-ml/js_of_ocaml/files/ppx.patch
@@ -0,0 +1,11 @@
+Index: js_of_ocaml-2.8.4/lib/ppx_driver/ppx_js_driver.ml
+===================================================================
+--- js_of_ocaml-2.8.4.orig/lib/ppx_driver/ppx_js_driver.ml
++++ js_of_ocaml-2.8.4/lib/ppx_driver/ppx_js_driver.ml
+@@ -1,5 +1,5 @@
+ let () =
+ let js_mapper = Ppx_js.js_mapper [] in
+- Ppx_driver.register_transformation "js_of_ocaml"
++ Ppx_driver.register_transformation_using_ocaml_current_ast "js_of_ocaml"
+ ~impl:(js_mapper.Ast_mapper.structure js_mapper)
+ ~intf:(js_mapper.Ast_mapper.signature js_mapper)
diff --git a/dev-ml/js_of_ocaml/js_of_ocaml-2.8.4-r2.ebuild b/dev-ml/js_of_ocaml/js_of_ocaml-2.8.4-r2.ebuild
new file mode 100644
index 000000000000..ebc669e81c2a
--- /dev/null
+++ b/dev-ml/js_of_ocaml/js_of_ocaml-2.8.4-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="A compiler from OCaml bytecode to javascript"
+HOMEPAGE="http://ocsigen.org/js_of_ocaml/"
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/ocsigen/js_of_ocaml"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ocsigen/js_of_ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+IUSE="+ocamlopt doc +deriving +ppx +react +xml X"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.12:=[ocamlopt?,X?]
+ >=dev-ml/lwt-2.4.4:=[camlp4(+)]
+ react? ( dev-ml/react:= dev-ml/reactiveData:= )
+ xml? ( >=dev-ml/tyxml-4:= )
+ ppx? ( dev-ml/ppx_tools:= dev-ml/ppx_deriving:= dev-ml/ppx_driver:= )
+ dev-ml/cmdliner:=
+ dev-ml/menhir:=
+ dev-ml/ocaml-base64:=
+ dev-ml/camlp4:=
+ dev-ml/cppo:=
+ dev-ml/uchar:=
+ dev-ml/ocamlbuild:=
+ dev-ml/yojson:=
+ dev-ml/ocaml-migrate-parsetree:=
+ deriving? ( >=dev-ml/deriving-0.6:= )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/ppx.patch"
+ has_version '>=dev-lang/ocaml-4.05_rc' && epatch "${FILESDIR}/ocaml405.patch"
+}
+
+src_configure() {
+ printf "\n\n" >> Makefile.conf
+ use ocamlopt || echo "BEST := byte" >> Makefile.conf
+ use ocamlopt || echo "NATDYNLINK := NO" >> Makefile.conf
+ use deriving || echo "WITH_DERIVING := NO" >> Makefile.conf
+ use X || echo "WITH_GRAPHICS := NO" >> Makefile.conf
+ use react || echo "WITH_REACT := NO" >> Makefile.conf
+ use ppx || echo "WITH_PPX := NO" >> Makefile.conf
+ use ppx || echo "WITH_PPX_DERIVING := NO" >> Makefile.conf
+ use ppx || echo "WITH_PPX_DRIVER := NO" >> Makefile.conf
+ echo "WITH_ASYNC := NO" >> Makefile.conf
+}
+
+src_compile() {
+ emake -j1
+ use doc && emake doc
+}
+
+src_install() {
+ findlib_src_preinst
+ emake BINDIR="${ED}/usr/bin/" install
+ dodoc CHANGES README.md
+ use doc && dohtml -r doc/api/html/
+}
diff --git a/dev-ml/js_of_ocaml/js_of_ocaml-3.0.0.ebuild b/dev-ml/js_of_ocaml/js_of_ocaml-3.0.0.ebuild
new file mode 100644
index 000000000000..b7f93be62778
--- /dev/null
+++ b/dev-ml/js_of_ocaml/js_of_ocaml-3.0.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="A compiler from OCaml bytecode to javascript"
+HOMEPAGE="http://ocsigen.org/js_of_ocaml/"
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/ocsigen/js_of_ocaml"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ocsigen/js_of_ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ # Breaks dev-ml/eliom dev-ml/async_js dev-ml/ocsigen-toolkit
+ KEYWORDS=""
+ #KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+IUSE="+ocamlopt +camlp4 +lwt doc +deriving +ppx +xml test"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.12:=[ocamlopt?]
+
+ camlp4? ( dev-ml/camlp4:= )
+
+ dev-ml/cmdliner:=
+ dev-ml/cppo:=
+
+ lwt? ( >=dev-ml/lwt-2.4.4:= )
+
+ dev-ml/ocamlbuild:=
+
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppx_tools_versioned:=
+ dev-ml/uchar:=
+
+ ppx? ( dev-ml/ppx_tools:= dev-ml/ppx_deriving:= )
+
+ xml? ( >=dev-ml/tyxml-4:= dev-ml/reactiveData:= )
+"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/opam
+ test? ( dev-util/patdiff )
+"
+REQUIRED_USE="xml? ( ppx )"
+
+src_compile() {
+ emake
+ use doc && emake doc
+}
+
+oinstall() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ --mandir="${ED}/usr/share/man" \
+ ${1}.install || die
+}
+
+src_install() {
+ use camlp4 && oinstall js_of_ocaml-camlp4
+ oinstall js_of_ocaml-compiler
+ use lwt && oinstall js_of_ocaml-lwt
+ oinstall js_of_ocaml-ocamlbuild
+ oinstall js_of_ocaml
+ use ppx && oinstall js_of_ocaml-ppx
+ use ppx && oinstall js_of_ocaml-toplevel
+ use xml && oinstall js_of_ocaml-tyxml
+}
diff --git a/dev-ml/js_of_ocaml/js_of_ocaml-9999.ebuild b/dev-ml/js_of_ocaml/js_of_ocaml-9999.ebuild
new file mode 100644
index 000000000000..9fe8dff84edd
--- /dev/null
+++ b/dev-ml/js_of_ocaml/js_of_ocaml-9999.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit findlib eutils
+
+DESCRIPTION="A compiler from OCaml bytecode to javascript"
+HOMEPAGE="http://ocsigen.org/js_of_ocaml/"
+
+if [ "${PV#9999}" != "${PV}" ] ; then
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/ocsigen/js_of_ocaml"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/ocsigen/js_of_ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2.1-with-linking-exception"
+SLOT="0/${PV}"
+IUSE="+ocamlopt +camlp4 +lwt doc +deriving +ppx +xml test"
+
+RDEPEND="
+ >=dev-lang/ocaml-3.12:=[ocamlopt?]
+
+ camlp4? ( dev-ml/camlp4:= )
+
+ dev-ml/cmdliner:=
+ dev-ml/cppo:=
+
+ lwt? ( >=dev-ml/lwt-2.4.4:= )
+
+ dev-ml/ocamlbuild:=
+
+ dev-ml/ocaml-migrate-parsetree:=
+ dev-ml/ppx_tools_versioned:=
+ dev-ml/uchar:=
+
+ ppx? ( dev-ml/ppx_tools:= dev-ml/ppx_deriving:= )
+
+ xml? ( >=dev-ml/tyxml-4:= dev-ml/reactiveData:= )
+"
+DEPEND="${RDEPEND}
+ dev-ml/jbuilder
+ dev-ml/opam
+ test? ( dev-util/patdiff )
+"
+REQUIRED_USE="xml? ( ppx )"
+
+src_compile() {
+ emake
+ use doc && emake doc
+}
+
+oinstall() {
+ opam-installer -i \
+ --prefix="${ED}/usr" \
+ --libdir="${D}/$(ocamlc -where)" \
+ --docdir="${ED}/usr/share/doc/${PF}" \
+ --mandir="${ED}/usr/share/man" \
+ ${1}.install || die
+}
+
+src_install() {
+ use camlp4 && oinstall js_of_ocaml-camlp4
+ oinstall js_of_ocaml-compiler
+ use lwt && oinstall js_of_ocaml-lwt
+ oinstall js_of_ocaml-ocamlbuild
+ oinstall js_of_ocaml
+ use ppx && oinstall js_of_ocaml-ppx
+ use ppx && oinstall js_of_ocaml-toplevel
+ use xml && oinstall js_of_ocaml-tyxml
+}
diff --git a/dev-ml/js_of_ocaml/metadata.xml b/dev-ml/js_of_ocaml/metadata.xml
new file mode 100644
index 000000000000..0e7d31b0a342
--- /dev/null
+++ b/dev-ml/js_of_ocaml/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ml@gentoo.org</email>
+ <name>Gentoo ML Project</name>
+ </maintainer>
+ <use>
+ <flag name="camlp4">Build with camlp4 syntax extensions.</flag>
+ <flag name="deriving">Enable <pkg>dev-ml/deriving</pkg> support for improving the type safety.</flag>
+ <flag name="lwt">Enable <pkg>dev-ml/lwt</pkg> support.</flag>
+ <flag name="ppx">Enables the ppx syntax extension</flag>
+ <flag name="react">Enable functionnal reactive programming support.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ocsigen/js_of_ocaml</remote-id>
+ </upstream>
+</pkgmetadata>