diff --git a/lang/Makefile b/lang/Makefile index 90c1832a54bb..261aef56d5c8 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -1,389 +1,390 @@ COMMENT = Programming languages SUBDIR += abcl SUBDIR += alchemist.el SUBDIR += algol68g SUBDIR += angelscript SUBDIR += antimony SUBDIR += apache-commons-jelly SUBDIR += asn1c SUBDIR += atlast SUBDIR += awka SUBDIR += bas2tap SUBDIR += basic256 SUBDIR += bsh SUBDIR += bwbasic SUBDIR += c SUBDIR += cairo SUBDIR += cbmbasic SUBDIR += ccl SUBDIR += ceylon SUBDIR += cfortran SUBDIR += chaiscript SUBDIR += chez-scheme SUBDIR += chibi-scheme SUBDIR += chicken SUBDIR += cim SUBDIR += cjs SUBDIR += cling SUBDIR += clips SUBDIR += clisp SUBDIR += clojure SUBDIR += clojure-mode.el SUBDIR += clover SUBDIR += cocor SUBDIR += coffeescript SUBDIR += colm SUBDIR += cparser SUBDIR += crystal SUBDIR += csharp-mode.el SUBDIR += cython SUBDIR += cython-devel SUBDIR += cython3 SUBDIR += dhall SUBDIR += dlang-tools SUBDIR += duktape SUBDIR += duktape-lib SUBDIR += ecl SUBDIR += eisl SUBDIR += elixir SUBDIR += elixir-devel SUBDIR += elixir-mode.el SUBDIR += elk SUBDIR += elm SUBDIR += emacs-lisp-intro SUBDIR += emilua SUBDIR += erlang SUBDIR += erlang-doc SUBDIR += erlang-java SUBDIR += erlang-man SUBDIR += erlang-runtime21 SUBDIR += erlang-runtime22 SUBDIR += erlang-runtime23 SUBDIR += erlang-runtime24 SUBDIR += erlang-runtime25 SUBDIR += erlang-runtime26 SUBDIR += erlang-wx SUBDIR += execline SUBDIR += expect SUBDIR += f2c SUBDIR += fasm SUBDIR += fennel SUBDIR += ferite SUBDIR += ficl SUBDIR += fpc SUBDIR += fpc-base SUBDIR += fpc-docs SUBDIR += fpc-lua SUBDIR += fpc-pastojs SUBDIR += fpc-rexx SUBDIR += fpc-rtl-console SUBDIR += fpc-rtl-extra SUBDIR += fpc-rtl-generics SUBDIR += fpc-rtl-objpas SUBDIR += fpc-rtl-unicode SUBDIR += fpc-source SUBDIR += fpc-units SUBDIR += fpc-utils SUBDIR += frawk SUBDIR += fsharp SUBDIR += fth SUBDIR += gambit-c SUBDIR += gauche SUBDIR += gawk SUBDIR += gcc SUBDIR += gcc10 SUBDIR += gcc11 SUBDIR += gcc11-devel SUBDIR += gcc12 SUBDIR += gcc12-devel SUBDIR += gcc13 SUBDIR += gcc13-devel SUBDIR += gcc14-devel SUBDIR += gcc48 SUBDIR += gcc6-aux SUBDIR += gcc8 SUBDIR += gcc9 SUBDIR += gforth SUBDIR += ghc SUBDIR += ghc810 SUBDIR += ghc92 SUBDIR += gir-to-d SUBDIR += gjs SUBDIR += gleam SUBDIR += gnat12 SUBDIR += gnatcross-binutils-aarch64 SUBDIR += gnatcross-sysroot-aarch64 SUBDIR += gnatdroid-binutils SUBDIR += gnatdroid-binutils-x86 SUBDIR += gnatdroid-sysroot SUBDIR += gnatdroid-sysroot-x86 SUBDIR += gnu-apl SUBDIR += gnu-cobol SUBDIR += gnustep-base SUBDIR += go SUBDIR += go-devel SUBDIR += go119 SUBDIR += go120 SUBDIR += go121 SUBDIR += gomacro SUBDIR += gprolog SUBDIR += gravity SUBDIR += groovy SUBDIR += gscheme SUBDIR += guile SUBDIR += guile-aclocal SUBDIR += guile1 SUBDIR += guile2 SUBDIR += guile3 SUBDIR += halide SUBDIR += harec SUBDIR += haskell-mode.el SUBDIR += hermes SUBDIR += hla SUBDIR += hs-brainfuck SUBDIR += hs-futhark SUBDIR += hs-unlambda SUBDIR += huc SUBDIR += icc SUBDIR += intel-compute-runtime SUBDIR += intercal SUBDIR += io SUBDIR += io-devel SUBDIR += itcl SUBDIR += itcl4 SUBDIR += janet SUBDIR += jimtcl SUBDIR += jpm SUBDIR += jruby SUBDIR += julia SUBDIR += jython SUBDIR += kawa SUBDIR += kf5-kross SUBDIR += kotlin SUBDIR += kross-interpreters SUBDIR += kturtle SUBDIR += lafontaine SUBDIR += lci SUBDIR += ldc SUBDIR += lfe SUBDIR += lfortran SUBDIR += libhx SUBDIR += libobjc2 SUBDIR += librep SUBDIR += libstdc++_stldoc_4.2.2 SUBDIR += linux-c7-tcl85 SUBDIR += linux-dotnet-cli SUBDIR += linux-dotnet-runtime SUBDIR += linux-dotnet-sdk SUBDIR += linux-dotnet10-runtime SUBDIR += linux-dotnet11-runtime SUBDIR += linux-dotnet11-sdk SUBDIR += linux-j SUBDIR += lua51 SUBDIR += lua52 SUBDIR += lua53 SUBDIR += lua54 SUBDIR += luajit SUBDIR += luajit-devel SUBDIR += luajit-openresty SUBDIR += malbolge SUBDIR += maude SUBDIR += mawk SUBDIR += mdk SUBDIR += mecrisp-stellaris SUBDIR += micropython SUBDIR += mit-scheme SUBDIR += mixal SUBDIR += mlkit SUBDIR += mlton SUBDIR += mmix SUBDIR += mono SUBDIR += mono-basic SUBDIR += mono5.10 SUBDIR += mono5.20 SUBDIR += mono6.8 SUBDIR += mosh SUBDIR += mosml SUBDIR += mtasc SUBDIR += mujs SUBDIR += munger SUBDIR += myrddin SUBDIR += nawk SUBDIR += nbfc SUBDIR += neko SUBDIR += nesasm SUBDIR += newlisp SUBDIR += nhc98 SUBDIR += nickle SUBDIR += nim SUBDIR += njs SUBDIR += nll SUBDIR += nqc SUBDIR += nwcc SUBDIR += nx SUBDIR += nyan SUBDIR += ocaml SUBDIR += ocaml-autoconf SUBDIR += ocaml-camlidl SUBDIR += ocaml-nox11 SUBDIR += oo2c SUBDIR += opencoarrays SUBDIR += opensycl SUBDIR += ott SUBDIR += owl-lisp SUBDIR += p5-Data-JavaScript SUBDIR += p5-Error SUBDIR += p5-Expect SUBDIR += p5-ExtUtils-F77 SUBDIR += p5-Interpolation SUBDIR += p5-JSAN SUBDIR += p5-JavaScript-Squish SUBDIR += p5-JavaScript-Value-Escape SUBDIR += p5-List-MoreUtils SUBDIR += p5-List-MoreUtils-XS SUBDIR += p5-Marpa SUBDIR += p5-Marpa-PP SUBDIR += p5-Marpa-XS SUBDIR += p5-Modern-Perl SUBDIR += p5-Perl6-Subs SUBDIR += p5-Promises SUBDIR += p5-Pugs-Compiler-Rule SUBDIR += p5-Quantum-Superpositions SUBDIR += p5-Scalar-List-Utils SUBDIR += p5-Switch SUBDIR += p5-Tcl SUBDIR += p5-Test-XPath SUBDIR += p5-Try-Catch SUBDIR += p5-Try-Tiny SUBDIR += p5-Try-Tiny-Retry SUBDIR += p5-TryCatch SUBDIR += p5-ePerl SUBDIR += p5-signatures SUBDIR += p5-v6 SUBDIR += parrot SUBDIR += pbasic SUBDIR += pcc SUBDIR += perl5-devel SUBDIR += perl5.34 SUBDIR += perl5.36 SUBDIR += perl5.38 SUBDIR += petite-chez SUBDIR += pfe SUBDIR += pharo SUBDIR += php-mode.el SUBDIR += php80 SUBDIR += php80-extensions SUBDIR += php81 SUBDIR += php81-extensions SUBDIR += php82 SUBDIR += php82-extensions SUBDIR += php83 SUBDIR += php83-extensions SUBDIR += picoc SUBDIR += plexil SUBDIR += pocl SUBDIR += polyml SUBDIR += pomsky SUBDIR += prql SUBDIR += ptoc SUBDIR += purescript SUBDIR += py-hy SUBDIR += py-lupa SUBDIR += py-textX SUBDIR += python SUBDIR += python-doc-html SUBDIR += python-doc-pdf-a4 SUBDIR += python-doc-pdf-letter SUBDIR += python-doc-text SUBDIR += python-mode.el SUBDIR += python-tools SUBDIR += python2 SUBDIR += python27 SUBDIR += python3 SUBDIR += python310 SUBDIR += python311 SUBDIR += python38 SUBDIR += python39 SUBDIR += qmasm SUBDIR += qscheme SUBDIR += quickjs SUBDIR += quilc SUBDIR += racket SUBDIR += racket-minimal SUBDIR += ratfor SUBDIR += referenceassemblies-pcl SUBDIR += retro12 SUBDIR += rexx-imc SUBDIR += rexx-regina SUBDIR += rexx-regutil SUBDIR += rexx-wrapper SUBDIR += rhino SUBDIR += rizin SUBDIR += ruby30 SUBDIR += ruby31 SUBDIR += ruby32 SUBDIR += ruby33 SUBDIR += rubygem-rb_sys SUBDIR += rubygem-ruby_language_server SUBDIR += runawk SUBDIR += rust SUBDIR += rust-bootstrap SUBDIR += rust-nightly + SUBDIR += s7 SUBDIR += sagittarius-scheme SUBDIR += sather-specification SUBDIR += sather-tutorial SUBDIR += sbcl SUBDIR += scala SUBDIR += scheme48 SUBDIR += scm SUBDIR += scratch SUBDIR += sdcc SUBDIR += see SUBDIR += seed7 SUBDIR += silq SUBDIR += siod SUBDIR += sisc SUBDIR += sketchy SUBDIR += slib SUBDIR += slib-guile SUBDIR += slisp SUBDIR += smalltalk SUBDIR += smlnj SUBDIR += snobol4 SUBDIR += solidity SUBDIR += spidermonkey102 SUBDIR += spidermonkey78 SUBDIR += spidermonkey91 SUBDIR += spl SUBDIR += squeak SUBDIR += squirrel SUBDIR += swi-pl SUBDIR += tauthon SUBDIR += tcbasic SUBDIR += tcc SUBDIR += tcl-manual SUBDIR += tcl-wrapper SUBDIR += tcl85 SUBDIR += tcl86 SUBDIR += tcl87 SUBDIR += tclX SUBDIR += tolua SUBDIR += tolua++ SUBDIR += tuareg-mode.el SUBDIR += twelf SUBDIR += ucc SUBDIR += urweb SUBDIR += v SUBDIR += v8 SUBDIR += v8-beta SUBDIR += vala SUBDIR += voc SUBDIR += yabasic SUBDIR += yap SUBDIR += yorick SUBDIR += ypsilon SUBDIR += zephir SUBDIR += zig .include diff --git a/lang/s7/Makefile b/lang/s7/Makefile new file mode 100644 index 000000000000..830449938691 --- /dev/null +++ b/lang/s7/Makefile @@ -0,0 +1,75 @@ +PORTNAME= s7 +PORTVERSION= g20231023 +CATEGORIES= lang lisp + +MAINTAINER= fuz@FreeBSD.org +COMMENT= Scheme interpreter +WWW= https://ccrma.stanford.edu/software/snd/snd/s7.html + +LICENSE= BSD0CLAUSE + +USES= localbase:ldflags +USE_GITLAB= yes +GL_SITE= https://cm-gitlab.stanford.edu/ +GL_ACCOUNT= bil +GL_TAGNAME= 5bba8bca5d6c22001bcf87e63a246eb69163b020 +USE_LDCONFIG= yes + +CFLAGS+= -DS7_LOAD_PATH=\"${DATADIR}\" \ + -DHAVE_COMPLEX_NUMBERS \ + -DHAVE_COMPLEX_TRIG \ + -DWITH_SYSTEM_EXTRAS \ + -DWITH_C_LOADER + +LDFLAGS+= -Wl,-export-dynamic +LIBS+= -lm +S7LIBS= c dl m + +PORTDOCS= s7.html + +OPTIONS_DEFINE= DOCS GMP REPL NREPL +OPTIONS_DEFAULT= GMP REPL +OPTIONS_SUB= yes +NREPL_DESC= install notcurses repl (s7-nrepl) +REPL_DESC= install simple repl (s7-repl) +GMP_LIB_DEPENDS= libgmp.so:math/gmp \ + libmpfr.so:math/mpfr \ + libmpc.so:math/mpc +GMP_CFLAGS= -DWITH_GMP +GMP_LIBS= -lmpc -lmpfr -lgmp +NREPL_LIB_DEPENDS= libnotcurses-core.so:devel/notcurses + +do-build: + ${CC} -fpic -shared ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -o ${WRKDIR}/libs7.so ${WRKSRC}/s7.c ${LIBS} + ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -L${WRKDIR} -o ${WRKDIR}/s7-repl ${WRKSRC}/repl.c -ls7 +.for l in ${S7LIBS} + (cd ${WRKDIR} && ${SETENV} LD_LIBRARY_PATH=${WRKDIR} ${WRKDIR}/s7-repl ${WRKSRC}/lib$l.scm) +.endfor + +post-build-NREPL-on: + ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -L${WRKDIR} -o ${WRKDIR}/s7-nrepl ${WRKSRC}/nrepl.c -ls7 -lnotcurses-core + +do-install: + ${INSTALL_LIB} ${WRKDIR}/libs7.so ${STAGEDIR}${PREFIX}/lib/ + ${INSTALL_DATA} ${WRKSRC}/s7.h ${STAGEDIR}${PREFIX}/include/ + ${MKDIR} ${STAGEDIR}${DATADIR}/tools +.for l in ${S7LIBS} + ${INSTALL_LIB} ${WRKDIR}/lib$l_s7.so ${STAGEDIR}${DATADIR}/ +.endfor + ${INSTALL_DATA} ${WRKSRC}/*.scm ${STAGEDIR}/${DATADIR}/ + ${INSTALL_DATA} ${WRKSRC}/tools/*.scm ${STAGEDIR}/${DATADIR}/tools + +do-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/s7.html ${STAGEDIR}${DOCSDIR}/ + +do-install-NREPL-on: + ${INSTALL_PROGRAM} ${WRKDIR}/s7-nrepl ${STAGEDIR}${PREFIX}/bin/ + +do-install-REPL-on: + ${INSTALL_PROGRAM} ${WRKDIR}/s7-repl ${STAGEDIR}${PREFIX}/bin/ + +do-test: + (cd ${WRKSRC} && ${SETENV} LD_LIBRARY_PATH=${WRKDIR} ${WRKDIR}/s7-repl s7test.scm) + +.include diff --git a/lang/s7/distinfo b/lang/s7/distinfo new file mode 100644 index 000000000000..6cb075cfb021 --- /dev/null +++ b/lang/s7/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1698095508 +SHA256 (bil-s7-5bba8bca5d6c22001bcf87e63a246eb69163b020_GL0.tar.gz) = f48d4864b827d2f4be6d00dd8f72ee825e8fabd75c934ef1d5590e8fde934174 +SIZE (bil-s7-5bba8bca5d6c22001bcf87e63a246eb69163b020_GL0.tar.gz) = 2686623 diff --git a/lang/s7/pkg-descr b/lang/s7/pkg-descr new file mode 100644 index 000000000000..2752043196e9 --- /dev/null +++ b/lang/s7/pkg-descr @@ -0,0 +1,7 @@ +s7 is a Scheme interpreter intended as an extension language for other +applications. Although it is a descendant of tinyScheme, s7 is closest +as a Scheme dialect to Guile 1.8. I believe it is compatible with r5rs +and r7rs. It has continuations, ratios, complex numbers, macros, +keywords, hash-tables, multiprecision arithmetic, generalized set!, +unicode, and so on. It does not have syntax-rules or any of its friends, +and it thinks there is no such thing as an inexact integer. diff --git a/lang/s7/pkg-plist b/lang/s7/pkg-plist new file mode 100644 index 000000000000..69d90a3d361d --- /dev/null +++ b/lang/s7/pkg-plist @@ -0,0 +1,80 @@ +%%NREPL%%bin/s7-nrepl +%%REPL%%bin/s7-repl +include/s7.h +lib/libs7.so +%%DATADIR%%/case.scm +%%DATADIR%%/cload.scm +%%DATADIR%%/debug.scm +%%DATADIR%%/dup.scm +%%DATADIR%%/json.scm +%%DATADIR%%/libc.scm +%%DATADIR%%/libc_s7.so +%%DATADIR%%/libdl.scm +%%DATADIR%%/libdl_s7.so +%%DATADIR%%/libgdbm.scm +%%DATADIR%%/libgsl.scm +%%DATADIR%%/libm.scm +%%DATADIR%%/libm_s7.so +%%DATADIR%%/libutf8proc.scm +%%DATADIR%%/lint.scm +%%DATADIR%%/loop.scm +%%DATADIR%%/mockery.scm +%%DATADIR%%/nrepl.scm +%%DATADIR%%/profile.scm +%%DATADIR%%/r7rs.scm +%%DATADIR%%/reactive.scm +%%DATADIR%%/repl.scm +%%DATADIR%%/s7test.scm +%%DATADIR%%/snd-lint.scm +%%DATADIR%%/stuff.scm +%%DATADIR%%/tools/auto-tester.scm +%%DATADIR%%/tools/compare-calls.scm +%%DATADIR%%/tools/concordance.scm +%%DATADIR%%/tools/dup.scm +%%DATADIR%%/tools/fbench.scm +%%DATADIR%%/tools/make-nrepl-bits.scm +%%DATADIR%%/tools/t101.scm +%%DATADIR%%/tools/table.scm +%%DATADIR%%/tools/tall.scm +%%DATADIR%%/tools/tari.scm +%%DATADIR%%/tools/tauto.scm +%%DATADIR%%/tools/tbig.scm +%%DATADIR%%/tools/tcase.scm +%%DATADIR%%/tools/tclo.scm +%%DATADIR%%/tools/tcopy.scm +%%DATADIR%%/tools/teq.scm +%%DATADIR%%/tools/texit.scm +%%DATADIR%%/tools/tfft.scm +%%DATADIR%%/tools/tform.scm +%%DATADIR%%/tools/tgc.scm +%%DATADIR%%/tools/tgen.scm +%%DATADIR%%/tools/tgsl.scm +%%DATADIR%%/tools/thash.scm +%%DATADIR%%/tools/thook.scm +%%DATADIR%%/tools/timp.scm +%%DATADIR%%/tools/tio.scm +%%DATADIR%%/tools/titer.scm +%%DATADIR%%/tools/tlamb.scm +%%DATADIR%%/tools/tleft.scm +%%DATADIR%%/tools/tlet.scm +%%DATADIR%%/tools/tlist.scm +%%DATADIR%%/tools/tload.scm +%%DATADIR%%/tools/tmac.scm +%%DATADIR%%/tools/tmap.scm +%%DATADIR%%/tools/tmat.scm +%%DATADIR%%/tools/tmisc.scm +%%DATADIR%%/tools/tmock.scm +%%DATADIR%%/tools/tnum.scm +%%DATADIR%%/tools/tobj.scm +%%DATADIR%%/tools/tpeak.scm +%%DATADIR%%/tools/trclo.scm +%%DATADIR%%/tools/tread.scm +%%DATADIR%%/tools/trec.scm +%%DATADIR%%/tools/tref.scm +%%DATADIR%%/tools/tset.scm +%%DATADIR%%/tools/tshoot.scm +%%DATADIR%%/tools/tsort.scm +%%DATADIR%%/tools/tstar.scm +%%DATADIR%%/tools/tvect.scm +%%DATADIR%%/tools/valcall.scm +%%DATADIR%%/write.scm