Index: head/lang/ruby25/files/patch-ext_openssl_openssl__missing.h =================================================================== --- head/lang/ruby25/files/patch-ext_openssl_openssl__missing.h (revision 477248) +++ head/lang/ruby25/files/patch-ext_openssl_openssl__missing.h (nonexistent) @@ -1,28 +0,0 @@ ---- ext/openssl/openssl_missing.h.orig 2018-03-22 19:37:19 UTC -+++ ext/openssl/openssl_missing.h -@@ -72,6 +72,9 @@ void ossl_HMAC_CTX_free(HMAC_CTX *); - #if !defined(HAVE_X509_STORE_SET_EX_DATA) - # define X509_STORE_set_ex_data(x, idx, data) \ - CRYPTO_set_ex_data(&(x)->ex_data, (idx), (data)) -+#endif -+ -+#if !defined(HAVE_X509_STORE_GET_EX_NEW_INDEX) - # define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, (l), (p), \ - (newf), (dupf), (freef)) -@@ -145,6 +148,7 @@ void ossl_X509_REQ_get0_signature(const - #endif - - #if !defined(HAVE_OPAQUE_OPENSSL) -+#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL - #define IMPL_PKEY_GETTER(_type, _name) \ - static inline _type *EVP_PKEY_get0_##_type(EVP_PKEY *pkey) { \ - return pkey->pkey._name; } -@@ -196,6 +200,7 @@ IMPL_PKEY_GETTER(EC_KEY, ec) - #undef IMPL_PKEY_GETTER - #undef IMPL_KEY_ACCESSOR2 - #undef IMPL_KEY_ACCESSOR3 -+#endif - #endif /* HAVE_OPAQUE_OPENSSL */ - - #if !defined(EVP_CTRL_AEAD_GET_TAG) Property changes on: head/lang/ruby25/files/patch-ext_openssl_openssl__missing.h ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/lang/ruby25/files/patch-ext-openssl-extconf.rb =================================================================== --- head/lang/ruby25/files/patch-ext-openssl-extconf.rb (nonexistent) +++ head/lang/ruby25/files/patch-ext-openssl-extconf.rb (revision 477249) @@ -0,0 +1,28 @@ +From 75de15ddcdab6efe7faf3ca1f6b5c6e5b6ba57cc Mon Sep 17 00:00:00 2001 +From: Kazuki Yamaguchi +Date: Sat, 24 Mar 2018 01:44:37 +0900 +Subject: [PATCH] extconf.rb: fix build with LibreSSL 2.7.0 + +Our compat implementation of accessor functions that were introduced in +OpenSSL 1.1.0 conflicts with those from LibreSSL 2.7.0. Use the +HAVE_OPAQUE_OPENSSL code path when LibreSSL 2.7 or newer is detected. + +Fix suggested by Joel Sing. + +Fixes: https://github.com/ruby/openssl/issues/192 + +--- ext/openssl/extconf.rb.orig ++++ ext/openssl/extconf.rb +@@ -157,8 +157,11 @@ def find_openssl_library + have_func("SSL_is_server") + + # added in 1.1.0 ++if !have_struct_member("SSL", "ctx", "openssl/ssl.h") || ++ try_static_assert("LIBRESSL_VERSION_NUMBER >= 0x2070000fL", "openssl/opensslv.h") ++ $defs.push("-DHAVE_OPAQUE_OPENSSL") ++end + have_func("CRYPTO_lock") || $defs.push("-DHAVE_OPENSSL_110_THREADING_API") +-have_struct_member("SSL", "ctx", "openssl/ssl.h") || $defs.push("-DHAVE_OPAQUE_OPENSSL") + have_func("BN_GENCB_new") + have_func("BN_GENCB_free") + have_func("BN_GENCB_get_arg") Property changes on: head/lang/ruby25/files/patch-ext-openssl-extconf.rb ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property