Re: [Chicken-users] I've gots an egg: missing.egg

2015-08-13 Thread Christian Kellermann
* Alexej Magura amagur...@gmail.com [150813 04:16]:
 Is hosting on the chicken-eggs svn repo discouraged against for new eggs?
 If it isn't then I'd like to use the svn repo as a means of managing the
 egg: I use the git repo as an auxiliary/backup/master/more public repo.

You can still use svn if you want. Hosting on distributed VCS has been
added to lower the bar for potential contributers. If you like you can
get SVN access. See http://wiki.call-cc.org/chicken-svn-for-eggs and
especially http://wiki.call-cc.org/eggs%20tutorial for more infos
about laying eggs.

Cheers,

Christian

--
May you be peaceful, may you live in safety, may you be free from
suffering, and may you live with ease.

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] iconv egg patch

2015-08-13 Thread Peter Bex
On Wed, Aug 12, 2015 at 11:20:04PM -0300, Hugo Arregui wrote:
  I am afraid that the iconv egg is orphaned at the moment. Would you like
  to take care of it?
 
 Sure!. I cannot access the svn repo mentioned in the egg source, so I
 guess I should use the result of chicken-install -r as the base, isn't that?

You can take the svn egg repo as a base (that's where it's currently hosted).
We can give you access to it if you like, or you could import the egg into
a git or mercurial repository and we can change the URL.

Cheers,
Peter


signature.asc
Description: Digital signature
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] I've gots an egg: missing.egg

2015-08-13 Thread Alaric Snell-Pym

On Wed, 12 Aug 2015, Alexej Magura wrote:

Hey, I've got a new egg that I'm working on: 
https://github.com/amagura/eggs/tree/master/staging/missing/trunk


Excellent! May I offer some tips?

1+ and 1- duplicate add1 and sub1, which are already in the library: 
http://api.call-cc.org/doc/library/add1


What is !* supposed to do? Using eval like that is most likely not a good 
idea. Should you be using apply instead? Something like (not (apply fn 
...))?


Rather than using a settings alist (note that mutation of things 
imported from modules is not a great idea!), it would be more idiomatic to 
use parameters:


http://api.call-cc.org/doc/chicken/parameters

Eg, export a paremter called egg-actions-need-sudo that's initialised to 
#f, and use the value of that in +install etc. That avoids mutation, and 
lets you safely override things locally (particularly in the presence of 
threads).


This is a broad mixture of things to put into one egg, especially one 
claiming such a fine name as missing :-) It might be good to split the 
install/uninstall/upgrade stuff into an eggs egg, submit do* and setq for 
inclusion in miscmacros, and decide if you really need to publish the 
logic stuff, which seem less widely useful to me?


Thanks  have fun,


ABS

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] I've gots an egg: missing.egg

2015-08-13 Thread John Cowan
Alaric Snell-Pym scripsit:

 Excellent! May I offer some tips?

+1 to these, and also it's better if do* calls syntax-error rather than error.

-- 
weirdo:When is R7RS coming out?
Riastradh: As soon as the top is a beautiful golden brown and if you
stick a toothpick in it, the toothpick comes out dry.

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] I've gots an egg: missing.egg

2015-08-13 Thread Mario Domenech Goulart
Hi,

Thanks for your interest in contributing, Alexej.  Please, see some
comments below.

On Thu, 13 Aug 2015 13:26:03 +0100 (BST) Alaric Snell-Pym 
ala...@snell-pym.org.uk wrote:

 On Wed, 12 Aug 2015, Alexej Magura wrote:

 Hey, I've got a new egg that I'm working on:
 https://github.com/amagura/eggs/tree/master/staging/missing/trunk

 Excellent! May I offer some tips?

 1+ and 1- duplicate add1 and sub1, which are already in the library:
 http://api.call-cc.org/doc/library/add1

 What is !* supposed to do? Using eval like that is most likely not a
 good idea. Should you be using apply instead? Something like (not
 (apply fn ...))?

 Rather than using a settings alist (note that mutation of things
 imported from modules is not a great idea!), it would be more
 idiomatic to use parameters:

 http://api.call-cc.org/doc/chicken/parameters

 Eg, export a paremter called egg-actions-need-sudo that's
 initialised to #f, and use the value of that in +install etc. That
 avoids mutation, and lets you safely override things locally
 (particularly in the presence of threads).

 This is a broad mixture of things to put into one egg, especially one
 claiming such a fine name as missing :-) It might be good to split
 the install/uninstall/upgrade stuff into an eggs egg, submit do* and
 setq for inclusion in miscmacros, and decide if you really need to
 publish the logic stuff, which seem less widely useful to me?

