Patchwork [lua,V4,4/4] lua-iconv: new package

login
register
mail settings
Submitter Francois Perrad
Date July 19, 2014, 2:38 p.m.
Message ID <1405780738-31323-5-git-send-email-francois.perrad@gadz.org>
Download mbox | patch
Permalink /patch/371835/
State Changes Requested
Headers show

Comments

Francois Perrad - July 19, 2014, 2:38 p.m.
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/Config.in              |  1 +
 package/lua-iconv/Config.in    |  8 ++++++++
 package/lua-iconv/lua-iconv.mk | 14 ++++++++++++++
 3 files changed, 23 insertions(+)
 create mode 100644 package/lua-iconv/Config.in
 create mode 100644 package/lua-iconv/lua-iconv.mk
Thomas Petazzoni - July 12, 2015, 4:51 p.m.
Dear Francois Perrad,

On Sat, 19 Jul 2014 16:38:58 +0200, Francois Perrad wrote:

> diff --git a/package/lua-iconv/Config.in b/package/lua-iconv/Config.in
> new file mode 100644
> index 0000000..cad7c7c
> --- /dev/null
> +++ b/package/lua-iconv/Config.in
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_LUA_ICONV
> +	bool "lua-iconv"
> +	select BR2_PACKAGE_LIBICONV
> +	depends on !BR2_ENABLE_LOCALE

As Arnout told you in February 2014, this needs to be:

	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE

Back then, you replied:

""
I don't think,
lua-iconv is binding of iconv, so iconv is not an optional dependency
""

But what you're missing is that when the toolchain has locale support,
the iconv() function is provided by the C library itself. libiconv is
only needed to provide iconv() for toolchains that don't have locale
support.

So basically, if BR2_ENABLE_LOCALE=y, the C library provides iconv()
and lua-iconv doesn't need any dependency on libiconv. However, when
BR2_ENABLE_LOCALE is not set, the C library does *not* provide iconv(),
and lua-iconv needs to depend on libiconv.

> diff --git a/package/lua-iconv/lua-iconv.mk b/package/lua-iconv/lua-iconv.mk
> new file mode 100644
> index 0000000..22f66de
> --- /dev/null
> +++ b/package/lua-iconv/lua-iconv.mk
> @@ -0,0 +1,14 @@
> +################################################################################
> +#
> +# lua-iconv
> +#
> +################################################################################
> +
> +LUA_ICONV_VERSION_UPSTREAM = 7
> +LUA_ICONV_VERSION = $(LUA_ICONV_VERSION_UPSTREAM)-1
> +LUA_ICONV_SUBDIR  = lua-iconv-$(LUA_ICONV_VERSION_UPSTREAM)

Remove redundant space before =. However, isn't this SUBDIR thing
already handled by the luarocks-package infrastructure?

> +LUA_ICONV_DEPENDENCIES = luainterpreter libiconv

The dependency on libiconv should be:

	$(if $(BR2_PACKAGE_LIBICONV),libiconv)

as already suggested by Arnout. And the luainterpreter dependency is
also already handled by the luarocks-package infra.

Could you fix those issues and resend? In the mean time, we'll mark
your patch as Changes Requested.

Thanks!

Thomas

Patch

diff --git a/package/Config.in b/package/Config.in
index db2d114..55265f1 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -404,6 +404,7 @@  menu "Lua libraries/modules"
 	source "package/lua-coatpersistent/Config.in"
 	source "package/lua-csnappy/Config.in"
 	source "package/lua-ev/Config.in"
+	source "package/lua-iconv/Config.in"
 	source "package/lua-messagepack/Config.in"
 	source "package/lua-msgpack-native/Config.in"
 	source "package/lua-testmore/Config.in"
diff --git a/package/lua-iconv/Config.in b/package/lua-iconv/Config.in
new file mode 100644
index 0000000..cad7c7c
--- /dev/null
+++ b/package/lua-iconv/Config.in
@@ -0,0 +1,8 @@ 
+config BR2_PACKAGE_LUA_ICONV
+	bool "lua-iconv"
+	select BR2_PACKAGE_LIBICONV
+	depends on !BR2_ENABLE_LOCALE
+	help
+	  Lua binding to the POSIX 'iconv' library
+
+	  http://ittner.github.io/lua-iconv/
diff --git a/package/lua-iconv/lua-iconv.mk b/package/lua-iconv/lua-iconv.mk
new file mode 100644
index 0000000..22f66de
--- /dev/null
+++ b/package/lua-iconv/lua-iconv.mk
@@ -0,0 +1,14 @@ 
+################################################################################
+#
+# lua-iconv
+#
+################################################################################
+
+LUA_ICONV_VERSION_UPSTREAM = 7
+LUA_ICONV_VERSION = $(LUA_ICONV_VERSION_UPSTREAM)-1
+LUA_ICONV_SUBDIR  = lua-iconv-$(LUA_ICONV_VERSION_UPSTREAM)
+LUA_ICONV_DEPENDENCIES = luainterpreter libiconv
+LUA_ICONV_LICENSE = MIT
+LUA_ICONV_LICENSE_FILES = $(LUA_ICONV_SUBDIR)/COPYING
+
+$(eval $(luarocks-package))