~ruther/guix-local

00111ae9ecf6fc07118465ebbde8d388ad2cc6bb — Hilton Chain 11 months ago d992b57
gnu: python-watchfiles: Update to 1.0.5.

* gnu/packages/python-xyz.scm (python-watchfiles): Update to 1.0.5.
[build-system]: Switch to pyproject-build-system.
[inputs]: Use ‘cargo-inputs’.
[native-inputs]: Add rust, rust:cargo.
Add rust-sysroot when cross-compiling.
Remove python-wrapper.
[arguments]: Remove #:cargo-inputs.
<#:phases>: Remove phases from pyproject-build-system.
Move test flags to...
<#:test-flags>: ...here.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): New entry.

Change-Id: Id4c9d24d06fab5a51407628a378ecd420db352a6
2 files changed, 99 insertions(+), 28 deletions(-)

M gnu/packages/python-xyz.scm
M gnu/packages/rust-crates.scm
M gnu/packages/python-xyz.scm => gnu/packages/python-xyz.scm +36 -28
@@ 273,6 273,7 @@
  #:use-module (gnu packages rdf)
  #:use-module (gnu packages readline)
  #:use-module (gnu packages regex)
  #:use-module (gnu packages rust)
  #:use-module (gnu packages rust-apps)
  #:use-module (gnu packages scanner)
  #:use-module (gnu packages search)


