Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 682588 - dev-ruby/eventmachine-1.2.7 - add libressl support
Summary: dev-ruby/eventmachine-1.2.7 - add libressl support
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-05 12:55 UTC by fkater
Modified: 2021-04-30 21:34 UTC (History)
2 users (show)

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


Attachments
eventmachine-1.2.7.ebuild (Update) (eventmachine-1.2.7.ebuild,2.86 KB, text/plain)
2020-05-07 01:19 UTC, Emilia Trollros
Details
eventmachine-1.2.7.ebuild (Fixed some RepoMan Errors) (eventmachine-1.2.7.ebuild,2.82 KB, text/plain)
2020-05-13 23:40 UTC, Emilia Trollros
Details
metadata.xml (Update) (metadata.xml,1022 bytes, text/xml)
2020-05-13 23:46 UTC, Emilia Trollros
Details
metadata.xml (Update revision 1) (metadata.xml,1013 bytes, text/plain)
2020-05-13 23:50 UTC, Emilia Trollros
Details
dev-ruby/eventmachine-1.2.7.ebuild (Update HOMEPAGE) (eventmachine-1.2.7.ebuild,2.84 KB, text/plain)
2020-08-02 19:51 UTC, Emilia Trollros
Details

Note You need to log in before you can comment on or make changes to this bug.
Description fkater 2019-04-05 12:55:42 UTC
The package dev-ruby/eventmachine-1.2.7 is lacking libressl support.
This is the only version in portage.

ssl cannot even be disabled, thus, it forces openssl.

Packages depending on that are prominent, e.g. jekyll webpage builder.



Reproducible: Always
Comment 1 Hans de Graaff gentoo-dev Security 2019-04-21 07:24:18 UTC
libressl@gentoo.org feel free to make changes here to also accommodate libressl.
Comment 2 Emilia Trollros 2020-05-07 01:19:23 UTC
Created attachment 636578 [details]
eventmachine-1.2.7.ebuild (Update)

Added Libressl support according to the wiki instructions. https://wiki.gentoo.org/wiki/Project:LibreSSL
I'm not sure if this ebuild is 100% correct, as there was nothing on the wiki about IUSE flags and this is my first ebuild. I had to add the flags ssl libressl and -openssl to the IUSE variable on my system, which is fully converted to Libressl. I have installed eventmachine with Libressl and it worked without error messages. I could also then install www-apps/jekyll without any problems.

Signed-off-by: Emilia Trollros <et-8@emiliatrollros.se>
Comment 3 Emilia Trollros 2020-05-07 01:24:12 UTC
Comment on attachment 636578 [details]
eventmachine-1.2.7.ebuild (Update)

