1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-19 08:13:21 +00:00

New port: math/teyjus: Higher-order logic programming language Lambda Prolog

This commit is contained in:
Yuri Victorovich 2019-12-05 04:12:20 +00:00
parent 49d8b692bc
commit 8b867c996a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=519062
7 changed files with 94 additions and 0 deletions

View File

@ -868,6 +868,7 @@
SUBDIR += taucs
SUBDIR += tblis
SUBDIR += tetgen
SUBDIR += teyjus
SUBDIR += timbl
SUBDIR += tmv
SUBDIR += tomsfastmath

38
math/teyjus/Makefile Normal file
View File

@ -0,0 +1,38 @@
# $FreeBSD$
PORTNAME= teyjus
DISTVERSIONPREFIX= v
DISTVERSION= 2.1-7
DISTVERSIONSUFFIX= -ge63f40a
CATEGORIES= math lang
MAINTAINER= yuri@FreeBSD.org
COMMENT= Higher-order logic programming language Lambda Prolog
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ocamlopt:lang/ocaml \
omake:devel/omake \
bash:shells/bash
USES= dos2unix shebangfix
DOS2UNIX_FILES= source/OMakefile
SHBANG_GLOB= run_test
USE_GITHUB= yes
EXES= tjcc tjdepend tjdis tjlink tjsim
PLIST_FILES= ${EXES:S/^/bin\//}
post-patch:
@${FIND} ${WRKSRC} -name run_test | ${XARGS} ${REINPLACE_CMD} 's|#!/bin/bash|#!${LOCALBASE}/bin/bash|'
do-build:
@cd ${WRKSRC} && omake
do-install:
.for e in ${EXES}
${INSTALL_PROGRAM} ${WRKSRC}/source/${e}.opt ${STAGEDIR}${PREFIX}/bin/${e}
.endfor
.include <bsd.port.mk>

3
math/teyjus/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1575264560
SHA256 (teyjus-teyjus-v2.1-7-ge63f40a_GH0.tar.gz) = 6531808ad7dfe3527581defc1d8841881070274ef04fe3772e056a96a4dc3162
SIZE (teyjus-teyjus-v2.1-7-ge63f40a_GH0.tar.gz) = 724248

View File

@ -0,0 +1,13 @@
--- source/OMakefile.orig 2019-12-03 03:41:53 UTC
+++ source/OMakefile
@@ -208,6 +208,10 @@ if $(mem $(SYSNAME), OpenBSD)
INC_C[] += $(INC)/search
export
+if $(mem $(SYSNAME), FreeBSD)
+ INC_C[] += $(INC)/search
+ export
+
############################################################
# Generated Files

View File

@ -0,0 +1,5 @@
--- source/compiler/OMakefile.orig 2019-12-03 04:31:49 UTC
+++ source/compiler/OMakefile
@@ -1 +1,2 @@
+NATIVE_ENABLED = true
OCamlGeneratedFiles(lplex.ml lpyacc.ml)

View File

@ -0,0 +1,15 @@
--- source/include/standardlib.h.orig 2019-12-02 05:46:28 UTC
+++ source/include/standardlib.h
@@ -79,9 +79,9 @@ typedef unsigned __int64 u_int64_t;
# include <unistd.h>
# include <sys/endian.h>
// Use the functions from byteorder(3)
-# define bswap_16(x) swap16(x)
-# define bswap_32(x) swap32(x)
-# define bswap_64(x) swap64(x)
+# define bswap_16(x) bswap16(x)
+# define bswap_32(x) bswap32(x)
+# define bswap_64(x) bswap64(x)
// __WORDSIZE is non-standard and should be inferred otherhow
# if defined(__x86_64__) || defined(__amd64__) || defined(__LP64__)
# define __WORDSIZE 64

19
math/teyjus/pkg-descr Normal file
View File

@ -0,0 +1,19 @@
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.
WWW: http://teyjus.cs.umn.edu/