all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Garek Dyszel via Guix-patches via <guix-patches@gnu.org>
To: Lars-Dominik Braun <lars@6xq.net>
Cc: jgart@dismail.de, 58310@debbugs.gnu.org,
	zimoun <zimon.toutoune@gmail.com>
Subject: [bug#58310] [PATCH 04/14] gnu: Add python-hatchling-bootstrap.
Date: Fri, 04 Nov 2022 11:15:49 -0400	[thread overview]
Message-ID: <87cza2rbru.fsf@disroot.org> (raw)
In-Reply-To: <Y2OtLVz4g58X71DY@philomena>

Hi Lars,

At 20:59 2022-11-03 UTC+0900, Lars-Dominik Braun wrote:
> And hatchling’s dependencies actually belong to hatch,
> not hatchling, so there should be no cycles with python-xyz.scm.

It seems dependencies from python-xyz.scm are still required to enter
the build process for python-hatchling-bootstrap, even if hatchling does
not explicitly require them.

 (1) If we comment out the dependencies from python-xyz.scm, we get this
error:
--8<---------------cut here---------------start------------->8---
starting phase `build'
* Getting dependencies for wheel...

ERROR Missing dependencies:
	pathspec>=0.10.1
	pluggy>=1.0.0
--8<---------------cut here---------------end--------------->8---

(2) If we minimize the dependency list to the following, then
python-hatchling-bootstrap builds correctly:
--8<---------------cut here---------------start------------->8---
(inputs (list python-editables
              python-packaging-bootstrap
	      ;; Below from python-xyz.scm, can be moved to python-build.scm
	      python-pathspec-0.10.1
	      ;; Below from python-xyz.scm, can be moved to python-build.scm
	      python-pluggy-1.0
	      python-tomli))
--8<---------------cut here---------------end--------------->8---
Changing the build system to (pyproject-build-system) produces the same
results.

Since python-pluggy-1.0 and python-pathspec depend only on packages
defined in python-build.scm, I propose moving them to python-build.scm.

What do you think?

Garek

---
Revised python-hatchling-boostrap definition (in case it is of
interest):
--8<---------------cut here---------------start------------->8---
(define-public python-hatchling-bootstrap
  (package
    (name "python-hatchling-bootstrap")
    (version "1.10.0")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/pypa/hatch")
                    (commit (string-append "hatchling-v" version))))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "0ahx62w711a2vnb91ahqxrw8yi0gq0kfch3fk6akzngd13376czj"))))
    ;; python-pypa-build needed for bootstrapping.
    ;; Otherwise we get a circular reference:
    ;; python-hatchling trying to build itself, without
    ;; first having hatchling installed.
    (inputs (list python-editables
                  python-packaging-bootstrap
                  ;; Below from python-xyz.scm, can be moved to python-build.scm
                  python-pathspec-0.10.1
                  ;; Below from python-xyz.scm, can be moved to python-build.scm
                  python-pluggy-1.0
                  python-tomli))
    (build-system pyproject-build-system)
    (arguments
     `(;; Tests depend on module python-hatch, which this
       ;; is bootstrapping.
       #:tests? #f
       #:phases
       ;; Test for pyproject-build-system. This pre-build phase fails.
       ;;
       ;; (modify-phases %standard-phases
       ;;   (add-before 'build 'chdir-to-backend
       ;;     (lambda _
       ;;       (chdir "backend"))))
       ;;
       
       ;; Original phases.
       (modify-phases %standard-phases
                  (replace 'build
                    (lambda _
                      (chdir "backend")
                      ;; ZIP does not support timestamps before 1980.
                      (setenv "SOURCE_DATE_EPOCH" "315532800")
                      (invoke "python"
                              "-m"
                              "build"
                              "--wheel"
                              "--no-isolation"
                              ".")))
                  (replace 'install
                    (lambda* (#:key outputs #:allow-other-keys)
                      (let ((whl (car (find-files "dist" "\\.whl$"))))
                        (invoke "pip"
                                "--no-cache-dir"
                                "--no-input"
                                "install"
                                "--no-deps"
                                "--prefix"
                                (assoc-ref %outputs "out")
                                whl)))))))
    (home-page "https://ofek.dev/projects/hatch/")
    (synopsis "Bootstrap binaries to build @code{python-hatch}")
    (description "Bootstrap binaries to build @code{python-hatch}")
    ;; MIT License
    (license license:expat)))
