summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/ruby
diff options
context:
space:
mode:
authorAlexander Kanavin <alexander.kanavin@linux.intel.com>2015-06-04 13:17:31 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-12 22:48:26 +0100
commit206049f609f4d4dc5b6e3d0f3c17b939fe8694fc (patch)
treecf20ebe1e9fa59ba6ee78a1fae6e69b61e6400bb /meta/recipes-devtools/ruby
parent5198ec99e2a5777806f22f3c864ae4fde5112344 (diff)
downloadpoky-206049f609f4d4dc5b6e3d0f3c17b939fe8694fc.tar.gz
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). (From OE-Core rev: 10fd3b41449d1af15ac9432bc1a7fe26c6f1dae1) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/ruby')
-rw-r--r--meta/recipes-devtools/ruby/ruby.inc38
-rw-r--r--meta/recipes-devtools/ruby/ruby/extmk.patch13
-rw-r--r--meta/recipes-devtools/ruby/ruby_2.2.2.bb42
3 files changed, 93 insertions, 0 deletions
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 @@
1SUMMARY = "An interpreter of object-oriented scripting language"
2DESCRIPTION = "Ruby is an interpreted scripting language for quick \
3and easy object-oriented programming. It has many features to process \
4text files and to do system management tasks (as in Perl). \
5It is simple, straight-forward, and extensible. \
6"
7HOMEPAGE = "http://www.ruby-lang.org/"
8SECTION = "devel/ruby"
9LICENSE = "Ruby | BSD | GPLv2"
10LIC_FILES_CHKSUM = "\
11 file://COPYING;md5=837b32593517ae48b9c3b5c87a5d288c \
12 file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5\
13 file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263\
14 file://LEGAL;md5=c440adb575ba4e6e2344c2630b6a5584\
15"
16
17DEPENDS = "ruby-native zlib openssl tcl libyaml db gdbm readline"
18DEPENDS_class-native = "libyaml-native"
19
20SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
21SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \
22 file://extmk.patch \
23"
24
25inherit autotools
26
27
28# This snippet lets compiled extensions which rely on external libraries,
29# such as zlib, compile properly. If we don't do this, then when extmk.rb
30# runs, it uses the native libraries instead of the target libraries, and so
31# none of the linking operations succeed -- which makes extconf.rb think
32# that the libraries aren't available and hence that the extension can't be
33# built.
34
35do_configure_prepend() {
36 sed -i "s#%%TARGET_CFLAGS%%#$TARGET_CFLAGS#; s#%%TARGET_LDFLAGS%%#$TARGET_LDFLAGS#" ${S}/common.mk
37 rm -rf ${S}/ruby/
38}
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 @@
1diff -ru ruby-1.8.7-p248.orig/ext/extmk.rb ruby-1.8.7-p248/ext/extmk.rb
2--- ruby-1.8.7-p248.orig/ext/extmk.rb 2009-12-24 03:01:58.000000000 -0600
3+++ ruby-1.8.7-p248/ext/extmk.rb 2010-02-12 15:55:27.370061558 -0600
4@@ -354,8 +354,8 @@
5 $ruby = '$(topdir)/miniruby' + EXEEXT
6 end
7 $ruby << " -I'$(topdir)'"
8+$ruby << " -I'$(top_srcdir)/lib'"
9 unless CROSS_COMPILING
10- $ruby << " -I'$(top_srcdir)/lib'"
11 $ruby << " -I'$(extout)/$(arch)' -I'$(extout)/common'" if $extout
12 $ruby << " -I./- -I'$(top_srcdir)/ext' -rpurelib.rb"
13 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 @@
1require ruby.inc
2
3SRC_URI[md5sum] = "326e99ddc75381c7b50c85f7089f3260"
4SRC_URI[sha256sum] = "5ffc0f317e429e6b29d4a98ac521c3ce65481bfd22a8cf845fa02a7b113d9b44"
5
6# it's unknown to configure script, but then passed to extconf.rb
7# maybe it's not really needed as we're hardcoding the result with
8# 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch
9UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo"
10
11PACKAGECONFIG ??= ""
12PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
13
14PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind"
15PACKAGECONFIG[gpm] = "--with-gmp=yes, --with-gmp=no, gmp"
16PACKAGECONFIG[ipv6] = ",--enable-wide-getaddrinfo,"
17
18EXTRA_OECONF = "\
19 --disable-versioned-paths \
20 --disable-rpath \
21 --disable-dtrace \
22 --enable-shared \
23 --enable-load-relative \
24"
25
26EXTRA_OEMAKE = " \
27 LIBRUBYARG='-lruby-static' \
28"
29
30do_install() {
31 oe_runmake 'DESTDIR=${D}' install
32}
33
34FILES_${PN} += "${datadir}/rubygems \
35 ${datadir}/ri"
36
37FILES_${PN}-dbg += "${libdir}/ruby/*/.debug \
38 ${libdir}/ruby/*/*/.debug \
39 ${libdir}/ruby/*/*/*/.debug \
40 ${libdir}/ruby/*/*/*/*/.debug"
41
42BBCLASSEXTEND = "native"