all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [v2 0/3] Lua shared library patch round-up
@ 2015-12-14  6:57 Leo Famulari
  2015-12-14  6:57 ` [v2 1/3] gnu: lua-5.2: Rewrite make flags Leo Famulari
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Leo Famulari @ 2015-12-14  6:57 UTC (permalink / raw)
  To: guix-devel

These are "refreshed" versions of the unmerged Lua shared library
patches from the series I submitted in November.

As requested, I have moved the explanation of patch 1/3 from the commit
message into a code comment. [0] 

Patch 2/3 is the same except that it integrates the code comment added
in 1/3.

Patch 3/3 is the same as before.

The patches have been rebased and built on current git master.

[0]
https://lists.gnu.org/archive/html/guix-devel/2015-11/msg00222.html

Leo Famulari (3):
  gnu: lua-5.2: Rewrite make flags.
  gnu: lua-5.2: Use make-flags and modify-phases.
  gnu: lua-5.1: Build with dynamic library support and a dynamic
    library.

 gnu/packages/lua.scm                       | 43 +++++++++++++++---------
 gnu/packages/patches/lua51-liblua-so.patch | 53 +++++++++++++++++++-----------
 2 files changed, 61 insertions(+), 35 deletions(-)

-- 
2.6.2

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [v2 1/3] gnu: lua-5.2: Rewrite make flags.
  2015-12-14  6:57 [v2 0/3] Lua shared library patch round-up Leo Famulari
@ 2015-12-14  6:57 ` Leo Famulari
  2015-12-14  6:57 ` [v2 2/3] gnu: lua-5.2: Use make-flags and modify-phases Leo Famulari
  2015-12-14  6:57 ` [v2 3/3] gnu: lua-5.1: Build with dynamic library support and a dynamic library Leo Famulari
  2 siblings, 0 replies; 4+ messages in thread
From: Leo Famulari @ 2015-12-14  6:57 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/lua.scm (lua-5.2)[arguments]: Rewrite make flags.
---
 gnu/packages/lua.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index d27c024..ace2c01 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Raimon Grau <raimonster@gmail.com>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -48,7 +49,14 @@
        #:test-target "test"
        #:phases (alist-replace
                  'build
