unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check`
@ 2023-12-25  9:06 Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 01/13] gnu: dtc: Update to 1.7.0 Mathieu Othacehe
                   ` (14 more replies)
  0 siblings, 15 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:06 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Leo Famulari, Tobias Geerinckx-Rice

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





^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 01/13] gnu: dtc: Update to 1.7.0.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 02/13] gnu: python-trove-classifiers: Update to 2023.11.29 Mathieu Othacehe
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Efraim Flashner, Vagrant Cascadian

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

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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 02/13] gnu: python-trove-classifiers: Update to 2023.11.29.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 01/13] gnu: dtc: Update to 1.7.0 Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 03/13] gnu: Add rust-unsize-1 Mathieu Othacehe
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi, jgart

* 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(-)

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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 03/13] gnu: Add rust-unsize-1.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 01/13] gnu: dtc: Update to 1.7.0 Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 02/13] gnu: python-trove-classifiers: Update to 2023.11.29 Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 04/13] gnu: Add rust-triomphe-0.1 Mathieu Othacehe
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Efraim Flashner

* 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(+)

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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 04/13] gnu: Add rust-triomphe-0.1.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (2 preceding siblings ...)
  2023-12-25  9:09 ` [bug#68023] [PATCH 03/13] gnu: Add rust-unsize-1 Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-28  7:54   ` Efraim Flashner
  2023-12-25  9:09 ` [bug#68023] [PATCH 05/13] gnu: Add rust-compiletest-rs-0.10 Mathieu Othacehe
                   ` (10 subsequent siblings)
  14 siblings, 1 reply; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Efraim Flashner

* 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
+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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 05/13] gnu: Add rust-compiletest-rs-0.10.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (3 preceding siblings ...)
  2023-12-25  9:09 ` [bug#68023] [PATCH 04/13] gnu: Add rust-triomphe-0.1 Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-28  7:54   ` Efraim Flashner
  2023-12-25  9:09 ` [bug#68023] [PATCH 06/13] gnu: Add rust-archery-1 Mathieu Othacehe
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Efraim Flashner

* 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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 06/13] gnu: Add rust-archery-1.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (4 preceding siblings ...)
  2023-12-25  9:09 ` [bug#68023] [PATCH 05/13] gnu: Add rust-compiletest-rs-0.10 Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 07/13] gnu: Add rust-rpds-1 Mathieu Othacehe
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Efraim Flashner

* 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(+)

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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 07/13] gnu: Add rust-rpds-1.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (5 preceding siblings ...)
  2023-12-25  9:09 ` [bug#68023] [PATCH 06/13] gnu: Add rust-archery-1 Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 08/13] gnu: Add python-rpds-py Mathieu Othacehe
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Efraim Flashner

* 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(+)

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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 08/13] gnu: Add python-rpds-py.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (6 preceding siblings ...)
  2023-12-25  9:09 ` [bug#68023] [PATCH 07/13] gnu: Add rust-rpds-1 Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 09/13] gnu: Add python-referencing Mathieu Othacehe
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi, jgart

* 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(+)

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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 09/13] gnu: Add python-referencing.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (7 preceding siblings ...)
  2023-12-25  9:09 ` [bug#68023] [PATCH 08/13] gnu: Add python-rpds-py Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 10/13] gnu: Add python-jsonschema-specifications Mathieu Othacehe
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi, jgart

* 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(+)

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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 10/13] gnu: Add python-jsonschema-specifications.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (8 preceding siblings ...)
  2023-12-25  9:09 ` [bug#68023] [PATCH 09/13] gnu: Add python-referencing Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 11/13] gnu: python-jsonschema: Update to 4.17.3 Mathieu Othacehe
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi, jgart

* 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(+)

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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 11/13] gnu: python-jsonschema: Update to 4.17.3.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (9 preceding siblings ...)
  2023-12-25  9:09 ` [bug#68023] [PATCH 10/13] gnu: Add python-jsonschema-specifications Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 12/13] gnu: Add python-dtschema Mathieu Othacehe
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Lars-Dominik Braun, Marius Bakke, Munyoki Kilyungi, jgart

* 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(-)

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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 12/13] gnu: Add python-dtschema.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (10 preceding siblings ...)
  2023-12-25  9:09 ` [bug#68023] [PATCH 11/13] gnu: python-jsonschema: Update to 4.17.3 Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-25  9:09 ` [bug#68023] [PATCH 13/13] gnu: linux-libre: " Mathieu Othacehe
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Efraim Flashner, Vagrant Cascadian

* 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(+)

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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 13/13] gnu: linux-libre: Add python-dtschema.
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (11 preceding siblings ...)
  2023-12-25  9:09 ` [bug#68023] [PATCH 12/13] gnu: Add python-dtschema Mathieu Othacehe
@ 2023-12-25  9:09 ` Mathieu Othacehe
  2023-12-28  7:54 ` [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Efraim Flashner
  2023-12-28 19:04 ` Leo Famulari
  14 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-25  9:09 UTC (permalink / raw)
  To: 68023
  Cc: me, Mathieu Othacehe, me, lars, efraim, leo, vagrant, jgart,
	marius, Leo Famulari, Tobias Geerinckx-Rice

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(+)

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





