From f1af93971b7490792d8541bc790e0d8c6d787059 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 6 Sep 2019 10:28:05 +0100 Subject: gentoo resync : 06.08.2019 --- dev-lang/teyjus/Manifest | 6 +- ...ixes-arity-for-pervasive-modulo-operation.patch | 28 +++++ ...ing-literals-from-proper-character-groups.patch | 45 ++++++++ ...3-Removing-deprecated-function-String.set.patch | 51 +++++++++ dev-lang/teyjus/teyjus-2.0.2.ebuild | 117 --------------------- dev-lang/teyjus/teyjus-2.1-r1.ebuild | 112 ++++++++++++++++++++ 6 files changed, 240 insertions(+), 119 deletions(-) create mode 100644 dev-lang/teyjus/files/teyjus-2.1-p001-Fixes-arity-for-pervasive-modulo-operation.patch create mode 100644 dev-lang/teyjus/files/teyjus-2.1-p002-Add-string-literals-from-proper-character-groups.patch create mode 100644 dev-lang/teyjus/files/teyjus-2.1-p003-Removing-deprecated-function-String.set.patch delete mode 100644 dev-lang/teyjus/teyjus-2.0.2.ebuild create mode 100644 dev-lang/teyjus/teyjus-2.1-r1.ebuild (limited to 'dev-lang/teyjus') 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 +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 +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 +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 +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.0.2.ebuild deleted file mode 100644 index 41a6ffe77a02..000000000000 --- a/dev-lang/teyjus/teyjus-2.0.2.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit elisp-common multilib versionator - -MY_PN="${PN}-source" -MY_P=$(version_format_string '${MY_PN}-$1.$2-b$3') - -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" - -SLOT="0/${PV}" -KEYWORDS="~amd64 ~x86" -LICENSE="GPL-3" -IUSE="emacs examples +ocamlopt" - -RDEPEND=">=sys-devel/binutils-2.17:* - >=sys-devel/gcc-2.95.3:* - >=dev-lang/ocaml-3.10[ocamlopt?] - emacs? ( virtual/emacs )" -DEPEND="${RDEPEND} - dev-util/omake" - -S=${WORKDIR}/${PN} - -SITEFILE=50${PN}-gentoo.el - -src_prepare() { - default - eapply "${FILESDIR}/${PN}-2.0.2-flags.patch" - local cflags="" - for i in ${CFLAGS} - do - cflags="${cflags} -ccopt ${i}" - done - local lflags="" - for i in ${LDFLAGS} - do - lflags="${lflags} -cclib ${i}" - done - sed -e "s@CFLAGS +=@CFLAGS += ${CFLAGS}@" \ - -e "s@LDFLAGS +=@LDFLAGS += ${LDFLAGS}@" \ - -e "s@OCAMLFLAGS +=@OCAMLFLAGS +=${cflags}${lflags}@" \ - -i "${S}/source/OMakefile" \ - || die "Could not set flags in ${S}/teyjus/source/OMakefile" - if has_version ">=dev-lang/ocaml-4.03.0"; then - # bug 591368 - pushd "${S}/source" || die - sed -e 's@$(FNT)/ccode_stubs@$(FNT)/ccode_stubs_c@' \ - -e 's@\(FNT_ML_TO_C\[\] =\)@\1\n $(FNT)/ccode_stubs@' \ - -i OMakefile || die - cd "${S}/source/front" || die - mv ccode_stubs.mli ccode_stubs.ml || die - mv ccode_stubs.c ccode_stubs_c.c || die - popd || die - fi -} - -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" - if use emacs ; then - pushd "${S}/emacs" || die "Could change directory to emacs" - elisp-compile *.el || die "emacs elisp compile failed" - popd - fi -} - -ins_example_dir() { - dodir "/usr/share/${PN}/examples/${1}" - insinto "/usr/share/${PN}/examples/${1}" - cd "${S}/examples/${1}" - doins * -} - -src_install() { - newbin source/tjcc.opt tjcc - newbin source/tjdepend.opt tjdepend - newbin source/tjdis.opt tjdis - newbin source/tjlink.opt tjlink - newbin source/tjsim.opt tjsim - dodoc README - if use emacs ; then - elisp-install ${PN} emacs/*.{el,elc} - cp "${FILESDIR}"/${SITEFILE} "${S}" - sed -e 's@/usr/bin/tjcc@'${EPREFIX}/usr/bin/tjcc'@' -i ${SITEFILE} \ - || die "Could not set tjcc executable path in emacs site file" - elisp-site-file-install ${SITEFILE} - fi - if use examples; then - ins_example_dir "handbook/logic" - ins_example_dir "handbook/progs" - ins_example_dir "misc" - ins_example_dir "ndprover" - ins_example_dir "pcf" - fi -} - -pkg_postinst() { - if use emacs; then - elisp-site-regen - ewarn "For teyjus emacs, add this line to ~/.emacs" - ewarn "" - ewarn "(require 'teyjus)" - fi -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-lang/teyjus/teyjus-2.1-r1.ebuild b/dev-lang/teyjus/teyjus-2.1-r1.ebuild new file mode 100644 index 000000000000..4a0f0073b3ed --- /dev/null +++ b/dev-lang/teyjus/teyjus-2.1-r1.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit elisp-common multilib + +DESCRIPTION="Higher-order logic programming language Lambda Prolog" +HOMEPAGE="http://teyjus.cs.umn.edu/" +SRC_URI="https://github.com/teyjus/teyjus/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86" +LICENSE="GPL-3" +IUSE="emacs examples +ocamlopt" + +RDEPEND=">=sys-devel/binutils-2.17:* + >=sys-devel/gcc-2.95.3:* + >=dev-lang/ocaml-3.10[ocamlopt?] + emacs? ( virtual/emacs )" +DEPEND="${RDEPEND} + app-text/dos2unix + dev-util/omake" + +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 + local cflags="" + for i in ${CFLAGS} + do + cflags="${cflags} -ccopt ${i}" + done + local lflags="" + for i in ${LDFLAGS} + do + lflags="${lflags} -cclib ${i}" + done + 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 + # bug 591368 + pushd "${S}/source" || die + sed -e 's@$(FNT)/ccode_stubs@$(FNT)/ccode_stubs_c@' \ + -e 's@\(FNT_ML_TO_C\[\] =\)@\1\n $(FNT)/ccode_stubs@' \ + -i OMakefile || die + cd "${S}/source/front" || die + mv ccode_stubs.mli ccode_stubs.ml || die + mv ccode_stubs.c ccode_stubs_c.c || die + popd || die + fi +} + +src_compile() { + 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" + popd + fi +} + +ins_example_dir() { + dodir "/usr/share/${PN}/examples/${1}" + insinto "/usr/share/${PN}/examples/${1}" + cd "${S}/examples/${1}" + doins * +} + +src_install() { + newbin source/tjcc.opt tjcc + newbin source/tjdepend.opt tjdepend + newbin source/tjdis.opt tjdis + newbin source/tjlink.opt tjlink + newbin source/tjsim.opt tjsim + dodoc README.md QUICKSTART + if use emacs ; then + elisp-install ${PN} emacs/*.{el,elc} + cp "${FILESDIR}"/${SITEFILE} "${S}" + sed -e 's@/usr/bin/tjcc@'${EPREFIX}/usr/bin/tjcc'@' -i ${SITEFILE} \ + || die "Could not set tjcc executable path in emacs site file" + elisp-site-file-install ${SITEFILE} + fi + if use examples; then + ins_example_dir "handbook/logic" + ins_example_dir "handbook/progs" + ins_example_dir "misc" + ins_example_dir "ndprover" + ins_example_dir "pcf" + fi +} + +pkg_postinst() { + if use emacs; then + elisp-site-regen + ewarn "For teyjus emacs, add this line to ~/.emacs" + ewarn "" + ewarn "(require 'teyjus)" + fi +} + +pkg_postrm() { + use emacs && elisp-site-regen +} -- cgit v1.2.3