all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Tomáš Čech" <sleep_walker@suse.cz>
To: guix-devel@gnu.org
Subject: [PATCH] gnu: luajit: install symlinks for libluajit library
Date: Tue,  3 Feb 2015 01:08:55 +0100	[thread overview]
Message-ID: <1422922135-2788-1-git-send-email-sleep_walker@suse.cz> (raw)

* 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	other threads:[~2015-02-03  0:09 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-03  0:08 Tomáš Čech [this message]
2015-02-03 21:03 ` [PATCH] gnu: luajit: install symlinks for libluajit library Ludovic Courtès

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=1422922135-2788-1-git-send-email-sleep_walker@suse.cz \
    --to=sleep_walker@suse.cz \
    --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.