[oe-commits] Otavio Salvador : chicken: revamp recipes

git version control git at git.openembedded.org
Thu Oct 29 22:45:58 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 7afc325ab1fac79e1eaba65383bfed12d705d7bc
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=7afc325ab1fac79e1eaba65383bfed12d705d7bc

Author: Otavio Salvador <otavio at ossystems.com.br>
Date:   Wed Oct  7 19:29:36 2009 -0300

chicken: revamp recipes

To allow easy usage of chicken, in embedded environments, we have done
some refactoring in the packages:

 - split it up to chicken, libchicken and libuchickenl
 - drop 2.6 version since no distro depends on that and is not
   commonly used anymore;
 - generalize .inc file to be usable for 3.x and 4.x versions;
 - add new 4.2.0 release,
 - use INC_PR.

Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>

---

 conf/checksums.ini               |    4 ++
 recipes/chicken/chicken.inc      |   71 ++++++++++++++++++++++++++++++++++++++
 recipes/chicken/chicken2.inc     |   19 ----------
 recipes/chicken/chicken3.inc     |   36 -------------------
 recipes/chicken/chicken_2.6.bb   |    1 -
 recipes/chicken/chicken_3.3.0.bb |    4 ++-
 recipes/chicken/chicken_4.2.0.bb |    3 ++
 7 files changed, 81 insertions(+), 57 deletions(-)

diff --git a/conf/checksums.ini b/conf/checksums.ini
index 06746d7..bab2fcb 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -3898,6 +3898,10 @@ sha256=32385c5393c7376035f911f3e887351b1ce8fb6e56498cc4258815bc6db06326
 md5=835401781fb606741ba3606fa3e89b78
 sha256=5ce2519bac9956de5700a5777b2bbc2cd89202ef2d2252a40a0d1e8c9854bec6
 
