diff options
author | Pietro Cerutti <gahr@FreeBSD.org> | 2024-03-06 10:51:57 +0000 |
---|---|---|
committer | Pietro Cerutti <gahr@FreeBSD.org> | 2024-03-06 10:54:29 +0000 |
commit | 7c937353d3f2a95ada271bee5049ac74dc30eeb4 (patch) | |
tree | bae8e7a4d946c678f3ad2f74f26113d6fcea8309 | |
parent | 6de8754569314aeaae10d0fa719aa50928154750 (diff) | |
download | ports-7c937353d3f2a95ada271bee5049ac74dc30eeb4.tar.gz ports-7c937353d3f2a95ada271bee5049ac74dc30eeb4.zip |
lang/picolisp: new port
PicoLisp is a minimal Lisp interpreter with a focus on simplicity.
https://picolisp.com
-rw-r--r-- | lang/Makefile | 1 | ||||
-rw-r--r-- | lang/picolisp/Makefile | 45 | ||||
-rw-r--r-- | lang/picolisp/distinfo | 3 | ||||
-rw-r--r-- | lang/picolisp/pkg-descr | 7 | ||||
-rw-r--r-- | lang/picolisp/pkg-plist | 167 |
5 files changed, 223 insertions, 0 deletions
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 |