Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Mar 2024 10:54:31 GMT
From:      Pietro Cerutti <gahr@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 7c937353d3f2 - main - lang/picolisp: new port
Message-ID:  <202403061054.426AsV1L066226@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by gahr:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7c937353d3f2a95ada271bee5049ac74dc30eeb4

commit 7c937353d3f2a95ada271bee5049ac74dc30eeb4
Author:     Pietro Cerutti <gahr@FreeBSD.org>
AuthorDate: 2024-03-06 10:51:57 +0000
Commit:     Pietro Cerutti <gahr@FreeBSD.org>
CommitDate: 2024-03-06 10:54:29 +0000

    lang/picolisp: new port
    
    PicoLisp is a minimal Lisp interpreter with a focus on simplicity.
    
    https://picolisp.com
---
 lang/Makefile           |   1 +
 lang/picolisp/Makefile  |  45 +++++++++++++
 lang/picolisp/distinfo  |   3 +
 lang/picolisp/pkg-descr |   7 ++
 lang/picolisp/pkg-plist | 167 ++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 223 insertions(+)

diff --git a/lang/Makefile b/lang/Makefile
index e06eab84f296..88e79f415f38 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -280,6 +280,7 @@
     SUBDIR += php83
     SUBDIR += php83-extensions
     SUBDIR += picoc
+    SUBDIR += picolisp
     SUBDIR += plexil
     SUBDIR += pocl
     SUBDIR += polyml
