From patchwork Tue Oct 16 08:34:41 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [meta-oe,1/2] ruby: Add from OE-Classic Date: Tue, 16 Oct 2012 08:34:41 -0000 From: jackie huang X-Patchwork-Id: 38173 Message-Id: <1350376482-10287-1-git-send-email-jackie.huang@windriver.com> To: From: Jackie Huang No modifications in this commit Signed-off-by: Jackie Huang --- meta-oe/recipes-devtools/ruby/ruby.inc | 34 ++++++++++++++++++++ ...onf-hardcode-wide-getaddr-info-test-outco.patch | 31 ++++++++++++++++++ meta-oe/recipes-devtools/ruby/ruby/extmk.patch | 13 +++++++ meta-oe/recipes-devtools/ruby/ruby/extmk_run.patch | 15 +++++++++ meta-oe/recipes-devtools/ruby/ruby_1.8.7-p302.bb | 12 +++++++ 5 files changed, 105 insertions(+), 0 deletions(-) create mode 100644 meta-oe/recipes-devtools/ruby/ruby.inc create mode 100644 meta-oe/recipes-devtools/ruby/ruby/0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch create mode 100644 meta-oe/recipes-devtools/ruby/ruby/extmk.patch create mode 100644 meta-oe/recipes-devtools/ruby/ruby/extmk_run.patch create mode 100644 meta-oe/recipes-devtools/ruby/ruby_1.8.7-p302.bb diff --git a/meta-oe/recipes-devtools/ruby/ruby.inc b/meta-oe/recipes-devtools/ruby/ruby.inc new file mode 100644 index 0000000..cbae809 --- /dev/null +++ b/meta-oe/recipes-devtools/ruby/ruby.inc @@ -0,0 +1,34 @@ +DESCRIPTION = "Ruby is an interpreted scripting language \ +for quick and easy object-oriented programming." +SECTION = "devel/ruby" +PRIORITY = "optional" +LICENSE = "GPL" +DEPENDS = "ruby-native zlib openssl" +DEPENDS_virtclass-native = "" + +INC_PR = "r2" + +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-oe/recipes-devtools/ruby/ruby/0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch b/meta-oe/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-oe/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 +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 +--- + 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 <