diff mbox

[pkg-luarocks,infra,V2,10/10] manual: adding packages luarocks

Message ID 1384436996-25525-11-git-send-email-francois.perrad@gadz.org
State Superseded
Headers show

Commit Message

Francois Perrad Nov. 14, 2013, 1:49 p.m. UTC
---
 docs/manual/adding-packages-luarocks.txt |   91 ++++++++++++++++++++++++++++++
 docs/manual/adding-packages.txt          |    2 +
 2 files changed, 93 insertions(+)
 create mode 100644 docs/manual/adding-packages-luarocks.txt

Comments

Thomas De Schampheleire Nov. 15, 2013, 8:07 a.m. UTC | #1
On Thu, Nov 14, 2013 at 2:49 PM, Francois Perrad <fperrad@gmail.com> wrote:
> ---
>  docs/manual/adding-packages-luarocks.txt |   91 ++++++++++++++++++++++++++++++
>  docs/manual/adding-packages.txt          |    2 +
>  2 files changed, 93 insertions(+)
>  create mode 100644 docs/manual/adding-packages-luarocks.txt
>
> diff --git a/docs/manual/adding-packages-luarocks.txt b/docs/manual/adding-packages-luarocks.txt
> new file mode 100644
> index 0000000..d3a883b
> --- /dev/null
> +++ b/docs/manual/adding-packages-luarocks.txt
> @@ -0,0 +1,91 @@
> +// -*- mode:doc; -*-
> +// vim: set syntax=asciidoc:
> +
> +Infrastructure for LuaRocks-based packages
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +[[luarocks-package-tutorial]]
> +
> ++luarocks-package+ tutorial
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +First, let's see how to write a +.mk+ file for a LuaRocks-based package,
> +with an example :
> +
> +------------------------
> +01: ################################################################################
> +02: #
> +03: # luafoo
> +04: #
> +05: ################################################################################
> +06:
> +07: LUAFOO_VERSION = 1.0.2-1
> +08: LUAFOO_DEPENDENCIES = foo
> +09:
> +10: LUAFOO_BUILD_OPT += FOO_INCDIR=$(STAGING_DIR)/usr/include
> +11: LUAFOO_BUILD_OPT += FOO_LIBDIR=$(STAGING_DIR)/usr/lib
> +12:
> +13: $(eval $(luarocks-package))
> +------------------------
> +
> +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).
> +
> +On line 8, we declare our dependencies, so that they are built
> +before the build process of our package starts.
> +
> +On line 10-11, we tell Buildroot to pass custom options to LuaRocks when it is
> +building the package.
> +
> +Finally, on line 13, we invoke the +luarocks-package+
> +macro that generates all the Makefile rules that actually allows the
> +package to be built.
> +
> +[[luarocks-package-reference]]
> +
> ++luarocks-package+ reference
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +LuaRocks is a deployment and management system for Lua modules.
> +
> +LuaRocks supports various +build.type+ : +builtin+, +make+, +cmake+.
> +This infrastructure supports only the +builtin+ mode,
> +the +make+ & +cmake+ modes could be directly handled by generic & cmake infrastructure.
> +
> +The main macro of the LuaRocks package infrastructure is
> ++luarocks-package+. It is similar to the +generic-package+ macro.
> +The +host-luarocks-package+ macro is not available,
> +only the +luarocks-package+ macro is available.
> +
> +Just like the generic infrastructure, the LuaRocks infrastructure works
> +by defining a number of variables before calling the +luarocks-package+
> +macro.
> +
> +First, all the package metadata information variables that exist in
> +the generic infrastructure also exist in the LuaRocks infrastructure:
> ++LUAFOO_VERSION+, +LUAFOO_SOURCE+, +LUAFOO_SITE+,
> ++LUAFOO_DEPENDENCIES+.
> +
> +Two of them are populate by the LuaRocks infrastructure (for the

populated

> ++download+ step) :
> +
> +* +LUAFOO_SITE+ with the +BR2_LUAROCKS_MIRROR+ value
> +
> +* +LUAFOO_SOURCE+ with +foo-$(FOO_VERSION).src.rock+
> +
> +A few additional variables, specific to the LuaRocks infrastructure, are
> +also defined. They could be overrided in specific cases.

overridden

> +
> +* +LUAFOO_ROCKSPEC+ with +foo-$(FOO_VERSION).rockspec+
> +
> +* +LUAFOO_SUBDIR+ with +foo-$(FOO_VERSION_WITHOUT_ROCKSPEC_REVISION)+
> +
> +* +LUAFOO_BUILD_OPT+ contains the build option for +luarocks build+ call.

options
for the

> +  The default is empty.
> +
> +With the LuaRocks infrastructure, only 2 steps use +luarocks+ :
> +extract and install target. +luarocks+ handles building and install

maybe this should be: 'install-target' to make it more clear?

