From patchwork Sun Dec 22 20:42:13 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yann E. MORIN" X-Patchwork-Id: 304520 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (silver.osuosl.org [140.211.166.136]) by ozlabs.org (Postfix) with ESMTP id C6CFE2C0084 for ; Mon, 23 Dec 2013 07:43:20 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id BFC55331F4; Sun, 22 Dec 2013 20:43:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DYIABHfruCc7; Sun, 22 Dec 2013 20:43:10 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id A45FC332CD; Sun, 22 Dec 2013 20:42:34 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 3250A1BFAA7 for ; Sun, 22 Dec 2013 20:42:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 318928E2CA for ; Sun, 22 Dec 2013 20:42:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PxUy2t7wlWog for ; Sun, 22 Dec 2013 20:42:30 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) by whitealder.osuosl.org (Postfix) with ESMTPS id 38AFC8E2C6 for ; Sun, 22 Dec 2013 20:42:30 +0000 (UTC) Received: by mail-we0-f182.google.com with SMTP id q59so4254478wes.41 for ; Sun, 22 Dec 2013 12:42:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=n5JzEZlIAU/56BWjrlcd9Nb1waC8FBTZEjg/TzlXL5E=; b=suBCy0yXSLGUhRO5gZdCAOXLWAq5RVxeWOZdjLdIMaTYFXbO+N1Qz/LCwH4hJ/efa4 n6kMYr2XzOpY85+Sqxg/uOTX85SErS03DOuQMiJ8/8T/AqtsTvfln3BwfTO88C2bIYsp FnjbjHpv6w+dAYNY1MHJKk52nonN+UfHp6J32I3o5lqtrBbEhSgtQpO0FS4MWeaelKhZ ot0Zh9mhGWB/QAUNsIQoDzVyKdvOhdQJtKAkPzvW796QTHFOErMqhmthVQm3IBYwWZHX fruwZfwdcjsevwuDWpg8OOml2BGhBNh65ETDLL0lHYtEbe8mwoolPECE2dt5wKmwKO5x AMRg== X-Received: by 10.180.20.33 with SMTP id k1mr15621532wie.34.1387744948758; Sun, 22 Dec 2013 12:42:28 -0800 (PST) Received: from gourin.bzh.lan (ks3095497.kimsufi.com. [94.23.60.27]) by mx.google.com with ESMTPSA id ci4sm8291236wjc.21.2013.12.22.12.42.27 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 22 Dec 2013 12:42:28 -0800 (PST) From: "Yann E. MORIN" To: buildroot@busybox.net Date: Sun, 22 Dec 2013 21:42:13 +0100 Message-Id: <6e3b569cbd8450028d7ab74658e3067152273f16.1387744636.git.yann.morin.1998@free.fr> X-Mailer: git-send-email 1.8.1.2 In-Reply-To: References: Cc: Thomas Petazzoni , "Yann E. MORIN" Subject: [Buildroot] [PATCH 05/10] luarocks: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net From: Francois Perrad Signed-off-by: Francois Perrad [yann.morin.1998@free.fr: apply Thomas' suggestions] Signed-off-by: Yann E. MORIN Cc: Thomas Petazzoni --- package/luarocks/luarocks-0001-build-minimal.patch | 17 +++++++++ package/luarocks/luarocks-0002-unpack.patch | 24 +++++++++++++ package/luarocks/luarocks.mk | 40 ++++++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 package/luarocks/luarocks-0001-build-minimal.patch create mode 100644 package/luarocks/luarocks-0002-unpack.patch create mode 100644 package/luarocks/luarocks.mk diff --git a/package/luarocks/luarocks-0001-build-minimal.patch b/package/luarocks/luarocks-0001-build-minimal.patch new file mode 100644 index 0000000..3a4794e --- /dev/null +++ b/package/luarocks/luarocks-0001-build-minimal.patch @@ -0,0 +1,17 @@ +hack for buildroot which needs independant steps : download, unpack, build + +Signed-off-by: Francois Perrad + +Index: b/src/luarocks/build.lua +=================================================================== +--- a/src/luarocks/build.lua ++++ b/src/luarocks/build.lua +@@ -362,6 +362,8 @@ + + if flags["pack-binary-rock"] then + return pack.pack_binary_rock(name, version, do_build, name, version, deps.get_deps_mode(flags)) ++ elseif flags["minimal"] then ++ return build_rockspec(name, false, true, "none") + else + local ok, err = fs.check_command_permissions(flags) + if not ok then return nil, err end diff --git a/package/luarocks/luarocks-0002-unpack.patch b/package/luarocks/luarocks-0002-unpack.patch new file mode 100644 index 0000000..0f036ee --- /dev/null +++ b/package/luarocks/luarocks-0002-unpack.patch @@ -0,0 +1,24 @@ +allows unpack in existing directory + +Signed-off-by: Francois Perrad + +Index: b/src/luarocks/unpack.lua +=================================================================== +--- a/src/luarocks/unpack.lua ++++ b/src/luarocks/unpack.lua +@@ -101,11 +101,10 @@ + return nil, file.." does not seem to be a valid filename." + end + +- if (fs.exists(dir_name)) then +- return nil, "Directory "..dir_name.." already exists." ++ if not fs.exists(dir_name) then ++ local ok, err = fs.make_dir(dir_name) ++ if not ok then return nil, err end + end +- local ok, err = fs.make_dir(dir_name) +- if not ok then return nil, err end + local rollback = util.schedule_function(fs.delete, fs.absolute_name(dir_name)) + + local rockspec, err + diff --git a/package/luarocks/luarocks.mk b/package/luarocks/luarocks.mk new file mode 100644 index 0000000..1b55dc2 --- /dev/null +++ b/package/luarocks/luarocks.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# luarocks +# +################################################################################ + +LUAROCKS_VERSION = 2.1.1 +LUAROCKS_SITE = http://luarocks.org/releases/ +LUAROCKS_LICENSE = MIT +LUAROCKS_LICENSE_FILES = COPYING + +HOST_LUAROCKS_DEPENDENCIES = host-lua luainterpreter + +LUAROCKS_CONFIG_DIR = $(HOST_DIR)/usr/etc/luarocks +LUAROCKS_CONFIG_FILE = $(LUAROCKS_CONFIG_DIR)/config-5.1.lua + +define HOST_LUAROCKS_CONFIGURE_CMDS + cd $(@D) && ./configure \ + --prefix=$(TARGET_DIR)/usr \ + --sysconfdir=$(LUAROCKS_CONFIG_DIR) \ + --with-lua=$(HOST_DIR)/usr \ + --with-lua-include=$(STAGING_DIR)/usr/include \ + --with-lua-lib=$(STAGING_DIR)/usr/lib +endef + +define HOST_LUAROCKS_INSTALL_CMDS + $(MAKE1) -C $(@D) install \ + PREFIX=$(HOST_DIR)/usr + echo "-- BR cross-compilation" >> $(LUAROCKS_CONFIG_FILE) + echo "variables = {" >> $(LUAROCKS_CONFIG_FILE) + echo " CC = [[$(TARGET_CC)]]," >> $(LUAROCKS_CONFIG_FILE) + echo " LD = [[$(TARGET_CC)]]," >> $(LUAROCKS_CONFIG_FILE) + echo " CFLAGS = [[$(TARGET_CFLAGS)]]," >> $(LUAROCKS_CONFIG_FILE) + echo " LIBFLAG = [[-shared $(TARGET_LDFLAGS)]]," >> $(LUAROCKS_CONFIG_FILE) + echo "}" >> $(LUAROCKS_CONFIG_FILE) + echo "external_deps_dirs = { [[$(STAGING_DIR)/usr]] }" >> $(LUAROCKS_CONFIG_FILE) + echo "gcc_rpath = false" >> $(LUAROCKS_CONFIG_FILE) +endef + +$(eval $(host-generic-package))