Sat Feb 25 18:01:44 2023 UTC ()
lang/hamlet: import hamlet-2.0.0

HaMLet is a faithful and complete implementation of the Standard
ML programming language (SML'97). It aims to be

  * an accurate reference implementation of the language specification,
  * a platform for experimentation with the language semantics or
    extensions to it,
  * a useful tool for educational purposes.

The implementation is intended to be as direct a translation of
the language formalisation found in the Definition of Standard ML
as possible, modulo bug fixes. It tries hard to get all details of
the Definition right. The HaMLet source code

  * implements complete Standard ML,
  * closely follows the structure of the Definition, with lots of
    cross references,
  * conforms to the latest version of the Standard ML Basis Library,
    is written entirely in Standard ML, with the ability to bootstrap,
  * may readily be compiled with SML/NJ, MLton, Moscow ML, Poly/ML,
    Alice ML, the ML Kit, or SML#.


(ryoon)
diff -r0 -r1.1 pkgsrc/lang/hamlet/DESCR
diff -r0 -r1.1 pkgsrc/lang/hamlet/Makefile
diff -r0 -r1.1 pkgsrc/lang/hamlet/PLIST
diff -r0 -r1.1 pkgsrc/lang/hamlet/distinfo
diff -r0 -r1.1 pkgsrc/lang/hamlet/patches/patch-Makefile

File Added: pkgsrc/lang/hamlet/DESCR
HaMLet is a faithful and complete implementation of the Standard
ML programming language (SML'97). It aims to be

  * an accurate reference implementation of the language specification,
  * a platform for experimentation with the language semantics or
    extensions to it,
  * a useful tool for educational purposes.

The implementation is intended to be as direct a translation of
the language formalisation found in the Definition of Standard ML
as possible, modulo bug fixes. It tries hard to get all details of
the Definition right. The HaMLet source code

  * implements complete Standard ML,
  * closely follows the structure of the Definition, with lots of
    cross references,
  * conforms to the latest version of the Standard ML Basis Library,
    is written entirely in Standard ML, with the ability to bootstrap,
  * may readily be compiled with SML/NJ, MLton, Moscow ML, Poly/ML,
    Alice ML, the ML Kit, or SML#.

File Added: pkgsrc/lang/hamlet/Makefile
# $NetBSD: Makefile,v 1.1 2023/02/25 18:01:44 ryoon Exp $

DISTNAME=	hamlet-2.0.0
CATEGORIES=	lang
MASTER_SITES=	https://people.mpi-sws.org/~rossberg/hamlet/

MAINTAINER=	ryoon@NetBSD.org
HOMEPAGE=	https://people.mpi-sws.org/~rossberg/hamlet/
COMMENT=	Faithful and complete implementation of the Standard ML
LICENSE=	hamlet-license

BUILD_DEPENDS+=	moscow_ml>=2.10:../../lang/moscow_ml

USE_LANGUAGES=	c
USE_TOOLS+=	gmake

BUILD_TARGET=	with-mosml

INSTALL_MAKE_FLAGS+=	INSTALLDIR=${PREFIX}/hamlet

INSTALLATION_DIRS+=	bin

post-install:
	${ECHO} '#! /bin/sh' > ${DESTDIR}${PREFIX}/bin/hamlet
	${ECHO} '${PREFIX}/hamlet/hamlet "$$@"' >> \
		${DESTDIR}${PREFIX}/bin/hamlet
	${CHMOD} 755 ${DESTDIR}${PREFIX}/bin/hamlet

.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/lang/hamlet/PLIST
@comment $NetBSD: PLIST,v 1.1 2023/02/25 18:01:44 ryoon Exp $
bin/hamlet
hamlet/basis/ARRAY-sig.sml
hamlet/basis/ARRAY_SLICE-sig.sml
hamlet/basis/Array.sml
hamlet/basis/ArraySlice.sml
hamlet/basis/BOOL-sig.sml
hamlet/basis/BYTE-sig.sml
hamlet/basis/Bool.sml
hamlet/basis/Byte.sml
hamlet/basis/CHAR-sig.sml
hamlet/basis/COMMAND_LINE-sig.sml
hamlet/basis/Char.sml
hamlet/basis/CharArray.sml
hamlet/basis/CharArraySlice.sml
hamlet/basis/CharVector.sml
hamlet/basis/CharVectorSlice.sml
hamlet/basis/CommandLine.sml
hamlet/basis/GENERAL-sig.sml
hamlet/basis/General.sml
hamlet/basis/IEEEReal.sml
hamlet/basis/IEEE_REAL-sig.sml
hamlet/basis/IMPERATIVE_IO-sig.sml
hamlet/basis/INTEGER-sig.sml
hamlet/basis/IO-sig.sml
hamlet/basis/IO.sml
hamlet/basis/Int.sml
hamlet/basis/LIST-sig.sml
hamlet/basis/LIST_PAIR-sig.sml
hamlet/basis/LargeInt.sml
hamlet/basis/LargeReal.sml
hamlet/basis/LargeWord.sml
hamlet/basis/List.sml
hamlet/basis/ListPair.sml
hamlet/basis/MATH-sig.sml
hamlet/basis/MONO_ARRAY-sig.sml
hamlet/basis/MONO_ARRAY_SLICE-sig.sml
hamlet/basis/MONO_VECTOR-sig.sml
hamlet/basis/MONO_VECTOR_SLICE-sig.sml
hamlet/basis/Math.sml
hamlet/basis/OPTION-sig.sml
hamlet/basis/OS-sig.sml
hamlet/basis/OS.sml
hamlet/basis/OS_FILE_SYS-sig.sml
hamlet/basis/OS_FileSys.sml
hamlet/basis/OS_PATH-sig.sml
hamlet/basis/OS_PROCESS-sig.sml
hamlet/basis/OS_Path.sml
hamlet/basis/OS_Process.sml
hamlet/basis/Option.sml
hamlet/basis/Position.sml
hamlet/basis/REAL-sig.sml
hamlet/basis/Real.sml
hamlet/basis/STREAM_IO-sig.sml
hamlet/basis/STRING-sig.sml
hamlet/basis/STRING_CVT-sig.sml
hamlet/basis/SUBSTRING-sig.sml
hamlet/basis/String.sml
hamlet/basis/StringCvt.sml
hamlet/basis/Substring.sml
hamlet/basis/TEXT-sig.sml
hamlet/basis/TEXT_IO-sig.sml
hamlet/basis/TEXT_STREAM_IO-sig.sml
hamlet/basis/Text.sml
hamlet/basis/TextIO.sml
hamlet/basis/VECTOR-sig.sml
hamlet/basis/VECTOR_SLICE-sig.sml
hamlet/basis/Vector.sml
hamlet/basis/VectorSlice.sml
hamlet/basis/WORD-sig.sml
hamlet/basis/Word.sml
hamlet/basis/Word8.sml
hamlet/basis/Word8Array.sml
hamlet/basis/Word8ArraySlice.sml
hamlet/basis/Word8Vector.sml
hamlet/basis/Word8VectorSlice.sml
hamlet/basis/all.sml
hamlet/basis/exceptions.sml
hamlet/basis/infix.sml
hamlet/basis/types.sml
hamlet/basis/values.sml
hamlet/hamlet

File Added: pkgsrc/lang/hamlet/distinfo
$NetBSD: distinfo,v 1.1 2023/02/25 18:01:44 ryoon Exp $

BLAKE2s (hamlet-2.0.0.tar.gz) = 35788b6a401cf248286360afb3657b60b0641fde441454452f077fa159b2779f
SHA512 (hamlet-2.0.0.tar.gz) = 20829a45f033bae8db4e43b4f38ca995391b872be5ed2b06ce593d2f4f62f1395aa8ee4cd639396697eb4ce7f513e9aba73d0157690f416c219bd3d4eaf9dd7f
Size (hamlet-2.0.0.tar.gz) = 646614 bytes
SHA1 (patch-Makefile) = c6347eb076fc2a92c93b1cefecf46d72ad6d7ae8

File Added: pkgsrc/lang/hamlet/patches/patch-Makefile
$NetBSD: patch-Makefile,v 1.1 2023/02/25 18:01:44 ryoon Exp $

* Support staged installation.

--- Makefile.orig	2013-10-13 08:26:10.000000000 +0000
+++ Makefile
@@ -332,14 +332,14 @@ clean-smlsharp:
 .PHONY: install
 
 install:
-	mkdir -p ${INSTALLDIR}
-	mkdir -p ${INSTALLDIR}/basis
-	install -m 444 basis/*.sml ${INSTALLDIR}/basis
+	mkdir -p ${DESTDIR}${INSTALLDIR}
+	mkdir -p ${DESTDIR}${INSTALLDIR}/basis
+	install -m 444 basis/*.sml ${DESTDIR}${INSTALLDIR}/basis
 	if ls hamlet-image.* ;\
 	then \
-	    install -m 444 hamlet-image.* ${INSTALLDIR} ;\
+	    install -m 444 hamlet-image.* ${DESTDIR}${INSTALLDIR} ;\
 	fi
-	install -m 555 hamlet ${INSTALLDIR}
+	install -m 555 hamlet ${DESTDIR}${INSTALLDIR}
 
 ################################################################################
 # JavaScript compilation