aboutsummaryrefslogtreecommitdiffstats
path: root/Mk
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2014-01-10 16:25:49 +0800
committerbapt <bapt@FreeBSD.org>2014-01-10 16:25:49 +0800
commit460e485683596d8b41fe1abc9e7406844e133dc4 (patch)
tree4c714045a1ba0b0b537127c0a3ff4063112d257b /Mk
parent7c9cda8cd07f1afe807689dbc5f0541282ea0746 (diff)
downloadfreebsd-ports-gnome-460e485683596d8b41fe1abc9e7406844e133dc4.tar.gz
freebsd-ports-gnome-460e485683596d8b41fe1abc9e7406844e133dc4.tar.zst
freebsd-ports-gnome-460e485683596d8b41fe1abc9e7406844e133dc4.zip
Add a USES=lua (WIP) that only supports lua 5.2
Goal is to slowly port any lua software to lua 5.2 and then remove lua 5.1 along with bsd.lua.mk Make version flexible and settable via DEFAULT_VERSIONS to prepare the futur days of lua
Diffstat (limited to 'Mk')
-rw-r--r--Mk/Uses/lua.mk106
-rw-r--r--Mk/bsd.default-versions.mk1
2 files changed, 107 insertions, 0 deletions
diff --git a/Mk/Uses/lua.mk b/Mk/Uses/lua.mk
new file mode 100644
index 000000000000..867f052a8c0d
--- /dev/null
+++ b/Mk/Uses/lua.mk
@@ -0,0 +1,106 @@
+# $FreeBSD$
+#
+# Provide support for lua
+#
+# MAINTAINER: lua@FreeBSD.org
+#
+
+.if !defined(_INCLUDE_USES_LUA_MK)
+_INCLUDE_USES_LUA_MK= yes
+
+_LUA_VALID_VERSIONS= 52
+
+.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
+_LUA_DEFAULT_VERSION= ${LUA_DEFAULT:S/.//}
+.if ! ${_LUA_VALID_VERSIONS:M${_LUA_DEFAULT_VERSION}}
+IGNORE= Invalid lua version ${LUA_DEFAULT}
+.endif
+
+_LUA_ARGS= ${lua_ARGS:S/,/ /g}
+
+#
+# Parse a ver+ argument
+#
+.if ${_LUA_ARGS:M*+}
+_LUA_MIN_VERSION:= ${_LUA_ARGS:M*+:S/+//}
+_LUA_WANTED_VERSION:= ${_LUA_DEFAULT_VERSION}
+.endif
+
+#
+# Parse one or more ver arguments
+#
+.if ${_LUA_ARGS:M5[1-2]}
+_LUA_WANTED_VERSIONS:= ${_LUA_ARGS:M5[1-2]}
+.endif
+
+#
+# If no version was specified with any of the ver or ver+ arguments, set the
+# default version.
+#
+.if !defined(_LUA_WANTED_VERSIONS)
+_LUA_WANTED_VERSIONS= ${_LUA_DEFAULT_VERSION}
+.endif
+
+#
+# Resolve minimum versions (ver+). Append anything greater or equal than the
+# specified minimum version to the list of wanted versions.
+#
+.if defined(_LUA_MIN_VERSION)
+. for _v in ${_LUA_VALID_VERSIONS}
+. if ${_LUA_MIN_VERSION} <= ${_v}
+_LUA_WANTED_VERSIONS+=${_v}
+. endif
+. endfor
+.endif
+
+#
+# Right now we have built a list of potential versions that we may depend on.
+# Let's sort them and remove any duplicates. We then locate the highest one
+# already installed, if any.
+#
+.for _v in ${_LUA_WANTED_VERSIONS:O:u}
+_LUA_HIGHEST_VERSION:=${_v}
+. if exists(${LOCALBASE}/bin/lua${_v})
+_LUA_WANTED_VERSION:= ${_v}
+. endif
+.endfor
+
+#
+# If we couldn't find any wanted version installed, depend on the highest one.
+.if !defined(_LUA_WANTED_VERSION)
+_LUA_WANTED_VERSION:= ${_LUA_HIGHEST_VERSION}
+.endif
+
+#
+# Exported variables
+#
+LUA_VER_STR= ${_LUA_WANTED_VERSION}
+LUA_VER= ${_LUA_WANTED_VERSION:S/5/5./}
+LUA_CMD= lua${_LUA_WANTED_VERSION}
+LUAC_CMD= luac${_LUA_WANTED_VERSION}
+LUA_INCDIR= ${LOCALBASE}/include/lua${_LUA_WANTED_VERSION}
+LUA_MODLIBDIR= ${LOCALBASE}/lib/lua/${LUA_VER}
+LUA_MODSHAREDIR= ${LOCALBASE}/share/lua/${LUA_VER}
+LUA_LIBDIR= ${LOCALBASE}/lib
+LUA_PKGNAMEPREFIX= lua${LUA_VER_STR}-
+
+PLIST_SUB+= LUA_MODLIBDIR=${LUA_MODLIBDIR:S,^${LOCALBASE}/,,} \
+ LUA_MODSHAREDIR=${LUA_MODSHAREDIR:S,^${LOCALBASE}/,,} \
+ LUA_VER=${LUA_VER} \
+ LUA_INCDIR=${LUA_INCDIR} \
+ LUA_LIBDIR=${LUA_LIBDIR}
+MAKE_ENV+= LUA_MODLIBDIR=${LUA_MODLIBDIR} \
+ LUA_MODSHAREDIR=${LUA_MODSHAREDIR} \
+ LUA_VER=${LUA_VER} \
+ LUA_INCDIR=${LUA_INCDIR} \
+ LUA_LIBDIR=${LUA_LIBDIR}
+
+.if ${_LUA_ARGS:Mbuild}
+BUILD_DEPENDS= ${LUA_CMD}:${PORTSDIR}/lang/lua${LUA_VER_STR:51=}
+.elfif ${_LUA_ARGS:Mrun}
+RUN_DEPENDS= ${LUA_CMD}:${POTSDIR}/lang/lua${LUA_VER_STR:51=}
+.else
+LIB_DEPENDS= liblua-${LUA_VER}.so:${PORTSDIR}/lang/lua${LUA_VERSTR:51=}
+.endif
+
+.endif
diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk
index 52d50bcc398a..94f88afad882 100644
--- a/Mk/bsd.default-versions.mk
+++ b/Mk/bsd.default-versions.mk
@@ -23,5 +23,6 @@ TCLTK_DEFAULT?= 8.6
PYTHON_DEFAULT?= 2.7
PYTHON2_DEFAULT?= 2.7
PYTHON3_DEFAULT?= 3.3
+LUA_DEFAULT?= 5.2
.endif