--8<---------------cut here---------------end--------------->8---




  reply	other threads:[~2022-11-05 18:09 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-05 17:15 [bug#58310] [PATCH] Add coq-mathcomp-analysis Garek Dyszel via Guix-patches via
2022-10-05 17:40 ` [bug#58310] [PATCH 01/14] gnu: Add python-pprintpp Garek Dyszel via Guix-patches via
2022-10-05 17:41 ` [bug#58310] [PATCH 02/14] gnu: Add python-pluggy-1.0.* gnu/packages/python-xyz.scm (python-pluggy-1.0): New variable Garek Dyszel via Guix-patches via
2022-10-05 17:41 ` [bug#58310] [PATCH 03/14] gnu: Add python-setuptools-scm-7.* gnu/packages/python-build.scm (python-setuptools-scm-7): " Garek Dyszel via Guix-patches via
2022-11-02 17:08   ` [bug#58310] [PATCH 03/14] gnu: Add python-setuptools-scm-7 zimoun
2022-11-03  9:22     ` Lars-Dominik Braun
2022-11-03 11:14       ` zimoun
2022-11-03 11:57         ` Lars-Dominik Braun
2022-11-03 18:34           ` zimoun
2022-11-04  0:44             ` Lars-Dominik Braun
2022-10-05 17:41 ` [bug#58310] [PATCH 04/14] gnu: Add python-hatchling-bootstrap Garek Dyszel via Guix-patches via
2022-11-02 17:11   ` zimoun
2022-11-03  9:26     ` Lars-Dominik Braun
2022-11-03 11:18       ` zimoun
2022-11-03 11:59         ` Lars-Dominik Braun
2022-11-04 15:15           ` Garek Dyszel via Guix-patches via [this message]
2022-10-05 17:46 ` [bug#58310] [PATCH 05/14] gnu: Add python-hatch Garek Dyszel via Guix-patches via
2022-10-05 17:46 ` [bug#58310] [PATCH 06/14] gnu: Add python-hatch-vcs Garek Dyszel via Guix-patches via
2022-10-05 17:46 ` [bug#58310] [PATCH 07/14] gnu: Add python-pytest-icdiff Garek Dyszel via Guix-patches via
2022-10-05 17:46 ` [bug#58310] [PATCH 08/14] gnu: Add python-hatch-fancy-pypi-readme Garek Dyszel via Guix-patches via
2022-10-05 17:47 ` [bug#58310] [PATCH 09/14] gnu: python-jsonschema-next: Update to 4.16.0 Garek Dyszel via Guix-patches via
2022-10-05 17:47 ` [bug#58310] [PATCH 10/14] gnu: Add ocaml-atd Garek Dyszel via Guix-patches via
2022-10-05 17:51 ` [bug#58310] [PATCH 11/14] gnu: Add ocaml-elpi Garek Dyszel via Guix-patches via
2022-10-05 17:51 ` [bug#58310] [PATCH 12/14] gnu: Add coq-elpi Garek Dyszel via Guix-patches via
2022-10-05 17:51 ` [bug#58310] [PATCH 13/14] gnu: Add coq-mathcomp-hierarchy-builder Garek Dyszel via Guix-patches via
2022-10-05 17:51 ` [bug#58310] [PATCH 14/14] gnu: Add coq-mathcomp-analysis Garek Dyszel via Guix-patches via
2022-10-18 15:42 ` [bug#58310] Temporary manifest for coq-mathcomp-analysis Garek Dyszel via Guix-patches via
     [not found] ` <handler.58310.B.166499048624567.ack@debbugs.gnu.org>
2022-11-12 23:48   ` [bug#58310] Manifest " Garek Dyszel via Guix-patches via
2022-11-13  9:17     ` Julien Lepiller
2022-11-13 10:53       ` Julien Lepiller
2022-11-13 18:54         ` Garek Dyszel via Guix-patches via
2022-11-13 19:40           ` Julien Lepiller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87cza2rbru.fsf@disroot.org \
    --to=guix-patches@gnu.org \
    --cc=58310@debbugs.gnu.org \
    --cc=garekdyszel@disroot.org \
    --cc=jgart@dismail.de \
    --cc=lars@6xq.net \
    --cc=zimon.toutoune@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.