+[http://chicken.wiki.br/releases/4.2.0/chicken-4.2.0.tar.gz]
+md5=4705b7634447a571ff083f435c110fe3
+sha256=8dc3887b9907685c99aac6924980445506cccbe3ada29407aad80a0e34d3bb79
+
 [http://www.chillispot.org/download/chillispot-0.98.tar.gz]
 md5=4bcf48ec7a94f28faee8b7dc7a0dd97a
 sha256=bace8a6a0b27d09983a2c509d6e6bf8ab786935e269036f14dc158505feba602
diff --git a/recipes/chicken/chicken.inc b/recipes/chicken/chicken.inc
new file mode 100644
index 0000000..ff8da65
--- /dev/null
+++ b/recipes/chicken/chicken.inc
@@ -0,0 +1,71 @@
+ESCRIPTION = "A compiler that translates Scheme source files to C, and an interpreter"
+HOMEPAGE = "http://www.call-with-current-continuation.org/"
+SECTION = "interpreters"
+PRIORITY = "optional"
+LICENSE = "BSD"
+INC_PR = "r1"
+
+SRC_URI = "http://chicken.wiki.br/releases/${PV}/chicken-${PV}.tar.gz"
+
+inherit autotools
+
+# Parallel building is not supported
+PARALLEL_MAKE = ""
+
+# Required environment values
+export PLATFORM="linux"
+export PREFIX="${prefix}"
+export C_COMPILER="${TARGET_PREFIX}gcc ${LDFLAGS} "
+export LIBRARIAN="${TARGET_PREIX}ar "
+export TARGETSYSTEM="${TARGET_SYS}"
+
+SONAME = "${@bb.data.getVar("PV", d, 1)[0]}"
+ASSUME_SHLIBS += "libchicken.so.${SONAME}:libchicken libuchicken.so.${SONAME}:libuchicken"
+
+do_compile() {
+	case ${TARGET_ARCH} in
+	i*86)
+		ARCH=x86
+		;;
+	*)
+		echo "Check ARCH value for ${TARGET_ARCH}"
+		exit 1
+		;;
+	esac
+
+    make ARCH=${ARCH}
+}
+
+do_install() {
+	case ${TARGET_ARCH} in
+	i*86)
+		ARCH=x86
+		;;
+	*)
+		echo "Check ARCH value for ${TARGET_ARCH}"
+		exit 1
+		;;
+	esac
+
+    make ARCH=${ARCH} DESTDIR=${D} install
+}
+
+do_install_append() {
+    # Handle lacking of soname is some versions
+    if [ ! -e ${D}${libdir}/libchicken.so.${SONAME} ]; then
+        (cd ${D}${libdir}
+         mv libchicken.so libchicken.so.${SONAME}
+         ln -s libchicken.so.${SONAME} libchicken.so
+         mv libuchicken.so libuchicken.so.${SONAME}
+         ln -s libuchicken.so.${SONAME} libuchicken.so)
+    fi
+}
+
+PACKAGES += "chicken-bin libchicken libuchicken"
+
+FILES_${PN} = ""
+FILES_libchicken = "${libdir}/libchicken.so.${SONAME}"
+FILES_libuchicken = "${libdir}/libuchicken.so.${SONAME}*"
+FILES_${PN}-bin = "${bindir}/* ${datadir}/chicken/*.* ${libdir}/chicken/${SONAME}/*.so"
+FILES_${PN}-doc += "${datadir}/chicken/doc"
+FILES_${PN}-dbg += "${libdir}/chicken/*/.debug"
diff --git a/recipes/chicken/chicken2.inc b/recipes/chicken/chicken2.inc
deleted file mode 100644
index fbaf971..0000000
--- a/recipes/chicken/chicken2.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "A compiler that translates Scheme source files to C, and an interpreter"
-HOMEPAGE = "http://www.call-with-current-continuation.org/"
-SECTION = "interpreters"
-PRIORITY = "optional"
-LICENSE = "BSD"
-
-SRC_URI = "http://www.call-with-current-continuation.org/chicken-${PV}.tar.gz" 
-
-inherit autotools
-
-do_install_append() {
-    install -d ${D}${docdir}/${P}
-    mv ${D}/${datadir}/chicken/doc ${D}${docdir}/${P}
-}
-
-do_stage() {
-    autotools_stage_all
-}
-
diff --git a/recipes/chicken/chicken3.inc b/recipes/chicken/chicken3.inc
deleted file mode 100644
index 2feebfb..0000000
--- a/recipes/chicken/chicken3.inc
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "A compiler that translates Scheme source files to C, and an interpreter"
-HOMEPAGE = "http://www.call-with-current-continuation.org/"
-SECTION = "interpreters"
-PRIORITY = "optional"
-LICENSE = "BSD"
-
-SRC_URI = "http://chicken.wiki.br/releases/${PV}/chicken-${PV}.tar.gz"
-
-inherit autotools
-
-do_compile() {
-    export PLATFORM=linux
-    export PREFIX=${prefix}
-    export HOST=${TARGET_ARCH}-${DISTRO}-${TARGET_OS}
-    export C_COMPILER=${HOST}-gcc 
-    export LIBRARIAN=${HOST}-ar
-    # ARCH= is weird... but it's not enough to export this variable.
-    # If ARCH is not set to empty-string, then the Makefile will try to 
-    # use the apply-hack.s file applicable to the machine doing the compiling.
-    # There is no such apply-hack assembler code for arm, at least not yet.
-    make ARCH=
-}
-
-do_install() {
-    export PLATFORM=linux
-    export PREFIX=${prefix}
-    export HOST=${TARGET_ARCH}-${DISTRO}-${TARGET_OS}
-    export C_COMPILER=${HOST}-gcc 
-    export LIBRARIAN=${HOST}-ar
-    make ARCH= DESTDIR=${D} install
-}
-
-FILES_${PN} = "${bindir}/csi ${bindir}/chicken-bug"
-FILES_${PN} += "${libdir}/lib*.so.* ${libdir}/chicken"
-FILES_${PN} += "${datadir}/chicken/*.*"
-FILES_${PN}-dev += "${bindir}"
diff --git a/recipes/chicken/chicken_2.6.bb b/recipes/chicken/chicken_2.6.bb
deleted file mode 100644
index 934ef4a..0000000
--- a/recipes/chicken/chicken_2.6.bb
+++ /dev/null
@@ -1 +0,0 @@
-require chicken2.inc
diff --git a/recipes/chicken/chicken_3.3.0.bb b/recipes/chicken/chicken_3.3.0.bb
index 7d9fc69..c61d655 100644
--- a/recipes/chicken/chicken_3.3.0.bb
+++ b/recipes/chicken/chicken_3.3.0.bb
@@ -1 +1,3 @@
-require chicken3.inc
+require chicken.inc
+
+PR = "${INC_PR}.1"
diff --git a/recipes/chicken/chicken_4.2.0.bb b/recipes/chicken/chicken_4.2.0.bb
new file mode 100644
index 0000000..c61d655
--- /dev/null
+++ b/recipes/chicken/chicken_4.2.0.bb
@@ -0,0 +1,3 @@
+require chicken.inc
+
+PR = "${INC_PR}.1"





More information about the Openembedded-commits mailing list