* 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