[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
?
Your comment

Commenting via the web interface is currently disabled.

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

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