~ruther/guix-local

62ea5f58528ad9808f9ac99cbee1cd2ed5e286d5 — Nicolas Graves 8 months ago d111a6a
build-system: pyproject: Normalize entry point import.

The standard is using from instead of import and it indeed allows to
avoid some side-effects in some cases, see
https://packaging.python.org/en/latest/specifications/entry-points/#use-for-scripts

* guix/build/pyproject-build-system (create-entrypoints)
[create-script]: Add -sP flags, improve pythonic style.

* gnu/packages/video.scm (python-yewtube)[arguments]<#:phases>: Remove
phase 'patch-script.

Change-Id: I995454c774666ed474b2418c18ec36c4f53bf015
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2 files changed, 2 insertions(+), 11 deletions(-)

M gnu/packages/video.scm
M guix/build/pyproject-build-system.scm
M gnu/packages/video.scm => gnu/packages/video.scm +0 -9
@@ 6570,15 6570,6 @@ can also directly record to WebM or MP4 if you prefer.")
          (add-before 'check 'configure-tests
            (lambda _
              (setenv "HOME" (getcwd))))
          ;; XXX: This can happen when some side-effects happens at
          ;; initialization. See https://codeberg.org/guix/guix/issues/1089
          (add-before 'sanity-check 'patch-script
            (lambda _
              (substitute* (string-append #$output "/bin/.yt-real")
                (("import mps_youtube as mod")
                 "from mps_youtube.main import main")
                (("sys\\.exit \\(mod\\.main\\.main \\(\\)\\)")
                 "sys.exit(main())"))))
          (replace 'sanity-check
            (lambda _
              (invoke (string-append #$output "/bin/yt") "-h"))))))

M guix/build/pyproject-build-system.scm => guix/build/pyproject-build-system.scm +2 -2
@@ 349,8 349,8 @@ and return write it to PATH/NAME."
          (format port "#!~a
# Auto-generated entry point script.
import sys
import ~a as mod
sys.exit (mod.~a ())~%" interpreter module function)))
from ~a import ~a
sys.exit(~a())~%" interpreter module function function)))
      (chmod file-path #o755)))

  (let* ((site-dir (site-packages inputs outputs))