mirror of
https://git.yoctoproject.org/poky
synced 2026-02-12 11:43:04 +01:00
ext module fiddle depend on libffi, in ruby source tree, there is in internal libffi in case target platfrom don't install libffi, but autotools.bbclass delete configure under libffi and not run autoreconf to regenerate one.so we met this error: ruby-2.5.3/ext/fiddle/libffi-3.2.1/configure: No such file or directory the fix is add depend and extra_oeconf to use libffi in the system (From OE-Core rev: 3a0272bab546a4b47feab117713e32873419bbe7) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
71 lines
2.2 KiB
BlitzBasic
71 lines
2.2 KiB
BlitzBasic
require ruby.inc
|
|
|
|
SRC_URI += " \
|
|
file://ruby-CVE-2017-9226.patch \
|
|
file://ruby-CVE-2017-9228.patch \
|
|
"
|
|
|
|
SRC_URI[md5sum] = "20c85b67846d49622ef3b24230803fef"
|
|
SRC_URI[sha256sum] = "9828d03852c37c20fa333a0264f2490f07338576734d910ee3fd538c9520846c"
|
|
|
|
# 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.filter('DISTRO_FEATURES', 'ipv6', d)}"
|
|
|
|
PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind"
|
|
PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp"
|
|
PACKAGECONFIG[ipv6] = ",--enable-wide-getaddrinfo,"
|
|
|
|
EXTRA_AUTORECONF += "--exclude=aclocal"
|
|
|
|
EXTRA_OECONF = "\
|
|
--disable-versioned-paths \
|
|
--disable-rpath \
|
|
--disable-dtrace \
|
|
--enable-shared \
|
|
--enable-load-relative \
|
|
--with-pkg-config=pkg-config \
|
|
"
|
|
|
|
do_install() {
|
|
oe_runmake 'DESTDIR=${D}' install
|
|
}
|
|
|
|
do_install_append_class-target () {
|
|
# Find out rbconfig.rb from .installed.list
|
|
rbconfig_rb=`grep rbconfig.rb ${B}/.installed.list`
|
|
# Remove build host directories
|
|
sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' \
|
|
-e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
|
|
-e 's|${DEBUG_PREFIX_MAP}||g' \
|
|
-e 's:${HOSTTOOLS_DIR}/::g' \
|
|
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
|
|
-e 's:${RECIPE_SYSROOT}::g' \
|
|
-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
|
|
${D}$rbconfig_rb
|
|
|
|
# Find out created.rid from .installed.list
|
|
created_rid=`grep created.rid ${B}/.installed.list`
|
|
# Remove build host directories
|
|
sed -i -e 's:${WORKDIR}::g' ${D}$created_rid
|
|
|
|
}
|
|
|
|
PACKAGES =+ "${PN}-ri-docs ${PN}-rdoc"
|
|
|
|
SUMMARY_${PN}-ri-docs = "ri (Ruby Interactive) documentation for the Ruby standard library"
|
|
RDEPENDS_${PN}-ri-docs = "${PN}"
|
|
FILES_${PN}-ri-docs += "${datadir}/ri"
|
|
|
|
SUMMARY_${PN}-rdoc = "RDoc documentation generator from Ruby source"
|
|
RDEPENDS_${PN}-rdoc = "${PN}"
|
|
FILES_${PN}-rdoc += "${libdir}/ruby/*/rdoc ${bindir}/rdoc"
|
|
|
|
FILES_${PN} += "${datadir}/rubygems"
|
|
|
|
BBCLASSEXTEND = "native"
|