># Copyright 1999-2019 Gentoo Authors
># Distributed under the terms of the GNU General Public License v2
>
>EAPI=6
>
>USE_RUBY="ruby23 ruby24 ruby25 ruby26"
>
>RUBY_FAKEGEM_RECIPE_DOC="rdoc"
>RUBY_FAKEGEM_DOCDIR="rdoc"
>RUBY_FAKEGEM_EXTRADOC="docs/*.md README.md"
>
>inherit ruby-fakegem
>
>DESCRIPTION="EventMachine is a fast, simple event-processing library for Ruby programs"
>HOMEPAGE="http://rubyeventmachine.com"
>SRC_URI="https://github.com/eventmachine/eventmachine/archive/v${PV}.tar.gz -> ${P}.tar.gz"
>
>LICENSE="|| ( GPL-2 Ruby )"
>SLOT="0"
>KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
>IUSE="ssl libressl -openssl"
>
>DEPEND="${DEPEND}
>	ssl? (
>    !libressl? ( dev-libs/openssl:0= )
>    libressl? ( dev-libs/libressl:0= )
>)
>"
>
>RDEPEND="${RDEPEND}
>	ssl? (
>    !libressl? ( dev-libs/openssl:0= )
>    libressl? ( dev-libs/libressl:0= )
>)
>"
>
>ruby_add_bdepend "test? ( dev-ruby/test-unit:2 )"
>
>all_ruby_prepare() {
>	# Remove package tasks to avoid dependency on rake-compiler.
>	rm rakelib/package.rake || die
>
>	# Remove the resolver tests since they require network access and
>	# the localhost test fails with an IPv6 localhost.
>	rm tests/test_resolver.rb || die
>
>	# Needs a tty
>	rm tests/test_kb.rb || die
>
>	# Avoid tests that require network access
>	sed -i -e '/test_bind_connect/,/^  end/ s:^:#:' \
>		tests/test_basic.rb || die
>	sed -i -e '/test_\(cookie\|http_client\|version_1_0\)/,/^  end/ s:^:#:' \
>		tests/test_httpclient.rb || die
>	sed -i -e '/test_\(get\|https_get\)/,/^  end/ s:^:#:' \
>		tests/test_httpclient2.rb || die
>	sed -i -e '/test_connect_timeout/,/^  end/ s:^:#:' \
>		tests/test_unbind_reason.rb || die
>	sed -i -e '/test_for_real/,/^    end/ s:^:#:' \
>		tests/test_pending_connect_timeout.rb || die
>	rm -f tests/test_{get_sock_opt,set_sock_opt,idle_connection}.rb || die
>
>	# Avoid tests for insecure SSL versions that may not be available
>	sed -i -e '/test_any_to_v3/,/^    end/ s:^:#:' \
>		-e '/test_v3_/,/^    end/ s:^:#:' \
>		-e '/test_tlsv1_required_with_external_client/aomit "sslv3"' \
>		tests/test_ssl_protocols.rb || die
>
>	# Avoid test that deliberately triggers a C++ exception which causes
>	# a SEGFAULT. This does not appear to happen upstream (on travis).
>	rm -f tests/test_exc.rb || die
>}
>
>each_ruby_configure() {
>	for extdir in ext ext/fastfilereader; do
>		pushd $extdir
>		${RUBY} extconf.rb || die "extconf.rb failed for ${extdir}"
>		popd
>	done
>}
>
>each_ruby_compile() {
>	for extdir in ext ext/fastfilereader; do
>		pushd $extdir
>		# both extensions use C++, so use the CXXFLAGS not the CFLAGS
>		emake V=1 CFLAGS="${CXXFLAGS} -fPIC" archflag="${LDFLAGS}"
>		popd
>		cp $extdir/*.so lib/ || die "Unable to copy extensions for ${extdir}"
>	done
>}
>
>each_ruby_test() {
>	${RUBY} -Ilib -S testrb-2 tests/test_*.rb || die
>}
>
>all_ruby_install() {
>	all_fakegem_install
>
>	insinto /usr/share/doc/${PF}/
>	doins -r examples
>}
Comment 4 Michele Santullo 2020-05-11 20:50:21 UTC
I was about to file a new bug about this. It seems to work for me using libressl, in fact I see the upstream is aware of libressl https://github.com/eventmachine/eventmachine/pull/867

This package is needed by jekyll, please amend the ebuild.
Comment 5 Emilia Trollros 2020-05-13 23:40:37 UTC
Created attachment 638674 [details]
eventmachine-1.2.7.ebuild (Fixed some RepoMan Errors)

I removed - in front of openssl because Gentoo docs said it had no effect on theinstallation. Also fixed RepoMan errors for the git commit.
Comment 6 Emilia Trollros 2020-05-13 23:46:24 UTC
Created attachment 638676 [details]
metadata.xml (Update)

Needed update with use flags info to make RepoMan happy.
Comment 7 Emilia Trollros 2020-05-13 23:50:39 UTC
Created attachment 638678 [details]
metadata.xml (Update revision 1)

Fixed som typos.
Comment 8 Emilia Trollros 2020-05-13 23:51:33 UTC
When i run "repoman -dx full" I get this error. Doesn't seem serious, but I'd like to make Repoman happy before the git commit. How do I fix it?

RepoMan scours the neighborhood...
  dependency.badindev           2
   dev-ruby/eventmachine/eventmachine-1.2.7.ebuild: DEPEND: ~amd64-linux(default/linux/amd64/17.0/no-multilib/prefix/kernel-3.2+)
[     'dev-libs/openssl:0=',
      'dev-libs/libressl:0=',
      'dev-lang/ruby:2.4',
      'dev-lang/ruby:2.5',
      'dev-lang/ruby:2.6']
   dev-ruby/eventmachine/eventmachine-1.2.7.ebuild: RDEPEND: ~amd64-linux(default/linux/amd64/17.0/no-multilib/prefix/kernel-3.2+)
[     'dev-libs/openssl:0=',
      'dev-libs/libressl:0=',
      'dev-lang/ruby:2.4',
      'dev-lang/ruby:2.5',
      'dev-lang/ruby:2.6']
RepoMan sez: "You're only giving me a partial QA payment?
              I'll take it this time, but I'm not happy.
Comment 9 Emilia Trollros 2020-08-02 19:51:18 UTC
Created attachment 652412 [details]
dev-ruby/eventmachine-1.2.7.ebuild (Update HOMEPAGE)
Comment 10 Hans de Graaff gentoo-dev Security 2020-08-15 09:39:46 UTC
(In reply to Emilia Trollros from comment #8)
> When i run "repoman -dx full" I get this error. Doesn't seem serious, but
> I'd like to make Repoman happy before the git commit. How do I fix it?

amd64-linux (a prefix arch) seems to be broken. You can ignore these issues.
Comment 11 Hans de Graaff gentoo-dev Security 2020-08-15 09:41:09 UTC
(In reply to Emilia Trollros from comment #9)
> Created attachment 652412 [details]
> dev-ruby/eventmachine-1.2.7.ebuild (Update HOMEPAGE)

This ebuild makes ssl support optional, which is not correct.