diff --git a/lang/picolisp/Makefile b/lang/picolisp/Makefile
new file mode 100644
index 000000000000..5882a62cf62b
--- /dev/null
+++ b/lang/picolisp/Makefile
@@ -0,0 +1,45 @@
+PORTNAME=	picolisp
+PORTVERSION=	23.12
+CATEGORIES=	lang
+MASTER_SITES=	https://software-lab.de/
+DISTNAME=	picoLisp-${PORTVERSION}
+
+MAINTAINER=	gahr@FreeBSD.org
+COMMENT=	Minimal Lisp interpreter with a focus on simplicity
+WWW=		https://picolisp.com
+
+LICENSE=	MIT
+
+LIB_DEPENDS=	libffi.so:devel/libffi
+
+USES=		gmake llvm:17,lib pkgconfig readline ssl tar:tgz
+
+WRKSRC=		${WRKDIR}/pil21/src
+
+post-patch:
+	${REINPLACE_CMD} \
+		-e 's|clang|clang${LLVM_VERSION}|' \
+		-e 's|opt|opt${LLVM_VERSION}|' \
+		-e 's|llc|llc${LLVM_VERSION}|' \
+		-e 's|llvm-link|llvm-link${LLVM_VERSION}|' \
+		-e 's|llvm-config|${LLVM_CONFIG}|' \
+		-e '/^MAIN/s|$$| -L${LOCALBASE}/lib|' \
+		-e '/^.SILENT:/d' \
+		${WRKSRC}/Makefile
+	${REINPLACE_CMD} -i '' -e 's|/usr|${PREFIX}|g' ${WRKSRC}/../bin/*
+
+post-build:
+	${GZIP_CMD} ${WRKSRC}/../man/man1/picolisp.1 ${WRKSRC}/../man/man1/pil.1
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/lib/picolisp
+	cd ${WRKSRC}/.. && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/picolisp "! -name '*.bak'"
+	${RM} -r ${STAGEDIR}${PREFIX}/lib/picolisp/src ${STAGEDIR}${PREFIX}/lib/picolisp/test
+	${FIND} ${STAGEDIR}${PREFIX}/lib/picolisp/bin -exec ${CHMOD} a+x {} \;
+	${LN} -s ../lib/picolisp/bin/picolisp ${STAGEDIR}${PREFIX}/bin/
+	${LN} -s ../lib/picolisp/bin/pil ${STAGEDIR}${PREFIX}/bin/
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/man/man1
+	${LN} -s ../../lib/picolisp/man/man1/picolisp.1.gz ${STAGEDIR}/${PREFIX}/man/man1
+	${LN} -s ../../lib/picolisp/man/man1/pil.1.gz ${STAGEDIR}/${PREFIX}/man/man1
+
+.include <bsd.port.mk>
diff --git a/lang/picolisp/distinfo b/lang/picolisp/distinfo
new file mode 100644
index 000000000000..2975ab4ed6b4
--- /dev/null
+++ b/lang/picolisp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1708416014
+SHA256 (picoLisp-23.12.tgz) = a0633c191c813ae7e6b595713b68979273ddd68c4b6508a2fdb02f0c7bb60aae
+SIZE (picoLisp-23.12.tgz) = 1089366
diff --git a/lang/picolisp/pkg-descr b/lang/picolisp/pkg-descr
new file mode 100644
index 000000000000..a912b05091a3
--- /dev/null
+++ b/lang/picolisp/pkg-descr
@@ -0,0 +1,7 @@
+PicoLisp is quite different from other Lisps. The main reason is its focus on
+data.  PicoLisp has one single internal data type: The "cell".  On the language
+level it has only three data types: Numbers, symbols and cons pairs. They are
+all built from cells.  What may sound like a restriction is actually a big
+advantage. The simple internal structure results in high start-up and execution
+speeds. Cells can be manipulated freely in any conceivable way, giving full
+control to the programmer.
diff --git a/lang/picolisp/pkg-plist b/lang/picolisp/pkg-plist
new file mode 100644
index 000000000000..06fcca57ac7f
--- /dev/null
+++ b/lang/picolisp/pkg-plist
@@ -0,0 +1,167 @@
+bin/picolisp
+bin/pil
+lib/picolisp/COPYING
+lib/picolisp/INSTALL
+lib/picolisp/README
+lib/picolisp/bin/balance
+lib/picolisp/bin/httpGate
+lib/picolisp/bin/picolisp
+lib/picolisp/bin/pil
+lib/picolisp/bin/psh
+lib/picolisp/bin/pty
+lib/picolisp/bin/ssl
+lib/picolisp/bin/vip
+lib/picolisp/bin/watchdog
+lib/picolisp/doc/ChangeLog
+lib/picolisp/doc/Tracks
+lib/picolisp/doc/des.html
+lib/picolisp/doc/doc.css
+lib/picolisp/doc/faq.html
+lib/picolisp/doc/httpGate.html
+lib/picolisp/doc/man.html
+lib/picolisp/doc/microTemplates
+lib/picolisp/doc/native.html
+lib/picolisp/doc/rc.sample
+lib/picolisp/doc/ref.html
+lib/picolisp/doc/refA.html
+lib/picolisp/doc/refB.html
+lib/picolisp/doc/refC.html
+lib/picolisp/doc/refD.html
+lib/picolisp/doc/refE.html
+lib/picolisp/doc/refF.html
+lib/picolisp/doc/refG.html
+lib/picolisp/doc/refH.html
+lib/picolisp/doc/refI.html
+lib/picolisp/doc/refJ.html
+lib/picolisp/doc/refK.html
+lib/picolisp/doc/refL.html
+lib/picolisp/doc/refM.html
+lib/picolisp/doc/refN.html
+lib/picolisp/doc/refO.html
+lib/picolisp/doc/refP.html
+lib/picolisp/doc/refQ.html
+lib/picolisp/doc/refR.html
+lib/picolisp/doc/refS.html
+lib/picolisp/doc/refT.html
+lib/picolisp/doc/refU.html
+lib/picolisp/doc/refV.html
+lib/picolisp/doc/refW.html
+lib/picolisp/doc/refX.html
+lib/picolisp/doc/refY.html
+lib/picolisp/doc/refZ.html
+lib/picolisp/doc/ref_.html
+lib/picolisp/doc/search
+lib/picolisp/doc/search.html
+lib/picolisp/doc/select.html
+lib/picolisp/doc/structures
+lib/picolisp/doc/tut.html
+lib/picolisp/doc/viprc.sample
+lib/picolisp/ext.l
+lib/picolisp/img/go.png
+lib/picolisp/img/no.png
+lib/picolisp/lib.css
+lib/picolisp/lib.l
+lib/picolisp/lib/adm.l
+lib/picolisp/lib/android.l
+lib/picolisp/lib/app.l
+lib/picolisp/lib/bash_completion
+lib/picolisp/lib/btree.l
+lib/picolisp/lib/canvas.js
+lib/picolisp/lib/canvas.l
+lib/picolisp/lib/clang.l
+lib/picolisp/lib/complete.l
+lib/picolisp/lib/db.l
+lib/picolisp/lib/dbgc.l
+lib/picolisp/lib/debug.l
+lib/picolisp/lib/ext.so
+lib/picolisp/lib/form.js
+lib/picolisp/lib/form.l
+lib/picolisp/lib/frac.l
+lib/picolisp/lib/gis.js
+lib/picolisp/lib/gis.l
+lib/picolisp/lib/heartbeat.l
+lib/picolisp/lib/ht.so
+lib/picolisp/lib/http.l
+lib/picolisp/lib/json.l
+lib/picolisp/lib/lint.l
+lib/picolisp/lib/map
+lib/picolisp/lib/math.l
+lib/picolisp/lib/misc.l
+lib/picolisp/lib/net.l
+lib/picolisp/lib/pilog.l
+lib/picolisp/lib/plio.js
+lib/picolisp/lib/replica.l
+lib/picolisp/lib/role.l
+lib/picolisp/lib/simul.l
+lib/picolisp/lib/sq.l
+lib/picolisp/lib/svg.l
+lib/picolisp/lib/sysdefs
+lib/picolisp/lib/term.l
+lib/picolisp/lib/test.l
+lib/picolisp/lib/tinymce.l
+lib/picolisp/lib/too.l
+lib/picolisp/lib/user.l
+lib/picolisp/lib/vip.l
+lib/picolisp/lib/vip/draw.l
+lib/picolisp/lib/vip/html.l
+lib/picolisp/lib/xhtml.l
+lib/picolisp/lib/xhtml/area
+lib/picolisp/lib/xhtml/field
+lib/picolisp/lib/xhtml/grid
+lib/picolisp/lib/xhtml/html
+lib/picolisp/lib/xhtml/input
+lib/picolisp/lib/xhtml/layout
+lib/picolisp/lib/xhtml/menu
+lib/picolisp/lib/xhtml/select
+lib/picolisp/lib/xhtml/submit
+lib/picolisp/lib/xhtml/tab
+lib/picolisp/lib/xhtml/table
+lib/picolisp/lib/xm.l
+lib/picolisp/loc/AE.l
+lib/picolisp/loc/AR.l
+lib/picolisp/loc/CH.l
+lib/picolisp/loc/CKB.l
+lib/picolisp/loc/CN.l
+lib/picolisp/loc/DE.l
+lib/picolisp/loc/ES.l
+lib/picolisp/loc/FR.l
+lib/picolisp/loc/GB.l
+lib/picolisp/loc/GR.l
+lib/picolisp/loc/HR.l
+lib/picolisp/loc/IT.l
+lib/picolisp/loc/JP.l
+lib/picolisp/loc/NIL.l
+lib/picolisp/loc/NO.l
+lib/picolisp/loc/RU.l
+lib/picolisp/loc/SE.l
+lib/picolisp/loc/TR.l
+lib/picolisp/loc/UA.l
+lib/picolisp/loc/UK.l
+lib/picolisp/loc/US.l
+lib/picolisp/loc/ar
+lib/picolisp/loc/ca
+lib/picolisp/loc/ch
+lib/picolisp/loc/ckb
+lib/picolisp/loc/cn
+lib/picolisp/loc/de
+lib/picolisp/loc/el
+lib/picolisp/loc/es
+lib/picolisp/loc/fr
+lib/picolisp/loc/gr
+lib/picolisp/loc/hr
+lib/picolisp/loc/it
+lib/picolisp/loc/ja
+lib/picolisp/loc/jp
+lib/picolisp/loc/no
+lib/picolisp/loc/ru
+lib/picolisp/loc/sv
+lib/picolisp/loc/tr
+lib/picolisp/loc/uk
+lib/picolisp/man/man1/picolisp.1.gz
+lib/picolisp/man/man1/pil.1.gz
+lib/picolisp/misc/bigtest
+lib/picolisp/misc/stress.l
+lib/picolisp/pil
+lib/picolisp/vip
+man/man1/picolisp.1.gz
+man/man1/pil.1.gz



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202403061054.426AsV1L066226>