akku issueshttps://gitlab.com/akkuscm/akku/-/issues2019-11-23T14:34:31Zhttps://gitlab.com/akkuscm/akku/-/issues/43thunderchez: Invalid directive with irritants2019-11-23T14:34:31ZFrancesco Montanarithunderchez: Invalid directive with irritantsHi,
I get an exception when installing `thunderchez` (with Akku v1.0.0 for Chez)
```
$ akku install thunderchez
[info] Adding thunderchez@^0.0.0-akku.121.9d6344a to Akku.manifest...
[info] Wrote Akku.manifest
[info] Solving dependencies...Hi,
I get an exception when installing `thunderchez` (with Akku v1.0.0 for Chez)
```
$ akku install thunderchez
[info] Adding thunderchez@^0.0.0-akku.121.9d6344a to Akku.manifest...
[info] Wrote Akku.manifest
[info] Solving dependencies...
[info] Locked thunderchez v0.0.0-akku.121.9d6344a
[info] Locked chez-srfi v0.0.0-akku.97.5ff9fae
[info] Wrote Akku.lock
[info] Fetching thunderchez
Cloning into '.akku/src/thunderchez'...
remote: Enumerating objects: 940, done.
remote: Total 940 (delta 0), reused 0 (delta 0), pack-reused 940
Receiving objects: 100% (940/940), 1.55 MiB | 247.00 KiB/s, done.
Resolving deltas: 100% (423/423), done.
[info] Fetched revision 9d6344a868b002e20a6d2d205710a3cd2030b398
[info] Fetching chez-srfi
[info] Fetched revision 5ff9fae299a4933188ce7cd1a225a3c26036ef0d
[info] Installing thunderchez
Exception: Invalid directive with irritants (identifier chezscheme)
```https://gitlab.com/akkuscm/akku/-/issues/42SRFI usage for Chez Scheme2019-11-18T23:07:17ZFrancesco MontanariSRFI usage for Chez SchemeHi,
First, many thanks for Akku!
I'm using the source version 1.0.0 for Chez Scheme. I'm confused about SRFI usage:
```
Chez Scheme Version 9.5
Copyright 1984-2017 Cisco Systems, Inc.
> (import (srfi :42 eager-comprehensions))
> (lis...Hi,
First, many thanks for Akku!
I'm using the source version 1.0.0 for Chez Scheme. I'm confused about SRFI usage:
```
Chez Scheme Version 9.5
Copyright 1984-2017 Cisco Systems, Inc.
> (import (srfi :42 eager-comprehensions))
> (list-ec (: i 5) (* i i))
Exception: attempt to reference out-of-context identifier error
Type (debug) to enter the debugger.
>
```
I also tried
```
$ akku install "(srfi 42)"
<...>
Exception in string=?: (srfi 42) is not a string
```
(Detailed [log](/uploads/ddc6b48ecf18c3cd71d54aa870f58002/log).)https://gitlab.com/akkuscm/akku/-/issues/41Translating R7RS standard library imports to R6RS equivalents2019-11-24T10:25:45ZLassi KortelaTranslating R7RS standard library imports to R6RS equivalentsR7RS imports like `(scheme base)` are not currently translated to R6RS imports like `(rnrs)`.
It's not too hard to import the required identifiers from `(rnrs)` along with some shims for the different ones, but how do we avoid importing...R7RS imports like `(scheme base)` are not currently translated to R6RS imports like `(rnrs)`.
It's not too hard to import the required identifiers from `(rnrs)` along with some shims for the different ones, but how do we avoid importing other `rnrs` definitions that the library is not using?
1. We could use huge `only` clauses but that may get a bit unwieldy.
2. We could code-walk the R7RS library to find out which identifiers it contains. If some of those identifiers are exported by `rnrs` but not by the R7RS imports listed by the library, we could `(import (except (rnrs) those identifiers))`.https://gitlab.com/akkuscm/akku/-/issues/39How do use Akku for multiple packages?2020-04-10T18:16:50ZSughiYsughiy@protonmail.comHow do use Akku for multiple packages?Hello,
Firstly, I am sorry that maybe I didn't find the documentations. I wonder how we use **akku** for working on multiple projects.
For instance, I have one project A and project B now, who both have .akku defining their dependencie...Hello,
Firstly, I am sorry that maybe I didn't find the documentations. I wonder how we use **akku** for working on multiple projects.
For instance, I have one project A and project B now, who both have .akku defining their dependencies. The project A needs the project B. However, I didn't find a way to add all the dependencies to Env. What I do now is to add the .akku/bin of the two projects to the CHEZLIBRARYPATH manually. I think it isn't convenient and there should be some correct way for this scenario.
Could you please share some suggestions?
Best,
Sughiyhttps://gitlab.com/akkuscm/akku/-/issues/38Dependency list for building akku is messy2019-11-23T15:49:02ZAnesDependency list for building akku is messySo, when trying to build akku after pulling it from git(lab/hub) it fails because scheme-script is not set. For scheme-script, Ubuntu at least, suggests the chezscheme package. After installing chezscheme, the build failes again, becaus...So, when trying to build akku after pulling it from git(lab/hub) it fails because scheme-script is not set. For scheme-script, Ubuntu at least, suggests the chezscheme package. After installing chezscheme, the build failes again, because guile-2.2-dev is missing. So it would be nice if it would just work with one of of the two.https://gitlab.com/akkuscm/akku/-/issues/37failed finding guild2021-02-06T19:25:55ZMarcfailed finding guildHello,
when configuring akku from the sources, the configure script does not find the `guild` binary on Ubuntu 19.04. The binary is installed but not named with the version-suffix. Creating a symlink from `/usr/bin/guild` to `/usr/bin/gu...Hello,
when configuring akku from the sources, the configure script does not find the `guild` binary on Ubuntu 19.04. The binary is installed but not named with the version-suffix. Creating a symlink from `/usr/bin/guild` to `/usr/bin/guild-2.2` solves the issue.
Thanks and best regard :-)https://gitlab.com/akkuscm/akku/-/issues/35Friendly error message on missing curl2019-11-23T14:34:31ZLassi KortelaFriendly error message on missing curlIs it easy to use R6RS exception handling to gracefully handle a
missing curl library? Currently I get this on a Debian VM that doesn't
have curl:
```
$ akku update
[info] Fetching index from https://archive.akkuscm.org/archive/ ...
Bac...Is it easy to use R6RS exception handling to gracefully handle a
missing curl library? Currently I get this on a Debian VM that doesn't
have curl:
```
$ akku update
[info] Fetching index from https://archive.akkuscm.org/archive/ ...
Backtrace:
[...]
In akku/private/http.scm:
151:29 8 (_ #<output: /home/lassi/.local/share/akku/index.db.0.t…>)
93:19 7 (_ #<r6rs:record:http-request>)
In ice-9/boot-9.scm:
841:4 6 (with-throw-handler _ _ _)
In akku/private/http.scm:
101:47 5 (_)
In unknown file:
4 (dynamic-link "libcurl.so")
In ice-9/boot-9.scm:
751:25 3 (dispatch-exception 0 misc-error ("dynamic-link" "fi…" …))
In rnrs/exceptions.scm:
94:2 2 (_ _ . _)
In akku/private/http.scm:
100:54 1 (_ _)
In unknown file:
0 (dynamic-link "libcurl.so")
ERROR: In procedure dynamic-link:
In procedure dynamic-link: file: "libcurl.so", message: "file not found"
```
That exception comes from the portable pffi library so it can differ
between implementations, right?https://gitlab.com/akkuscm/akku/-/issues/34Configure script fails to find guile-2.2 on Debian 102019-07-27T10:55:32ZLassi KortelaConfigure script fails to find guile-2.2 on Debian 10```
~/akku-1.0.0$ which guile guile2 guile-2 guile2.2 guile-2.2
/usr/bin/guile
/usr/bin/guile-2.2
~/akku-1.0.0$ which guild guild2 guild-2 guild2.2 guild-2.2
~/akku-1.0.0$ readlink -f /usr/bin/guile
/usr/lib/x86_64-linux-gnu/guile/2.2/...```
~/akku-1.0.0$ which guile guile2 guile-2 guile2.2 guile-2.2
/usr/bin/guile
/usr/bin/guile-2.2
~/akku-1.0.0$ which guild guild2 guild-2 guild2.2 guild-2.2
~/akku-1.0.0$ readlink -f /usr/bin/guile
/usr/lib/x86_64-linux-gnu/guile/2.2/bin/guile
~/akku-1.0.0$ readlink -f /usr/bin/guile-2.2
/usr/lib/x86_64-linux-gnu/guile/2.2/bin/guile
~/akku-1.0.0$ guile --version | head -n 1
guile (GNU Guile) 2.2.4
~/akku-1.0.0$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for git... /usr/bin/git
checking for curl... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
configure: checking for guile 3.0
configure: checking for guile 2.2
configure: error:
No Guile development packages were found.
Please verify that you have Guile installed. If you installed Guile
from a binary distribution, please verify that you have also installed
the development packages. If you installed it yourself, you might need
to adjust your PKG_CONFIG_PATH; see the pkg-config man page for more.
~/akku-1.0.0$ uname -srm
Linux 4.19.0-4-amd64 x86_64
~/akku-1.0.0$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
```https://gitlab.com/akkuscm/akku/-/issues/33Accidentally sourcing .akku/env2019-07-26T12:10:21ZLassi KortelaAccidentally sourcing .akku/envWould it be possible to put a safeguard in `.akku/env` so it gives a friendly error message in case it is accidentally sourced (`. .akku/env` or `source .akku/env`) instead of ran as a normal command (just `.akku/env`)?
There's an insan...Would it be possible to put a safeguard in `.akku/env` so it gives a friendly error message in case it is accidentally sourced (`. .akku/env` or `source .akku/env`) instead of ran as a normal command (just `.akku/env`)?
There's an insane amount of detail about various tricks to detect whether a script is being sourced here: https://stackoverflow.com/questions/2683279/how-to-detect-if-a-script-is-being-sourcedhttps://gitlab.com/akkuscm/akku/-/issues/31Use gzip instead of xz for Akku release2019-07-19T14:58:29ZLassi KortelaUse gzip instead of xz for Akku releaseI'd recommend compressing the Akku tar files with plain old gzip instead of the current xz. OpenBSD ships with only gzip in the base system - not even bzip2! They just don't find a need for it. I'm not sure if any of the other BSDs have ...I'd recommend compressing the Akku tar files with plain old gzip instead of the current xz. OpenBSD ships with only gzip in the base system - not even bzip2! They just don't find a need for it. I'm not sure if any of the other BSDs have xz in base either. But gzip is omnipresent, and the file sizes are practically the same even with gzip's default compression level:
```
330K akku-1.0.0-alpha.0.tar.xz
432K akku-1.0.0-alpha.0.tar.gz9
436K akku-1.0.0-alpha.0.tar.gz
542K akku-1.0.0-alpha.0.tar.gz1
```https://gitlab.com/akkuscm/akku/-/issues/30OpenBSD port2019-07-22T12:59:27ZLassi KortelaOpenBSD portOpenBSD has both a `guile` port (1.8.8) and a `guile2` port (2.2.6). So we need to use `guile2`. It installs the commands: `guild guile2 guile2-config guile2-snarf guile2-tools`
The current configure script only looks for `guile`, not `...OpenBSD has both a `guile` port (1.8.8) and a `guile2` port (2.2.6). So we need to use `guile2`. It installs the commands: `guild guile2 guile2-config guile2-snarf guile2-tools`
The current configure script only looks for `guile`, not `guile2`, so it fails to find it.https://gitlab.com/akkuscm/akku/-/issues/29Friendly error message when trying to install non-existent package2019-07-20T17:09:32ZLassi KortelaFriendly error message when trying to install non-existent packageFrom the latest CI artifact (1.0.0-alpha.0) using Guile:
```
$ akku install nonexistent
Backtrace:
2 (primitive-load "/usr/local/bin/akku")
In ice-9/eval.scm:
619:8 1 (_ #(#(#<directory (guile-user) 80152a140>) ("nonexi?...From the latest CI artifact (1.0.0-alpha.0) using Guile:
```
$ akku install nonexistent
Backtrace:
2 (primitive-load "/usr/local/bin/akku")
In ice-9/eval.scm:
619:8 1 (_ #(#(#<directory (guile-user) 80152a140>) ("nonexi?")))
In ice-9/boot-9.scm:
260:13 0 (for-each #<procedure 8033bb9e0 at ice-9/eval.scm:333:?> ?)
ice-9/boot-9.scm:260:13: In procedure for-each:
ERROR: R6RS exception:
1. &error
2. &who: add-dependency
3. &message: "Package not found"
4. &irritants: ("nonexistent")
```https://gitlab.com/akkuscm/akku/-/issues/28Option parsing and help commands2019-07-20T17:09:32ZLassi KortelaOption parsing and help commandsFrom the latest CI artifact (1.0.0-alpha.0):
```
$ akku help
[error] Unrecognized command: help
```
```
$ akku help init
[error] Unrecognized command: help
```
```
$ akku -h
[error] Unrecognized command: -h
```
```
$ akku -h init
[er...From the latest CI artifact (1.0.0-alpha.0):
```
$ akku help
[error] Unrecognized command: help
```
```
$ akku help init
[error] Unrecognized command: help
```
```
$ akku -h
[error] Unrecognized command: -h
```
```
$ akku -h init
[error] Unrecognized command: -h
```
```
$ akku init -h
[critical] The directory "-h" already exists.
```
```
$ akku init --help
[info] Adding chez-srfi@>=0.0.0-akku <1.0.0 to --help/Akku.manifest...
[info] Created a draft manifest in --help/Akku.manifest
To start developing in the new project, type this in your shell:
cd --help
akku install
.akku/env
The programs will work out of the box if Chez Scheme is installed. Other
implementations may require small adjustments to run R6RS programs (e.g.
guile -x .guile.sls -x .sls). See the manual for your implementation.
```
```
$ akku compat-scan --help
Backtrace:
1 (primitive-load "/usr/local/bin/akku")
In akku/lib/bundle.scm:
169:0 0 (compat-scan "Akku.lock" ("--help"))
akku/lib/bundle.scm:169:0: In procedure compat-scan:
ERROR: R6RS exception:
1. &assertion
2. &message: "assertion failed: (for-all file-exists? filenames)"
```https://gitlab.com/akkuscm/akku/-/issues/27SRFI library name mapping does not work with MSYS2/Cygwin and Chez Scheme2024-02-18T21:30:53ZJudah CarusoSRFI library name mapping does not work with MSYS2/Cygwin and Chez SchemeAfter creating a new project, `akku install` fails while linking `../:0/cond-expand.chezscheme.sls` to `.akku/lib/`.
Using Akku 0.5.1 on a fresh MSYS2 (64-bit).
Log:
```shell
$ akku init new_project
[info] Adding chez-srfi@>=0.0.0-akk...After creating a new project, `akku install` fails while linking `../:0/cond-expand.chezscheme.sls` to `.akku/lib/`.
Using Akku 0.5.1 on a fresh MSYS2 (64-bit).
Log:
```shell
$ akku init new_project
[info] Adding chez-srfi@>=0.0.0-akku <1.0.0 to new_project/Akku.manifest...
[info] Created a draft manifest in new_project/Akku.manifest
To start developing in the new project, type this in your shell:
cd new_project
akku install
.akku/env
The programs will work out of the box if Chez Scheme is installed. Other
implementations may require small adjustments to run R6RS programs (e.g.
guile -x .guile.sls -x .sls). See the manual for your implementation.
$ cd new_project/
$ akku install
[info] Locked chez-srfi v0.0.0-akku.82.daf5ebd
[info] Wrote Akku.lock
[info] Fetching chez-srfi
Cloning into '.akku/src/chez-srfi'...
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 925 (delta 4), reused 11 (delta 4), pack-reused 908
Receiving objects: 100% (925/925), 724.51 KiB | 884.00 KiB/s, done.
Resolving deltas: 100% (387/387), done.
[info] Fetched revision daf5ebd67ef36fd2388d6a62e278ba8d04b11abf
[info] Installing chez-srfi
Backtrace:
17 (apply-smob/1 #<catch-closure 600209180>)
In ice-9/boot-9.scm:
705:2 16 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
619:8 15 (_ #(#(#<directory (guile-user) 6001df140>)))
In ice-9/boot-9.scm:
2312:4 14 (save-module-excursion _)
3832:12 13 (_)
In /home/Judah/.akku/bin/akku.sps:
183:11 12 (cmd-install _)
In akku/lib/install.sls:
1044:45 11 (install _ "Akku.manifest")
In srfi/srfi-1.scm:
592:17 10 (map1 (#<r6rs:record:project>))
In akku/lib/install.sls:
1044:45 9 (_ #<r6rs:record:project>)
731:32 8 (install-project _ #f)
In srfi/srfi-1.scm:
592:29 7 (map1 (#<r6rs:record:r6rs-library> #<r6rs:record:r6r…> …))
592:17 6 (map1 (#<r6rs:record:r6rs-library> #<r6rs:record:r6r…> …))
In akku/lib/install.sls:
763:18 5 (_ #<r6rs:record:r6rs-library>)
443:0 4 (make-alias-symlinks ".akku/lib/srfi/:0/cond-expand.ch…" …)
In srfi/srfi-1.scm:
592:17 3 (map1 (("srfi/%3a0" . "cond-expand.ikarus.sls") (. #) …))
In akku/lib/install.sls:
433:53 2 (symlink-file ".akku/lib/srfi/%3a0" _ _)
In akku/lib/utils.sls:
180:52 1 (symlink/relative _ _ _)
In unknown file:
0 (symlink "../:0/cond-expand.chezscheme.sls" ".akku/lib/…")
ERROR: In procedure symlink:
In procedure symlink: No such file or directory
```
Tree of `.akku/lib` directory:
```
.akku/lib/
└── srfi
├── %3a0
├── :0
│ └── cond-expand.chezscheme.sls
└── srfi-0.guile.sls
```
Tree of `.akku/src` directory:
```
.akku/src/
└── chez-srfi
├── %3a0
│ ├── cond-expand.guile.sls
│ └── cond-expand.sls
├── %3a0.sls
├── %3a1
│ ├── lists.sls
│ └── srfi-1-reference.scm
├── %3a1.sls
├── %3a11
│ └── let-values.sls
├── %3a11.sls
├── %3a115
│ ├── regexp
│ │ ├── boundary.sls
│ │ └── boundary-impl.scm
│ ├── regexp.sls
│ └── regexp-impl.scm
├── %3a115.sls
├── %3a117
│ ├── list-queues.sls
│ └── list-queues-impl.scm
├── %3a117.sls
├── %3a125
│ ├── 125.body.scm
│ └── hashtables.sls
├── %3a125.sls
├── %3a126
│ ├── 126.body.scm
│ ├── helpers
│ │ ├── helpers.chezscheme.sls
│ │ └── helpers.sls
│ └── r6rs-hashtables.sls
├── %3a126.sls
├── %3a127
│ ├── lazy-sequences.sls
│ └── lseqs-impl.scm
├── %3a127.sls
├── %3a128
│ ├── 128.body1.scm
│ ├── 128.body2.scm
│ └── comparators.sls
├── %3a128.sls
├── %3a129
│ ├── titlecase.sls
│ ├── titlecase-impl.scm
│ └── titlemaps.scm
├── %3a129.sls
├── %3a13
│ ├── srfi-13.scm
│ └── strings.sls
├── %3a13.sls
├── %3a130
│ ├── 130.body.scm
│ └── string-cursors.sls
├── %3a130.sls
├── %3a131
│ └── records.sls
├── %3a131.sls
├── %3a132
│ ├── delndups.scm
│ ├── lmsort.scm
│ ├── median.scm
│ ├── merge.scm
│ ├── select.scm
│ ├── sort.scm
│ ├── sortfaster.scm
│ ├── sorting.sls
│ ├── sorting-test.scm
│ ├── sortp.scm
│ ├── vbinsearch.scm
│ ├── vector-util.scm
│ ├── vhsort.scm
│ ├── visort.scm
│ ├── vmsort.scm
│ ├── vqsort2.scm
│ └── vqsort3.scm
├── %3a132.sls
├── %3a133
│ ├── vectors.sls
│ ├── vectors.sls3a132.sls
│ └── vectors-impl.scm
├── %3a133.sls
├── %3a14
│ ├── char-sets
│ │ ├── inversion-list.sls
│ │ ├── inversion-list-check.scm
│ │ └── inversion-list-impl.scm
│ ├── char-sets.sls
│ ├── COPYING
│ ├── srfi-14.scm
│ ├── srfi-14-base-char-sets.scm
│ ├── srfi-14-char-sets.scm
│ ├── srfi-14-check.scm
│ └── unicode-data.scm
├── %3a14.sls
├── %3a141
│ ├── integer-division.sls
│ └── srfi-141-impl.scm
├── %3a141.sls
├── %3a143
│ ├── fixnums.sls
│ └── helpers
│ ├── helpers.chezscheme.sls
│ └── helpers.sls
├── %3a143.sls
├── %3a145
│ ├── assumptions.chezscheme.sls
│ └── assumptions.sls
├── %3a145.sls
├── %3a151
│ └── bitwise-operations.sls
├── %3a151.sls
├── %3a152
│ ├── extend-comparisons.scm
│ ├── macros.scm
│ ├── portable.scm
│ ├── r7rs-shim.scm
│ └── strings.sls
├── %3a152.sls
├── %3a156
│ ├── predicate-combiners.sls
│ └── srfi-156-impl.scm
├── %3a156.sls
├── %3a158
│ ├── generators-and-accumulators.sls
│ └── srfi-158-impl.scm
├── %3a158.sls
├── %3a16
│ └── case-lambda.sls
├── %3a16.sls
├── %3a17
│ ├── generalized-set%21.chezscheme.sls
│ ├── helpers.chezscheme.sls
│ └── helpers.sls
├── %3a17.sls
├── %3a19
│ ├── srfi-19.scm
│ ├── srfi-19-test-suite.scm
│ ├── time
│ │ ├── compat.chezscheme.sls
│ │ ├── compat.ikarus.sls
│ │ ├── compat.larceny.sls
│ │ ├── compat.mzscheme.sls
│ │ ├── compat.ypsilon.sls
│ │ └── not-implemented.sls
│ └── time.sls
├── %3a19.sls
├── %3a2
│ └── and-let%2a.sls
├── %3a2.sls
├── %3a23
│ ├── error
│ │ └── tricks.sls
│ └── error.sls
├── %3a23.sls
├── %3a25
│ ├── arlib.scm
│ ├── array.scm
│ ├── ix-ctor.scm
│ ├── list.scm
│ ├── multi-dimensional-arrays
│ │ ├── all.sls
│ │ └── arlib.sls
│ ├── multi-dimensional-arrays.sls
│ ├── op-ctor.scm
│ └── test.scm
├── %3a25.sls
├── %3a26
│ ├── check.scm
│ ├── cut.sls
│ └── cut-impl.scm
├── %3a26.sls
├── %3a27
│ ├── conftest.scm
│ ├── mrg32k3a.scm
│ ├── mrg32k3a-a.scm
│ └── random-bits.sls
├── %3a27.sls
├── %3a28
│ └── basic-format-strings.sls
├── %3a28.sls
├── %3a29
│ └── localization.sls
├── %3a29.sls
├── %3a31
│ └── rec.sls
├── %3a31.sls
├── %3a34
│ └── exception-handling.sls
├── %3a34.sls
├── %3a35
│ └── conditions.sls
├── %3a35.sls
├── %3a37
│ ├── args-fold.sls
│ └── srfi-37-reference.scm
├── %3a37.sls
├── %3a38
│ ├── with-shared-structure.chezscheme.sls
│ ├── with-shared-structure.ikarus.sls
│ └── with-shared-structure.ypsilon.sls
├── %3a38.sls
├── %3a39
│ ├── parameters.chezscheme.sls
│ ├── parameters.ikarus.sls
│ ├── parameters.mzscheme.sls
│ ├── parameters.sls
│ └── parameters.ypsilon.sls
├── %3a39.sls
├── %3a4
│ └── numeric-vectors.sls
├── %3a4.sls
├── %3a41
│ ├── streams
│ │ ├── derived.sls
│ │ └── primitive.sls
│ └── streams.sls
├── %3a41.sls
├── %3a42
│ ├── eager-comprehensions.sls
│ ├── ec.scm
│ └── examples.scm
├── %3a42.sls
├── %3a43
│ ├── vector-lib.scm
│ └── vectors.sls
├── %3a43.sls
├── %3a45
│ └── lazy.sls
├── %3a45.sls
├── %3a48
│ ├── intermediate-format-strings
│ │ ├── compat.chezscheme.sls
│ │ ├── compat.guile.sls
│ │ ├── compat.ikarus.sls
│ │ ├── compat.larceny.sls
│ │ ├── compat.mzscheme.sls
│ │ └── compat.ypsilon.sls
│ └── intermediate-format-strings.sls
├── %3a48.sls
├── %3a5
│ └── let.sls
├── %3a5.sls
├── %3a51
│ ├── rest-values.sls
│ └── srfi-51-impl.scm
├── %3a51.sls
├── %3a54
│ ├── cat.sls
│ └── srfi-54-impl.scm
├── %3a54.sls
├── %3a6
│ ├── basic-string-ports
│ │ ├── compat.chezscheme.sls
│ │ ├── compat.ikarus.sls
│ │ ├── compat.larceny.sls
│ │ └── compat.ypsilon.sls
│ ├── basic-string-ports.mzscheme.sls
│ └── basic-string-ports.sls
├── %3a6.sls
├── %3a60
│ └── integer-bits.sls
├── %3a60.sls
├── %3a61
│ └── cond.sls
├── %3a61.sls
├── %3a64
│ ├── srfi-64-test.scm
│ ├── testing.sls
│ └── testing-impl.scm
├── %3a64.sls
├── %3a67
│ ├── compare.scm
│ ├── compare-procedures.sls
│ └── examples.scm
├── %3a67.sls
├── %3a69
│ └── basic-hash-tables.sls
├── %3a69.sls
├── %3a78
│ ├── check.scm
│ ├── examples.scm
│ ├── lightweight-testing
│ │ ├── compat.chezscheme.sls
│ │ ├── compat.guile.sls
│ │ ├── compat.ikarus.sls
│ │ ├── compat.larceny.sls
│ │ ├── compat.mzscheme.sls
│ │ └── compat.ypsilon.sls
│ └── lightweight-testing.sls
├── %3a78.sls
├── %3a8
│ └── receive.sls
├── %3a8.sls
├── %3a9
│ └── records.sls
├── %3a9.sls
├── %3a98
│ ├── os-environment-variables.chezscheme.sls
│ ├── os-environment-variables.ikarus.sls
│ ├── os-environment-variables.larceny.sls
│ ├── os-environment-variables.mzscheme.sls
│ └── os-environment-variables.ypsilon.sls
├── %3a98.sls
├── %3a99
│ ├── records
│ │ ├── helper.sls
│ │ ├── inspection.larceny.sls
│ │ ├── inspection.sls
│ │ ├── procedural.larceny.sls
│ │ ├── procedural.sls
│ │ ├── syntactic.larceny.sls
│ │ └── syntactic.sls
│ └── records.sls
├── %3a99.sls
├── .git
│ ├── branches
│ ├── config
│ ├── description
│ ├── FETCH_HEAD
│ ├── HEAD
│ ├── hooks
│ │ ├── applypatch-msg.sample
│ │ ├── commit-msg.sample
│ │ ├── fsmonitor-watchman.sample
│ │ ├── post-update.sample
│ │ ├── pre-applypatch.sample
│ │ ├── pre-commit.sample
│ │ ├── prepare-commit-msg.sample
│ │ ├── pre-push.sample
│ │ ├── pre-rebase.sample
│ │ ├── pre-receive.sample
│ │ └── update.sample
│ ├── index
│ ├── info
│ │ └── exclude
│ ├── logs
│ │ ├── HEAD
│ │ └── refs
│ │ ├── heads
│ │ │ └── master
│ │ └── remotes
│ │ └── origin
│ │ └── HEAD
│ ├── objects
│ │ ├── info
│ │ └── pack
│ │ ├── pack-457bb1b0511bc108d2bcf3dfb0d4f90f6ed7aab3.idx
│ │ └── pack-457bb1b0511bc108d2bcf3dfb0d4f90f6ed7aab3.pack
│ ├── packed-refs
│ └── refs
│ ├── heads
│ │ └── master
│ ├── remotes
│ │ └── origin
│ │ └── HEAD
│ └── tags
├── .gitignore
├── compile-all.ikarus.sps
├── LICENSE
├── link-dirs.chezscheme.sps
├── private
│ ├── check-arg.sls
│ ├── define-values.chezscheme.sls
│ ├── define-values.sls
│ ├── feature-cond.sls
│ ├── helpers.chezscheme.sls
│ ├── helpers.sls
│ ├── include
│ │ ├── compat.chezscheme.sls
│ │ ├── compat.guile.sls
│ │ ├── compat.ikarus.sls
│ │ ├── compat.larceny.sls
│ │ ├── compat.mzscheme.sls
│ │ └── compat.ypsilon.sls
│ ├── include.sls
│ ├── let-opt.sls
│ ├── make-aliased-libraries.sps
│ ├── OS-id-features.sls
│ ├── platform-features.chezscheme.sls
│ ├── platform-features.ikarus.sls
│ ├── platform-features.larceny.sls
│ ├── platform-features.mzscheme.sls
│ ├── platform-features.ypsilon.sls
│ ├── registry.sls
│ └── vanish.sls
├── README.md
├── README.upstream
└── tests
├── and-let%2a.sps
├── char-sets.sps
├── compare-procedures.sps
├── cut.sps
├── eager-comprehensions.sps
├── intermediate-format-strings.sps
├── lazy.sps
├── lightweight-testing.sps
├── list-queues.sps
├── lists.sps
├── multi-dimensional-arrays.sps
├── multi-dimensional-arrays--arlib.sps
├── os-environment-variables.sps
├── r6rs-hashtables.ikarus.sps
├── r6rs-hashtables.sps
├── random-bits.sps
├── rec.sps
├── records.sps
├── regexp.sps
├── tables-test.ikarus.sps
├── tables-test.sps
├── testing.sps
├── time.sps
└── vectors.sps
```https://gitlab.com/akkuscm/akku/-/issues/26Newbie confusion (doc update?)2022-08-06T16:17:26ZKen DickeyNewbie confusion (doc update?)Greetings,
I just installed Chez Scheme on RasPi3/Raspian, found machine-code, which uses akku, downloaded the source, added akku's bin dir to $PATH and..
=================
RasPi3:armv7l:~/Scheme/akku-0.5.1 >>> scheme
Chez Scheme Versio...Greetings,
I just installed Chez Scheme on RasPi3/Raspian, found machine-code, which uses akku, downloaded the source, added akku's bin dir to $PATH and..
=================
RasPi3:armv7l:~/Scheme/akku-0.5.1 >>> scheme
Chez Scheme Version 9.5.3
Copyright 1984-2019 Cisco Systems, Inc.
> (exit)
RasPi3:armv7l:~/Scheme/akku-0.5.1 >>> akku update
Exception: library (industria strings) not found
=================
I did not note any akku install instruction in the README.
Can you help me out?
Thanks much,
-KenD [Ken (dot) Dickey (at) Whidbey (dot) com]https://gitlab.com/akkuscm/akku/-/issues/25Bug in R7RS define-library form (export (rename foo bar))2019-07-06T09:58:09ZGhost UserBug in R7RS define-library form (export (rename foo bar))Akku doesn't recognize correctly `define-library` rename:
```
amirouche ~ src scheme azul azul2 master 2✎ 4? 16:48:18 cat foo.sld
(define-library (foo)
(export (rename foo bar))
(import (scheme base))
(begi...Akku doesn't recognize correctly `define-library` rename:
```
amirouche ~ src scheme azul azul2 master 2✎ 4? 16:48:18 cat foo.sld
(define-library (foo)
(export (rename foo bar))
(import (scheme base))
(begin
(define foo 42)))
amirouche ~ src scheme azul azul2 master 2✎ 4? 16:48:22 AKKU_LOG_LEVEL=trace akku install &> log
amirouche ~ src scheme azul azul2 master 2✎ 4? 16:48:28 cat .akku/lib/foo.sls
#!r6rs ;; Copyright notices may be found in "foo.sld"
;; This file was written by Akku.scm
(library (foo)
(export (rename (foo bar)))
(import (scheme base))
(define foo 42))
```
This works, but it recognize `(export (rename foo bar)` as renaming rule instead of `(export (rename (foo bar)))`
As far as I know, R7RS define-library form is similar to R6RS except `import` and `export` can appear multiple times.https://gitlab.com/akkuscm/akku/-/issues/24chez-sockets doesn't work2019-05-26T15:22:17ZGhost Userchez-sockets doesn't work```bash
$ akku init tmp
[info] Adding chez-srfi@>=0.0.0-akku <1.0.0 to tmp/Akku.manifest...
[info] Created a draft manifest in tmp/Akku.manifest
To start developing in the new project, type this in your shell:
cd tmp
akku install
.a...```bash
$ akku init tmp
[info] Adding chez-srfi@>=0.0.0-akku <1.0.0 to tmp/Akku.manifest...
[info] Created a draft manifest in tmp/Akku.manifest
To start developing in the new project, type this in your shell:
cd tmp
akku install
.akku/env
The programs will work out of the box if Chez Scheme is installed. Other
implementations may require small adjustments to run R6RS programs (e.g.
guile -x .guile.sls -x .sls). See the manual for your implementation.
$ cd tmp/
$ akku install
[info] Locked chez-srfi v0.0.0-akku.74.f704590
[info] Wrote Akku.lock
[info] Fetching chez-srfi
Cloning into '.akku/src/chez-srfi'...
remote: Enumerating objects: 904, done.
remote: Total 904 (delta 0), reused 0 (delta 0), pack-reused 904
Receiving objects: 100% (904/904), 715.71 KiB | 1.31 MiB/s, done.
Resolving deltas: 100% (380/380), done.
[info] Fetched revision f704590f54f982d98c004e5ed3e55359ecab12e1
[info] Installing chez-srfi
[info] Installing the current project
[info] Writing .akku/list
[info] Installing .akku/bin/activate
[info] Installing .akku/bin/activate.fish
[info] Installing .akku/env
$ .akku/env
$ akku install chez-sockets
[info] Adding chez-sockets@^0.0.0-akku.13.c3fc663 to Akku.manifest...
[info] Wrote Akku.manifest
[info] Locked chez-srfi v0.0.0-akku.74.f704590
[info] Locked chez-sockets v0.0.0-akku.13.c3fc663
[info] Wrote Akku.lock
[info] Fetching chez-sockets
Cloning into '.akku/src/chez-sockets'...
remote: Enumerating objects: 49, done.
remote: Total 49 (delta 0), reused 0 (delta 0), pack-reused 49
Unpacking objects: 100% (49/49), done.
[info] Fetched revision c3fc66351a5846cd6ac94f191b727f8ddd67bc86
[info] Fetching chez-srfi
[info] Fetched revision f704590f54f982d98c004e5ed3e55359ecab12e1
[info] Running "echo Email compilation errors to bugs at akkuscm.org"
[info] Running "make sockets-stub.so socket-ffi-values.so SCHEMEH=$(dirname $(which scheme))/../lib/csv$(scheme --version)$(echo '(machine-type)' | scheme -q)"
[info] Installing chez-sockets
[info] Installing chez-srfi
[info] Installing the current project
[info] Writing .akku/list
[info] Installing .akku/bin/activate
[info] Installing .akku/bin/activate.fish
[info] Installing .akku/env
[info] Running "cp sockets-stub.so socket-ffi-values.so \"$akku_path_lib_ffi\""
$ rlwrap scheme
Chez Scheme Version 9.5.3
Copyright 1984-2019 Cisco Systems, Inc.
>
$ rlwrap scheme --import-notify
Chez Scheme Version 9.5.3
Copyright 1984-2019 Cisco Systems, Inc.
> (import (arcfide sockets))
import: found source file "/home/amirouche/src/scheme/azul/tmp/.akku/lib/arcfide/sockets.chezscheme.sls"
import: did not find corresponding object file "/home/amirouche/src/scheme/azul/tmp/.akku/libobj/arcfide/sockets.chezscheme.so"
import: loading source file "/home/amirouche/src/scheme/azul/tmp/.akku/lib/arcfide/sockets.chezscheme.sls"
Exception in include: file "sockets.ss" not found in source directories
Type (debug) to enter the debugger.
>
```Gwen Weinholtgit@weinholt.seGwen Weinholtgit@weinholt.sehttps://gitlab.com/akkuscm/akku/-/issues/23The dependency of package (uuid) isn't the correct version.2019-05-06T18:05:04ZSughiYsughiy@protonmail.comThe dependency of package (uuid) isn't the correct version.Hello,
I just used Akku to install the package `(uuid)`. However I got an error.
```shell
> (import (uuid))
Exception: attempt to reference unbound identifier put-pack at line 140, char 19 of
$PATH/.akku/lib/uuid.sls
Type (debug) to e...Hello,
I just used Akku to install the package `(uuid)`. However I got an error.
```shell
> (import (uuid))
Exception: attempt to reference unbound identifier put-pack at line 140, char 19 of
$PATH/.akku/lib/uuid.sls
Type (debug) to enter the debugger.
```
I check the installed source which seems to check out the out of version. (the version is `v1.0.0` but the `put-pack` is added from `v1.1.0`).https://gitlab.com/akkuscm/akku/-/issues/22FreeBSD port2019-07-19T12:33:41ZLassi KortelaFreeBSD port> Would you use Guile to run it on FreeBSD? I haven't tested Akku on FreeBSD, only on Linux and macOS, so I wouldn't count on it working without some fixes first.
FreeBSD currently has:
* Chez 9.5: https://www.freshports.org/lang/chez-...> Would you use Guile to run it on FreeBSD? I haven't tested Akku on FreeBSD, only on Linux and macOS, so I wouldn't count on it working without some fixes first.
FreeBSD currently has:
* Chez 9.5: https://www.freshports.org/lang/chez-scheme/
* Petite Chez 8.4: https://www.freshports.org/lang/petite-chez/
* Guile 1.8 as 'guile': https://www.freshports.org/lang/guile/
* Guile 2.0.14 as 'guile2': https://www.freshports.org/lang/guile2/
I haven't done any real work with any of these, so can't say for sure.https://gitlab.com/akkuscm/akku/-/issues/21System-wide installation of Akku2019-07-17T12:03:20ZGwen Weinholtgit@weinholt.seSystem-wide installation of AkkuAkku currently supports installation to `~/.akku` and not e.g. `/usr`. There is the environment variable `AKKU_HOME` that can override the `~/.akku` location, but it doesn't work very well with a system-wide installation.
Files accessed...Akku currently supports installation to `~/.akku` and not e.g. `/usr`. There is the environment variable `AKKU_HOME` that can override the `~/.akku` location, but it doesn't work very well with a system-wide installation.
Files accessed by Akku, apart from project files:
* `$AKKU_HOME/share/keys.d/*.gpg` - keys to verify indices during `akku update`
* `$AKKU_HOME/share/bootstrap.db` - the index distributed with a release
* `$AKKU_HOME/share/index.db*` - the indices downloaded by `akku update`
* `$AKKU_HOME/bin/akku` - the start wrapper
* `$HOME/.cache/akku` - cache of downloaded tarballs
The keys and the bootstrap index can be read from both `$AKKU_HOME` and `/usr`. The downloaded index could be moved to a location like in #15. A system-wide installation would also have the start wrapper in `/usr`.
Someone who wants to do a system-wide installation would most likely get the source tarballs that are generated by GitHub/GitLab, not the ones generated by `private/build.chezscheme.sps`. There should be a configure script that embeds $PREFIX into akku, selects a Scheme implementation and perhaps a makefile that installs all needed files to $DESTDIR.