summaryrefslogtreecommitdiff
path: root/dev-lang/teyjus
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-09-06 10:28:05 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-09-06 10:28:05 +0100
commitf1af93971b7490792d8541bc790e0d8c6d787059 (patch)
treea38046712bbc3a3844d77452d16c84e716caa3d4 /dev-lang/teyjus
parentfc637fb28da700da71ec2064d65ca5a7a31b9c6c (diff)
gentoo resync : 06.08.2019
Diffstat (limited to 'dev-lang/teyjus')
-rw-r--r--dev-lang/teyjus/Manifest6
-rw-r--r--dev-lang/teyjus/files/teyjus-2.1-p001-Fixes-arity-for-pervasive-modulo-operation.patch28
-rw-r--r--dev-lang/teyjus/files/teyjus-2.1-p002-Add-string-literals-from-proper-character-groups.patch45
-rw-r--r--dev-lang/teyjus/files/teyjus-2.1-p003-Removing-deprecated-function-String.set.patch51
-rw-r--r--dev-lang/teyjus/teyjus-2.1-r1.ebuild (renamed from dev-lang/teyjus/teyjus-2.0.2.ebuild)35
5 files changed, 143 insertions, 22 deletions
diff --git a/dev-lang/teyjus/Manifest b/dev-lang/teyjus/Manifest
index cecf92f59805..678229e840d0 100644
--- a/dev-lang/teyjus/Manifest
+++ b/dev-lang/teyjus/Manifest
@@ -1,7 +1,9 @@
AUX 50teyjus-gentoo.el 74 BLAKE2B 877ca25928f4a497102a516f3495691cab2ac7421a22f95c687d8e7aaf0907fd638e234bb9e756f896f19bda117cb3ae01e1e98b251038315151c341f5615c24 SHA512 febf91bf3393d91cf1ecdd38b1b9f2e62f7bf8ca8de79e6a006238a82b909d46d7e0e4c92bf8ead39b5142710f548a8829b4e9473340225ecad9fa46b0972f35
AUX teyjus-2.0.2-flags.patch 375 BLAKE2B 22116727c8cb10d2a4149315c6acc6f9245d1949737628f9365d6b8031c39322ac91178693ad99b494d1c49f2db673bb193b0fd96d33a3f013b76080771b35d8 SHA512 9ef27bab05ac1cb0c64ae7141984dcf74e0b7bb9bbc223b78ce649d720ee110416e639bc49b28a12a30fe8a75cae9f346f6a1b8763a14c40a0f7e20125089eb0
+AUX teyjus-2.1-p001-Fixes-arity-for-pervasive-modulo-operation.patch 1144 BLAKE2B 1ed38015d73e575950a06cbb343f5cc3ed93f0e1da739c73189da3200cfcb59b72846c7c9e02f8328d968ef0c0b68b2d75422dbec4b0857ace80248b01784bc1 SHA512 ebe80c760007f68b14b87ee178cf0c031cd851e3c9d935a87469fe20f28048ded42a6898441bdd0fa730d2d8edb2d8b6122535ef167bf57180397d6638f354f1
+AUX teyjus-2.1-p002-Add-string-literals-from-proper-character-groups.patch 2083 BLAKE2B 4480c4cc607988fe4b55e5d0405298d37ca3f7364a694b750dd2a544a5cee71d27f84745a5559b33ed67ec215b389b349e9a73fa3d65ce6f69e949b6bc19e205 SHA512 9bca80da36bcb300fca23553205e1ce459e7b52e6d2b3a8b27e9e330413cd8b49ca928bd92d47fe16546854f945d05e2280143ff75cc45aa93d7850c2da8a916
+AUX teyjus-2.1-p003-Removing-deprecated-function-String.set.patch 1599 BLAKE2B e264e64eda3b877e1042fbef4173d4483697fab19e33ceb51176c65a57df651cc0566df486ab551cc50cbf43a47bf60cdfdbd72cc42a2156b195b4f711c06fc3 SHA512 627dd8328a33fa3489ba3da59b4e8c43202b327c27ddecbef2beeddaeecff9f749522d7d9e3e105781b1e60cd633a87aedff39a7e6aa0ec8e1f76556e58ff1f3
DIST teyjus-2.1.tar.gz 723763 BLAKE2B ab6a98c2d2291620b586ab0b419a214b0f7c0b27aad444324e5a417c1a0b27382e2d5c622f798ea88cab77853bca3305ec37904c50a7304ace20237afb993b91 SHA512 1f71d19502f4f4da00f635d2c3d4e141403182d65f039e0d43660edf84c5fcd900e7225ac92dc5bdbe0c8379c4e2ce6e27879af504fcfafddf2695a0c8a13379
-DIST teyjus-source-2.0-b2.tar.gz 465815 BLAKE2B 29d8cc2626144a77551a4cb47631a3b55d6edc33b3bf957c2b732144ce9566adb8d472b7ac423168605dcbabab507a4a3cd05b465b02fa0bbc3967a57183fc7c SHA512 071a25cd5341f7562f07dcaae1f87c35eb394ddab94a5160826c7fb2d9a51efea909b41947205503ebcc58df04388baf9eaf9f5a614186701940da29db1c1b29
-EBUILD teyjus-2.0.2.ebuild 3027 BLAKE2B 92c93ec4d7025691ec8af11de72de6dd6fc9e4e8188567b6daf37e20f0c990d2c6c06b795fb2b2b1cf33bd0c4e0a6bce262470f09b135938b358f06f8528cbe2 SHA512 85c11036d4fd3027fbea2136f6b3ac8faad53049bbef75ed2b448ef55e27e8b59bbee2e321b8f374b7de5602a810eeb4b3429fc97a71851a4447e8a4b23b7735
+EBUILD teyjus-2.1-r1.ebuild 2938 BLAKE2B c713ad568af551adc3f9ecd1e8e71e44d4956e4377de75fa8cefbe156ee2fcd0e55516f2b5a30f899e981ccd129a7ca6f723f2b6ece9140858731fe7f45e832a SHA512 c2dff73bc04710a4b92432d3334ab6cefd1c2d422fbc525bc7adcb4c8d5e5de6b6d32e3f1cba7702da4cefd88b826cf47dc5ca31e5cd1ffdcb6dfce89f991e22
EBUILD teyjus-2.1.ebuild 2897 BLAKE2B de6b991a07ded4592fa66307d461e36cc3a8f23a40c7e62987a18c2a7576c79c1b0bc02e09703e2165448a258a66b42dd14e465ee52c2072ecbf26b1dd822d67 SHA512 8f33c998b725169d57808b0a69578a20ffd8f54192a55d8f25761b6a38ea18b9ba96c1d7775447ba17ee245a5f1376476474dbf4e5ac5afd493c530e81f19ea7
MISC metadata.xml 1653 BLAKE2B a9c2315795d7eb61708ff4b163a0588900bcaea661b052a24f83834acbded91f3dabaa0a14525e1ff729175d7c17ac393946c21ae801b60efd591448b07b7c1c SHA512 5b82a25d9ef5e24c4c9bbd633b7de98f92ce79ae041c3056df6dd0471824c98884d1ef608352431c34aecdaa79736c7f163762206adb9207eeebca2886f5aa1b
diff --git a/dev-lang/teyjus/files/teyjus-2.1-p001-Fixes-arity-for-pervasive-modulo-operation.patch b/dev-lang/teyjus/files/teyjus-2.1-p001-Fixes-arity-for-pervasive-modulo-operation.patch
new file mode 100644
index 000000000000..0eb366f7c840
--- /dev/null
+++ b/dev-lang/teyjus/files/teyjus-2.1-p001-Fixes-arity-for-pervasive-modulo-operation.patch
@@ -0,0 +1,28 @@
+commit 4e53477a6685b515363f7123dbeeece4f60f103a
+Author: Fabien Renaud <fafounet@gmail.com>
+Date: Sun Aug 9 21:15:16 2015 +0200
+
+ Fixes arity for pervasive modulo operation
+
+diff --git a/source/tables_gen/pervasives/pervasives.in b/source/tables_gen/pervasives/pervasives.in
+index 2a332da..fcac330 100644
+--- a/source/tables_gen/pervasives/pervasives.in
++++ b/source/tables_gen/pervasives/pervasives.in
+@@ -91,8 +91,6 @@
+ TYPE 7 int -> int
+ /* unary minus on integers */
+ 56 %i~ intuminus 0 0 0 TRUE FALSE MAX PREFIX NOCODE -
+- /* modulus */
+- 61 mod mod 0 0 0 TRUE TRUE 160 INFIXL NOCODE
+ /* integer abs */
+ 63 %iabs iabs 0 0 0 TRUE TRUE 0 NOFIXITY NOCODE abs
+ ;;
+@@ -107,6 +105,8 @@
+ 59 %i* intmult 0 0 0 TRUE FALSE 160 INFIXL NOCODE *
+ /* integer division */
+ 60 div intdiv 0 0 0 TRUE FALSE 160 INFIXL NOCODE
++ /* modulus */
++ 61 mod mod 0 0 0 TRUE TRUE 160 INFIXL NOCODE
+ ;;
+
+ /* int -> int -> o */
diff --git a/dev-lang/teyjus/files/teyjus-2.1-p002-Add-string-literals-from-proper-character-groups.patch b/dev-lang/teyjus/files/teyjus-2.1-p002-Add-string-literals-from-proper-character-groups.patch
new file mode 100644
index 000000000000..0d5e4acbb913
--- /dev/null
+++ b/dev-lang/teyjus/files/teyjus-2.1-p002-Add-string-literals-from-proper-character-groups.patch
@@ -0,0 +1,45 @@
+commit 78ba2ba7e42d06e64a7a10915259a4e419aa4ce4
+Merge: 4e53477 bb9ba6a
+Author: fafounet <fafounet@gmail.com>
+Date: Sat Feb 27 13:10:59 2016 +0100
+
+ Merge pull request #104 from robblanco/string-literals
+
+ Add string literals from proper character groups
+
+commit bb9ba6a57969c9eeab5841923ca822756860163c
+Author: Rob Blanco <roberto.blanco@inria.fr>
+Date: Wed Feb 24 19:01:06 2016 +0100
+
+ Add string literals from proper character groups
+
+ Escape prefixes were included in the strings being passed to the
+ character composition functions, resulting in incorrect characters
+ being generated (in the case of control characters) or exceptions
+ being thrown (in octal and hex literals, in combination with the
+ OCaml-specific prefixes).
+
+diff --git a/source/compiler/lplex.mll b/source/compiler/lplex.mll
+index 6cb28cd..6b2576a 100644
+--- a/source/compiler/lplex.mll
++++ b/source/compiler/lplex.mll
+@@ -215,11 +215,14 @@ and stringstate = parse
+ | "\\\"" {addChar '"'; stringstate lexbuf}
+ | "\"\"" {addChar '"'; stringstate lexbuf}
+
+-| "\\^"['@'-'z'] as text {addControl text; stringstate lexbuf}
+-| "\\" OCTAL as text {addOctal text; stringstate lexbuf}
+-| "\\" (OCTAL OCTAL OCTAL) as text {addOctal text; stringstate lexbuf}
+-| "\\x" HEX as text {addHex text; stringstate lexbuf}
+-| "\\x" (HEX HEX) as text {addHex text; stringstate lexbuf}
++| "\\^" (['@'-'z'] as text) {addControl (String.make 1 text);
++ stringstate lexbuf}
++| "\\" (OCTAL as text) {addOctal (String.make 1 text);
++ stringstate lexbuf}
++| "\\" (OCTAL OCTAL OCTAL as text) {addOctal text; stringstate lexbuf}
++| "\\x" (HEX as text) {addHex (String.make 1 text);
++ stringstate lexbuf}
++| "\\x" (HEX HEX as text) {addHex text; stringstate lexbuf}
+
+ | "\\x" _ {Errormsg.error lexbuf.lex_curr_p
+ "Illegal hex character specification";
diff --git a/dev-lang/teyjus/files/teyjus-2.1-p003-Removing-deprecated-function-String.set.patch b/dev-lang/teyjus/files/teyjus-2.1-p003-Removing-deprecated-function-String.set.patch
new file mode 100644
index 000000000000..a6724a9093ac
--- /dev/null
+++ b/dev-lang/teyjus/files/teyjus-2.1-p003-Removing-deprecated-function-String.set.patch
@@ -0,0 +1,51 @@
+commit 38772fa56ed7edef88e71df8a69eea4f341968ed
+Author: Giselle Reis <giselle.mnr@gmail.com>
+Date: Fri Jul 26 15:28:03 2019 +0300
+
+ Removing deprecated function String.set
+
+ Teyjus will not build with a typecheck error
+ because String.set takes bytes, not a string. This
+ commit fixes this issue.
+ String.set is deprecated, so Bytes.set is used
+ instead.
+
+diff --git a/source/compiler/bytecode.ml b/source/compiler/bytecode.ml
+index 957c276..655ddab 100644
+--- a/source/compiler/bytecode.ml
++++ b/source/compiler/bytecode.ml
+@@ -248,28 +248,28 @@ let readWord () = readNBytes (getInChannel ()) (getWordSize ())
+ let readString () =
+ let input = getInChannel () in
+ let length = readNBytes input 4 in
+- let myString = String.make length ' ' in
++ let myString = Bytes.make length ' ' in
+ let rec readStringAux index =
+ if (index = length) then ()
+ else
+- (String.set myString index (input_char input);
++ (Bytes.set myString index (input_char input);
+ readStringAux (index + 1))
+ in
+ readStringAux 0;
+- myString
++ Bytes.to_string myString
+
+ let readLongString () =
+ let input = getInChannel() in
+ let length = readNBytes input 4 in
+- let myString = String.make length ' ' in
++ let myString = Bytes.make length ' ' in
+ let rec readStringAux index =
+ if (index = length) then ()
+ else
+- (String.set myString index (input_char input);
++ (Bytes.set myString index (input_char input);
+ readStringAux (index + 1))
+ in
+ readStringAux 0;
+- myString
++ Bytes.to_string myString
+
+ (* skip n bytes *)
+ let skipNBytes numberBytes =
diff --git a/dev-lang/teyjus/teyjus-2.0.2.ebuild b/dev-lang/teyjus/teyjus-2.1-r1.ebuild
index 41a6ffe77a02..4a0f0073b3ed 100644
--- a/dev-lang/teyjus/teyjus-2.0.2.ebuild
+++ b/dev-lang/teyjus/teyjus-2.1-r1.ebuild
@@ -1,16 +1,13 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI="7"
-inherit elisp-common multilib versionator
-
-MY_PN="${PN}-source"
-MY_P=$(version_format_string '${MY_PN}-$1.$2-b$3')
+inherit elisp-common multilib
DESCRIPTION="Higher-order logic programming language Lambda Prolog"
HOMEPAGE="http://teyjus.cs.umn.edu/"
-SRC_URI="https://teyjus.googlecode.com/files/${MY_P}.tar.gz"
+SRC_URI="https://github.com/teyjus/teyjus/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
@@ -22,15 +19,18 @@ RDEPEND=">=sys-devel/binutils-2.17:*
>=dev-lang/ocaml-3.10[ocamlopt?]
emacs? ( virtual/emacs )"
DEPEND="${RDEPEND}
+ app-text/dos2unix
dev-util/omake"
-S=${WORKDIR}/${PN}
-
SITEFILE=50${PN}-gentoo.el
+PATCHES=( "${FILESDIR}/${P}-p001-Fixes-arity-for-pervasive-modulo-operation.patch"
+ "${FILESDIR}/${P}-p002-Add-string-literals-from-proper-character-groups.patch"
+ "${FILESDIR}/${P}-p003-Removing-deprecated-function-String.set.patch")
+
src_prepare() {
+ find . -type f -exec dos2unix {} \;
default
- eapply "${FILESDIR}/${PN}-2.0.2-flags.patch"
local cflags=""
for i in ${CFLAGS}
do
@@ -41,9 +41,8 @@ src_prepare() {
do
lflags="${lflags} -cclib ${i}"
done
- sed -e "s@CFLAGS +=@CFLAGS += ${CFLAGS}@" \
- -e "s@LDFLAGS +=@LDFLAGS += ${LDFLAGS}@" \
- -e "s@OCAMLFLAGS +=@OCAMLFLAGS +=${cflags}${lflags}@" \
+ sed -e "s@\(OCAMLFLAGS= -w -A\)@\1 ${cflags}${lflags}@" \
+ -e "s@\(CFLAGS +=\) -g@\1 ${CFLAGS}\nLDFLAGS += ${LDFLAGS}@" \
-i "${S}/source/OMakefile" \
|| die "Could not set flags in ${S}/teyjus/source/OMakefile"
if has_version ">=dev-lang/ocaml-4.03.0"; then
@@ -60,12 +59,8 @@ src_prepare() {
}
src_compile() {
- addpredict "/usr/$(get_libdir)/omake/Pervasives.omc"
- addpredict "/usr/$(get_libdir)/omake/build/C.omc"
- addpredict "/usr/$(get_libdir)/omake/build/Common.omc"
- addpredict "/usr/$(get_libdir)/omake/configure/Configure.omc"
- addpredict "/usr/$(get_libdir)/omake/build/OCaml.omc"
- omake --verbose all || die "omake all failed"
+ export HOME="${T}"
+ omake --verbose --force-dotomake all || die "omake all failed"
if use emacs ; then
pushd "${S}/emacs" || die "Could change directory to emacs"
elisp-compile *.el || die "emacs elisp compile failed"
@@ -86,7 +81,7 @@ src_install() {
newbin source/tjdis.opt tjdis
newbin source/tjlink.opt tjlink
newbin source/tjsim.opt tjsim
- dodoc README
+ dodoc README.md QUICKSTART
if use emacs ; then
elisp-install ${PN} emacs/*.{el,elc}
cp "${FILESDIR}"/${SITEFILE} "${S}"