Skip to content

Commit

Permalink
lang/ruby30: Optionize OPENSSL module builds
Browse files Browse the repository at this point in the history
- ruby 3.0 do not have official OpenSSL 3 support although some other
  vendors are merging patches from 3.1. Untill there is something solid
  optionize OPENSSL to build openssl modules only on 12 and 13 while
  turning off for 14.
- Utilize USES=localbase
- Considering no upstream support for OpenSSL on ruby 3.0 reduce the
  EXPIRATION_DATE to 2024-03-30(Last day of official support) as there
  is no point in carrying this over to the next quarterly.

Approved by:	portmgr (blanket)
Sponsored by:	The FreeBSD Foundation
  • Loading branch information
5u623l20 committed Aug 7, 2023
1 parent 1a3926f commit 9b1f7bf
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 22 deletions.
21 changes: 13 additions & 8 deletions lang/ruby30/Makefile
Expand Up @@ -17,16 +17,14 @@ LICENSE_FILE_BSD2CLAUSE=${WRKSRC}/BSDL
LICENSE_FILE_RUBY= ${WRKSRC}/COPYING

DEPRECATED= Please migrate to newer versions. Ruby 3.0 will reach its EoL on March 30, 2024
EXPIRATION_DATE=2024-04-30
EXPIRATION_DATE=2024-03-30

# Using LIB_DEPENDS finds the libffi from gcc which causes problems
BUILD_DEPENDS= libffi>=0:devel/libffi
LIB_DEPENDS= libyaml.so:textproc/libyaml
RUN_DEPENDS= libffi>=0:devel/libffi

USES= autoreconf cpe ruby:none ssl tar:xz
BROKEN_SSL= openssl30 openssl31
BROKEN_SSL_REASON= Do not build openssl module
USES= autoreconf cpe localbase ruby:none tar:xz

CONFIGURE_ARGS= ${RUBY_CONFIGURE_ARGS} \
--disable-rpath \
Expand All @@ -37,33 +35,36 @@ CONFIGURE_ARGS= ${RUBY_CONFIGURE_ARGS} \
--with-sitedir="${PREFIX}/lib/ruby/site_ruby" \
--with-vendordir="${PREFIX}/lib/ruby/vendor_ruby"
CONFIGURE_ENV= debugflags=
CPPFLAGS+= -I${LOCALBASE}/include
GNU_CONFIGURE= yes
# Keep this, else ruby will fail to load libraries dependent of libpthread.
LIBS+= -lpthread -L${LOCALBASE}/lib
LIBS+= -lpthread
USE_LDCONFIG= yes
WRKSRC= ${RUBY_WRKSRC}

RUBY_VER= 3.0

OPTIONS_DEFINE= CAPIDOCS DEBUG DOCS EXAMPLES GMP RDOC
OPTIONS_DEFAULT= RDOC LIBEDIT
OPTIONS_DEFINE= CAPIDOCS DEBUG DOCS EXAMPLES GMP RDOC OPENSSL
OPTIONS_DEFAULT= RDOC LIBEDIT OPENSSL
OPTIONS_SINGLE= EDIT
OPTIONS_SINGLE_EDIT= LIBEDIT READLINE
OPTIONS_SUB= yes
OPTIONS_EXCLUDE_FreeBSD_14= OPENSSL

CAPIDOCS_DESC= Build and install C API documents
GMP_DESC= Use GMP to accelerate Bignum operations
RDOC_DESC= Build and install Rdoc indexes
EDIT_DESC= Which line editing lib to use
LIBEDIT_DESC= Use libedit
READLINE_DESC= Use libreadline

CAPIDOCS_BUILD_DEPENDS= doxygen>=1.8.13,2:devel/doxygen \
dot:graphics/graphviz
CAPIDOCS_CONFIGURE_ENABLE= install-capi
GMP_CONFIGURE_WITH= gmp
GMP_LIB_DEPENDS= libgmp.so:math/gmp
LIBEDIT_CONFIGURE_ON= --enable-libedit --with-libedit-dir=${LOCALBASE}
LIBEDIT_USES= libedit
OPENSSL_USES= ssl
RDOC_CONFIGURE_ENABLE= install-rdoc
READLINE_CONFIGURE_ON= --disable-libedit --with-readline-dir=${LOCALBASE}
READLINE_USES= readline
Expand Down Expand Up @@ -113,6 +114,10 @@ PKGNAMESUFFIX= ${RUBY_SUFFIX}
PLIST_SUB+= IF_DEFAULT="@comment "
.endif

.if ( ${OPSYS} == FreeBSD && ${OSVERSION} >= 1400092 && ${SSL_DEFAULT} == base ) || ${SSL_DEFAULT:Mopenssl3*}
OPTIONS_EXCLUDE= OPENSSL
.endif

INSTALLED_SCRIPTS= ruby
INSTALLED_MANUALS= ruby

Expand Down
28 changes: 14 additions & 14 deletions lang/ruby30/pkg-plist
Expand Up @@ -271,7 +271,7 @@ lib/libruby%%RUBY_SHLIBVER%%.so.%%RUBY_SHLIBVER%%
%%RUBY_ARCHLIBDIR%%/monitor.so
%%RUBY_ARCHLIBDIR%%/nkf.so
%%RUBY_ARCHLIBDIR%%/objspace.so
%%RUBY_ARCHLIBDIR%%/openssl.so
%%OPENSSL%%%%RUBY_ARCHLIBDIR%%/openssl.so
%%RUBY_ARCHLIBDIR%%/pathname.so
%%RUBY_ARCHLIBDIR%%/psych.so
%%RUBY_ARCHLIBDIR%%/pty.so
Expand Down Expand Up @@ -472,19 +472,19 @@ lib/libruby%%RUBY_SHLIBVER%%.so.%%RUBY_SHLIBVER%%
%%RUBY_LIBDIR%%/observer.rb
%%RUBY_LIBDIR%%/open-uri.rb
%%RUBY_LIBDIR%%/open3.rb
%%RUBY_LIBDIR%%/openssl.rb
%%RUBY_LIBDIR%%/openssl/bn.rb
%%RUBY_LIBDIR%%/openssl/buffering.rb
%%RUBY_LIBDIR%%/openssl/cipher.rb
%%RUBY_LIBDIR%%/openssl/config.rb
%%RUBY_LIBDIR%%/openssl/digest.rb
%%RUBY_LIBDIR%%/openssl/hmac.rb
%%RUBY_LIBDIR%%/openssl/marshal.rb
%%RUBY_LIBDIR%%/openssl/pkcs5.rb
%%RUBY_LIBDIR%%/openssl/pkey.rb
%%RUBY_LIBDIR%%/openssl/ssl.rb
%%RUBY_LIBDIR%%/openssl/version.rb
%%RUBY_LIBDIR%%/openssl/x509.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/bn.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/buffering.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/cipher.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/config.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/digest.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/hmac.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/marshal.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/pkcs5.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/pkey.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/ssl.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/version.rb
%%OPENSSL%%%%RUBY_LIBDIR%%/openssl/x509.rb
%%RUBY_LIBDIR%%/optionparser.rb
%%RUBY_LIBDIR%%/optparse.rb
%%RUBY_LIBDIR%%/optparse/ac.rb
Expand Down

0 comments on commit 9b1f7bf

Please sign in to comment.