[PATCH] update neovim to 0.7.0

  • Done
  • quality assurance status badge
Details
5 participants
  • Imran Iqbal
  • Ludovic Courtès
  • Luis Henrique Gomes Higino
  • Maxime Devos
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Luis Henrique Gomes Higino
Severity
normal
Merged with
L
L
Luis Henrique Gomes Higino wrote on 20 Apr 2022 19:46
(address . guix-patches@gnu.org)
87mtgf63xj.fsf@gmail.com
Hi guix, this patch series updates lua-luv to 1.43.0-0 and neovim
to 0.7.0. Besides that, I took the opportunity to convert their
package definitions to Guix's new code style.

Regards,
--
Luis H. Higino
L
L
Luis Henrique Gomes Higino wrote on 20 Apr 2022 19:52
[PATCH 1/4] gnu: lua-luv: Update to 1.43.0-0.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
abf92fc750ff1669799ca71ab315c8b6b82f5f83.1650477097.git.luishenriquegh2701@gmail.com
* gnu/packages/lua.scm (lua-luv): Update to 1.43.0-0.

Update lua-compat-5.3.
---
gnu/packages/lua.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (55 lines)
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index ee4b7727e0..2f89d42ba5 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2021 Vinícius dos Santos Oliveira <vini.ipsmaker@gmail.com>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Brandon Lucas <br@ndon.dk>
+;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -785,7 +786,7 @@ (define-public lua5.2-lpeg
(define (make-lua-luv name lua)
(package
(name name)
- (version "1.32.0-0")
+ (version "1.43.0-0")
(source (origin
;; The release tarball includes the sources of libuv but does
;; not include the pkg-config files.
@@ -796,7 +797,7 @@ (define (make-lua-luv name lua)
(file-name (git-file-name name version))
(sha256
(base32
- "0c65c1lhbl0axnyks3910gjs0z0hw7w6jvl07g8kbpnbvfl4qajh"))))
+ "1yzi4bm845vl84wyv2qw4z1n1v285lgwm681swmp84brfy2s7czp"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are none
@@ -813,7 +814,7 @@ (define (make-lua-luv name lua)
(copy-recursively (assoc-ref inputs "lua-compat")
"lua-compat")
(setenv "CPATH"
- (string-append (getcwd) "/lua-compat:"
+ (string-append (getcwd) "/lua-compat/c-api:"
(or (getenv "CPATH") "")))
#t)))))
(inputs
@@ -824,11 +825,11 @@ (define (make-lua-luv name lua)
(method git-fetch)
(uri (git-reference
(url "https://github.com/keplerproject/lua-compat-5.3")
- (commit "daebe77a2f498817713df37f0bb316db1d82222f")))
+ (commit "v0.10")))
(file-name "lua-compat-5.3-checkout")
(sha256
(base32
- "02a14nvn7aggg1yikj9h3dcf8aqjbxlws1bfvqbpfxv9d5phnrpz"))))))
+ "1caxn228gx48g6kymp9w7kczgxcg0v0cd5ixsx8viybzkd60dcn4"))))))
(home-page "https://github.com/luvit/luv/")
(synopsis "Libuv bindings for Lua")
(description
--
2.34.0
L
L
Luis Henrique Gomes Higino wrote on 20 Apr 2022 19:52
[PATCH 2/4] gnu: lua-luv: replace sexps with gexps.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
9840ff3c42bcd4d8b8adcc402e935be3b213163a.1650477097.git.luishenriquegh2701@gmail.com
* gnu/packages/lua.scm (lua-luv): replace sexps with gexps.
---
gnu/packages/lua.scm | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)

