Re: [Chicken-users] Statically Linking Eggs

2015-05-19 Thread Caolan McMahon
I'm also interested in the tooling around statically linked eggs, or
at least finding ways to better document the process. I've had mixed
results, sometimes it's easy, others it's incredibly painful. If
anyone has ideas on how to improve this I'd be willing to help out.

On 19 May 2015 at 06:18, Evan Hanson ev...@foldling.org wrote:
 Hi Nick,

 On 2015-05-18  9:12, Nick Andryshak wrote:
 Would it be feasible to make my own object files for eggs that don't
 include them by using chicken-install -retrieve, and then compiling the
 sources?

 Yes, and it's straightforward to do for most extensions -- I've used
 this approach for a few projects myself -- but it requires manually
 compiling every single dependency in turn so the task balloons very
 quickly unless you consciously avoid using eggs with many dependencies.

 Evan

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

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


Re: [Chicken-users] libsvm

2015-05-19 Thread Daishi Kato
Thanks to Mario,

I uploaded the modified version at:
https://code.call-cc.org/svn/chicken-eggs/release/4/libsvm/branches/using-gc/

Best,
Daishi

On Mon, 18 May 2015 21:19:18 +0900,
Christian Kellermann wrote:
 
 Daishi Kato dai...@axlight.com writes:
 
  I haven't been following chicken recently,
  so forgive me if I misunderstand the procedure.
 
 Thanks for your contribution!
 
 Please find information on how to proceed here:
 
 http://wiki.call-cc.org/contribute
 
 In short:
 
 Mail mario a generated password hash or contact the original author of
 that egg.
 
 Thanks again!
 
 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

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


[Chicken-users] openssl egg segfauls: ##sys#expand-home-path

2015-05-19 Thread Kristian Lein-Mathisen
Hi guys,

It's been way too long! I'm running CHICKEN 4.9.0.1 and the openssl-egg
segfaults at ssl-load-certificate-chain! and friends.

I have two patches/suggestions:
- remove home path expansion
- use the pathname-expand egg

I need either of these patches to make openssl not segfault on my system.
Any chance of fixing this upstream?

Thanks!
K.
From 8aeb5252f681d472816dc84e6f00f284ce8aa3c9 Mon Sep 17 00:00:00 2001
From: Kristian Lein-Mathisen kristianl...@gmail.com
Date: Tue, 19 May 2015 13:22:22 +0200
Subject: [PATCH] bugfix: no home-path expansion