^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 04/13] gnu: Add rust-triomphe-0.1.
  2023-12-25  9:09 ` [bug#68023] [PATCH 04/13] gnu: Add rust-triomphe-0.1 Mathieu Othacehe
@ 2023-12-28  7:54   ` Efraim Flashner
  0 siblings, 0 replies; 22+ messages in thread
From: Efraim Flashner @ 2023-12-28  7:54 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: me, me, lars, leo, vagrant, jgart, marius, 68023

[-- Attachment #1: Type: text/plain, Size: 2171 bytes --]

On Mon, Dec 25, 2023 at 10:09:20AM +0100, Mathieu Othacehe wrote:
> * 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

> +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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 05/13] gnu: Add rust-compiletest-rs-0.10.
  2023-12-25  9:09 ` [bug#68023] [PATCH 05/13] gnu: Add rust-compiletest-rs-0.10 Mathieu Othacehe
@ 2023-12-28  7:54   ` Efraim Flashner
  0 siblings, 0 replies; 22+ messages in thread
From: Efraim Flashner @ 2023-12-28  7:54 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: me, me, lars, leo, vagrant, jgart, marius, 68023

[-- Attachment #1: Type: text/plain, Size: 2795 bytes --]

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:
> * 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check`
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (12 preceding siblings ...)
  2023-12-25  9:09 ` [bug#68023] [PATCH 13/13] gnu: linux-libre: " Mathieu Othacehe
@ 2023-12-28  7:54 ` Efraim Flashner
  2023-12-28  9:14   ` Mathieu Othacehe
  2023-12-28 19:04 ` Leo Famulari
  14 siblings, 1 reply; 22+ messages in thread
From: Efraim Flashner @ 2023-12-28  7:54 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: me, me, lars, leo, vagrant, jgart, marius, 68023

[-- Attachment #1: Type: text/plain, Size: 2129 bytes --]

On Mon, Dec 25, 2023 at 10:06:06AM +0100, Mathieu Othacehe wrote:
> 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check`
  2023-12-28  7:54 ` [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Efraim Flashner
@ 2023-12-28  9:14   ` Mathieu Othacehe
  0 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-28  9:14 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: me, me, lars, leo, vagrant, jgart, marius, 68023


Hey Efraim,

> 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




^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check`
  2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
                   ` (13 preceding siblings ...)
  2023-12-28  7:54 ` [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Efraim Flashner
@ 2023-12-28 19:04 ` Leo Famulari
  2023-12-28 20:00   ` Mathieu Othacehe
  14 siblings, 1 reply; 22+ messages in thread
From: Leo Famulari @ 2023-12-28 19:04 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: me, me, lars, efraim, vagrant, jgart, marius, 68023

On Mon, Dec 25, 2023 at 10:06:06AM +0100, Mathieu Othacehe wrote:
> 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?




^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check`
  2023-12-28 19:04 ` Leo Famulari
@ 2023-12-28 20:00   ` Mathieu Othacehe
  2023-12-29 20:04     ` Leo Famulari
  0 siblings, 1 reply; 22+ messages in thread
From: Mathieu Othacehe @ 2023-12-28 20:00 UTC (permalink / raw)
  To: Leo Famulari; +Cc: me, me, lars, efraim, vagrant, jgart, marius, 68023


Hey Leo,

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

Right.

> How about doing `guix shell python-dtschema -D linux-libre`? Will that
> work?

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

--8<---------------cut here---------------start------------->8---
guix shell python python-ply python-gitpython python-dtschema -D linux-libre
--8<---------------cut here---------------end--------------->8---

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




^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check`
  2023-12-28 20:00   ` Mathieu Othacehe
@ 2023-12-29 20:04     ` Leo Famulari
  2024-01-09  8:06       ` Mathieu Othacehe
  0 siblings, 1 reply; 22+ messages in thread
From: Leo Famulari @ 2023-12-29 20:04 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: me, me, lars, efraim, vagrant, jgart, marius, 68023

On Thu, Dec 28, 2023 at 09:00:47PM +0100, Mathieu Othacehe wrote:
> 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!




^ permalink raw reply	[flat|nested] 22+ messages in thread

* [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check`
  2023-12-29 20:04     ` Leo Famulari
@ 2024-01-09  8:06       ` Mathieu Othacehe
  0 siblings, 0 replies; 22+ messages in thread
From: Mathieu Othacehe @ 2024-01-09  8:06 UTC (permalink / raw)
  To: Leo Famulari; +Cc: me, me, lars, efraim, vagrant, jgart, marius, 68023


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




^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2024-01-09  8:08 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-25  9:06 [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Mathieu Othacehe
2023-12-25  9:09 ` [bug#68023] [PATCH 01/13] gnu: dtc: Update to 1.7.0 Mathieu Othacehe
2023-12-25  9:09 ` [bug#68023] [PATCH 02/13] gnu: python-trove-classifiers: Update to 2023.11.29 Mathieu Othacehe
2023-12-25  9:09 ` [bug#68023] [PATCH 03/13] gnu: Add rust-unsize-1 Mathieu Othacehe
2023-12-25  9:09 ` [bug#68023] [PATCH 04/13] gnu: Add rust-triomphe-0.1 Mathieu Othacehe
2023-12-28  7:54   ` Efraim Flashner
2023-12-25  9:09 ` [bug#68023] [PATCH 05/13] gnu: Add rust-compiletest-rs-0.10 Mathieu Othacehe
2023-12-28  7:54   ` Efraim Flashner
2023-12-25  9:09 ` [bug#68023] [PATCH 06/13] gnu: Add rust-archery-1 Mathieu Othacehe
2023-12-25  9:09 ` [bug#68023] [PATCH 07/13] gnu: Add rust-rpds-1 Mathieu Othacehe
2023-12-25  9:09 ` [bug#68023] [PATCH 08/13] gnu: Add python-rpds-py Mathieu Othacehe
2023-12-25  9:09 ` [bug#68023] [PATCH 09/13] gnu: Add python-referencing Mathieu Othacehe
2023-12-25  9:09 ` [bug#68023] [PATCH 10/13] gnu: Add python-jsonschema-specifications Mathieu Othacehe
2023-12-25  9:09 ` [bug#68023] [PATCH 11/13] gnu: python-jsonschema: Update to 4.17.3 Mathieu Othacehe
2023-12-25  9:09 ` [bug#68023] [PATCH 12/13] gnu: Add python-dtschema Mathieu Othacehe
2023-12-25  9:09 ` [bug#68023] [PATCH 13/13] gnu: linux-libre: " Mathieu Othacehe
2023-12-28  7:54 ` [bug#68023] [PATCH 00/13] Add support for Linux `make dtbs_check` Efraim Flashner
2023-12-28  9:14   ` Mathieu Othacehe
2023-12-28 19:04 ` Leo Famulari
2023-12-28 20:00   ` Mathieu Othacehe
2023-12-29 20:04     ` Leo Famulari
2024-01-09  8:06       ` Mathieu Othacehe

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).