help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Packaging Idris2


From: Pierre-Henry Fröhring
Subject: Packaging Idris2
Date: Fri, 19 Aug 2022 17:42:25 +0200
User-agent: Evolution 3.38.3-1

Hello,

I'm trying to package Idris2.
The package so for looks like this:
In a working file `local-idris2.scm' there is:

----

(define-module (local-idris2))

(use-modules
 (gnu)
 (guix gexp)
 (guix utils)
 (guix packages)
 (guix git-download)
 (guix build-system gnu)
 (guix build utils)
 ((guix licenses) #:select (bsd-3)))

(use-package-modules
 gcc
 multiprecision
 bash
 base
 python
 chez)

(define-public idris2
  (package
    (name "idris2")
    (version "0.5.1")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/idris-lang/Idris2";)
                    (commit (string-append "v" version))))
              (sha256
               (base32
                "09k5fxnplp6fv3877ynz1lwq9zapxcxbvfvkn6g68yb0ivrff978"))
              (file-name (git-file-name name version))))
    (build-system gnu-build-system)
    (arguments
     `(#:make-flags
       `("bootstrap"
         "SCHEME=chez-scheme"
         ,(string-append "CC=" ,(cc-for-target))
         ,(string-append "PREFIX=" (assoc-ref %outputs "out")))
       #:phases (modify-phases %standard-phases
                  (delete 'configure))
       #:parallel-build? #f))
    (inputs (list gcc-12 chez-scheme gmp coreutils bash python))
    (home-page "https://www.idris-lang.org/";)
    (synopsis "Programming language designed to encourage Type-Driven 
Development")
    (description
     "Idris is a programming language designed to encourage Type-Driven 
Development.

In type-driven development, types are tools for constructing programs. We
treat the type as the plan for a program, and use the compiler and type
checker as our assistant, guiding us to a complete program that satisfies the
type. The more expressive the type is that we give up front, the more
confidence we can have that the resulting program will be correct.")
    (license bsd-3)))

----

But if fails with the following:

----
...
make -C libs/prelude 
IDRIS2=/tmp/guix-build-idris2-0.5.1.drv-0/source/build/exec/idris2
IDRIS2_INC_CGS=chez IDRIS2_PATH="/tmp/guix-build-idris2-0.5.1.drv-
0/source/libs/prelude/build/ttc:/tmp/guix-build-idris2-0.5.1.drv-
0/source/libs/base/build/ttc:/tmp/guix-build-idris2-0.5.1.drv-
0/source/libs/contrib/build/ttc:/tmp/guix-build-idris2-0.5.1.drv-
0/source/libs/network/build/ttc:/tmp/guix-build-idris2-0.5.1.drv-
0/source/libs/test/build/ttc"
make[2]: Entering directory 
'/tmp/guix-build-idris2-0.5.1.drv-0/source/libs/prelude'
/tmp/guix-build-idris2-0.5.1.drv-0/source/build/exec/idris2 --build prelude.ipkg
make[2]: /tmp/guix-build-idris2-0.5.1.drv-0/source/build/exec/idris2: No such 
file or
directory
make[2]: *** [Makefile:2: all] Error 127
make[2]: Leaving directory 
'/tmp/guix-build-idris2-0.5.1.drv-0/source/libs/prelude'
make[1]: *** [Makefile:76: prelude] Error 2
make[1]: Leaving directory '/tmp/guix-build-idris2-0.5.1.drv-0/source'
make: *** [Makefile:233: bootstrap] Error 2
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("bootstrap" 
"SCHEME=chez-scheme"
"CC=gcc" "PREFIX=/gnu/store/nrknvng9561kap38rpvd9j3y93b4nadd-idris2-0.5.1") 
exit-status: 2
term-signal: #f stop-signal: #f> 
phase `build' failed after 257.9 seconds
---- 

I tried `guix build -K idris2' and executing `make bootstrap ...' in the 
`/tmp/...' dir
and it works no problem.

How to make that work?

Thank you,
PHF

Attachment: awwjk3xxccddskhhrz6mmx9wa649fb-idris2-0.5.1.drv.gz
Description: application/gzip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]