-                 (lambda _ (zero? (system* "make" "CFLAGS=-fPIC" "linux")))
+                 ;; We use $PLAT to select the platform-dependent method
+                 ;; for loading shared libraries. We also build the Lua
+                 ;; interpreter and shared library as position
+                 ;; independent code.
+                 (lambda _ (zero? (system* "make"
+                                           "PLAT=linux"
+                                           "MYCFLAGS=-fPIC"
+                                           "MYLDFLAGS=-fPIC")))
                  (alist-replace
                   'install
                   (lambda* (#:key outputs #:allow-other-keys)
-- 
2.6.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [v2 2/3] gnu: lua-5.2: Use make-flags and modify-phases.
  2015-12-14  6:57 [v2 0/3] Lua shared library patch round-up Leo Famulari
  2015-12-14  6:57 ` [v2 1/3] gnu: lua-5.2: Rewrite make flags Leo Famulari
@ 2015-12-14  6:57 ` Leo Famulari
  2015-12-14  6:57 ` [v2 3/3] gnu: lua-5.1: Build with dynamic library support and a dynamic library Leo Famulari
  2 siblings, 0 replies; 4+ messages in thread
From: Leo Famulari @ 2015-12-14  6:57 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/lua.scm (lua-5.2)[arguments]: Use make-flags and
  modify-phases to control build process, replacing use of
  'alist-' procedures.
---
 gnu/packages/lua.scm | 35 +++++++++++++----------------------
 1 file changed, 13 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index ace2c01..3a3de62 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -43,29 +43,20 @@
     (build-system gnu-build-system)
     (inputs `(("readline", readline)))
     (arguments
-     '(#:modules ((guix build gnu-build-system)
-                    (guix build utils)
-                    (srfi srfi-1))
+     '(#:phases (modify-phases %standard-phases
+                  (delete 'configure))
        #:test-target "test"
-       #:phases (alist-replace
-                 'build
-                 ;; We use $PLAT to select the platform-dependent method
-                 ;; for loading shared libraries. We also build the Lua
-                 ;; interpreter and shared library as position
-                 ;; independent code.
-                 (lambda _ (zero? (system* "make"
-                                           "PLAT=linux"
-                                           "MYCFLAGS=-fPIC"
-                                           "MYLDFLAGS=-fPIC")))
-                 (alist-replace
-                  'install
-                  (lambda* (#:key outputs #:allow-other-keys)
-                    (let ((out (assoc-ref outputs "out")))
-                      (zero? (system* "make" "install"
-                                      (string-append "INSTALL_TOP=" out)
-                                      (string-append "INSTALL_MAN=" out
-                                                     "/share/man/man1")))))
-                  (alist-delete 'configure %standard-phases)))))
+       ;; We use $PLAT to select the platform-dependent method
+       ;; for loading shared libraries. We also build the Lua
+       ;; interpreter and shared library as position
+       ;; independent code.
+       #:make-flags (list "PLAT= linux"
+                          "MYCFLAGS= -fPIC"
+                          "MYLDFLAGS= -fPIC"
+                          (string-append "INSTALL_TOP= "
+                                         (assoc-ref %outputs "out"))
+                          (string-append "INSTALL_MAN= "
+                                         (assoc-ref %outputs "out")))))
     (home-page "http://www.lua.org/")
     (synopsis "Embeddable scripting language")
     (description
-- 
2.6.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [v2 3/3] gnu: lua-5.1: Build with dynamic library support and a dynamic library.
  2015-12-14  6:57 [v2 0/3] Lua shared library patch round-up Leo Famulari
  2015-12-14  6:57 ` [v2 1/3] gnu: lua-5.2: Rewrite make flags Leo Famulari
  2015-12-14  6:57 ` [v2 2/3] gnu: lua-5.2: Use make-flags and modify-phases Leo Famulari
@ 2015-12-14  6:57 ` Leo Famulari
  2 siblings, 0 replies; 4+ messages in thread
From: Leo Famulari @ 2015-12-14  6:57 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/lua.scm (lua-5.1)[arguments]: Rewrite make-flags so that
  Lua is built with platform-specific instructions for shared library
  loading (dlopen).
* gnu/packages/patches/lua51-liblua-so.patch: Install liblua.so with
  execute bit set. Move "-fPIC" flag from patch to package definition.
---
 gnu/packages/lua.scm                       | 14 +++++++-
 gnu/packages/patches/lua51-liblua-so.patch | 53 +++++++++++++++++++-----------
 2 files changed, 47 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 3a3de62..b94d4c0 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -77,7 +77,19 @@ for configuration, scripting, and rapid prototyping.")
                                  version ".tar.gz"))
              (sha256
               (base32 "0cskd4w0g6rdm2q8q3i4n1h3j8kylhs3rq8mxwl9vwlmlxbgqh16"))
-             (patches (list (search-patch "lua51-liblua-so.patch")))))))
+             (patches (list (search-patch "lua51-liblua-so.patch")))))
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (delete 'configure))
+       #:test-target "test"
+       #:make-flags (list "PLAT= linux"
+                          "CFLAGS= -O2 -Wall -fPIC $(MYCFLAGS)"
+                          "MYLDFLAGS= -fPIC"
+                          (string-append "INSTALL_TOP= "
+                                         (assoc-ref %outputs "out"))
+                          (string-append "INSTALL_MAN= "
+                                         (assoc-ref %outputs "out")
+                                         "/share/man/man1"))))))
 
 (define-public luajit
   (package
diff --git a/gnu/packages/patches/lua51-liblua-so.patch b/gnu/packages/patches/lua51-liblua-so.patch
index 6795f10..6b029de 100644
--- a/gnu/packages/patches/lua51-liblua-so.patch
+++ b/gnu/packages/patches/lua51-liblua-so.patch
@@ -1,13 +1,24 @@
+From 115e612016fe615e6c895af8df7db646114a9860 Mon Sep 17 00:00:00 2001
+From: Leo Famulari <leo@famulari.name>
+Date: Mon, 2 Nov 2015 03:29:47 -0500
+Subject: [PATCH] lua-5.1: Changes to Makefile patches
+
+Install liblua.so with execute bit.
+Don't set -fPIC from here. It will be set in the make flags.
 
 Patch the two Makefile to also create liblua.so
 Original patch by Allan McRae <allan@archlinux.org>
 for Archlinux
+---
+ Makefile     |  6 +++---
+ src/Makefile | 10 +++++++++-
+ 2 files changed, 12 insertions(+), 4 deletions(-)
 
-
-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 @@
+diff --git a/Makefile b/Makefile
+index 209a132..653dbed 100644
+--- a/Makefile
++++ b/Makefile
+@@ -43,7 +43,7 @@ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
  # What to install.
  TO_BIN= lua luac
  TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
@@ -16,7 +27,7 @@ diff -ruN lua-5.1.5/Makefile lua-5.1.5-new/Makefile
  TO_MAN= lua.1 luac.1
  
  # Lua version and release.
-@@ -53,7 +53,7 @@
+@@ -53,7 +53,7 @@ R= 5.1.5
  all:	$(PLAT)
  
  $(PLATS) clean:
@@ -25,19 +36,20 @@ diff -ruN lua-5.1.5/Makefile lua-5.1.5-new/Makefile
  
  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
+@@ -62,7 +62,7 @@ install: dummy
+ 	cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+ 	cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
+ 	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+-	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
++	cd src && $(INSTALL_EXEC) $(TO_LIB) $(INSTALL_LIB)
+ 	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
  
- CC= gcc
--CFLAGS= -O2 -Wall $(MYCFLAGS)
-+CFLAGS= -O2 -Wall $(MYCFLAGS) -fPIC
- AR= ar rcu
- RANLIB= ranlib
- RM= rm -f
-@@ -34,9 +34,10 @@
+ ranlib:
+diff --git a/src/Makefile b/src/Makefile
+index e0d4c9f..ebc17e9 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -34,9 +34,10 @@ LUA_O=	lua.o
  
  LUAC_T=	luac
  LUAC_O=	luac.o print.o
@@ -49,7 +61,7 @@ diff -ruN lua-5.1.5/src/Makefile lua-5.1.5-new/src/Makefile
  ALL_A= $(LUA_A)
  
  default: $(PLAT)
-@@ -57,6 +58,13 @@
+@@ -57,6 +58,13 @@ $(LUA_T): $(LUA_O) $(LUA_A)
  $(LUAC_T): $(LUAC_O) $(LUA_A)
  	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
  
@@ -63,3 +75,6 @@ diff -ruN lua-5.1.5/src/Makefile lua-5.1.5-new/src/Makefile
  clean:
  	$(RM) $(ALL_T) $(ALL_O)
  
+-- 
+2.6.1
+
-- 
2.6.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-12-14  6:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-14  6:57 [v2 0/3] Lua shared library patch round-up Leo Famulari
2015-12-14  6:57 ` [v2 1/3] gnu: lua-5.2: Rewrite make flags Leo Famulari
2015-12-14  6:57 ` [v2 2/3] gnu: lua-5.2: Use make-flags and modify-phases Leo Famulari
2015-12-14  6:57 ` [v2 3/3] gnu: lua-5.1: Build with dynamic library support and a dynamic library Leo Famulari

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.