[PATCH 0/6] vlang 0.2 update

  • Open
  • quality assurance status badge
Details
4 participants
  • Leo Famulari
  • Christopher Baines
  • Maxim Cournoyer
  • Ryan Prior
Owner
unassigned
Submitted by
Ryan Prior
Severity
normal
R
R
Ryan Prior wrote on 1 Jan 2021 20:23
(address . guix-patches@gnu.org)
20210101192319.23494-1-rprior@protonmail.com
Hi Guix! The vlang compiler had its 0.2 release recently and I've been working on improving the quality of our package as well. This patch series has 4 exciting improvements:

1. The compiler is updated to 0.2, which already includes a number of changes to the build system to make things work better for Guix users.
2. Three vendored dependencies are factored out into their own Guix packages: tiny-bignu, cJSON, and wyhash.
3. A number of tests that were failing have been patched to succeed. The number of tests we skip is down to three.
4. The v tools now work out of the box, with some exceptions such as the REPL that rely on `cc`.

I am continuing the work to move the last of the vendored dependencies into their own packages, get all the tests passing, and get us to a working v repl. But this series already gets us a lot closer to where I want to be.

This patch series also relates to issues 43821 and 44978.

Cheers,
Ryan

Ryan Prior (6):
gnu: Add wyhash.
gnu: vlang: Update to 0.2.
gnu: vlang: Use system tiny-bignum.
gnu: vlang: Use system cJSON.
gnu: vlang: Use system wyhash.
gnu: vlang: Fix v tools.

gnu/local.mk | 1 +
gnu/packages/datastructures.scm | 34 ++++-
.../vlang-accommodate-timestamps.patch | 50 ++++++++
gnu/packages/vlang.scm | 119 ++++++++++++++----
4 files changed, 178 insertions(+), 26 deletions(-)
create mode 100644 gnu/packages/patches/vlang-accommodate-timestamps.patch

--
2.29.2
R
R
Ryan Prior wrote on 1 Jan 2021 20:27
[PATCH 2/6] gnu: vlang: Update to 0.2.
(address . 45601@debbugs.gnu.org)
20210101192713.23655-2-rprior@protonmail.com
- Moves the cc-patching logic out of check into an explicit "patch-cc" stage.
- Adds "build-tools" stage to pre-build the included tools.
- Sets native-search-paths.
- Fixes many tests.
---
gnu/packages/vlang.scm | 84 +++++++++++++++++++++++++++++++-----------
1 file changed, 62 insertions(+), 22 deletions(-)