because `##sys#expand-home-path` was removed in something like
4.9.0.1. this variable is unbound and causes a segfault (OBS! no error
saying that ##sys#expand-home-path is not available)
---
 openssl.scm | 14 ++
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/openssl.scm b/openssl.scm
index db693fe..9e2d57a 100644
--- a/openssl.scm
+++ b/openssl.scm
@@ -42,8 +42,7 @@
##sys#current-thread
##sys#size
##sys#setslot
-   ##sys#check-string
-   ##sys#expand-home-path))
+   ##sys#check-string))
 
 (use srfi-18 tcp)
 
@@ -583,7 +582,7 @@ EOF
   (unless (eq?
 	   ((foreign-lambda
 	 int SSL_CTX_use_certificate_chain_file c-pointer c-string)
-	(ssl-unwrap-context obj) (##sys#expand-home-path pathname))
+	(ssl-unwrap-context obj) pathname)
 	   1)
 (ssl-abort 'ssl-load-certificate-chain! #f pathname)))
 
@@ -602,7 +601,7 @@ EOF
 	   return(SSL_CTX_use_PrivateKey_file(
 	(SSL_CTX *)ctx, path, 
 	(asn1 ? SSL_FILETYPE_ASN1 : SSL_FILETYPE_PEM)));\n)
-	(ssl-unwrap-context obj) (##sys#expand-home-path pathname)
+	(ssl-unwrap-context obj) pathname
 	rsa? asn1?)
 	   1)
 (ssl-abort 'ssl-load-private-key! #f pathname rsa? asn1?)))
@@ -626,8 +625,8 @@ EOF
 	   ((foreign-lambda
 	 int SSL_CTX_load_verify_locations c-pointer c-string c-string)
 	(ssl-unwrap-context obj)
-	(if pathname (##sys#expand-home-path pathname) #f)
-	(if dirname (##sys#expand-home-path dirname) #f))
+	(if pathname pathname #f)
+	(if dirname dirname #f))
 	   1)
 (ssl-abort 'ssl-load-verify-root-certificates! #f pathname dirname)))
 
@@ -636,8 +635,7 @@ EOF
   (##sys#check-string pathname)
   (ssl-clear-error)
   (cond
-   (((foreign-lambda c-pointer SSL_load_client_CA_file c-string)
- (##sys#expand-home-path pathname))
+   (((foreign-lambda c-pointer SSL_load_client_CA_file c-string) pathname)
 = (cut
 	(foreign-lambda
 	 void SSL_CTX_set_client_CA_list c-pointer c-pointer)
-- 
2.4.1

From 14254fa5a4e0d9d2084c309abc3cc128950f6919 Mon Sep 17 00:00:00 2001
From: Kristian Lein-Mathisen kristianl...@gmail.com
Date: Tue, 19 May 2015 13:31:21 +0200
Subject: [PATCH] bugfix: migrates from ##sys#expand-home-path =
 pathname-expand

the ##sys#expand-home-path procedure was removed from core around
chicken 4.9.0.1, and put in a separate egg. let's use that egg (or not
expand at all?)

without this patch, ssl-load-certificate-chain! and friends will
segfault! it's trying to call an unbound procedure: ##sys#expand-home-path
---
 openssl.meta |  1 +
 openssl.scm  | 15 +++
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/openssl.meta b/openssl.meta
index b27c8a2..5904c83 100644
--- a/openssl.meta
+++ b/openssl.meta
@@ -5,5 +5,6 @@
  (author Thomas Chust)
  (license BSD)
  (category net)
+ (depends pathname-expand)
  (doc-from-wiki)
  (files openssl.scm openssl.release-info openssl.meta openssl.setup))
diff --git a/openssl.scm b/openssl.scm
index db693fe..f7665d4 100644
--- a/openssl.scm
+++ b/openssl.scm
@@ -42,10 +42,9 @@
##sys#current-thread
##sys#size
##sys#setslot
-   ##sys#check-string
-   ##sys#expand-home-path))
+   ##sys#check-string))
 
-(use srfi-18 tcp)
+(use srfi-18 tcp pathname-expand)
 
 #
 #include errno.h
@@ -583,7 +582,7 @@ EOF
   (unless (eq?
 	   ((foreign-lambda
 	 int SSL_CTX_use_certificate_chain_file c-pointer c-string)
-	(ssl-unwrap-context obj) (##sys#expand-home-path pathname))
+	(ssl-unwrap-context obj) (pathname-expand pathname))
 	   1)
 (ssl-abort 'ssl-load-certificate-chain! #f pathname)))
 
@@ -602,7 +601,7 @@ EOF
 	   return(SSL_CTX_use_PrivateKey_file(
 	(SSL_CTX *)ctx, path, 
 	(asn1 ? SSL_FILETYPE_ASN1 : SSL_FILETYPE_PEM)));\n)
-	(ssl-unwrap-context obj) (##sys#expand-home-path pathname)
+	(ssl-unwrap-context obj) (pathname-expand pathname)
 	rsa? asn1?)
 	   1)
 (ssl-abort 'ssl-load-private-key! #f pathname rsa? asn1?)))
@@ -626,8 +625,8 @@ EOF
 	   ((foreign-lambda
 	 int SSL_CTX_load_verify_locations c-pointer c-string c-string)
 	(ssl-unwrap-context obj)
-	(if pathname (##sys#expand-home-path pathname) #f)
-	(if dirname (##sys#expand-home-path dirname) #f))
+	(if pathname (pathname-expand pathname) #f)
+	(if dirname (pathname-expand dirname) #f))
 	   1)
 (ssl-abort 'ssl-load-verify-root-certificates! #f 

Re: [Chicken-users] Statically Linking Eggs

2015-05-19 Thread Nick Andryshak

Caolan McMahon writes:

 I'm also interested in the tooling around statically linked eggs, or
 at least finding ways to better document the process. I've had mixed
 results, sometimes it's easy, others it's incredibly painful. If
 anyone has ideas on how to improve this I'd be willing to help out.

Caolan,

In additional to the documentation on the CHICKEN website, I found this
page has a couple of useful examples of statically linking simple Eggs,
maybe it will help you (or somebody else):

http://www.foldling.org/scheme.html#compiling-statically-linked-chicken-scheme-programs-with-extensions

- Nick

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


Re: [Chicken-users] openssl egg segfauls: ##sys#expand-home-path

2015-05-19 Thread Thomas Chust
On 2015-05-19 13:35, Kristian Lein-Mathisen wrote:
 [...]
 It's been way too long! I'm running CHICKEN 4.9.0.1 and the openssl-egg
 segfaults at ssl-load-certificate-chain! and friends. 
 
 I have two patches/suggestions:
 - remove home path expansion
 - use the pathname-expand egg
 [...]

Hello,

the only reason this functionality was included in the first place, was
that CHICKEN's standard I/O procedures used to perform automatic home
directory expansion, so I wanted the OpenSSL egg to behave similarly. If
I'm not mistaken, the standard I/O procedures no longer do home
directory expansion by default. I think it would make sense to also
remove this functionality from the OpenSSL egg. If needed, one could
always make use of the pathname-expand egg explicitly, which would make
the intent clearer.

Ciao,
Thomas


-- 
When C++ is your hammer, every problem looks like your thumb.

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


Re: [Chicken-users] Statically Linking Eggs

2015-05-19 Thread Nick Andryshak

Evan Hanson writes:

 Hi Nick,

 On 2015-05-18  9:12, Nick Andryshak wrote:
 Would it be feasible to make my own object files for eggs that don't
 include them by using chicken-install -retrieve, and then compiling the
 sources?

 Yes, and it's straightforward to do for most extensions -- I've used
 this approach for a few projects myself -- but it requires manually
 compiling every single dependency in turn so the task balloons very
 quickly unless you consciously avoid using eggs with many dependencies.

 Evan

Great, thanks for your thoughts and suggestions Evan! 

- Nick

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