Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 566744 - [libressl overlay] dev-lang/ruby pulls in sys-libs/ncurses-6.0:5/6 Please sync with main tree!
Summary: [libressl overlay] dev-lang/ruby pulls in sys-libs/ncurses-6.0:5/6 Please syn...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Julian Ospald
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-24 19:55 UTC by jospezial
Modified: 2016-03-30 09:42 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jospezial 2015-11-24 19:55:23 UTC
[nomerge       ]            dev-lang/ruby-2.1.7:2.1::libressl [2.1.7:2.1::gentoo] USE="berkdb gdbm ipv6 libressl%* ncurses rdoc readline ssl -debug -doc -examples -rubytests -socks5 -xemacs" 
[ebuild  NS    ]             sys-libs/ncurses-6.0:5/6::gentoo [6.0-r1:0/6::gentoo] USE="cxx gpm unicode -ada -static-libs -tinfo" ABI_X86="32 (64) (-x32)" 0 KiB


in libressl overlay /dev-lang/ruby/ruby*
ncurses? ( sys-libs/ncurses:5= )

in main tree /dev-lang/ruby/ruby*
ncurses? ( sys-libs/ncurses:0= )
Comment 2 jospezial 2015-12-05 05:08:27 UTC
(In reply to jospezial from comment #1)
> https://github.com/gentoo/libressl/pull/118/commits

I tried that but I get:

cd ext/openssl && exec make -w V=1 all
make[2]: Entering directory '/var/tmp/portage/dev-lang/ruby-2.1.7-r1/work/ruby-2.1.7/ext/openssl'
x86_64-pc-linux-gnu-gcc -I. -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\"    -fPIC -march=native -O2 -pipe -fno-strict-aliasing -fPIC   -o ossl_hmac.o -c ossl_hmac.c
x86_64-pc-linux-gnu-gcc -I. -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\"    -fPIC -march=native -O2 -pipe -fno-strict-aliasing -fPIC   -o ossl_x509name.o -c ossl_x509name.c
x86_64-pc-linux-gnu-gcc -I. -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\"    -fPIC -march=native -O2 -pipe -fno-strict-aliasing -fPIC   -o ossl_cipher.o -c ossl_cipher.c
x86_64-pc-linux-gnu-gcc -I. -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\"    -fPIC -march=native -O2 -pipe -fno-strict-aliasing -fPIC   -o ossl_pkey.o -c ossl_pkey.c
x86_64-pc-linux-gnu-gcc -I. -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\"    -fPIC -march=native -O2 -pipe -fno-strict-aliasing -fPIC   -o ossl_ssl.o -c ossl_ssl.c
ossl_ssl.c:137:27: error: ‘SSLv3_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3),
                           ^
ossl_ssl.c:115:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
ossl_ssl.c:138:27: error: ‘SSLv3_server_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3_server),
                           ^
ossl_ssl.c:115:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
ossl_ssl.c:139:27: error: ‘SSLv3_client_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3_client),
                           ^
ossl_ssl.c:115:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
Makefile:280: recipe for target 'ossl_ssl.o' failed
make[2]: *** [ossl_ssl.o] Error 1
make[2]: Leaving directory '/var/tmp/portage/dev-lang/ruby-2.1.7-r1/work/ruby-2.1.7/ext/openssl'
exts.mk:192: recipe for target 'ext/openssl/all' failed
Comment 3 jospezial 2015-12-05 05:41:44 UTC
dev-lang/ruby/ruby-2.1.7-r1.ebuild needs ruby-2.2.3-ssl3.patch to compile.

After that it merges fine.
Comment 4 jospezial 2015-12-05 06:17:41 UTC
ruby-2.2.3-ssl3.patch works for dev-lang/ruby-2.0.0_p647-r1 too
Comment 5 jospezial 2016-02-22 16:54:19 UTC
https://github.com/gentoo/libressl/commit/684ef0bc51045f969a4784233983c1db88fc2b60
Update Ruby versions, add SSLv3 patch for LibreSSL 2.3.0+

