unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Kaelyn <kaelyn.alexi@protonmail.com>
To: Luis Felipe <luis.felipe.la@protonmail.com>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Packaging: Need some help replacing a check phase
Date: Mon, 26 Dec 2022 18:22:31 +0000	[thread overview]
Message-ID: <54txorgCQH0VDNKgMHkQQSyjfmgBWaUS9GG4vQHUxp_j0nIagVn4vQ1KlNbFV3AiwONOLu-J4JIpntS6Jc7ZIMmaXC9Fx-I153hViYNdpE8=@protonmail.com> (raw)
In-Reply-To: <5xgJfFJuZnP2-oQJDoA0KfZ2xvmuBDUKktLT0pNbBWeOMnY4YrulJK9C3daGtFyuTc6hgL-9wuVzjxqZfBdFi8LEhTksJByIENcT14MlTvw=@protonmail.com>

Hi Luis,

------- Original Message -------
On Monday, December 26th, 2022 at 4:15 PM, Luis Felipe <luis.felipe.la@protonmail.com> wrote:


> 
> 
> Hi,
> 
> I'm packaging a Guile software but the package fails to build when I try to replace the check phase, and I can't see what I'm doing wrong.
> 
> This is the package definition:
> 
> ٭٭٭٭٭٭٭٭٭٭
> (define-module (packages guile-proba)
> #:use-module (gnu packages guile)
> #:use-module (gnu packages guile-xyz)
> #:use-module (gnu packages texinfo)
> #:use-module (guix build-system guile)
> #:use-module (guix git-download)
> #:use-module ((guix licenses) #:prefix license:)
> #:use-module (guix packages))
> 
> 
> (define-public guile-proba
> (package
> (name "guile-proba")
> (version "0.1.0")
> (source
> (origin
> (method git-fetch)
> (uri (git-reference
> (url "https://codeberg.org/luis-felipe/guile-proba")
> (commit version)))
> (file-name (git-file-name name version))
> (sha256
> (base32 "0bai3nhdmzpcxkp55a74afp92sq609hh9dy5a5w01aysvchp4715"))))
> (build-system guile-build-system)
> (native-inputs (list guile-3.0 texinfo))
> (propagated-inputs (list guile-config guile-lib texinfo))
> (arguments
> `(#:phases
> (modify-phases %standard-phases
> ;; FIXME: Replacing 'check phase makes build fail.
> (replace 'check
> (lambda* (#:key tests? #:allow-other-keys)
> (when tests?
> (invoke "guile" "proba.scm" "run" "tests"))))
> (add-after 'install 'install-script-and-manual
> (lambda* (#:key outputs #:allow-other-keys)
> (let* ((out (assoc-ref outputs "out"))
> (bin-dir (string-append out "/bin"))
> (info-dir (string-append out "/share/info"))
> (script (string-append bin-dir "/proba")))
> (mkdir-p bin-dir)
> (mkdir-p info-dir)
> (copy-file "proba.scm" script)
> (chmod script #o555)
> (invoke "makeinfo" "manual/main.texi")
> (install-file "guile-proba" info-dir)))))
> #:not-compiled-file-regexp
> "((packages|tests)\\/.*.scm|(proba|manifest).scm)$"))
> (home-page "https://luis-felipe.gitlab.io/guile-proba/")
> (synopsis "Testing tools for GNU Guile projects with SRFI 64 test suites")
> (description
> "This software is a set of testing tools for GNU Guile projects
> with SRFI 64-based test suites. It comes with a command-line interface
> to run test collections, and a library that includes a test runner and
> helpers for writing tests.")
> (license license:public-domain)))
> ٭٭٭٭٭٭٭٭٭٭
> 
> 
> And this is the error after running "guix build -L . guile-proba" (using guix 9cb42f7):
> 
> ٭٭٭٭٭٭٭٭٭٭
> Backtrace:
> 14 (primitive-load "/gnu/store/36iw346l6n6s9wrd4qr923zywj1?")
> In ice-9/eval.scm:
> 214:21 13 (_ #f)
> 217:50 12 (lp (#<procedure 7ffff5f41ca0 at ice-9/eval.scm:282:?> ?))
> 
> 217:50 11 (lp (#<procedure 7ffff5f41c80 at ice-9/eval.scm:282:?> ?))
> 
> 217:50 10 (lp (#<procedure 7ffff5f41c60 at ice-9/eval.scm:282:?> ?))
> 
> 217:50 9 (lp (#<procedure 7ffff5f41c40 at ice-9/eval.scm:282:?> ?))
> 
> 217:50 8 (lp (#<procedure 7ffff5f41c20 at ice-9/eval.scm:282:?> ?))
> 
> 217:50 7 (lp (#<procedure 7ffff5f41c00 at ice-9/eval.scm:282:?> ?))
> 
> 217:50 6 (lp (#<procedure 7ffff5f41be0 at ice-9/eval.scm:282:?> ?))
> 
> 217:50 5 (lp (#<procedure 7ffff5f41bc0 at ice-9/eval.scm:282:?> ?))
> 
> 217:50 4 (lp (#<procedure 7ffff5f41ba0 at ice-9/eval.scm:282:?> ?))
> 
> 217:50 3 (lp (#<procedure 7ffff5f41b80 at ice-9/eval.scm:282:?> ?))
> 
> 217:33 2 (lp (#<procedure 7ffff5f41a40 at ice-9/eval.scm:649:?> ?))
> 
> 293:34 1 (_ #(#<directory (guile-user) 7ffff5fdbc80> ((# . #) ?)))
> 
> In guix/build/utils.scm:
> 713:4 0 (alist-replace check #<procedure 7ffff5f40ea0 at ice-9?> ?)
> 
> 
> guix/build/utils.scm:713:4: In procedure alist-replace:
> Throw to key `match-error' with args` ("match" "no matching pattern" ())'.
> ٭٭٭٭٭٭٭٭٭٭

I believe the build fails because the guile-build-system deletes the 'check phase. From guix/build/guile-build-system.scm:

(define %standard-phases
  (modify-phases gnu:%standard-phases
    (delete 'bootstrap)
    (delete 'configure)
    (add-before 'install-locale 'set-locale-path
      set-locale-path)
    (replace 'build build)
    (add-after 'build 'install-documentation
      install-documentation)
    (delete 'check)
    (delete 'strip)
    (delete 'validate-runpath)
    (delete 'install)))

Hope that helps!

Cheers,
Kaelyn

> 
> 
> Thanks in advance.
> 
> 
> ---
> Luis Felipe López Acevedo
> https://luis-felipe.gitlab.io/


  reply	other threads:[~2022-12-26 18:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-26 16:15 Packaging: Need some help replacing a check phase Luis Felipe
2022-12-26 18:22 ` Kaelyn [this message]
2022-12-26 19:54   ` Luis Felipe
2022-12-26 19:04 ` Maxime Devos
2022-12-26 20:31   ` Luis Felipe

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to='54txorgCQH0VDNKgMHkQQSyjfmgBWaUS9GG4vQHUxp_j0nIagVn4vQ1KlNbFV3AiwONOLu-J4JIpntS6Jc7ZIMmaXC9Fx-I153hViYNdpE8=@protonmail.com' \
    --to=kaelyn.alexi@protonmail.com \
    --cc=guix-devel@gnu.org \
    --cc=luis.felipe.la@protonmail.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 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).