wok-current rev 5479

Up: ruby, ruby-dev (1.9.1-p378) - Added openssl 1.0 patch.
author Christopher Rogers <slaxemulator@gmail.com>
date Thu May 06 01:54:19 2010 +0000 (2010-05-06)
parents b81679ca0820
children 9b42152e4818
files ruby-dev/receipt ruby/receipt ruby/stuff/openssl-1.0.patch
line diff
     1.1 --- a/ruby-dev/receipt	Thu May 06 01:07:40 2010 +0000
     1.2 +++ b/ruby-dev/receipt	Thu May 06 01:54:19 2010 +0000
     1.3 @@ -1,7 +1,7 @@
     1.4  # SliTaz package receipt.
     1.5  
     1.6  PACKAGE="ruby-dev"
     1.7 -VERSION="1.9.1-p376"
     1.8 +VERSION="1.9.1-p378"
     1.9  CATEGORY="development"
    1.10  SHORT_DESC="Devel file for Ruby (to compile ruby-modules)."
    1.11  MAINTAINER="pankso@slitaz.org"
    1.12 @@ -11,8 +11,8 @@
    1.13  # Rules to gen a SliTaz package suitable for Tazpkg.
    1.14  genpkg_rules()
    1.15  {
    1.16 -	mkdir -p $fs/usr/lib/ruby/1.8/i486-linux
    1.17 +	mkdir -p $fs/usr/lib/ruby/1.9.1/i486-linux
    1.18  	cp -a $_pkg/usr/lib/*.a $fs/usr/lib
    1.19 -	cp -a $_pkg/usr/lib/ruby/1.8/i486-linux/*.h \
    1.20 -		$fs/usr/lib/ruby/1.8/i486-linux
    1.21 +	cp -a $_pkg/usr/lib/ruby/1.9.1/i486-linux/*.h \
    1.22 +		$fs/usr/lib/ruby/1.9.1/i486-linux
    1.23  }
     2.1 --- a/ruby/receipt	Thu May 06 01:07:40 2010 +0000
     2.2 +++ b/ruby/receipt	Thu May 06 01:54:19 2010 +0000
     2.3 @@ -15,6 +15,7 @@
     2.4  compile_rules()
     2.5  {
     2.6  	cd $src
     2.7 +	patch -p1 < ../stuff/openssl-1.0.patch || return 1
     2.8  	./configure \
     2.9  		--prefix=/usr \
    2.10  		--infodir=/usr/share/info \
    2.11 @@ -32,5 +33,5 @@
    2.12  	cp -a $_pkg/usr/bin $fs/usr
    2.13  	
    2.14  	# Remove devel files --> ruby-dev
    2.15 -	rm $fs/usr/lib/ruby/1.9/i486-linux/*.h
    2.16 +	rm $fs/usr/lib/ruby/1.9.1/i486-linux/*.h
    2.17  }
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/ruby/stuff/openssl-1.0.patch	Thu May 06 01:54:19 2010 +0000
     3.3 @@ -0,0 +1,176 @@
     3.4 +diff -Nura ruby-1.9.1-p378.orig/ext/openssl/ossl.c ruby-1.9.1-p378/ext/openssl/ossl.c
     3.5 +--- ruby-1.9.1-p378.orig/ext/openssl/ossl.c	2009-01-15 16:39:30.000000000 +0100
     3.6 ++++ ruby-1.9.1-p378/ext/openssl/ossl.c	2010-04-01 07:41:19.397603813 +0200
     3.7 +@@ -92,7 +92,7 @@
     3.8 + 
     3.9 + #define OSSL_IMPL_SK2ARY(name, type)	        \
    3.10 + VALUE						\
    3.11 +-ossl_##name##_sk2ary(STACK *sk)			\
    3.12 ++ossl_##name##_sk2ary(STACK_OF(type) *sk)	\
    3.13 + {						\
    3.14 +     type *t;					\
    3.15 +     int i, num;					\
    3.16 +@@ -102,7 +102,7 @@
    3.17 + 	OSSL_Debug("empty sk!");		\
    3.18 + 	return Qnil;				\
    3.19 +     }						\
    3.20 +-    num = sk_num(sk);				\
    3.21 ++    num = sk_##type##_num(sk);			\
    3.22 +     if (num < 0) {				\
    3.23 + 	OSSL_Debug("items in sk < -1???");	\
    3.24 + 	return rb_ary_new();			\
    3.25 +@@ -110,7 +110,7 @@
    3.26 +     ary = rb_ary_new2(num);			\
    3.27 + 						\
    3.28 +     for (i=0; i<num; i++) {			\
    3.29 +-	t = (type *)sk_value(sk, i);		\
    3.30 ++	t = sk_##type##_value(sk, i);		\
    3.31 + 	rb_ary_push(ary, ossl_##name##_new(t));	\
    3.32 +     }						\
    3.33 +     return ary;					\
    3.34 +diff -Nura ruby-1.9.1-p378.orig/ext/openssl/ossl_pkcs7.c ruby-1.9.1-p378/ext/openssl/ossl_pkcs7.c
    3.35 +--- ruby-1.9.1-p378.orig/ext/openssl/ossl_pkcs7.c	2008-07-22 17:34:23.000000000 +0200
    3.36 ++++ ruby-1.9.1-p378/ext/openssl/ossl_pkcs7.c	2010-04-01 07:41:19.415105324 +0200
    3.37 +@@ -572,12 +572,11 @@
    3.38 +     return self;
    3.39 + }
    3.40 + 
    3.41 +-static STACK *
    3.42 +-pkcs7_get_certs_or_crls(VALUE self, int want_certs)
    3.43 ++static STACK_OF(X509) *
    3.44 ++pkcs7_get_certs(VALUE self)
    3.45 + {
    3.46 +     PKCS7 *pkcs7;
    3.47 +     STACK_OF(X509) *certs;
    3.48 +-    STACK_OF(X509_CRL) *crls;
    3.49 +     int i;
    3.50 + 
    3.51 +     GetPKCS7(self, pkcs7);
    3.52 +@@ -585,17 +584,38 @@
    3.53 +     switch(i){
    3.54 +     case NID_pkcs7_signed:
    3.55 +         certs = pkcs7->d.sign->cert;
    3.56 +-        crls = pkcs7->d.sign->crl;
    3.57 +         break;
    3.58 +     case NID_pkcs7_signedAndEnveloped:
    3.59 +         certs = pkcs7->d.signed_and_enveloped->cert;
    3.60 ++        break;
    3.61 ++    default:
    3.62 ++        certs = NULL;
    3.63 ++    }
    3.64 ++
    3.65 ++    return certs;
    3.66 ++}
    3.67 ++
    3.68 ++static STACK_OF(X509_CRL) *
    3.69 ++pkcs7_get_crls(VALUE self)
    3.70 ++{
    3.71 ++    PKCS7 *pkcs7;
    3.72 ++    STACK_OF(X509_CRL) *crls;
    3.73 ++    int i;
    3.74 ++
    3.75 ++    GetPKCS7(self, pkcs7);
    3.76 ++    i = OBJ_obj2nid(pkcs7->type);
    3.77 ++    switch(i){
    3.78 ++    case NID_pkcs7_signed:
    3.79 ++        crls = pkcs7->d.sign->crl;
    3.80 ++        break;
    3.81 ++    case NID_pkcs7_signedAndEnveloped:
    3.82 +         crls = pkcs7->d.signed_and_enveloped->crl;
    3.83 +         break;
    3.84 +     default:
    3.85 +-        certs = crls = NULL;
    3.86 ++        crls = NULL;
    3.87 +     }
    3.88 + 
    3.89 +-    return want_certs ? certs : crls;
    3.90 ++    return crls;
    3.91 + }
    3.92 + 
    3.93 + static VALUE
    3.94 +@@ -610,7 +630,7 @@
    3.95 +     STACK_OF(X509) *certs;
    3.96 +     X509 *cert;
    3.97 + 
    3.98 +-    certs = pkcs7_get_certs_or_crls(self, 1);
    3.99 ++    certs = pkcs7_get_certs(self);
   3.100 +     while((cert = sk_X509_pop(certs))) X509_free(cert);
   3.101 +     rb_block_call(ary, rb_intern("each"), 0, 0, ossl_pkcs7_set_certs_i, self);
   3.102 + 
   3.103 +@@ -620,7 +640,7 @@
   3.104 + static VALUE
   3.105 + ossl_pkcs7_get_certificates(VALUE self)
   3.106 + {
   3.107 +-    return ossl_x509_sk2ary(pkcs7_get_certs_or_crls(self, 1));
   3.108 ++    return ossl_x509_sk2ary(pkcs7_get_certs(self));
   3.109 + }
   3.110 + 
   3.111 + static VALUE
   3.112 +@@ -650,7 +670,7 @@
   3.113 +     STACK_OF(X509_CRL) *crls;
   3.114 +     X509_CRL *crl;
   3.115 + 
   3.116 +-    crls = pkcs7_get_certs_or_crls(self, 0);
   3.117 ++    crls = pkcs7_get_crls(self);
   3.118 +     while((crl = sk_X509_CRL_pop(crls))) X509_CRL_free(crl);
   3.119 +     rb_block_call(ary, rb_intern("each"), 0, 0, ossl_pkcs7_set_crls_i, self);
   3.120 + 
   3.121 +@@ -660,7 +680,7 @@
   3.122 + static VALUE
   3.123 + ossl_pkcs7_get_crls(VALUE self)
   3.124 + {
   3.125 +-    return ossl_x509crl_sk2ary(pkcs7_get_certs_or_crls(self, 0));
   3.126 ++    return ossl_x509crl_sk2ary(pkcs7_get_crls(self));
   3.127 + }
   3.128 + 
   3.129 + static VALUE
   3.130 +diff -Nura ruby-1.9.1-p378.orig/ext/openssl/ossl_ssl.c ruby-1.9.1-p378/ext/openssl/ossl_ssl.c
   3.131 +--- ruby-1.9.1-p378.orig/ext/openssl/ossl_ssl.c	2009-04-19 15:32:18.000000000 +0200
   3.132 ++++ ruby-1.9.1-p378/ext/openssl/ossl_ssl.c	2010-04-01 07:41:19.450937427 +0200
   3.133 +@@ -88,12 +88,18 @@
   3.134 + 
   3.135 + ID ID_callback_state;
   3.136 + 
   3.137 ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
   3.138 ++#define OSSL_MORE_CONST const
   3.139 ++#define STACK _STACK
   3.140 ++#else
   3.141 ++#define OSSL_MORE_CONST
   3.142 ++#endif
   3.143 + /*
   3.144 +  * SSLContext class
   3.145 +  */
   3.146 + struct {
   3.147 +     const char *name;
   3.148 +-    SSL_METHOD *(*func)(void);
   3.149 ++    OSSL_MORE_CONST SSL_METHOD *(*func)(void);
   3.150 + } ossl_ssl_method_tab[] = {
   3.151 + #define OSSL_SSL_METHOD_ENTRY(name) { #name, name##_method }
   3.152 +     OSSL_SSL_METHOD_ENTRY(TLSv1),
   3.153 +@@ -142,7 +148,7 @@
   3.154 + static VALUE
   3.155 + ossl_sslctx_set_ssl_version(VALUE self, VALUE ssl_method)
   3.156 + {
   3.157 +-    SSL_METHOD *method = NULL;
   3.158 ++    OSSL_MORE_CONST SSL_METHOD *method = NULL;
   3.159 +     const char *s;
   3.160 +     int i;
   3.161 + 
   3.162 +@@ -585,7 +591,7 @@
   3.163 + }
   3.164 + 
   3.165 + static VALUE
   3.166 +-ossl_ssl_cipher_to_ary(SSL_CIPHER *cipher)
   3.167 ++ossl_ssl_cipher_to_ary(OSSL_MORE_CONST SSL_CIPHER *cipher)
   3.168 + {
   3.169 +     VALUE ary;
   3.170 +     int bits, alg_bits;
   3.171 +@@ -1213,7 +1219,7 @@
   3.172 + ossl_ssl_get_cipher(VALUE self)
   3.173 + {
   3.174 +     SSL *ssl;
   3.175 +-    SSL_CIPHER *cipher;
   3.176 ++    OSSL_MORE_CONST SSL_CIPHER *cipher;
   3.177 + 
   3.178 +     Data_Get_Struct(self, SSL, ssl);
   3.179 +     if (!ssl) {