[PATCH 00/13] Add support for Linux `make dtbs_check`

  • Open
  • quality assurance status badge
Details
3 participants
  • Efraim Flashner
  • Leo Famulari
  • Mathieu Othacehe
Owner
unassigned
Submitted by
Mathieu Othacehe
Severity
normal
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:06
(address . guix-patches@gnu.org)
cover.1703494195.git.othacehe@gnu.org
Hello,

This adds support for `make dtbs_check` in a Linux checkout from within a
`guix shell -D linux-libre` environment.

This allows to check device trees against the JSON schema that is made up from
the Linux dt-bindings documentation.

This requires an update of python-jsonschema, which in turn requires
python-attrs > 22.2.0. On master, we only have python-attrs == 21.2.0. That
means that patches 0008 to 0013 are targeting the python-team branch.

Thanks,

Mathieu

Mathieu Othacehe (13):
gnu: dtc: Update to 1.7.0.
gnu: python-trove-classifiers: Update to 2023.11.29.
gnu: Add rust-unsize-1.
gnu: Add rust-triomphe-0.1.
gnu: Add rust-compiletest-rs-0.10.
gnu: Add rust-archery-1.
gnu: Add rust-rpds-1.
gnu: Add python-rpds-py.
gnu: Add python-referencing.
gnu: Add python-jsonschema-specifications.
gnu: python-jsonschema: Update to 4.17.3.
gnu: Add python-dtschema.
gnu: linux-libre: Add python-dtschema.

gnu/local.mk | 1 +
gnu/packages/bootloaders.scm | 100 ++++++++++---
gnu/packages/crates-io.scm | 135 ++++++++++++++++++
gnu/packages/linux.scm | 4 +
.../patches/dtc-meson-cell-overflow.patch | 32 +++++
gnu/packages/python-build.scm | 4 +-
gnu/packages/python-xyz.scm | 115 +++++++++++++--
7 files changed, 358 insertions(+), 33 deletions(-)
create mode 100644 gnu/packages/patches/dtc-meson-cell-overflow.patch


base-commit: 0d13d095420861022e68e87ceebd5e037e12a8b3
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 01/13] gnu: dtc: Update to 1.7.0.
(address . 68023@debbugs.gnu.org)
9946d80edc86aa465acc39b9c51094c65c2c5bf1.1703494195.git.othacehe@gnu.org
Enable the python bindings and switch to the meson build system that handles
the python bindings better than the Makefile build system here.

* gnu/packages/patches/dtc-meson-cell-overflow.patch: New file
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/bootloaders.scm (dtc): Update to 1.7.0.
[build-system]: Switch to the meson-build-system.
[arguments]: Remove #:make-flags. Add a new 'preparations phase. Do not edit
the Makefile in the 'patch-pkg-config phase. Remove the 'configure phase.

Change-Id: Ie61c920829ab3a8c32f4924c694dba6bda807711
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
---
gnu/local.mk | 1 +
gnu/packages/bootloaders.scm | 57 ++++++++++++-------
.../patches/dtc-meson-cell-overflow.patch | 32 +++++++++++
3 files changed, 70 insertions(+), 20 deletions(-)
create mode 100644 gnu/packages/patches/dtc-meson-cell-overflow.patch

