diff options
author | Alexander Kanavin <alexander.kanavin@linux.intel.com> | 2015-06-04 13:17:31 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-12 22:48:26 +0100 |
commit | 206049f609f4d4dc5b6e3d0f3c17b939fe8694fc (patch) | |
tree | cf20ebe1e9fa59ba6ee78a1fae6e69b61e6400bb /meta/recipes-devtools | |
parent | 5198ec99e2a5777806f22f3c864ae4fde5112344 (diff) | |
download | poky-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')
-rw-r--r-- | meta/recipes-devtools/ruby/ruby.inc | 38 | ||||
-rw-r--r-- | meta/recipes-devtools/ruby/ruby/extmk.patch | 13 | ||||
-rw-r--r-- | meta/recipes-devtools/ruby/ruby_2.2.2.bb | 42 |
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 @@ | |||
1 | SUMMARY = "An interpreter of object-oriented scripting language" | ||
2 | DESCRIPTION = "Ruby is an interpreted scripting language for quick \ | ||
3 | and easy object-oriented programming. It has many features to process \ | ||
4 | text files and to do system management tasks (as in Perl). \ | ||
5 | It is simple, straight-forward, and extensible. \ | ||
6 | " | ||
7 | HOMEPAGE = "http://www.ruby-lang.org/" | ||
8 | SECTION = "devel/ruby" | ||
9 | LICENSE = "Ruby | BSD | GPLv2" | ||
10 | LIC_FILES_CHKSUM = "\ | ||
11 | file://COPYING;md5=837b32593517ae48b9c3b5c87a5d288c \ | ||
12 | file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5\ | ||
13 | file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263\ | ||
14 | file://LEGAL;md5=c440adb575ba4e6e2344c2630b6a5584\ | ||
15 | " | ||
16 | |||
17 | DEPENDS = "ruby-native zlib openssl tcl libyaml db gdbm readline" | ||
18 | DEPENDS_class-native = "libyaml-native" | ||
19 | |||
20 | SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" | ||
21 | SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ | ||
22 | file://extmk.patch \ | ||
23 | " | ||
24 | |||
25 | inherit 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 | |||
35 | do_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 @@ | |||
1 | diff -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 @@ | |||
1 | require ruby.inc | ||
2 | |||
3 | SRC_URI[md5sum] = "326e99ddc75381c7b50c85f7089f3260" | ||
4 | SRC_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 | ||
9 | UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo" | ||
10 | |||
11 | PACKAGECONFIG ??= "" | ||
12 | PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}" | ||
13 | |||
14 | PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind" | ||
15 | PACKAGECONFIG[gpm] = "--with-gmp=yes, --with-gmp=no, gmp" | ||
16 | PACKAGECONFIG[ipv6] = ",--enable-wide-getaddrinfo," | ||
17 | |||
18 | EXTRA_OECONF = "\ | ||
19 | --disable-versioned-paths \ | ||
20 | --disable-rpath \ | ||
21 | --disable-dtrace \ | ||
22 | --enable-shared \ | ||
23 | --enable-load-relative \ | ||
24 | " | ||
25 | |||
26 | EXTRA_OEMAKE = " \ | ||
27 | LIBRUBYARG='-lruby-static' \ | ||
28 | " | ||
29 | |||
30 | do_install() { | ||
31 | oe_runmake 'DESTDIR=${D}' install | ||
32 | } | ||
33 | |||
34 | FILES_${PN} += "${datadir}/rubygems \ | ||
35 | ${datadir}/ri" | ||
36 | |||
37 | FILES_${PN}-dbg += "${libdir}/ruby/*/.debug \ | ||
38 | ${libdir}/ruby/*/*/.debug \ | ||
39 | ${libdir}/ruby/*/*/*/.debug \ | ||
40 | ${libdir}/ruby/*/*/*/*/.debug" | ||
41 | |||
42 | BBCLASSEXTEND = "native" | ||