unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#58901] [PATCH] gnu: luajit: Update to commit 6c4826.
@ 2022-10-30 19:19 Leo Nikkilä
  2022-10-30 19:19 ` Leo Nikkilä
  2022-11-14 11:23 ` bug#58901: " Ludovic Courtès
  0 siblings, 2 replies; 3+ messages in thread
From: Leo Nikkilä @ 2022-10-30 19:19 UTC (permalink / raw)
  To: 58901

Greetings, attached is a patch to update luajit to commit
6c4826f12c4d33b8b978004bc681eb1eef2be977.

My motivation for doing this was to get Neovim to build on aarch64-linux
again, which has been failing for a while due to incompatibilities with
the 2.1.0-beta3 release:

- https://ci.guix.gnu.org/build/1558481/details
- https://github.com/neovim/neovim/issues/15146#issuecomment-884154715

The 2.1.0-beta3 release is from 2017, and now quite dated.

Unfortunately there hasn't been a tagged release in a long time, and
dependents have resorted to various commits of the 2.1.0 branch. I chose
this particular commit from Nixpkgs:

- https://github.com/NixOS/nixpkgs/blob/3fa15c357033b1c7bdb88f34c1fb9f6427b4754c/pkgs/development/interpreters/luajit/2.1.nix

In addition to fixing the Neovim build, this also fixes a vulnerability
that has been reported in the luajit 2.1.0-beta3 release and patched in
the development tree:

- https://nvd.nist.gov/vuln/detail/CVE-2020-24372
- https://github.com/LuaJIT/LuaJIT/issues/603

I was also able to remove the luajit patch for a missing ldconfig, this
behaviour has been fixed in upstream since January 2020:

- https://github.com/LuaJIT/LuaJIT/commit/18c9cf7d3788a8f7408df45df92fc4ae3bcc0d80

Here's what `guix refresh' has to say about luajit:

    $ guix refresh --list-dependent luajit
    Building the following 42 packages would ensure 62 dependent packages are rebuilt: arcan-wayland@0.5.5.2-1.b4dd1fb xarcan@0.5.4-1.8e6ee02 arcan-sdl@0.5.5.2-1.b4dd1fb sysbench@1.0.20 knot-resolver@5.4.4 edi@0.8.0 rage@0.4.0 ephoto@1.6.0 enlightenment@0.25.4 terminology@1.12.1 evisum@0.6.0 econnman@1.1 epour@0.7.0 jami@20220825.0828.c10f01f pinentry-efl@1.2.0 instead@3.3.5 love-nuklear@2.6.1 mrrescue@1.02e tome4@1.7.4 solarus-quest-editor@1.6.5 naev@0.9.4 mrg@0.1.4 uftrace@0.11 bpftrace@0.15.0 rspamd@3.2 hexchat@2.16.1 minetest-unified-inventory@2021-12-26 minetest-worldedit@1.3 minetest-ethereal@1.29-0.7670c1d minetest-throwing-arrows@1.1-0.059cc89 minetest-basic-trains@1.0.1 minetest-mesecons@1.2.1-63.27c3c51 minetest-homedecor-modpack@2022-05-18 minetest-coloredwood@2021-04-14-1 minetest-technic@2022-02-06 minetest-mobs-animal@2021-11-14 obs-wlrobs@1.0 obs-spectralizer@1.3.3 obs-websocket@4.9.1 eovim@0.2.0 luakit@2.3 nginx-lua-module@0.10.16

I've tested this update by successfully building the dependent packages
on x86_64-linux and aarch64-linux, except for nginx-lua-module and
obs-websocket which have been failing on CI as well due to build errors
unrelated to luajit.





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

