Patchwork [for-danny,2/3] ruby: Add from OE-Classic

login
register
mail settings
Submitter Martin Jansa
Date Feb. 28, 2013, 12:20 p.m.
Message ID <417491b702214b90b5aeaac53e88aaff831a2f14.1362053615.git.Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/45293/
State Accepted, archived
Headers show

Comments

Martin Jansa - Feb. 28, 2013, 12:20 p.m.
From: Jackie Huang <jackie.huang@windriver.com>

* No modifications in this commit
* MJ: PR reset, PRIORITY dropped, LICENSE fix, LIC_FILES_CHKSUMs added

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta-ruby/recipes-devtools/ruby/ruby.inc           | 38 ++++++++++++++++++++++
 ...onf-hardcode-wide-getaddr-info-test-outco.patch | 31 ++++++++++++++++++
 meta-ruby/recipes-devtools/ruby/ruby/extmk.patch   | 13 ++++++++
 .../recipes-devtools/ruby/ruby/extmk_run.patch     | 15 +++++++++
 meta-ruby/recipes-devtools/ruby/ruby_1.8.7-p302.bb | 12 +++++++
 5 files changed, 109 insertions(+)
 create mode 100644 meta-ruby/recipes-devtools/ruby/ruby.inc
 create mode 100644 meta-ruby/recipes-devtools/ruby/ruby/0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch
 create mode 100644 meta-ruby/recipes-devtools/ruby/ruby/extmk.patch
 create mode 100644 meta-ruby/recipes-devtools/ruby/ruby/extmk_run.patch
 create mode 100644 meta-ruby/recipes-devtools/ruby/ruby_1.8.7-p302.bb

Patch

