Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/3] Misc Ruby updates
@ 2014-08-28 22:17 Thomas Petazzoni
  2014-08-28 22:17 ` [Buildroot] [PATCH 1/3] ruby: requires shared library Thomas Petazzoni
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2014-08-28 22:17 UTC (permalink / raw)
  To: buildroot

Hello,

Here are three patches for the Ruby package. The first two patches are
fixes and could be applied to the master branch. The last patch is a
bump of Ruby to the latest stable version, which could be applied to
the next branch.

Thanks,

Thomas

Thomas Petazzoni (3):
  ruby: requires shared library
  ruby: should not use dl_iterate_phdr() on Blackfin
  ruby: bump to version 2.1.2

 package/ruby/Config.in |  6 ++++--
 package/ruby/ruby.mk   | 13 ++++++++-----
 2 files changed, 12 insertions(+), 7 deletions(-)

-- 
2.0.0

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/3] ruby: requires shared library
  2014-08-28 22:17 [Buildroot] [PATCH 0/3] Misc Ruby updates Thomas Petazzoni
@ 2014-08-28 22:17 ` Thomas Petazzoni
  2014-08-29  7:16   ` Peter Korsgaard
  2014-08-28 22:17 ` [Buildroot] [PATCH 2/3] ruby: should not use dl_iterate_phdr() on Blackfin Thomas Petazzoni
  2014-08-28 22:17 ` [Buildroot] [PATCH 3/3] ruby: bump to version 2.1.2 Thomas Petazzoni
  2 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2014-08-28 22:17 UTC (permalink / raw)
  To: buildroot

Not matter what you do, the Ruby build system wants to use shared
libraries for the encoding modules. Therefore, this commit disallows
the selection of Ruby in BR2_PREFER_STATIC_LIB situations.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/ruby/Config.in | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/package/ruby/Config.in b/package/ruby/Config.in
index 0de756b..2191204 100644
--- a/package/ruby/Config.in
+++ b/package/ruby/Config.in
@@ -2,10 +2,12 @@ config BR2_PACKAGE_RUBY
 	bool "ruby"
 	depends on BR2_USE_WCHAR
 	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on !BR2_PREFER_STATIC_LIB
 	help
 	  Object Oriented Scripting Language.
 
 	  http://www.ruby-lang.org/
 
-comment "ruby needs a toolchain w/ wchar, threads"
-	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+comment "ruby needs a toolchain w/ wchar, threads, dynamic library"
+	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+		BR2_PREFER_STATIC_LIB
-- 
2.0.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/3] ruby: should not use dl_iterate_phdr() on Blackfin
  2014-08-28 22:17 [Buildroot] [PATCH 0/3] Misc Ruby updates Thomas Petazzoni
  2014-08-28 22:17 ` [Buildroot] [PATCH 1/3] ruby: requires shared library Thomas Petazzoni
