diff options
| -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" | ||