Also, with regard to the egg-related things, be careful when calling
CHICKEN tools.  What would happen when you:

* run +install missing?

* run +install from /not/in/PATH/csi ?

You'd have similar issues with the other REPL commands.

With regard to hosting your egg in the CHICKEN svn, I don't see a point,
since you already have your code on github.

Best wishes.
Mario
-- 
http://parenteses.org/mario

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] Incorrectly linked binaries with chicken-install -deploy

2015-08-13 Thread Ryan Senior
Does anyone have stand-alone application deployments working via
chicken-install? I'm running into an issue where the binaries for my
executables are in place, but they are linked to the system libchicken. I'm
not sure if this is a bug or I'm using it wrong. I'm seeing this with
Chicken 4.10.0, running on Ubuntu 14.04. I compiled 4.10.0 from the tarball
on the website and have it installed globally. I have an egg setup file
that looks like the following (thanks to Mario Goulart for helping me put
this together):

(define info '((version 0.1)))

(define progs
  '(prog1
prog2
prog3))

(for-each (lambda (prog)
(compile -O3 -d1 ,(make-pathname #f prog scm)))
  progs)

(install-program 'prog progs info)

-

I run the following command to build:

chicken-install -deploy -p my-app-directory

All of my dependencies look to be correctly compiled and put into the
specified directory, but there is no libchicken in that directory. The 3
programs above also appear to be linked to the global libchicken

$ ldd my-app-directory/bin/prog1
linux-vdso.so.1 =  (0x7fff591fc000)
libchicken.so.7 = /usr/local/lib/libchicken.so.7 (0x7f69474eb000)
libc.so.6 = /lib/x86_64-linux-gnu/libc.so.6 (0x7f6947125000)
libm.so.6 = /lib/x86_64-linux-gnu/libm.so.6 (0x7f6946e1e000)
libdl.so.2 = /lib/x86_64-linux-gnu/libdl.so.2 (0x7f6946c1a000)
/lib64/ld-linux-x86-64.so.2 (0x7f6947acf000)

Am I going about this correctly? Running 'csc -deploy prog1.scm' results in
a correctly linked libchicken binary, but it doesn't look like
chicken-install -deploy uses that.

My goal is a tarball that a user can unzip and run directly without
installing chicken or any other dependencies. Talking with sjamaan on
#chicken, sounds like another option is to not create an egg from the
project and script individual calls to 'csc -deploy ...' and
chicken-install for the dependencies.

For reference. the project I'm having difficulty building can be found on
github here https://github.com/senior/pdb-cli.

Thanks for the help!

Ryan
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] iconv egg patch

2015-08-13 Thread Hugo Arregui
 You can take the svn egg repo as a base (that's where it's currently hosted).
 We can give you access to it if you like, or you could import the egg into
 a git or mercurial repository and we can change the URL.

Thanks Peter! I imported the code into a github repository, I will let
you guys know when is ready for the URL change.

One question though, I found a couple of things I would like to improve:

- I think the documentation is a bit misleading when it says (about
iconv procedure), The resulting string is returned (or #f if the
implementation runs out of memory).

But it can actually return #f on error too (check here if you like:
https://github.com/hugoArregui/iconv/blob/master/iconv.scm#L85).

- The iconv procedure has an `invalid` parameter, which defaults to ?.
When an invalid sequence is found, the `invalid` string is appended to
the output string for each wrong byte found. Maybe this is desirable
sometimes, but there is no way to actually raise an error on this case.
So, I will just add an alternative, and if invalid is #f, an error will
raise. However, I think raising an error on invalid input is a much
saner default, but this breaks backward compatibility

I would really like Alex Shinn's opinion on this one, because he has two
eggs using iconv. Hope he's reading this.

But anyway, my question is: both of this items are related to backwards
compatibility, what do you think is the best choice here? should I just
change it (if Alex Shinns and perhaps something else who is using it
agrees with these changes), should I create another procedure and
deprecate this one?, should we call it iconv2 and deprecate iconv?.

Thanks.
Regards,
Hugo



signature.asc
Description: OpenPGP digital signature
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users