diff --git a/meta-ruby/recipes-devtools/ruby/ruby.inc b/meta-ruby/recipes-devtools/ruby/ruby.inc
new file mode 100644
index 0000000..a70f951
--- /dev/null
+++ b/meta-ruby/recipes-devtools/ruby/ruby.inc
@@ -0,0 +1,38 @@ 
+DESCRIPTION = "Ruby is an interpreted scripting language \
+for quick and easy object-oriented programming."
+SECTION = "devel/ruby"
+LICENSE = "GPLv2 & LGPLv2+ & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=99f88e67b65504d289a0326c59f9c148 \
+                    file://LEGAL;md5=7d502ae3b621dc406b220dadddb72e16 \
+                    file://LGPL;md5=7fbc338309ac38fefcd64b04bb903e34 \
+"
+
+DEPENDS = "ruby-native zlib openssl"
+DEPENDS_virtclass-native = ""
+
+INC_PR = "r0"
+
+SHRT_VER = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}"
+SRC_URI = "ftp://ftp.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \
+           file://extmk_run.patch \
+           file://extmk.patch \
+"
+
+S = "${WORKDIR}/ruby-${PV}"
+
+inherit autotools
+
+# fix building of socket extension
+EXTRA_OECONF = "--enable-wide-getaddrinfo"
+
+# This snippet lets compiled extensions which rely on external libraries,
+# such as zlib, compile properly.  If we don't do this, then when extmk.rb
+# runs, it uses the native libraries instead of the target libraries, and so
+# none of the linking operations succeed -- which makes extconf.rb think
+# that the libraries aren't available and hence that the extension can't be
+# built.
+
+do_configure_prepend() {
+	sed -i "s#%%TARGET_CFLAGS%%#$TARGET_CFLAGS#; s#%%TARGET_LDFLAGS%%#$TARGET_LDFLAGS#" ${S}/common.mk
+	rm -rf ${S}/ruby/
+}
diff --git a/meta-ruby/recipes-devtools/ruby/ruby/0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch b/meta-ruby/recipes-devtools/ruby/ruby/0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch
new file mode 100644
index 0000000..64f093a
--- /dev/null
+++ b/meta-ruby/recipes-devtools/ruby/ruby/0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch
@@ -0,0 +1,31 @@ 
+From 9341293e71c03fe606edc9157bf1e13e3dd5b507 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Fri, 17 Dec 2010 11:35:38 +0100
+Subject: [PATCH] socket extconf: hardcode wide-getaddr info test outcome to true
+
+Without this the socket extension doesn't build correctly
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ ext/socket/extconf.rb |    5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb
+index ece6158..5fba46c 100644
+--- a/ext/socket/extconf.rb
++++ b/ext/socket/extconf.rb
+@@ -222,6 +222,11 @@ main()
+   exit(EXIT_FAILURE);
+ }
+ EOF
++
++# Ignore the actual result of the above test and assume that
++# everything is OK.
++getaddr_info_ok = true
++
+ end
+ if ipv6 and not getaddr_info_ok
+   abort <<EOS
+-- 
+1.6.6.1
+
diff --git a/meta-ruby/recipes-devtools/ruby/ruby/extmk.patch b/meta-ruby/recipes-devtools/ruby/ruby/extmk.patch
new file mode 100644
index 0000000..8b68450
--- /dev/null
+++ b/meta-ruby/recipes-devtools/ruby/ruby/extmk.patch
@@ -0,0 +1,13 @@ 
+diff -ru ruby-1.8.7-p248.orig/ext/extmk.rb ruby-1.8.7-p248/ext/extmk.rb
+--- ruby-1.8.7-p248.orig/ext/extmk.rb	2009-12-24 03:01:58.000000000 -0600
++++ ruby-1.8.7-p248/ext/extmk.rb	2010-02-12 15:55:27.370061558 -0600
+@@ -354,8 +354,8 @@
+   $ruby = '$(topdir)/miniruby' + EXEEXT
+ end
+ $ruby << " -I'$(topdir)'"
++$ruby << " -I'$(top_srcdir)/lib'"
+ unless CROSS_COMPILING
+-  $ruby << " -I'$(top_srcdir)/lib'"
+   $ruby << " -I'$(extout)/$(arch)' -I'$(extout)/common'" if $extout
+   $ruby << " -I./- -I'$(top_srcdir)/ext' -rpurelib.rb"
+   ENV["RUBYLIB"] = "-"
diff --git a/meta-ruby/recipes-devtools/ruby/ruby/extmk_run.patch b/meta-ruby/recipes-devtools/ruby/ruby/extmk_run.patch
new file mode 100644
index 0000000..57926f5
--- /dev/null
+++ b/meta-ruby/recipes-devtools/ruby/ruby/extmk_run.patch
@@ -0,0 +1,15 @@ 
+============================================================
+--- packages/ruby/ruby-1.8.5/extmk_run.patch	d9738b5a71e2f9a98d009af9fd0ef1ceaff9ef48
++++ packages/ruby/ruby-1.8.5/extmk_run.patch	d9738b5a71e2f9a98d009af9fd0ef1ceaff9ef48
+@@ -0,0 +1,11 @@
++--- ruby-1.8.5/common.mk.orig	2006-12-30 13:07:32.000000000 +1100
+++++ ruby-1.8.5/common.mk	2006-12-30 13:08:32.000000000 +1100
++@@ -56,7 +56,7 @@
++ 		--make="$(MAKE)" \
++ 		--mflags="$(MFLAGS)" \
++ 		--make-flags="$(MAKEFLAGS)"
++-EXTMK_ARGS    =	$(SCRIPT_ARGS) --extout="$(EXTOUT)" --extension $(EXTS) --extstatic $(EXTSTATIC) --
+++EXTMK_ARGS    =	$(SCRIPT_ARGS) --with-ldflags="%%TARGET_LDFLAGS%%" --with-cflags="%%TARGET_CFLAGS%%" --extout="$(EXTOUT)" --extension $(EXTS) --extstatic $(EXTSTATIC) --
++ 
++ all: $(MKFILES) $(PREP) $(RBCONFIG) $(LIBRUBY)
++ 	@$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS)
diff --git a/meta-ruby/recipes-devtools/ruby/ruby_1.8.7-p302.bb b/meta-ruby/recipes-devtools/ruby/ruby_1.8.7-p302.bb
new file mode 100644
index 0000000..299187c
--- /dev/null
+++ b/meta-ruby/recipes-devtools/ruby/ruby_1.8.7-p302.bb
@@ -0,0 +1,12 @@ 
+require ruby.inc
+PR = "${INC_PR}.0"
+
+SRC_URI += "file://0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch"
+
+SRC_URI[md5sum] = "f446550dfde0d8162a6ed8d5a38b3ac2"
+SRC_URI[sha256sum] = "5883df5204de70762602ce885b18c8bf6c856d33298c35df9151031b2ce044a1"
+
+FILES_${PN}-dbg += "${libdir}/ruby/1.8/*/.debug \
+                    ${libdir}/ruby/1.8/*/*/.debug"
+BBCLASSEXTEND = "native"
+