mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-25 12:16:35 +00:00
luarocks-package: introduce PKG_NAME_UPSTREAM
Since we now require Lua package names to start with "lua", it is likely that the Buildroot name is different from the upstream LuaRocks name. Add a feature to the luarocks-package infra that makes it easier to handle this situation: the package can explicitly specify the upstream name in PKG_NAME_UPSTREAM, and that name will be used in PKG_ROCKSPEC, PKG_SOURCE and PKG_SUBDIR. Add an explanation of this feature to the manual. To make the example relevant, it is changed to lua-foo, where the upstream name is plain foo. To avoid confusion with the dependency on a native library, that dependency is renamed to bar. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
0d4f519246
commit
75cf694bb0
@ -13,34 +13,40 @@ with an example :
|
|||||||
------------------------
|
------------------------
|
||||||
01: ################################################################################
|
01: ################################################################################
|
||||||
02: #
|
02: #
|
||||||
03: # luafoo
|
03: # lua-foo
|
||||||
04: #
|
04: #
|
||||||
05: ################################################################################
|
05: ################################################################################
|
||||||
06:
|
06:
|
||||||
07: LUAFOO_VERSION = 1.0.2-1
|
07: LUA_FOO_VERSION = 1.0.2-1
|
||||||
08: LUAFOO_DEPENDENCIES = foo
|
08: LUA_FOO_NAME_UPSTREAM = foo
|
||||||
09:
|
09: LUA_FOO_DEPENDENCIES = bar
|
||||||
10: LUAFOO_BUILD_OPTS += FOO_INCDIR=$(STAGING_DIR)/usr/include
|
10:
|
||||||
11: LUAFOO_BUILD_OPTS += FOO_LIBDIR=$(STAGING_DIR)/usr/lib
|
11: LUA_FOO_BUILD_OPTS += BAR_INCDIR=$(STAGING_DIR)/usr/include
|
||||||
12: LUAFOO_LICENSE = luaFoo license
|
12: LUA_FOO_BUILD_OPTS += BAR_LIBDIR=$(STAGING_DIR)/usr/lib
|
||||||
13: LUAFOO_LICENSE_FILES = $(LUAFOO_SUBDIR)/COPYING
|
13: LUA_FOO_LICENSE = luaFoo license
|
||||||
14:
|
14: LUA_FOO_LICENSE_FILES = $(LUA_FOO_SUBDIR)/COPYING
|
||||||
15: $(eval $(luarocks-package))
|
15:
|
||||||
|
16: $(eval $(luarocks-package))
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
On line 7, we declare the version of the package (the same as in the rockspec,
|
On line 7, we declare the version of the package (the same as in the rockspec,
|
||||||
which is the concatenation of the upstream version and the rockspec revision,
|
which is the concatenation of the upstream version and the rockspec revision,
|
||||||
separated by a hyphen '-').
|
separated by a hyphen '-').
|
||||||
|
|
||||||
On line 8, we declare our dependencies against native libraries, so that they
|
On line 8, we declare that the package is called "foo" on LuaRocks. In
|
||||||
|
Buildroot, we give Lua-related packages a name that starts with "lua", so the
|
||||||
|
Buildroot name is different from the upstream name. +LUA_FOO_NAME_UPSTREAM+
|
||||||
|
makes the link between the two names.
|
||||||
|
|
||||||
|
On line 9, we declare our dependencies against native libraries, so that they
|
||||||
are built before the build process of our package starts.
|
are built before the build process of our package starts.
|
||||||
|
|
||||||
On lines 10-11, we tell Buildroot to pass custom options to LuaRocks when it is
|
On lines 11-12, we tell Buildroot to pass custom options to LuaRocks when it is
|
||||||
building the package.
|
building the package.
|
||||||
|
|
||||||
On lines 12-13, we specify the licensing terms for the package.
|
On lines 13-14, we specify the licensing terms for the package.
|
||||||
|
|
||||||
Finally, on line 15, we invoke the +luarocks-package+
|
Finally, on line 16, we invoke the +luarocks-package+
|
||||||
macro that generates all the Makefile rules that actually allows the
|
macro that generates all the Makefile rules that actually allows the
|
||||||
package to be built.
|
package to be built.
|
||||||
|
|
||||||
@ -67,24 +73,28 @@ macro.
|
|||||||
|
|
||||||
First, all the package metadata information variables that exist in
|
First, all the package metadata information variables that exist in
|
||||||
the generic infrastructure also exist in the LuaRocks infrastructure:
|
the generic infrastructure also exist in the LuaRocks infrastructure:
|
||||||
+LUAFOO_VERSION+, +LUAFOO_SOURCE+, +LUAFOO_SITE+,
|
+LUA_FOO_VERSION+, +LUA_FOO_SOURCE+, +LUA_FOO_SITE+,
|
||||||
+LUAFOO_DEPENDENCIES+, +LUAFOO_LICENSE+, +LUAFOO_LICENSE_FILES+.
|
+LUA_FOO_DEPENDENCIES+, +LUA_FOO_LICENSE+, +LUA_FOO_LICENSE_FILES+.
|
||||||
|
|
||||||
Two of them are populated by the LuaRocks infrastructure (for the
|
Two of them are populated by the LuaRocks infrastructure (for the
|
||||||
+download+ step). If your package is not hosted on the LuaRocks mirror
|
+download+ step). If your package is not hosted on the LuaRocks mirror
|
||||||
+$(BR2_LUAROCKS_MIRROR)+, you can override them:
|
+$(BR2_LUAROCKS_MIRROR)+, you can override them:
|
||||||
|
|
||||||
* +LUAFOO_SITE+, which defaults to +$(BR2_LUAROCKS_MIRROR)+
|
* +LUA_FOO_SITE+, which defaults to +$(BR2_LUAROCKS_MIRROR)+
|
||||||
|
|
||||||
* +LUAFOO_SOURCE+, which defaults to +luafoo-$(LUAFOO_VERSION).src.rock+
|
* +LUA_FOO_SOURCE+, which defaults to +$(LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).src.rock+
|
||||||
|
|
||||||
A few additional variables, specific to the LuaRocks infrastructure, are
|
A few additional variables, specific to the LuaRocks infrastructure, are
|
||||||
also defined. They can be overridden in specific cases.
|
also defined. They can be overridden in specific cases.
|
||||||
|
|
||||||
* +LUAFOO_ROCKSPEC+, which defaults to +luafoo-$(LUAFOO_VERSION).rockspec+
|
* +LUA_FOO_NAME_UPSTREAM+, which defaults to +lua-foo+, i.e. the Buildroot
|
||||||
|
package name
|
||||||
|
|
||||||
* +LUAFOO_SUBDIR+, which defaults to
|
* +LUA_FOO_ROCKSPEC+, which defaults to
|
||||||
+luafoo-$(LUAFOO_VERSION_WITHOUT_ROCKSPEC_REVISION)+
|
+$(LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION).rockspec+
|
||||||
|
|
||||||
* +LUAFOO_BUILD_OPTS+ contains additional build options for the
|
* +LUA_FOO_SUBDIR+, which defaults to
|
||||||
|
+$(LUA_FOO_NAME_UPSTREAM)-$(LUA_FOO_VERSION_WITHOUT_ROCKSPEC_REVISION)+
|
||||||
|
|
||||||
|
* +LUA_FOO_BUILD_OPTS+ contains additional build options for the
|
||||||
+luarocks build+ call.
|
+luarocks build+ call.
|
||||||
|
@ -34,9 +34,10 @@
|
|||||||
define inner-luarocks-package
|
define inner-luarocks-package
|
||||||
|
|
||||||
$(2)_BUILD_OPTS ?=
|
$(2)_BUILD_OPTS ?=
|
||||||
$(2)_SUBDIR ?= $(1)-$$(shell echo "$$($(2)_VERSION)" | sed -e "s/-[0-9]$$$$//")
|
$(2)_NAME_UPSTREAM ?= $(1)
|
||||||
$(2)_ROCKSPEC ?= $(1)-$$($(2)_VERSION).rockspec
|
$(2)_SUBDIR ?= $$($(2)_NAME_UPSTREAM)-$$(shell echo "$$($(2)_VERSION)" | sed -e "s/-[0-9]$$$$//")
|
||||||
$(2)_SOURCE ?= $(1)-$$($(2)_VERSION).src.rock
|
$(2)_ROCKSPEC ?= $$($(2)_NAME_UPSTREAM)-$$($(2)_VERSION).rockspec
|
||||||
|
$(2)_SOURCE ?= $$($(2)_NAME_UPSTREAM)-$$($(2)_VERSION).src.rock
|
||||||
$(2)_SITE ?= $$(call qstrip,$$(BR2_LUAROCKS_MIRROR))
|
$(2)_SITE ?= $$(call qstrip,$$(BR2_LUAROCKS_MIRROR))
|
||||||
|
|
||||||
# Since we do not support host-luarocks-package, we know this is
|
# Since we do not support host-luarocks-package, we know this is
|
||||||
|
Loading…
x
Reference in New Issue
Block a user