From 10fd3b41449d1af15ac9432bc1a7fe26c6f1dae1 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 4 Jun 2015 13:17:31 +0300 Subject: ruby: add a recipe from meta-ruby Ruby is required to build webkit. Use trim_version() to build the major release, and remove redundant S assignment (RB). Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton --- meta/recipes-devtools/ruby/ruby.inc | 38 ++++++++++++++++++++++++++ meta/recipes-devtools/ruby/ruby/extmk.patch | 13 +++++++++ meta/recipes-devtools/ruby/ruby_2.2.2.bb | 42 +++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 meta/recipes-devtools/ruby/ruby.inc create mode 100644 meta/recipes-devtools/ruby/ruby/extmk.patch create mode 100644 meta/recipes-devtools/ruby/ruby_2.2.2.bb (limited to 'meta/recipes-devtools/ruby') diff --git a/meta/recipes-devtools/ruby/ruby.inc b/meta/recipes-devtools/ruby/ruby.inc new file mode 100644 index 0000000000..17aa7899b2 --- /dev/null +++ b/meta/recipes-devtools/ruby/ruby.inc @@ -0,0 +1,38 @@ +SUMMARY = "An interpreter of object-oriented scripting language" +DESCRIPTION = "Ruby is an interpreted scripting language for quick \ +and easy object-oriented programming. It has many features to process \ +text files and to do system management tasks (as in Perl). \ +It is simple, straight-forward, and extensible. \ +" +HOMEPAGE = "http://www.ruby-lang.org/" +SECTION = "devel/ruby" +LICENSE = "Ruby | BSD | GPLv2" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=837b32593517ae48b9c3b5c87a5d288c \ + file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5\ + file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263\ + file://LEGAL;md5=c440adb575ba4e6e2344c2630b6a5584\ +" + +DEPENDS = "ruby-native zlib openssl tcl libyaml db gdbm readline" +DEPENDS_class-native = "libyaml-native" + +SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" +SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ + file://extmk.patch \ +" + +inherit autotools + + +# 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/recipes-devtools/ruby/ruby/extmk.patch b/meta/recipes-devtools/ruby/ruby/extmk.patch new file mode 100644 index 0000000000..8b68450341 --- /dev/null +++ b/meta/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/recipes-devtools/ruby/ruby_2.2.2.bb b/meta/recipes-devtools/ruby/ruby_2.2.2.bb new file mode 100644 index 0000000000..78c943cc6f --- /dev/null +++ b/meta/recipes-devtools/ruby/ruby_2.2.2.bb @@ -0,0 +1,42 @@ +require ruby.inc + +SRC_URI[md5sum] = "326e99ddc75381c7b50c85f7089f3260" +SRC_URI[sha256sum] = "5ffc0f317e429e6b29d4a98ac521c3ce65481bfd22a8cf845fa02a7b113d9b44" + +# it's unknown to configure script, but then passed to extconf.rb +# maybe it's not really needed as we're hardcoding the result with +# 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch +UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo" + +PACKAGECONFIG ??= "" +PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}" + +PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind" +PACKAGECONFIG[gpm] = "--with-gmp=yes, --with-gmp=no, gmp" +PACKAGECONFIG[ipv6] = ",--enable-wide-getaddrinfo," + +EXTRA_OECONF = "\ + --disable-versioned-paths \ + --disable-rpath \ + --disable-dtrace \ + --enable-shared \ + --enable-load-relative \ +" + +EXTRA_OEMAKE = " \ + LIBRUBYARG='-lruby-static' \ +" + +do_install() { + oe_runmake 'DESTDIR=${D}' install +} + +FILES_${PN} += "${datadir}/rubygems \ + ${datadir}/ri" + +FILES_${PN}-dbg += "${libdir}/ruby/*/.debug \ + ${libdir}/ruby/*/*/.debug \ + ${libdir}/ruby/*/*/*/.debug \ + ${libdir}/ruby/*/*/*/*/.debug" + +BBCLASSEXTEND = "native" -- cgit 1.2.3-korg