[OE-core] [PATCH 08/22] ruby: add a recipe from meta-ruby
Ruby is required to build webkit. Signed-off-by: Alexander Kanavin alexander.kana...@linux.intel.com --- meta/recipes-devtools/ruby/ruby.inc | 40 +++ meta/recipes-devtools/ruby/ruby/extmk.patch | 13 + meta/recipes-devtools/ruby/ruby_2.2.2.bb| 42 + 3 files changed, 95 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 diff --git a/meta/recipes-devtools/ruby/ruby.inc b/meta/recipes-devtools/ruby/ruby.inc new file mode 100644 index 000..ba60191 --- /dev/null +++ b/meta/recipes-devtools/ruby/ruby.inc @@ -0,0 +1,40 @@ +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 = ${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]} +SRC_URI = http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ + file://extmk.patch \ + + +S = ${WORKDIR}/ruby-${PV} + +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 000..8b68450 --- /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.0 -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 000..78c943c --- /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 -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 08/22] ruby: add a recipe from meta-ruby
Ruby is required to build webkit. Signed-off-by: Alexander Kanavin alexander.kana...@linux.intel.com --- meta/recipes-devtools/ruby/ruby.inc | 40 +++ meta/recipes-devtools/ruby/ruby/extmk.patch | 13 + meta/recipes-devtools/ruby/ruby_2.2.2.bb| 42 + 3 files changed, 95 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 diff --git a/meta/recipes-devtools/ruby/ruby.inc b/meta/recipes-devtools/ruby/ruby.inc new file mode 100644 index 000..ba60191 --- /dev/null +++ b/meta/recipes-devtools/ruby/ruby.inc @@ -0,0 +1,40 @@ +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 = ${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]} +SRC_URI = http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \ + file://extmk.patch \ + + +S = ${WORKDIR}/ruby-${PV} + +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 000..8b68450 --- /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.0 -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 000..78c943c --- /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 -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core