summaryrefslogtreecommitdiff
path: root/dev-lang/teyjus
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-lang/teyjus
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-lang/teyjus')
-rw-r--r--dev-lang/teyjus/Manifest9
-rw-r--r--dev-lang/teyjus/files/50teyjus-gentoo.el3
-rw-r--r--dev-lang/teyjus/files/teyjus-2.0.2-flags.patch14
-rw-r--r--dev-lang/teyjus/metadata.xml32
-rw-r--r--dev-lang/teyjus/teyjus-2.0.2.ebuild117
-rw-r--r--dev-lang/teyjus/teyjus-2.1.ebuild110
6 files changed, 285 insertions, 0 deletions
diff --git a/dev-lang/teyjus/Manifest b/dev-lang/teyjus/Manifest
new file mode 100644
index 000000000000..6ee6b896d57e
--- /dev/null
+++ b/dev-lang/teyjus/Manifest
@@ -0,0 +1,9 @@
+AUX 50teyjus-gentoo.el 74 SHA256 d2a70d0637f5ddfd4dbd2ab84ee513b4b90bd92f2f2e58e5e67394588cf0cd8d SHA512 febf91bf3393d91cf1ecdd38b1b9f2e62f7bf8ca8de79e6a006238a82b909d46d7e0e4c92bf8ead39b5142710f548a8829b4e9473340225ecad9fa46b0972f35 WHIRLPOOL d873b1e80ec2ec4b8dede40e782aac4696dc8d3c873f72683d6121160c2cfde8bbac6fc1516bacc3c7e1ad71f32ca2f253634b7c0af6ab8655ec4b4aac47c701
+AUX teyjus-2.0.2-flags.patch 375 SHA256 51cceb47ef18f19824d6a33673d00eee36ecf1ff5f476dbfe7eb2126f4297548 SHA512 9ef27bab05ac1cb0c64ae7141984dcf74e0b7bb9bbc223b78ce649d720ee110416e639bc49b28a12a30fe8a75cae9f346f6a1b8763a14c40a0f7e20125089eb0 WHIRLPOOL 56a16715b3553c8fe0ef3668213a4fba21272860896eb881f58e265be17362a8614ccca6b2d6517328611cd2c4d90ab7d1b1a10962b0149e73328fe092f7df18
+DIST teyjus-2.1.tar.gz 723763 SHA256 c9883a6e5a351dcc0ec5139824953434539e6b730476e171567b878ddee5230d SHA512 1f71d19502f4f4da00f635d2c3d4e141403182d65f039e0d43660edf84c5fcd900e7225ac92dc5bdbe0c8379c4e2ce6e27879af504fcfafddf2695a0c8a13379 WHIRLPOOL c02fba5be6325300c01b9c06878917c62f71aafe822bd26693c2bd8da56f5314b41c65aaf4d045c525434f9453a8bb831bc25629acec96474f2c59988fe6fad3
+DIST teyjus-source-2.0-b2.tar.gz 465815 SHA256 f589fb460d7095a6e674b7a6413772c41b98654c38602c3e8c477a976da99052 SHA512 071a25cd5341f7562f07dcaae1f87c35eb394ddab94a5160826c7fb2d9a51efea909b41947205503ebcc58df04388baf9eaf9f5a614186701940da29db1c1b29 WHIRLPOOL 0dfd8128d194ef5d6cf4fdf6d75c4c654ab834af6c090f595b2defd91645cc0fca4ae4a8483c7a77b4a7e8dae5b3c31069bf85d240538db2f88df69d6f7f42d0
+EBUILD teyjus-2.0.2.ebuild 3027 SHA256 ae9582129cea692ea329100f76a61000f7a0972d6a1b00d4867bab88a72beb13 SHA512 85c11036d4fd3027fbea2136f6b3ac8faad53049bbef75ed2b448ef55e27e8b59bbee2e321b8f374b7de5602a810eeb4b3429fc97a71851a4447e8a4b23b7735 WHIRLPOOL a7f9b9eabbe3cea4e2202d768a2fb3499454650781ee383d45dfd770b910657da4c71b1edf13aed30f8bdd427d09ca3511758330f871a833f916a5f010c3db00
+EBUILD teyjus-2.1.ebuild 2897 SHA256 f696f8e0c4356315c50e7e49d9aa243c894ade0146501199018fba1a7eebc267 SHA512 8f33c998b725169d57808b0a69578a20ffd8f54192a55d8f25761b6a38ea18b9ba96c1d7775447ba17ee245a5f1376476474dbf4e5ac5afd493c530e81f19ea7 WHIRLPOOL 9a2e5d7a1bee5b414f5d095645f27da7df79598c4e97631cc917a801d0522274a76caa321d61cbb202739914523aa8809c9a5fc1ee93722222daa51a5707332b
+MISC ChangeLog 2790 SHA256 06cddbdae566ae0b74e335985c67dccf3d7b30e7f059e2133b65fa0c1c24ed60 SHA512 834d6b79054cc0d6c98874883e0dbf6e0300f9983c766d0d764103e09d70c9dc1f1d286a07add98b4be1914326e61924b62ee7d143cdd3c7da8d8ce8dd33b939 WHIRLPOOL 163b6bb0ab1e8d4a1658826deedf2b5c96f284c31d2a4fa1555ea09479a47a337ef114d8a81d199cdba4c290692ef41cb7e8c9fc09b424e70b88a3b6969b737c
+MISC ChangeLog-2015 818 SHA256 5f023cf560e000662c558ec612826909a14a7ece6761a022b9197bd6c4549a2e SHA512 8c3e8af1ba40fe5fdfbc27ccb70f82f01e33e24fa9fb4379311530d7afcccbfb2f962cec25803ccb662a7c8737dedd73c42646d003a96dafa7db215fec66b92c WHIRLPOOL f6e1de2ba8068dc586c103a2296b06afda02e3b4ace2acae93334346aeb1d6454d9f32b711074a24bf4913bfe0675f269c0930263393a60a98f24317d9a4efe1
+MISC metadata.xml 1653 SHA256 2d3d41d5fdeaa5da9bed50e7750011cf9f2eac25b6b00db0f358c02ea3bfba3f SHA512 5b82a25d9ef5e24c4c9bbd633b7de98f92ce79ae041c3056df6dd0471824c98884d1ef608352431c34aecdaa79736c7f163762206adb9207eeebca2886f5aa1b WHIRLPOOL 84921cf5ba1c7fd42d9f0841f46fcb1a256caff00baac8207bf38f956e9e1fa76ed8e36bf075acb3c3ed28f309a6a4938a20cc6a6cba2abbd2bc21afc5997f04
diff --git a/dev-lang/teyjus/files/50teyjus-gentoo.el b/dev-lang/teyjus/files/50teyjus-gentoo.el
new file mode 100644
index 000000000000..7e05cdec7aec
--- /dev/null
+++ b/dev-lang/teyjus/files/50teyjus-gentoo.el
@@ -0,0 +1,3 @@
+;;; teyjus site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
diff --git a/dev-lang/teyjus/files/teyjus-2.0.2-flags.patch b/dev-lang/teyjus/files/teyjus-2.0.2-flags.patch
new file mode 100644
index 000000000000..dcccd25f9fe4
--- /dev/null
+++ b/dev-lang/teyjus/files/teyjus-2.0.2-flags.patch
@@ -0,0 +1,14 @@
+--- teyjus-orig/source/OMakefile 2008-11-17 07:52:31.000000000 +1100
++++ teyjus/source/OMakefile 2012-12-12 21:24:24.318557107 +1100
+@@ -19,7 +19,10 @@
+ #
+
+ OCAMLINCLUDES += $(CMP) $(DIS) $(SIM) $(LOD)
+-CFLAGS += -g
++CFLAGS +=
++LDFLAGS +=
++OCAMLFLAGS += -g
++OCAML_LINK_FLAGS +=
+
+ ############################################################
+ # Compilation files
diff --git a/dev-lang/teyjus/metadata.xml b/dev-lang/teyjus/metadata.xml
new file mode 100644
index 000000000000..472f7ac2b56a
--- /dev/null
+++ b/dev-lang/teyjus/metadata.xml
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gienah@gentoo.org</email>
+ <name>Mark Wright</name>
+ </maintainer>
+ <longdescription lang="en">
+The Teyjus system is an efficient implementation of the higher-order
+logic programming language Lambda Prolog. The main strength of Lambda
+Prolog, a language developed by Dale Miller and Gopalan Nadathur, is
+the support it offers for what is known as lambda tree syntax, a new
+and effective way to view the structure of complex syntactic objects
+such as types, formulas, proofs and programs. Lambda Prolog provides
+this support by using lambda terms as data representation devices and
+by including primitives for probing such terms in logically meaningful
+ways. The new features present in the language raise several
+implementation challenges that have been addressed in collaborative
+work between Nadathur and his students and colleagues. The name
+"Teyjus" actually stands both for a project and for a class of
+compiler and virtual machine based realizations of Lambda Prolog
+arising from the research carried out within this project. Underlying
+the most recent version of the Teyjus system is a new and
+significantly improved virtual machine that has been designed by
+Xiaochu Qi as part of her doctoral dissertation work at the University
+of Minnesota. This virtual machine extensively exploits a special form
+of higher-order unification known as pattern unification.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">teyjus/teyjus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lang/teyjus/teyjus-2.0.2.ebuild b/dev-lang/teyjus/teyjus-2.0.2.ebuild
new file mode 100644
index 000000000000..41a6ffe77a02
--- /dev/null
+++ b/dev-lang/teyjus/teyjus-2.0.2.ebuild
@@ -0,0 +1,117 @@
+# 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.ebuild b/dev-lang/teyjus/teyjus-2.1.ebuild
new file mode 100644
index 000000000000..051d659806b0
--- /dev/null
+++ b/dev-lang/teyjus/teyjus-2.1.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit elisp-common multilib versionator
+
+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}
+ dev-util/omake"
+
+SITEFILE=50${PN}-gentoo.el
+
+src_prepare() {
+ 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() {
+ 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.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
+}