> +in the same step.
> +
> +The step +patch+ is handled by the generic infrastructure.
> +The step +configure+ and +build+ stay empty.
> diff --git a/docs/manual/adding-packages.txt b/docs/manual/adding-packages.txt
> index ae76e74..b9ac058 100644
> --- a/docs/manual/adding-packages.txt
> +++ b/docs/manual/adding-packages.txt
> @@ -18,6 +18,8 @@ include::adding-packages-autotools.txt[]
>
>  include::adding-packages-cmake.txt[]
>
> +include::adding-packages-luarocks.txt[]
> +
>  include::adding-packages-hooks.txt[]
>
>  include::adding-packages-gettext.txt[]
> --
> 1.7.9.5
>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
diff mbox

Patch

diff --git a/docs/manual/adding-packages-luarocks.txt b/docs/manual/adding-packages-luarocks.txt
new file mode 100644
index 0000000..d3a883b
--- /dev/null
+++ b/docs/manual/adding-packages-luarocks.txt
@@ -0,0 +1,91 @@ 
+// -*- mode:doc; -*-
+// vim: set syntax=asciidoc:
+
+Infrastructure for LuaRocks-based packages
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[[luarocks-package-tutorial]]
+
++luarocks-package+ tutorial
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+First, let's see how to write a +.mk+ file for a LuaRocks-based package,
+with an example :
+
+------------------------
+01: ################################################################################
+02: #
+03: # luafoo
+04: #
+05: ################################################################################
+06:
+07: LUAFOO_VERSION = 1.0.2-1
+08: LUAFOO_DEPENDENCIES = foo
+09:
+10: LUAFOO_BUILD_OPT += FOO_INCDIR=$(STAGING_DIR)/usr/include
+11: LUAFOO_BUILD_OPT += FOO_LIBDIR=$(STAGING_DIR)/usr/lib
+12:
+13: $(eval $(luarocks-package))
+------------------------
+
+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).
+
+On line 8, we declare our dependencies, so that they are built
+before the build process of our package starts.
+
+On line 10-11, we tell Buildroot to pass custom options to LuaRocks when it is
+building the package.
+
+Finally, on line 13, we invoke the +luarocks-package+
+macro that generates all the Makefile rules that actually allows the
+package to be built.
+
+[[luarocks-package-reference]]
+
++luarocks-package+ reference
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+LuaRocks is a deployment and management system for Lua modules.
+
+LuaRocks supports various +build.type+ : +builtin+, +make+, +cmake+.
+This infrastructure supports only the +builtin+ mode,
+the +make+ & +cmake+ modes could be directly handled by generic & cmake infrastructure.
+
+The main macro of the LuaRocks package infrastructure is
++luarocks-package+. It is similar to the +generic-package+ macro.
+The +host-luarocks-package+ macro is not available,
+only the +luarocks-package+ macro is available.
+
+Just like the generic infrastructure, the LuaRocks infrastructure works
+by defining a number of variables before calling the +luarocks-package+
+macro.
+
+First, all the package metadata information variables that exist in
+the generic infrastructure also exist in the LuaRocks infrastructure:
++LUAFOO_VERSION+, +LUAFOO_SOURCE+, +LUAFOO_SITE+,
++LUAFOO_DEPENDENCIES+.
+
+Two of them are populate by the LuaRocks infrastructure (for the
++download+ step) :
+
+* +LUAFOO_SITE+ with the +BR2_LUAROCKS_MIRROR+ value
+
+* +LUAFOO_SOURCE+ with +foo-$(FOO_VERSION).src.rock+
+
+A few additional variables, specific to the LuaRocks infrastructure, are
+also defined. They could be overrided in specific cases.
+
+* +LUAFOO_ROCKSPEC+ with +foo-$(FOO_VERSION).rockspec+
+
+* +LUAFOO_SUBDIR+ with +foo-$(FOO_VERSION_WITHOUT_ROCKSPEC_REVISION)+
+
+* +LUAFOO_BUILD_OPT+ contains the build option for +luarocks build+ call.
+  The default is empty.
+
+With the LuaRocks infrastructure, only 2 steps use +luarocks+ :
+extract and install target. +luarocks+ handles building and install
+in the same step.
+
+The step +patch+ is handled by the generic infrastructure.
+The step +configure+ and +build+ stay empty.
diff --git a/docs/manual/adding-packages.txt b/docs/manual/adding-packages.txt
index ae76e74..b9ac058 100644
--- a/docs/manual/adding-packages.txt
+++ b/docs/manual/adding-packages.txt
@@ -18,6 +18,8 @@  include::adding-packages-autotools.txt[]
 
 include::adding-packages-cmake.txt[]
 
+include::adding-packages-luarocks.txt[]
+
 include::adding-packages-hooks.txt[]
 
 include::adding-packages-gettext.txt[]