summaryrefslogtreecommitdiff
path: root/lang/twelf/Makefile
diff options
context:
space:
mode:
authorkristerw <kristerw>2003-01-22 22:41:21 +0000
committerkristerw <kristerw>2003-01-22 22:41:21 +0000
commit61eb8d994c32ca5af9d6a96fdc4d6fbac527bfb2 (patch)
treeb04084ad61dd54118627c33224d370fdb1503f0f /lang/twelf/Makefile
parent087c71d67bbcea69744cc2d1941bcf21ea795e74 (diff)
downloadpkgsrc-61eb8d994c32ca5af9d6a96fdc4d6fbac527bfb2.tar.gz
Initial import of twelf-1.4 as contributed by Christopher Richards in
PR 18497. From http://www.twelf.org, heavily edited: Twelf is a research project concerned with the design, implementation, and application of logical frameworks. It provides a uniform meta-language for specifying, implementing, and proving properties of programming languages and logics. Example suites include Cartesian Closed Categories and lambda-calculus, the Church-Rosser theorem for the untyped lambda-calculus, Mini-ML including type preservation and compilation, cut elimination, theory of logic programming, and Hilbert's deduction theorem. The principal authors of Twelf are Frank Pfenning and Carsten Schuermann, with major contrubtions by Brigitte Pientka, Roberto Virga, and Kevin Watkins.
Diffstat (limited to 'lang/twelf/Makefile')
-rw-r--r--lang/twelf/Makefile82
1 files changed, 82 insertions, 0 deletions
diff --git a/lang/twelf/Makefile b/lang/twelf/Makefile
new file mode 100644
index 00000000000..81d45effc12
--- /dev/null
+++ b/lang/twelf/Makefile
@@ -0,0 +1,82 @@
+# $NetBSD: Makefile,v 1.1.1.1 2003/01/22 22:41:23 kristerw Exp $
+#
+
+DISTNAME= twelf-1-4
+PKGNAME= twelf-1.4
+CATEGORIES= lang
+MASTER_SITES= http://www.cs.cmu.edu/~twelf/dist/
+
+MAINTAINER= richards+netbsd@CS.Princeton.EDU
+HOMEPAGE= http://www.cs.cmu.edu/~twelf/
+COMMENT= Meta-language for proving properties of languages and logics
+
+DEPENDS+= sml-nj>=110.38:../../lang/sml-nj
+
+RESTRICTED= License terms not specified; assume no redistribution rights
+NO_SRC_ON_FTP= ${RESTRICTED}
+NO_SRC_ON_CDROM= ${RESTRICTED}
+NO_BIN_ON_FTP= ${RESTRICTED}
+NO_BIN_ON_CDROM= ${RESTRICTED}
+
+WRKSRC= ${WRKDIR}/twelf
+MAKEFILE= smlnj/Makefile
+MAKEFLAGS+= sml=${PREFIX:Q}/bin/sml
+ALL_TARGET= twelf-server twelf-sml
+
+TWELF_LIBDIR= ${PREFIX}/lib/twelf
+TWELF_EMACSDIR= ${EMACS_LISPPREFIX}/twelf
+TWELF_DOCDIR= ${PREFIX}/share/doc/twelf
+TWELF_EXAMPLEDIR= ${PREFIX}/share/examples/twelf
+
+#
+# Everything up until "post-extract" is taken from lang/sml-nj/Makefile.
+# There ought to be a buildlink2.mk for SML/NJ instead, since every
+# SML/NJ-built package will require this kind of PLIST handling.
+#
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "SunOS"
+OS= ${LOWER_OPSYS}
+.elif ${OPSYS} == "NetBSD"
+OS= bsd
+.endif
+
+.if ${MACHINE_ARCH} == "sparc"
+BOX= sparc
+.elif ${MACHINE_ARCH} == "i386"
+BOX= x86
+.endif
+
+PLIST_SUBST+= BOX=${BOX} OS=${OS}
+
+post-extract:
+ ${CHMOD} -R +r ${WRKSRC}
+
+post-patch:
+.for f in bin/.mkexec emacs/twelf-init.el
+ ${CP} ${WRKSRC}/${f} ${WRKSRC}/${f}.orig
+ ${SED} -e 's:@TWELF_LIBDIR@:'${TWELF_LIBDIR}':g' \
+ ${WRKSRC}/${f}.orig > ${WRKSRC}/${f}
+.endfor
+
+do-install:
+ ${INSTALL_DATA_DIR} ${TWELF_LIBDIR}
+ cd ${WRKSRC} && ${PAX} -rw -pam bin ${TWELF_LIBDIR}
+ ${LN} -sf ${TWELF_LIBDIR}/bin/* ${PREFIX}/bin
+
+ ${INSTALL_DATA_DIR} ${TWELF_EMACSDIR}
+ cd ${WRKSRC}/emacs && ${PAX} -rw -pam * ${TWELF_EMACSDIR}
+ ${LN} -sf ${TWELF_EMACSDIR} ${TWELF_LIBDIR}/emacs
+
+ ${INSTALL_DATA_DIR} ${TWELF_DOCDIR}
+ cd ${WRKSRC}/doc && ${PAX} -rw -pam * ${TWELF_DOCDIR}
+ ${LN} -sf ${TWELF_DOCDIR} ${TWELF_LIBDIR}/doc
+
+ ${INSTALL_DATA_DIR} ${TWELF_EXAMPLEDIR}
+ cd ${WRKSRC}/examples && ${PAX} -rw -pam * ${TWELF_EXAMPLEDIR}
+ ${LN} -sf ${TWELF_EXAMPLEDIR} ${TWELF_LIBDIR}/examples
+
+.include "../../mk/emacs.mk"
+.include "../../mk/texinfo.mk"
+.include "../../mk/bsd.pkg.mk"