* [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
* Re: [PATCH] gnu: luajit: install symlinks for libluajit library
2015-02-03 0:08 [PATCH] gnu: luajit: install symlinks for libluajit library Tomáš Čech
@ 2015-02-03 21:03 ` Ludovic Courtès
0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2015-02-03 21:03 UTC (permalink / raw)
To: Tomáš Čech; +Cc: guix-devel
Tomáš Čech <sleep_walker@suse.cz> skribis:
> * 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.
Good catch, thanks for investigating!
> (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")))))
Some nitpicking: please use double-colon for block comments, capitalize
sentences, add periods at the end of sentences, and wrap lines to 80
chars.
s/poorly formulated expression/The Makefile/
And perhaps add something like: “Set LDCONFIG=true to work around it.”,
to make it clear what the solution is and how it relates to the problem.
> 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)
Please add a comment above the hunk explaining what the patch does, why,
and what its upstream status is.
Could you send an updated patch?
Thanks!
Ludo’.
^ permalink raw reply [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.