diff --git a/lang/Makefile b/lang/Makefile index e7c57e2bdabf..ca10ae43302b 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -1,407 +1,408 @@ COMMENT = Programming languages SUBDIR += abcl SUBDIR += alchemist.el SUBDIR += algol68g SUBDIR += amber SUBDIR += angelscript SUBDIR += antimony SUBDIR += apache-commons-jelly SUBDIR += asm-lsp SUBDIR += asmc SUBDIR += asn1c SUBDIR += atlast SUBDIR += awka SUBDIR += babashka SUBDIR += bas2tap SUBDIR += basic256 SUBDIR += bend SUBDIR += bsh SUBDIR += bun + SUBDIR += bun-linux SUBDIR += bwbasic SUBDIR += c SUBDIR += c3c SUBDIR += cairo SUBDIR += cairo-language-server SUBDIR += cbmbasic SUBDIR += cbqn 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 += clx SUBDIR += cocor SUBDIR += coffeescript SUBDIR += colm SUBDIR += cparser SUBDIR += crumb SUBDIR += crystal SUBDIR += cython SUBDIR += cython0 SUBDIR += dhall SUBDIR += dlang-tools SUBDIR += dotnet SUBDIR += dotnet-devel SUBDIR += dotnet-host SUBDIR += dotnet8 SUBDIR += duktape SUBDIR += duktape-lib SUBDIR += ecl SUBDIR += eisl SUBDIR += elixir SUBDIR += elixir-devel SUBDIR += elixir-mode.el SUBDIR += elk SUBDIR += emacs-lisp-intro SUBDIR += emilua SUBDIR += erlang SUBDIR += erlang-doc SUBDIR += erlang-java SUBDIR += erlang-man SUBDIR += erlang-runtime27 SUBDIR += erlang-runtime28 SUBDIR += erlang-runtime29 SUBDIR += erlang-wx SUBDIR += execline SUBDIR += expect SUBDIR += f2c SUBDIR += fasm SUBDIR += fennel SUBDIR += ficl SUBDIR += fpc SUBDIR += fpc-devel SUBDIR += fpc-devel-source SUBDIR += fpc-docs SUBDIR += fpc-source SUBDIR += fsharp SUBDIR += fth SUBDIR += gambit-c SUBDIR += gauche SUBDIR += gawk SUBDIR += gcc SUBDIR += gcc12 SUBDIR += gcc12-devel SUBDIR += gcc13 SUBDIR += gcc13-devel SUBDIR += gcc14 SUBDIR += gcc14-devel SUBDIR += gcc15 SUBDIR += gcc15-devel SUBDIR += gcc16 SUBDIR += gcc16-devel SUBDIR += gcc17-devel SUBDIR += gcc6-aux SUBDIR += gforth SUBDIR += ghc SUBDIR += ghc96 SUBDIR += ghc98 SUBDIR += gir-to-d SUBDIR += gjs SUBDIR += gleam SUBDIR += gluon SUBDIR += gnat12 SUBDIR += gnat13 SUBDIR += gnat14 SUBDIR += gnat15 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 += go125 SUBDIR += go126 SUBDIR += gomacro SUBDIR += gprolog SUBDIR += gptscript 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-koka SUBDIR += hs-unlambda SUBDIR += huc SUBDIR += inko 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 += kefir SUBDIR += kf5-kross SUBDIR += kotlin SUBDIR += kotlin22 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-j SUBDIR += linux-rl9-python3 SUBDIR += linux-rl9-tcl86 SUBDIR += lua51 SUBDIR += lua52 SUBDIR += lua53 SUBDIR += lua54 SUBDIR += lua55 SUBDIR += luajit 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 += neocmakelsp SUBDIR += nesasm SUBDIR += newlisp SUBDIR += nickel SUBDIR += nickle SUBDIR += nim SUBDIR += njs SUBDIR += nll SUBDIR += nqc SUBDIR += numbat SUBDIR += nwcc SUBDIR += nx SUBDIR += nyan SUBDIR += ocaml SUBDIR += ocaml-autoconf SUBDIR += ocaml-camlidl SUBDIR += odin 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-QuickJS 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 += pbasic SUBDIR += pcc SUBDIR += perl-lsp SUBDIR += perl5-devel SUBDIR += perl5.40 SUBDIR += perl5.42 SUBDIR += perl5.44 SUBDIR += petite-chez SUBDIR += pfe SUBDIR += pharo SUBDIR += php-mode.el SUBDIR += php82 SUBDIR += php82-extensions SUBDIR += php83 SUBDIR += php83-extensions SUBDIR += php84 SUBDIR += php84-extensions SUBDIR += php85 SUBDIR += php85-extensions SUBDIR += php86 SUBDIR += php86-extensions SUBDIR += picoc SUBDIR += picolisp SUBDIR += pkl SUBDIR += plexil SUBDIR += pocl SUBDIR += polyml SUBDIR += pomsky SUBDIR += prql SUBDIR += ptoc SUBDIR += purescript SUBDIR += py-dhall SUBDIR += py-gherkin-official SUBDIR += py-hy SUBDIR += py-lupa SUBDIR += py-sly SUBDIR += py-textX SUBDIR += python SUBDIR += python-doc-html SUBDIR += python-doc-text SUBDIR += python-mode.el SUBDIR += python-tools SUBDIR += python2 SUBDIR += python27 SUBDIR += python3 SUBDIR += python310 SUBDIR += python311 SUBDIR += python312 SUBDIR += python313 SUBDIR += python313t SUBDIR += python314 SUBDIR += python314t SUBDIR += python315 SUBDIR += qmasm SUBDIR += quickjs SUBDIR += quickjs-ng 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 += rizin-cutter SUBDIR += ruby33 SUBDIR += ruby34 SUBDIR += ruby40 SUBDIR += rubygem-rb_sys SUBDIR += rubygem-ruby_language_server SUBDIR += runawk SUBDIR += rust SUBDIR += rust-bootstrap SUBDIR += rust-nightly SUBDIR += rust188 SUBDIR += rustpython SUBDIR += s7 SUBDIR += s7-nrepl SUBDIR += sagittarius-scheme SUBDIR += sather-specification SUBDIR += sather-tutorial SUBDIR += sbcl SUBDIR += scala SUBDIR += scheme48 SUBDIR += scm SUBDIR += scratch SUBDIR += scryer-prolog 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 += spidermonkey128 SUBDIR += spidermonkey140 SUBDIR += squeak SUBDIR += squirrel SUBDIR += starlark-rust SUBDIR += swift510 SUBDIR += swift6 SUBDIR += swipl SUBDIR += tauthon SUBDIR += tcbasic SUBDIR += tcc SUBDIR += tcl-manual SUBDIR += tcl-wrapper SUBDIR += tcl86 SUBDIR += tcl90 SUBDIR += tclX SUBDIR += tolua SUBDIR += tolua++ SUBDIR += trealla-prolog SUBDIR += tuareg-mode.el SUBDIR += typescript-go SUBDIR += typstyle 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 SUBDIR += zig014 SUBDIR += zig015 .include diff --git a/lang/bun-linux/Makefile b/lang/bun-linux/Makefile new file mode 100644 index 000000000000..4c05e87c6b32 --- /dev/null +++ b/lang/bun-linux/Makefile @@ -0,0 +1,64 @@ +PORTNAME= bun-linux +DISTVERSION= 1.3.14 +CATEGORIES= lang +MASTER_SITES= https://github.com/oven-sh/bun/releases/download/bun-v${DISTVERSION}/:amd64 \ + https://github.com/oven-sh/bun/releases/download/bun-v${DISTVERSION}/:aarch64 +DISTFILES= bun-linux-x64-baseline.zip:amd64 \ + bun-linux-aarch64.zip:aarch64 +DIST_SUBDIR= ${PORTNAME}-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Linux version of Bun JavaScript runtime and package manager +WWW= https://bun.com/ \ + https://github.com/oven-sh/bun + +LICENSE= LGPL20 + +ONLY_FOR_ARCHS= aarch64 amd64 +ONLY_FOR_ARCHS_REASON= is a Linux binary with a limited platform support + +USES= linux:rl9 zip +USE_LINUX= base + +NO_BUILD= yes +NO_WRKSUBDIR= yes +STRIP= # elftoolchain strip fails on these Linux binaries + +CONFLICTS_INSTALL= bun + +PLIST_FILES= bin/bun \ + libexec/bun + +find-new-version: + @TAB=$$(printf '\t'); \ + new_ver=$$(fetch -q -o - https://api.github.com/repos/oven-sh/bun/releases/latest 2>/dev/null | \ + ${GREP} '"tag_name":' | head -1 | ${SED} 's/.*"bun-v\([^"]*\)".*/\1/'); \ + current_ver=$$(make -V DISTVERSION); \ + if [ "$$new_ver" != "$$current_ver" ] && [ -n "$$new_ver" ]; then \ + ${SED} -i '' "s/^DISTVERSION=.*/DISTVERSION=$${TAB}$$new_ver/" ${.CURDIR}/Makefile; \ + echo "=> New version available: $$current_ver -> $$new_ver"; \ + else \ + echo "=> No new version available (current: $$current_ver)"; \ + fi + +.include + +.if ${ARCH} == aarch64 +BUN_DISTDIR= bun-linux-aarch64 +.else +BUN_DISTDIR= bun-linux-x64-baseline +.endif + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/${BUN_DISTDIR}/bun ${STAGEDIR}${PREFIX}/libexec/bun + ( \ + ${ECHO} "#!/bin/sh"; \ + ${ECHO} "if [ ! -d /compat/linux/proc ]; then"; \ + ${ECHO} " echo 'Error: /compat/linux/proc is not mounted. Please run \"sudo mount -t linprocfs linprocfs /compat/linux/proc\" to mount it.'"; \ + ${ECHO} " exit 1"; \ + ${ECHO} "fi"; \ + ${ECHO} "exec ${PREFIX}/libexec/bun \"\$$@\"" \ + ) > ${WRKSRC}/bun-wrapper.sh + ${INSTALL_SCRIPT} ${WRKSRC}/bun-wrapper.sh ${STAGEDIR}${PREFIX}/bin/bun + +.include diff --git a/lang/bun-linux/distinfo b/lang/bun-linux/distinfo new file mode 100644 index 000000000000..a2c4a8dfc6b8 --- /dev/null +++ b/lang/bun-linux/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1784592947 +SHA256 (bun-linux-1.3.14/bun-linux-x64-baseline.zip) = a063908ae08b7852ca10939bbdc6ceed3ddabce8fb9402dce83d65d73b36e6c7 +SIZE (bun-linux-1.3.14/bun-linux-x64-baseline.zip) = 35595658 +SHA256 (bun-linux-1.3.14/bun-linux-aarch64.zip) = a27ffb63a8310375836e0d6f668ae17fa8d8d18b88c37c821c65331973a19a3b +SIZE (bun-linux-1.3.14/bun-linux-aarch64.zip) = 35700603 diff --git a/lang/bun-linux/pkg-descr b/lang/bun-linux/pkg-descr new file mode 100644 index 000000000000..b54b257b8911 --- /dev/null +++ b/lang/bun-linux/pkg-descr @@ -0,0 +1,14 @@ +Bun is a fast JavaScript runtime, bundler, transpiler, and +package manager -- all in one. + +This port installs the Linux binary of bun, which runs on FreeBSD +through the Linuxulator compatibility layer. + +Key features: +- Up to 4x faster startup time than Node.js +- Native TypeScript and JSX support (no separate transpilation step) +- Built-in package manager (npm-compatible) with global caching +- Built-in test runner, bundler, and transpiler +- Web-standard APIs: fetch, WebSocket, ReadableStream, etc. +- Node.js compatibility: most Node.js built-in modules work out of the box +- Zig, C++, and Rust -- for maximum performance diff --git a/lang/bun-linux/pkg-message b/lang/bun-linux/pkg-message new file mode 100644 index 000000000000..e843388a14cd --- /dev/null +++ b/lang/bun-linux/pkg-message @@ -0,0 +1,14 @@ +[ +{ type: install + message: <