Discussion:
[Chicken-users] srfi-128 - almost
Jörg F. Wittenberger
2018-08-17 17:44:17 UTC
Permalink
Let's try an example.

I forked the srfi-128 repo here and ported it to chicken 5
https://github.com/0-8-15/srfi-128

The .release-info still points upstream where the pull request went.

This appears to install and work.

Brings back the question: how would I tell chicken to temporarily consult
other locations for egg distributions? E.g. I'd like to use chicken-install
in a fresh location outside the source directory of the egg to check that
the whole download picks the correct files and all of them. Or maybe I just
want to install an egg I deem not good enough to release.

Best

/Jörg
Jeremy Steward
2018-08-17 23:00:52 UTC
Permalink
Hey Joerg,

I'm the maintainer for that egg. I'd be happy to review the pull request, but just haven't had time. I can look it over tomorrow if necessary to get things merged in properly.

Regards,
Post by Jörg F. Wittenberger
Let's try an example.
I forked the srfi-128 repo here and ported it to chicken 5
https://github.com/0-8-15/srfi-128
The .release-info still points upstream where the pull request went.
This appears to install and work.
Brings back the question: how would I tell chicken to temporarily consult
other locations for egg distributions? E.g. I'd like to use
chicken-install
in a fresh location outside the source directory of the egg to check that
the whole download picks the correct files and all of them. Or maybe I just
want to install an egg I deem not good enough to release.
Best
/Jörg
_______________________________________________
Chicken-users mailing list
https://lists.nongnu.org/mailman/listinfo/chicken-users
--
Jeremy Steward
Jörg F. Wittenberger
2018-08-18 12:12:41 UTC
Permalink
Post by Jeremy Steward
Hey Joerg,
I'm the maintainer for that egg.
I know; we talked about that before as I had packaged the same srfi under
the name of "comparators" before.
Post by Jeremy Steward
I'd be happy to review the pull request,
but just haven't had time. I can look it over tomorrow if necessary to
get things merged in properly.
I did not want to be pushy. It's just a nice example of a situation where
I'd like to consult alternative sources than those baked into
chicken-install.

Anybody having a good suggestion?

Best

/Jörg
Post by Jeremy Steward
Regards,
On August 17, 2018 11:44:17 AM MDT, "Jörg F. Wittenberger"
Post by Jörg F. Wittenberger
Let's try an example.
I forked the srfi-128 repo here and ported it to chicken 5
https://github.com/0-8-15/srfi-128
The .release-info still points upstream where the pull request went.
This appears to install and work.
Brings back the question: how would I tell chicken to temporarily consult
other locations for egg distributions? E.g. I'd like to use
chicken-install
in a fresh location outside the source directory of the egg to check that
the whole download picks the correct files and all of them. Or maybe I just
want to install an egg I deem not good enough to release.
Best
/Jörg
_______________________________________________
Chicken-users mailing list
https://lists.nongnu.org/mailman/listinfo/chicken-users
Jeremy Steward
2018-08-18 21:55:36 UTC
Permalink
Post by Jörg F. Wittenberger
Post by Jeremy Steward
Hey Joerg,
I'm the maintainer for that egg.
I know; we talked about that before as I had packaged the same srfi under
the name of "comparators" before.
Ah, right. Now I remember :)
Post by Jörg F. Wittenberger
Post by Jeremy Steward
I'd be happy to review the pull request,
but just haven't had time. I can look it over tomorrow if necessary to
get things merged in properly.
I did not want to be pushy. It's just a nice example of a situation where
I'd like to consult alternative sources than those baked into
chicken-install.
No worries, I needed to get on this (and several other eggs). I've
reviewed the PR, and tested with both CHICKEN 4.12.0 and 5.0.0rc1, and
it all seems to be in working order. I've merged the PR and we should be
good to go. Couple of questions in general though:

* How does updating the .release-info file work now, if you want to
support CHICKEN 4 and 5 at the same time?

* What do I need to do to add SRFI 128 to the coop?

