forked from Lainports/freebsd-ports
And remove it from individual ports. Use WRK_ENV in custom build commands where necessary. FreeBSD make(1) includes /usr/share/mk/sys.mk and that includes /etc/make.conf if it exists. This happens when you run make in a port directory but it also happens when the upstream build system uses make. This commit disables make.conf inclusion in the latter case because users can define variables like CFLAGS in make.conf that override ports framework variables and this can cause problems that are difficult to diagnose. If there are any build customisations made through make.conf that stop working because of this commit then they should be made available by the ports tree through some mechanism, e.g. an option in a port. Some ports were picking up variables from Poudriere make.conf and required fixes: - astro/wmspaceweather x11-clocks/wmcalclock: Add OPSYS to MAKE_ENV. - games/zhlt: Add ARCH to MAKE_ENV. - graphics/tachyon: Upstream ARCH is not ports tree ARCH. Set ALL_TARGET=bsd so upstream ARCH is defined correctly. Enable multi-threading support while here. PR: 277455 Exp-run by: antoine
143 lines
3.9 KiB
Makefile
143 lines
3.9 KiB
Makefile
PORTNAME= lua
|
|
DISTVERSION= 5.3.6
|
|
PORTREVISION= 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
|
|
WWW= https://www.lua.org/
|
|
|
|
LICENSE= MIT
|
|
|
|
USES= cpe lua:core,53
|
|
USE_LDCONFIG= yes
|
|
|
|
# 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}" \
|
|
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_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-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
|
|
|
|
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
|
|
@${REINPLACE_CMD} -e "s|man/man|share/man/man|g" \
|
|
${WRKSRC}/Makefile
|
|
|
|
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}/share/man/man1/lua.1 \
|
|
${STAGEDIR}${PREFIX}/share/man/man1/${LUA_CMD}.1
|
|
${MV} ${STAGEDIR}${PREFIX}/share/man/man1/luac.1 \
|
|
${STAGEDIR}${PREFIX}/share/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 <bsd.port.mk>
|