Source: https://github.com/gentoo/libressl/blob/776060f4bc3418dbba6be5aec1a76cd2ec84476e/dev-lang/ruby/files/ruby-conditional-randegd.patch --- a/ext/openssl/extconf.rb +++ b/ext/openssl/extconf.rb @@ -87,6 +87,7 @@ have_func("PEM_def_callback") have_func("PKCS5_PBKDF2_HMAC") have_func("PKCS5_PBKDF2_HMAC_SHA1") +have_func("RAND_egd") have_func("X509V3_set_nconf") have_func("X509V3_EXT_nconf_nid") have_func("X509_CRL_add0_revoked") --- a/ext/openssl/ossl_rand.c +++ b/ext/openssl/ossl_rand.c @@ -125,6 +125,7 @@ return str; } +#ifdef HAVE_RAND_EGD /* * call-seq: * egd(filename) -> true @@ -158,6 +159,7 @@ } return Qtrue; } +#endif /* HAVE_RAND_EGD */ /* * 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); +#ifdef HAVE_RAND_EGD DEFMETH(mRandom, "egd", ossl_rand_egd, 1); DEFMETH(mRandom, "egd_bytes", ossl_rand_egd_bytes, 2); +#endif /* HAVE_RAND_EGD */ DEFMETH(mRandom, "status?", ossl_rand_status, 0) }