From: lemonnierk@ulrar.net
To: guix-devel@gnu.org
Subject: gnu: Have lua-5.1 compile a .so
Date: Thu, 11 Sep 2014 00:31:35 +0200 [thread overview]
Message-ID: <20140910223135.GF31169@luwin.ulrar.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 3453 bytes --]
Hi,
While working on getting weechat to build with the lua plugin enabled,
I noticed the lua package doesn't produce a liblua.so file. So here is
a patch to make it do so. It's basically the same patch as in ArchLinux,
with a few differences like actually installing the .so file.
From 85a422fb581650542644b711b180bc95a47c990d Mon Sep 17 00:00:00 2001
From: Kevin Lemonnier <lemonnierk@ulrar.net>
Date: Thu, 11 Sep 2014 02:22:10 +0200
Subject: [PATCH] gnu: Have lua-5.1 compile a .so
* gnu/packages/patches/lua51-liblua-so.patch: New file
* gnu/packages/lua.scm: Use of lua51-liblua-so.patch in lua-5.1
---
gnu/packages/lua.scm | 4 +-
gnu/packages/patches/lua51-liblua-so.patch | 59 ++++++++++++++++++++++++++++++
2 files changed, 62 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/lua51-liblua-so.patch
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index a85c120..7d68dba 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -75,7 +75,9 @@ for configuration, scripting, and rapid prototyping.")
(uri (string-append "http://www.lua.org/ftp/lua-"
version ".tar.gz"))
(sha256
- (base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16"))))))
+ (base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16"))
+ (patches (list (search-patch "lua51-liblua-so.patch")))
+ (patch-flags '("-p1"))))))
(define-public luajit
(package
diff --git a/gnu/packages/patches/lua51-liblua-so.patch b/gnu/packages/patches/lua51-liblua-so.patch
new file mode 100644
index 0000000..9cfcb93
--- /dev/null
+++ b/gnu/packages/patches/lua51-liblua-so.patch
@@ -0,0 +1,59 @@
+diff -ruN lua-5.1.5/Makefile lua-5.1.5-new/Makefile
+--- lua-5.1.5/Makefile 2012-02-10 10:50:23.000000000 +0100
++++ lua-5.1.5-new/Makefile 2014-09-10 20:17:28.913951433 +0200
+@@ -43,7 +43,7 @@
+ # What to install.
+ TO_BIN= lua luac
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
+-TO_LIB= liblua.a
++TO_LIB= liblua.a liblua.so liblua.so.${V}
+ TO_MAN= lua.1 luac.1
+
+ # Lua version and release.
+@@ -53,7 +53,7 @@
+ all: $(PLAT)
+
+ $(PLATS) clean:
+- cd src && $(MAKE) $@
++ cd src && $(MAKE) $@ V=$(V) R=$(R)
+
+ test: dummy
+ src/lua test/hello.lua
+diff -ruN lua-5.1.5/src/Makefile lua-5.1.5-new/src/Makefile
+--- lua-5.1.5/src/Makefile 2012-02-13 21:41:22.000000000 +0100
++++ lua-5.1.5-new/src/Makefile 2014-09-10 20:16:09.982952152 +0200
+@@ -8,7 +8,7 @@
+ PLAT= none
+
+ CC= gcc
+-CFLAGS= -O2 -Wall $(MYCFLAGS)
++CFLAGS= -O2 -Wall $(MYCFLAGS) -fPIC
+ AR= ar rcu
+ RANLIB= ranlib
+ RM= rm -f
+@@ -34,9 +34,10 @@
+
+ LUAC_T= luac
+ LUAC_O= luac.o print.o
++LUA_SO= liblua.so
+
+ ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
+-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
+ ALL_A= $(LUA_A)
+
+ default: $(PLAT)
+@@ -57,6 +58,13 @@
+ $(LUAC_T): $(LUAC_O) $(LUA_A)
+ $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+
++$(LUA_SO): $(CORE_O) $(LIB_O)
++ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS)
++ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
++ ln -sf $(LUA_SO).$(R) $(LUA_SO)
++
++
++
+ clean:
+ $(RM) $(ALL_T) $(ALL_O)
+
--
1.8.4
--
Kevin Lemonnier
PGP Fingerprint : C123 47CA 9E64 FCF0 3907
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next reply other threads:[~2014-09-10 22:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-10 22:31 lemonnierk [this message]
2014-09-10 22:42 ` gnu: Have lua-5.1 compile a .so Cyril Roelandt
2014-09-10 23:09 ` Eric Bavier
2014-09-11 8:02 ` Ludovic Courtès
2014-09-11 8:12 ` lemonnierk
2014-09-11 10:02 ` Ludovic Courtès
2014-09-11 10:12 ` lemonnierk
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=20140910223135.GF31169@luwin.ulrar.net \
--to=lemonnierk@ulrar.net \
--cc=guix-devel@gnu.org \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
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.