diff --git a/lang/Makefile b/lang/Makefile index 622dc1c1ac58..f842ce7afcf2 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -1,375 +1,376 @@ COMMENT = Programming languages SUBDIR += J SUBDIR += abcl SUBDIR += alchemist.el SUBDIR += algol68g SUBDIR += angelscript SUBDIR += apache-commons-jelly SUBDIR += asn1c SUBDIR += atlast SUBDIR += awka SUBDIR += bas2tap SUBDIR += basic256 SUBDIR += bsh SUBDIR += bwbasic SUBDIR += c 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 += dhall SUBDIR += dlang-tools SUBDIR += dlv 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 += 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-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 += fsharp SUBDIR += fth SUBDIR += gambit-c SUBDIR += gauche SUBDIR += gawk SUBDIR += gcc SUBDIR += gcc-ecj45 SUBDIR += gcc10 SUBDIR += gcc11 SUBDIR += gcc11-devel SUBDIR += gcc12 SUBDIR += gcc12-devel SUBDIR += gcc13-devel SUBDIR += gcc48 SUBDIR += gcc6-aux SUBDIR += gcc8 SUBDIR += gcc9 SUBDIR += gforth SUBDIR += ghc SUBDIR += ghc810 SUBDIR += gjs SUBDIR += gleam 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 += go118 SUBDIR += go119 SUBDIR += gomacro SUBDIR += gprolog SUBDIR += gravity SUBDIR += groovy SUBDIR += gscheme SUBDIR += guile SUBDIR += guile1 SUBDIR += guile2 SUBDIR += halide SUBDIR += harec SUBDIR += haskell-mode.el SUBDIR += hermes SUBDIR += hla SUBDIR += hs-brainfuck 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 += 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 += nqc SUBDIR += nwcc SUBDIR += nx SUBDIR += nyan SUBDIR += ocaml SUBDIR += ocaml-autoconf SUBDIR += ocaml-camlidl SUBDIR += ocaml-nox11 SUBDIR += onyx SUBDIR += oo2c SUBDIR += opencoarrays 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.32 SUBDIR += perl5.34 SUBDIR += perl5.36 SUBDIR += petite-chez SUBDIR += pfe SUBDIR += pharo SUBDIR += php-mode.el SUBDIR += php74 SUBDIR += php74-extensions SUBDIR += php80 SUBDIR += php80-extensions SUBDIR += php81 SUBDIR += php81-extensions SUBDIR += php82 SUBDIR += php82-extensions SUBDIR += picoc SUBDIR += plexil SUBDIR += pocl SUBDIR += polyml SUBDIR += ponyc 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 += python37 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 += ruby27 SUBDIR += ruby30 SUBDIR += ruby31 SUBDIR += ruby32 SUBDIR += rubygem-ruby_language_server SUBDIR += runawk SUBDIR += rust SUBDIR += rust-bootstrap SUBDIR += rust-nightly SUBDIR += sagittarius-scheme SUBDIR += sather-specification SUBDIR += sather-tutorial SUBDIR += sbcl SUBDIR += scala SUBDIR += scheme48 SUBDIR += scm SUBDIR += sdcc SUBDIR += see SUBDIR += seed7 SUBDIR += silq SUBDIR += siod SUBDIR += sisc SUBDIR += sketchy SUBDIR += slib SUBDIR += slib-guile SUBDIR += slib-guile1 SUBDIR += slib-guile2 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 += visualworks SUBDIR += voc SUBDIR += yabasic SUBDIR += yap SUBDIR += yorick SUBDIR += ypsilon SUBDIR += zephir SUBDIR += zig SUBDIR += zig-devel .include diff --git a/lang/colm/Makefile b/lang/colm/Makefile new file mode 100644 index 000000000000..6d66453ba76f --- /dev/null +++ b/lang/colm/Makefile @@ -0,0 +1,29 @@ +PORTNAME= colm +DISTVERSION= 0.14.7-43 +DISTVERSIONSUFFIX= -gd00ef793 +CATEGORIES= lang + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Colm Programming Language +WWW= https://github.com/adrian-thurston/colm + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/COPYING + +BUILD_DEPENDS= bash:shells/bash +RUN_DEPENDS= bash:shells/bash + +USES= autoreconf gmake libtool shebangfix + +USE_GITHUB= yes +GH_ACCOUNT= adrian-thurston + +SHEBANG_GLOB= *.sh +SHEBANG_FILES= test/runtests + +GNU_CONFIGURE= yes + +INSTALL_TARGET= install-strip +TEST_TARGET= check # 1 tests fails, see https://github.com/adrian-thurston/colm/issues/153 + +.include diff --git a/lang/colm/distinfo b/lang/colm/distinfo new file mode 100644 index 000000000000..2c4f2fd980dd --- /dev/null +++ b/lang/colm/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1669364665 +SHA256 (adrian-thurston-colm-0.14.7-43-gd00ef793_GH0.tar.gz) = 2a2f18b28319b8b4f8a17e58885ee7f5093a531f36da1ac120e7466742076eef +SIZE (adrian-thurston-colm-0.14.7-43-gd00ef793_GH0.tar.gz) = 1764267 diff --git a/lang/colm/files/patch-src_bytecode.c b/lang/colm/files/patch-src_bytecode.c new file mode 100644 index 000000000000..2969302188db --- /dev/null +++ b/lang/colm/files/patch-src_bytecode.c @@ -0,0 +1,13 @@ +- workaround for https://github.com/adrian-thurston/colm/issues/152 + +--- src/bytecode.c.orig 2022-08-23 18:33:46 UTC ++++ src/bytecode.c +@@ -20,6 +20,8 @@ + * SOFTWARE. + */ + ++#include "config.h" ++ + #include + + #include diff --git a/lang/colm/files/patch-src_main.cc b/lang/colm/files/patch-src_main.cc new file mode 100644 index 000000000000..594de46c7cbd --- /dev/null +++ b/lang/colm/files/patch-src_main.cc @@ -0,0 +1,13 @@ +- use cc as compiler + +--- src/main.cc.orig 2022-11-25 08:45:12 UTC ++++ src/main.cc +@@ -446,7 +446,7 @@ void compileOutput() + { + const char *compiler = getenv( "CC" ); + if ( compiler == 0 ) +- compiler = "gcc"; ++ compiler = "cc"; + + const char *cflags = getenv( "CFLAGS" ); + if ( cflags == 0 ) diff --git a/lang/colm/files/patch-test_runtests b/lang/colm/files/patch-test_runtests new file mode 100644 index 000000000000..d2cca0f2428e --- /dev/null +++ b/lang/colm/files/patch-test_runtests @@ -0,0 +1,11 @@ +--- test/runtests.orig 2022-11-25 08:51:12 UTC ++++ test/runtests +@@ -10,7 +10,7 @@ timed() + if [ -f /proc/cpuinfo ]; then + CORES=$(awk '/cpu cores/ { print $4; exit }' /proc/cpuinfo) + else +- CORES=$(sysctl -n hw.physicalcpu) ++ CORES=$(sysctl -n hw.ncpu) + fi + + diff --git a/lang/colm/pkg-descr b/lang/colm/pkg-descr new file mode 100644 index 000000000000..5e74ad962bf9 --- /dev/null +++ b/lang/colm/pkg-descr @@ -0,0 +1,21 @@ +Colm is COmputer Language Machinery. + +Colm is a programming language designed for the analysis and transformation of +computer languages. +Colm is influenced primarily by TXL. + +Features: +* Colm's main contribution lies in the parsing method. +* Colm's parsing engine is generalized, but it also allows for the construction + of arbitrary global data structures that can be queried during parsing. In + other generalized methods, construction of global data requires some very + careful consideration because of inherent concurrency in the parsing method. + It is such a tricky task that it is often avoided altogether and the problem + is deferred to a post-parse disambiguation of the parse forest. +* By default Colm will create an elf executable that can be used standalone for + that actual transformations. +* Colm is a static and strong typed scripting language. +* Colm is very tiny and fast and can easily be embedded/linked with c/cpp + programs. +* Colm's runtime is a stackbased VM that starts with the bare minimum of the + language and bootstraps itself. diff --git a/lang/colm/pkg-plist b/lang/colm/pkg-plist new file mode 100644 index 000000000000..53f5b40a2a6f --- /dev/null +++ b/lang/colm/pkg-plist @@ -0,0 +1,106 @@ +bin/colm +bin/colm-wrap +include/aapl/astring.h +include/aapl/avlbasic.h +include/aapl/avlcommon.h +include/aapl/avlibasic.h +include/aapl/avlikeyless.h +include/aapl/avlimap.h +include/aapl/avlimel.h +include/aapl/avlimelkey.h +include/aapl/avliset.h +include/aapl/avlitree.h +include/aapl/avlkeyless.h +include/aapl/avlmap.h +include/aapl/avlmel.h +include/aapl/avlmelkey.h +include/aapl/avlset.h +include/aapl/avltree.h +include/aapl/bstcommon.h +include/aapl/bstmap.h +include/aapl/bstset.h +include/aapl/bsttable.h +include/aapl/bubblesort.h +include/aapl/buffer.h +include/aapl/compare.h +include/aapl/dlcommon.h +include/aapl/dlist.h +include/aapl/dlistmel.h +include/aapl/dlistval.h +include/aapl/insertsort.h +include/aapl/mergesort.h +include/aapl/quicksort.h +include/aapl/resize.h +include/aapl/rope.h +include/aapl/sbstmap.h +include/aapl/sbstset.h +include/aapl/sbsttable.h +include/aapl/svector.h +include/aapl/table.h +include/aapl/vector.h +include/colm/bytecode.h +include/colm/colm.h +include/colm/colmex.h +include/colm/config.h +include/colm/debug.h +include/colm/defs.h +include/colm/input.h +include/colm/internal.h +include/colm/map.h +include/colm/pdarun.h +include/colm/pool.h +include/colm/program.h +include/colm/struct.h +include/colm/tree.h +include/colm/type.h +include/libfsm/actexp.h +include/libfsm/action.h +include/libfsm/actloop.h +include/libfsm/asm.h +include/libfsm/binary.h +include/libfsm/binbreak.h +include/libfsm/bingoto.h +include/libfsm/binvar.h +include/libfsm/codegen.h +include/libfsm/common.h +include/libfsm/dot.h +include/libfsm/flat.h +include/libfsm/flatbreak.h +include/libfsm/flatgoto.h +include/libfsm/flatvar.h +include/libfsm/fsmgraph.h +include/libfsm/gendata.h +include/libfsm/goto.h +include/libfsm/gotoexp.h +include/libfsm/gotoloop.h +include/libfsm/idbase.h +include/libfsm/ipgoto.h +include/libfsm/parsedata.h +include/libfsm/ragel.h +include/libfsm/redfsm.h +include/libfsm/switch.h +include/libfsm/switchbreak.h +include/libfsm/switchgoto.h +include/libfsm/switchvar.h +include/libfsm/tables.h +lib/libcolm-0.14.7.so +lib/libcolm.a +lib/libcolm.so +lib/libfsm-0.14.7.so +lib/libfsm.a +lib/libfsm.so +%%DATADIR%%/ril.lm +%%DATADIR%%/rlhc-c.lm +%%DATADIR%%/rlhc-crack.lm +%%DATADIR%%/rlhc-csharp.lm +%%DATADIR%%/rlhc-d.lm +%%DATADIR%%/rlhc-go.lm +%%DATADIR%%/rlhc-java.lm +%%DATADIR%%/rlhc-js.lm +%%DATADIR%%/rlhc-julia.lm +%%DATADIR%%/rlhc-main.lm +%%DATADIR%%/rlhc-ocaml.lm +%%DATADIR%%/rlhc-ruby.lm +%%DATADIR%%/rlhc-rust.lm +%%DATADIR%%/runtests +%%DOCSDIR%%/colm.vim