aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/guile/guile_2.0.3.bb
diff options
context:
space:
mode:
authorNitin A Kamble <nitin.a.kamble@intel.com>2012-01-13 18:19:36 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-01-19 11:29:07 +0000
commit7726884826332387180cd24ebe565cd13a193e13 (patch)
tree307f0c40cf36ce8a584a640ff326ff0348cad76f /meta/recipes-devtools/guile/guile_2.0.3.bb
parentb9006a6fe807f6717fd6ee7237b23987184d2316 (diff)
downloadopenembedded-core-7726884826332387180cd24ebe565cd13a193e13.tar.gz
guile: new recipe for autogen
guile recipe is needed by autogen. Imported & updated the guile-cross-config generation & guile-2.0.pc manipulation code from the meta-oe guile recipe. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Diffstat (limited to 'meta/recipes-devtools/guile/guile_2.0.3.bb')
-rw-r--r--meta/recipes-devtools/guile/guile_2.0.3.bb79
1 files changed, 79 insertions, 0 deletions
diff --git a/meta/recipes-devtools/guile/guile_2.0.3.bb b/meta/recipes-devtools/guile/guile_2.0.3.bb
new file mode 100644
index 0000000000..60fbe32c6f
--- /dev/null
+++ b/meta/recipes-devtools/guile/guile_2.0.3.bb
@@ -0,0 +1,79 @@
+SUMMARY = "Guile is the GNU Ubiquitous Intelligent Language for Extensions."
+DESCRIPTION = "Guile is the GNU Ubiquitous Intelligent Language for Extensions,\
+ the official extension language for the GNU operating system.\
+ Guile is a library designed to help programmers create flexible applications.\
+ Using Guile in an application allows the application's functionality to be\
+ extended by users or other programmers with plug-ins, modules, or scripts.\
+ Guile provides what might be described as "practical software freedom,"\
+ making it possible for users to customize an application to meet their\
+ needs without digging into the application's internals."
+
+HOMEPAGE = "http://www.gnu.org/software/guile/"
+SECTION = "devel"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.gz \
+ file://debian/0001-Fix-the-SRFI-60-copy-bit-documentation.patch \
+ file://debian/0002-Define-_GNU_SOURCE-to-fix-the-GNU-kFreeBSD-build.patch \
+ file://debian/0003-Include-gc.h-rather-than-gc-gc_version.h-in-pthread-.patch \
+ file://opensuse/guile-64bit.patch \
+ file://opensuse/guile-turn-off-gc-test.patch \
+ "
+
+SRC_URI[md5sum] = "3b8b4e1083037f29d2c4704a6d55f2a8"
+SRC_URI[sha256sum] = "a53b21159befe3e89bbaca71e9e62cf00af0f49fcca297c407944b988d59eb08"
+
+PR = "r1"
+
+inherit autotools gettext
+BBCLASSEXTEND = "native"
+
+DEPENDS = "libunistring bdwgc gmp libtool libffi"
+# add guile-native only to the target recipe's DEPENDS
+DEPENDS += "${@['guile-native', ''][d.getVar('PN', 1) != 'guile']}"
+
+do_configure_prepend() {
+ mkdir -p po
+}
+
+export GUILE_FOR_BUILD=${BUILD_SYS}-guile
+
+do_compile_append() {
+ # just for target recipe
+ if [ "${PN}" == "guile" ]
+ then
+ sed -i -e s:${STAGING_DIR_TARGET}::g \
+ -e s:/${TARGET_SYS}::g \
+ -e s:-L/usr/lib::g \
+ -e s:-isystem/usr/include::g \
+ -e s:,/usr/lib:,\$\{libdir\}:g \
+ meta/guile-2.0.pc
+ fi
+}
+
+do_install_append_virtclass-native() {
+ install -m 0755 ${D}${bindir}/guile ${D}${bindir}/${HOST_SYS}-guile
+}
+
+SYSROOT_PREPROCESS_FUNCS = "guile_cross_config"
+
+guile_cross_config() {
+ # this is only for target recipe
+ if [ "${PN}" == "guile" ]
+ then
+ # Create guile-config returning target values instead of native values
+ install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}
+ echo '#!'`which ${BUILD_SYS}-guile`$' \\\n--no-auto-compile -e main -s\n!#\n(define %guile-build-info '\'\( \
+ > guile-config.cross
+ sed -n -e 's:^[ \t]*{[ \t]*": (:' \
+ -e 's:",[ \t]*": . ":' \
+ -e 's:" *}, *\\:"):' \
+ -e 's:^.*cachedir.*$::' \
+ -e '/^ (/p' \
+ < libguile/libpath.h >> guile-config.cross
+ echo '))' >> guile-config.cross
+ cat meta/guile-config >> guile-config.cross
+ install guile-config.cross ${STAGING_BINDIR_CROSS}/guile-config
+ fi
+}