~ruther/guix-local

37ec990182034274b5614e48e24a9fa76f82ee13 — Jelle Licht 1 year, 7 months ago 954385d
gnu: Add libuv-for-node-lts.

Specific versions of Node depend on specific versions of libuv.

* gnu/packages/libevent.scm (libuv-for-node-lts): New package.

Change-Id: I97f6b96002dde37a0cec56dbfd7ff8722982ff89
1 files changed, 24 insertions(+), 0 deletions(-)

M gnu/packages/libevent.scm
M gnu/packages/libevent.scm => gnu/packages/libevent.scm +24 -0
@@ 158,6 158,30 @@ resolution, asynchronous file system operations, and threading primitives.")
                "0wpb9pz3r8nksnrf4zbixj2kk9whr7abi45ydrwyv2js2ljrc4j3"))))
    (properties '((hidden? . #t)))))

(define-public libuv-for-node-lts
  ;; When upgrading Node, also upgrade this. Get the version from
  ;; https://github.com/nodejs/node/blob/main/deps/uv/include/uv/version.h
  (package
    (inherit libuv)
    (name "libuv")
    (version "1.46.0")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://dist.libuv.org/dist/v" version
                                  "/libuv-v" version ".tar.gz"))
              (sha256
               (base32
                "1knxvp6bl3y0c87cch1id0z7m7rb6igx55ci93qnbp4zifaq67qi"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           ;; Disable io_uring by default due to CVE-2024-22017. Can be removed once
           ;; https://github.com/libuv/libuv/issues/4468 is released and compatible
           ;; with Node.js
           (substitute* "src/unix/linux.c"
             (("val == NULL \\|\\|") "val != NULL &&"))))))
    (properties '((hidden? . #t)))))

(define-public libuv-for-r-httpuv
  ;; When upgrading r-httpuv, also upgrade this.
  (package