[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Packaging Idris2
From: |
Andreas Reuleaux |
Subject: |
Re: Packaging Idris2 |
Date: |
Sat, 20 Aug 2022 23:01:58 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Csepp <raingloom@riseup.net> writes:
> Pierre-Henry Fröhring <contact@phfrohring.com> writes:
>
>> Well, I went from a `guix shell --container' up to `make test' passing ;
>> assuming a `chez-scheme' backend (no `node' nor `racket'). It boils down
>> to a shell session looking like:
>>
>> ┌────
>> │ $ cd ~/src/
>> │ $ git clone git@github.com:idris-lang/Idris2.git
>> │ $ cd Idris2
>> │ $ ./build_idris
>> └────
>> Listing 1: session
>>
>> I guess that an idea would be to « translate » this session into a Guix
>> Package. What's the best option here? To torture the `gnu-build-system'
>> until it accepts to build Idris2 or should I take the
>> `trivial-build-system' route?
>> Thank you.
>> ― PHF
>>
>> ┌────
>> │ #! /usr/bin/env bash
>> │ set -euo pipefail
>> │ IFS=$'\n\t'
>> │
>> │ cat <<'EOF' >manifest.scm
>> │ (specifications->manifest
>> │ '("gcc@12.1.0"
>> │ "chez-scheme"
>> │ "gmp"
>> │ "coreutils"
>> │ "bash"
>> │ "make"
>> │ "findutils"
>> │ "git"
>> │ "diffutils"
>> │ "glibc"
>> │ "sed"
>> │ "gawk"
>> │ "binutils"))
>> │ EOF
>> │
>> │ cat <<'EOF' >build_idris_in_container
>> │ set -euo pipefail
>> │ IFS=$'\n\t'
>> │
>> │ echo 'Idris build configuration'
>> │ set -x
>> │ export PREFIX=/tmp/idris2
>> │ export SCHEME=chez-scheme
>> │ export CC=gcc
>> │ export INTERACTIVE=''
>> │ set +x
>> │ echo
>> │
>> │ echo 'PATHS configuration'
>> │ set -x
>> │ export LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib:$PREFIX/lib
>> │ export PATH=$PATH:$PREFIX/bin
>> │ set +x
>> │ echo
>> │
>> │ echo 'Bootstrap'
>> │ make bootstrap
>> │ echo
>> │
>> │ echo 'Install'
>> │ make install
>> │ echo
>> │
>> │ echo 'Self-host'
>> │ make clean
>> │ make all
>> │ make install
>> │ echo
>> │
>> │ echo 'Test'
>> │ make test
>> │ echo
>> │
>> │ echo 'Clean'
>> │ rm -v manifest.scm
>> │ rm -v build_idris_in_container
>> │ echo
>> │ EOF
>> │
>> │ guix shell -C -m manifest.scm -- bash ./build_idris_in_container
>> └────
>> Listing 2: build_idris
>
> I'm pretty sure Lendvai Attila has a WIP package that was supposed to be
> submitted as a patch "soon", which was like a year ago.
>
> Anyways, there are definitely already Idris 2 patches floating around
> the mailing list so I'd prefer if discussion was moved there.
> I'm also interested in getting it packaged, but building it takes a lot
> of time.
Sorry for intercepting: It does *NOT* take that much time:
Just following the INSTALL instruction as in the package
idris2-0.5.1.tgz (unpacked as Idris2-0.5.1 )
takes me 8 min + 25 sec roughly
(bootstrapping with racket in my case / chez scheme would do as well)
time make bootstrap-racket
real 8m20.490s
user 8m13.197s
sys 0m6.841s
time make install
real 0m4.796s
user 0m4.267s
sys 0m0.532s
> The Scheme bootstrap seed can be generated with Idris 1, true. But
> compiling Idris 2 with Idris 1 takes such an ungodly amount of time and
> RAM that expecting people to do so is maybe not a great idea. I
> certainly will not be working on that. Last time I built it I needed at
> least 16 gigs of swap. I have better use cases for my SSD.
Sorry this is wrong: Idris2 is *NOT* built from Idris1 any more:
You either build from an existing Idris2 (that means you had it successfully
built/installed
at least once - and are by now experienced enough, to know what's going on in
your
build chain), or - probably more relevant for the packaging here:
You bootstrap it from scheme (chez or racket), as comes within the Idris2
tarball
(and built with Idris 2 itself: Idris2 -> Chez Scheme / Racket).
I am not that super familiar with Guix packaging (well have done some little
bits before),
but at least I got Idris 2 installed and running (well I guess you have, too
[?]).
But I may be able to step in with more detailed installation steps, if needed.
Thanks,
-A
- Packaging Idris2, Pierre-Henry Fröhring, 2022/08/19
- Re: Packaging Idris2, (, 2022/08/19
- Re: Packaging Idris2, Pierre-Henry Fröhring, 2022/08/20
- Re: Packaging Idris2, Csepp, 2022/08/20
- Re: Packaging Idris2,
Andreas Reuleaux <=
- Re: Packaging Idris2, (, 2022/08/21
- Re: Packaging Idris2, Csepp, 2022/08/21
- Re: Packaging Idris2, Andreas Reuleaux, 2022/08/21
- Re: Packaging Idris2, (, 2022/08/21
- Re: Packaging Idris2, (, 2022/08/21
- Re: Packaging Idris2, zimoun, 2022/08/21
- Re: Packaging Idris2, Philip McGrath, 2022/08/21
- Re: Packaging Idris2, contact, 2022/08/23
- Re: Packaging Idris2, Csepp, 2022/08/23
- Re: Packaging Idris2, contact, 2022/08/23