Toggle diff (158 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index a472c62acb..91a34983c8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1093,6 +1093,7 @@ dist_patch_DATA = \
%D%/packages/patches/doxygen-hurd.patch \
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
%D%/packages/patches/dstat-skip-devices-without-io.patch \
+ %D%/packages/patches/dtc-meson-cell-overflow.patch \
%D%/packages/patches/dune-common-skip-failing-tests.patch \
%D%/packages/patches/dune-grid-add-missing-include-cassert.patch \
%D%/packages/patches/dune-istl-fix-solver-playground.patch \
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index bd8b621e35..f8ba93ce01 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -55,6 +55,8 @@ (define-module (gnu packages bootloaders)
#:use-module (gnu packages man)
#:use-module (gnu packages mtools)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages ninja)
+ #:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -71,6 +73,7 @@ (define-module (gnu packages bootloaders)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system trivial)
#:use-module (guix download)
@@ -631,7 +634,7 @@ (define-public syslinux
(define-public dtc
(package
(name "dtc")
- (version "1.6.1")
+ (version "1.7.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -639,42 +642,56 @@ (define-public dtc
"dtc-" version ".tar.gz"))
(sha256
(base32
- "0xm38h31jb29xfh2sfyk48d8wdfq4b8lmb412zx9vjr35izjb9iq"))))
- (build-system gnu-build-system)
+ "0cij9399snpn672pdbda8qbxljdkfg068kvv3g5811rz6yslx124"))
+ (patches
+ (search-patches "dtc-meson-cell-overflow.patch"))))
+ (build-system meson-build-system)
(arguments
(list
- #:modules `(,@%gnu-build-system-modules (srfi srfi-26))
- #:make-flags
- #~(list (string-append "CC=" #$(cc-for-target))
- ;; /bin/fdt{get,overlay,put} need help finding libfdt.so.1.
- (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
- (string-append "PREFIX=" #$output)
- (string-append "SETUP_PREFIX=" #$output)
- "INSTALL=install")
+ #:modules '((guix build meson-build-system)
+ (guix build utils)
+ (srfi srfi-26))
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'patch-pkg-config
+ (add-after 'unpack 'preparations
(lambda _
- (substitute* '("Makefile"
- "tests/run_tests.sh")
- (("pkg-config")
- #$(pkg-config-for-target)))))
- (delete 'configure) ;no configure script
- (add-before 'build 'install-doc
+ ;; The version string is usually derived via setuptools-scm, but
+ ;; without the git metadata available this fails.
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
+
+ ;; Needed by setup.py.
+ (setenv "DESTDIR" "/")
+
+ ;; Native gcc needed by run_test.sh.
+ (setenv "CC" "gcc")
+
+ ;; /bin/fdt{get,overlay,put} need help finding libfdt.so.1.
+ (setenv "LDFLAGS"
+ (string-append "-Wl,-rpath=" #$output "/lib"))))
+ (add-after 'unpack 'install-doc
(lambda _
(with-directory-excursion "Documentation"
(for-each (cut install-file <> (string-append
#$output "/share/doc/dtc/"))
'("dts-format.txt"
"dt-object-internal.txt"
- "manual.txt"))))))))
+ "manual.txt")))))
+ (add-after 'unpack 'patch-pkg-config
+ (lambda _
+ (substitute* '("tests/run_tests.sh")
+ (("pkg-config")
+ #$(pkg-config-for-target))))))))
(native-inputs
(append
(list bison
flex
libyaml
+ ninja
pkg-config
- swig)
+ python
+ python-setuptools-scm
+ swig
+ which)
(if (member (%current-system) (package-supported-systems valgrind))
(list valgrind)
'())))
diff --git a/gnu/packages/patches/dtc-meson-cell-overflow.patch b/gnu/packages/patches/dtc-meson-cell-overflow.patch
new file mode 100644
index 0000000000..1c319312f7
--- /dev/null
+++ b/gnu/packages/patches/dtc-meson-cell-overflow.patch
@@ -0,0 +1,32 @@
+Taken from upstream:
+https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?id=32174a66efa4ad19fc6a2a6422e4af2ae4f055cb
+
+From 32174a66efa4ad19fc6a2a6422e4af2ae4f055cb Mon Sep 17 00:00:00 2001
+From: David Gibson <david@gibson.dropbear.id.au>
+Date: Tue, 28 Feb 2023 10:33:58 +1100
+Subject: [PATCH] meson: Fix cell overflow tests when running from meson
+
+Because meson always builds out-of-tree we need to reference things in the
+original source tree via $SRCDIR from run_tests.sh. We forgot a couple of
+cases for the cell overflow tests. Fix them.
+
+Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
+---
+ tests/run_tests.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/run_tests.sh b/tests/run_tests.sh
+index 91350ad3..f899d8cb 100755
+--- a/tests/run_tests.sh
++++ b/tests/run_tests.sh
+@@ -519,8 +519,8 @@ libfdt_tests () {
+ check_tests "$SRCDIR/phandle-args-overflow.dts" clocks_property
+
+ ## https://github.com/dgibson/dtc/issues/74
+- run_dtc_test -I dts -O dtb -o cell-overflow-results.test.dtb cell-overflow-results.dts
+- run_dtc_test -I dts -O dtb -o cell-overflow.test.dtb cell-overflow.dts
++ run_dtc_test -I dts -O dtb -o cell-overflow-results.test.dtb "$SRCDIR/cell-overflow-results.dts"
++ run_dtc_test -I dts -O dtb -o cell-overflow.test.dtb "$SRCDIR/cell-overflow.dts"
+ run_test dtbs_equal_ordered cell-overflow.test.dtb cell-overflow-results.test.dtb
+
+ # check full tests
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 02/13] gnu: python-trove-classifiers: Update to 2023.11.29.
(address . 68023@debbugs.gnu.org)
89d4b017377054f2b235f16557765fbf7d799bc0.1703494195.git.othacehe@gnu.org
* gnu/packages/python-build.scm (python-trove-classifiers): Update to 2023.11.29.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I18e05632ba27dc64e2831b691a7d3c586d2d9f5e
---
gnu/packages/python-build.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index bb1df3e9aa..5508b5677e 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -196,13 +196,13 @@ (define-public python-tomli
(define-public python-trove-classifiers
(package
(name "python-trove-classifiers")
- (version "2023.3.9")
+ (version "2023.11.29")
(source (origin
(method url-fetch)
(uri (pypi-uri "trove-classifiers" version))
(sha256
(base32
- "00xvldq94dy0zxz40idbbx40smrkfvq75r26ywszxg6lq7wg4hpf"))))
+ "054m1fa2w7yr03dnb30cciiwr480qx16gvz78qxi2ckr5kc7z3zz"))))
(build-system pyproject-build-system)
(arguments (list #:build-backend "setuptools.build_meta"
#:tests? #f)) ;keep dependencies to a minimum
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 03/13] gnu: Add rust-unsize-1.
(address . 68023@debbugs.gnu.org)
91bf580066833dc22ad52c498bec17c762bf0966.1703494195.git.othacehe@gnu.org
* gnu/packages/crates-io.scm (rust-unsize-1): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: Iae3dcb97809622e79ae6dc74ed94723ff1da8e29
---
gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4af4e51a1a..b552fbb1c3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -85437,6 +85437,26 @@ (define-public rust-unsafe-unwrap-0.1
"This crate enables unchecked unwrapping on Option and Result types.")
(license (list license:expat license:asl2.0))))
+(define-public rust-unsize-1
+ (package
+ (name "rust-unsize")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "unsize" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0fd9lzdhkahygxy9b348m0fs4wlldh5ymp1dcr56d9f16jksg9sg"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1))))
+ (home-page "https://github.com/HeroicKatora/static-alloc")
+ (synopsis "Stable alternative to CoerceUnsize")
+ (description
+ "This package provides a stable alternative to @code{CoerceUnsize}.")
+ (license (list license:expat license:asl2.0 license:zlib))))
+
(define-public rust-untrusted-0.7
(package
(name "rust-untrusted")
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 04/13] gnu: Add rust-triomphe-0.1.
(address . 68023@debbugs.gnu.org)
ecb2cb9095d21b72bb14ab31dc17e6416da7bd48.1703494195.git.othacehe@gnu.org
* gnu/packages/crates-io.scm (rust-triomphe-0.1): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I4bd9ea34b30ae03f8f8dbc4a083d6e246c746ee5
---
gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b552fbb1c3..18b26f4c50 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -82710,6 +82710,31 @@ (define-public rust-treeline-0.1
"This package provides a library for visualizing tree structured data.")
(license license:expat)))
+(define-public rust-triomphe-0.1
+ (package
+ (name "rust-triomphe")
+ (version "0.1.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "triomphe" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1crf71hndy3fc68x8v4aikkdjynp4n5sdhq28sck8x7frx8bd7l5"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-arc-swap" ,rust-arc-swap-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
+ ("rust-unsize" ,rust-unsize-1))))
+ (home-page "https://github.com/Manishearth/triomphe")
+ (synopsis
+ "Fork of std::sync::Arc with some extra functionality")
+ (description
+ "This package provides a fork of std::sync::Arc with some extra
+functionality and without weak references (originally servo_arc).")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-triple-accel-0.4
(package
(name "rust-triple-accel")
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 05/13] gnu: Add rust-compiletest-rs-0.10.
(address . 68023@debbugs.gnu.org)
04cf62d89dfa23b4f3ba8db316171d11cd3c86ef.1703494195.git.othacehe@gnu.org
* gnu/packages/crates-io.scm (rust-compiletest-rs-0.10): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: Ibd6fc9fa1803df3a804801a10923b8b70c1f4073
---
gnu/packages/crates-io.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 18b26f4c50..b09fbbd05f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14949,6 +14949,43 @@ (define-public rust-compiler-error-0.1
(description "This package provides a triggerable compiler error for Rust.")
(license license:expat)))
+(define-public rust-compiletest-rs-0.10
+ (package
+ (name "rust-compiletest-rs")
+ (version "0.10.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "compiletest_rs" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1mn0v8qax92pl9kdf2csah79jyigzvndg8mil6rpn97rpkhzw9bj"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-diff" ,rust-diff-0.1)
+ ("rust-filetime" ,rust-filetime-0.2)
+ ("rust-getopts" ,rust-getopts-0.2)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-miow" ,rust-miow-0.3)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-rustfix" ,rust-rustfix-0.6)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-derive" ,rust-serde-derive-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-tempfile" ,rust-tempfile-3)
+ ("rust-tester" ,rust-tester-0.9)
+ ("rust-winapi" ,rust-winapi-0.3))))
+ (home-page "https://github.com/Manishearth/compiletest-rs")
+ (synopsis
+ "Extraction of the compiletest utility from the Rust compiler")
+ (description
+ "This package provides an extraction of the compiletest utility from the
+Rust compiler.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-compiletest-rs-0.3
(package
(name "rust-compiletest-rs")
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 06/13] gnu: Add rust-archery-1.
(address . 68023@debbugs.gnu.org)
8e25849ab27e89dacccf20bae7d32ec7b8af98c9.1703494195.git.othacehe@gnu.org
* gnu/packages/crates-io.scm (rust-archery-1): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: Ie0b29e5c3163e0202327ce5661393ee1d3925d89
---
gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b09fbbd05f..b7f39ff8ff 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4096,6 +4096,32 @@ (define-public rust-arc-swap-0.4
("rust-proptest" ,rust-proptest-0.9)
("rust-version-sync" ,rust-version-sync-0.9))))))
+(define-public rust-archery-1
+ (package
+ (name "rust-archery")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "archery" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1lp7lq613dd21ay15gzbl8s5r91c96iia000rs358xk217v5aya8"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-static-assertions" ,rust-static-assertions-1)
+ ("rust-triomphe" ,rust-triomphe-0.1))
+ #:cargo-development-inputs
+ (("rust-compiletest-rs" ,rust-compiletest-rs-0.10)
+ ("rust-criterion" ,rust-criterion-0.5)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-1))))
+ (home-page "https://github.com/orium/archery")
+ (synopsis "Abstract over the atomicity of reference-counting pointers")
+ (description "This package provides a way to abstract @code{Rc} and
+@code{Arc} smart pointers. It can also create data structures where
+the pointer type is parameterizable.")
+ (license license:mpl2.0)))
+
(define-public rust-arg-enum-proc-macro-0.3
(package
(name "rust-arg-enum-proc-macro")
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 07/13] gnu: Add rust-rpds-1.
(address . 68023@debbugs.gnu.org)
eb0b287793fca84c97b01940b07011535a9108f6.1703494195.git.othacehe@gnu.org
* gnu/packages/crates-io.scm (rust-rpds-1): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I91b02a357e679ab4b8361bf232d2fec473a5f910
---
gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b7f39ff8ff..65b90fed6f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -64093,6 +64093,33 @@ (define-public rust-rpassword-4
(sha256
(base32 "17z99xazhhbaczw0ib1vnnq450j0zacdn8b2zcbdir68sdbicdwr"))))))
+(define-public rust-rpds-1
+ (package
+ (name "rust-rpds")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rpds" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "194hjbsicmgqi3dyllqrz09mmhh597m2j9l49lr16cyfscambqd0"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-archery" ,rust-archery-1)
+ ("rust-serde" ,rust-serde-1))
+ #:cargo-development-inputs
+ (("rust-bincode" ,rust-bincode-1)
+ ("rust-criterion" ,rust-criterion-0.5)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-1)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-static-assertions" ,rust-static-assertions-1))))
+ (home-page "https://github.com/orium/rpds")
+ (synopsis "Persistent data structures with structural sharing")
+ (description "This package provides support for fully persistent data
+structures with structural sharing.")
+ (license license:mpl2.0)))
+
(define-public rust-runtime-0.3
(package
(name "rust-runtime")
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 08/13] gnu: Add python-rpds-py.
(address . 68023@debbugs.gnu.org)
ffbc163fb929637172337bcc5856ab4dd9704763.1703494195.git.othacehe@gnu.org
* gnu/packages/python-xyz.scm (python-rpds-py): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I6f4d80cc7a9a3d591fcf894375ef14e079573c0d
---
gnu/packages/python-xyz.scm | 40 +++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cab44be011..4d3041db2c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -34054,6 +34054,46 @@ (define-public python-types-orjson
etc. to check code that uses @code{orjson}.")
(license license:asl2.0)))
+(define-public python-rpds-py
+ (package
+ (name "python-rpds-py")
+ (version "0.10.6")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "rpds_py" version))
+ (sha256
+ (base32
+ "0l5slkvhq2vf64mapimmj6ginsv01mc4niyj90vvz3assq4agrac"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:imported-modules `(,@%cargo-build-system-modules
+ ,@%pyproject-build-system-modules)
+ #:modules '((guix build cargo-build-system)
+ ((guix build pyproject-build-system) #:prefix py:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'prepare-python-module 'build-python-module
+ (assoc-ref py:%standard-phases 'build))
+ (add-after 'build-python-module 'install-python-module
+ (assoc-ref py:%standard-phases 'install)))
+ #:cargo-inputs
+ `(("rust-archery" ,rust-archery-1)
+ ("rust-pyo3" ,rust-pyo3-0.19)
+ ("rust-rpds" ,rust-rpds-1))
+ #:install-source? #false))
+ (inputs
+ (list maturin))
+ (native-inputs
+ (list python-wrapper))
+ (home-page "https://github.com/crate-py/rpds")
+ (synopsis "Bindings to Rust rpds for persistent data structures")
+ (description "This package provides Python bindings to the Rust rpds crate
+for persistent data structures. It was written initially to support replacing
+@code{python-pyrsistent}.")
+ (license license:expat)))
+
(define-public python-nanoid
;; There are no tests on PyPi.
(let ((commit "061f9a598f310b0e2e91b9ed6ce725a22770da64")
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 09/13] gnu: Add python-referencing.
(address . 68023@debbugs.gnu.org)
b8d8083c35897ce1b5aa6a5549296318b849e089.1703494195.git.othacehe@gnu.org
* gnu/packages/python-xyz.scm (python-referencing): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I90cfdb3efb0726b445ba35f0336e0a966534d577
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4d3041db2c..e80e3c9089 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -30650,6 +30650,31 @@ (define-public python-reflink
implementations.")
(license license:expat)))
+(define-public python-referencing
+ (package
+ (name "python-referencing")
+ (version "0.32.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "referencing" version))
+ (sha256
+ (base32 "0qb1zp46ma004wrnflxlzy413ygiiqqk66dpazyxqhqq2bz697k8"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f))
+ (native-inputs
+ (list python-hatchling
+ python-hatch-fancy-pypi-readme
+ python-hatch-vcs
+ python-trove-classifiers))
+ (propagated-inputs (list python-attrs python-rpds-py))
+ (home-page "https://github.com/python-jsonschema/referencing")
+ (synopsis "JSON reference resolution")
+ (description "This package provides a way for JSON Schema tooling to
+resolve the @code{$ref} keywords across all drafts without needing to
+implement support themselves.")
+ (license license:expat)))
+
(define-public python-retry
(package
(name "python-retry")
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 10/13] gnu: Add python-jsonschema-specifications.
(address . 68023@debbugs.gnu.org)
8a52cc7f8acddedeaf62b7d57b5145aa6ecdfd02.1703494195.git.othacehe@gnu.org
* gnu/packages/python-xyz.scm (python-jsonschema-specifications): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I967800d6867d6a6405230aa48ed4a06ee3d42d14
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e80e3c9089..c4d6d20751 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5038,6 +5038,32 @@ (define-public python-schema-0.5
(base32
"10zqvpaky51kgb8nd42bk7jwl8cn2zvayxjpdc1wwmpybj92x67s"))))))
+(define-public python-jsonschema-specifications
+ (package
+ (name "python-jsonschema-specifications")
+ (version "2023.11.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jsonschema_specifications" version))
+ (sha256
+ (base32 "1f41kby85dd1yzy0xa1fvgjakdfcmq6ijasax95xfk27x97zqwll"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-hatchling
+ python-hatch-fancy-pypi-readme
+ python-hatch-vcs
+ python-pytest))
+ (propagated-inputs
+ (list python-importlib-resources python-referencing))
+ (home-page "https://github.com/python-jsonschema/jsonschema-specifications")
+ (synopsis "JSON Schema Specifications support")
+ (description
+ "This package provides support for the JSON Schema
+Specifications (metaschemas, vocabularies, ...), packaged for runtime access
+from Python as a referencing-based Schema Registry.")
+ (license license:expat)))
+
(define-public python-kitchen
(package
(name "python-kitchen")
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 11/13] gnu: python-jsonschema: Update to 4.17.3.
(address . 68023@debbugs.gnu.org)
a6d363ae73dd21932f6696de85cfc4fee954b4ee.1703494195.git.othacehe@gnu.org
* gnu/packages/python-xyz.scm (python-jsonschema): Update to 4.17.3.
[arguments]: Do not replace the 'check phase.
[native-inputs]: Add python-hatchling, python-hatch-fancy-pypi-readme,
python-hatch-vcs, python-jsonschema-specifications, python-pytest,
python-rpds-py, python-trove-classifiers.
[propagated-inputs]: Add python-referencing, python-rpds-py.

Change-Id: I39e5128d851470d25ef31edf3baefcdf6d690fa6
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
---
gnu/packages/python-xyz.scm | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)

Toggle diff (53 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c4d6d20751..2e74befa1c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4949,15 +4949,13 @@ (define-public python-ddlparse
(define-public python-jsonschema
(package
(name "python-jsonschema")
- ;; XXX: Update to the latest version requires new build system - Hatch
- ;; https://hatch.pypa.io/
- (version "4.5.1")
+ (version "4.17.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jsonschema" version))
(sha256
- (base32 "1z0x22691jva7lwfcfh377jdmlz68zhiawxzl53k631l34k8hvbw"))))
+ (base32 "03dnxhvzfxmnpn53zsc0598hsslaz7w3wi87cyx7cq4bmcvl91hg"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -4968,17 +4966,21 @@ (define-public python-jsonschema
;; without the git metadata available, the version string is set to
;; '0.0.0'.
(lambda _
- (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "JSON_SCHEMA_TEST_SUITE" "json")
- (invoke "trial" "jsonschema")))))))
- (native-inputs (list python-setuptools-scm python-twisted))
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
+ (native-inputs (list python-hatchling
+ python-hatch-fancy-pypi-readme
+ python-hatch-vcs
+ python-jsonschema-specifications
+ python-pytest
+ python-setuptools-scm
+ python-trove-classifiers
+ python-twisted))
(propagated-inputs
(list python-attrs
python-importlib-metadata
python-pyrsistent
+ python-referencing
+ python-rpds-py
python-typing-extensions))
(home-page "https://github.com/Julian/jsonschema")
(synopsis "Implementation of JSON Schema for Python")
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 13/13] gnu: linux-libre: Add python-dtschema.
(address . 68023@debbugs.gnu.org)
ccad449e822446a00f109a115b4cc293eb089e31.1703494195.git.othacehe@gnu.org
This allows to run `make dtbs_check` on a Linux checkout after running `guix
shell -D linux-libre`.