@ 2014-08-28 22:17 ` Thomas Petazzoni
  2014-08-29  7:16   ` Peter Korsgaard
  2014-08-28 22:17 ` [Buildroot] [PATCH 3/3] ruby: bump to version 2.1.2 Thomas Petazzoni
  2 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2014-08-28 22:17 UTC (permalink / raw)
  To: buildroot

The dl_iterate_phdr() C library function on Blackfin returns a
non-conventional structure format compared to other architectures,
which makes Ruby unable to use it. Since it's just an optional feature
of Ruby apparently used to generate more fancy backtraces, this commit
simply disables the usage of dl_iterate_phdr() on this architecture.

Fixes:

  http://autobuild.buildroot.org/results/1b0/1b0e2f5f95889eb26846927da45d128247d0ed89/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/ruby/ruby.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk
index 66556c3..b84aaf3 100644
--- a/package/ruby/ruby.mk
+++ b/package/ruby/ruby.mk
@@ -28,6 +28,10 @@ RUBY_CFLAGS += -O2
 endif
 RUBY_CONF_ENV = CFLAGS="$(RUBY_CFLAGS)"
 
+ifeq ($(BR2_bfin),y)
+RUBY_CONF_ENV = ac_cv_func_dl_iterate_phdr=no
+endif
+
 # Force optionals to build before we do
 ifeq ($(BR2_PACKAGE_BERKELEYDB),y)
 	RUBY_DEPENDENCIES += berkeleydb
-- 
2.0.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 3/3] ruby: bump to version 2.1.2
  2014-08-28 22:17 [Buildroot] [PATCH 0/3] Misc Ruby updates Thomas Petazzoni
  2014-08-28 22:17 ` [Buildroot] [PATCH 1/3] ruby: requires shared library Thomas Petazzoni
  2014-08-28 22:17 ` [Buildroot] [PATCH 2/3] ruby: should not use dl_iterate_phdr() on Blackfin Thomas Petazzoni
@ 2014-08-28 22:17 ` Thomas Petazzoni
  2014-08-29  7:15   ` Peter Korsgaard
  2 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2014-08-28 22:17 UTC (permalink / raw)
  To: buildroot

This commit bumps Ruby to version 2.1.2. It was quickly runtime tested
on ARM EBIhf.

In addition to this it changes the site to an http:// location, which
is the official one advertised on the Ruby web site.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/ruby/ruby.mk | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/package/ruby/ruby.mk b/package/ruby/ruby.mk
index b84aaf3..297e902 100644
--- a/package/ruby/ruby.mk
+++ b/package/ruby/ruby.mk
@@ -4,11 +4,10 @@
 #
 ################################################################################
 
-RUBY_VERSION_MAJOR = 1.9
-RUBY_VERSION = $(RUBY_VERSION_MAJOR).3-p545
-# 1.9.1 directory used for extensions
-RUBY_VERSION_EXT = 1.9.1
-RUBY_SITE = ftp://ftp.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR)
+RUBY_VERSION_MAJOR = 2.1
+RUBY_VERSION = $(RUBY_VERSION_MAJOR).2
+RUBY_VERSION_EXT = 2.1.0
+RUBY_SITE = http://cache.ruby-lang.org/pub/ruby/$(RUBY_VERSION_MAJOR)
 RUBY_DEPENDENCIES = host-pkgconf host-ruby
 HOST_RUBY_DEPENDENCIES = host-pkgconf
 RUBY_MAKE_ENV = $(TARGET_MAKE_ENV)
-- 
2.0.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 3/3] ruby: bump to version 2.1.2
  2014-08-28 22:17 ` [Buildroot] [PATCH 3/3] ruby: bump to version 2.1.2 Thomas Petazzoni
@ 2014-08-29  7:15   ` Peter Korsgaard
  2014-08-29  7:17     ` Thomas Petazzoni
  0 siblings, 1 reply; 9+ messages in thread
From: Peter Korsgaard @ 2014-08-29  7:15 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > This commit bumps Ruby to version 2.1.2. It was quickly runtime tested
 > on ARM EBIhf.

 > In addition to this it changes the site to an http:// location, which
 > is the official one advertised on the Ruby web site.

