summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/guile/guile_2.0.6.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/guile/guile_2.0.6.bb')
-rw-r--r--meta/recipes-devtools/guile/guile_2.0.6.bb90
1 files changed, 90 insertions, 0 deletions
diff --git a/meta/recipes-devtools/guile/guile_2.0.6.bb b/meta/recipes-devtools/guile/guile_2.0.6.bb
new file mode 100644
index 0000000000..a9df4f768f
--- /dev/null
+++ b/meta/recipes-devtools/guile/guile_2.0.6.bb
@@ -0,0 +1,90 @@
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.gz \
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://change-install-data-hook-to-install-exec-hook-in-gui.patch \
23 "
24
25# file://debian/0001-Change-guile-to-guile-X.Y-for-info-pages.patch
26# file://opensuse/guile-turn-off-gc-test.patch
27
28SRC_URI[md5sum] = "3438cd4415c0c43ca93a20e845eba7e2"
29SRC_URI[sha256sum] = "3ece055145a5020dd36b84f5fbccd4b3846a671960dd5ee55931555f03200950"
30
31inherit autotools gettext
32BBCLASSEXTEND = "native"
33
34DEPENDS = "libunistring bdwgc gmp libtool libffi"
35# add guile-native only to the target recipe's DEPENDS
36DEPENDS += "${@['guile-native libatomics-ops', ''][d.getVar('PN', True) != 'guile']}"
37
38EXTRA_OECONF += "${@['--without-libltdl-prefix --without-libgmp-prefix', ''][bb.data.inherits_class('native',d)]}"
39
40do_configure_prepend() {
41 mkdir -p po
42}
43
44export GUILE_FOR_BUILD="${BUILD_SYS}-guile"
45
46do_compile_append() {
47 # just for target recipe
48 if [ "${PN}" == "guile" ]
49 then
50 sed -i -e s:${STAGING_DIR_TARGET}::g \
51 -e s:/${TARGET_SYS}::g \
52 -e s:-L/usr/lib::g \
53 -e s:-isystem/usr/include::g \
54 -e s:,/usr/lib:,\$\{libdir\}:g \
55 meta/guile-2.0.pc
56 fi
57}
58
59do_install_append_virtclass-native() {
60 install -m 0755 ${D}${bindir}/guile ${D}${bindir}/${HOST_SYS}-guile
61
62 create_wrapper ${D}/${bindir}/guile \
63 GUILE_LOAD_PATH=${STAGING_DATADIR_NATIVE}/guile/2.0 \
64 GUILE_LOAD_COMPILED_PATH=${STAGING_LIBDIR_NATIVE}/guile/2.0/ccache
65 create_wrapper ${D}${bindir}/${HOST_SYS}-guile \
66 GUILE_LOAD_PATH=${STAGING_DATADIR_NATIVE}/guile/2.0 \
67 GUILE_LOAD_COMPILED_PATH=${STAGING_LIBDIR_NATIVE}/guile/2.0/ccache
68}
69
70SYSROOT_PREPROCESS_FUNCS = "guile_cross_config"
71
72guile_cross_config() {
73 # this is only for target recipe
74 if [ "${PN}" == "guile" ]
75 then
76 # Create guile-config returning target values instead of native values
77 install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}
78 echo '#!'`which ${BUILD_SYS}-guile`$' \\\n--no-auto-compile -e main -s\n!#\n(define %guile-build-info '\'\( \
79 > guile-config.cross
80 sed -n -e 's:^[ \t]*{[ \t]*": (:' \
81 -e 's:",[ \t]*": . ":' \
82 -e 's:" *}, *\\:"):' \
83 -e 's:^.*cachedir.*$::' \
84 -e '/^ (/p' \
85 < libguile/libpath.h >> guile-config.cross
86 echo '))' >> guile-config.cross
87 cat meta/guile-config >> guile-config.cross
88 install guile-config.cross ${STAGING_BINDIR_CROSS}/guile-config
89 fi
90}