* gnu/packages/linux.scm (linux-libre)[native-inputs]: Add python-dtschema.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Change-Id: I9d67a1efc6ecca4b353ebbebf531fceea1eafd7d
---
gnu/packages/linux.scm | 4 ++++
1 file changed, 4 insertions(+)

Toggle diff (17 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 2d9e4cebbe..9a9ffc9c13 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1077,6 +1077,10 @@ (define* (make-linux-libre* version gnu-revision source supported-systems
flex
bison
util-linux ;needed for hexdump
+ ;; Needed for dtb validation.
+ (module-ref (resolve-interface
+ '(gnu packages bootloaders))
+ 'python-dtschema)
;; These are needed to compile the GCC plugins.
gmp
mpfr
--
2.41.0
M
M
Mathieu Othacehe wrote on 25 Dec 2023 10:09
[PATCH 12/13] gnu: Add python-dtschema.
(address . 68023@debbugs.gnu.org)
ace05a206fda6ccb7e59fddc63f2d11129662da7.1703494195.git.othacehe@gnu.org
* gnu/packages/bootloaders.scm (python-dtschema): New variable.

Change-Id: Iaf5de29ea6db2cdf0998a22f48faf9126282c09d
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
---
gnu/packages/bootloaders.scm | 43 ++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

Toggle diff (77 lines)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index f8ba93ce01..fa13b630f3 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -41,6 +41,7 @@ (define-module (gnu packages bootloaders)
#:use-module (gnu packages base)
#:use-module (gnu packages disk)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -60,6 +61,7 @@ (define-module (gnu packages bootloaders)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
@@ -75,6 +77,7 @@ (define-module (gnu packages bootloaders)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
+ #:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -704,6 +707,46 @@ (define-public dtc
tree binary files. These are board description files used by Linux and BSD.")
(license license:gpl2+)))
+(define-public python-dtschema
+ (package
+ (name "python-dtschema")
+ (version "2023.11")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "dtschema" version))
+ (sha256
+ (base32
+ "0fr7byph8xpg3z37fjb8fyhmxyk8cqjfyd30rxaskh23lyg496ng"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-toml python-setuptools-scm))
+ (propagated-inputs
+ (list dtc
+ python-attrs
+ python-jsonschema
+ python-jsonschema-specifications
+ python-rfc3987
+ python-ruamel.yaml))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Fix the dependency name.
+ (add-after 'unpack 'libfdt
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("pylibfdt") "libfdt"))))
+ ;; No tests.
+ (delete 'check))))
+ (home-page "https://github.com/devicetree-org/dt-schema")
+ (synopsis "Devicetree schema validation")
+ (description "This module provides tools and schema data for Devicetree
+schema validation using the json-schema vocabulary. The tools validate
+Devicetree files using DT binding schema files. The tools also validate the
+DT binding schema files. Schema files are written in a JSON compatible subset
+of YAML to be both human and machine readable.")
+ (license license:bsd-2)))
+
(define %u-boot-rockchip-inno-usb-patch
;; Fix regression in 2020.10 causing freezes on boot with USB boot enabled.
;; See https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-rockpro64/-/issues/4
--
2.41.0
E
E
Efraim Flashner wrote on 28 Dec 2023 08:54
Re: [PATCH 04/13] gnu: Add rust-triomphe-0.1.
(name . Mathieu Othacehe)(address . othacehe@gnu.org)
ZY0pv_9yYRYOyH8D@3900XT
On Mon, Dec 25, 2023 at 10:09:20AM +0100, Mathieu Othacehe wrote:
Toggle quote (39 lines)
> * gnu/packages/crates-io.scm (rust-triomphe-0.1): New variable.
>
> Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
> Change-Id: I4bd9ea34b30ae03f8f8dbc4a083d6e246c746ee5
> ---
> gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index b552fbb1c3..18b26f4c50 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -82710,6 +82710,31 @@ (define-public rust-treeline-0.1
> "This package provides a library for visualizing tree structured data.")
> (license license:expat)))
>
> +(define-public rust-triomphe-0.1
> + (package
> + (name "rust-triomphe")
> + (version "0.1.11")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "triomphe" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32 "1crf71hndy3fc68x8v4aikkdjynp4n5sdhq28sck8x7frx8bd7l5"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs (("rust-arc-swap" ,rust-arc-swap-1)
> + ("rust-serde" ,rust-serde-1)
> + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
> + ("rust-unsize" ,rust-unsize-1))))
> + (home-page "https://github.com/Manishearth/triomphe")
> + (synopsis
> + "Fork of std::sync::Arc with some extra functionality")
> + (description
> + "This package provides a fork of std::sync::Arc with some extra

std::sync::Arc can be wrapped in @code

Toggle quote (10 lines)
> +functionality and without weak references (originally servo_arc).")
> + (license (list license:expat license:asl2.0))))
> +
> (define-public rust-triple-accel-0.4
> (package
> (name "rust-triple-accel")
> --
> 2.41.0
>

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmWNKb8ACgkQQarn3Mo9
g1Fe0A//UzUlPoMnLfCQoMPFiOFCSpUmbTej+t9KHHF6Mu+Bf/0oAcRu6aEzum3O
fS5w3ofvgh/tQXsVoS3gf/3p1D1d7y1w6ptWK0vMDdNtPpw3lsUYuXaPYfNt7bcd
JiRGOPz0OH6P/nyNkk0tfuhOp6S9boZYFFD/q5gVkPMEA6m4JYrK9oEnR+kxV5eQ
Dabq2VqAaxIKmm7IpM00VUkasY80FDzCVjY3+i+gr8ZbD4OnUceo334W63QgWHe3
d4YiBjS9Lqufn0P3q9c8Mm7zaiJcFReTO+NiBzPZsFDBTll7uGaYOdDvvKv0kJXn
6+rbuA7D4tKfLa7Ao8U1hMo6BS+19Zi8ULPCtogDQ0vnxUZN6GWOuoRC1LfLTCdP
sFGoRPKVt1BoebUbYHzrL8SNBavp9XsIltqiYHwCinjZgbjFp3TQhS8h56FebZRR
XmbPQMQNStCeWwq0m6lPGm27FMhyxy4pltdU9trw6YCCC52/1iPPRIbCKFJvUFbF
lvICC68yWruD9x5c+O3Cyz2+wvGrMInBlprSpDLrkm37Now/aELyutORGJ6xWZLx
RBYbRKDD1St9kM4vTNgWcVxvS7yr1RJ7Mp15reoetk2h4HsWdskjxYIrBq8RFhlg
TJrsOTLci7uSTlc7Pig8p9dU8lyMvBErqTqzarvkOxcDFB9AOb8=
=8NgH
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 28 Dec 2023 08:54
Re: [PATCH 05/13] gnu: Add rust-compiletest-rs-0.10.
(name . Mathieu Othacehe)(address . othacehe@gnu.org)
ZY0pxhEOYKKDtxEE@3900XT
Please have rust-compiletest-rs-0.3 inherit from this package. I
normally compare the home-page, synopsis and description between the two
and choose the "better" one for the added package.

On Mon, Dec 25, 2023 at 10:09:21AM +0100, Mathieu Othacehe wrote:
Toggle quote (60 lines)
> * gnu/packages/crates-io.scm (rust-compiletest-rs-0.10): New variable.
>
> Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
> Change-Id: Ibd6fc9fa1803df3a804801a10923b8b70c1f4073
> ---
> gnu/packages/crates-io.scm | 37 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 18b26f4c50..b09fbbd05f 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -14949,6 +14949,43 @@ (define-public rust-compiler-error-0.1
> (description "This package provides a triggerable compiler error for Rust.")
> (license license:expat)))
>
> +(define-public rust-compiletest-rs-0.10
> + (package
> + (name "rust-compiletest-rs")
> + (version "0.10.2")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "compiletest_rs" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32 "1mn0v8qax92pl9kdf2csah79jyigzvndg8mil6rpn97rpkhzw9bj"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("rust-diff" ,rust-diff-0.1)
> + ("rust-filetime" ,rust-filetime-0.2)
> + ("rust-getopts" ,rust-getopts-0.2)
> + ("rust-lazy-static" ,rust-lazy-static-1)
> + ("rust-libc" ,rust-libc-0.2)
> + ("rust-log" ,rust-log-0.4)
> + ("rust-miow" ,rust-miow-0.3)
> + ("rust-regex" ,rust-regex-1)
> + ("rust-rustfix" ,rust-rustfix-0.6)
> + ("rust-serde" ,rust-serde-1)
> + ("rust-serde-derive" ,rust-serde-derive-1)
> + ("rust-serde-json" ,rust-serde-json-1)
> + ("rust-tempfile" ,rust-tempfile-3)
> + ("rust-tester" ,rust-tester-0.9)
> + ("rust-winapi" ,rust-winapi-0.3))))
> + (home-page "https://github.com/Manishearth/compiletest-rs")
> + (synopsis
> + "Extraction of the compiletest utility from the Rust compiler")
> + (description
> + "This package provides an extraction of the compiletest utility from the
> +Rust compiler.")
> + (license (list license:asl2.0 license:expat))))
> +
> (define-public rust-compiletest-rs-0.3
> (package
> (name "rust-compiletest-rs")
> --
> 2.41.0
>

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmWNKcYACgkQQarn3Mo9
g1Hb+w/8CQ1czWcuaLHnNih54iBSWJZcZ5T3mK6vv8zFHepwRkLaBN0UNTNISaIT
UkJiKX4EPF7lZlJddifZyc629fGcWXAoYckj2ADStOSk71kzJjpuZzntXF28+ANL
uUoTZTsgn8FCowZvK5pKlyOC/ZeFCGWK67cQdomUbRE6v/7HUzvZ1O6Fe8Feo0DJ
v3+HdjSPklzZI0XxiJJ429APPH0igFwtDNYbMMwoNsmqtrfEe7cMEUXAuojr9ckd
F9Jvpxdvy3qCyLgMmYZhlFmBviiDPvAR1oKvvh3bQ17RM1x3NL9ndAzeDYsgZ74i
m+mz/oh51SAPwU6WDwdBgB+JeP6UOw3bu2ApcJNgc+ibgYZNTi/lpMGxRRDCgbrf
4tMpcJ03IeEC7ByJbiBQmlIJhDBh3Ts7hmsq5DTZmeuByeIDQMZPYFLWJViG++G0
KQ9UHbqcGHEp5i+Q1YK25A5CLtZotlbswT1SQwR/K7lpaH4wI0CJvGsd1oG4KOjX
/xJ4SuF2qBcw7iHN6CVadxxgs6KXXUeHOvwCUWfsSNEr8eIJBCMgDWM5u3fupjIS
Sxm6UbIW2N7TNQ3+CAELKYs/rvVVF2YQE8v/J5SNhNS/jBpQMR5o0tgty8lDlZbV
Wj1et+RaYrchccaoYqmfk2coMMxpE3HCr3c8AOyuOqF181as92M=
=Ne75
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 28 Dec 2023 08:54
Re: [PATCH 00/13] Add support for Linux `make dtbs_check`
(name . Mathieu Othacehe)(address . othacehe@gnu.org)
ZY0pzEWo7akFJgIC@3900XT
On Mon, Dec 25, 2023 at 10:06:06AM +0100, Mathieu Othacehe wrote:
Toggle quote (47 lines)
> Hello,
>
> This adds support for `make dtbs_check` in a Linux checkout from within a
> `guix shell -D linux-libre` environment.
>
> This allows to check device trees against the JSON schema that is made up from
> the Linux dt-bindings documentation.
>
> This requires an update of python-jsonschema, which in turn requires
> python-attrs > 22.2.0. On master, we only have python-attrs == 21.2.0. That
> means that patches 0008 to 0013 are targeting the python-team branch.
>
> Thanks,
>
> Mathieu
>
> Mathieu Othacehe (13):
> gnu: dtc: Update to 1.7.0.
> gnu: python-trove-classifiers: Update to 2023.11.29.
> gnu: Add rust-unsize-1.
> gnu: Add rust-triomphe-0.1.
> gnu: Add rust-compiletest-rs-0.10.
> gnu: Add rust-archery-1.
> gnu: Add rust-rpds-1.
> gnu: Add python-rpds-py.
> gnu: Add python-referencing.
> gnu: Add python-jsonschema-specifications.
> gnu: python-jsonschema: Update to 4.17.3.
> gnu: Add python-dtschema.
> gnu: linux-libre: Add python-dtschema.
>
> gnu/local.mk | 1 +
> gnu/packages/bootloaders.scm | 100 ++++++++++---
> gnu/packages/crates-io.scm | 135 ++++++++++++++++++
> gnu/packages/linux.scm | 4 +
> .../patches/dtc-meson-cell-overflow.patch | 32 +++++
> gnu/packages/python-build.scm | 4 +-
> gnu/packages/python-xyz.scm | 115 +++++++++++++--
> 7 files changed, 358 insertions(+), 33 deletions(-)
> create mode 100644 gnu/packages/patches/dtc-meson-cell-overflow.patch
>
>
> base-commit: 0d13d095420861022e68e87ceebd5e037e12a8b3
> --
> 2.41.0
>

Patches 3-8 look good to me with the few comments I made. They can go
straight to master, no need for a stop-over in the rust-team branch.

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmWNKcwACgkQQarn3Mo9
g1HJEhAAwgOreu9+1tr4vGrO/M1BBLk7wKbGj6KmigK3ONOPc16Uh7M59tomjiUP
PgLX/VgNf7qkvZgGRvCrtje1MhVV7lIXaGlgGkF11uXD/WP5S9CKcCWniSbFZ6Km
nkMzbjYVgfy4XPRo1/wWYwAZDn+lZ6CS+BSb4rDdaPPAY0EBRXhcIYGQjbJKH9Hv
8eODqSze+kOMHzRdZRlgg+mc8WBZdmeC3NkbakgIOo5c3lAJXmZyE35l1GoveoW0
BY9ucG4yJ/XKyH6Xpm57UsWjy+cSBnUfWa8y2jxAHQwl/G+HIy3s7C7VFva1OIaI
r2AuiiBd7rNdYeCV+WbD3lYDtrlBGgdoLyYKtoBxyEpDLM6mmzP70JH7zzuuwVfE
zR5IndeBy49E0jpOhvFe1QYMd6n1ZDH9mhtRTR7gaxwm1/TFdlvGiJh1617tC+GN
sKKgwsj5rBFTZlTvKrPrQK41KDpOPKCg6HRuXfXDITCTkzNaBxAzlo5j3B8L+2Fw
ansylYDtV6JaNrxF1vHbZACplGGJysRHNCR22psDQJTu4ui+bmOZIXPOzMxEC0H/
cvPurjJ6F3TIk8N6ZIGQGvCqIQ0r9uVdfdzQ04fojQg17Wdwyj7zSOOjbmUtK/RB
SFSSu3OudYxD42AtRXCAxQxSujESS7XCBWdOu3nEqB2FItqy6rQ=
=FqMn
-----END PGP SIGNATURE-----


M
M
Mathieu Othacehe wrote on 28 Dec 2023 10:14
(name . Efraim Flashner)(address . efraim@flashner.co.il)
877cky8z8z.fsf@gnu.org
Hey Efraim,

Toggle quote (3 lines)
> Patches 3-8 look good to me with the few comments I made. They can go
> straight to master, no need for a stop-over in the rust-team branch.

I took you remarks into account and applied patches 3-8. Thanks for
having a look!

Mathieu
L
L
Leo Famulari wrote on 28 Dec 2023 20:04
Re: [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check`
(name . Mathieu Othacehe)(address . othacehe@gnu.org)
ZY3GzVGiNRpFdLOW@jasmine.lan
On Mon, Dec 25, 2023 at 10:06:06AM +0100, Mathieu Othacehe wrote:
Toggle quote (12 lines)
> Hello,
>
> This adds support for `make dtbs_check` in a Linux checkout from within a
> `guix shell -D linux-libre` environment.
>
> This allows to check device trees against the JSON schema that is made up from
> the Linux dt-bindings documentation.
>
> This requires an update of python-jsonschema, which in turn requires
> python-attrs > 22.2.0. On master, we only have python-attrs == 21.2.0. That
> means that patches 0008 to 0013 are targeting the python-team branch.

Overall, I think that if it's working for you, great. Especially since
Efraim approved the Rust stuff.

However, I prefer not to make the kernel depend on python. I know that
basically any system will include python but still I prefer to avoid the
direct dependency.

The goal of this patch series is to improve a development workflow,
right?

How about doing `guix shell python-dtschema -D linux-libre`? Will that
work?
M
M
Mathieu Othacehe wrote on 28 Dec 2023 21:00
(name . Leo Famulari)(address . leo@famulari.name)
87cyuq6qs0.fsf@gnu.org
Hey Leo,

Toggle quote (3 lines)
> The goal of this patch series is to improve a development workflow,
> right?

Right.

Toggle quote (3 lines)
> How about doing `guix shell python-dtschema -D linux-libre`? Will that
> work?

Sure, in fact I am currently using the following command line:

Toggle snippet (3 lines)
guix shell python python-ply python-gitpython python-dtschema -D linux-libre

I guess that the list can (will) go longer, so what would you think of
creating a linux-python-build-tools package that would be independent of
linux-libre?

For now, I will just drop the last patch.

Thanks,

Mathieu
L
L
Leo Famulari wrote on 29 Dec 2023 21:04
(name . Mathieu Othacehe)(address . othacehe@gnu.org)
ZY8mYomgvEgy3Mr1@jasmine.lan
On Thu, Dec 28, 2023 at 09:00:47PM +0100, Mathieu Othacehe wrote:
Toggle quote (4 lines)
> I guess that the list can (will) go longer, so what would you think of
> creating a linux-python-build-tools package that would be independent of
> linux-libre?

If that works for you, I'm all for it!
M
M
Mathieu Othacehe wrote on 9 Jan 09:06 +0100
(name . Leo Famulari)(address . leo@famulari.name)
87bk9vdj7k.fsf@gnu.org
Hello,

Alright, so everything except python patches is merged. Python team,
would it be OK to push the rest to the `python-team` branch?

Thanks,

Mathieu
?