Regards,
--
Jeremy Steward
Mario Domenech Goulart
2018-08-19 07:30:13 UTC
Permalink
Hi Jeremy,
Post by Jeremy Steward
Post by Jörg F. Wittenberger
Post by Jeremy Steward
Hey Joerg,
I'm the maintainer for that egg.
I know; we talked about that before as I had packaged the same srfi under
the name of "comparators" before.
Ah, right. Now I remember :)
Post by Jörg F. Wittenberger
Post by Jeremy Steward
I'd be happy to review the pull request,
but just haven't had time. I can look it over tomorrow if necessary to
get things merged in properly.
I did not want to be pushy. It's just a nice example of a situation where
I'd like to consult alternative sources than those baked into
chicken-install.
No worries, I needed to get on this (and several other eggs). I've
reviewed the PR, and tested with both CHICKEN 4.12.0 and 5.0.0rc1, and
it all seems to be in working order. I've merged the PR and we should
* How does updating the .release-info file work now, if you want to
support CHICKEN 4 and 5 at the same time?
If you intend to support both CHICKEN 4 and 5 using the same repo and
branch, using the same versioning scheme, you can use the same
.release-info file for both CHICKEN 4 and 5.
Post by Jeremy Steward
* What do I need to do to add SRFI 128 to the coop?
Just let we know when it is finished, give us the URL to the
.release-info file and we'll add it to the coop.

All the best.
Mario
--
http://parenteses.org/mario
Jörg F. Wittenberger
2018-08-20 17:24:28 UTC
Permalink
The release-info worried me too - TLD; super simple: if nothing else
changes, it should work as before.

To add it to the C5 coop send a note to the list that
https://raw.githubusercontent.com/ThatGeoGuy/srfi-128/master/srfi-128.release-info
it ready to go there.

Best

/Jörg
Post by Jeremy Steward
Post by Jörg F. Wittenberger
Post by Jeremy Steward
Hey Joerg,
I'm the maintainer for that egg.
I know; we talked about that before as I had packaged the same srfi under
the name of "comparators" before.
Ah, right. Now I remember :)
Post by Jörg F. Wittenberger
Post by Jeremy Steward
I'd be happy to review the pull request,
but just haven't had time. I can look it over tomorrow if necessary to
get things merged in properly.
I did not want to be pushy. It's just a nice example of a situation where
I'd like to consult alternative sources than those baked into
chicken-install.
No worries, I needed to get on this (and several other eggs). I've
reviewed the PR, and tested with both CHICKEN 4.12.0 and 5.0.0rc1, and
it all seems to be in working order. I've merged the PR and we should be
* How does updating the .release-info file work now, if you want to
support CHICKEN 4 and 5 at the same time?
* What do I need to do to add SRFI 128 to the coop?
Regards,
Mario Domenech Goulart
2018-08-20 18:39:17 UTC
Permalink
Hi Jörg,
Post by Jörg F. Wittenberger
The release-info worried me too - TLD; super simple: if nothing else
changes, it should work as before.
To add it to the C5 coop send a note to the list that
https://raw.githubusercontent.com/ThatGeoGuy/srfi-128/master/srfi-128.release-info
it ready to go there.
SRFI-128 has been added to the coop. It's already be available to be
installed via chicken-install.

All the best.
Mario
--
http://parenteses.org/mario
megane
2018-08-18 12:57:52 UTC
Permalink
Hi Jörg,

Jörg F. Wittenberger <***@softeyes.net> writes:

[...]
Post by Jörg F. Wittenberger
Brings back the question: how would I tell chicken to temporarily consult
other locations for egg distributions? E.g. I'd like to use chicken-install
in a fresh location outside the source directory of the egg to check that
the whole download picks the correct files and all of them. Or maybe I just
want to install an egg I deem not good enough to release.
Maybe you're looking for a custom entry in share/chicken/setup.defaults.
Maybe something like:

(server (location "/path/to/my/eggs") (transport local))
Jörg F. Wittenberger
2018-08-18 17:54:54 UTC
Permalink
This looks pretty close.

Where do I learn what I can put into setup.defaults? Looks like it could do
the job I want.

What I don't want: a local copy of the to-be-installed egg to begin with.

What I want: chicken-install installing eggs almost like normal. For eggs
being overwritten however, I'd want it to go through the complete download
process, just using the location from the other release-info.

