This revamps and simplifies the ruby template. ruby now subsumes ruby-rdoc, ruby-irb and ruby-gems. ruby-ri stays separate because of size, but has an exact dependency. Added patches for LibreSSL (removal of RAND_egd) and libffi detection.
42 lines
1.3 KiB
Diff
42 lines
1.3 KiB
Diff
LibreSSL does not provide RAND_egd, drop wrappers for it.
|
|
|
|
--- ext/openssl/extconf.rb 2014-07-21 16:12:51.350690031 +0200
|
|
+++ ext/openssl/extconf.rb 2014-07-21 16:13:29.806691406 +0200
|
|
@@ -150,6 +150,7 @@
|
|
have_struct_member("X509_ATTRIBUTE", "single", "openssl/x509.h")
|
|
have_macro("OPENSSL_FIPS", ['openssl/opensslconf.h']) && $defs.push("-DHAVE_OPENSSL_FIPS")
|
|
have_macro("EVP_CTRL_GCM_GET_TAG", ['openssl/evp.h']) && $defs.push("-DHAVE_AUTHENTICATED_ENCRYPTION")
|
|
+have_func("RAND_egd")
|
|
|
|
Logging::message "=== Checking done. ===\n"
|
|
|
|
diff -ur /tmp/openssl/ossl_rand.c openssl/ossl_rand.c
|
|
--- ext/openssl/ossl_rand.c 2014-07-21 16:12:51.350690031 +0200
|
|
+++ ext/openssl/ossl_rand.c 2014-07-21 16:16:58.322698863 +0200
|
|
@@ -125,6 +125,7 @@
|
|
return str;
|
|
}
|
|
|
|
+#if defined(HAVE_RAND_EGD_METHOD)
|
|
/*
|
|
* call-seq:
|
|
* egd(filename) -> true
|
|
@@ -158,6 +159,7 @@
|
|
}
|
|
return Qtrue;
|
|
}
|
|
+#endif
|
|
|
|
/*
|
|
* call-seq:
|
|
@@ -195,8 +197,10 @@
|
|
DEFMETH(mRandom, "write_random_file", ossl_rand_write_file, 1);
|
|
DEFMETH(mRandom, "random_bytes", ossl_rand_bytes, 1);
|
|
DEFMETH(mRandom, "pseudo_bytes", ossl_rand_pseudo_bytes, 1);
|
|
+#if defined(HAVE_RAND_EGD_METHOD)
|
|
DEFMETH(mRandom, "egd", ossl_rand_egd, 1);
|
|
DEFMETH(mRandom, "egd_bytes", ossl_rand_egd_bytes, 2);
|
|
+#endif
|
|
DEFMETH(mRandom, "status?", ossl_rand_status, 0)
|
|
}
|
|
|