Package: guix-patches;
Reported by: Ryan Prior <rprior <at> protonmail.com>
Date: Fri, 1 Jan 2021 19:24:02 UTC
Severity: normal
Tags: moreinfo, patch
To reply to this bug, email your comments to 45601 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Fri, 01 Jan 2021 19:24:02 GMT) Full text and rfc822 format available.Ryan Prior <rprior <at> protonmail.com>
:guix-patches <at> gnu.org
.
(Fri, 01 Jan 2021 19:24:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: guix-patches <at> gnu.org Subject: [PATCH 0/6] vlang 0.2 update Date: Fri, 01 Jan 2021 19:23:23 +0000
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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Fri, 01 Jan 2021 19:28:01 GMT) Full text and rfc822 format available.Message #8 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH 2/6] gnu: vlang: Update to 0.2. Date: Fri, 01 Jan 2021 19:27:22 +0000
- 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(-) 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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Fri, 01 Jan 2021 19:28:02 GMT) Full text and rfc822 format available.Message #11 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH 1/6] gnu: Add wyhash. Date: Fri, 01 Jan 2021 19:27:19 +0000
* gnu/packages/datastructures.scm (wyhash): New variable. --- gnu/packages/datastructures.scm | 34 ++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) 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 <at> flashner.co.il> ;;; Copyright © 2020 Mark H Weaver <mhw <at> netris.org> ;;; Copyright © 2020 Marius Bakke <marius <at> gnu.org> +;;; Copyright © 2020 Ryan Prior <rprior <at> 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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Fri, 01 Jan 2021 19:28:02 GMT) Full text and rfc822 format available.Message #14 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH 3/6] gnu: vlang: Use system tiny-bignum. Date: Fri, 01 Jan 2021 19:27:24 +0000
* gnu/packages/vlang.scm (vlang): Update to use system tiny-bignum. --- gnu/packages/vlang.scm | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) 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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Fri, 01 Jan 2021 19:28:02 GMT) Full text and rfc822 format available.Message #17 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH 4/6] gnu: vlang: Use system cJSON. Date: Fri, 01 Jan 2021 19:27:27 +0000
* gnu/packages/vlang.scm (vlang): Use system cJSON. --- gnu/packages/vlang.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Fri, 01 Jan 2021 19:28:03 GMT) Full text and rfc822 format available.Message #20 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH 6/6] gnu: vlang: Fix v tools. Date: Fri, 01 Jan 2021 19:27:34 +0000
--- 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 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 <at> 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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Fri, 01 Jan 2021 19:28:03 GMT) Full text and rfc822 format available.Message #23 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH 5/6] gnu: vlang: Use system wyhash. Date: Fri, 01 Jan 2021 19:27:31 +0000
* gnu/packages/vlang.scm (vlang) Use system wyhash. --- gnu/packages/vlang.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) 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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Fri, 01 Jan 2021 20:47:01 GMT) Full text and rfc822 format available.Message #26 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Leo Famulari <leo <at> famulari.name> To: Ryan Prior <rprior <at> protonmail.com>, Ryan Prior via Guix-patches <guix-patches <at> gnu.org> Cc: 45601 <at> debbugs.gnu.org Subject: Re: [bug#45601] [PATCH 1/6] gnu: Add wyhash. Date: Fri, 1 Jan 2021 15:46:30 -0500
On Fri, Jan 01, 2021 at 07:27:19PM +0000, Ryan Prior via Guix-patches via wrote: > * 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)))) > + (arguments > + '(#:modules ((guix build utils)) The body of arguments will have to be quasiquoted for this to work. That is, ` instead of '
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Fri, 01 Jan 2021 20:47:02 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Fri, 01 Jan 2021 21:20:02 GMT) Full text and rfc822 format available.Message #32 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH] gnu: Add wyhash. Date: Fri, 01 Jan 2021 21:19:29 +0000
* gnu/packages/datastructures.scm (wyhash): New variable. --- gnu/packages/digest.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) 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 <at> tobias.gr> +;;; Copyright © 2021 Ryan Prior <rprior <at> 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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Sun, 03 Jan 2021 00:10:02 GMT) Full text and rfc822 format available.Message #35 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH] gnu: vlang: Update to 0.2. Date: Sun, 03 Jan 2021 00:09:02 +0000
- 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(-) 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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Mon, 04 Jan 2021 01:47:01 GMT) Full text and rfc822 format available.Message #38 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH 0/2] Another vlang dependency plucked out (re: bug#45601) Date: Mon, 04 Jan 2021 01:46:24 +0000
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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Mon, 04 Jan 2021 01:47:02 GMT) Full text and rfc822 format available.Message #41 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH 1/2] gnu: Add picoev. Date: Mon, 04 Jan 2021 01:46:27 +0000
* gnu/packages/networking.scm (picoev): New variable. --- gnu/packages/networking.scm | 51 +++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) 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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Mon, 04 Jan 2021 01:47:02 GMT) Full text and rfc822 format available.Message #44 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH 2/2] gnu: vlang: Use system picoenv. Date: Mon, 04 Jan 2021 01:46:30 +0000
* gnu/packages/vlang.scm (vlang): Use system picoenv. --- gnu/packages/vlang.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Mon, 04 Jan 2021 02:08:03 GMT) Full text and rfc822 format available.Message #47 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Leo Famulari <leo <at> famulari.name> To: Ryan Prior via Guix-patches via <guix-patches <at> gnu.org> Cc: 45601 <at> debbugs.gnu.org Subject: Re: [bug#45601] [PATCH] gnu: Add wyhash. Date: Sun, 3 Jan 2021 21:07:55 -0500
On Fri, Jan 01, 2021 at 09:19:29PM +0000, Ryan Prior via Guix-patches via wrote: > * 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). > + #: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] https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build/utils.scm?h=version-1.2.0#n310 [1] https://guix.gnu.org/manual/en/html_node/Programming-Paradigm.html
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Mon, 04 Jan 2021 02:09:01 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Mon, 04 Jan 2021 02:58:01 GMT) Full text and rfc822 format available.Message #53 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: "45601 <at> debbugs.gnu.org" <45601 <at> debbugs.gnu.org>, Leo Famulari <leo <at> famulari.name> Subject: Re: [bug#45601] [PATCH] gnu: Add wyhash. Date: Mon, 04 Jan 2021 02:57:29 +0000
[Message part 1 (text/plain, inline)]
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.)
[Message part 2 (text/html, inline)]
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Mon, 04 Jan 2021 03:08:02 GMT) Full text and rfc822 format available.Message #56 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH 1/1] gnu: Add picoev. Date: Mon, 04 Jan 2021 03:07:49 +0000
* gnu/packages/networking.scm (picoev): New variable. --- 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)))) + (define-public perl-danga-socket (package (name "perl-danga-socket") -- 2.29.2
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Mon, 04 Jan 2021 03:08:02 GMT) Full text and rfc822 format available.Message #59 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Ryan Prior <rprior <at> protonmail.com> To: 45601 <at> debbugs.gnu.org Subject: [PATCH 0/1] Updated picoev patch based on feedback Date: Mon, 04 Jan 2021 03:07:46 +0000
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
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Fri, 05 Feb 2021 13:31:02 GMT) Full text and rfc822 format available.Message #62 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Christopher Baines <mail <at> cbaines.net> To: Ryan Prior <rprior <at> protonmail.com> Cc: 45601 <at> debbugs.gnu.org Subject: Re: [bug#45601] [PATCH 1/1] gnu: Add picoev. Date: Fri, 05 Feb 2021 13:30:51 +0000
[Message part 1 (text/plain, inline)]
Ryan Prior via Guix-patches via <guix-patches <at> 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. > --- > 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. > + > (define-public perl-danga-socket > (package > (name "perl-danga-socket")
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#45601
; Package guix-patches
.
(Mon, 10 Jun 2024 16:26:01 GMT) Full text and rfc822 format available.Message #65 received at 45601 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: Ryan Prior <rprior <at> protonmail.com>, 45601 <at> debbugs.gnu.org Cc: Christopher Baines <mail <at> cbaines.net> Subject: Re: [bug#45601] [PATCH 1/1] gnu: Add picoev. Date: Mon, 10 Jun 2024 12:19:42 -0400
Hi Ryan, Christopher Baines <mail <at> cbaines.net> writes: > Ryan Prior via Guix-patches via <guix-patches <at> 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
Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
to control <at> debbugs.gnu.org
.
(Mon, 10 Jun 2024 16:26:02 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.