diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2017-02-21 17:44:27 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-01 23:27:06 +0000 |
commit | 57537657d00f327ae6b45aec17728d08cabe87c9 (patch) | |
tree | 8aa531beac131b8ef36aa55302767498af92482e /meta/recipes-devtools/guile/guile_2.0.14.bb | |
parent | 1242c7eae70f8d745e50b7414d32c0e0f599d6a8 (diff) | |
download | poky-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.bb | 122 |
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 @@ | |||
1 | SUMMARY = "Guile is the GNU Ubiquitous Intelligent Language for Extensions" | ||
2 | DESCRIPTION = "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 | |||
11 | HOMEPAGE = "http://www.gnu.org/software/guile/" | ||
12 | SECTION = "devel" | ||
13 | LICENSE = "GPLv3" | ||
14 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
15 | |||
16 | SRC_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 | |||
27 | SRC_URI[md5sum] = "c64977c775effd19393364b3018fd8cd" | ||
28 | SRC_URI[sha256sum] = "e8442566256e1be14e51fc18839cd799b966bc5b16c6a1d7a7c35155a8619d82" | ||
29 | |||
30 | inherit autotools gettext pkgconfig texinfo | ||
31 | BBCLASSEXTEND = "native" | ||
32 | |||
33 | DEPENDS = "libunistring bdwgc gmp libtool libffi ncurses readline" | ||
34 | # add guile-native only to the target recipe's DEPENDS | ||
35 | DEPENDS_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. | ||
39 | RDEPENDS_${PN} = "pkgconfig" | ||
40 | |||
41 | RDEPENDS_${PN}_append_libc-glibc_class-target = " glibc-gconv-iso8859-1" | ||
42 | |||
43 | EXTRA_OECONF += "${@['--without-libltdl-prefix --without-libgmp-prefix --without-libreadline-prefix', ''][bb.data.inherits_class('native',d)]}" | ||
44 | |||
45 | EXTRA_OECONF_append_class-target = " --with-libunistring-prefix=${STAGING_LIBDIR} \ | ||
46 | --with-libgmp-prefix=${STAGING_LIBDIR} \ | ||
47 | --with-libltdl-prefix=${STAGING_LIBDIR}" | ||
48 | EXTRA_OECONF_append_libc-uclibc = " guile_cv_use_csqrt=no " | ||
49 | |||
50 | CFLAGS_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 | |||
56 | do_configure_prepend() { | ||
57 | mkdir -p po | ||
58 | } | ||
59 | |||
60 | export GUILE_FOR_BUILD="${BUILD_SYS}-guile" | ||
61 | |||
62 | do_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 | |||
73 | do_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 | |||
81 | do_install_append_libc-musl() { | ||
82 | rm -f ${D}${libdir}/charset.alias | ||
83 | } | ||
84 | |||
85 | SYSROOT_PREPROCESS_FUNCS = "guile_cross_config" | ||
86 | |||
87 | guile_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. | ||
110 | SSTATEPOSTINSTFUNCS += "guile_sstate_postinst" | ||
111 | GUILESSTATEDIR = "${STAGING_DIR}-components/${TUNE_PKGARCH}/${PN}/${libdir}/guile/2.0/ccache" | ||
112 | GUILESSTATEDIR_class-native = "${STAGING_DIR}-components/${BUILD_ARCH}/${PN}/${libdir_native}/guile/2.0/ccache" | ||
113 | guile_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/ | ||
121 | ARM_INSTRUCTION_SET_armv4 = "arm" | ||
122 | ARM_INSTRUCTION_SET_armv5 = "arm" | ||