Great if a hand full of overwrites could sit in a single file like
setup.defaults.
Post by megane
Hi Jörg,
[...]
Post by Jörg F. Wittenberger
Brings back the question: how would I tell chicken to temporarily
consult other locations for egg distributions? E.g. I'd like to use
chicken-install in a fresh location outside the source directory of the
egg to check that the whole download picks the correct files and all of
them. Or maybe I just want to install an egg I deem not good enough to
release.
Maybe you're looking for a custom entry in share/chicken/setup.defaults.
(server (location "/path/to/my/eggs") (transport local))
Mario Domenech Goulart
2018-08-19 07:01:52 UTC
Permalink
Post by megane
Hi Jörg,
[...]
Post by Jörg F. Wittenberger
Brings back the question: how would I tell chicken to temporarily consult
other locations for egg distributions? E.g. I'd like to use chicken-install
in a fresh location outside the source directory of the egg to check that
the whole download picks the correct files and all of them. Or maybe I just
want to install an egg I deem not good enough to release.
Maybe you're looking for a custom entry in share/chicken/setup.defaults.
(server (location "/path/to/my/eggs") (transport local))
Actually just

$ echo "(location $EGGS_DIR)" >> $PREFIX/share/chicken/setup.defaults

should be enough.

Where EGGS_DIR is the directory where directories containing egg source
code can be found and $PREFIX is the CHICKEN installation prefix (what
you provided as argument to PREFIX when compiling CHICKEN).

If the egg you try to install (or its dependencies) cannot be found in
$EGGS_DIR, chicken-install will fall back to the `server' configuration
in setup.defaults (which defaults to the primary egg server).

All the best.
--
http://parenteses.org/mario
Jörg F. Wittenberger
2018-08-20 17:33:24 UTC
Permalink
Thanks Mario,

at the end of the day your suggestion will solve the development time
considerations I have. Except for the "check the download process" part.

Though actually rolling those out over a test network looks like a
bookkeeping hell.

Brings me to a downside of C5 I'm seeing so far: I now need to tell it
where it should maintain its cache. I wonder how I could maintain a
consistent overwrite for setup.defaults for all the receipes in a yocto
build. Plus where goes this new cache?

Best

/Jörg
Post by Mario Domenech Goulart
Post by megane
Hi Jörg,
[...]
Post by Jörg F. Wittenberger
Brings back the question: how would I tell chicken to temporarily
consult other locations for egg distributions? E.g. I'd like to use
chicken-install in a fresh location outside the source directory of the
egg to check that the whole download picks the correct files and all of
them. Or maybe I just want to install an egg I deem not good enough to
release.
Maybe you're looking for a custom entry in share/chicken/setup.defaults.
(server (location "/path/to/my/eggs") (transport local))
Actually just
$ echo "(location $EGGS_DIR)" >> $PREFIX/share/chicken/setup.defaults
should be enough.
Where EGGS_DIR is the directory where directories containing egg source
code can be found and $PREFIX is the CHICKEN installation prefix (what
you provided as argument to PREFIX when compiling CHICKEN).
If the egg you try to install (or its dependencies) cannot be found in
$EGGS_DIR, chicken-install will fall back to the `server' configuration
in setup.defaults (which defaults to the primary egg server).
All the best.
Mario Domenech Goulart
2018-08-20 18:44:00 UTC
Permalink
Hi Jörg,
Post by Jörg F. Wittenberger
Thanks Mario,
at the end of the day your suggestion will solve the development time
considerations I have. Except for the "check the download process" part.
Though actually rolling those out over a test network looks like a
bookkeeping hell.
Brings me to a downside of C5 I'm seeing so far: I now need to tell it
where it should maintain its cache. I wonder how I could maintain a
consistent overwrite for setup.defaults for all the receipes in a
yocto build. Plus where goes this new cache?
You can use the CHICKEN_EGG_CACHE environment variable [1] to configure
the location of the cache.

[1] http://wiki.call-cc.org/man/5/Extension%20tools#the-egg-cache

All the best.
Mario
--
http://parenteses.org/mario
Loading...