Index: head/Mk/Uses/lua.mk =================================================================== --- head/Mk/Uses/lua.mk (revision 552437) +++ head/Mk/Uses/lua.mk (revision 552438) @@ -1,283 +1,283 @@ # $FreeBSD$ # # Provide support for lua # # MAINTAINER: ports@FreeBSD.org # Usage: # # USES+= lua[:options,...] # # Options: # # NN (e.g. 52) - specify an allowed Lua version (can use multiple times) # NN+ (e.g. 52+) - specify a minimum Lua version (discouraged) # -NN (e.g. -53) - specify a maximum allowed version # NN-NN (e.g. 51-53) - specify a range of allowed versions # # flavors define FLAVOR / FLAVORS as luaNN from the allowed versions # # noflavors don't use flavors # # module (implies flavors) specifies that the port is a Lua module # (i.e. that it installes files in MODLIBDIR etc.) # # build add dependency to BUILD_DEPENDS instead of LIB_DEPENDS # run add dependency to RUN_DEPENDS instead of LIB_DEPENDS # # env define only the LUA_* vars and add them to PLIST_SUB and # MAKE_ENV, do not add dependencies or other global state # # core for building Lua itself # # If more than one version is allowed, then the LUA_DEFAULT version (as set # in DEFAULT_VERSIONS) is chosen if it is in the allowed range, otherwise # the closest allowed version to the default is chosen, preferring the # larger version in case of a tie. # # But if "flavors" was requested, and FLAVOR is set, we use that version # exactly. (It is an error to specify a flavor that isn't supported, but # that is checked in bsd.port.mk, not here.) # # LUA_FLAVOR is defined to the desired flavor whether or not "flavors" was # selected; ports should use this to specify the flavor of dependencies # which are Lua modules or otherwise Lua-flavored. # # It's not generally expected that applications that embed Lua, or apps # written in Lua, would use USES=lua:flavors. Given that Lua is lightweight # and does not carry around a whole lot of module ecosystem with it, it is # best that application ports simply specify the Lua version or range of # versions that they support, and let the default one or the latest one be # used. However, they should still use LUA_FLAVOR as needed when specifying # dependencies. # # We assume Lua versions can be represented as 2 digits. # .if !defined(_INCLUDE_USES_LUA_MK) _INCLUDE_USES_LUA_MK= yes # When adding a version, please keep the comment in # Mk/bsd.default-versions.mk in sync. -_LUA_VALID_VERSIONS:= 53 52 51 +_LUA_VALID_VERSIONS:= 54 53 52 51 .if defined(_LUA_EXTRA_VER) _LUA_VALID_VERSIONS+= ${_LUA_EXTRA_VER} .endif _LUA_DEFAULT_VERSION:= ${LUA_DEFAULT:S/.//} # args _LUA_ARG_FLAVORS:= _LUA_ARG_MODULE:= _LUA_ARG_ENV:= _LUA_ARG_CORE:= .if ${lua_ARGS:Mmodule} _LUA_ARG_FLAVORS:=yes _LUA_ARG_MODULE:=yes .endif .if ${lua_ARGS:Mflavors} _LUA_ARG_FLAVORS:=yes .endif .if ${lua_ARGS:Mnoflavors} _LUA_ARG_FLAVORS:= .endif .if ${lua_ARGS:Menv} _LUA_ARG_ENV:=yes .endif .if ${lua_ARGS:Mcore} _LUA_ARG_CORE:=yes _LUA_ARG_ENV:=yes _LUA_ARG_FLAVORS:= _LUA_ARG_MODULE:= .endif # core is for building Lua itself, so it overrides all version checks .if ${_LUA_ARG_CORE} _LUA_WANTED_VERSION:=${lua_ARGS:M[1-9][0-9]:[1]} . if ${lua_ARGS:M[1-9][0-9]:[#]} != 1 IGNORE= USES=lua:core must also specify exactly one version number # set to avoid spurious errors below _LUA_WANTED_VERSION:=${_LUA_DEFAULT_VERSION} . endif _LUA_VALID_VERSIONS:=${_LUA_WANTED_VERSION} _LUA_WANTED_VERSIONS:=${_LUA_WANTED_VERSION} _LUA_DEFAULT_VERSION:=${_LUA_WANTED_VERSION} .endif # _LUA_ARG_CORE .if ! ${_LUA_VALID_VERSIONS:M${_LUA_DEFAULT_VERSION}} IGNORE= Invalid lua version ${LUA_DEFAULT} .endif # # Parse a ver+ argument # .if ${lua_ARGS:M??+} _LUA_MIN_VERSION:= ${lua_ARGS:M??+:S/+//} _LUA_MAX_VERSION:= 99 .endif # # Parse a -ver argument # .if ${lua_ARGS:M-??} _LUA_MAX_VERSION:= ${lua_ARGS:M-??:S/-//} _LUA_MIN_VERSION:= 0 .endif # # Parse a ver-ver argument # .if ${lua_ARGS:M??-??} _LUA_MIN_VERSION:= ${lua_ARGS:M??-??:C/-.*//} _LUA_MAX_VERSION:= ${lua_ARGS:M??-??:C/.*-//} .endif # # Parse one or more ver arguments # .if ${lua_ARGS:M[1-9][0-9]} . for _v in ${lua_ARGS:M[1-9][0-9]} . if ${_LUA_VALID_VERSIONS:M${_v}} _LUA_WANTED_VERSIONS+=${_v} . endif . endfor . if empty(_LUA_WANTED_VERSIONS) IGNORE= USES=lua:nn did not find any valid version number . endif .endif # # Resolve version ranges. Append anything within the range to the list of # wanted versions. # .if defined(_LUA_MIN_VERSION) && defined(_LUA_MAX_VERSION) . for _v in ${_LUA_VALID_VERSIONS} . if ${_LUA_MIN_VERSION} <= ${_v} && ${_LUA_MAX_VERSION} >= ${_v} _LUA_WANTED_VERSIONS+=${_v} . endif . endfor . if empty(_LUA_WANTED_VERSIONS) IGNORE= USES=lua:xx-yy did not find any valid version . endif .endif # # If no version was specified with any of the ver or ver+ arguments, allow # all versions. # .if empty(_LUA_WANTED_VERSIONS) _LUA_WANTED_VERSIONS:= ${_LUA_VALID_VERSIONS} .endif # The "preferred" version, which must always exist, is defined as the # closest value to the default version, preferring higher versions in # case of ties. We find this by constructing values in sequence: # VV VV+1 VV-1 VV+2 VV-2 ... # and then filtering against the allowed versions. The result is the # final list of "wanted" versions, with the preferred version first. _LUA_NUM_ASC:= \ ${:U:range=99:@_v@${${_v} > ${_LUA_DEFAULT_VERSION}:?${_v}:}@} _LUA_NUM_DESC:= \ ${:U:range=99:[-1..1]:@_v@${${_v} <= ${_LUA_DEFAULT_VERSION}:?${_v}:}@} _LUA_NUM_ALL:= \ ${:U:range=99:@_v@${_LUA_NUM_DESC:[${_v}]} ${_LUA_NUM_ASC:[${_v}]}@} _LUA_WANTED_VERSIONS:= \ ${_LUA_NUM_ALL:@_v@${_LUA_WANTED_VERSIONS:M${_v}}@} .if ${_LUA_ARG_FLAVORS} . if empty(FLAVORS) FLAVORS= ${_LUA_WANTED_VERSIONS:S/^/lua/} . endif . if empty(FLAVOR) FLAVOR= ${FLAVORS:[1]} . endif _LUA_WANTED_VERSION:= ${FLAVOR:S/^lua//} .else _LUA_WANTED_VERSION:= ${_LUA_WANTED_VERSIONS:[1]} .endif # If we're building Lua itself, everything should be in $PREFIX. If # we're building a module or app, then the stuff we're installing goes # in $PREFIX but references to Lua itself are in $LOCALBASE. # # The assumption is the LUA_MOD* directories are where we're going to # install (this is common for both modules and apps), and so we also # define LUA_REFMOD* relative to LOCALBASE for use when specifying # dependencies and so on. .if ${_LUA_ARG_CORE} LUA_BASE=${PREFIX} .else LUA_BASE=${LOCALBASE} .endif LUA_PREFIX=${PREFIX} # # Exported variables # LUA_VER_STR= ${_LUA_WANTED_VERSION} LUA_VER= ${_LUA_WANTED_VERSION:S/^5/5./} LUA_FLAVOR= ${_LUA_WANTED_VERSION:S/^/lua/} LUA_CMD= lua${LUA_VER_STR} LUAC_CMD= luac${LUA_VER_STR} LUA_PKGNAMEPREFIX= lua${LUA_VER_STR}- LUA_LIBDIR= ${LUA_BASE}/lib LUA_INCDIR= ${LUA_BASE}/include/lua${LUA_VER_STR} LUA_MODLIBDIR= ${LUA_PREFIX}/lib/lua/${LUA_VER} LUA_MODSHAREDIR= ${LUA_PREFIX}/share/lua/${LUA_VER} LUA_MODDOCSDIR= ${LUA_PREFIX}/share/doc/lua${LUA_VER_STR} LUA_MODEXAMPLESDIR= ${LUA_PREFIX}/share/examples/lua${LUA_VER_STR} LUA_REFMODLIBDIR= ${LUA_BASE}/lib/lua/${LUA_VER} LUA_REFMODSHAREDIR= ${LUA_BASE}/share/lua/${LUA_VER} PLIST_SUB+= LUA_MODLIBDIR=${LUA_MODLIBDIR:S,^${LUA_PREFIX}/,,} \ LUA_MODSHAREDIR=${LUA_MODSHAREDIR:S,^${LUA_PREFIX}/,,} \ LUA_MODDOCSDIR=${LUA_MODDOCSDIR:S,^${LUA_PREFIX}/,,} \ LUA_INCDIR=${LUA_INCDIR:S,^${LUA_BASE}/,,} \ LUA_LIBDIR=${LUA_LIBDIR:S,^${LUA_BASE}/,,} \ LUA_VER=${LUA_VER} \ LUA_VER_STR=${LUA_VER_STR} MAKE_ENV+= LUA_MODLIBDIR=${LUA_MODLIBDIR} \ LUA_MODSHAREDIR=${LUA_MODSHAREDIR} \ LUA_MODDOCSDIR=${LUA_MODDOCSDIR} \ LUA_INCDIR=${LUA_INCDIR} \ LUA_LIBDIR=${LUA_LIBDIR} \ LUA_VER=${LUA_VER} \ LUA_VER_STR=${LUA_VER_STR} # if building a module or Lua itself, or if the port defined LUA_DOCSUBDIR, # then define LUA_DOCSDIR and LUA_EXAMPLESDIR too .if ${_LUA_ARG_CORE} || ${_LUA_ARG_MODULE} LUA_DOCSUBDIR?=${PORTNAME} .endif .if !empty(LUA_DOCSUBDIR) LUA_DOCSDIR= ${LUA_MODDOCSDIR}/${LUA_DOCSUBDIR} LUA_EXAMPLESDIR=${LUA_MODEXAMPLESDIR}/${LUA_DOCSUBDIR} PLIST_SUB+= LUA_DOCSDIR=${LUA_DOCSDIR:S,^${LUA_PREFIX}/,,} PLIST_SUB+= LUA_EXAMPLESDIR=${LUA_EXAMPLESDIR:S,^${LUA_PREFIX}/,,} MAKE_ENV+= LUA_DOCSDIR=${LUA_DOCSDIR} MAKE_ENV+= LUA_EXAMPLESDIR=${LUA_EXAMPLESDIR} .endif .if empty(_LUA_ARG_ENV) . if ${lua_ARGS:Mbuild} BUILD_DEPENDS+= ${LUA_CMD}:lang/lua${LUA_VER_STR} . endif . if ${lua_ARGS:Mrun} RUN_DEPENDS+= ${LUA_CMD}:lang/lua${LUA_VER_STR} . endif . if !${lua_ARGS:Mbuild} && !${lua_ARGS:Mrun} LIB_DEPENDS+= liblua-${LUA_VER}.so:lang/lua${LUA_VER_STR} . endif .endif .endif Index: head/Mk/bsd.default-versions.mk =================================================================== --- head/Mk/bsd.default-versions.mk (revision 552437) +++ head/Mk/bsd.default-versions.mk (revision 552438) @@ -1,147 +1,147 @@ # $FreeBSD$ # # MAINTAINER: ports@FreeBSD.org # # Note: before committing to this file, contact portmgr to arrange for an # experimental ports run. Untested commits may be backed out at portmgr's # discretion. # # Provide default versions for ports with multiple versions selectable # by the user. # # Users who want to override these defaults can easily do so by defining # DEFAULT_VERSIONS in their make.conf as follows: # # DEFAULT_VERSIONS= perl5=5.20 ruby=2.0 .if !defined(_INCLUDE_BSD_DEFAULT_VERSIONS_MK) _INCLUDE_BSD_DEFAULT_VERSIONS_MK= yes LOCALBASE?= /usr/local .for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC GHOSTSCRIPT \ JAVA JULIA LAZARUS LINUX LLVM LUA MYSQL PERL5 PGSQL PHP PYTHON PYTHON2 \ PYTHON3 RUBY RUST SAMBA SSL TCLTK VARNISH .if defined(${lang}_DEFAULT) ERROR+= "The variable ${lang}_DEFAULT is set and it should only be defined through DEFAULT_VERSIONS+=${lang:tl}=${${lang}_DEFAULT} in /etc/make.conf" .endif #.undef ${lang}_DEFAULT .endfor .for lang in ${DEFAULT_VERSIONS} _l= ${lang:C/=.*//g} ${_l:tu}_DEFAULT= ${lang:C/.*=//g} .endfor # Possible values: 2.4 APACHE_DEFAULT?= 2.4 # Possible values: 48, 5, 6 BDB_DEFAULT?= 5 # Possible values: 2, 3 COROSYNC_DEFAULT?= 2 # Possible_values: full canna nox devel_full devel_nox #EMACS_DEFAULT?= let the flavor be the default if not explicitly set # Possible values: 2.5 FIREBIRD_DEFAULT?= 2.5 # Possible values: flang (experimental), gfortran FORTRAN_DEFAULT?= gfortran # Possible values: 3.0.4 FPC_DEFAULT?= 3.0.4 # Possible values: 8, 9 (powerpcspe was dropped with GCC 9) .if ${ARCH} == "powerpcspe" GCC_DEFAULT?= 8 .else GCC_DEFAULT?= 9 .endif # Possible values: 7, 8, 9, agpl GHOSTSCRIPT_DEFAULT?= agpl # Possible values: 7, 8, 11, 12, 13, 14, 15 JAVA_DEFAULT?= 8 # Possible values: 0.6, 0.7, 1.0, 1.1 JULIA_DEFAULT?= 1.0 # Possible values: 2.0.8 LAZARUS_DEFAULT?= 2.0.8 # Possible values: c7 LINUX_DEFAULT?= c7 # Possible values: 60, 70, 80, 90, -devel (to be used when non-base compiler is required) # Please give notice to the Graphics Team (x11@FreeBSD.org) in advance before # bumping the LLVM version. LLVM_DEFAULT?= 90 -# Possible values: 5.1, 5.2, 5.3 +# Possible values: 5.1, 5.2, 5.3, 5.4 LUA_DEFAULT?= 5.2 # Possible values: 5.5, 5.6, 5.7, 8.0, 10.3m, 10.4m, 10.5m, 5.5p, 5.6p, 5.7p, 5.6w, 5.7w MYSQL_DEFAULT?= 5.7 # Possible values: 5.28, 5.30, 5.32, devel .if !exists(${LOCALBASE}/bin/perl) || (!defined(_PORTS_ENV_CHECK) && \ defined(PACKAGE_BUILDING)) PERL5_DEFAULT?= 5.32 .elif !defined(PERL5_DEFAULT) # There's no need to replace development versions, like "5.23" with "devel" # because 1) nobody is supposed to use it outside of poudriere, and 2) it must # be set manually in /etc/make.conf in the first place, and we're never getting # in here. .if !defined(_PERL5_FROM_BIN) _PERL5_FROM_BIN!= ${LOCALBASE}/bin/perl -e 'printf "%vd\n", $$^V;' .endif _EXPORTED_VARS+= _PERL5_FROM_BIN PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R} .endif # Possible values: 9.5, 9.6, 10, 11, 12 PGSQL_DEFAULT?= 12 # Possible values: 7.2, 7.3, 7.4 PHP_DEFAULT?= 7.4 # Possible values: 2.7, 3.6, 3.7, 3.8, 3.9 PYTHON_DEFAULT?= 3.7 # Possible values: 2.7 PYTHON2_DEFAULT?= 2.7 # Possible values: 3.6, 3.7, 3.8, 3.9 PYTHON3_DEFAULT?= 3.7 # Possible values: 2.5, 2.6, 2.7, 3.0 RUBY_DEFAULT?= 2.6 # Possible values: rust, rust-nightly RUST_DEFAULT?= rust # Possible values: 4.10, 4.11, 4.12, 4.13 SAMBA_DEFAULT?= 4.12 # Possible values: base, openssl, libressl, libressl-devel .if !defined(SSL_DEFAULT) # If no preference was set, check for an installed base version # but give an installed port preference over it. . if !defined(SSL_DEFAULT) && \ !exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so) && \ exists(${DESTDIR}/usr/include/openssl/opensslv.h) SSL_DEFAULT= base . else . if exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so) . if defined(PKG_BIN) # find installed port and use it for dependency . if !defined(OPENSSL_INSTALLED) . if defined(DESTDIR) PKGARGS= -c ${DESTDIR} . else PKGARGS= . endif OPENSSL_INSTALLED!= ${PKG_BIN} ${PKGARGS} which -qo ${LOCALBASE}/lib/libcrypto.so || : . endif . if defined(OPENSSL_INSTALLED) && !empty(OPENSSL_INSTALLED) SSL_DEFAULT:= ${OPENSSL_INSTALLED:T} WARNING+= "You have ${OPENSSL_INSTALLED} installed but do not have DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT} set in your make.conf" . endif . else check-makevars:: @${ECHO_MSG} "You have a ${LOCALBASE}/lib/libcrypto.so file installed, but the framework is unable" @${ECHO_MSG} "to determine what port it comes from." @${ECHO_MSG} "Add DEFAULT_VERSIONS+=ssl= to your /etc/make.conf and try again." @${FALSE} . endif . endif . endif # Make sure we have a default in the end SSL_DEFAULT?= base .endif # Possible values: 8.5, 8.6, 8.7 TCLTK_DEFAULT?= 8.6 # Possible values: 4, 6 VARNISH_DEFAULT?= 4 .endif Index: head/lang/Makefile =================================================================== --- head/lang/Makefile (revision 552437) +++ head/lang/Makefile (revision 552438) @@ -1,365 +1,366 @@ # $FreeBSD$ # COMMENT = Programming languages SUBDIR += Gofer SUBDIR += J SUBDIR += abcl SUBDIR += adacontrol SUBDIR += alchemist.el SUBDIR += algol68g SUBDIR += angelscript SUBDIR += apache-commons-jelly SUBDIR += asis SUBDIR += asn1c SUBDIR += atlast SUBDIR += awka SUBDIR += bas2tap SUBDIR += basic256 SUBDIR += bf2c SUBDIR += bsh SUBDIR += bwbasic SUBDIR += c SUBDIR += cbmbasic SUBDIR += ccl SUBDIR += ceylon SUBDIR += cfortran SUBDIR += chaiscript SUBDIR += chez-scheme SUBDIR += chibi-scheme SUBDIR += chicken5 SUBDIR += cim SUBDIR += cjs SUBDIR += cling SUBDIR += clips SUBDIR += clisp SUBDIR += clojure SUBDIR += clojure-mode.el SUBDIR += clover SUBDIR += cmucl SUBDIR += cmucl-extra SUBDIR += cocor SUBDIR += coffeescript SUBDIR += cparser SUBDIR += crystal SUBDIR += csharp-mode.el SUBDIR += cython SUBDIR += dlang-tools SUBDIR += dlv SUBDIR += duktape SUBDIR += duktape-lib SUBDIR += ecl SUBDIR += elixir 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-riak SUBDIR += erlang-runtime20 SUBDIR += erlang-runtime21 SUBDIR += erlang-runtime22 SUBDIR += erlang-runtime23 SUBDIR += erlang-wx SUBDIR += execline SUBDIR += expect SUBDIR += f2c SUBDIR += fasm SUBDIR += ferite SUBDIR += ficl SUBDIR += fpc SUBDIR += fpc-base SUBDIR += fpc-docs SUBDIR += fpc-lua SUBDIR += fpc-rexx SUBDIR += fpc-rtl-console SUBDIR += fpc-rtl-extra 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 += gcc10-devel SUBDIR += gcc11-devel SUBDIR += gcc48 SUBDIR += gcc6-aux SUBDIR += gcc7 SUBDIR += gcc8 SUBDIR += gcc8-devel SUBDIR += gcc9 SUBDIR += gcc9-devel SUBDIR += gforth SUBDIR += ghc SUBDIR += gjs SUBDIR += gnat_util 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 += gomacro SUBDIR += gravity SUBDIR += groovy SUBDIR += gscheme SUBDIR += guile SUBDIR += guile1 SUBDIR += guile2 SUBDIR += halide SUBDIR += harbour 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 += jruby SUBDIR += julia SUBDIR += julia10 SUBDIR += jython SUBDIR += kawa SUBDIR += kf5-kross SUBDIR += kotlin SUBDIR += kross-interpreters SUBDIR += kturtle SUBDIR += lafontaine SUBDIR += lci SUBDIR += ldc SUBDIR += lfe 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 += lua-ada SUBDIR += lua51 SUBDIR += lua52 SUBDIR += lua53 + SUBDIR += lua54 SUBDIR += luajit SUBDIR += luajit-openresty SUBDIR += malbolge SUBDIR += maude SUBDIR += mawk SUBDIR += mdk SUBDIR += micropython SUBDIR += mit-scheme SUBDIR += mixal SUBDIR += mlton SUBDIR += mmix SUBDIR += mono SUBDIR += mono-basic SUBDIR += mosh SUBDIR += mosml SUBDIR += mtasc SUBDIR += mujs SUBDIR += munger SUBDIR += myrddin SUBDIR += nawk SUBDIR += nbc SUBDIR += nbfc SUBDIR += neko SUBDIR += nesasm SUBDIR += newlisp SUBDIR += nhc98 SUBDIR += nickle SUBDIR += nim SUBDIR += nml 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-SpiderMonkey 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.28 SUBDIR += perl5.30 SUBDIR += perl5.32 SUBDIR += petite-chez SUBDIR += pfe SUBDIR += pharo SUBDIR += php-mode.el SUBDIR += php72 SUBDIR += php72-extensions SUBDIR += php73 SUBDIR += php73-extensions SUBDIR += php74 SUBDIR += php74-extensions SUBDIR += picoc SUBDIR += plexil SUBDIR += pocl SUBDIR += polyml SUBDIR += ponyc SUBDIR += ptoc SUBDIR += purescript SUBDIR += py-hy SUBDIR += py-lupa SUBDIR += py-qt5-qml SUBDIR += py-textX SUBDIR += pypy SUBDIR += pypy3 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 += python36 SUBDIR += python37 SUBDIR += python38 SUBDIR += python39 SUBDIR += qmasm SUBDIR += qscheme SUBDIR += quickjs 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 += ruby25 SUBDIR += ruby26 SUBDIR += ruby27 SUBDIR += ruby30 SUBDIR += runawk SUBDIR += rust SUBDIR += rust-bootstrap SUBDIR += rust-nightly SUBDIR += sagittarius-scheme SUBDIR += sather-specification SUBDIR += sather-tutorial SUBDIR += sbcl SUBDIR += scala SUBDIR += scala-docs 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-guile2 SUBDIR += slisp SUBDIR += smalltalk SUBDIR += smlnj SUBDIR += snobol4 SUBDIR += solidity SUBDIR += spidermonkey17 SUBDIR += spidermonkey185 SUBDIR += spidermonkey24 SUBDIR += spidermonkey52 SUBDIR += spidermonkey60 SUBDIR += spidermonkey78 SUBDIR += spl SUBDIR += squeak SUBDIR += squirrel SUBDIR += swi-pl 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 += vala SUBDIR += visualworks SUBDIR += voc SUBDIR += yabasic SUBDIR += yorick SUBDIR += ypsilon SUBDIR += zig .include Index: head/lang/lua54/Makefile =================================================================== --- head/lang/lua54/Makefile (nonexistent) +++ head/lang/lua54/Makefile (revision 552438) @@ -0,0 +1,151 @@ +# $FreeBSD$ + +PORTNAME= lua +DISTVERSION= 5.4.1 +CATEGORIES= lang +MASTER_SITES= https://www.lua.org/ftp/ +PKGNAMESUFFIX= ${LUA_VER_STR} + +MAINTAINER= russ.haley@gmail.com +COMMENT= Powerful, efficient, lightweight, embeddable scripting language + +LICENSE= MIT + +USES= lua:core,54 +USE_LDCONFIG= yes + +# Overriding __MAKE_CONF makes sure that we don't re-parse +# /etc/make.conf during do-build, which would jeopardize the build +# if, for instance, the user set CFLAGS=mumble +# NOTE: /etc/make.conf is read BEFORE Makefile, so we already +# have its settings when we get here. +# See http://wiki.freebsd.org/MatthiasAndree/LuaLessonsLearnt +MAKE_ARGS= __MAKE_CONF=${NONEXISTENT} + +# using the "bsd" target rather than "freebsd" saves patching out the +# assumption of using base libedit in order to make it configurable. "bsd" +# is "generic" plus the POSIX and DLOPEN options, plus -Wl,-E at link time; +# it doesn't set CC either, which makes it easier for us to control that too. +ALL_TARGET=bsd + +LUA_LIB_STATIC= liblua-${LUA_VER}.a +LUA_LIB_SHARED= liblua-${LUA_VER}.so +LUA_PC_FILE= lua-${LUA_VER}.pc + +CFLAGS+= -fPIC +# 2019-01-25: -pthread in LIBS is a work around for the following bug: +# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235211 +LIBS+= -pthread + +WITHOUT_NO_STRICT_ALIASING=yes + +MAKE_ARGS+= CC="${CC}" \ + CMCFLAGS="" \ + MYCFLAGS="${CPPFLAGS} ${CFLAGS}" \ + MYLDFLAGS="${LDFLAGS}" \ + MYLIBS="${LIBS}" \ + LUA_T=${LUA_CMD} \ + LUAC_T=${LUAC_CMD} \ + LUA_A=${LUA_LIB_STATIC} \ + LUA_SO=${LUA_LIB_SHARED} \ + LUA_SONAME=${LUA_LIB_SHARED} \ + TO_BIN="${LUA_CMD} ${LUAC_CMD}" \ + TO_LIB="${LUA_LIB_SHARED} ${LUA_LIB_STATIC}" \ + INSTALL_TOP=${STAGEDIR}${PREFIX} \ + INSTALL_INC=${STAGEDIR}${LUA_INCDIR} \ + INSTALL_EXEC="${INSTALL_PROGRAM}" + +# Source, destination, and filenames to copy for the DOCS option +# (automatically added to pkg-plist if DOCS is set) +# We override DOCSDIR to get a per-version subdir. +# We put the docs for Lua proper in a lua/ subdir of the version subdir +# so that ports for Lua modules can use the version subdir too without +# making a mess. +DOCSDIR= ${LUA_DOCSDIR} +BUILD_WRKDOC= ${WRKSRC}/doc + +SUB_FILES= ${LUA_PC_FILE} +SUB_LIST= version=${PORTVERSION} \ + includedir=${LUA_INCDIR} \ + libdir=${LUA_LIBDIR} \ + soname=lua-${LUA_VER} + +BUILD_WRKSRC= ${WRKSRC}/src + +PORTDOCS= * + +# Options + +OPTIONS_DEFAULT= LIBEDIT_DL + +OPTIONS_GROUP= DOCSGRP DEBUGGRP +OPTIONS_GROUP_DEBUGGRP= ASSERT APICHECK +OPTIONS_GROUP_DOCSGRP= DOCS + +OPTIONS_SINGLE= EDITGRP +OPTIONS_SINGLE_EDITGRP= EDITNONE LIBEDIT_DL LIBEDIT READLINE + +# Option descriptions + +APICHECK_DESC= Enable API checks +ASSERT_DESC= Enable interpreter assertions +DEBUGGRP_DESC= Debugging options + +DOCSGRP_DESC= Documentation options +DOCS_DESC= Install language and API reference (HTML, ~400kB) + +EDITGRP_DESC= Interactive command-line editing +EDITNONE_DESC= No command-line editing +LIBEDIT_DESC= Use libedit (breaks lcurses) +LIBEDIT_DL_DESC=Use dynamically loaded libedit (recommended) +READLINE_DESC= Use GNU Readline (breaks lcurses) + +# Option implementations + +APICHECK_CPPFLAGS= -DLUA_USE_APICHECK +ASSERT_CPPFLAGS= -DLUAI_ASSERT + +# EDITNONE currently requires no settings + +LIBEDIT_USES= libedit +LIBEDIT_CPPFLAGS= -DLUA_USE_READLINE +LIBEDIT_LIBS= -ledit + +LIBEDIT_DL_USES= libedit +LIBEDIT_DL_CPPFLAGS= -DLUA_USE_READLINE_DL +LIBEDIT_DL_EXTRA_PATCHES=${PATCHDIR}/extra-patch-libedit-dl + +READLINE_USES= readline +READLINE_CPPFLAGS= -DLUA_USE_READLINE +READLINE_LIBS= -lreadline + +# end of option vars + +post-patch: + @${REINPLACE_CMD} -e "/LUA_ROOT/s,/usr/local,${LUA_PREFIX}," \ + ${WRKSRC}/src/luaconf.h + +post-patch-LIBEDIT-on: + @${REINPLACE_CMD} -e "s,readline/,editline/,g ; \ + /history\.h/d" ${WRKSRC}/src/lua.c + +post-patch-LIBEDIT_DL-on: + @${REINPLACE_CMD} \ + -e "/^#def.*LUA_READLINE_LIBPATH/s,/usr/local,${LOCALBASE}," \ + ${WRKSRC}/src/lua.c + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${LUA_LIB_SHARED} + ${MV} ${STAGEDIR}${PREFIX}/man/man1/lua.1 \ + ${STAGEDIR}${PREFIX}/man/man1/${LUA_CMD}.1 + ${MV} ${STAGEDIR}${PREFIX}/man/man1/luac.1 \ + ${STAGEDIR}${PREFIX}/man/man1/${LUAC_CMD}.1 + ${INSTALL_DATA} ${WRKDIR}/${LUA_PC_FILE} \ + ${STAGEDIR}${PREFIX}/libdata/pkgconfig + +post-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + (cd ${BUILD_WRKDOC} && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} '-not -name *\.1') + +.include Property changes on: head/lang/lua54/Makefile ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/lua54/distinfo =================================================================== --- head/lang/lua54/distinfo (nonexistent) +++ head/lang/lua54/distinfo (revision 552438) @@ -0,0 +1,3 @@ +TIMESTAMP = 1602265420 +SHA256 (lua-5.4.1.tar.gz) = 4ba786c3705eb9db6567af29c91a01b81f1c0ac3124fdbf6cd94bdd9e53cca7d +SIZE (lua-5.4.1.tar.gz) = 353965 Property changes on: head/lang/lua54/distinfo ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/lua54/files/extra-patch-libedit-dl =================================================================== --- head/lang/lua54/files/extra-patch-libedit-dl (nonexistent) +++ head/lang/lua54/files/extra-patch-libedit-dl (revision 552438) @@ -0,0 +1,58 @@ +--- src/lua.c.orig 2018-03-16 14:23:08 UTC ++++ src/lua.c +@@ -379,7 +379,54 @@ static int handle_luainit (lua_State *L) + */ + #if !defined(lua_readline) /* { */ + +-#if defined(LUA_USE_READLINE) /* { */ ++#if defined(LUA_USE_READLINE_DL)/* { */ ++ ++#include ++ ++#ifndef LUA_READLINE_LIBPATH ++#define LUA_READLINE_LIBPATH "/usr/local/lib/libedit.so" ++#endif ++ ++typedef char *readline_functype(const char *); ++typedef int add_history_functype(const char *); ++ ++static readline_functype *lua_readline_p = NULL; ++static add_history_functype *lua_saveline_p = NULL; ++ ++static void lua_initreadline(lua_State *L) ++{ ++ void *editlib = NULL; ++ union dl_func_hack { ++ void *ptr; ++ readline_functype *rlfunc; ++ add_history_functype *ahfunc; ++ char **rlnamevar; ++ int *icompvar; ++ } u; ++ (void) L; ++ if ((editlib = dlopen(LUA_READLINE_LIBPATH, RTLD_LAZY | RTLD_LOCAL))) { ++ u.ptr = dlsym(editlib, "readline"); ++ lua_readline_p = u.rlfunc; ++ u.ptr = dlsym(editlib, "add_history"); ++ lua_saveline_p = u.ahfunc; ++ if ((u.ptr = dlsym(editlib, "rl_readline_name"))) ++ *u.rlnamevar = "lua"; ++ if ((u.ptr = dlsym(editlib, "rl_inhibit_completion"))) ++ *u.icompvar = 1; ++ } ++} ++ ++#define lua_readline(L,b,p) \ ++ ((void)L, \ ++ (lua_readline_p) \ ++ ? (((b)=lua_readline_p(p)) != NULL) \ ++ : (fputs(p, stdout), fflush(stdout), fgets(b, LUA_MAXINPUT, stdin) != NULL)) ++#define lua_saveline(L,line) \ ++ do { (void)L; if (lua_saveline_p) lua_saveline_p(line); } while(0) ++#define lua_freeline(L,b) \ ++ do { (void)L; if (lua_readline_p) free(b); } while(0) ++ ++#elif defined(LUA_USE_READLINE) /* { */ + + #include + #include Property changes on: head/lang/lua54/files/extra-patch-libedit-dl ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/lua54/files/lua-5.4.pc.in =================================================================== --- head/lang/lua54/files/lua-5.4.pc.in (nonexistent) +++ head/lang/lua54/files/lua-5.4.pc.in (revision 552438) @@ -0,0 +1,10 @@ +version=%%version%% +libdir=%%libdir%% +includedir=%%includedir%% +soname=%%soname%% + +Name: Lua +Description: Powerful, efficient, lightweight, embeddable scripting language. +Version: ${version} +Libs: -L${libdir} -l${soname} -lm +Cflags: -I${includedir} Property changes on: head/lang/lua54/files/lua-5.4.pc.in ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +on \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/lua54/files/patch-src_Makefile =================================================================== --- head/lang/lua54/files/patch-src_Makefile (nonexistent) +++ head/lang/lua54/files/patch-src_Makefile (revision 552438) @@ -0,0 +1,45 @@ +--- src/Makefile.orig 2020-04-15 13:00:29 UTC ++++ src/Makefile +@@ -7,11 +7,12 @@ + PLAT= guess + + CC= gcc -std=gnu99 +-CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_3 $(SYSCFLAGS) $(MYCFLAGS) ++CFLAGS= -Wall -Wextra -DLUA_COMPAT_5_3 $(SYSCFLAGS) $(MYCFLAGS) + LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) + LIBS= -lm $(SYSLIBS) $(MYLIBS) ++SOLIBS= -lm + +-AR= ar rcu ++AR= ar + RANLIB= ranlib + RM= rm -f + UNAME= uname +@@ -39,12 +40,13 @@ BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) + + LUA_T= lua + LUA_O= lua.o ++LUA_SO= liblua.so + + LUAC_T= luac + LUAC_O= luac.o + + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) +-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO) + ALL_A= $(LUA_A) + + # Targets start here. +@@ -56,8 +58,11 @@ o: $(ALL_O) + + a: $(ALL_A) + ++$(LUA_SO): $(CORE_O) $(LIB_O) ++ $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(MYLDFLAGS) -shared -Wl,-soname=$(LUA_SONAME) $? $(SOLIBS) ++ + $(LUA_A): $(BASE_O) +- $(AR) $@ $(BASE_O) ++ $(AR) $(ARFLAGS) $@ $(BASE_O) + $(RANLIB) $@ + + $(LUA_T): $(LUA_O) $(LUA_A) Property changes on: head/lang/lua54/files/patch-src_Makefile ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/lua54/pkg-plist =================================================================== --- head/lang/lua54/pkg-plist (nonexistent) +++ head/lang/lua54/pkg-plist (revision 552438) @@ -0,0 +1,14 @@ +bin/lua%%LUA_VER_STR%% +bin/luac%%LUA_VER_STR%% +%%LUA_INCDIR%%/lauxlib.h +%%LUA_INCDIR%%/lua.h +%%LUA_INCDIR%%/lua.hpp +%%LUA_INCDIR%%/luaconf.h +%%LUA_INCDIR%%/lualib.h +%%LUA_LIBDIR%%/liblua-%%LUA_VER%%.a +%%LUA_LIBDIR%%/liblua-%%LUA_VER%%.so +libdata/pkgconfig/lua-%%LUA_VER%%.pc +man/man1/lua%%LUA_VER_STR%%.1.gz +man/man1/luac%%LUA_VER_STR%%.1.gz +@dir %%LUA_MODLIBDIR%% +@dir %%LUA_MODSHAREDIR%% Property changes on: head/lang/lua54/pkg-plist ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/lang/lua54/pkg-descr =================================================================== --- head/lang/lua54/pkg-descr (nonexistent) +++ head/lang/lua54/pkg-descr (revision 552438) @@ -0,0 +1,21 @@ +Lua is a programming language originally designed for extending applications, +but also frequently used as a general-purpose, stand-alone language. Lua +combines simple procedural syntax (similar to Pascal) with powerful data +description constructs based on associative arrays and extensible semantics. +Lua is dynamically typed, interpreted from bytecodes, and has automatic memory +management with garbage collection, making it ideal for configuration, +scripting, and rapid prototyping. + +A fundamental concept in the design of Lua is to provide meta-mechanisms for +implementing features, instead of providing a host of features directly in +the language. For example, although Lua is not a pure object-oriented +language, it does provide meta-mechanisms for implementing classes and +inheritance. Lua's meta-mechanisms bring an economy of concepts and keep the +language small, while allowing the semantics to be extended in unconventional +ways. Extensible semantics is a distinguishing feature of Lua. + +Lua is implemented as a small library of C functions, written in ANSI C, and +compiles unmodified in all known platforms. The implementation goals are +simplicity, efficiency, portability, and low embedding cost. + +WWW: https://www.lua.org/ Property changes on: head/lang/lua54/pkg-descr ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property