Toggle diff (47 lines)
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 2f89d42ba5..ba101f0d6c 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -800,23 +800,23 @@ (define (make-lua-luv name lua)
"1yzi4bm845vl84wyv2qw4z1n1v285lgwm681swmp84brfy2s7czp"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; there are none
- #:configure-flags
- '("-DWITH_LUA_ENGINE=Lua"
- "-DWITH_SHARED_LIBUV=On"
- "-DBUILD_MODULE=Off"
- "-DBUILD_SHARED_LIBS=On"
- "-DLUA_BUILD_TYPE=System")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'copy-lua-compat
- (lambda* (#:key inputs #:allow-other-keys)
- (copy-recursively (assoc-ref inputs "lua-compat")
- "lua-compat")
- (setenv "CPATH"
- (string-append (getcwd) "/lua-compat/c-api:"
- (or (getenv "CPATH") "")))
- #t)))))
+ (list #:tests? #f ; there are none
+ #:configure-flags
+ #~'("-DWITH_LUA_ENGINE=Lua"
+ "-DWITH_SHARED_LIBUV=On"
+ "-DBUILD_MODULE=Off"
+ "-DBUILD_SHARED_LIBS=On"
+ "-DLUA_BUILD_TYPE=System")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-lua-compat
+ (lambda* _
+ (copy-recursively #+(this-package-native-input "lua-compat")
+ "lua-compat")
+ (setenv "CPATH"
+ (string-append (getcwd) "/lua-compat/c-api:"
+ (or (getenv "CPATH") "")))
+ #t)))))
(inputs
(list lua libuv))
(native-inputs
--
2.34.0
L
L
Luis Henrique Gomes Higino wrote on 20 Apr 2022 19:52
[PATCH 3/4] gnu: neovim: Update to 0.7.0.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
2f8057a93dcd498199f587f2b4f384c90ca253a5.1650477097.git.luishenriquegh2701@gmail.com
* gnu/packages/vim.scm (neovim): Update to 0.7.0.
---
gnu/packages/vim.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 7279798fe6..d04ee49775 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -668,7 +668,7 @@ (define-public neovim-syntastic
(define-public neovim
(package
(name "neovim")
- (version "0.6.1")
+ (version "0.7.0")
(source
(origin
(method git-fetch)
@@ -677,7 +677,7 @@ (define-public neovim
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "10p6lg5yv9n6wcwdprwvvi56dfcm4wsj54nm0invyx3mhf7374lx"))))
+ (base32 "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((srfi srfi-26)
--
2.34.0
L
L
Luis Henrique Gomes Higino wrote on 20 Apr 2022 19:52
[PATCH 4/4] gnu: neovim: replace sexps with gexps.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
90d9b054aa3eb057828ccdfee15a224fe6d0992e.1650477097.git.luishenriquegh2701@gmail.com
* gnu/packages/vim.scm (neovim): replace sexps with gexps.

Also run `guix style neovim`.
---
gnu/packages/vim.scm | 153 ++++++++++++++++++++++---------------------
1 file changed, 78 insertions(+), 75 deletions(-)

Toggle diff (177 lines)
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index d04ee49775..8ded61e097 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -669,84 +669,86 @@ (define-public neovim
(package
(name "neovim")
(version "0.7.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/neovim/neovim")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g"))))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/neovim/neovim")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g"))))
(build-system cmake-build-system)
(arguments
- `(#:modules ((srfi srfi-26)
- (guix build cmake-build-system)
- (guix build utils))
- #:configure-flags
- (list ,@(if (member (if (%current-target-system)
- (gnu-triplet->nix-system (%current-target-system))
- (%current-system))
- (package-supported-systems luajit))
- '()
- '("-DPREFER_LUA:BOOL=YES")))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-lua-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((lua-version "5.1")
- (lua-cpath-spec
- (lambda (prefix)
- (let ((path (string-append prefix "/lib/lua/" lua-version)))
- (string-append path "/?.so;" path "/?/?.so"))))
- (lua-path-spec
- (lambda (prefix)
- (let ((path (string-append prefix "/share/lua/" lua-version)))
- (string-append path "/?.lua;" path "/?/?.lua"))))
- (lua-inputs (map (cute assoc-ref inputs <>)
- '("lua"
- "lua-luv"
- "lua-lpeg"
- "lua-bitop"
- "lua-libmpack"))))
- (setenv "LUA_PATH"
- (string-join (map lua-path-spec lua-inputs) ";"))
- (setenv "LUA_CPATH"
- (string-join (map lua-cpath-spec lua-inputs) ";"))
- #t)))
- (add-after 'unpack 'prevent-embedding-gcc-store-path
- (lambda _
- ;; nvim remembers its build options, including the compiler with
- ;; its complete path. This adds gcc to the closure of nvim, which
- ;; doubles its size. We remove the refirence here.
- (substitute* "cmake/GetCompileFlags.cmake"
- (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
- #t)))))
- (inputs
- `(("libuv" ,libuv)
- ("msgpack" ,msgpack)
- ("libtermkey" ,libtermkey)
- ("libvterm" ,libvterm)
- ("unibilium" ,unibilium)
- ("jemalloc" ,jemalloc)
- ("lua" ,(if (member (if (%current-target-system)
- (gnu-triplet->nix-system (%current-target-system))
- (%current-system))
- (package-supported-systems luajit))
- luajit
- lua-5.1))
- ("lua-luv" ,lua5.1-luv)
- ("lua-lpeg" ,lua5.1-lpeg)
- ("lua-bitop" ,lua5.1-bitop)
- ("lua-libmpack" ,lua5.1-libmpack)
- ("tree-sitter" ,tree-sitter)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)
- ("gperf" ,gperf)))
+ (list #:modules
+ '((srfi srfi-26) (guix build cmake-build-system)
+ (guix build utils))
+ #:configure-flags
+ #~(list #$@(if (member (if (%current-target-system)
+ (gnu-triplet->nix-system (%current-target-system))
+ (%current-system))
+ (package-supported-systems luajit))
+ '()
+ '("-DPREFER_LUA:BOOL=YES")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-lua-paths
+ (lambda* _
+ (let* ((lua-version "5.1")
+ (lua-cpath-spec (lambda (prefix)
+ (let ((path (string-append
+ prefix
+ "/lib/lua/"
+ lua-version)))
+ (string-append
+ path
+ "/?.so;"
+ path
+ "/?/?.so"))))
+ (lua-path-spec (lambda (prefix)
+ (let ((path (string-append prefix
+ "/share/lua/"
+ lua-version)))
+ (string-append path "/?.lua;"
+ path "/?/?.lua"))))
+ (lua-inputs (list (or #$(this-package-input "lua")
+ #$(this-package-input "luajit"))
+ #$lua5.1-luv
+ #$lua5.1-lpeg
+ #$lua5.1-bitop
+ #$lua5.1-libmpack)))
+ (setenv "LUA_PATH"
+ (string-join (map lua-path-spec lua-inputs) ";"))
+ (setenv "LUA_CPATH"
+ (string-join (map lua-cpath-spec lua-inputs) ";"))
+ #t)))
+ (add-after 'unpack 'prevent-embedding-gcc-store-path
+ (lambda _
+ (substitute* "cmake/GetCompileFlags.cmake"
+ (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
+ #t)))))
+ (inputs (list libuv
+ msgpack
+ libtermkey
+ libvterm
+ unibilium
+ jemalloc
+ (if (member (if (%current-target-system)
+ (gnu-triplet->nix-system (%current-target-system))
+ (%current-system))
+ (package-supported-systems luajit))
+ luajit
+ lua-5.1)
+ lua5.1-luv
+ lua5.1-lpeg
+ lua5.1-bitop
+ lua5.1-libmpack
+ tree-sitter))
+ (native-inputs (list pkg-config gettext-minimal gperf))
(home-page "https://neovim.io")
(synopsis "Fork of vim focused on extensibility and agility")
- (description "Neovim is a project that seeks to aggressively
+ (description
+ "Neovim is a project that seeks to aggressively
refactor Vim in order to:
@itemize
@@ -754,7 +756,8 @@ (define-public neovim
@item Split the work between multiple developers
@item Enable advanced external UIs without modifications to the core
@item Improve extensibility with a new plugin architecture
-@end itemize\n")
+@end itemize
+")
;; Neovim is licensed under the terms of the Apache 2.0 license,
;; except for parts that were contributed under the Vim license.
(license (list license:asl2.0 license:vim))))
--
2.34.0
I
I
Imran Iqbal wrote on 21 Apr 2022 04:47
[PATCH] update neovim to 0.7.0
(address . 55045@debbugs.gnu.org)
dd096e8b-8735-9b41-fc80-0092f0dcfbac@imraniqbal.org
Toggle quote (2 lines)
> this patch series updates lua-luv to 1.43.0-0 and neovim to 0.7.0.

I just want to add that libuv should also be updated to 1.43.0 to match

I attempted to do that here: https://issues.guix.gnu.org/54982as part
of my patch set but I messed up sending in the patches and it ended up
spread across a few issues ?
L
L
Luis Henrique Gomes Higino wrote on 22 Apr 2022 03:07
(address . 55045@debbugs.gnu.org)(name . Imran Iqbal)(address . imran@imraniqbal.org)
87h76l6hrj.fsf@gmail.com
Hi Imran,

I think you're right, but I'm somewhat unsure about updating
libuv, as it would cause 13346 packages to be rebuilt
?. According to the Guix manual, this would result in this patch
having to be applied in the core-updates branch, which could delay
neovim's update significantly.

Regards,
--
Luis H. Higino
L
L
Ludovic Courtès wrote on 29 Apr 2022 00:35
Re: bug#55045: [PATCH] update neovim to 0.7.0
(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
87tuacala3.fsf_-_@gnu.org
Hi,

Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com> skribis:

Toggle quote (5 lines)
> I think you're right, but I'm somewhat unsure about updating libuv, as
> it would cause 13346 packages to be rebuilt ?. According to the Guix
> manual, this would result in this patch having to be applied in the
> core-updates branch, which could delay neovim's update significantly.

What you can do is introduce a libuv variant for the version that neovim
needs, as long the lines of the first example at:


HTH!

Ludo’.
L
L
Luis Henrique Gomes Higino wrote on 5 May 2022 17:02
(name . Ludovic Courtès)(address . ludo@gnu.org)
87ilqkdnlv.fsf@gmail.com
Hi,

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (24 lines)
> Hi,
>
> Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
> skribis:
>
>> I think you're right, but I'm somewhat unsure about updating
>> libuv, as
>> it would cause 13346 packages to be rebuilt ?. According to
>> the Guix
>> manual, this would result in this patch having to be applied in
>> the
>> core-updates branch, which could delay neovim's update
>> significantly.
>
> What you can do is introduce a libuv variant for the version
> that neovim
> needs, as long the lines of the first example at:
>
> https://guix.gnu.org/manual/devel/en/html_node/Defining-Package-Variants.html
>
> HTH!
>
> Ludo’.

I have introduced libuv-for-luv, updated it to version 1.43.0 and
put it as the new input for make-lua-luv. Its code follows:

Toggle snippet (19 lines)
(define-public libuv-for-luv
;; When upgrading make-lua-luv, also upgrade this. Get the
version from
;; https://github.com/luvit/luv/blob/master/CMakeLists.txt
(package
(inherit libuv)
(name "libuv")
(version "1.43.0")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.libuv.org/dist/v"
version
"/libuv-v" version ".tar.gz"))
(sha256
(base32
"194kwq3jfj9s628kzkchdca534rikjw0xiyas0cjbphqmsvjpmwh"))))
(properties '((hidden? . #t)))))

Each version of lua-luv built fine, but building neovim now throws
this error:

Toggle snippet (142 lines)
/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/bin/gcc
-DNVIM_TS_HAS_SET_MATCH_LIMIT -DNVIM_TS_HAS_SET_ALLOCATOR -O2 -g
-Og -g -flto -fno-fat-lto-objects -Wl,--no-undefined
-Wl,--export-dynamic -rdynamic
CMakeFiles/nvim.dir/auto/lua_api_c_bindings.generated.c.o
CMakeFiles/nvim.dir/__/__/config/auto/pathdef.c.o
CMakeFiles/nvim.dir/api/autocmd.c.o
CMakeFiles/nvim.dir/api/buffer.c.o
CMakeFiles/nvim.dir/api/deprecated.c.o
CMakeFiles/nvim.dir/api/extmark.c.o
CMakeFiles/nvim.dir/api/private/converter.c.o
CMakeFiles/nvim.dir/api/private/dispatch.c.o
CMakeFiles/nvim.dir/api/private/helpers.c.o
CMakeFiles/nvim.dir/api/tabpage.c.o CMakeFiles/nvim.dir/api/ui.c.o
CMakeFiles/nvim.dir/api/vim.c.o
CMakeFiles/nvim.dir/api/vimscript.c.o
CMakeFiles/nvim.dir/api/win_config.c.o
CMakeFiles/nvim.dir/api/window.c.o CMakeFiles/nvim.dir/arabic.c.o
CMakeFiles/nvim.dir/autocmd.c.o CMakeFiles/nvim.dir/buffer.c.o
CMakeFiles/nvim.dir/buffer_updates.c.o
CMakeFiles/nvim.dir/change.c.o CMakeFiles/nvim.dir/channel.c.o
CMakeFiles/nvim.dir/charset.c.o CMakeFiles/nvim.dir/context.c.o
CMakeFiles/nvim.dir/cursor.c.o
CMakeFiles/nvim.dir/cursor_shape.c.o
CMakeFiles/nvim.dir/debugger.c.o
CMakeFiles/nvim.dir/decoration.c.o
CMakeFiles/nvim.dir/decoration_provider.c.o
CMakeFiles/nvim.dir/diff.c.o CMakeFiles/nvim.dir/digraph.c.o
CMakeFiles/nvim.dir/edit.c.o CMakeFiles/nvim.dir/eval.c.o
CMakeFiles/nvim.dir/eval/decode.c.o
CMakeFiles/nvim.dir/eval/encode.c.o
CMakeFiles/nvim.dir/eval/executor.c.o
CMakeFiles/nvim.dir/eval/funcs.c.o CMakeFiles/nvim.dir/eval/gc.c.o
CMakeFiles/nvim.dir/eval/typval.c.o
CMakeFiles/nvim.dir/eval/userfunc.c.o
CMakeFiles/nvim.dir/event/libuv_process.c.o
CMakeFiles/nvim.dir/event/loop.c.o
CMakeFiles/nvim.dir/event/multiqueue.c.o
CMakeFiles/nvim.dir/event/process.c.o
CMakeFiles/nvim.dir/event/rstream.c.o
CMakeFiles/nvim.dir/event/signal.c.o
CMakeFiles/nvim.dir/event/socket.c.o
CMakeFiles/nvim.dir/event/stream.c.o
CMakeFiles/nvim.dir/event/time.c.o
CMakeFiles/nvim.dir/event/wstream.c.o
CMakeFiles/nvim.dir/ex_cmds.c.o CMakeFiles/nvim.dir/ex_cmds2.c.o
CMakeFiles/nvim.dir/ex_docmd.c.o CMakeFiles/nvim.dir/ex_eval.c.o
CMakeFiles/nvim.dir/ex_getln.c.o
CMakeFiles/nvim.dir/ex_session.c.o CMakeFiles/nvim.dir/extmark.c.o
CMakeFiles/nvim.dir/file_search.c.o CMakeFiles/nvim.dir/fileio.c.o
CMakeFiles/nvim.dir/fold.c.o CMakeFiles/nvim.dir/garray.c.o
CMakeFiles/nvim.dir/getchar.c.o CMakeFiles/nvim.dir/hardcopy.c.o
CMakeFiles/nvim.dir/hashtab.c.o CMakeFiles/nvim.dir/highlight.c.o
CMakeFiles/nvim.dir/highlight_group.c.o
CMakeFiles/nvim.dir/if_cscope.c.o CMakeFiles/nvim.dir/indent.c.o
CMakeFiles/nvim.dir/indent_c.c.o CMakeFiles/nvim.dir/input.c.o
CMakeFiles/nvim.dir/keymap.c.o CMakeFiles/nvim.dir/log.c.o
CMakeFiles/nvim.dir/lua/converter.c.o
CMakeFiles/nvim.dir/lua/executor.c.o
CMakeFiles/nvim.dir/lua/spell.c.o
CMakeFiles/nvim.dir/lua/stdlib.c.o
CMakeFiles/nvim.dir/lua/treesitter.c.o
CMakeFiles/nvim.dir/lua/xdiff.c.o CMakeFiles/nvim.dir/main.c.o
CMakeFiles/nvim.dir/map.c.o CMakeFiles/nvim.dir/mark.c.o
CMakeFiles/nvim.dir/marktree.c.o CMakeFiles/nvim.dir/match.c.o
CMakeFiles/nvim.dir/math.c.o CMakeFiles/nvim.dir/mbyte.c.o
CMakeFiles/nvim.dir/memfile.c.o CMakeFiles/nvim.dir/memline.c.o
CMakeFiles/nvim.dir/memory.c.o CMakeFiles/nvim.dir/menu.c.o
CMakeFiles/nvim.dir/message.c.o CMakeFiles/nvim.dir/mouse.c.o
CMakeFiles/nvim.dir/move.c.o
CMakeFiles/nvim.dir/msgpack_rpc/channel.c.o
CMakeFiles/nvim.dir/msgpack_rpc/helpers.c.o
CMakeFiles/nvim.dir/msgpack_rpc/server.c.o
CMakeFiles/nvim.dir/normal.c.o CMakeFiles/nvim.dir/ops.c.o
CMakeFiles/nvim.dir/option.c.o CMakeFiles/nvim.dir/os/dl.c.o
CMakeFiles/nvim.dir/os/env.c.o CMakeFiles/nvim.dir/os/fileio.c.o
CMakeFiles/nvim.dir/os/fs.c.o CMakeFiles/nvim.dir/os/input.c.o
CMakeFiles/nvim.dir/os/lang.c.o CMakeFiles/nvim.dir/os/mem.c.o
CMakeFiles/nvim.dir/os/process.c.o
CMakeFiles/nvim.dir/os/pty_process_unix.c.o
CMakeFiles/nvim.dir/os/shell.c.o CMakeFiles/nvim.dir/os/signal.c.o
CMakeFiles/nvim.dir/os/stdpaths.c.o
CMakeFiles/nvim.dir/os/time.c.o CMakeFiles/nvim.dir/os/tty.c.o
CMakeFiles/nvim.dir/os/users.c.o CMakeFiles/nvim.dir/os_unix.c.o
CMakeFiles/nvim.dir/path.c.o CMakeFiles/nvim.dir/plines.c.o
CMakeFiles/nvim.dir/popupmnu.c.o CMakeFiles/nvim.dir/profile.c.o
CMakeFiles/nvim.dir/quickfix.c.o CMakeFiles/nvim.dir/rbuffer.c.o
CMakeFiles/nvim.dir/regexp.c.o CMakeFiles/nvim.dir/runtime.c.o
CMakeFiles/nvim.dir/screen.c.o CMakeFiles/nvim.dir/search.c.o
CMakeFiles/nvim.dir/sha256.c.o CMakeFiles/nvim.dir/shada.c.o
CMakeFiles/nvim.dir/sign.c.o CMakeFiles/nvim.dir/spell.c.o
CMakeFiles/nvim.dir/spellfile.c.o CMakeFiles/nvim.dir/state.c.o
CMakeFiles/nvim.dir/strings.c.o CMakeFiles/nvim.dir/syntax.c.o
CMakeFiles/nvim.dir/tag.c.o CMakeFiles/nvim.dir/terminal.c.o
CMakeFiles/nvim.dir/testing.c.o CMakeFiles/nvim.dir/tui/input.c.o
CMakeFiles/nvim.dir/tui/terminfo.c.o
CMakeFiles/nvim.dir/tui/tui.c.o CMakeFiles/nvim.dir/ugrid.c.o
CMakeFiles/nvim.dir/ui.c.o CMakeFiles/nvim.dir/ui_bridge.c.o
CMakeFiles/nvim.dir/ui_client.c.o
CMakeFiles/nvim.dir/ui_compositor.c.o CMakeFiles/nvim.dir/undo.c.o
CMakeFiles/nvim.dir/version.c.o
CMakeFiles/nvim.dir/viml/parser/expressions.c.o
CMakeFiles/nvim.dir/viml/parser/parser.c.o
CMakeFiles/nvim.dir/window.c.o
CMakeFiles/nvim.dir/__/cjson/fpconv.c.o
CMakeFiles/nvim.dir/__/cjson/lua_cjson.c.o
CMakeFiles/nvim.dir/__/cjson/strbuf.c.o
CMakeFiles/nvim.dir/__/mpack/conv.c.o
CMakeFiles/nvim.dir/__/mpack/lmpack.c.o
CMakeFiles/nvim.dir/__/mpack/mpack_core.c.o
CMakeFiles/nvim.dir/__/mpack/object.c.o
CMakeFiles/nvim.dir/__/mpack/rpc.c.o
CMakeFiles/nvim.dir/__/xdiff/xdiffi.c.o
CMakeFiles/nvim.dir/__/xdiff/xemit.c.o
CMakeFiles/nvim.dir/__/xdiff/xhistogram.c.o
CMakeFiles/nvim.dir/__/xdiff/xpatience.c.o
CMakeFiles/nvim.dir/__/xdiff/xprepare.c.o
CMakeFiles/nvim.dir/__/xdiff/xutils.c.o -o ../../bin/nvim
-Wl,-rpath,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-fstack-protector-strong
/gnu/store/l1s7piwdgv6gn5wyma8kv4jyb4fq50qm-lua5.1-luv-1.43.0-0/lib/libluv.so
/gnu/store/z31c2rnjg9djq915ls98pv0mhjbyf423-libuv-1.41.1/lib/libuv.so
-ldl -ldl -lrt -lpthread
/gnu/store/90s2wdqxbxmp8zzbg5ml6pv7k31wskg7-msgpack-3.3.0/lib/libmsgpackc.so
/gnu/store/h0h9f53kiwn19qz60lfgk71dnb9khgqx-libvterm-0.1.4/lib/libvterm.so
/gnu/store/m5nsirsx5ksl7shgvgfrg59sy9c8k015-libtermkey-0.22/lib/libtermkey.so
/gnu/store/ryy66y1fba3ffnzrhvdfgncxwplg84fs-unibilium-2.0.0/lib/libunibilium.so
/gnu/store/vrpll9ix25z91jl2y19lxdij429hndp8-tree-sitter-0.20.6/lib/libtree-sitter.so
-lpthread -lm -lutil
/gnu/store/n958kwq28ykfs64qrykdwns7cpgzl5j3-luajit-2.1.0-beta3/lib/libluajit-5.1.so
/gnu/store/90s2wdqxbxmp8zzbg5ml6pv7k31wskg7-msgpack-3.3.0/lib/libmsgpackc.so
/gnu/store/h0h9f53kiwn19qz60lfgk71dnb9khgqx-libvterm-0.1.4/lib/libvterm.so
/gnu/store/m5nsirsx5ksl7shgvgfrg59sy9c8k015-libtermkey-0.22/lib/libtermkey.so
/gnu/store/ryy66y1fba3ffnzrhvdfgncxwplg84fs-unibilium-2.0.0/lib/libunibilium.so
/gnu/store/vrpll9ix25z91jl2y19lxdij429hndp8-tree-sitter-0.20.6/lib/libtree-sitter.so
-lm -lutil
/gnu/store/n958kwq28ykfs64qrykdwns7cpgzl5j3-luajit-2.1.0-beta3/lib/libluajit-5.1.so
ld:
/gnu/store/l1s7piwdgv6gn5wyma8kv4jyb4fq50qm-lua5.1-luv-1.43.0-0/lib/libluv.so:
undefined reference to `uv_try_write2'

I have experimented a bit with the libuv versions and only using
1.41.1 this doesn't happen.

Regards,
--
Luis H. Higino
I
I
Imran Iqbal wrote on 18 May 2022 00:49
(name . Ludovic Courtès)(address . ludo@gnu.org)
50ac4dd6-33ed-1ae6-6050-8d4cbd892546@imraniqbal.org
Hi Luis,

Toggle quote (1 lines)
> I have introduced libuv-for-luv, updated it to version 1.43.0 and put it> as the new input for make-lua-luv
Was the input for neovim also updated (it links against libuv as well)

Toggle quote (3 lines)
> /gnu/store/l1s7piwdgv6gn5wyma8kv4jyb4fq50qm-lua5.1-luv-1.43.0-0/lib/libluv.so:
> undefined reference to `uv_try_write2'

Toggle quote (3 lines)
> I have experimented a bit with the libuv versions and only using 1.41.1
> this doesn't happen.

I think this makes sense as it would seem lua-luv is being built with
1.43 but neovim is being compiled against 1.41?

Cheers,
Imran
L
L
Luis Henrique Gomes Higino wrote on 18 May 2022 01:01
(name . Imran Iqbal)(address . imran@imraniqbal.org)
87zgjfwyne.fsf@gmail.com
Hi Imran,

Imran Iqbal <imran@imraniqbal.org> writes:

Toggle quote (8 lines)
>
> I think this makes sense as it would seem lua-luv is being built
> with
> 1.43 but neovim is being compiled against 1.41?
>
> Cheers,
> Imran

Oh lord, that was it -_-. I don't believe I missed this. I'll be
sending the new patch series in just a minute. Thank you very
much!

Regards,
--
Luis H. Higino
L
L
Luis Henrique Gomes Higino wrote on 18 May 2022 01:16
[PATCH v2 1/4] gnu: lua-luv: Update to 1.43.0-0.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
20220517231647.18336-1-luishenriquegh2701@gmail.com
* gnu/packages/libevent.scm (libuv-for-luv): New variable
* gnu/packages/lua.scm (lua-luv): Update to 1.43.0-0.
[inputs]: Change libuv to libuv-for-luv.
[native-inputs]: Update lua-compat-5.3 to 0.10.
---
gnu/packages/libevent.scm | 17 +++++++++++++++++
gnu/packages/lua.scm | 13 +++++++------
2 files changed, 24 insertions(+), 6 deletions(-)

Toggle diff (94 lines)
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index b3a5cd915e..d807315906 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -169,6 +170,22 @@ (define-public libuv-julia
(home-page "https://github.com/JuliaLang/libuv")
(properties '((hidden? . #t))))))
+(define-public libuv-for-luv
+ ;; When upgrading make-lua-luv, also upgrade this. Get the version from
+ ;; https://github.com/luvit/luv/blob/master/CMakeLists.txt
+ (package
+ (inherit libuv)
+ (name "libuv")
+ (version "1.43.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://dist.libuv.org/dist/v" version
+ "/libuv-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "194kwq3jfj9s628kzkchdca534rikjw0xiyas0cjbphqmsvjpmwh"))))
+ (properties '((hidden? . #t)))))
+
(define-public perl-anyevent
(package
(name "perl-anyevent")
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index ee4b7727e0..0662b2d064 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2021 Vinícius dos Santos Oliveira <vini.ipsmaker@gmail.com>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Brandon Lucas <br@ndon.dk>
+;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -785,7 +786,7 @@ (define-public lua5.2-lpeg
(define (make-lua-luv name lua)
(package
(name name)
- (version "1.32.0-0")
+ (version "1.43.0-0")
(source (origin
;; The release tarball includes the sources of libuv but does
;; not include the pkg-config files.
@@ -796,7 +797,7 @@ (define (make-lua-luv name lua)
(file-name (git-file-name name version))
(sha256
(base32
- "0c65c1lhbl0axnyks3910gjs0z0hw7w6jvl07g8kbpnbvfl4qajh"))))
+ "1yzi4bm845vl84wyv2qw4z1n1v285lgwm681swmp84brfy2s7czp"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are none
@@ -813,22 +814,22 @@ (define (make-lua-luv name lua)
(copy-recursively (assoc-ref inputs "lua-compat")
"lua-compat")
(setenv "CPATH"
- (string-append (getcwd) "/lua-compat:"
+ (string-append (getcwd) "/lua-compat/c-api:"
(or (getenv "CPATH") "")))
#t)))))
(inputs
- (list lua libuv))
+ (list lua libuv-for-luv))
(native-inputs
`(("lua-compat"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/keplerproject/lua-compat-5.3")
- (commit "daebe77a2f498817713df37f0bb316db1d82222f")))
+ (commit "v0.10")))
(file-name "lua-compat-5.3-checkout")
(sha256
(base32
- "02a14nvn7aggg1yikj9h3dcf8aqjbxlws1bfvqbpfxv9d5phnrpz"))))))
+ "1caxn228gx48g6kymp9w7kczgxcg0v0cd5ixsx8viybzkd60dcn4"))))))
(home-page "https://github.com/luvit/luv/")
(synopsis "Libuv bindings for Lua")
(description
--
2.36.0
L
L
Luis Henrique Gomes Higino wrote on 18 May 2022 01:16
[PATCH v2 2/4] gnu: lua-luv: Use gexps.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
20220517231647.18336-2-luishenriquegh2701@gmail.com
* gnu/packages/lua.scm (lua-luv)[arguments]: Rewrite using gexps.
---
gnu/packages/lua.scm | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)

Toggle diff (47 lines)
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 0662b2d064..afebc6bc1f 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -800,23 +800,23 @@ (define (make-lua-luv name lua)
"1yzi4bm845vl84wyv2qw4z1n1v285lgwm681swmp84brfy2s7czp"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; there are none
- #:configure-flags
- '("-DWITH_LUA_ENGINE=Lua"
- "-DWITH_SHARED_LIBUV=On"
- "-DBUILD_MODULE=Off"
- "-DBUILD_SHARED_LIBS=On"
- "-DLUA_BUILD_TYPE=System")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'copy-lua-compat
- (lambda* (#:key inputs #:allow-other-keys)
- (copy-recursively (assoc-ref inputs "lua-compat")
- "lua-compat")
- (setenv "CPATH"
- (string-append (getcwd) "/lua-compat/c-api:"
- (or (getenv "CPATH") "")))
- #t)))))
+ (list #:tests? #f ; there are none
+ #:configure-flags
+ #~'("-DWITH_LUA_ENGINE=Lua"
+ "-DWITH_SHARED_LIBUV=On"
+ "-DBUILD_MODULE=Off"
+ "-DBUILD_SHARED_LIBS=On"
+ "-DLUA_BUILD_TYPE=System")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-lua-compat
+ (lambda* _
+ (copy-recursively #+(this-package-native-input "lua-compat")
+ "lua-compat")
+ (setenv "CPATH"
+ (string-append (getcwd) "/lua-compat/c-api:"
+ (or (getenv "CPATH") "")))
+ #t)))))
(inputs
(list lua libuv-for-luv))
(native-inputs
--
2.36.0
L
L
Luis Henrique Gomes Higino wrote on 18 May 2022 01:16
[PATCH v2 3/4] gnu: neovim: Update to 0.7.0.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
20220517231647.18336-3-luishenriquegh2701@gmail.com
* gnu/packages/vim.scm (neovim): Update to 0.7.0.
---
gnu/packages/vim.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index bb459933b0..21a22570ad 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -658,7 +658,7 @@ (define-public neovim-syntastic
(define-public neovim
(package
(name "neovim")
- (version "0.6.1")
+ (version "0.7.0")
(source
(origin
(method git-fetch)
@@ -667,7 +667,7 @@ (define-public neovim
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "10p6lg5yv9n6wcwdprwvvi56dfcm4wsj54nm0invyx3mhf7374lx"))))
+ (base32 "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((srfi srfi-26)
@@ -713,7 +713,7 @@ (define-public neovim
(("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
#t)))))
(inputs
- `(("libuv" ,libuv)
+ `(("libuv" ,libuv-for-luv)
("msgpack" ,msgpack)
("libtermkey" ,libtermkey)
("libvterm" ,libvterm)
--
2.36.0
L
L
Luis Henrique Gomes Higino wrote on 18 May 2022 01:16
[PATCH v2 4/4] gnu: neovim: Use new style.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
20220517231647.18336-4-luishenriquegh2701@gmail.com
* gnu/packages/vim.scm (neovim): Use new style.
[source]: Rewrite using gexps.
[arguments]: Rewrite using gexps.
[inputs and native-inputs]: Remove input labels.
[description]: Run `guix style`.
---
gnu/packages/vim.scm | 153 ++++++++++++++++++++++---------------------
1 file changed, 78 insertions(+), 75 deletions(-)

Toggle diff (177 lines)
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 21a22570ad..0dfaa45813 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -659,84 +659,86 @@ (define-public neovim
(package
(name "neovim")
(version "0.7.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/neovim/neovim")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g"))))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/neovim/neovim")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g"))))
(build-system cmake-build-system)
(arguments
- `(#:modules ((srfi srfi-26)
- (guix build cmake-build-system)
- (guix build utils))
- #:configure-flags
- (list ,@(if (member (if (%current-target-system)
- (gnu-triplet->nix-system (%current-target-system))
- (%current-system))
- (package-supported-systems luajit))
- '()
- '("-DPREFER_LUA:BOOL=YES")))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-lua-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((lua-version "5.1")
- (lua-cpath-spec
- (lambda (prefix)
- (let ((path (string-append prefix "/lib/lua/" lua-version)))
- (string-append path "/?.so;" path "/?/?.so"))))
- (lua-path-spec
- (lambda (prefix)
- (let ((path (string-append prefix "/share/lua/" lua-version)))
- (string-append path "/?.lua;" path "/?/?.lua"))))
- (lua-inputs (map (cute assoc-ref inputs <>)
- '("lua"
- "lua-luv"
- "lua-lpeg"
- "lua-bitop"
- "lua-libmpack"))))
- (setenv "LUA_PATH"
- (string-join (map lua-path-spec lua-inputs) ";"))
- (setenv "LUA_CPATH"
- (string-join (map lua-cpath-spec lua-inputs) ";"))
- #t)))
- (add-after 'unpack 'prevent-embedding-gcc-store-path
- (lambda _
- ;; nvim remembers its build options, including the compiler with
- ;; its complete path. This adds gcc to the closure of nvim, which
- ;; doubles its size. We remove the refirence here.
- (substitute* "cmake/GetCompileFlags.cmake"
- (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
- #t)))))
- (inputs
- `(("libuv" ,libuv-for-luv)
- ("msgpack" ,msgpack)
- ("libtermkey" ,libtermkey)
- ("libvterm" ,libvterm)
- ("unibilium" ,unibilium)
- ("jemalloc" ,jemalloc)
- ("lua" ,(if (member (if (%current-target-system)
- (gnu-triplet->nix-system (%current-target-system))
- (%current-system))
- (package-supported-systems luajit))
- luajit
- lua-5.1))
- ("lua-luv" ,lua5.1-luv)
- ("lua-lpeg" ,lua5.1-lpeg)
- ("lua-bitop" ,lua5.1-bitop)
- ("lua-libmpack" ,lua5.1-libmpack)
- ("tree-sitter" ,tree-sitter)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)
- ("gperf" ,gperf)))
+ (list #:modules
+ '((srfi srfi-26) (guix build cmake-build-system)
+ (guix build utils))
+ #:configure-flags
+ #~(list #$@(if (member (if (%current-target-system)
+ (gnu-triplet->nix-system (%current-target-system))
+ (%current-system))
+ (package-supported-systems luajit))
+ '()
+ '("-DPREFER_LUA:BOOL=YES")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-lua-paths
+ (lambda* _
+ (let* ((lua-version "5.1")
+ (lua-cpath-spec (lambda (prefix)
+ (let ((path (string-append
+ prefix
+ "/lib/lua/"
+ lua-version)))
+ (string-append
+ path
+ "/?.so;"
+ path
+ "/?/?.so"))))
+ (lua-path-spec (lambda (prefix)
+ (let ((path (string-append prefix
+ "/share/lua/"
+ lua-version)))
+ (string-append path "/?.lua;"
+ path "/?/?.lua"))))
+ (lua-inputs (list (or #$(this-package-input "lua")
+ #$(this-package-input "luajit"))
+ #$lua5.1-luv
+ #$lua5.1-lpeg
+ #$lua5.1-bitop
+ #$lua5.1-libmpack)))
+ (setenv "LUA_PATH"
+ (string-join (map lua-path-spec lua-inputs) ";"))
+ (setenv "LUA_CPATH"
+ (string-join (map lua-cpath-spec lua-inputs) ";"))
+ #t)))
+ (add-after 'unpack 'prevent-embedding-gcc-store-path
+ (lambda _
+ (substitute* "cmake/GetCompileFlags.cmake"
+ (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
+ #t)))))
+ (inputs (list libuv-for-luv
+ msgpack
+ libtermkey
+ libvterm
+ unibilium
+ jemalloc
+ (if (member (if (%current-target-system)
+ (gnu-triplet->nix-system (%current-target-system))
+ (%current-system))
+ (package-supported-systems luajit))
+ luajit
+ lua-5.1)
+ lua5.1-luv
+ lua5.1-lpeg
+ lua5.1-bitop
+ lua5.1-libmpack
+ tree-sitter))
+ (native-inputs (list pkg-config gettext-minimal gperf))
(home-page "https://neovim.io")
(synopsis "Fork of vim focused on extensibility and agility")
- (description "Neovim is a project that seeks to aggressively
+ (description
+ "Neovim is a project that seeks to aggressively
refactor Vim in order to:
@itemize
@@ -744,7 +746,8 @@ (define-public neovim
@item Split the work between multiple developers
@item Enable advanced external UIs without modifications to the core
@item Improve extensibility with a new plugin architecture
-@end itemize\n")
+@end itemize
+")
;; Neovim is licensed under the terms of the Apache 2.0 license,
;; except for parts that were contributed under the Vim license.
(license (list license:asl2.0 license:vim))))
--
2.36.0
M
M
Maxime Devos wrote on 18 May 2022 13:09
31a8ebc34c7224c2113533e8a50c4f4001c1131d.camel@telenet.be
Luis Henrique Gomes Higino schreef op di 17-05-2022 om 20:16 [-0300]:
Toggle quote (14 lines)
> -         (add-after 'unpack 'prevent-embedding-gcc-store-path
> -           (lambda _
> -             ;; nvim remembers its build options, including the compiler with
> -             ;; its complete path.  This adds gcc to the closure of nvim, which
> -             ;; doubles its size.  We remove the refirence here.
> -             (substitute* "cmake/GetCompileFlags.cmake"
> -               (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
> -             #t)))))
> [...]
> +               (add-after 'unpack 'prevent-embedding-gcc-store-path
> +                 (lambda _
> +                   (substitute* "cmake/GetCompileFlags.cmake"
> +                     (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))

You dropped a comment here ("guix style" is imperfect)

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYoTT0xccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7qOuAQCE4mllBRBHmq/Pgj15SYBhjhIU
ZrMkWIIQr2MeUvutnQD8C6vyz4IQZXsYkHcHrcFI8JyENRtjQqPF4rFLaXZGigg=
=BDEs
-----END PGP SIGNATURE-----


L
L
Luis Henrique Gomes Higino wrote on 18 May 2022 14:06
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 55045@debbugs.gnu.org)
87v8u3vybu.fsf@gmail.com
HI Maxime,
Maxime Devos <maximedevos@telenet.be> writes:
Toggle quote (29 lines)
> [[PGP Signed Part:Undecided]]
> Luis Henrique Gomes Higino schreef op di 17-05-2022 om 20:16
> [-0300]:
>> -         (add-after 'unpack 'prevent-embedding-gcc-store-path
>> -           (lambda _
>> -             ;; nvim remembers its build options, including
>> the compiler with
>> -             ;; its complete path.  This adds gcc to the
>> closure of nvim, which
>> -             ;; doubles its size.  We remove the refirence
>> here.
>> -             (substitute* "cmake/GetCompileFlags.cmake"
>> -               (("\\$\\{CMAKE_C_COMPILER\\}")
>> "/gnu/store/.../bin/gcc"))
>> -             #t)))))
>> [...]
>> +               (add-after 'unpack
>> 'prevent-embedding-gcc-store-path
>> +                 (lambda _
>> +                   (substitute* "cmake/GetCompileFlags.cmake"
>> +                     (("\\$\\{CMAKE_C_COMPILER\\}")
>> "/gnu/store/.../bin/gcc"))
>
> You dropped a comment here ("guix style" is imperfect)
>
> Greetings,
> Maxime.
>
> [[End of PGP Signed Part]]
thank you for spotting it!
Regards,
--
Luis H. Higino
L
L
Luis Henrique Gomes Higino wrote on 18 May 2022 15:32
[PATCH v3 1/4] gnu: lua-luv: Update to 1.43.0-0.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
20220518133225.30983-1-luishenriquegh2701@gmail.com
* gnu/packages/libevent.scm (libuv-for-luv): New variable
* gnu/packages/lua.scm (lua-luv): Update to 1.43.0-0.
[inputs]: Change libuv to libuv-for-luv.
[native-inputs]: Update lua-compat-5.3 to 0.10.
---
gnu/packages/libevent.scm | 17 +++++++++++++++++
gnu/packages/lua.scm | 13 +++++++------
2 files changed, 24 insertions(+), 6 deletions(-)

Toggle diff (94 lines)
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index b3a5cd915e..d807315906 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -169,6 +170,22 @@ (define-public libuv-julia
(home-page "https://github.com/JuliaLang/libuv")
(properties '((hidden? . #t))))))
+(define-public libuv-for-luv
+ ;; When upgrading make-lua-luv, also upgrade this. Get the version from
+ ;; https://github.com/luvit/luv/blob/master/CMakeLists.txt
+ (package
+ (inherit libuv)
+ (name "libuv")
+ (version "1.43.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://dist.libuv.org/dist/v" version
+ "/libuv-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "194kwq3jfj9s628kzkchdca534rikjw0xiyas0cjbphqmsvjpmwh"))))
+ (properties '((hidden? . #t)))))
+
(define-public perl-anyevent
(package
(name "perl-anyevent")
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index ee4b7727e0..0662b2d064 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2021 Vinícius dos Santos Oliveira <vini.ipsmaker@gmail.com>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Brandon Lucas <br@ndon.dk>
+;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -785,7 +786,7 @@ (define-public lua5.2-lpeg
(define (make-lua-luv name lua)
(package
(name name)
- (version "1.32.0-0")
+ (version "1.43.0-0")
(source (origin
;; The release tarball includes the sources of libuv but does
;; not include the pkg-config files.
@@ -796,7 +797,7 @@ (define (make-lua-luv name lua)
(file-name (git-file-name name version))
(sha256
(base32
- "0c65c1lhbl0axnyks3910gjs0z0hw7w6jvl07g8kbpnbvfl4qajh"))))
+ "1yzi4bm845vl84wyv2qw4z1n1v285lgwm681swmp84brfy2s7czp"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are none
@@ -813,22 +814,22 @@ (define (make-lua-luv name lua)
(copy-recursively (assoc-ref inputs "lua-compat")
"lua-compat")
(setenv "CPATH"
- (string-append (getcwd) "/lua-compat:"
+ (string-append (getcwd) "/lua-compat/c-api:"
(or (getenv "CPATH") "")))
#t)))))
(inputs
- (list lua libuv))
+ (list lua libuv-for-luv))
(native-inputs
`(("lua-compat"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/keplerproject/lua-compat-5.3")
- (commit "daebe77a2f498817713df37f0bb316db1d82222f")))
+ (commit "v0.10")))
(file-name "lua-compat-5.3-checkout")
(sha256
(base32
- "02a14nvn7aggg1yikj9h3dcf8aqjbxlws1bfvqbpfxv9d5phnrpz"))))))
+ "1caxn228gx48g6kymp9w7kczgxcg0v0cd5ixsx8viybzkd60dcn4"))))))
(home-page "https://github.com/luvit/luv/")
(synopsis "Libuv bindings for Lua")
(description
--
2.36.0
L
L
Luis Henrique Gomes Higino wrote on 18 May 2022 15:32
[PATCH v3 2/4] gnu: lua-luv: Use gexps.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
20220518133225.30983-2-luishenriquegh2701@gmail.com
* gnu/packages/lua.scm (lua-luv)[arguments]: Rewrite using gexps.
---
gnu/packages/lua.scm | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)

Toggle diff (47 lines)
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 0662b2d064..afebc6bc1f 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -800,23 +800,23 @@ (define (make-lua-luv name lua)
"1yzi4bm845vl84wyv2qw4z1n1v285lgwm681swmp84brfy2s7czp"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; there are none
- #:configure-flags
- '("-DWITH_LUA_ENGINE=Lua"
- "-DWITH_SHARED_LIBUV=On"
- "-DBUILD_MODULE=Off"
- "-DBUILD_SHARED_LIBS=On"
- "-DLUA_BUILD_TYPE=System")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'copy-lua-compat
- (lambda* (#:key inputs #:allow-other-keys)
- (copy-recursively (assoc-ref inputs "lua-compat")
- "lua-compat")
- (setenv "CPATH"
- (string-append (getcwd) "/lua-compat/c-api:"
- (or (getenv "CPATH") "")))
- #t)))))
+ (list #:tests? #f ; there are none
+ #:configure-flags
+ #~'("-DWITH_LUA_ENGINE=Lua"
+ "-DWITH_SHARED_LIBUV=On"
+ "-DBUILD_MODULE=Off"
+ "-DBUILD_SHARED_LIBS=On"
+ "-DLUA_BUILD_TYPE=System")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-lua-compat
+ (lambda* _
+ (copy-recursively #+(this-package-native-input "lua-compat")
+ "lua-compat")
+ (setenv "CPATH"
+ (string-append (getcwd) "/lua-compat/c-api:"
+ (or (getenv "CPATH") "")))
+ #t)))))
(inputs
(list lua libuv-for-luv))
(native-inputs
--
2.36.0
L
L
Luis Henrique Gomes Higino wrote on 18 May 2022 15:32
[PATCH v3 3/4] gnu: neovim: Update to 0.7.0.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
20220518133225.30983-3-luishenriquegh2701@gmail.com
* gnu/packages/vim.scm (neovim): Update to 0.7.0.
---
gnu/packages/vim.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index bb459933b0..21a22570ad 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -658,7 +658,7 @@ (define-public neovim-syntastic
(define-public neovim
(package
(name "neovim")
- (version "0.6.1")
+ (version "0.7.0")
(source
(origin
(method git-fetch)
@@ -667,7 +667,7 @@ (define-public neovim
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "10p6lg5yv9n6wcwdprwvvi56dfcm4wsj54nm0invyx3mhf7374lx"))))
+ (base32 "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((srfi srfi-26)
@@ -713,7 +713,7 @@ (define-public neovim
(("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
#t)))))
(inputs
- `(("libuv" ,libuv)
+ `(("libuv" ,libuv-for-luv)
("msgpack" ,msgpack)
("libtermkey" ,libtermkey)
("libvterm" ,libvterm)
--
2.36.0
L
L
Luis Henrique Gomes Higino wrote on 18 May 2022 15:32
[PATCH v3 4/4] gnu: neovim: Use new style.
(address . 55045@debbugs.gnu.org)(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
20220518133225.30983-4-luishenriquegh2701@gmail.com
* gnu/packages/vim.scm (neovim): Use new style.
[source]: Rewrite using gexps.
[arguments]: Rewrite using gexps.
[inputs and native-inputs]: Remove input labels.
[description]: Run `guix style`.
---
gnu/packages/vim.scm | 156 ++++++++++++++++++++++---------------------
1 file changed, 81 insertions(+), 75 deletions(-)

Toggle diff (180 lines)
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 21a22570ad..caf9ea85b3 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -659,84 +659,89 @@ (define-public neovim
(package
(name "neovim")
(version "0.7.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/neovim/neovim")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g"))))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/neovim/neovim")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1m7xmry66pn27gvk7qj9di83xa1h7zjp4c6ygnf218pqhr08x06g"))))
(build-system cmake-build-system)
(arguments
- `(#:modules ((srfi srfi-26)
- (guix build cmake-build-system)
- (guix build utils))
- #:configure-flags
- (list ,@(if (member (if (%current-target-system)
- (gnu-triplet->nix-system (%current-target-system))
- (%current-system))
- (package-supported-systems luajit))
- '()
- '("-DPREFER_LUA:BOOL=YES")))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-lua-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((lua-version "5.1")
- (lua-cpath-spec
- (lambda (prefix)
- (let ((path (string-append prefix "/lib/lua/" lua-version)))
- (string-append path "/?.so;" path "/?/?.so"))))
- (lua-path-spec
- (lambda (prefix)
- (let ((path (string-append prefix "/share/lua/" lua-version)))
- (string-append path "/?.lua;" path "/?/?.lua"))))
- (lua-inputs (map (cute assoc-ref inputs <>)
- '("lua"
- "lua-luv"
- "lua-lpeg"
- "lua-bitop"
- "lua-libmpack"))))
- (setenv "LUA_PATH"
- (string-join (map lua-path-spec lua-inputs) ";"))
- (setenv "LUA_CPATH"
- (string-join (map lua-cpath-spec lua-inputs) ";"))
- #t)))
- (add-after 'unpack 'prevent-embedding-gcc-store-path
- (lambda _
- ;; nvim remembers its build options, including the compiler with
- ;; its complete path. This adds gcc to the closure of nvim, which
- ;; doubles its size. We remove the refirence here.
- (substitute* "cmake/GetCompileFlags.cmake"
- (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
- #t)))))
- (inputs
- `(("libuv" ,libuv-for-luv)
- ("msgpack" ,msgpack)
- ("libtermkey" ,libtermkey)
- ("libvterm" ,libvterm)
- ("unibilium" ,unibilium)
- ("jemalloc" ,jemalloc)
- ("lua" ,(if (member (if (%current-target-system)
- (gnu-triplet->nix-system (%current-target-system))
- (%current-system))
- (package-supported-systems luajit))
- luajit
- lua-5.1))
- ("lua-luv" ,lua5.1-luv)
- ("lua-lpeg" ,lua5.1-lpeg)
- ("lua-bitop" ,lua5.1-bitop)
- ("lua-libmpack" ,lua5.1-libmpack)
- ("tree-sitter" ,tree-sitter)))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("gettext" ,gettext-minimal)
- ("gperf" ,gperf)))
+ (list #:modules
+ '((srfi srfi-26) (guix build cmake-build-system)
+ (guix build utils))
+ #:configure-flags
+ #~(list #$@(if (member (if (%current-target-system)
+ (gnu-triplet->nix-system (%current-target-system))
+ (%current-system))
+ (package-supported-systems luajit))
+ '()
+ '("-DPREFER_LUA:BOOL=YES")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-lua-paths
+ (lambda* _
+ (let* ((lua-version "5.1")
+ (lua-cpath-spec (lambda (prefix)
+ (let ((path (string-append
+ prefix
+ "/lib/lua/"
+ lua-version)))
+ (string-append
+ path
+ "/?.so;"
+ path
+ "/?/?.so"))))
+ (lua-path-spec (lambda (prefix)
+ (let ((path (string-append prefix
+ "/share/lua/"
+ lua-version)))
+ (string-append path "/?.lua;"
+ path "/?/?.lua"))))
+ (lua-inputs (list (or #$(this-package-input "lua")
+ #$(this-package-input "luajit"))
+ #$lua5.1-luv
+ #$lua5.1-lpeg
+ #$lua5.1-bitop
+ #$lua5.1-libmpack)))
+ (setenv "LUA_PATH"
+ (string-join (map lua-path-spec lua-inputs) ";"))
+ (setenv "LUA_CPATH"
+ (string-join (map lua-cpath-spec lua-inputs) ";"))
+ #t)))
+ (add-after 'unpack 'prevent-embedding-gcc-store-path
+ (lambda _
+ ;; nvim remembers its build options, including the compiler with
+ ;; its complete path. This adds gcc to the closure of nvim, which
+ ;; doubles its size. We remove the refirence here.
+ (substitute* "cmake/GetCompileFlags.cmake"
+ (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
+ #t)))))
+ (inputs (list libuv-for-luv
+ msgpack
+ libtermkey
+ libvterm
+ unibilium
+ jemalloc
+ (if (member (if (%current-target-system)
+ (gnu-triplet->nix-system (%current-target-system))
+ (%current-system))
+ (package-supported-systems luajit))
+ luajit
+ lua-5.1)
+ lua5.1-luv
+ lua5.1-lpeg
+ lua5.1-bitop
+ lua5.1-libmpack
+ tree-sitter))
+ (native-inputs (list pkg-config gettext-minimal gperf))
(home-page "https://neovim.io")
(synopsis "Fork of vim focused on extensibility and agility")
- (description "Neovim is a project that seeks to aggressively
+ (description
+ "Neovim is a project that seeks to aggressively
refactor Vim in order to:
@itemize
@@ -744,7 +749,8 @@ (define-public neovim
@item Split the work between multiple developers
@item Enable advanced external UIs without modifications to the core
@item Improve extensibility with a new plugin architecture
-@end itemize\n")
+@end itemize
+")
;; Neovim is licensed under the terms of the Apache 2.0 license,
;; except for parts that were contributed under the Vim license.
(license (list license:asl2.0 license:vim))))
--
2.36.0
L
L
Luis Henrique Gomes Higino wrote on 18 May 2022 15:35
About trailing #t
(address . 55045@debbugs.gnu.org)
87r14rvu04.fsf@gmail.com
Hi guix,

I have seen recently some commits removing the trailing #t from
build phases. Is that supposed to be how build phases are written
from now on? If so, I'll be rewritting these patches accordingly
(maybe I should've asked this before sending the v3 series ?).

Regards,
--
Luis H. Higino
L
L
Ludovic Courtès wrote on 18 May 2022 20:12
control message for bug #55045
(address . control@debbugs.gnu.org)
87r14q1zhl.fsf@gnu.org
merge 55045 54984
quit
L
L
Ludovic Courtès wrote on 18 May 2022 20:12
Re: bug#55045: [PATCH] update neovim to 0.7.0
(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)
87tu9m1zik.fsf_-_@gnu.org
Hello,

I applied v3 of all four patches. Thanks, and thanks to Maxime for
reviewing!

Ludo’.
Closed
T
T
Tobias Geerinckx-Rice wrote on 18 May 2022 20:33
Re: [bug#55045] About trailing #t
(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)(address . 55045@debbugs.gnu.org)
1554381981a59ef5b005af838faaee85@tobias.gr
On 2022-05-18 15:35, Luis Henrique Gomes Higino wrote:
Toggle quote (4 lines)
> I have seen recently some commits removing the trailing #t from build
> phases. Is that supposed to be how build phases are written from now
> on?

Yep. If you see any warnings to the contrary you may ignore them as
obsolete.

Toggle quote (3 lines)
> If so, I'll be rewritting these patches accordingly (maybe I
> should've asked this before sending the v3 series ?).

In such minor cases the committer often makes the change themselves
before pushing. Doing so yourself in a v3 is fine too — your call!

Kind regards,

T G-R

Sent from a Web browser. Excuse or enjoy my brevity.
?