With that commit the ncurses slot bug is fixed.


For dev-lang/ruby-2.2.4 the ruby-2.2.3-ssl3.patch fails.
The patch was merged upstream:

https://github.com/ruby/ruby/commit/801e1fe46d83c856844ba18ae4751478c59af0d1
 * ext/openssl/ossl_ssl.c (static const struct): Only add SSLv3 support

  if the SSL library supports it.  Thanks Kurt Roeckx <kurt@roeckx.be>
  [Bug #11376]

* ext/openssl/extconf.rb: check for SSLv3 support in the SSL
  implementation.

* test/openssl/test_ssl.rb (class OpenSSL): Skip tests that need SSLv3
  if there is no support.
Comment 6 jospezial 2016-03-30 09:42:01 UTC
As I wrote in #c5 the ncurses slot bug is fixed.

dev-lang/ruby-2.2.4 is now in gentoo tree and it builds without problems.

ruby:2.0 and ruby:2.1 from the gentoo tree don't have libressl flag yet and still depend on openssl

emerge -vat1 ruby:2.0::gentoo ruby:2.1::gentoo

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild   R    ] dev-lang/ruby-2.1.8:2.1::gentoo [2.1.8:2.1::libressl] USE="berkdb gdbm ipv6 ncurses rdoc readline ssl -debug -doc -examples -rubytests -socks5 -xemacs (-libressl%*)" 0 KiB
[ebuild   R    ] dev-lang/ruby-2.0.0_p648:2.0::gentoo [2.0.0_p648:2.0::libressl] USE="berkdb gdbm ipv6 ncurses rdoc readline ssl -debug -doc -examples -rubytests -socks5 -xemacs (-libressl%*)" CPU_FLAGS_X86="sse2" 0 KiB


I didn't want to try with libressl-2.3.* because of https://bugs.gentoo.org/show_bug.cgi?id=567554

Here you can see what works so far with dev-libs/libressl-2.2.6::gentoo:
=================================================================
                        Package Settings
=================================================================

dev-lang/ruby-2.0.0_p648::libressl was built with the following:
USE="berkdb gdbm ipv6 libressl ncurses rdoc readline ssl -debug -doc -examples -rubytests -socks5 -xemacs" ABI_X86="64" CPU_FLAGS_X86="sse2"
CFLAGS="-march=native -O2 -pipe -fno-strict-aliasing"
CXXFLAGS="-march=native -O2 -pipe -fno-strict-aliasing"


dev-lang/ruby-2.1.8::libressl was built with the following:
USE="berkdb gdbm ipv6 libressl ncurses rdoc readline ssl -debug -doc -examples -rubytests -socks5 -xemacs" ABI_X86="64"
CFLAGS="-march=native -O2 -pipe -fno-strict-aliasing"
CXXFLAGS="-march=native -O2 -pipe -fno-strict-aliasing"


dev-lang/ruby-2.2.4::gentoo was built with the following:
USE="berkdb gdbm ipv6 libressl ncurses rdoc readline ssl -debug -doc -examples -jemalloc -rubytests -socks5 -xemacs" ABI_X86="64"
CFLAGS="-march=native -O2 -pipe -fno-strict-aliasing"
CXXFLAGS="-march=native -O2 -pipe -fno-strict-aliasing"


dev-lang/ruby-2.3.0::gentoo was built with the following:
USE="berkdb gdbm ipv6 libressl ncurses rdoc readline ssl -debug -doc -examples -jemalloc -rubytests -socks5 -xemacs" ABI_X86="64"
CFLAGS="-march=native -O2 -pipe -fno-strict-aliasing"
CXXFLAGS="-march=native -O2 -pipe -fno-strict-aliasing"


dev-libs/libressl-2.2.6::gentoo was built with the following:
USE="asm -static-libs" ABI_X86="32 64 -x32"