guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] gnu: luajit: install symlinks for libluajit library


From: Tomáš Čech
Subject: [PATCH] gnu: luajit: install symlinks for libluajit library
Date: Tue, 3 Feb 2015 01:08:55 +0100

* gnu/packages/lua.scm (luajit): don't require ldconfig - add "LDCONFIG=true"
  to make command line, add luajit-2.0.3-symlink.patch so both symlinks are 
created
* gnu/packages/patches/luajit-2.0.3-symlink.patch: New file
* gnu-system.am (dist_patch_DATA): Adjust accordingly.

Install phase of luajit contained:

ldconfig /gnu/store/…-luajit-2.0.3/lib && \
ln -sf libluajit-5.1.so.2.0.3 /gnu/store/…-luajit-2.0.3/lib/libluajit-5.1.so && 
\
ln -sf libluajit-5.1.so.2.0.3 /gnu/store/…-luajit-2.0.3/lib/libluajit-5.1.so || 
:

1) When ldconfig is missing, symlinks are not created but whole expression
   returns no error. This cause linker not to find proper library when
   building package against luajit and libluajit-5.1.a is used instead. With
   'LDCONFIG=true' it ommits the problem.

2) same symlink is created twice, luajit-2.0.3-symlink.patch fixes that.
---
 gnu-system.am                                   |  1 +
 gnu/packages/lua.scm                            |  7 +++++--
 gnu/packages/patches/luajit-2.0.3-symlink.patch | 12 ++++++++++++
 3 files changed, 18 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/luajit-2.0.3-symlink.patch

diff --git a/gnu-system.am b/gnu-system.am
index 706ad57..45f03fe 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -421,6 +421,7 @@ dist_patch_DATA =                                           
\
   gnu/packages/patches/libssh-CVE-2014-0017.patch              \
   gnu/packages/patches/lm-sensors-hwmon-attrs.patch            \
   gnu/packages/patches/lua51-liblua-so.patch                    \
+  gnu/packages/patches/luajit-2.0.3-symlink.patch               \
   gnu/packages/patches/luit-posix.patch                                \
   gnu/packages/patches/m4-gets-undeclared.patch                        \
   gnu/packages/patches/make-impure-dirs.patch                  \
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index eda69f9..8379419 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -87,12 +87,15 @@ for configuration, scripting, and rapid prototyping.")
               (uri (string-append "http://luajit.org/download/LuaJIT-";
                                   version ".tar.gz"))
               (sha256
-               (base32 
"0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"))))
+               (base32 "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"))
+              (patches (list (search-patch "luajit-2.0.3-symlink.patch")))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f                      ;luajit is distributed without tests
        #:phases (alist-delete 'configure %standard-phases)
-       #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs 
"out")))))
+       ; poorly formulated expression doesn't create symlinks for dynamic 
library on ldconfig failure
+       ; ldconfig is useless anyway so success always with `true'
+       #:make-flags (list "LDCONFIG=true" (string-append "PREFIX=" (assoc-ref 
%outputs "out")))))
     (home-page "http://www.luajit.org/";)
     (synopsis "Just in time compiler for Lua programming language version 5.1")
     (description
diff --git a/gnu/packages/patches/luajit-2.0.3-symlink.patch 
b/gnu/packages/patches/luajit-2.0.3-symlink.patch
new file mode 100644
index 0000000..c6b4eec
--- /dev/null
+++ b/gnu/packages/patches/luajit-2.0.3-symlink.patch
@@ -0,0 +1,12 @@
+diff -up LuaJIT-2.0.3/Makefile.orig LuaJIT-2.0.3/Makefile
+--- LuaJIT-2.0.3/Makefile.orig 2014-03-12 13:10:00.000000000 +0100
++++ LuaJIT-2.0.3/Makefile      2015-02-02 23:52:30.774723789 +0100
+@@ -56,7 +56,7 @@ INSTALL_PCNAME= luajit.pc
+ INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
+ INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME)
+ INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
+-INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
++INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT).$(MAJVER)
+ INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
+ INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
+ INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
-- 
2.0.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]