From d40afe74c249cbfb9b4035c6a64a40d87e7de9de Mon Sep 17 00:00:00 2001 From: sevan Date: Wed, 14 Oct 2015 18:38:00 +0000 Subject: Add pkg-config to USE_TOOLS. Set PKG_CONFIG to empty as it removes reference to the build directory. Add checks for the presence of SSLv3 in OpenSSL/LibreSSL - obtained from http://www.libressl.org/patches.html Fix typo in comment s/refrect/reference. Reviewed by taca@ wiz@ --- lang/ruby21-base/Makefile | 9 +++++---- lang/ruby21-base/distinfo | 4 +++- lang/ruby21-base/patches/patch-ext_opennsl_extconf.rb | 16 ++++++++++++++++ lang/ruby21-base/patches/patch-ext_opennsl_ossl_ssl.c | 19 +++++++++++++++++++ lang/ruby22-base/Makefile | 9 +++++---- lang/ruby22-base/distinfo | 4 +++- lang/ruby22-base/patches/patch-ext_openssl_extconf.rb | 14 ++++++++++++++ lang/ruby22-base/patches/patch-ext_openssl_ssl.c | 19 +++++++++++++++++++ 8 files changed, 84 insertions(+), 10 deletions(-) create mode 100644 lang/ruby21-base/patches/patch-ext_opennsl_extconf.rb create mode 100644 lang/ruby21-base/patches/patch-ext_opennsl_ossl_ssl.c create mode 100644 lang/ruby22-base/patches/patch-ext_openssl_extconf.rb create mode 100644 lang/ruby22-base/patches/patch-ext_openssl_ssl.c (limited to 'lang') diff --git a/lang/ruby21-base/Makefile b/lang/ruby21-base/Makefile index 6f1e2fd80ab..eea042e03b7 100644 --- a/lang/ruby21-base/Makefile +++ b/lang/ruby21-base/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.15 2015/08/20 15:27:43 taca Exp $ +# $NetBSD: Makefile,v 1.16 2015/10/14 18:38:00 sevan Exp $ # DISTNAME= ${RUBY_DISTNAME} @@ -14,7 +14,7 @@ LICENSE= ${RUBY_LICENSE} RUBY_VERSION_SUPPORTED= 21 USE_LANGUAGES= c -USE_TOOLS+= pax yacc +USE_TOOLS+= pax yacc pkg-config GNU_CONFIGURE= yes TEST_TARGET= test CONFIGURE_ARGS+= --enable-shared @@ -23,12 +23,14 @@ WRKSRC= ${RUBY_WRKSRC} MAKE_DIRS= ${RUBY_SITEARCHLIB} ${RUBY_VENDORARCHLIB} # -# Don't refrect pkgsrc's INSTALL macro since Ruby expect it could +# Don't reference pkgsrc's INSTALL macro since Ruby expect it could # execute by unprivileged user. # CONFIGURE_ENV+= INSTALL="${INSTALL} ${COPY}" \ INSTALL_DATA= INSTALL_PROGRAM= INSTALL_SCRIPT= +CONFIGURE_ENV+= ac_cv_prog_PKG_CONFIG="" + .include "../../mk/compiler.mk" # /usr/bin/dtrace is not DTrace. @@ -46,7 +48,6 @@ LIBS.SunOS+= -lm .if ${OPSYS} == "SunOS" CONFIGURE_ENV+= OBJCOPY=: -CONFIGURE_ENV+= ac_cv_prog_PKG_CONFIG="" .endif .if ${OPSYS} == "MirBSD" diff --git a/lang/ruby21-base/distinfo b/lang/ruby21-base/distinfo index c79972e9ed0..b4843ff31c6 100644 --- a/lang/ruby21-base/distinfo +++ b/lang/ruby21-base/distinfo @@ -1,10 +1,12 @@ -$NetBSD: distinfo,v 1.19 2015/08/20 15:27:43 taca Exp $ +$NetBSD: distinfo,v 1.20 2015/10/14 18:38:00 sevan Exp $ SHA1 (ruby-2.1.7.tar.bz2) = 9c2d3c73b3d2aed2c8f018d3a27e970846dcf143 RMD160 (ruby-2.1.7.tar.bz2) = 1fb05a54d255cf3ef3b9933412e935b780ff3258 Size (ruby-2.1.7.tar.bz2) = 12019706 bytes SHA1 (patch-configure) = 7f1f6d2dc7d32c96d6ae65562a9bc6d50d2b79dd SHA1 (patch-ext_dbm_extconf.rb) = 08520edd956e17cb6cc80b6ee2c77af77a834bd2 +SHA1 (patch-ext_opennsl_extconf.rb) = 3c5985ee4b6df6616e597a98e77c519eaaf9c90b +SHA1 (patch-ext_opennsl_ossl_ssl.c) = d803735371af6a17be5c465a28c05fabca9463f5 SHA1 (patch-ext_tk_lib_tk_autoload.rb) = e8bcb93feae90fd46531a412f6c963a6d5d2c132 SHA1 (patch-ext_tk_lib_tk_fontchooser.rb) = cb0155332e5f519ada386fae770cd2f879527323 SHA1 (patch-ext_tk_lib_tk_tk__mac.rb) = 24b9f282558200780adbf93e71edd1aa52d1c82b diff --git a/lang/ruby21-base/patches/patch-ext_opennsl_extconf.rb b/lang/ruby21-base/patches/patch-ext_opennsl_extconf.rb new file mode 100644 index 00000000000..4b79ef54fab --- /dev/null +++ b/lang/ruby21-base/patches/patch-ext_opennsl_extconf.rb @@ -0,0 +1,16 @@ +$NetBSD: patch-ext_opennsl_extconf.rb,v 1.1 2015/10/14 18:38:00 sevan Exp $ + +Check for SSLv3 support as it may nolonger be available. + +--- ext/openssl/extconf.rb.orig Sat Oct 10 17:21:29 2015 ++++ ext/openssl/extconf.rb +@@ -103,6 +103,9 @@ have_func("OPENSSL_cleanse") + have_func("SSLv2_method") + have_func("SSLv2_server_method") + have_func("SSLv2_client_method") ++have_func("SSLv3_method") ++have_func("SSLv3_server_method") ++have_func("SSLv3_client_method") + have_func("TLSv1_1_method") + have_func("TLSv1_1_server_method") + have_func("TLSv1_1_client_method") diff --git a/lang/ruby21-base/patches/patch-ext_opennsl_ossl_ssl.c b/lang/ruby21-base/patches/patch-ext_opennsl_ossl_ssl.c new file mode 100644 index 00000000000..ae787d9a70b --- /dev/null +++ b/lang/ruby21-base/patches/patch-ext_opennsl_ossl_ssl.c @@ -0,0 +1,19 @@ +$NetBSD: patch-ext_opennsl_ossl_ssl.c,v 1.1 2015/10/14 18:38:00 sevan Exp $ + +Only enable SSLv3 methods if library provides support. + +--- ext/openssl/ossl_ssl.c.orig Sat Oct 10 17:22:47 2015 ++++ ext/openssl/ossl_ssl.c +@@ -134,9 +134,12 @@ struct { + OSSL_SSL_METHOD_ENTRY(SSLv2_server), + OSSL_SSL_METHOD_ENTRY(SSLv2_client), + #endif ++#if defined(HAVE_SSLV3_METHOD) && defined(HAVE_SSLV3_SERVER_METHOD) && \ ++ defined(HAVE_SSLV3_CLIENT_METHOD) + OSSL_SSL_METHOD_ENTRY(SSLv3), + OSSL_SSL_METHOD_ENTRY(SSLv3_server), + OSSL_SSL_METHOD_ENTRY(SSLv3_client), ++#endif + OSSL_SSL_METHOD_ENTRY(SSLv23), + OSSL_SSL_METHOD_ENTRY(SSLv23_server), + OSSL_SSL_METHOD_ENTRY(SSLv23_client), diff --git a/lang/ruby22-base/Makefile b/lang/ruby22-base/Makefile index 506955428d1..a1e1d79b658 100644 --- a/lang/ruby22-base/Makefile +++ b/lang/ruby22-base/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.4 2015/08/20 15:30:47 taca Exp $ +# $NetBSD: Makefile,v 1.5 2015/10/14 18:38:57 sevan Exp $ # DISTNAME= ${RUBY_DISTNAME} @@ -14,7 +14,7 @@ LICENSE= ${RUBY_LICENSE} RUBY_VERSION_SUPPORTED= 22 USE_LANGUAGES= c -USE_TOOLS+= pax yacc +USE_TOOLS+= pax yacc pkg-config GNU_CONFIGURE= yes TEST_TARGET= test CONFIGURE_ARGS+= --enable-shared @@ -26,12 +26,14 @@ MAKE_DIRS= ${RUBY_SITEARCHLIB} ${RUBY_VENDORARCHLIB} CHECK_INTERPRETER_SKIP+= ${GEM_HOME}/gems/test-unit-3.0.8/test/run-test.rb # -# Don't refrect pkgsrc's INSTALL macro since Ruby expect it could +# Don't reference pkgsrc's INSTALL macro since Ruby expect it could # execute by unprivileged user. # CONFIGURE_ENV+= INSTALL="${INSTALL} ${COPY}" \ INSTALL_DATA= INSTALL_PROGRAM= INSTALL_SCRIPT= +CONFIGURE_ENV+= ac_cv_prog_PKG_CONFIG="" + .include "../../mk/compiler.mk" .if !empty(PKGSRC_COMPILER:Msunpro) @@ -44,7 +46,6 @@ LIBS.SunOS+= -lm .if ${OPSYS} == "SunOS" CONFIGURE_ENV+= OBJCOPY=: -CONFIGURE_ENV+= ac_cv_prog_PKG_CONFIG="" .endif .if ${OPSYS} == "MirBSD" diff --git a/lang/ruby22-base/distinfo b/lang/ruby22-base/distinfo index f66683af66c..fefaab7196c 100644 --- a/lang/ruby22-base/distinfo +++ b/lang/ruby22-base/distinfo @@ -1,10 +1,12 @@ -$NetBSD: distinfo,v 1.7 2015/08/20 15:30:47 taca Exp $ +$NetBSD: distinfo,v 1.8 2015/10/14 18:38:57 sevan Exp $ SHA1 (ruby-2.2.3.tar.bz2) = 59fe80aeeb518ffb396bb1df74b47b25541fb207 RMD160 (ruby-2.2.3.tar.bz2) = 048769272df86969a6848234bc3a1a1968a6e47c Size (ruby-2.2.3.tar.bz2) = 13333814 bytes SHA1 (patch-configure) = 8abbc486b8cf30bb789ef58d1cb289191dcd1af6 SHA1 (patch-ext_dbm_extconf.rb) = ee932265052613d458375ad1a760a09fefb9d959 +SHA1 (patch-ext_openssl_extconf.rb) = 27ecb02b9912fc24b6fadd2b2012c16a85729430 +SHA1 (patch-ext_openssl_ssl.c) = fb83697153a262112826018c3d6a27e8115573be SHA1 (patch-lib_mkmf.rb) = f86f1ae5a1053a0643545a2c11c9fd2bbd5a289d SHA1 (patch-lib_rdoc_ri_driver.rb) = 5bdd3ed6f50a2ea79f643c6bebd7ad0063e79051 SHA1 (patch-lib_rubygems.rb) = 5b63c96109fa53fb072b6ae12bf91c4b2889e079 diff --git a/lang/ruby22-base/patches/patch-ext_openssl_extconf.rb b/lang/ruby22-base/patches/patch-ext_openssl_extconf.rb new file mode 100644 index 00000000000..27fac130239 --- /dev/null +++ b/lang/ruby22-base/patches/patch-ext_openssl_extconf.rb @@ -0,0 +1,14 @@ +$NetBSD: patch-ext_openssl_extconf.rb,v 1.1 2015/10/14 18:38:57 sevan Exp $ + +--- ext/openssl/extconf.rb.orig Sat Oct 10 17:30:57 2015 ++++ ext/openssl/extconf.rb +@@ -103,6 +103,9 @@ have_func("OPENSSL_cleanse") + have_func("SSLv2_method") + have_func("SSLv2_server_method") + have_func("SSLv2_client_method") ++have_func("SSLv3_method") ++have_func("SSLv3_server_method") ++have_func("SSLv3_client_method") + have_func("TLSv1_1_method") + have_func("TLSv1_1_server_method") + have_func("TLSv1_1_client_method") diff --git a/lang/ruby22-base/patches/patch-ext_openssl_ssl.c b/lang/ruby22-base/patches/patch-ext_openssl_ssl.c new file mode 100644 index 00000000000..2825c8483b0 --- /dev/null +++ b/lang/ruby22-base/patches/patch-ext_openssl_ssl.c @@ -0,0 +1,19 @@ +$NetBSD: patch-ext_openssl_ssl.c,v 1.1 2015/10/14 18:38:57 sevan Exp $ + +Only enable SSLv3 methods if library provides support. + +--- ext/openssl/ossl_ssl.c.orig Sat Oct 10 17:31:20 2015 ++++ ext/openssl/ossl_ssl.c +@@ -138,9 +138,12 @@ static const struct { + OSSL_SSL_METHOD_ENTRY(SSLv2_server), + OSSL_SSL_METHOD_ENTRY(SSLv2_client), + #endif ++#if defined(HAVE_SSLV3_METHOD) && defined(HAVE_SSLV3_SERVER_METHOD) && \ ++ defined(HAVE_SSLV3_CLIENT_METHOD) + OSSL_SSL_METHOD_ENTRY(SSLv3), + OSSL_SSL_METHOD_ENTRY(SSLv3_server), + OSSL_SSL_METHOD_ENTRY(SSLv3_client), ++#endif + OSSL_SSL_METHOD_ENTRY(SSLv23), + OSSL_SSL_METHOD_ENTRY(SSLv23_server), + OSSL_SSL_METHOD_ENTRY(SSLv23_client), -- cgit v1.2.3