I don't really know much about Ruby. Is 2.1.x compatible with 1.9.x or
is it like Python2/Python3?

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/3] ruby: requires shared library
  2014-08-28 22:17 ` [Buildroot] [PATCH 1/3] ruby: requires shared library Thomas Petazzoni
@ 2014-08-29  7:16   ` Peter Korsgaard
  0 siblings, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2014-08-29  7:16 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > Not matter what you do, the Ruby build system wants to use shared
 > libraries for the encoding modules. Therefore, this commit disallows
 > the selection of Ruby in BR2_PREFER_STATIC_LIB situations.

 > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/3] ruby: should not use dl_iterate_phdr() on Blackfin
  2014-08-28 22:17 ` [Buildroot] [PATCH 2/3] ruby: should not use dl_iterate_phdr() on Blackfin Thomas Petazzoni
@ 2014-08-29  7:16   ` Peter Korsgaard
  0 siblings, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2014-08-29  7:16 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > The dl_iterate_phdr() C library function on Blackfin returns a
 > non-conventional structure format compared to other architectures,
 > which makes Ruby unable to use it. Since it's just an optional feature
 > of Ruby apparently used to generate more fancy backtraces, this commit
 > simply disables the usage of dl_iterate_phdr() on this architecture.

 > Fixes:

 >   http://autobuild.buildroot.org/results/1b0/1b0e2f5f95889eb26846927da45d128247d0ed89/

 > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 3/3] ruby: bump to version 2.1.2
  2014-08-29  7:15   ` Peter Korsgaard
@ 2014-08-29  7:17     ` Thomas Petazzoni
  2014-08-29  7:56       ` Peter Korsgaard
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2014-08-29  7:17 UTC (permalink / raw)
  To: buildroot

Dear Peter Korsgaard,

On Fri, 29 Aug 2014 09:15:01 +0200, Peter Korsgaard wrote:
> >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
> 
>  > This commit bumps Ruby to version 2.1.2. It was quickly runtime tested
>  > on ARM EBIhf.
> 
>  > In addition to this it changes the site to an http:// location, which
>  > is the official one advertised on the Ruby web site.
> 
> I don't really know much about Ruby. Is 2.1.x compatible with 1.9.x or
> is it like Python2/Python3?

I don't really know much about Ruby either. But, about Ruby 2.0,
Wikipedia says:

""
Ruby 2.0 is intended to be fully backward compatible with Ruby 1.9.3.
As of the official 2.0.0 release on February 24, 2013, there were only
five known (minor) incompatibilities.
""

And then, about Ruby 2.1, they say:

""
Ruby 2.1.0 was released on Christmas Day in 2013.[31] The release
includes speed-ups, bugfixes, and library updates. Starting with 2.1.0,
Ruby is using semantic versioning.
""

So I believe we can simply bump the ruby package to 2.1, and not bother
keeping two separate packages.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 3/3] ruby: bump to version 2.1.2
  2014-08-29  7:17     ` Thomas Petazzoni
@ 2014-08-29  7:56       ` Peter Korsgaard
  0 siblings, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2014-08-29  7:56 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

Hi,

 >> I don't really know much about Ruby. Is 2.1.x compatible with 1.9.x or
 >> is it like Python2/Python3?

 > I don't really know much about Ruby either. But, about Ruby 2.0,
 > Wikipedia says:

 > ""
 > Ruby 2.0 is intended to be fully backward compatible with Ruby 1.9.3.
 > As of the official 2.0.0 release on February 24, 2013, there were only
 > five known (minor) incompatibilities.
 > ""

 > And then, about Ruby 2.1, they say:

 > ""
 > Ruby 2.1.0 was released on Christmas Day in 2013.[31] The release
 > includes speed-ups, bugfixes, and library updates. Starting with 2.1.0,
 > Ruby is using semantic versioning.
 > ""

 > So I believe we can simply bump the ruby package to 2.1, and not bother
 > keeping two separate packages.

Ok, thanks - Committed to next.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-08-29  7:56 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-28 22:17 [Buildroot] [PATCH 0/3] Misc Ruby updates Thomas Petazzoni
2014-08-28 22:17 ` [Buildroot] [PATCH 1/3] ruby: requires shared library Thomas Petazzoni
2014-08-29  7:16   ` Peter Korsgaard
2014-08-28 22:17 ` [Buildroot] [PATCH 2/3] ruby: should not use dl_iterate_phdr() on Blackfin Thomas Petazzoni
2014-08-29  7:16   ` Peter Korsgaard
2014-08-28 22:17 ` [Buildroot] [PATCH 3/3] ruby: bump to version 2.1.2 Thomas Petazzoni
2014-08-29  7:15   ` Peter Korsgaard
2014-08-29  7:17     ` Thomas Petazzoni
2014-08-29  7:56       ` Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox