From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [pkg-luarocks infra V4 06/10] luarocks: new infrastructure
Date: Sun, 22 Dec 2013 18:31:53 +0100 [thread overview]
Message-ID: <20131222183153.4c2c90c8@skate> (raw)
In-Reply-To: <1384520859-3189-6-git-send-email-francois.perrad@gadz.org>
Dear Francois Perrad,
On Fri, 15 Nov 2013 14:07:35 +0100, Francois Perrad wrote:
>
> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> ---
> Config.in | 8 ++++++
> Makefile | 1 +
> package/Makefile.in | 1 +
> package/pkg-luarocks.mk | 71 +++++++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 81 insertions(+)
> create mode 100644 package/pkg-luarocks.mk
>
> diff --git a/Config.in b/Config.in
> index d87e0f0..cb41c36 100644
> --- a/Config.in
> +++ b/Config.in
> @@ -207,6 +207,14 @@ config BR2_DEBIAN_MIRROR
>
> endif
>
> +config BR2_LUAROCKS_MIRROR
> + string "LuaRocks mirror"
> + default "http://luarocks.org/repositories/rocks"
> + help
> + LuaRocks repository.
> +
> + See http://luarocks.org
> +
> endmenu
>
> config BR2_JLEVEL
> diff --git a/Makefile b/Makefile
> index c7a0a6d..0dde760 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -473,6 +473,7 @@ endif
> ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)
> find $(TARGET_DIR)/usr/lib/ -name '*.py' -print0 | xargs -0 rm -f
> endif
> + rm -rf $(TARGET_DIR)/usr/lib/luarocks
> $(STRIP_FIND_CMD) | xargs $(STRIPCMD) 2>/dev/null || true
> if test -d $(TARGET_DIR)/lib/modules; then \
> find $(TARGET_DIR)/lib/modules -type f -name '*.ko' | \
> diff --git a/package/Makefile.in b/package/Makefile.in
> index 612f3c7..f7fd8f9 100644
> --- a/package/Makefile.in
> +++ b/package/Makefile.in
> @@ -363,4 +363,5 @@ include package/pkg-utils.mk
> include package/pkg-download.mk
> include package/pkg-autotools.mk
> include package/pkg-cmake.mk
> +include package/pkg-luarocks.mk
> include package/pkg-generic.mk
> diff --git a/package/pkg-luarocks.mk b/package/pkg-luarocks.mk
> new file mode 100644
> index 0000000..2a20413
> --- /dev/null
> +++ b/package/pkg-luarocks.mk
> @@ -0,0 +1,71 @@
> +################################################################################
> +# LuaRocks package infrastructure
> +# see http://luarocks.org/
> +#
> +# This file implements an infrastructure that eases development of
> +# package .mk files for LuaRocks packages.
> +# LuaRocks supports various build.type : builtin, make, cmake.
> +# This luarocks infrastructure supports only the builtin mode,
> +# the make & cmake modes could be directly handled by generic & cmake infrastructure.
> +#
> +# See the Buildroot documentation for details on the usage of this
> +# infrastructure
> +#
> +# In terms of implementation, this LuaRocks infrastructure requires
> +# the .mk file to only specify metadata informations about the
> +# package: name, version, etc.
> +#
> +################################################################################
> +
> +LUAROCKS_RUN = $(HOST_DIR)/usr/bin/luarocks
This variable could probably be provided by
package/luarocks/luarocks.mk.
> +
> +################################################################################
> +# inner-luarocks-package -- defines how the configuration, compilation and
> +# installation of a LuaRocks package should be done, implements a few hooks to
> +# tune the build process and calls the generic package infrastructure to
> +# generate the necessary make targets
> +#
> +# argument 1 is the lowercase package name
> +# argument 2 is the uppercase package name, including an HOST_ prefix
> +# for host packages
> +# argument 3 is the uppercase package name, without the HOST_ prefix
> +# for host packages
> +# argument 4 is the package directory prefix
> +# argument 5 is the type (target or host)
> +################################################################################
> +
> +define inner-luarocks-package
> +
> +$(2)_BUILD_OPT ?=
> +$(2)_SUBDIR ?= $(1)-$(shell echo "$($(3)_VERSION)" | sed -e "s/-[0-9]$$//")
Can we avoid this subdir for all packages?
> +$(2)_ROCKSPEC ?= $(1)-$($(3)_VERSION).rockspec
> +$(2)_SOURCE ?= $(1)-$($(3)_VERSION).src.rock
> +$(2)_SITE ?= $(call qstrip,$(BR2_LUAROCKS_MIRROR))
> +
> +#
> +# Extract step
> +#
> +$(2)_EXTRACT_CMDS ?= \
> + cd $$($(2)_DIR)/.. && $(LUAROCKS_RUN) unpack $(DL_DIR)/$$($(2)_SOURCE)
> +
> +# $(2)_DEPENDENCIES are handled for configure step (too late)
> +$(1)-extract: host-luarocks
Ok, I see the problem. However I believe I'd still like to see
host-luarocks added to $(2)_DEPENDENCIES so that the dependency graph
is correct, and "make source" / "make external-deps" properly show
luarocks.
> +#
> +# Build/install step.
> +#
> +$(2)_INSTALL_TARGET_CMDS ?= \
> + cd $$($(2)_SRCDIR) && $(LUAROCKS_RUN) build --minimal $$($(2)_ROCKSPEC) $$($(2)_BUILD_OPT)
Maybe the extract and install target steps could be written using a
define ... endef block instead, for better readability?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2013-12-22 17:31 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-15 13:07 [Buildroot] [pkg-luarocks infra V4 01/10] luainterpreter: create virtual package Francois Perrad
2013-11-15 13:07 ` [Buildroot] [pkg-luarocks infra V4 02/10] luajit: allow to build Lua extensions without lua Francois Perrad
2013-12-22 17:23 ` Thomas Petazzoni
2014-01-07 14:11 ` François Perrad
2014-01-10 2:34 ` Thomas Petazzoni
2013-11-15 13:07 ` [Buildroot] [pkg-luarocks infra V4 03/10] lua: remove a too invasive patch Francois Perrad
2013-12-22 17:24 ` Thomas Petazzoni
2013-12-22 17:30 ` Yann E. MORIN
2013-11-15 13:07 ` [Buildroot] [pkg-luarocks infra V4 04/10] lua*: restore version in module paths Francois Perrad
2013-12-22 17:26 ` Thomas Petazzoni
2013-11-15 13:07 ` [Buildroot] [pkg-luarocks infra V4 05/10] luarocks: new package Francois Perrad
2013-12-22 17:28 ` Thomas Petazzoni
2013-12-22 20:45 ` Yann E. MORIN
2013-12-23 7:56 ` François Perrad
2013-12-23 8:21 ` Thomas Petazzoni
2013-11-15 13:07 ` [Buildroot] [pkg-luarocks infra V4 06/10] luarocks: new infrastructure Francois Perrad
2013-12-22 17:31 ` Thomas Petazzoni [this message]
2013-12-22 20:47 ` Yann E. MORIN
2013-12-23 8:20 ` François Perrad
2013-11-15 13:07 ` [Buildroot] [pkg-luarocks infra V4 07/10] lua-cjson: restore official name Francois Perrad
2013-12-22 17:32 ` Thomas Petazzoni
2013-11-15 13:07 ` [Buildroot] [pkg-luarocks infra V4 08/10] luasql-sqlite3: renamed like with LuaRocks Francois Perrad
2013-11-15 13:07 ` [Buildroot] [pkg-luarocks infra V4 09/10] lua*: refactor with luarocks infrastructure Francois Perrad
2013-12-22 17:34 ` Thomas Petazzoni
2013-11-15 13:07 ` [Buildroot] [pkg-luarocks infra V4 10/10] manual: adding packages luarocks Francois Perrad
2013-12-22 17:40 ` Thomas Petazzoni
2013-12-22 20:51 ` Yann E. MORIN
2013-12-22 20:02 ` Yann E. MORIN
2013-12-22 20:52 ` Yann E. MORIN
2013-12-22 17:22 ` [Buildroot] [pkg-luarocks infra V4 01/10] luainterpreter: create virtual package Thomas Petazzoni
2013-12-22 20:44 ` Yann E. MORIN
2013-12-22 17:37 ` Yann E. MORIN
2013-12-22 20:56 ` Yann E. MORIN
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131222183153.4c2c90c8@skate \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.