~ruther/guix-local

b7dc8aea65e5e5426ace361513bfbc49b74dec37 — Sharlatan Hellseher 2 months ago 71c4428
gnu: udiskie: Improve package, fix build.

* gnu/packages/freedesktop.scm (udiskie): Use G-Expressions.
[source]: Switch to git-fetch providing tests.
[build-system]: Switch to pyproject-build-system.
[arguments] <test-backend, test-flags>: Use custom.
<phases>: Add 'fix-entry-points; 'wrap-gi-typelib move after wrap.
[inputs]: Add python-docopt, python-keyutils, python-pygobject,
python-pyxdg, and python-pyyaml.
[propagated-inputs]: Remove python-docopt, python-pygobject,
python-keyutils, python-pyxdg, and python-pyyaml.
[native-inputs]: Add python-setuptools.

Fixes: guix/guix#4920
Change-Id: Ie29f7bfdef7465d58799cb189483ccc264681fbe
1 files changed, 40 insertions(+), 18 deletions(-)

M gnu/packages/freedesktop.scm
M gnu/packages/freedesktop.scm => gnu/packages/freedesktop.scm +40 -18
@@ 2820,35 2820,57 @@ to the C library @code{uchardet} to increase performance.")
    (version "2.5.8")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "udiskie" version))
       (method git-fetch)
       (uri (git-reference
              (url "https://github.com/coldfix/udiskie")
              (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32
         "0c6i7i7yb0lqrfxjrh63y6amw2npkp1n3dxdfjf9zh4pgbnaivd3"))))
    (build-system python-build-system)
        (base32 "0ccp55fgmcc4fsd7jsqla6k1m6v8zkn03i4axw446zh2nzxpanhl"))))
    (build-system pyproject-build-system)
    (arguments
     (list
      #:test-backend #~'custom
      #:test-flags #~(list "test/test_match.py")
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'check 'fix-entry-points
            ;; FIXME: See: <https://codeberg.org/guix/guix/issues/4509>.
            (lambda _
              (substitute* (string-append #$output "/bin/.udiskie-real")
                (("from udiskie.cli import Daemon.main")
                 "from udiskie.cli import Daemon"))
              (substitute* (string-append #$output "/bin/.udiskie-info-real")
                (("from udiskie.cli import Info.main")
                 "from udiskie.cli import Info"))
              (substitute* (string-append #$output "/bin/.udiskie-mount-real")
                (("from udiskie.cli import Mount.main")
                 "from udiskie.cli import Mount"))
              (substitute* (string-append #$output "/bin/.udiskie-umount-real")
                (("from udiskie.cli import Umount.main")
                 "from udiskie.cli import Umount"))))
          (add-after 'wrap 'wrap-gi-typelib
            (lambda _
              (wrap-program (string-append #$output "/bin/udiskie")
                `("GI_TYPELIB_PATH" ":" prefix
                  (,(getenv "GI_TYPELIB_PATH")))))))))
    (native-inputs
     (list asciidoc
           gettext-minimal
           gobject-introspection))
           gobject-introspection
           python-setuptools))
    (inputs
     (list bash-minimal
           gobject-introspection
           gtk+
           libappindicator
           libnotify
           python-docopt
           python-keyutils
           python-pygobject
           python-pyxdg
           python-pyyaml
           udisks))
    (propagated-inputs
     (list python-docopt python-pygobject python-keyutils python-pyxdg
           python-pyyaml))
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'install 'wrap-gi-typelib
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out"))
                   (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
               (wrap-program (string-append out "/bin/udiskie")
                 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
    (home-page "https://github.com/coldfix/udiskie")
    (synopsis "Automounter for removable media")
    (description