Toggle diff (162 lines)
diff --git a/gnu/packages/vlang.scm b/gnu/packages/vlang.scm
index e0b2e7bcfc..212862cb1d 100644
--- a/gnu/packages/vlang.scm
+++ b/gnu/packages/vlang.scm
@@ -20,9 +20,13 @@
(define-module (gnu packages vlang)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages node)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages valgrind)
+ #:use-module (gnu packages version-control)
+ #:use-module (gnu packages javascript)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
#:use-module (guix git-download)
@@ -30,10 +34,21 @@
#:use-module (guix utils)
#:use-module (guix packages))
+(define markdown-origin
+ (let ((markdown-version "1ccfbcba945b649b61738b9c0455d31cf99564b2"))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vlang/markdown")
+ (commit markdown-version)))
+ (file-name (git-file-name "vlang-markdown" markdown-version))
+ (sha256
+ (base32 "0s982qiwy4s9y07x9fsy4yn642schplhp9hrw2libg2bx4sw43as")))))
+
(define-public vlang
(package
(name "vlang")
- (version "0.1.29")
+ (version "0.2")
(source
(origin
(method git-fetch)
@@ -42,7 +57,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1rqi7cah5nq8aggrib9xvdpfjxq20li91svv0w9yny6nn1ag7snx"))))
+ (base32 "1x2sf2j6xl11kjvv0i0anjqwsfb1la11xr7yhdnbix9808442wm2"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -61,42 +76,60 @@
(lambda _
(substitute* "Makefile"
(("rm -rf") "true")
- (("v self") (string-append "v -cc " ,(cc-for-target) " cmd/v")))
+ (("--branch") ""))))
+ (add-before 'build 'patch-cc
+ (lambda _
+ (let* ((bin "tmp/bin")
+ (gcc (which "gcc")))
+ (mkdir-p bin)
+ (symlink gcc (string-append bin "/cc"))
+ (setenv "PATH" (string-append bin ":" (getenv "PATH"))))
+ #t))
+ (add-after 'build 'build-tools
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "vmodules/markdown") "vmodules/markdown")
+ (setenv "VMODULES" (string-append (getcwd) "/vmodules"))
+ (invoke "./v" "build-tools" "-v")
#t))
- (add-before 'check 'delete-failing-tests
- ;; XXX As always, these should eventually be fixed and run.
+ (add-before 'check 'fix-or-delete-failing-tests
(lambda _
+ ;; The x64 tests copy .vv files into the test directory and then
+ ;; write to them, so we need to make them writeable.
+ (for-each (lambda (vv) (chmod vv #o644))
+ (find-files "vlib/v/gen/x64/tests/" "\\.vv$"))
+ ;; The process test explicitly calls "/bin/sleep" and "/bin/date"
+ (substitute* "vlib/os/process_test.v"
+ (("/bin/sleep") (which "sleep"))
+ (("/bin/date") (which "date")))
+ ;; The valgrind test can't find `cc' even though it's on PATH, so
+ ;; we pass it as an explicit argument.
+ (substitute* "vlib/v/tests/valgrind/valgrind_test.v"
+ (("\\$vexe") "$vexe -cc gcc"))
(for-each delete-file
- '("vlib/v/gen/x64/tests/x64_test.v"
- "vlib/v/tests/repl/repl_test.v"
- "vlib/v/tests/valgrind/valgrind_test.v"
- "vlib/v/tests/valgrind/strings_and_arrays.vv"
+ '(;; XXX As always, these should eventually be fixed and run.
+ "vlib/vweb/tests/vweb_test.v"
"vlib/v/tests/live_test.v"
- "vlib/net/websocket/ws_test.v"))
+ "vlib/v/tests/repl/repl_test.v"))
#t))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
- (let* ((bin "tmp/bin")
- (gcc (which "gcc")))
- (when tests?
- (mkdir-p bin)
- (symlink gcc (string-append bin "/cc"))
- (setenv "PATH" (string-append bin ":" (getenv "PATH")))
- (invoke "./v" "test-fixed")))
+ (when tests?
+ (invoke "./v" "test-fixed"))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
- (tools (string-append bin "/cmd/tools"))
+ (cmd (string-append bin "/cmd"))
(thirdparty (string-append bin "/thirdparty"))
(vlib (string-append bin "/vlib"))
+ (vmodules (string-append bin "/vmodules"))
(vmod (string-append bin "/v.mod")))
(mkdir-p bin)
(copy-file "./v" (string-append bin "/v"))
;; v requires as of 0.1.27 that these other components are in the
;; same directory. In a future release we may be able to move
;; these into other output folders.
- (copy-recursively "cmd/tools" tools)
+ (copy-recursively "cmd" cmd)
(copy-recursively "thirdparty" thirdparty)
(copy-recursively "vlib" vlib)
(copy-file "v.mod" vmod))
@@ -107,7 +140,7 @@
`(("vc"
;; Versions are not consistently tagged, but the matching commit will
;; probably have ‘v0.x.y’ in the commit message.
- ,(let ((vc-version "b01d0fcda4b55861baa4be82e307cca4834b1641"))
+ ,(let ((vc-version "047460a4ae5f4a1ba8c31dc50ec5e50ebe80b7f6"))
;; v bootstraps from generated c source code from a dedicated
;; repository. It's readable, as generated source goes, and not at all
;; obfuscated, and it's about 15kb. The original source written in
@@ -121,13 +154,20 @@
(commit vc-version)))
(file-name (git-file-name "vc" vc-version))
(sha256
- (base32 "052gp5q2k31r3lci3rx4k0vy0vjdjva64xvrbbihn8lgmw63lc9f")))))
+ (base32 "1wlr9yzxz4bc7pbzbplzhjjr9sz5mwy2k2z5d3vwsnz56g245146")))))
+ ("vmodules/markdown" ,markdown-origin)
;; For the tests.
("libx11" ,libx11)
("node" ,node)
("openssl" ,openssl)
- ("sqlite" ,sqlite)))
+ ("ps" ,procps)
+ ("sqlite" ,sqlite)
+ ("valgrind" ,valgrind)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "VMODULES")
+ (files '("bin/")))))
(home-page "https://vlang.io/")
(synopsis "Compiler for the V programming language")
(description
--
2.29.2
R
R
Ryan Prior wrote on 1 Jan 2021 20:27
[PATCH 1/6] gnu: Add wyhash.
(address . 45601@debbugs.gnu.org)
20210101192713.23655-1-rprior@protonmail.com
* gnu/packages/datastructures.scm (wyhash): New variable.
---
gnu/packages/datastructures.scm | 34 ++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)

Toggle diff (54 lines)
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index 2911a0c550..49e363d09e 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,7 +34,38 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
- #:use-module (guix build-system meson))
+ #:use-module (guix build-system meson)
+ #:use-module (guix build-system trivial))
+
+(define-public wyhash
+ (package
+ (name "wyhash")
+ (version "5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wangyi-fudan/wyhash")
+ (commit (string-append "wyhash_v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03ljs5iw9zrm3bydwggjvpwrcwmsd75h3dv1j4am4hw3h22cjdjc"))))
+ (build-system trivial-build-system) ;; source-only package
+ (arguments
+ '(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((dest (string-append (assoc-ref %outputs "out") "/include")))
+ (mkdir-p dest)
+ (chdir (assoc-ref %build-inputs "source"))
+ (install-file "wyhash.h" dest))
+ #t)))
+ (home-page "https://github.com/wangyi-fudan/wyhash")
+ (synopsis "Embeddable hash function and random number generator.")
+ (description "This package provides a portable hash function and random
+number generator suitable for use in data structures. Provided by default in
+Zig, V, and Nim programming language standard libraries.")
+ (license license:unlicense)))
(define-public gdsl
(package
--
2.29.2
R
R
Ryan Prior wrote on 1 Jan 2021 20:27
[PATCH 3/6] gnu: vlang: Use system tiny-bignum.
(address . 45601@debbugs.gnu.org)
20210101192713.23655-3-rprior@protonmail.com
* gnu/packages/vlang.scm (vlang): Update to use system tiny-bignum.
---
gnu/packages/vlang.scm | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)

Toggle diff (56 lines)
diff --git a/gnu/packages/vlang.scm b/gnu/packages/vlang.scm
index 212862cb1d..a2f6e93945 100644
--- a/gnu/packages/vlang.scm
+++ b/gnu/packages/vlang.scm
@@ -21,6 +21,7 @@
(define-module (gnu packages vlang)
#:use-module (gnu packages glib)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages node)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
@@ -57,7 +58,12 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1x2sf2j6xl11kjvv0i0anjqwsfb1la11xr7yhdnbix9808442wm2"))))
+ (base32 "1x2sf2j6xl11kjvv0i0anjqwsfb1la11xr7yhdnbix9808442wm2"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Eventually remove the whole thirdparty directory.
+ (delete-file-recursively "thirdparty/bignum")))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -72,11 +78,14 @@
#:phases
(modify-phases %standard-phases
(delete 'configure)
- (add-before 'build 'patch-makefile
- (lambda _
+ (add-before 'build 'patch-files
+ (lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makefile"
(("rm -rf") "true")
- (("--branch") ""))))
+ (("--branch") ""))
+ (substitute* "vlib/math/big/big.v"
+ (("@VROOT/thirdparty/bignum")
+ (string-append (assoc-ref inputs "tiny-bignum") "/share")))))
(add-before 'build 'patch-cc
(lambda _
(let* ((bin "tmp/bin")
@@ -135,7 +144,8 @@
(copy-file "v.mod" vmod))
#t)))))
(inputs
- `(("glib" ,glib)))
+ `(("glib" ,glib)
+ ("tiny-bignum" ,tiny-bignum)))
(native-inputs
`(("vc"
;; Versions are not consistently tagged, but the matching commit will
--
2.29.2
R
R
Ryan Prior wrote on 1 Jan 2021 20:27
[PATCH 4/6] gnu: vlang: Use system cJSON.
(address . 45601@debbugs.gnu.org)
20210101192713.23655-4-rprior@protonmail.com
* gnu/packages/vlang.scm (vlang): Use system cJSON.
---
gnu/packages/vlang.scm | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/vlang.scm b/gnu/packages/vlang.scm
index a2f6e93945..db7438d7f7 100644
--- a/gnu/packages/vlang.scm
+++ b/gnu/packages/vlang.scm
@@ -63,7 +63,8 @@
(snippet
'(begin
;; Eventually remove the whole thirdparty directory.
- (delete-file-recursively "thirdparty/bignum")))))
+ (delete-file-recursively "thirdparty/bignum")
+ (delete-file-recursively "thirdparty/cJSON")))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -85,7 +86,10 @@
(("--branch") ""))
(substitute* "vlib/math/big/big.v"
(("@VROOT/thirdparty/bignum")
- (string-append (assoc-ref inputs "tiny-bignum") "/share")))))
+ (string-append (assoc-ref inputs "tiny-bignum") "/share")))
+ (substitute* "vlib/json/json_primitives.v"
+ (("@VROOT/thirdparty/cJSON")
+ (assoc-ref inputs "cJSON")))))
(add-before 'build 'patch-cc
(lambda _
(let* ((bin "tmp/bin")
@@ -145,7 +149,8 @@
#t)))))
(inputs
`(("glib" ,glib)
- ("tiny-bignum" ,tiny-bignum)))
+ ("tiny-bignum" ,tiny-bignum)
+ ("cJSON" ,(package-source cjson))))
(native-inputs
`(("vc"
;; Versions are not consistently tagged, but the matching commit will
--
2.29.2
R
R
Ryan Prior wrote on 1 Jan 2021 20:27
[PATCH 6/6] gnu: vlang: Fix v tools.
(address . 45601@debbugs.gnu.org)
20210101192713.23655-6-rprior@protonmail.com
---
gnu/local.mk | 1 +
.../vlang-accommodate-timestamps.patch | 50 +++++++++++++++++++
gnu/packages/vlang.scm | 7 +++
3 files changed, 58 insertions(+)
create mode 100644 gnu/packages/patches/vlang-accommodate-timestamps.patch

Toggle diff (95 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 2402b1e349..168c499976 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1702,6 +1702,7 @@ dist_patch_DATA = \
%D%/packages/patches/vinagre-newer-freerdp.patch \
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
+ %D%/packages/patches/vlang-accommodate-timestamps.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \
%D%/packages/patches/vorbis-tools-CVE-2015-6749.patch \
diff --git a/gnu/packages/patches/vlang-accommodate-timestamps.patch b/gnu/packages/patches/vlang-accommodate-timestamps.patch
new file mode 100644
index 0000000000..02171ac6cf
--- /dev/null
+++ b/gnu/packages/patches/vlang-accommodate-timestamps.patch
@@ -0,0 +1,50 @@
+From 64e7c548843c7938fcfa6b697108d28aa26f4d69 Mon Sep 17 00:00:00 2001
+From: Ryan Prior <rprior@protonmail.com>
+Date: Thu, 31 Dec 2020 02:31:38 -0600
+Subject: [PATCH] v.util: accomodate reproducible build environments like guix,
+ by not recompiling cmd/tools when mtime < 1024 (#7702)
+
+---
+ vlib/v/util/util.v | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/vlib/v/util/util.v b/vlib/v/util/util.v
+index 811b71585..1ed32bacf 100644
+--- a/vlib/v/util/util.v
++++ b/vlib/v/util/util.v
+@@ -179,7 +179,10 @@ pub fn should_recompile_tool(vexe string, tool_source string) bool {
+ if !os.exists(tool_exe) {
+ should_compile = true
+ } else {
+- if os.file_last_mod_unix(tool_exe) <= os.file_last_mod_unix(vexe) {
++ mtime_vexe := os.file_last_mod_unix(vexe)
++ mtime_tool_exe := os.file_last_mod_unix(tool_exe)
++ mtime_tool_source := os.file_last_mod_unix(tool_source)
++ if mtime_tool_exe <= mtime_vexe {
+ // v was recompiled, maybe after v up ...
+ // rebuild the tool too just in case
+ should_compile = true
+@@ -192,10 +195,19 @@ pub fn should_recompile_tool(vexe string, tool_source string) bool {
+ should_compile = false
+ }
+ }
+- if os.file_last_mod_unix(tool_exe) <= os.file_last_mod_unix(tool_source) {
++ if mtime_tool_exe <= mtime_tool_source {
+ // the user changed the source code of the tool, or git updated it:
+ should_compile = true
+ }
++ // GNU Guix and possibly other environments, have bit for bit reproducibility in mind,
++ // including filesystem attributes like modification times, so they set the modification
++ // times of executables to a small number like 0, 1 etc. In this case, we should not
++ // recompile even if other heuristics say that we should. Users in such environments,
++ // have to explicitly do: `v cmd/tools/vfmt.v`, and/or install v from source, and not
++ // use the system packaged one, if they desire to develop v itself.
++ if mtime_vexe < 1024 && mtime_tool_exe < 1024 {
++ should_compile = false
++ }
+ }
+ return should_compile
+ }
+--
+2.29.2
+
diff --git a/gnu/packages/vlang.scm b/gnu/packages/vlang.scm
index 92d178a3e1..3bdbf36f9d 100644
--- a/gnu/packages/vlang.scm
+++ b/gnu/packages/vlang.scm
@@ -30,6 +30,7 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages javascript)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@@ -61,6 +62,12 @@
(sha256
(base32 "1x2sf2j6xl11kjvv0i0anjqwsfb1la11xr7yhdnbix9808442wm2"))
(modules '((guix build utils)))
+ ;; This patch is already accepted upstream but is required for version
+ ;; 0.2. The package will build without it, but it will fail to run any v
+ ;; tools afterwards because of how Guix changes modified timestamps in
+ ;; the package files.
+ (patches (search-patches
+ "vlang-accommodate-timestamps.patch"))
(snippet
'(begin
;; Eventually remove the whole thirdparty directory.
--
2.29.2
R
R
Ryan Prior wrote on 1 Jan 2021 20:27
[PATCH 5/6] gnu: vlang: Use system wyhash.
(address . 45601@debbugs.gnu.org)
20210101192713.23655-5-rprior@protonmail.com
* gnu/packages/vlang.scm (vlang) Use system wyhash.
---
gnu/packages/vlang.scm | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)

Toggle diff (49 lines)
diff --git a/gnu/packages/vlang.scm b/gnu/packages/vlang.scm
index db7438d7f7..92d178a3e1 100644
--- a/gnu/packages/vlang.scm
+++ b/gnu/packages/vlang.scm
@@ -19,6 +19,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages vlang)
+ #:use-module (gnu packages datastructures)
#:use-module (gnu packages glib)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
@@ -63,8 +64,10 @@
(snippet
'(begin
;; Eventually remove the whole thirdparty directory.
- (delete-file-recursively "thirdparty/bignum")
- (delete-file-recursively "thirdparty/cJSON")))))
+ (for-each delete-file-recursively
+ '("thirdparty/bignum"
+ "thirdparty/cJSON"
+ "thirdparty/wyhash"))))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -89,7 +92,10 @@
(string-append (assoc-ref inputs "tiny-bignum") "/share")))
(substitute* "vlib/json/json_primitives.v"
(("@VROOT/thirdparty/cJSON")
- (assoc-ref inputs "cJSON")))))
+ (assoc-ref inputs "cJSON")))
+ (substitute* "vlib/hash/wyhash.c.v"
+ (("@VROOT/thirdparty/wyhash")
+ (string-append (assoc-ref inputs "wyhash") "/include")))))
(add-before 'build 'patch-cc
(lambda _
(let* ((bin "tmp/bin")
@@ -150,7 +156,8 @@
(inputs
`(("glib" ,glib)
("tiny-bignum" ,tiny-bignum)
- ("cJSON" ,(package-source cjson))))
+ ("cJSON" ,(package-source cjson))
+ ("wyhash" ,wyhash)))
(native-inputs
`(("vc"
;; Versions are not consistently tagged, but the matching commit will
--
2.29.2
L
L
Leo Famulari wrote on 1 Jan 2021 21:46
Re: [bug#45601] [PATCH 1/6] gnu: Add wyhash.
(address . 45601@debbugs.gnu.org)
X++KJvkcrmB7Zv8s@jasmine.lan
On Fri, Jan 01, 2021 at 07:27:19PM +0000, Ryan Prior via Guix-patches via wrote:
Toggle quote (2 lines)
> * gnu/packages/datastructures.scm (wyhash): New variable.

Thanks!

Can you move it to digest.scm and make it install the license file in
"$out/share/doc/wyhash-5"?

You can construct that path like this:

(let* ((out ...)
(doc (string-append out "/share/doc/" ,name "-" ,version))))

Toggle quote (3 lines)
> + (arguments
> + '(#:modules ((guix build utils))

The body of arguments will have to be quasiquoted for this to work. That
is, ` instead of '
R
R
Ryan Prior wrote on 1 Jan 2021 22:19
[PATCH] gnu: Add wyhash.
(address . 45601@debbugs.gnu.org)
20210101211926.29943-1-rprior@protonmail.com
* gnu/packages/datastructures.scm (wyhash): New variable.
---
gnu/packages/digest.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (59 lines)
diff --git a/gnu/packages/digest.scm b/gnu/packages/digest.scm
index a33e238362..0b7977c2a5 100644
--- a/gnu/packages/digest.scm
+++ b/gnu/packages/digest.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 Ryan Prior <rprior@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,9 +22,45 @@
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (ice-9 match))
+(define-public wyhash
+ (package
+ (name "wyhash")
+ (version "5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wangyi-fudan/wyhash")
+ (commit (string-append "wyhash_v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03ljs5iw9zrm3bydwggjvpwrcwmsd75h3dv1j4am4hw3h22cjdjc"))))
+ (build-system trivial-build-system) ;; source-only package
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((out (string-append (assoc-ref %outputs "out")))
+ (src (string-append out "/include"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (mkdir-p src)
+ (mkdir-p doc)
+ (chdir (assoc-ref %build-inputs "source"))
+ (install-file "wyhash.h" src)
+ (install-file "LICENSE" doc)
+ (install-file "README.md" doc))
+ #t)))
+ (home-page "https://github.com/wangyi-fudan/wyhash")
+ (synopsis "Embeddable hash function and random number generator.")
+ (description "This package provides a portable hash function and random
+number generator suitable for use in data structures. Provided by default in
+Zig, V, and Nim programming language standard libraries.")
+ (license license:unlicense)))
+
(define-public xxhash
(package
(name "xxhash")
--
2.29.2
R
R
Ryan Prior wrote on 3 Jan 2021 01:09
[PATCH] gnu: vlang: Update to 0.2.
(address . 45601@debbugs.gnu.org)
20210103000858.1778-1-rprior@protonmail.com
- Moves the cc-patching logic out of check into an explicit "patch-cc" stage.
- Adds "build-tools" stage to pre-build the included tools.
- Sets native-search-paths.
- Fixes many tests.
---
gnu/packages/vlang.scm | 85 +++++++++++++++++++++++++++++++-----------
1 file changed, 63 insertions(+), 22 deletions(-)

Toggle diff (164 lines)
diff --git a/gnu/packages/vlang.scm b/gnu/packages/vlang.scm
index e0b2e7bcfc..69c5598d0d 100644
--- a/gnu/packages/vlang.scm
+++ b/gnu/packages/vlang.scm
@@ -19,10 +19,15 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages vlang)
+ #:use-module (gnu packages digest)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages javascript)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages node)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages valgrind)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
#:use-module (guix git-download)
@@ -30,10 +35,21 @@
#:use-module (guix utils)
#:use-module (guix packages))
+(define markdown-origin
+ (let ((markdown-version "1ccfbcba945b649b61738b9c0455d31cf99564b2"))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vlang/markdown")
+ (commit markdown-version)))
+ (file-name (git-file-name "vlang-markdown" markdown-version))
+ (sha256
+ (base32 "0s982qiwy4s9y07x9fsy4yn642schplhp9hrw2libg2bx4sw43as")))))
+
(define-public vlang
(package
(name "vlang")
- (version "0.1.29")
+ (version "0.2")
(source
(origin
(method git-fetch)
@@ -42,7 +58,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1rqi7cah5nq8aggrib9xvdpfjxq20li91svv0w9yny6nn1ag7snx"))))
+ (base32 "1x2sf2j6xl11kjvv0i0anjqwsfb1la11xr7yhdnbix9808442wm2"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -61,42 +77,60 @@
(lambda _
(substitute* "Makefile"
(("rm -rf") "true")
- (("v self") (string-append "v -cc " ,(cc-for-target) " cmd/v")))
+ (("--branch") ""))))
+ (add-before 'build 'patch-cc
+ (lambda _
+ (let* ((bin "tmp/bin")
+ (gcc (which "gcc")))
+ (mkdir-p bin)
+ (symlink gcc (string-append bin "/cc"))
+ (setenv "PATH" (string-append bin ":" (getenv "PATH"))))
+ #t))
+ (add-after 'build 'build-tools
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "vmodules/markdown") "vmodules/markdown")
+ (setenv "VMODULES" (string-append (getcwd) "/vmodules"))
+ (invoke "./v" "build-tools" "-v")
#t))
- (add-before 'check 'delete-failing-tests
- ;; XXX As always, these should eventually be fixed and run.
+ (add-before 'check 'fix-or-delete-failing-tests
(lambda _
+ ;; The x64 tests copy .vv files into the test directory and then
+ ;; write to them, so we need to make them writeable.
+ (for-each (lambda (vv) (chmod vv #o644))
+ (find-files "vlib/v/gen/x64/tests/" "\\.vv$"))
+ ;; The process test explicitly calls "/bin/sleep" and "/bin/date"
+ (substitute* "vlib/os/process_test.v"
+ (("/bin/sleep") (which "sleep"))
+ (("/bin/date") (which "date")))
+ ;; The valgrind test can't find `cc' even though it's on PATH, so
+ ;; we pass it as an explicit argument.
+ (substitute* "vlib/v/tests/valgrind/valgrind_test.v"
+ (("\\$vexe") "$vexe -cc gcc"))
(for-each delete-file
- '("vlib/v/gen/x64/tests/x64_test.v"
- "vlib/v/tests/repl/repl_test.v"
- "vlib/v/tests/valgrind/valgrind_test.v"
- "vlib/v/tests/valgrind/strings_and_arrays.vv"
+ '(;; XXX As always, these should eventually be fixed and run.
+ "vlib/vweb/tests/vweb_test.v"
"vlib/v/tests/live_test.v"
- "vlib/net/websocket/ws_test.v"))
+ "vlib/v/tests/repl/repl_test.v"))
#t))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
- (let* ((bin "tmp/bin")
- (gcc (which "gcc")))
- (when tests?
- (mkdir-p bin)
- (symlink gcc (string-append bin "/cc"))
- (setenv "PATH" (string-append bin ":" (getenv "PATH")))
- (invoke "./v" "test-fixed")))
+ (when tests?
+ (invoke "./v" "test-fixed"))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
- (tools (string-append bin "/cmd/tools"))
+ (cmd (string-append bin "/cmd"))
(thirdparty (string-append bin "/thirdparty"))
(vlib (string-append bin "/vlib"))
+ (vmodules (string-append bin "/vmodules"))
(vmod (string-append bin "/v.mod")))
(mkdir-p bin)
(copy-file "./v" (string-append bin "/v"))
;; v requires as of 0.1.27 that these other components are in the
;; same directory. In a future release we may be able to move
;; these into other output folders.
- (copy-recursively "cmd/tools" tools)
+ (copy-recursively "cmd" cmd)
(copy-recursively "thirdparty" thirdparty)
(copy-recursively "vlib" vlib)
(copy-file "v.mod" vmod))
@@ -107,7 +141,7 @@
`(("vc"
;; Versions are not consistently tagged, but the matching commit will
;; probably have ‘v0.x.y’ in the commit message.
- ,(let ((vc-version "b01d0fcda4b55861baa4be82e307cca4834b1641"))
+ ,(let ((vc-version "047460a4ae5f4a1ba8c31dc50ec5e50ebe80b7f6"))
;; v bootstraps from generated c source code from a dedicated
;; repository. It's readable, as generated source goes, and not at all
;; obfuscated, and it's about 15kb. The original source written in
@@ -121,13 +155,20 @@
(commit vc-version)))
(file-name (git-file-name "vc" vc-version))
(sha256
- (base32 "052gp5q2k31r3lci3rx4k0vy0vjdjva64xvrbbihn8lgmw63lc9f")))))
+ (base32 "1wlr9yzxz4bc7pbzbplzhjjr9sz5mwy2k2z5d3vwsnz56g245146")))))
+ ("vmodules/markdown" ,markdown-origin)
;; For the tests.
("libx11" ,libx11)
("node" ,node)
("openssl" ,openssl)
- ("sqlite" ,sqlite)))
+ ("ps" ,procps)
+ ("sqlite" ,sqlite)
+ ("valgrind" ,valgrind)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "VMODULES")
+ (files '("bin/")))))
(home-page "https://vlang.io/")
(synopsis "Compiler for the V programming language")
(description
--
2.29.2
R
R
Ryan Prior wrote on 4 Jan 2021 02:46
[PATCH 0/2] Another vlang dependency plucked out (re: bug#45601)
(address . 45601@debbugs.gnu.org)
20210104014620.19614-1-rprior@protonmail.com
Hey Guix! Here's a couple patches that extract yet another vendored dependnecy: picoev, a tiny portable networking event loop library. This furthers the work on vlang 0.2 in other patches of this series.

Ryan Prior (2):
gnu: Add picoev.
gnu: vlang: Use system picoenv.

gnu/packages/networking.scm | 51 +++++++++++++++++++++++++++++++++++++
gnu/packages/vlang.scm | 8 +++++-
2 files changed, 58 insertions(+), 1 deletion(-)

--
2.29.2
R
R
Ryan Prior wrote on 4 Jan 2021 02:46
[PATCH 1/2] gnu: Add picoev.
(address . 45601@debbugs.gnu.org)
20210104014620.19614-2-rprior@protonmail.com
* gnu/packages/networking.scm (picoev): New variable.
---
gnu/packages/networking.scm | 51 +++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)

Toggle diff (64 lines)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 8c9db0c6b4..42eb7b3c59 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1828,6 +1828,57 @@ passphrase can be recovered and the AP's wireless settings can be
reconfigured.")
(license license:gpl2+)))
+(define-public picoev
+ (let ((commit "ff85d9ef578842a40f7c91d2544b7932cec74b9d")
+ (revision "0"))
+ (package
+ (name "picoev")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kazuho/picoev")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11ga0hyx6r229wvmds4gaq0ilrcb1j84gri7gxcnv7910yf1sv61"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests available
+ #:make-flags (list (string-append "CC=" ,(cc-for-target))
+ "LINUX_BUILD=1")
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (string-append (assoc-ref outputs "out")))
+ (src (string-append out "/include"))
+ (lib (string-append out "/lib"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (mkdir-p src)
+ (mkdir-p lib)
+ (mkdir-p doc)
+ (for-each (cut install-file <> src)
+ '("picoev.h"
+ "picoev_epoll.c"
+ "picoev_kqueue.c"
+ "picoev_select.c"))
+ (install-file "libpicoev.so" lib)
+ (install-file "README.md" doc))
+ #t)))))
+ (home-page "https://github.com/kazuho/picoev")
+ (synopsis "Tiny portable event loop library.")
+ (description
+ "This library provides a tiny event loop with a simple design,
+supporting only @code{select(2)}, @code{epoll(2)}, and @code{kqueue(2)}.")
+ (license license:expat))))
+
(define-public perl-danga-socket
(package
(name "perl-danga-socket")
--
2.29.2
R
R
Ryan Prior wrote on 4 Jan 2021 02:46
[PATCH 2/2] gnu: vlang: Use system picoenv.
(address . 45601@debbugs.gnu.org)
20210104014620.19614-3-rprior@protonmail.com
* gnu/packages/vlang.scm (vlang): Use system picoenv.
---
gnu/packages/vlang.scm | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

Toggle diff (42 lines)
diff --git a/gnu/packages/vlang.scm b/gnu/packages/vlang.scm
index dd970e643a..c3f439fce6 100644
--- a/gnu/packages/vlang.scm
+++ b/gnu/packages/vlang.scm
@@ -24,6 +24,7 @@
#:use-module (gnu packages javascript)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
@@ -74,6 +75,7 @@
(for-each delete-file-recursively
'("thirdparty/bignum"
"thirdparty/cJSON"
+ "thirdparty/picoev"
"thirdparty/wyhash"))))))
(build-system gnu-build-system)
(arguments
@@ -102,7 +104,10 @@
(assoc-ref inputs "cJSON")))
(substitute* "vlib/hash/wyhash.c.v"
(("@VROOT/thirdparty/wyhash")
- (string-append (assoc-ref inputs "wyhash") "/include")))))
+ (string-append (assoc-ref inputs "wyhash") "/include")))
+ (substitute* "vlib/picoev/picoev.v"
+ (("@VROOT/thirdparty/picoev")
+ (string-append (assoc-ref inputs "picoev") "/include")))))
(add-before 'build 'patch-cc
(lambda _
(let* ((bin "tmp/bin")
@@ -164,6 +169,7 @@
`(("glib" ,glib)
("tiny-bignum" ,tiny-bignum)
("cJSON" ,(package-source cjson))
+ ("picoev" ,picoev)
("wyhash" ,wyhash)))
(native-inputs
`(("vc"
--
2.29.2
L
L
Leo Famulari wrote on 4 Jan 2021 03:07
Re: [bug#45601] [PATCH] gnu: Add wyhash.
(name . Ryan Prior via Guix-patches via)(address . guix-patches@gnu.org)(address . 45601@debbugs.gnu.org)
X/J4e6ZeWlTIystM@jasmine.lan
On Fri, Jan 01, 2021 at 09:19:29PM +0000, Ryan Prior via Guix-patches via wrote:
Toggle quote (2 lines)
> * gnu/packages/datastructures.scm (wyhash): New variable.

Thanks!

Pushed as 4a829b2d55bc9b0ad5a335c8228a7d2371fa1d9a with the following
changes...

I corrected the commit message (changing "datastructures.scm" to
"digest.scm"), tweaked the logic of the builder to be more idiomatic,
and removed the period at the end of the synopsis (`guix lint`
complained).

Toggle quote (14 lines)
> + #:builder
> + (begin
> + (use-modules (guix build utils))
> + (let* ((out (string-append (assoc-ref %outputs "out")))
> + (src (string-append out "/include"))
> + (doc (string-append out "/share/doc/" ,name "-" ,version)))
> + (mkdir-p src)
> + (mkdir-p doc)
> + (chdir (assoc-ref %build-inputs "source"))
> + (install-file "wyhash.h" src)
> + (install-file "LICENSE" doc)
> + (install-file "README.md" doc))
> + #t)))

Regarding the builder:

1) install-file does mkdir-p [0], so that can be omitted.
2) I think it's more clear to use "include" rather than "src" when
binding the output's include directory
3) Using with-directory-excursion instead of chdir is more in tune with
a functional coding style [1], in my opinion

[0]

[1]
R
R
Ryan Prior wrote on 4 Jan 2021 03:57
BDkXqmEbo4xMAVPNvmVOfa1ob-cldIbg3kxmkdJfI4T0EwTxJZcMDmpoy33y4rKdOr6WAtVNDo5n2pdY7fIgh2OA2tv0nmgGrvlnm0Apa9Q=@protonmail.com
Thank you! Agreed on all points.

I initially did call the variable `include' but Emacs scheme-mode highlighted it using a keyword face, which made me worry if I shouldn't choose something else in case include is some kind of reserved word.

I didn't know about `with-directory-excursion' before but it's clearly preferable. I got the idea to use `chdir' from looking at other packages (it's used many hundreds of places.)
Attachment: file
R
R
Ryan Prior wrote on 4 Jan 2021 04:07
[PATCH 1/1] gnu: Add picoev.
(address . 45601@debbugs.gnu.org)
20210104030743.25824-2-rprior@protonmail.com
* gnu/packages/networking.scm (picoev): New variable.
---
gnu/packages/networking.scm | 48 +++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)

Toggle diff (61 lines)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index fad917a7c0..1057014571 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1827,6 +1827,54 @@ passphrase can be recovered and the AP's wireless settings can be
reconfigured.")
(license license:gpl2+)))
+(define-public picoev
+ (let ((commit "ff85d9ef578842a40f7c91d2544b7932cec74b9d")
+ (revision "0"))
+ (package
+ (name "picoev")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kazuho/picoev")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11ga0hyx6r229wvmds4gaq0ilrcb1j84gri7gxcnv7910yf1sv61"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests available
+ #:make-flags (list (string-append "CC=" ,(cc-for-target))
+ "LINUX_BUILD=1")
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (string-append (assoc-ref outputs "out")))
+ (include (string-append out "/include"))
+ (lib (string-append out "/lib"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (for-each (cut install-file <> include)
+ '("picoev.h"
+ "picoev_epoll.c"
+ "picoev_kqueue.c"
+ "picoev_select.c"))
+ (install-file "libpicoev.so" lib)
+ (install-file "README.md" doc))
+ #t)))))
+ (home-page "https://github.com/kazuho/picoev")
+ (synopsis "Tiny portable event loop library")
+ (description
+ "This library provides a tiny event loop with a simple design,
+supporting only @code{select(2)}, @code{epoll(2)}, and @code{kqueue(2)}.")
+ (license license:expat))))
+
(define-public perl-danga-socket
(package
(name "perl-danga-socket")
--
2.29.2
R
R
Ryan Prior wrote on 4 Jan 2021 04:07
[PATCH 0/1] Updated picoev patch based on feedback
(address . 45601@debbugs.gnu.org)
20210104030743.25824-1-rprior@protonmail.com
Based on Leo's feedback from the wyhash patch, I've updated the patch for picoev as well.

Ryan Prior (1):
gnu: Add picoev.

gnu/packages/networking.scm | 48 +++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)

--
2.29.2
C
C
Christopher Baines wrote on 5 Feb 2021 14:30
Re: [bug#45601] [PATCH 1/1] gnu: Add picoev.
(name . Ryan Prior)(address . rprior@protonmail.com)(address . 45601@debbugs.gnu.org)
871rduzlo4.fsf@cbaines.net
Ryan Prior via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (2 lines)
> * gnu/packages/networking.scm (picoev): New variable.

Hey,

This look OK to me, although the license needs checking.

Would you be able to send the entire series of patches tracked under
#45601? I'm not quite sure what's current and superseded by looking
through the various emails.

Toggle quote (60 lines)
> ---
> gnu/packages/networking.scm | 48 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 48 insertions(+)
>
> diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
> index fad917a7c0..1057014571 100644
> --- a/gnu/packages/networking.scm
> +++ b/gnu/packages/networking.scm
> @@ -1827,6 +1827,54 @@ passphrase can be recovered and the AP's wireless settings can be
> reconfigured.")
> (license license:gpl2+)))
>
> +(define-public picoev
> + (let ((commit "ff85d9ef578842a40f7c91d2544b7932cec74b9d")
> + (revision "0"))
> + (package
> + (name "picoev")
> + (version (git-version "0.0.0" revision commit))
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/kazuho/picoev")
> + (commit commit)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "11ga0hyx6r229wvmds4gaq0ilrcb1j84gri7gxcnv7910yf1sv61"))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:tests? #f ; no tests available
> + #:make-flags (list (string-append "CC=" ,(cc-for-target))
> + "LINUX_BUILD=1")
> + #:modules ((guix build gnu-build-system)
> + (guix build utils)
> + (srfi srfi-26))
> + #:phases
> + (modify-phases %standard-phases
> + (delete 'configure)
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (string-append (assoc-ref outputs "out")))
> + (include (string-append out "/include"))
> + (lib (string-append out "/lib"))
> + (doc (string-append out "/share/doc/" ,name "-" ,version)))
> + (for-each (cut install-file <> include)
> + '("picoev.h"
> + "picoev_epoll.c"
> + "picoev_kqueue.c"
> + "picoev_select.c"))
> + (install-file "libpicoev.so" lib)
> + (install-file "README.md" doc))
> + #t)))))
> + (home-page "https://github.com/kazuho/picoev")
> + (synopsis "Tiny portable event loop library")
> + (description
> + "This library provides a tiny event loop with a simple design,
> +supporting only @code{select(2)}, @code{epoll(2)}, and @code{kqueue(2)}.")
> + (license license:expat))))

