akku issueshttps://gitlab.com/akkuscm/akku/-/issues2024-02-25T18:44:17Zhttps://gitlab.com/akkuscm/akku/-/issues/72Could AKKU provide type information?2024-02-25T18:44:17Zufo5260987423Could AKKU provide type information?Hi, I noticed that [this page](https://akkuscm.org/libraries/) provided many library information about packages published on AKKU. And those many exported procedures or something else has been recognized as like in [this page](https://ak...Hi, I noticed that [this page](https://akkuscm.org/libraries/) provided many library information about packages published on AKKU. And those many exported procedures or something else has been recognized as like in [this page](https://akkuscm.org/packages/scheme-langserver/). I wonder maybe it is possible to attach type information to these identifiers?
In my mind, this will make two significant steps that
1. Saving time for code indexing. For example, I'm maintaining a language server named [scheme-langserver](https://github.com/ufo5260987423/scheme-langserver) and type inference is really expensive. If the type information could be downloaded from AKKU, I can directly use these information and bunch of time could be saved.
2. Helping possible optimization. Chez scheme community has such a [issue](https://github.com/cisco/ChezScheme/pull/192) that "Add a compilation pass to cp0 to reduce expression using types". I mean that maybe AKKU could set up a mechanism: as every times publishers publish their package on AKKU, a mechanism analysis their codes and do type attachment work automatically. This will be good for Chez Scheme or other scheme community doing optimization with type information.
As for the implementing, I has just released a new feature type inference DSL(Domain Specific Language) in scheme-langserver 1.1.0, which is now in AKKU's queue. Maybe could AKKU involve my package?
If it's ok, maybe I will be able to fork the code and do some work? I'm not sure whether there's any problem.
It seems a big idea, and I am very much looking forward to the reply from the community maintainer.
----20231123 update-----
An example of automatic type inference result is like
```
is-leaf?
("([identifier-refrence boolean?] <- (inner:list? [identifier-refrence index-node?] ) ) ")
index-node-excluded-references-set!
("(void? <- (inner:list? [identifier-refrence index-node?] something? ) ) ")
```https://gitlab.com/akkuscm/akku/-/issues/70Could AKKU be native on Windows?2024-03-04T19:46:50Zufo5260987423Could AKKU be native on Windows?Hi, I'm scheme-langserver(https://github.com/ufo5260987423/scheme-langserver)'s main developer and our guys are grateful for your work. Recently, I'm doing things making my work compatible for windows. However, I noticed that AKKU is not...Hi, I'm scheme-langserver(https://github.com/ufo5260987423/scheme-langserver)'s main developer and our guys are grateful for your work. Recently, I'm doing things making my work compatible for windows. However, I noticed that AKKU is not native on Windows. And I also noticed guile, on which AKKU depend, there seemly aren't any guidances for migrate to Windows.
Could you have any idea making AKKU windows-native?https://gitlab.com/akkuscm/akku/-/issues/66akku for Mosh Scheme discussion2022-11-28T10:47:17ZHigepon Taro Minowaakku for Mosh Scheme discussionHi there,
starting [Release mosh-0.2.8](https://github.com/higepon/mosh/releases/tag/mosh-0.2.8), Mosh is conforming to R7RS small. I just tried akku with Mosh 0.2.8 and it worked magically. Thank you so much for the impressive work.
##...Hi there,
starting [Release mosh-0.2.8](https://github.com/higepon/mosh/releases/tag/mosh-0.2.8), Mosh is conforming to R7RS small. I just tried akku with Mosh 0.2.8 and it worked magically. Thank you so much for the impressive work.
### Questions
- Are there any missing features on Mosh to support fully akku on Mosh? Is there anything we can do on Mosh side to have better coverage?
- Is there any good way to test all akku packages on Mosh?
thank you in advance,
Higeponhttps://gitlab.com/akkuscm/akku/-/issues/65"akku publish" should handle the PGP key2022-07-06T10:30:03ZGwen Weinholtgit@weinholt.se"akku publish" should handle the PGP keyThe instructions in the manpage say to upload the PGP key to pgp.mit.edu. There have been several times when users have done everything except this step, so I think the tool should be fixed to make this step unnecessary.The instructions in the manpage say to upload the PGP key to pgp.mit.edu. There have been several times when users have done everything except this step, so I think the tool should be fixed to make this step unnecessary.https://gitlab.com/akkuscm/akku/-/issues/63`akku install` segmentation fault2022-02-08T15:14:43Zdannypsnldannypsnl@gmail.com`akku install` segmentation faultcommands
```shell
$ akku init test && cd test
$ akku install
[info] Fetching chez-srfi
[info] Downloading https://archive.akkuscm.org/archive/pkg/c/chez-srfi_0.0.0-akku.181.7879b52_repack.tar.xz
[1] 98881 segmentation faul...commands
```shell
$ akku init test && cd test
$ akku install
[info] Fetching chez-srfi
[info] Downloading https://archive.akkuscm.org/archive/pkg/c/chez-srfi_0.0.0-akku.181.7879b52_repack.tar.xz
[1] 98881 segmentation fault akku install
```
- akku version: 0c7ff86217b924d96bed0a363a667d4859d75d32
- Chez Scheme Version: 9.5.6
- GNU Guile: 3.0.7https://gitlab.com/akkuscm/akku/-/issues/60akku source tarball fail to build bootstrap.db2021-11-29T07:38:49ZAmirouche Boubekkiakku source tarball fail to build bootstrap.db```
% make
sed -e 's,[@]GUILE[@],/usr/bin/guile-3.0,g' -e 's,[@]moddir[@],/home/amirouche/src/scheme/live/git/local/share/akku/guile/site/3.0,g' -e 's,[@]godir[@],/home/amirouche/src/scheme/live/git/local/lib/akku/guile/3.0/site-ccache,g...```
% make
sed -e 's,[@]GUILE[@],/usr/bin/guile-3.0,g' -e 's,[@]moddir[@],/home/amirouche/src/scheme/live/git/local/share/akku/guile/site/3.0,g' -e 's,[@]godir[@],/home/amirouche/src/scheme/live/git/local/lib/akku/guile/3.0/site-ccache,g' -e 's,[@]prefix[@],/home/amirouche/src/scheme/live/git/local,g' -e 's,[@]pkgdatadir[@],/home/amirouche/src/scheme/live/git/local/share/akku,g' < ./config.scm.in > akku/config.scm
( sed -e 's,[@]GUILE[@],/usr/bin/guile-3.0,g' -e 's,[@]moddir[@],/home/amirouche/src/scheme/live/git/local/share/akku/guile/site/3.0,g' -e 's,[@]godir[@],/home/amirouche/src/scheme/live/git/local/lib/akku/guile/3.0/site-ccache,g' -e 's,[@]prefix[@],/home/amirouche/src/scheme/live/git/local,g' -e 's,[@]pkgdatadir[@],/home/amirouche/src/scheme/live/git/local/share/akku,g' < ./guile-script-header.in; cat ./bin/akku.sps ) > bin/akku
chmod +x bin/akku
make: *** No rule to make target 'bootstrap.db', needed by 'all-am'. Stop.
%
```https://gitlab.com/akkuscm/akku/-/issues/57Global library directory2024-02-19T11:14:31ZGwen Weinholtgit@weinholt.seGlobal library directoryThere was some discussion on IRC about doing something like `akku install -g`, which would install packages to a user-global directory. One simple way to accomplish this would be to change directories to `$HOME` if the `-g` flag is given...There was some discussion on IRC about doing something like `akku install -g`, which would install packages to a user-global directory. One simple way to accomplish this would be to change directories to `$HOME` if the `-g` flag is given. Packages are then installed to `~/.akku/lib` and the user just needs to add `. .akku/bin/activate` in their `~/.bashrc`.
(Akku's design until how has assumed per-project dependency tracking and might not work as well as expected with a user-global directory).https://gitlab.com/akkuscm/akku/-/issues/51Additional R7RS implementations2024-01-09T09:17:35ZGwen Weinholtgit@weinholt.seAdditional R7RS implementationsAt the moment Akku sets up the environment for two R7RS implementations: Chibi and Gauche. That's because those were the only ones that I found actually implemented `define-library`. I didn't look at all of the implementations, but maybe...At the moment Akku sets up the environment for two R7RS implementations: Chibi and Gauche. That's because those were the only ones that I found actually implemented `define-library`. I didn't look at all of the implementations, but maybe there are more today?
https://github.com/johnwcowan/r7rs-work/blob/master/ImplementationSupport.mdhttps://gitlab.com/akkuscm/akku/-/issues/40R7RS->R6RS translator assumes all SRFIs are installed2019-11-23T16:24:08ZLassi KortelaR7RS->R6RS translator assumes all SRFIs are installedAkku's `lib/r7rs.scm` in procedure `r7rs-library->r6rs-library` uses the following conditional to check whether a library is installed in a cond-expand:
```
;; FIXME: Should really know about all
;; libraries in the packages.
(or (r7rs-...Akku's `lib/r7rs.scm` in procedure `r7rs-library->r6rs-library` uses the following conditional to check whether a library is installed in a cond-expand:
```
;; FIXME: Should really know about all
;; libraries in the packages.
(or (r7rs-builtin-library? lib-name implementation-name)
(r6rs-builtin-library? lib-name implementation-name)
(match lib-name
[('srfi . _) #t]
[else #f]))
```
How would we go about fixing the FIXME? :) Should we keep track of each SRFI shipped by each Scheme implementation, and additionally the ones installed by Akku via per-SRFI packages, `chez-srfi`, and other SRFI collections? Any way we slice it, it's going to be a non-trivial effort.https://gitlab.com/akkuscm/akku/-/issues/36Should error out nicely when running from /2024-02-16T16:39:05ZGwen Weinholtgit@weinholt.seShould error out nicely when running from /If akku install runs from /, as may easily happen when it runs in a Dockerfile, it will go into a fun loop where it searches through the whole filesystem and "never" exits.
On Linux in particular it finds /proc and gets stuck, with log ...If akku install runs from /, as may easily happen when it runs in a Dockerfile, it will go into a fun loop where it searches through the whole filesystem and "never" exits.
On Linux in particular it finds /proc and gets stuck, with log messages like these:
```
[debug] File proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/cwd/proc/1/autogroup rejected by examine-file
```
It doesn't break anything on the system, but it should handle this case gracefully.https://gitlab.com/akkuscm/akku/-/issues/32Chez instructions for the Autotools build2019-08-03T06:39:48ZLassi KortelaChez instructions for the Autotools buildHow do you make / install Akku so that it uses Chez Scheme, now that the new Autotools-based build system for Guile has been committed? I didn't find a Chez flag in the configure script. Is there a manual way to make it work currently, o...How do you make / install Akku so that it uses Chez Scheme, now that the new Autotools-based build system for Guile has been committed? I didn't find a Chez flag in the configure script. Is there a manual way to make it work currently, or would Chez be easy to add to autotools?https://gitlab.com/akkuscm/akku/-/issues/14Tarball extraction may leave old files2019-04-07T19:49:32ZGwen Weinholtgit@weinholt.seTarball extraction may leave old filesThe `extract-tarball` procedure in `lib/fetch.scm` may leave old files in the `.akku/src/<pkg>` directory. This may happen if a dependency is upgraded and the new tarball doesn't have the file that was in the previous version.The `extract-tarball` procedure in `lib/fetch.scm` may leave old files in the `.akku/src/<pkg>` directory. This may happen if a dependency is upgraded and the new tarball doesn't have the file that was in the previous version.https://gitlab.com/akkuscm/akku/-/issues/12Solver is slow in some common situations2019-11-23T10:34:33ZGwen Weinholtgit@weinholt.seSolver is slow in some common situationsThe dependency solver has grown slow. It used to take a few milliseconds to get a lock in Akku and now it takes more than 20 seconds.
```
≻ time akku lock
[info] Locked xitomatl v0.0.0-akku.208.62a8243
[info] Locked wak-wt-tree v0.0.0-a...The dependency solver has grown slow. It used to take a few milliseconds to get a lock in Akku and now it takes more than 20 seconds.
```
≻ time akku lock
[info] Locked xitomatl v0.0.0-akku.208.62a8243
[info] Locked wak-wt-tree v0.0.0-akku.5.2a2c933
[info] Locked wak-syn-param v0.0.0-akku.4.8ca3272
[info] Locked wak-riastreams v0.0.0-akku.5.b444645
[info] Locked wak-irregex v0.8.1
[info] Locked wak-foof-loop v0.0.0-akku.4.a7b9cd8
[info] Locked wak-fmt v0.8.0-akku.10.d5b2a5a
[info] Locked wak-common v0.1.0-akku.15.6d495fc
[info] Locked struct-pack v1.1.0
[info] Locked spells v0.0.0-akku.499.f91ed0b
[info] Locked spdx v1.0.0
[info] Locked semver v1.0.2
[info] Locked r6rs-pffi v1.1.0
[info] Locked packrat v0.1.0
[info] Locked laesare v1.0.0-alpha.1
[info] Locked ip-address v1.0.0
[info] Locked industria v2.0.0
[info] Locked hashing v1.2.0
[info] Locked compression v0.1.1
[info] Locked chez-srfi v0.0.0-akku.72.0a9bdfd
[info] Wrote Akku.lock
22.08user 0.05system 0:22.14elapsed 99%CPU (0avgtext+0avgdata 128708maxresident)k
0inputs+8outputs (0major+35006minor)pagefaults 0swaps
```https://gitlab.com/akkuscm/akku/-/issues/2Package as indirect dev dependency of itself2018-08-18T10:38:19ZGwen Weinholtgit@weinholt.sePackage as indirect dev dependency of itselfClone chez-srfi and try to add the development dependency xitomatl with `akku install --dev xitomatl`. The solver will not realize that it's in the chez-srfi project and that it shouldn't (or at least doesn't need to) add chez-srfi to th...Clone chez-srfi and try to add the development dependency xitomatl with `akku install --dev xitomatl`. The solver will not realize that it's in the chez-srfi project and that it shouldn't (or at least doesn't need to) add chez-srfi to the locks. No harm comes from this, but it is weird.https://gitlab.com/akkuscm/akku/-/issues/1Solver crashes on "conflicting choices"2024-03-04T09:57:12ZGwen Weinholtgit@weinholt.seSolver crashes on "conflicting choices"There is a bug in the solver that would be nice to get fixed. A failing test case is in `tests/solver.scm`.
A good strategy for fixing it could be to feed the test case into aptitude's solver and see what it does differently.There is a bug in the solver that would be nice to get fixed. A failing test case is in `tests/solver.scm`.
A good strategy for fixing it could be to feed the test case into aptitude's solver and see what it does differently.