diff options
author | yuri <yuri@FreeBSD.org> | 2019-12-05 12:12:20 +0800 |
---|---|---|
committer | yuri <yuri@FreeBSD.org> | 2019-12-05 12:12:20 +0800 |
commit | 3e3c77378f3a0a82d6b56fb21b038569421c9aaf (patch) | |
tree | 5b0a53a7be5dbc39f065cb56176805dcb1900058 /math | |
parent | de5c915efd25394ce35e5e91aaf60de9f099d37c (diff) | |
download | freebsd-ports-gnome-3e3c77378f3a0a82d6b56fb21b038569421c9aaf.tar.gz freebsd-ports-gnome-3e3c77378f3a0a82d6b56fb21b038569421c9aaf.tar.zst freebsd-ports-gnome-3e3c77378f3a0a82d6b56fb21b038569421c9aaf.zip |
New port: math/teyjus: Higher-order logic programming language Lambda Prolog
Diffstat (limited to 'math')
-rw-r--r-- | math/Makefile | 1 | ||||
-rw-r--r-- | math/teyjus/Makefile | 38 | ||||
-rw-r--r-- | math/teyjus/distinfo | 3 | ||||
-rw-r--r-- | math/teyjus/files/patch-source_OMakefile | 13 | ||||
-rw-r--r-- | math/teyjus/files/patch-source_compiler_OMakefile | 5 | ||||
-rw-r--r-- | math/teyjus/files/patch-source_include_standardlib.h | 15 | ||||
-rw-r--r-- | math/teyjus/pkg-descr | 19 |
7 files changed, 94 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile index 896af95e8b12..971675d21c44 100644 --- a/math/Makefile +++ b/math/Makefile @@ -868,6 +868,7 @@ SUBDIR += taucs SUBDIR += tblis SUBDIR += tetgen + SUBDIR += teyjus SUBDIR += timbl SUBDIR += tmv SUBDIR += tomsfastmath diff --git a/math/teyjus/Makefile b/math/teyjus/Makefile new file mode 100644 index 000000000000..3bf4124491f9 --- /dev/null +++ b/math/teyjus/Makefile @@ -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> diff --git a/math/teyjus/distinfo b/math/teyjus/distinfo new file mode 100644 index 000000000000..f1cc0a435d0c --- /dev/null +++ b/math/teyjus/distinfo @@ -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 diff --git a/math/teyjus/files/patch-source_OMakefile b/math/teyjus/files/patch-source_OMakefile new file mode 100644 index 000000000000..1300236dd6d0 --- /dev/null +++ b/math/teyjus/files/patch-source_OMakefile @@ -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 diff --git a/math/teyjus/files/patch-source_compiler_OMakefile b/math/teyjus/files/patch-source_compiler_OMakefile new file mode 100644 index 000000000000..4cc4b76e3c38 --- /dev/null +++ b/math/teyjus/files/patch-source_compiler_OMakefile @@ -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) diff --git a/math/teyjus/files/patch-source_include_standardlib.h b/math/teyjus/files/patch-source_include_standardlib.h new file mode 100644 index 000000000000..8444db56d8e6 --- /dev/null +++ b/math/teyjus/files/patch-source_include_standardlib.h @@ -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 diff --git a/math/teyjus/pkg-descr b/math/teyjus/pkg-descr new file mode 100644 index 000000000000..65d25533561f --- /dev/null +++ b/math/teyjus/pkg-descr @@ -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/ |