all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] gnu: luajit: install symlinks for libluajit library
@ 2015-02-03  0:08 Tomáš Čech
  2015-02-03 21:03 ` Ludovic Courtès
  0 siblings, 1 reply; 2+ messages in thread
From: Tomáš Čech @ 2015-02-03  0:08 UTC (permalink / raw)
  To: guix-devel

* 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

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

end of thread, other threads:[~2015-02-03 21:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-03  0:08 [PATCH] gnu: luajit: install symlinks for libluajit library Tomáš Čech
2015-02-03 21:03 ` Ludovic Courtès

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.