summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/guile/guile_2.0.14.bb
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2017-02-21 17:44:27 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-01 23:27:06 +0000
commit57537657d00f327ae6b45aec17728d08cabe87c9 (patch)
tree8aa531beac131b8ef36aa55302767498af92482e /meta/recipes-devtools/guile/guile_2.0.14.bb
parent1242c7eae70f8d745e50b7414d32c0e0f599d6a8 (diff)
downloadpoky-57537657d00f327ae6b45aec17728d08cabe87c9.tar.gz
guile: 2.0.13 -> 2.0.14
(From OE-Core rev: 335265b60c9c908bed323ffd8d280857001620a3) Signed-off-by: Robert Yang <liezhi.yang@windriver.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/guile/guile_2.0.14.bb')
-rw-r--r--meta/recipes-devtools/guile/guile_2.0.14.bb122
1 files changed, 122 insertions, 0 deletions
diff --git a/meta/recipes-devtools/guile/guile_2.0.14.bb b/meta/recipes-devtools/guile/guile_2.0.14.bb
new file mode 100644
index 0000000000..e0350e4aa4
--- /dev/null
+++ b/meta/recipes-devtools/guile/guile_2.0.14.bb
@@ -0,0 +1,122 @@
1SUMMARY = "Guile is the GNU Ubiquitous Intelligent Language for Extensions"
2DESCRIPTION = "Guile is the GNU Ubiquitous Intelligent Language for Extensions,\
3 the official extension language for the GNU operating system.\
4 Guile is a library designed to help programmers create flexible applications.\
5 Using Guile in an application allows the application's functionality to be\
6 extended by users or other programmers with plug-ins, modules, or scripts.\
7 Guile provides what might be described as 'practical software freedom,'\
8 making it possible for users to customize an application to meet their\
9 needs without digging into the application's internals."
10
11HOMEPAGE = "http://www.gnu.org/software/guile/"
12SECTION = "devel"
13LICENSE = "GPLv3"
14LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
15
16SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.xz \
17 file://debian/0002-Mark-Unused-modules-are-removed-gc-test-as-unresolve.patch \
18 file://debian/0003-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch \
19 file://opensuse/guile-64bit.patch \
20 file://guile_2.0.6_fix_sed_error.patch \
21 file://arm_endianness.patch \
22 file://arm_aarch64.patch \
23 file://workaround-ice-ssa-corruption.patch \
24 file://libguile-Makefile.am-hook.patch \
25 "
26
27SRC_URI[md5sum] = "c64977c775effd19393364b3018fd8cd"
28SRC_URI[sha256sum] = "e8442566256e1be14e51fc18839cd799b966bc5b16c6a1d7a7c35155a8619d82"
29
30inherit autotools gettext pkgconfig texinfo
31BBCLASSEXTEND = "native"
32
33DEPENDS = "libunistring bdwgc gmp libtool libffi ncurses readline"
34# add guile-native only to the target recipe's DEPENDS
35DEPENDS_append_class-target = " guile-native libatomic-ops"
36
37# The comment of the script guile-config said it has been deprecated but we should
38# at least add the required dependency to make it work since we still provide the script.
39RDEPENDS_${PN} = "pkgconfig"
40
41RDEPENDS_${PN}_append_libc-glibc_class-target = " glibc-gconv-iso8859-1"
42
43EXTRA_OECONF += "${@['--without-libltdl-prefix --without-libgmp-prefix --without-libreadline-prefix', ''][bb.data.inherits_class('native',d)]}"
44
45EXTRA_OECONF_append_class-target = " --with-libunistring-prefix=${STAGING_LIBDIR} \
46 --with-libgmp-prefix=${STAGING_LIBDIR} \
47 --with-libltdl-prefix=${STAGING_LIBDIR}"
48EXTRA_OECONF_append_libc-uclibc = " guile_cv_use_csqrt=no "
49
50CFLAGS_append_libc-musl = " -DHAVE_GC_SET_FINALIZER_NOTIFIER \
51 -DHAVE_GC_GET_HEAP_USAGE_SAFE \
52 -DHAVE_GC_GET_FREE_SPACE_DIVISOR \
53 -DHAVE_GC_SET_FINALIZE_ON_DEMAND \
54 "
55
56do_configure_prepend() {
57 mkdir -p po
58}
59
60export GUILE_FOR_BUILD="${BUILD_SYS}-guile"
61
62do_install_append_class-native() {
63 install -m 0755 ${D}${bindir}/guile ${D}${bindir}/${HOST_SYS}-guile
64
65 create_wrapper ${D}/${bindir}/guile \
66 GUILE_LOAD_PATH=${STAGING_DATADIR_NATIVE}/guile/2.0 \
67 GUILE_LOAD_COMPILED_PATH=${STAGING_LIBDIR_NATIVE}/guile/2.0/ccache
68 create_wrapper ${D}${bindir}/${HOST_SYS}-guile \
69 GUILE_LOAD_PATH=${STAGING_DATADIR_NATIVE}/guile/2.0 \
70 GUILE_LOAD_COMPILED_PATH=${STAGING_LIBDIR_NATIVE}/guile/2.0/ccache
71}
72
73do_install_append_class-target() {
74 # cleanup buildpaths in scripts
75 sed -i -e 's:${STAGING_DIR_NATIVE}::' ${D}${bindir}/guile-config
76 sed -i -e 's:${STAGING_DIR_HOST}::' ${D}${bindir}/guile-snarf
77
78 sed -i -e 's:${STAGING_DIR_TARGET}::g' ${D}${libdir}/pkgconfig/guile-2.0.pc
79}
80
81do_install_append_libc-musl() {
82 rm -f ${D}${libdir}/charset.alias
83}
84
85SYSROOT_PREPROCESS_FUNCS = "guile_cross_config"
86
87guile_cross_config() {
88 # this is only for target recipe
89 if [ "${PN}" = "guile" ]
90 then
91 # Create guile-config returning target values instead of native values
92 install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}
93 echo '#!'`which ${BUILD_SYS}-guile`$' \\\n--no-auto-compile -e main -s\n!#\n(define %guile-build-info '\'\( \
94 > ${B}/guile-config.cross
95 sed -n -e 's:^[ \t]*{[ \t]*": (:' \
96 -e 's:",[ \t]*": . ":' \
97 -e 's:" *}, *\\:"):' \
98 -e 's:^.*cachedir.*$::' \
99 -e '/^ (/p' \
100 < ${B}/libguile/libpath.h >> ${B}/guile-config.cross
101 echo '))' >> ${B}/guile-config.cross
102 cat ${B}/meta/guile-config >> ${B}/guile-config.cross
103 install ${B}/guile-config.cross ${STAGING_BINDIR_CROSS}/guile-config
104 fi
105}
106
107# Guile needs the compiled files to be newer than the source, and it won't
108# auto-compile into the prefix even if it can write there, so touch them here as
109# sysroot is managed.
110SSTATEPOSTINSTFUNCS += "guile_sstate_postinst"
111GUILESSTATEDIR = "${STAGING_DIR}-components/${TUNE_PKGARCH}/${PN}/${libdir}/guile/2.0/ccache"
112GUILESSTATEDIR_class-native = "${STAGING_DIR}-components/${BUILD_ARCH}/${PN}/${libdir_native}/guile/2.0/ccache"
113guile_sstate_postinst() {
114 if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]
115 then
116 find ${GUILESSTATEDIR} -type f | xargs touch
117 fi
118}
119
120# http://errors.yoctoproject.org/Errors/Details/20491/
121ARM_INSTRUCTION_SET_armv4 = "arm"
122ARM_INSTRUCTION_SET_armv5 = "arm"