1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 inherit elisp-common multilib versionator
8 DESCRIPTION="Higher-order logic programming language Lambda Prolog"
9 HOMEPAGE="http://teyjus.cs.umn.edu/"
10 SRC_URI="https://github.com/teyjus/teyjus/archive/v${PV}.tar.gz -> ${P}.tar.gz"
13 KEYWORDS="~amd64 ~x86"
15 IUSE="emacs examples +ocamlopt"
17 RDEPEND=">=sys-devel/binutils-2.17:*
18 >=sys-devel/gcc-2.95.3:*
19 >=dev-lang/ocaml-3.10[ocamlopt?]
20 emacs? ( >=app-editors/emacs-23.1:* )"
24 SITEFILE=50${PN}-gentoo.el
31 cflags="${cflags} -ccopt ${i}"
36 lflags="${lflags} -cclib ${i}"
38 sed -e "s@\(OCAMLFLAGS= -w -A\)@\1 ${cflags}${lflags}@" \
39 -e "s@\(CFLAGS +=\) -g@\1 ${CFLAGS}\nLDFLAGS += ${LDFLAGS}@" \
40 -i "${S}/source/OMakefile" \
41 || die "Could not set flags in ${S}/teyjus/source/OMakefile"
42 if has_version ">=dev-lang/ocaml-4.03.0"; then
44 pushd "${S}/source" || die
45 sed -e 's@$(FNT)/ccode_stubs@$(FNT)/ccode_stubs_c@' \
46 -e 's@\(FNT_ML_TO_C\[\] =\)@\1\n $(FNT)/ccode_stubs@' \
48 cd "${S}/source/front" || die
49 mv ccode_stubs.mli ccode_stubs.ml || die
50 mv ccode_stubs.c ccode_stubs_c.c || die
56 addpredict "/usr/$(get_libdir)/omake/Pervasives.omc"
57 addpredict "/usr/$(get_libdir)/omake/build/C.omc"
58 addpredict "/usr/$(get_libdir)/omake/build/Common.omc"
59 addpredict "/usr/$(get_libdir)/omake/configure/Configure.omc"
60 addpredict "/usr/$(get_libdir)/omake/build/OCaml.omc"
61 omake --verbose all || die "omake all failed"
63 pushd "${S}/emacs" || die "Could change directory to emacs"
64 elisp-compile *.el || die "emacs elisp compile failed"
70 dodir "/usr/share/${PN}/examples/${1}"
71 insinto "/usr/share/${PN}/examples/${1}"
72 cd "${S}/examples/${1}"
77 newbin source/tjcc.opt tjcc
78 newbin source/tjdepend.opt tjdepend
79 newbin source/tjdis.opt tjdis
80 newbin source/tjlink.opt tjlink
81 newbin source/tjsim.opt tjsim
82 dodoc README.md QUICKSTART
84 elisp-install ${PN} emacs/*.{el,elc}
85 cp "${FILESDIR}"/${SITEFILE} "${S}"
86 sed -e 's@/usr/bin/tjcc@'${EPREFIX}/usr/bin/tjcc'@' -i ${SITEFILE} \
87 || die "Could not set tjcc executable path in emacs site file"
88 elisp-site-file-install ${SITEFILE}
91 ins_example_dir "handbook/logic"
92 ins_example_dir "handbook/progs"
93 ins_example_dir "misc"
94 ins_example_dir "ndprover"
102 ewarn "For teyjus emacs, add this line to ~/.emacs"
104 ewarn "(require 'teyjus)"
109 use emacs && elisp-site-regen