forked from tribes/guix
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5ea6f99ccd | |||
| d22e33ea60 | |||
| 137491a68e | |||
| 091c121514 | |||
| bc3e92e673 | |||
| 7208782e20 | |||
| 0c3f020dac | |||
| 60f7c740f8 | |||
| 42ed3aa37a | |||
| cd22c1ad8f | |||
| 17f801ee5e | |||
| 3eeff7cc21 | |||
| ea44e60c30 | |||
| ebf496e893 | |||
| 41fd9df171 |
@@ -1856,7 +1856,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/lirc-reproducible-build.patch \
|
||||
%D%/packages/patches/llvm-13-gcc-14.patch \
|
||||
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \
|
||||
%D%/packages/patches/lsof-compat-linux-6.9.patch \
|
||||
%D%/packages/patches/lsof-fatal-test-failures.patch \
|
||||
%D%/packages/patches/lua-CVE-2014-5461.patch \
|
||||
%D%/packages/patches/lua-pkgconfig.patch \
|
||||
@@ -1982,7 +1981,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/network-manager-plugin-path.patch \
|
||||
%D%/packages/patches/newlib-getentropy.patch \
|
||||
%D%/packages/patches/nginx-socket-cloexec.patch \
|
||||
%D%/packages/patches/nickle-man-release-date.patch \
|
||||
%D%/packages/patches/nlopt_CMake-Assume-working-c-compiler-597.patch \
|
||||
%D%/packages/patches/nnpack-system-libraries.patch \
|
||||
%D%/packages/patches/nsis-env-passthru.patch \
|
||||
|
||||
+2
-24
@@ -37,7 +37,7 @@
|
||||
(define-public lsof
|
||||
(package
|
||||
(name "lsof")
|
||||
(version "4.99.3")
|
||||
(version "4.99.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -46,8 +46,7 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v32407al4j0hhcph95lv4xvr9h012lii29iyq41iwj39zwfavax"))
|
||||
(patches (search-patches "lsof-compat-linux-6.9.patch"))))
|
||||
"08p0c0wci9vam6b29ym7z7sip8gd0j0dz7zy4f0b32dw51rb3z9k"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list automake
|
||||
autoconf
|
||||
@@ -57,27 +56,6 @@
|
||||
pkg-config
|
||||
procps ;for ps
|
||||
util-linux)) ;for unshare
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-configure-ac-version
|
||||
;; see https://github.com/lsof-org/lsof/commit/932a0b3b1992497e23fd9b8d31116b9ca9b0f98d
|
||||
;; to fix tests/case-01-version.bash test fail.
|
||||
(lambda _
|
||||
(substitute* "configure.ac"
|
||||
(("4\\.99\\.0")
|
||||
"4.99.3"))))
|
||||
(add-before 'bootstrap 'disable-failing-tests
|
||||
(lambda _
|
||||
(substitute* "Makefile.am"
|
||||
;; Fails with ‘ERROR!!! client gethostbyaddr() failure’.
|
||||
(("(TESTS \\+=.*) tests/LTsock" _ prefix)
|
||||
prefix)
|
||||
;; Fails on CoW filesystems (eg. btrfs)
|
||||
(("tests/LTlock") "")
|
||||
;; Fails because /proc not mounted in sandbox
|
||||
(("\tdialects/linux/tests/case-20-epoll.bash \\\\")
|
||||
"\\")))))))
|
||||
(synopsis "Display information about open files")
|
||||
(description
|
||||
"Lsof stands for LiSt Open Files, and it does just that.
|
||||
|
||||
+105
-62
@@ -166,70 +166,113 @@ bind processes, and much more.")
|
||||
|
||||
(define-public hwloc-2
|
||||
(package
|
||||
(inherit hwloc-1)
|
||||
(name "hwloc")
|
||||
(version "2.13.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.open-mpi.org/release/hwloc/v"
|
||||
(version-major+minor version)
|
||||
"/hwloc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1aqdznqp7f18yg95vbr5n6ccxxdiywacygvn3wbhzn7bnspkdsaj"))
|
||||
;; XXX: Remove after updating package from 2.13.0.
|
||||
(patches (search-patches "hwloc-add-with-opencl.patch"))))
|
||||
|
||||
(native-inputs (modify-inputs native-inputs
|
||||
(append autoconf)
|
||||
(append automake)
|
||||
(append libtool)
|
||||
(append opencl-headers)
|
||||
(append bash))) ;for completion tests
|
||||
(inputs (modify-inputs inputs
|
||||
;; XXX: rocm-smi requires libdrm/drm.h but doesn't propagate a
|
||||
;; package providing these. For now, libdrm is used to provide
|
||||
;; this header.
|
||||
(append libdrm)
|
||||
(append opencl-icd-loader)
|
||||
(append rocm-smi-lib)
|
||||
(delete "numactl"))) ;libnuma is no longer needed.
|
||||
(propagated-inputs (modify-inputs propagated-inputs
|
||||
;; hwloc.pc lists libze_loader and libxml2 in
|
||||
;; 'Requires.private' in 'hwloc.pc'.
|
||||
(append level-zero libxml2)))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/open-mpi/hwloc")
|
||||
(commit (string-append "hwloc-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1l9skkcizlv0qvw2lzmysndbm528xvszhiqq3569da157qpa5xav"))
|
||||
;; XXX: Remove after updating package from 2.13.0.
|
||||
(patches (search-patches "hwloc-add-with-opencl.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" ;'lstopo' & co., depends on Cairo, libx11, etc.
|
||||
"lib" ;small closure
|
||||
"doc" ;400+ section 3 man pages
|
||||
"debug"))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool opencl-headers bash pkg-config))
|
||||
(inputs
|
||||
(append (if (%current-target-system)
|
||||
'() ;fewer dependencies when cross-compiling
|
||||
(list libx11 cairo ncurses expat))
|
||||
(list
|
||||
;; XXX: rocm-smi requires libdrm/drm.h but doesn't
|
||||
;; propagate a package providing these. For now, libdrm is
|
||||
;; used to provide this header.
|
||||
libdrm
|
||||
opencl-icd-loader
|
||||
rocm-smi-lib)))
|
||||
(propagated-inputs
|
||||
;; hwloc.pc lists libze_loader and libxml2 in
|
||||
;; 'Requires.private' in 'hwloc.pc'.
|
||||
(list level-zero libpciaccess libxml2))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags '())
|
||||
#~(cons* (string-append "--with-opencl="
|
||||
#$(this-package-input "opencl-icd-loader"))
|
||||
"--enable-rsmi"
|
||||
(string-append "--with-rocm="
|
||||
#$(this-package-input "rocm-smi-lib"))
|
||||
#$flags))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'delete-configure
|
||||
(lambda _
|
||||
;; Remove configure file to generate it with patch.
|
||||
(delete-file "configure")))
|
||||
(replace 'skip-linux-libnuma-test
|
||||
(lambda _
|
||||
;; Arrange to skip 'tests/hwloc/linux-libnuma', which fails on
|
||||
;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
|
||||
(substitute* "tests/hwloc/linux-libnuma.c"
|
||||
(("numa_available\\(\\)")
|
||||
"-1"))))
|
||||
(add-before 'check 'skip-tests-that-require-/sys
|
||||
(lambda _
|
||||
;; 'test-gather-topology.sh' requires /sys as of 2.9.0; skip it.
|
||||
(setenv "HWLOC_TEST_GATHER_TOPOLOGY" "0")))
|
||||
(add-before 'check 'skip-test-that-fails-on-qemu
|
||||
(lambda _
|
||||
;; Skip test that fails on emulated hardware due to QEMU bug:
|
||||
;; <https://bugs.gnu.org/40342>.
|
||||
(substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
|
||||
(("hwloc_topology_init" all)
|
||||
(string-append "exit (77);\n" all)))))))))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list
|
||||
(string-append
|
||||
"--with-opencl=" #$(this-package-input "opencl-icd-loader"))
|
||||
"--enable-rsmi"
|
||||
(string-append "--with-rocm=" #$(this-package-input "rocm-smi-lib"))
|
||||
"--localstatedir=/var")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'skip-linux-libnuma-test
|
||||
(lambda _
|
||||
;; Arrange to skip 'tests/hwloc/linux-libnuma', which fails on
|
||||
;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
|
||||
(substitute* "tests/hwloc/linux-libnuma.c"
|
||||
(("numa_available\\(\\)")
|
||||
"-1"))))
|
||||
(add-after 'install 'refine-libnuma
|
||||
;; Give -L arguments for libraries to avoid propagation
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "lib"))
|
||||
(numa (assoc-ref inputs "numactl")))
|
||||
(substitute* (map (lambda (f) (string-append out "/" f))
|
||||
'("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
|
||||
(("-lnuma" lib)
|
||||
(string-append "-L" numa "/lib " lib))))))
|
||||
(add-after 'install 'avoid-circular-references
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((lib (assoc-ref outputs "lib")))
|
||||
;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
|
||||
;; "lib" output doesn't refer to "out".
|
||||
(substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
|
||||
(("^.*prefix=.*$")
|
||||
"")))))
|
||||
(add-after 'install 'move-man-pages
|
||||
(lambda _
|
||||
;; Move section 1 and 3 man pages to the "doc" output.
|
||||
(copy-recursively (string-append #$output "/share/man/man1")
|
||||
(string-append #$output:doc "/share/man/man1"))
|
||||
(copy-recursively (string-append #$output "/share/man/man7")
|
||||
(string-append #$output:doc "/share/man/man7"))
|
||||
(delete-file-recursively
|
||||
(string-append #$output "/share/man/man1"))
|
||||
(delete-file-recursively
|
||||
(string-append #$output "/share/man/man7"))))
|
||||
(add-before 'check 'skip-tests-that-require-/sys
|
||||
(lambda _
|
||||
;; 'test-gather-topology.sh' requires /sys as of 2.9.0; skip it.
|
||||
(setenv "HWLOC_TEST_GATHER_TOPOLOGY" "0")))
|
||||
(add-before 'check 'skip-test-that-fails-on-qemu
|
||||
(lambda _
|
||||
;; Skip test that fails on emulated hardware due to QEMU bug:
|
||||
;; <https://bugs.gnu.org/40342>.
|
||||
(substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
|
||||
(("hwloc_topology_init" all)
|
||||
(string-append "exit (77);\n" all))))))))
|
||||
(home-page "https://www.open-mpi.org/projects/hwloc/")
|
||||
(synopsis "Abstraction of hardware architectures")
|
||||
(description
|
||||
"hwloc provides a portable abstraction (across OS,
|
||||
versions, architectures, ...) of the hierarchical topology of modern
|
||||
architectures, including NUMA memory nodes, sockets, shared caches, cores and
|
||||
simultaneous multithreading. It also gathers various attributes such as cache
|
||||
and memory information. It primarily aims at helping high-performance
|
||||
computing applications with gathering information about the hardware so as to
|
||||
exploit it accordingly and efficiently.
|
||||
|
||||
hwloc may display the topology in multiple convenient formats. It also offers
|
||||
a powerful programming interface to gather information about the hardware,
|
||||
bind processes, and much more.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public hwloc
|
||||
;; The latest stable series of hwloc.
|
||||
|
||||
+23
-16
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2024 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2024,2026 Eric Bavier <bavier@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -20,35 +20,42 @@
|
||||
|
||||
(define-module (gnu packages nickle)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages ruby-xyz)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public nickle
|
||||
(package
|
||||
(name "nickle")
|
||||
(version "2.97")
|
||||
(version "2.107")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://nickle.org/release/nickle-"
|
||||
version ".tar.gz"))
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gqashcs3r0d1yp6rq6q2ayjdwsjxnd8z0ij55ayrbhn296l7mp2"))
|
||||
(patches (search-patches "nickle-man-release-date.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list readline))
|
||||
"1wli8p5fv2ldy51ycc8pcx8rl3ph2wbyiqs21qpjadlvildaaqj0"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-build-date
|
||||
(lambda _
|
||||
;; Our patch touches Makefile.am, but rather than rebootstrap,
|
||||
;; make the substitution directly in Makefile.in.
|
||||
(substitute* "Makefile.in"
|
||||
(("BUILD_DATE") "RELEASE_DATE")))))))
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(add-before 'configure 'disable-benchmarks
|
||||
;; Benchmarks would require `gmp` and don't
|
||||
;; test anything not already covered by other
|
||||
;; tests, so disable them here.
|
||||
(lambda _
|
||||
(substitute* "meson.build"
|
||||
(("^subdir\\('bench'\\)" &)
|
||||
(string-append "# " &))))))))
|
||||
(native-inputs (list bc bison flex pkg-config ruby-asciidoctor-pdf))
|
||||
(inputs (list readline))
|
||||
(synopsis "Numeric oriented programming language")
|
||||
(description
|
||||
"Nickle is a programming language based prototyping environment with
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
(define-public parallel
|
||||
(package
|
||||
(name "parallel")
|
||||
(version "20260222")
|
||||
(version "20260322")
|
||||
(outputs '("out" "doc"))
|
||||
(source
|
||||
(origin
|
||||
@@ -90,7 +90,7 @@
|
||||
(uri (string-append "mirror://gnu/parallel/parallel-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0j0zmq1klbvpz590vr2di8yvsniwixlhsmir7zfjy3rajx42l9y6"))
|
||||
(base32 "1q7g5f13nlwichgh0dk8w5fqjnfnxvwxk6rjy0fd5l7l6blq0ikn"))
|
||||
(snippet
|
||||
'(begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
This commit adds the patch that fixes:
|
||||
<https://github.com/lsof-org/lsof/issues/317>
|
||||
|
||||
The issue was triggering the following error in the `test` phase that
|
||||
resulted in a build failure in Linux 6.9 or higher:
|
||||
|
||||
FAIL: lib/dialects/linux/tests/case-20-pidfd-pid.bash
|
||||
|
||||
|
||||
From c1678e3f6e4b4d984cb3078b7bf0c9e24bedb8ca Mon Sep 17 00:00:00 2001
|
||||
From: Jiajie Chen <c@jia.je>
|
||||
Date: Fri, 17 May 2024 15:22:35 +0800
|
||||
Subject: [PATCH] [linux] Maintain original output for pidfd in linux 6.9
|
||||
|
||||
---
|
||||
00DIST | 3 +++
|
||||
lib/dialects/linux/dproc.c | 13 +++++++++++++
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/00DIST b/00DIST
|
||||
index d5a0349..9a29611 100644
|
||||
--- a/00DIST
|
||||
+++ b/00DIST
|
||||
@@ -5605,6 +5605,9 @@ Supplement Regenerated the 4.04 distribution to correct a non-
|
||||
|
||||
[linux] Do not embed kernel version in CFLAGS (#314)
|
||||
|
||||
+ [linux] Linux 6.9 changed the pidfs appearence in procfs. Try
|
||||
+ to maintain original output in lsof (#317)
|
||||
+
|
||||
|
||||
Vic Abell <abe@purdue.edu>
|
||||
July 14, 2018
|
||||
diff --git a/lib/dialects/linux/dproc.c b/lib/dialects/linux/dproc.c
|
||||
index cb6bb64..3a7a120 100644
|
||||
--- a/lib/dialects/linux/dproc.c
|
||||
+++ b/lib/dialects/linux/dproc.c
|
||||
@@ -1273,6 +1273,10 @@ static int process_id(struct lsof_context *ctx, /* context */
|
||||
#endif /* defined(HASEPTOPTS) */
|
||||
if (rest && rest[0] == '[' && rest[1] == 'p')
|
||||
fdinfo_mask |= FDINFO_PID;
|
||||
+ else if (Lf->ntype == N_REGLR && rest && *rest && strcmp(pbuf, "pidfd") == 0) {
|
||||
+ // https://github.com/lsof-org/lsof/issues/317
|
||||
+ fdinfo_mask |= FDINFO_PID;
|
||||
+ }
|
||||
|
||||
if ((av = get_fdinfo(ctx, pathi, fdinfo_mask, &fi)) &
|
||||
FDINFO_POS) {
|
||||
@@ -1338,6 +1342,15 @@ static int process_id(struct lsof_context *ctx, /* context */
|
||||
Lf->sf |= SELPTYINFO;
|
||||
}
|
||||
#endif /* defined(HASEPTOPTS) && defined(HASPTYEPT) */
|
||||
+ else if (Lf->ntype == N_REGLR && rest && *rest && Lf->nm &&
|
||||
+ strcmp(Lf->nm, "pidfd") == 0) {
|
||||
+ // https://github.com/lsof-org/lsof/issues/317
|
||||
+ // pidfd since Linux 6.9 becomes a regular file:
|
||||
+ // /proc/PID/fd/FD -> pidfd:[INODE]
|
||||
+ (void)snpf(rest, sizeof(pbuf) - (rest - pbuf),
|
||||
+ "[pidfd:%d]", fi.pid);
|
||||
+ enter_nm(ctx, rest);
|
||||
+ }
|
||||
|
||||
if (Lf->sf)
|
||||
link_lfile(ctx);
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
Submitted close to upstream at
|
||||
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1070162
|
||||
|
||||
From 95ff7e9de4ed815e060b1df59b5b2b105307e0d7 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Bavier <bavier@posteo.net>
|
||||
Date: Mon, 29 Apr 2024 23:34:15 -0500
|
||||
Subject: [PATCH] Fixes substitution of REALEASE_DATE in nickle.1
|
||||
|
||||
* Makefile.am (nickle.1): 'BUILD_DATE' -> 'RELEASE_DATE'.
|
||||
* nickle.1.in: Include version in footer.
|
||||
---
|
||||
Makefile.am | 2 +-
|
||||
nickle.1.in | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index ba28ec9..5ed56a3 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -96,7 +96,7 @@ RELEASE_FILES = $(TARFILE) $(SIGFILE) $(SRPMFILE) $(RPMFILE)
|
||||
|
||||
nickle.1: nickle.1.in nickle-config.h
|
||||
sed -e 's,@''VERSION@,$(VERSION),' \
|
||||
- -e 's,@''BUILD_DATE@,$(BUILD_DATE),' \
|
||||
+ -e 's,@''RELEASE_DATE@,$(RELEASE_DATE),' \
|
||||
-e 's,@''pkgdatadir@,$(pkgdatadir),' $(top_srcdir)/nickle.1.in > $@
|
||||
|
||||
nickle.spec: nickle.spec.in nickle-config.h
|
||||
diff --git a/nickle.1.in b/nickle.1.in
|
||||
index 4871ac2..1ab9e08 100644
|
||||
--- a/nickle.1.in
|
||||
+++ b/nickle.1.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-.TH NICKLE 1 "@RELEASE_DATE@"
|
||||
+.TH NICKLE 1 "@RELEASE_DATE@" "nickle @VERSION@"
|
||||
.SH NAME
|
||||
nickle \- a desk calculator language
|
||||
.SH SYNOPSIS
|
||||
--
|
||||
2.41.0
|
||||
|
||||
+23
-20
@@ -957,33 +957,36 @@ highlighting tool to ease code review from your terminal.")
|
||||
(define-public difftastic
|
||||
(package
|
||||
(name "difftastic")
|
||||
(version "0.63.0")
|
||||
(version "0.68.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "difftastic" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0md332fch4b87akdvljzxp4m2k5yri7cpkz3n54jc762j7j9qmrz"))))
|
||||
(base32 "012h76wx5jv6czc9j4awfan7vhrc6g5fdgnxrjmzg5q27wn99hn6"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:install-source? #f
|
||||
#:cargo-test-flags
|
||||
`("--release" "--"
|
||||
"--skip=display::side_by_side::tests::test_display_hunks"
|
||||
"--skip=display::style::tests::split_string_cjk"
|
||||
"--skip=display::style::tests::split_string_cjk2"
|
||||
"--skip=display::style::tests::split_string_simple"
|
||||
"--skip=display::style::tests::split_string_unicode"
|
||||
"--skip=display::style::tests::test_combining_char"
|
||||
"--skip=display::style::tests::test_split_and_apply"
|
||||
,(string-append "--skip=display::style::tests::"
|
||||
"test_split_and_apply_gap_between_styles_on_wrap_boundary")
|
||||
"--skip=display::style::tests::test_split_and_apply_trailing_text"
|
||||
"--skip=display::style::tests::test_split_and_apply_trailing_text_newline")))
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:cargo-test-flags
|
||||
'(list "--"
|
||||
"--skip=display::side_by_side::tests::test_display_hunks"
|
||||
"--skip=display::style")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; jemalloc needs unbundling for tikv-jemallocator-sys
|
||||
(add-before 'build 'override-jemalloc
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((jemalloc (assoc-ref inputs "jemalloc")))
|
||||
;; This flag is needed when not using the bundled jemalloc.
|
||||
;; https://github.com/tikv/jemallocator/issues/19
|
||||
(setenv
|
||||
"CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS" "1")
|
||||
(setenv "JEMALLOC_OVERRIDE"
|
||||
(string-append jemalloc "/lib/libjemalloc.so"))))))))
|
||||
(inputs
|
||||
(cons mimalloc (cargo-inputs 'difftastic)))
|
||||
(cons jemalloc (cargo-inputs 'difftastic)))
|
||||
(home-page "https://difftastic.wilfred.me.uk/")
|
||||
(synopsis "Structural diff command that understands syntax")
|
||||
(description
|
||||
@@ -3791,14 +3794,14 @@ background agent taking care of maintaining the necessary state.")
|
||||
(define-public rust-cargo-c
|
||||
(package
|
||||
(name "rust-cargo-c")
|
||||
(version "0.10.20+cargo-0.94.0")
|
||||
(version "0.10.21+cargo-0.95.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cargo-c" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0q1198xlkcd50nxx722s18lpm6hacnvzqqacb0xdld8ll9z3m5ay"))))
|
||||
(base32 "14bfybh3gzcrk7h22xxxhib1zc3m95j52ib258wxv64n939gln54"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments (list #:install-source? #f))
|
||||
(native-inputs
|
||||
|
||||
+819
-378
File diff suppressed because it is too large
Load Diff
+20
-5
@@ -1830,8 +1830,8 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(define-public rust-1.94
|
||||
(let ((base-rust
|
||||
(rust-bootstrapped-package
|
||||
rust-1.93 "1.94.0"
|
||||
"0k274dla70wnajjli2w80by9k4nqf2wah1lw9xhzy8gkscf94gxq")))
|
||||
rust-1.93 "1.94.1"
|
||||
"056mbblkhn5ig62v09r6938qmnb09ygy32n62vvwvqqjbxi2l52c")))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(source
|
||||
@@ -1901,7 +1901,7 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
;;; Here we take the latest included Rust, make it public, and re-enable tests
|
||||
;;; and extra components such as rustfmt.
|
||||
(define-public rust
|
||||
(let ((base-rust rust-1.93))
|
||||
(let ((base-rust rust-1.94))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(properties (append
|
||||
@@ -1922,6 +1922,17 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(cons '(srfi srfi-26) modules))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'patch-shebangs-in-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion
|
||||
"src/tools/rust-analyzer/crates/parser/test_data"
|
||||
(substitute* '("lexer/ok/shebang_frontmatter.rast"
|
||||
"parser/inline/ok/frontmatter.rast")
|
||||
(("/usr/bin/env cargo")
|
||||
(search-input-file inputs "bin/cargo")))
|
||||
(substitute* "lexer/ok/single_line_comments.rast"
|
||||
(("/usr/bin/env bash")
|
||||
(search-input-file inputs "bin/bash"))))))
|
||||
(add-after 'unpack 'disable-tests-requiring-git
|
||||
(lambda _
|
||||
(substitute* "src/tools/cargo/tests/testsuite/publish_lockfile.rs"
|
||||
@@ -2063,6 +2074,7 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
"library/std" ;rustc
|
||||
"src/tools/cargo"
|
||||
"src/tools/clippy"
|
||||
"src/tools/llvm-bitcode-linker"
|
||||
"src/tools/rust-analyzer"
|
||||
"src/tools/rustfmt"))))
|
||||
(replace 'check
|
||||
@@ -2082,7 +2094,10 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(replace 'install
|
||||
;; Phase overridden to also install more tools.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "./x.py" "install")
|
||||
;; Install rustc, std, and llvm-bitcode-linker.
|
||||
;; rust-src is handled separately in 'install-rust-src'.
|
||||
(invoke "./x.py" "install" "compiler/rustc" "library/std"
|
||||
"llvm-bitcode-linker")
|
||||
(substitute* "config.toml"
|
||||
;; Adjust the prefix to the 'cargo' output.
|
||||
(("prefix = \"[^\"]*\"")
|
||||
@@ -2130,7 +2145,7 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(with-directory-excursion
|
||||
(string-append (assoc-ref outputs "rust-src")
|
||||
"/lib/rustlib/src/rust/src/tools/")
|
||||
(substitute* (find-files "." "\\.rs$")
|
||||
(substitute* (find-files "." "\\.(rs|rast)$")
|
||||
(("#!.*/bin/cargo")
|
||||
(string-append "#!" (assoc-ref outputs "cargo")
|
||||
"/bin/cargo"))))))
|
||||
|
||||
+43
-47
@@ -4223,7 +4223,7 @@ be used for realtime video capture via Linux-specific APIs.")
|
||||
"-DENABLE_QSV11=OFF"
|
||||
"-DENABLE_NVENC=OFF"
|
||||
;; Requires a custom version of websocketpp in inputs, that's
|
||||
;; patched to be compatible with recent versions of Boost
|
||||
;; patched to be compatible with recent versions of Boost
|
||||
"-DENABLE_WEBSOCKET=ON"
|
||||
;; Browser plugin requires cef, but it is not packaged yet.
|
||||
;; <https://bitbucket.org/chromiumembedded/cef/src/master/>
|
||||
@@ -6486,7 +6486,7 @@ and audio capture, network stream playback, and many more.")
|
||||
(define-public dav1d
|
||||
(package
|
||||
(name "dav1d")
|
||||
(version "1.5.1")
|
||||
(version "1.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6495,7 +6495,7 @@ and audio capture, network stream playback, and many more.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1n0b5m4srdjsqg15plc9fng5kjv14ygqahjxy8863fbzhr13vjx9"))))
|
||||
(base32 "0x19r721gf91a37xqm70j7qcpadyd3m9lcf1lasxq73wnby5lxqk"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(if (target-x86?)
|
||||
@@ -6777,63 +6777,59 @@ result in several formats:
|
||||
(define-public rav1e
|
||||
(package
|
||||
(name "rav1e")
|
||||
(version "0.7.1")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "rav1e" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1sawva6nmj2fvynydbcirr3nb7wjyg0id2hz2771qnv6ly0cx1yd"))))
|
||||
(base32 "0axk3ji3jmlr81svmsy5zvj8shmhpp8lz5nyghkq752xx1bdvdj3"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:install-source? #f
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:modules '((guix build cargo-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "cargo" "cinstall" "--release"
|
||||
;; Only build the dynamic library.
|
||||
"--library-type" "cdylib"
|
||||
(string-append "--prefix=" out)))))
|
||||
(add-after 'install 'install-completions
|
||||
(lambda* (#:key native-inputs outputs #:allow-other-keys)
|
||||
(unless ,(%current-target-system)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share"))
|
||||
(bash-completions-dir
|
||||
(string-append out "/etc/bash_completion.d"))
|
||||
(zsh-completions-dir
|
||||
(string-append share "/zsh/site-functions"))
|
||||
(fish-completions-dir
|
||||
(string-append share "/fish/vendor_completions.d"))
|
||||
(elvish-completions-dir
|
||||
(string-append share "/elvish/lib"))
|
||||
(rav1e (string-append out "/bin/rav1e"))
|
||||
(common-flags '("-" "-o" "-" "advanced" "--completion")))
|
||||
(mkdir-p bash-completions-dir)
|
||||
(with-output-to-file
|
||||
(string-append bash-completions-dir "/rav1e")
|
||||
(lambda _ (apply invoke rav1e (append common-flags '("bash")))))
|
||||
(mkdir-p zsh-completions-dir)
|
||||
;; This one currently fails to build.
|
||||
;(with-output-to-file
|
||||
; (string-append zsh-completions-dir "/_rav1e")
|
||||
; (lambda _ (apply invoke rav1e (append common-flags '("zsh")))))
|
||||
(mkdir-p fish-completions-dir)
|
||||
(with-output-to-file
|
||||
(string-append fish-completions-dir "/rav1e.fish")
|
||||
(lambda _ (apply invoke rav1e (append common-flags '("fish")))))
|
||||
(mkdir-p elvish-completions-dir)
|
||||
(with-output-to-file
|
||||
(string-append elvish-completions-dir "/rav1e")
|
||||
(lambda _
|
||||
(apply invoke rav1e (append common-flags '("elvish"))))))))))))
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "cargo" "cinstall" "--release"
|
||||
;; Only build the dynamic library.
|
||||
"--library-type" "cdylib"
|
||||
(string-append "--prefix=" out)))))
|
||||
(add-after 'install 'install-completions
|
||||
(lambda* (#:key native-inputs #:allow-other-keys)
|
||||
(for-each
|
||||
(match-lambda
|
||||
((shell . path)
|
||||
(mkdir-p (in-vicinity #$output (dirname path)))
|
||||
(let ((binary
|
||||
(if #$(%current-target-system)
|
||||
(search-input-file native-inputs "bin/rav1e")
|
||||
(in-vicinity #$output "bin/rav1e"))))
|
||||
(with-output-to-file (in-vicinity #$output path)
|
||||
(lambda _
|
||||
(invoke binary
|
||||
"-" "-o"
|
||||
"-" "advanced"
|
||||
"--completion" shell))))))
|
||||
'(("bash" . "share/bash-completion/completions/rav1e")
|
||||
("elvish" . "share/elvish/lib/rav1e")
|
||||
("fish" . "share/fish/vendor_completions.d/rav1e.fish")
|
||||
;; This one currently fails to build.
|
||||
;("zsh" . "share/zsh/site-functions/_rav1e")
|
||||
)))))))
|
||||
(native-inputs
|
||||
(append (if (target-x86?)
|
||||
(list nasm)
|
||||
'())
|
||||
(if (%current-target-system)
|
||||
(list this-package)
|
||||
'())
|
||||
(list pkg-config rust-cargo-c)))
|
||||
(inputs
|
||||
(cons* libgit2-1.9 zlib (cargo-inputs 'rav1e)))
|
||||
|
||||
@@ -390,10 +390,20 @@ directory = '" vendor-dir "'") port)
|
||||
(for-each
|
||||
(lambda (crate)
|
||||
(invoke "tar" "xzf" crate "-C" vendor-dir))
|
||||
(find-files "target/package" "\\.crate$"))
|
||||
(map (lambda (f) (string-append "target/package/" f))
|
||||
(scandir "target/package"
|
||||
(lambda (f) (string-suffix? ".crate" f)))))
|
||||
(patch-cargo-checksums #:vendor-dir vendor-dir))
|
||||
cargo-package-crates))
|
||||
|
||||
;; Cargo creates target/package/tmp-crate/ as scratch space during
|
||||
;; packaging and leaves .crate file copies there after uplifting them
|
||||
;; to target/package/. Delete it so the repacking scandir does not
|
||||
;; pick the tmp-crate directory instead of the extracted crate
|
||||
;; directory when crate names sort after "tmp-crate" alphabetically.
|
||||
(when (file-exists? "target/package/tmp-crate")
|
||||
(delete-file-recursively "target/package/tmp-crate"))
|
||||
|
||||
;; Then unpack the crate, reset the timestamp of all contained files, and
|
||||
;; repack them. This is necessary to ensure that they are reproducible.
|
||||
(with-directory-excursion "target/package"
|
||||
|
||||
Reference in New Issue
Block a user