* [bug#58901] [PATCH] gnu: luajit: Update to commit 6c4826.
  2022-10-30 19:19 [bug#58901] [PATCH] gnu: luajit: Update to commit 6c4826 Leo Nikkilä
@ 2022-10-30 19:19 ` Leo Nikkilä
  2022-11-14 11:23 ` bug#58901: " Ludovic Courtès
  1 sibling, 0 replies; 3+ messages in thread
From: Leo Nikkilä @ 2022-10-30 19:19 UTC (permalink / raw)
  To: 58901; +Cc: Leo Nikkilä

* gnu/packages/lua.scm (luajit)[source]: Use git-fetch, remove patch.
* gnu/packages/patches/luajit-no_ldconfig.patch: Delete patch.
---
 gnu/packages/lua.scm                          | 73 ++++++++++---------
 gnu/packages/patches/luajit-no_ldconfig.patch | 31 --------
 2 files changed, 39 insertions(+), 65 deletions(-)
 delete mode 100644 gnu/packages/patches/luajit-no_ldconfig.patch

diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 829c819975..d914228107 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
 ;;; Copyright © 2022 Brandon Lucas <br@ndon.dk>
 ;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
+;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -149,43 +150,47 @@ (define-public lua-5.1
                                       "lua51-pkgconfig.patch"))))))
 
 (define-public luajit
-  (package
-    (name "luajit")
-    (version "2.1.0-beta3")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://luajit.org/download/LuaJIT-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32 "1hyrhpkwjqsv54hnnx4cl8vk44h9d6c9w0fz1jfjz00w255y7lhs"))
-              (patches (search-patches "luajit-no_ldconfig.patch"))))
-    (build-system gnu-build-system)
-    (arguments
-     `(#:tests? #f                      ; luajit is distributed without tests
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)            ; no configure script
-         (add-after 'install 'create-luajit-symlink
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bin (string-append out "/bin")))
-               (with-directory-excursion bin
-                 (symlink ,(string-append name "-" version)
-                          ,name)
-                 #t)))))
-         #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
-    (home-page "https://www.luajit.org/")
-    (synopsis "Just in time compiler for Lua programming language version 5.1")
-    ;; On powerpc64le-linux, the build fails with an error: "No support for
-    ;; PowerPC 64 bit mode (yet)".  See: https://issues.guix.gnu.org/49220
-    (supported-systems (fold delete %supported-systems
-                             (list "powerpc64le-linux" "riscv64-linux")))
-    (description
-     "LuaJIT is a Just-In-Time Compiler (JIT) for the Lua
+  (let ((branch "2.1.0-beta3")
+        (commit "6c4826f12c4d33b8b978004bc681eb1eef2be977"))
+    (package
+      (name "luajit")
+      (version (git-version branch "0" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://luajit.org/git/luajit.git")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "1a002yh8v1i1q9w09494q0b8vsbmw3amn9jgfs5qnz7ba54jij0q"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f                    ; luajit is distributed without tests
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)          ; no configure script
+           (add-after 'install 'create-luajit-symlink
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin")))
+                 (with-directory-excursion bin
+                   (symlink ,(string-append name "-" branch)
+                            ,name))))))
+         #:make-flags (list (string-append "PREFIX="
+                                           (assoc-ref %outputs "out")))))
+      (home-page "https://www.luajit.org/")
+      (synopsis
+       "Just in time compiler for Lua programming language version 5.1")
+      ;; On powerpc64le-linux, the build fails with an error: "No support for
+      ;; PowerPC 64 bit mode (yet)".  See: https://issues.guix.gnu.org/49220
+      (supported-systems (fold delete %supported-systems
+                               (list "powerpc64le-linux" "riscv64-linux")))
+      (description
+       "LuaJIT is a Just-In-Time Compiler (JIT) for the Lua
 programming language.  Lua is a powerful, dynamic and light-weight programming
 language.  It may be embedded or used as a general-purpose, stand-alone
 language.")
-    (license license:x11)))
+      (license license:x11))))
 
 (define-public luajit-lua52-openresty
   (package
diff --git a/gnu/packages/patches/luajit-no_ldconfig.patch b/gnu/packages/patches/luajit-no_ldconfig.patch
deleted file mode 100644
index 8000e8e4e5..0000000000
--- a/gnu/packages/patches/luajit-no_ldconfig.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 629200f48e18dc1a3a5229739748bad0e2a6a0a2 Mon Sep 17 00:00:00 2001
-From: =?utf8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= <sleep_walker@suse.cz>
-Date: Wed, 4 Feb 2015 11:37:16 +0100
-Subject: [PATCH] Do not silently and prematurely end install when ldconfig is
- missing
-
----
- Makefile | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 343ecb5..4667146 100644
---- a/Makefile
-+++ b/Makefile
-@@ -112,9 +112,10 @@ install: $(INSTALL_DEP)
- 	$(RM) $(INSTALL_TSYM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2)
- 	cd src && test -f $(FILE_SO) && \
- 	  $(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) && \
--	  $(LDCONFIG) $(INSTALL_LIB) && \
--	  $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
--	  $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
-+	  ( $(LDCONFIG) $(INSTALL_LIB) ; \
-+	    $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
-+	    $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || : \
-+	  )
- 	cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN)
- 	cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \
- 	  $(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \
--- 
-2.2.2
-
-- 
2.34.0





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

* bug#58901: [PATCH] gnu: luajit: Update to commit 6c4826.
  2022-10-30 19:19 [bug#58901] [PATCH] gnu: luajit: Update to commit 6c4826 Leo Nikkilä
  2022-10-30 19:19 ` Leo Nikkilä
@ 2022-11-14 11:23 ` Ludovic Courtès
  1 sibling, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2022-11-14 11:23 UTC (permalink / raw)
  To: Leo Nikkilä; +Cc: 58901-done

Hi,

Leo Nikkilä <hello@lnikki.la> skribis:

> Greetings, attached is a patch to update luajit to commit
> 6c4826f12c4d33b8b978004bc681eb1eef2be977.
>
> My motivation for doing this was to get Neovim to build on aarch64-linux
> again, which has been failing for a while due to incompatibilities with
> the 2.1.0-beta3 release:
>
> - https://ci.guix.gnu.org/build/1558481/details
> - https://github.com/neovim/neovim/issues/15146#issuecomment-884154715
>
> The 2.1.0-beta3 release is from 2017, and now quite dated.
>
> Unfortunately there hasn't been a tagged release in a long time, and
> dependents have resorted to various commits of the 2.1.0 branch. I chose
> this particular commit from Nixpkgs:
>
> - https://github.com/NixOS/nixpkgs/blob/3fa15c357033b1c7bdb88f34c1fb9f6427b4754c/pkgs/development/interpreters/luajit/2.1.nix
>
> In addition to fixing the Neovim build, this also fixes a vulnerability
> that has been reported in the luajit 2.1.0-beta3 release and patched in
> the development tree:
>
> - https://nvd.nist.gov/vuln/detail/CVE-2020-24372
> - https://github.com/LuaJIT/LuaJIT/issues/603
>
> I was also able to remove the luajit patch for a missing ldconfig, this
> behaviour has been fixed in upstream since January 2020:
>
> - https://github.com/LuaJIT/LuaJIT/commit/18c9cf7d3788a8f7408df45df92fc4ae3bcc0d80

That makes a lot of sense.  Finally applied, thanks!

Ludo’.




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

end of thread, other threads:[~2022-11-14 23:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-30 19:19 [bug#58901] [PATCH] gnu: luajit: Update to commit 6c4826 Leo Nikkilä
2022-10-30 19:19 ` Leo Nikkilä
2022-11-14 11:23 ` bug#58901: " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).