@@ 32516,7 32517,7 @@ but portable.")
(define-public python-watchfiles
  (package
    (name "python-watchfiles")
    (version "1.0.4")
    (version "1.0.5")
    (source
     (origin
       ;; There are no tests in the PyPI tarball.


@@ 32526,44 32527,51 @@ but portable.")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1kaxq0drjwlvcsg4in25w1bhjjgm1zlz06rr2macyi6s5x96g46h"))))
    (build-system cargo-build-system)
        (base32 "1b5rdj795xcbwg76bd8hs3skhgifd7a8zw2vj76nac2dhjlqg93b"))))
    (build-system pyproject-build-system)
    (arguments
     (list
      #:install-source? #f
      ;; Missing file in source.
      #:test-flags ''("-k" "not test_docs_examples")
      #:imported-modules `(,@%cargo-build-system-modules
                           ,@%pyproject-build-system-modules)
      #:modules '((guix build cargo-build-system)
                  ((guix build pyproject-build-system) #:prefix py:)
      #:modules '(((guix build cargo-build-system) #:prefix cargo:)
                  (guix build pyproject-build-system)
                  (guix build utils))
      #:phases
      #~(modify-phases %standard-phases
          (replace 'build
            (assoc-ref py:%standard-phases 'build))
          (add-after 'unpack 'prepare-cargo-build-system
            (lambda args
              (for-each
               (lambda (phase)
                 (format #t "Running cargo phase: ~a~%" phase)
                 (apply (assoc-ref cargo:%standard-phases phase)
                        #:cargo-target #$(cargo-triplet)
                        args))
               '(unpack-rust-crates
                 configure
                 check-for-pregenerated-files
                 patch-cargo-checksums))))
          (add-after 'build 'install-rust-library
            (lambda _
              (copy-file "target/release/lib_rust_notify.so"
                         "watchfiles/_rust_notify.so")))
          (replace 'check
            (lambda* (#:key tests? test-flags #:allow-other-keys)
              (if tests?
                  ;; Missing file in source.
                  (invoke "pytest" "-vv" "-k" "not test_docs_examples")
                  (format #t "test suite not run~%"))))
          (replace 'install
            (assoc-ref py:%standard-phases 'install)))
      #:cargo-inputs
      (list rust-crossbeam-channel-0.5 rust-notify-7 rust-pyo3-0.23)))
                         "watchfiles/_rust_notify.so"))))))
    (native-inputs
     (list maturin
           python-anyio
           python-coverage
           python-dirty-equals
           python-pytest
           python-pytest-cov
           python-pytest-mock
           python-pytest-timeout
           python-wrapper))
     (append
      (list maturin
            python-anyio
            python-coverage
            python-dirty-equals
            python-pytest
            python-pytest-cov
            python-pytest-mock
            python-pytest-timeout
            rust
            `(,rust "cargo"))
      (or (and=> (%current-target-system)
                 (compose list make-rust-sysroot))
          '())))
    (inputs (cargo-inputs 'python-watchfiles))
    (home-page "https://github.com/samuelcolvin/watchfiles")
    (synopsis "Simple, modern file watching and code reload in Python")
    (description

M gnu/packages/rust-crates.scm => gnu/packages/rust-crates.scm +63 -0
@@ 6496,6 6496,10 @@
  (crate-source "notify" "6.1.1"
                "0bad98r0ilkhhq2jg3zs11zcqasgbvxia8224wpasm74n65vs1b2"))

(define rust-notify-7.0.0
  (crate-source "notify" "7.0.0"
                "02a0a1n0raxqslwhfprwmz7w34v54r42006q0m8bmy89jz1v8cy5"))

(define rust-notify-8.0.0
  (crate-source "notify" "8.0.0"
                "0hz9ab68gsbkidms6kgl4v7capfqjyl40vpfdarcfsnnnc1q9vig"))


@@ 6512,6 6516,10 @@
  (crate-source "notify-rust" "4.11.7"
                "0024xqbn29z1k6cfbi8w7c1p73hscqwkpbwlwwa2bam5cn328hk4"))

(define rust-notify-types-1.0.1
  (crate-source "notify-types" "1.0.1"
                "0x5idrpxzf70ng88rz28dqmgx1jyddf0vxx1x3csw09fw6skqpaq"))

(define rust-notify-types-2.0.0
  (crate-source "notify-types" "2.0.0"
                "0pcjm3wnvb7pvzw6mn89csv64ip0xhx857kr8jic5vddi6ljc22y"))


@@ 24738,6 24746,61 @@
                                         rust-wit-bindgen-rt-0.39.0
                                         rust-zerocopy-0.8.24
                                         rust-zerocopy-derive-0.8.24))
                     (python-watchfiles =>
                                        (list rust-autocfg-1.4.0
                                         rust-bitflags-1.3.2
                                         rust-bitflags-2.9.0
                                         rust-cc-1.2.19
                                         rust-cfg-if-1.0.0
                                         rust-crossbeam-channel-0.5.15
                                         rust-crossbeam-utils-0.8.21
                                         rust-filetime-0.2.25
                                         rust-fsevent-sys-4.1.0
                                         rust-heck-0.5.0
                                         rust-indoc-2.0.6
                                         rust-inotify-0.10.2
                                         rust-inotify-sys-0.1.5
                                         rust-instant-0.1.13
                                         rust-kqueue-1.0.8
                                         rust-kqueue-sys-1.0.4
                                         rust-libc-0.2.172
                                         rust-libredox-0.1.3
                                         rust-log-0.4.27
                                         rust-memoffset-0.9.1
                                         rust-mio-1.0.3
                                         rust-notify-7.0.0
                                         rust-notify-types-1.0.1
                                         rust-once-cell-1.21.3
                                         rust-portable-atomic-1.11.0
                                         rust-proc-macro2-1.0.95
                                         rust-pyo3-0.24.1
                                         rust-pyo3-build-config-0.24.1
                                         rust-pyo3-ffi-0.24.1
                                         rust-pyo3-macros-0.24.1
                                         rust-pyo3-macros-backend-0.24.1
                                         rust-python3-dll-a-0.2.13
                                         rust-quote-1.0.40
                                         rust-redox-syscall-0.5.11
                                         rust-same-file-1.0.6
                                         rust-shlex-1.3.0
                                         rust-syn-2.0.100
                                         rust-target-lexicon-0.13.2
                                         rust-unicode-ident-1.0.18
                                         rust-unindent-0.2.4
                                         rust-walkdir-2.5.0
                                         rust-wasi-0.11.0+wasi-snapshot-preview1
                                         rust-winapi-util-0.1.9
                                         rust-windows-sys-0.52.0
                                         rust-windows-sys-0.59.0
                                         rust-windows-targets-0.52.6
                                         rust-windows-aarch64-gnullvm-0.52.6
                                         rust-windows-aarch64-msvc-0.52.6
                                         rust-windows-i686-gnu-0.52.6
                                         rust-windows-i686-gnullvm-0.52.6
                                         rust-windows-i686-msvc-0.52.6
                                         rust-windows-x86-64-gnu-0.52.6
                                         rust-windows-x86-64-gnullvm-0.52.6
                                         rust-windows-x86-64-msvc-0.52.6))
                     (rav1e =>
                            (list rust-addr2line-0.24.2
                                  rust-adler2-2.0.0