Where did you get expat from? From looking at the files, that doesn't
seem to be the case.

Toggle quote (4 lines)
> +
> (define-public perl-danga-socket
> (package
> (name "perl-danga-socket")
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmAdSItfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xfsdw/+KLod8S+dxdMhUy/8wtPAbrMKwtWOCs8t
cR8KCRHFYfPKT5fLRpra+Vb7BpY0SmmJx2dl8oKcaXNBeQL8Xx5n3kMY4/6eZtic
4xwaAe07rzOv0DEI2txHD85m2GKM0CpRwwuK620XmO/TZquRuj8KnyiFFN9WYXFY
fFc19aDMXp34c1bwsxis/Epms9eQSaF/wI+upyGxlZkroGxmnPge3ga/26Dr0N7P
y/xs3uchp+drRmYHqPyCuad/J5ls22bSqo2mrrnuvulMcmzFYG4M/ofJVFPSjuEc
TgFXCrGjhX+iSCD+2gBTCyadhiIbpQdSKsoiD2l+plmOnVT0Ro28BBEnyOudfjvJ
a4/V/zo/ms2zXGYhDnV2rYlgPgRzJH9yYm7v+sNbP/aCTrsnK9oJNTNX5aMoenHU
PV8cKWeHowlKO/xQT2FLfd0Ldd3yYDqKG+EZn9UIwgIwUS8CVU2Iak+z550IZq9P
EkYjR8CgbqAmQJaBoAJWJ4QiYtbxO2w7O73BWrPyKatKcnTb0BNqsdjkbB/acbAa
YiY1DWtx8/Fd3F7uh0abLg7IwJlOdYohe1o+QwzUW22ZazPkvyErswyzECt6pW97
1Qn5/kA2QvNbi1nY1M/PFmp3b/qQ091vQJ96KzpSPtYmLycsRVDVfu/fVHwSHO+I
A8gE5Tgfwus=
=Zv62
-----END PGP SIGNATURE-----

M
M
Maxim Cournoyer wrote on 10 Jun 18:19 +0200
(name . Christopher Baines)(address . mail@cbaines.net)
8734pkzs69.fsf@gmail.com
Hi Ryan,

Christopher Baines <mail@cbaines.net> writes:

Toggle quote (12 lines)
> Ryan Prior via Guix-patches via <guix-patches@gnu.org> writes:
>
>> * gnu/packages/networking.scm (picoev): New variable.
>
> Hey,
>
> This look OK to me, although the license needs checking.
>
> Would you be able to send the entire series of patches tracked under
> #45601? I'm not quite sure what's current and superseded by looking
> through the various emails.

Could you please reply to the feedback so far (for the whole series),
and send a rebased series with proper GNU ChangeLog commit messages?
vlang is now at 0.2.4. This is already 3 years old, so if you cannot do
this for some reason I'm afraid I'll simply close it, which would be a
waste; there seems to be some nice unbundling done here.

Thanks for your contributions!

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 10 Jun 18:17 +0200
control message for bug #45601
(address . control@debbugs.gnu.org)
877cewzsao.fsf@gmail.com
tags 45601 + moreinfo
quit
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 45601@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 45601
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch