diff --git a/meta-smalltalk/.gitignore b/meta-smalltalk/.gitignore new file mode 100644 index 0000000000..45d62d8696 --- /dev/null +++ b/meta-smalltalk/.gitignore @@ -0,0 +1 @@ +*.sw? diff --git a/meta-smalltalk/classes/smalltalk_package.bbclass b/meta-smalltalk/classes/smalltalk_package.bbclass new file mode 100644 index 0000000000..5eb9ca6248 --- /dev/null +++ b/meta-smalltalk/classes/smalltalk_package.bbclass @@ -0,0 +1,17 @@ +DEPENDS = "smalltalk-native" +RDEPENDS_${PN} += "smalltalk" + +smalltalk_package_do_compile() { + gst < /dev/null + gst-package --target-directory=. package.xml +} + +smalltalk_package_do_install () { + install -d ${D}${datadir}/smalltalk + + install -m 0644 ${S}/*.star ${D}${datadir}/smalltalk +} + +FILES_${PN} += "${datadir}/smalltalk" + +EXPORT_FUNCTIONS do_compile do_install diff --git a/meta-smalltalk/conf/layer.conf b/meta-smalltalk/conf/layer.conf new file mode 100644 index 0000000000..6885b04e8d --- /dev/null +++ b/meta-smalltalk/conf/layer.conf @@ -0,0 +1,10 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have a packages directory, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "smalltalk" +BBFILE_PATTERN_smalltalk = "^${LAYERDIR}/" +BBFILE_PRIORITY_smalltalk = "1" + diff --git a/meta-smalltalk/recipes-gnu/libsigsegv/libsigsegv_2.10.bb b/meta-smalltalk/recipes-gnu/libsigsegv/libsigsegv_2.10.bb new file mode 100644 index 0000000000..af2f64ab39 --- /dev/null +++ b/meta-smalltalk/recipes-gnu/libsigsegv/libsigsegv_2.10.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Handling page faults in user mode" +HOMEPAGE = "http://www.gnu.org/software/libsigsegv/" + +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=a4e436f29b73fbaa5360691ba7fcbd8c" + +SRC_URI = "${GNU_MIRROR}/libsigsegv/libsigsegv-2.10.tar.gz" +SRC_URI[md5sum] = "7f96fb1f65b3b8cbc1582fb7be774f0f" +SRC_URI[sha256sum] = "8460a4a3dd4954c3d96d7a4f5dd5bc4d9b76f5754196aa245287553b26d2199a" + +PR = "r2" + +inherit autotools + + +BBCLASSEXTEND = "native" + +EXTRA_OECONF += " --enable-shared " diff --git a/meta-smalltalk/recipes-smalltalk/grease/grease_git.bb b/meta-smalltalk/recipes-smalltalk/grease/grease_git.bb new file mode 100644 index 0000000000..c9d9185da9 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/grease/grease_git.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Grease compability layer" +HOMEPAGE = "http://github.com/NicolasPetton/grease" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +S = "${WORKDIR}/git" +SRC_URI = "git://github.com/NicolasPetton/Grease.git;protocol=git;branch=master" +SRCREV = "131f4216188310992db37836e0ea248a9a152406" +PV = "3.0+gitr${SRCPV}" +PR = "r2" + + +inherit smalltalk_package + +RDEPENDS_${PN} += "smalltalk-digest" diff --git a/meta-smalltalk/recipes-smalltalk/iliad/iliad_git.bb b/meta-smalltalk/recipes-smalltalk/iliad/iliad_git.bb new file mode 100644 index 0000000000..dc3ef78d5b --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/iliad/iliad_git.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Iliad webframework" +HOMEPAGE = "http://www.iliadproject.org/" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +S = "${WORKDIR}/git" +SRC_URI = "git://github.com/zecke/iliad.git;protocol=git;branch=master" +SRCREV = "9cfd753a5ce7f811d87f28796d32f3fcaa1c878c" +PV = "0.9.1.1+gitr${SRCPV}" + +inherit smalltalk_package + +PR = "r5" + +RDEPENDS_${PN} += "smalltalk-iconv grease" + +do_compile() { + gst < /dev/null + find ${S} -name package.xml -execdir gst-package --target-directory="${S}" {} \; +} diff --git a/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-asn1_git.bb b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-asn1_git.bb new file mode 100644 index 0000000000..4513e84f89 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-asn1_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "ASN1 Code to work on TCAP/MAP/Camel..." +HOMEPAGE = "http://osmocom.org" +LICENSE = "AGPLv3+" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +require smalltalk-package.inc + +RDEPENDS_${PN} += "osmo-st-core osmo-st-logging" + +S = "${WORKDIR}/git" +SRC_URI = "git://git.osmocom.org/smalltalk/osmo-st-asn1;protocol=git;branch=master" +SRCREV = "4e3227730b0f8e48fc4513d0d614d90f52531678" +PV = "0.0.1+gitr${SRCPV}" +PR = "${INC_PR}.1" diff --git a/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-core_git.bb b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-core_git.bb new file mode 100644 index 0000000000..f87203c028 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-core_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "" +HOMEPAGE = "http://osmocom.org" +LICENSE = "AGPLv3+" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +require smalltalk-package.inc + +RDEPENDS_${PN} += "osmo-st-logging" + +S = "${WORKDIR}/git" +SRC_URI = "git://git.osmocom.org/smalltalk/osmo-st-core;protocol=git;branch=master" +SRCREV = "9e0df13ec7f54813129f5f9851cb233445455608" +PV = "0.0.1+gitr${SRCPV}" +PR = "${INC_PR}.0" diff --git a/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-gsm_git.bb b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-gsm_git.bb new file mode 100644 index 0000000000..aa10ad7596 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-gsm_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "GSM utilities based on osmo-network for SCCP,BSSAP,BSSMAP,GSM48" +HOMEPAGE = "http://osmocom.org" +LICENSE = "AGPLv3+" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +require smalltalk-package.inc + +RDEPENDS_${PN} += "osmo-st-core osmo-st-network osmo-st-logging" + +S = "${WORKDIR}/git" +SRC_URI = "git://git.osmocom.org/smalltalk/osmo-st-gsm;protocol=git;branch=master" +SRCREV = "00ee3d0ea0cda615ba58705d08380a116193743d" +PV = "0.0.1+gitr${SRCPV}" +PR = "${INC_PR}.0" diff --git a/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-logging_git.bb b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-logging_git.bb new file mode 100644 index 0000000000..db43efa016 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-logging_git.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "A Smalltalk logging framework inspired by libosmocore's logging facilities" +HOMEPAGE = "http://osmocom.org" +LICENSE = "AGPLv3+" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +require smalltalk-package.inc + +S = "${WORKDIR}/git" +SRC_URI = "git://git.osmocom.org/smalltalk/osmo-st-logging;protocol=git;branch=master" +SRCREV = "f900c8fc6ef9b7ff54f0d57d092ac6b9d175460b" +PV = "0.0.2+gitr${SRCPV}" +PR = "${INC_PR}.0" diff --git a/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-mgcp_git.bb b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-mgcp_git.bb new file mode 100644 index 0000000000..0f9f3f4288 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-mgcp_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "This is a MGCP CallAgent written in Smalltalk" +HOMEPAGE = "http://osmocom.org" +LICENSE = "AGPLv3+" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +require smalltalk-package.inc + +RDEPENDS_${PN} += "osmo-st-logging osmo-st-core petitparser" + +S = "${WORKDIR}/git" +SRC_URI = "git://git.osmocom.org/smalltalk/osmo-st-mgcp;protocol=git;branch=master" +SRCREV = "08ebcfdab3cd161bb111851bbb5d74f80aff97d0" +PV = "0.0.1+gitr${SRCPV}" +PR = "${INC_PR}.1" diff --git a/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-msc_git.bb b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-msc_git.bb new file mode 100644 index 0000000000..50739919a6 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-msc_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "This is a simple MSC done in Smalltalk" +HOMEPAGE = "http://osmocom.org" +LICENSE = "AGPLv3+" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +require smalltalk-package.inc + +RDEPENDS_${PN} += "osmo-st-logging osmo-st-network osmo-st-gsm osmo-st-core" + +S = "${WORKDIR}/git" +SRC_URI = "git://git.osmocom.org/smalltalk/osmo-st-msc;protocol=git;branch=master" +SRCREV = "befb7a50f7c032e5ca4d8a992d6176983b5177f7" +PV = "0.0.1+gitr${SRCPV}" +PR = "${INC_PR}.0" diff --git a/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-network_git.bb b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-network_git.bb new file mode 100644 index 0000000000..28d079614e --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-network_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "osmo-network a module for networking (SCCP, M3UA, IPA) protocol handling" +LICENSE = "AGPLv3+" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +HOMEPAGE = "http://osmocom.org" + +require smalltalk-package.inc + +RDEPENDS_${PN} += "osmo-st-logging osmo-st-core" + +S = "${WORKDIR}/git" +SRC_URI = "git://git.osmocom.org/smalltalk/osmo-st-network;protocol=git;branch=master" +SRCREV = "cb55eb5dcf67fbe1ca02e12cd3ccc25df4847ee2" +PV = "0.0.2+gitr${SRCPV}" +PR = "${INC_PR}.1" diff --git a/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-sip_git.bb b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-sip_git.bb new file mode 100644 index 0000000000..548e2f3164 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-sip_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "" +HOMEPAGE = "http://osmocom.org" +LICENSE = "AGPLv3+" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +require smalltalk-package.inc + +RDEPENDS_${PN} += "osmo-st-core osmo-st-logging petitparser" + +S = "${WORKDIR}/git" +SRC_URI = "git://git.osmocom.org/smalltalk/osmo-st-sip;protocol=git;branch=master" +SRCREV = "eb578aa93e3bc6ddabac0c1a669eb4f700686e96" +PV = "0.0.1+gitr${SRCPV}" +PR = "${INC_PR}.1" diff --git a/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-testphone_git.bb b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-testphone_git.bb new file mode 100644 index 0000000000..6848b6bc33 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/osmocom/osmo-st-testphone_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "A simple test phone to do a LU and place a call" +HOMEPAGE = "http://osmocom.org" +LICENSE = "AGPLv3+" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +require smalltalk-package.inc + +RDEPENDS_${PN} += "osmo-st-network osmo-st-logging osmo-st-gsm osmo-st-core" + +S = "${WORKDIR}/git" +SRC_URI = "git://git.osmocom.org/smalltalk/osmo-st-testphone;protocol=git;branch=master" +SRCREV = "98a9d07856671daf934aa0029f3bebcc13a06f9d" +PV = "0.0.1+gitr${SRCPV}" +PR = "${INC_PR}.1" diff --git a/meta-smalltalk/recipes-smalltalk/osmocom/smalltalk-package.inc b/meta-smalltalk/recipes-smalltalk/osmocom/smalltalk-package.inc new file mode 100644 index 0000000000..2ed8221ef1 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/osmocom/smalltalk-package.inc @@ -0,0 +1,2 @@ +inherit smalltalk_package +INC_PR = "r6" diff --git a/meta-smalltalk/recipes-smalltalk/shampoo/shampoo_git.bb b/meta-smalltalk/recipes-smalltalk/shampoo/shampoo_git.bb new file mode 100644 index 0000000000..741b97a6bf --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/shampoo/shampoo_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Iliad webframework" +HOMEPAGE = "http://dmitrymatveev.co.uk/shampoo/contribution.html" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=d4a50099a9054443aacf3bb25a2d3b0e" + +S = "${WORKDIR}/git" +SRC_URI = "git://github.com/dmatveev/shampoo.git;protocol=git;branch=master" +SRCREV = "8815d3c61dfc04d539c8bcc676d35fb1d568698c" +PV = "0.0.1+gitr${SRCPV}" +PR = "r2" + +RDEPENDS_${PN} = "smalltalk-digest" + +inherit smalltalk_package diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/petitparser-tests_git.bb b/meta-smalltalk/recipes-smalltalk/smalltalk/petitparser-tests_git.bb new file mode 100644 index 0000000000..90593ecf7b --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/petitparser-tests_git.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "" +HOMEPAGE = "https://gitorious.org/gnu-smalltalk-ports/petitparser" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + + +require smalltalk-package.inc + +RDEPENDS_${PN} += "petitparser" + +S = "${WORKDIR}/git" +SRC_URI = "git://gitorious.org/gnu-smalltalk-ports/petitparser-tests.git;protocol=git;branch=master" +SRCREV = "4b112d1f1af9692807bd28ae192b1fdc69f8c564" +PV = "0.0.1+gitr${SRCPV}" +PR = "${INC_PR}.1" + diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/petitparser_git.bb b/meta-smalltalk/recipes-smalltalk/smalltalk/petitparser_git.bb new file mode 100644 index 0000000000..c96ba5a340 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/petitparser_git.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "" +HOMEPAGE = "https://gitorious.org/gnu-smalltalk-ports/petitparser" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +require smalltalk-package.inc + +S = "${WORKDIR}/git" +SRC_URI = "git://gitorious.org/gnu-smalltalk-ports/petitparser.git;protocol=git;branch=master" +SRCREV = "9b76e8cf054cb6bdbc7bc5635c3126a2fefd1a85" +PV = "0.0.1+gitr${SRCPV}" +PR = "${INC_PR}.0" + diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk-3.2.91.1/no-doc.patch b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk-3.2.91.1/no-doc.patch new file mode 100644 index 0000000000..6c4e30657f --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk-3.2.91.1/no-doc.patch @@ -0,0 +1,16 @@ +The build system tries to execute the gst-tool gst-doc and gst-tool is +not installed and the easiest right now is to not build the docs + +Index: smalltalk-3.2.91/Makefile.am +=================================================================== +--- smalltalk-3.2.91.orig/Makefile.am 2013-04-28 16:07:14.018325529 +0200 ++++ smalltalk-3.2.91/Makefile.am 2013-04-28 16:08:10.426335670 +0200 +@@ -23,7 +23,7 @@ + gstdatadir=$(pkgdatadir) + + DIST_SUBDIRS = lib-src snprintfv lightning libgst \ +- . $(ALL_PACKAGES) tests doc ++ . $(ALL_PACKAGES) tests + + SUBDIRS = lib-src lightning $(subdirs) + SUBDIRS += libgst . $(BUILT_PACKAGES) doc tests diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk-package.inc b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk-package.inc new file mode 100644 index 0000000000..8e1dc0e805 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk-package.inc @@ -0,0 +1,17 @@ +DEPENDS = "smalltalk" + +INC_PR="r4" + +do_compile() { + gst < /dev/null + gst-package --target-directory=. package.xml +} + +do_install () { + install -d ${D}${datadir}/smalltalk + + install -m 0644 ${S}/*.star ${D}${datadir}/smalltalk +} + +FILES_${PN} += "${datadir}/smalltalk" + diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk.inc b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk.inc new file mode 100644 index 0000000000..345a74b1e5 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk.inc @@ -0,0 +1,74 @@ +DESCRIPTION = "GNU Smalltalk." +HOMEPAGE = "http://smalltalk.gnu.org/" +LICENSE = "GPLv2+" + +INC_PR = "12" + +DEPENDS = "smalltalk-native gnutls readline libsigsegv libtool libffi zip-native expat " +DEPENDS_virtclass-native = "gnutls-native libffi-native libsigsegv-native" + +EXTRA_OECONF = "--disable-static --disable-gtk --without-x --without-opengl --with-tcl=/bin/false --with-tk=/bin/false --without-emacs gst_cv_libc_dlopen_works=hacked gst_cv_readline_libs='-lreadline'" +PACKAGES =+ "${PN}-digest ${PN}-expat ${PN}-iconv ${PN}-i18n ${PN}-gdbm ${PN}-sdl \ + ${PN}-sqlite ${PN}-seaside ${PN}-magritte ${PN}-magritte-seaside ${PN}-examples \ + ${PN}-xml ${PN}-zlib" + +# skip dev-so for plugins +INSANE_SKIP_${PN}-digest = "dev-so" +INSANE_SKIP_${PN}-expat = "dev-so" +INSANE_SKIP_${PN}-iconv = "dev-so" +INSANE_SKIP_${PN}-i18n = "dev-so" +INSANE_SKIP_${PN}-gdbm = "dev-so" +INSANE_SKIP_${PN}-sdl = "dev-so" +INSANE_SKIP_${PN}-sqlite = "dev-so" +INSANE_SKIP_${PN}-xml = "dev-so" +INSANE_SKIP_${PN}-zlib = "dev-so" + +# gst-tool and such +INSANE_SKIP_${PN} = "useless-rpaths" + +FILES_${PN}-digest = "${libdir}/smalltalk/digest*.so \ + ${datadir}/smalltalk/Digest.star" +FILES_${PN}-expat = "${libdir}/smalltalk/expat*.so \ + ${datadir}/smalltalk/XML-Expat.star" +FILES_${PN}-iconv = "${libdir}/smalltalk/iconv*.so \ + ${datadir}/smalltalk/I18N.star ${datadir}/smalltalk/Iconv.star" +FILES_${PN}-i18n = "${libdir}/smalltalk/i18n*.so \ + ${datadir}/smalltalk/I18N.star ${datadir}/smalltalk/I18N.star" +FILES_${PN}-gdbm = "${libdir}/smalltalk/gdbm*.so" +FILES_${PN}-sdl = "${libdir}/smalltalk/sdl*.so" +FILES_${PN}-sqlite = "${libdir}/smalltalk/dbd-sqlite*.so \ + ${datadir}/smalltalk/DBD-SQLite.star" +FILES_${PN}-dbg += "${libdir}/smalltalk/.debug ${libexecdir}/smalltalk/.debug" +FILES_${PN}-dev += "${libdir}/smalltalk/*.la" +FILES_${PN}-static += "${libdir}/smalltalk/lib*.a" + +FILES_${PN}-seaside = "${datadir}/smalltalk/Seaside*.star" +FILES_${PN}-magritte = "${datadir}/smalltalk/Magritte.star" +FILES_${PN}-magritte-seaside = "${datadir}/smalltalk/Magritte-Seaside.star" +FILES_${PN}-xml = "${datadir}/smalltalk/XML*.star ${datadir}/smalltalk/XPath.star ${datadir}/smalltalk/XSL.star ${libdir}/smalltalk/expat-*.so" +FILES_${PN}-zlib = "${libdir}/smalltalk/zlib*.so \ + ${datadir}/smalltalk/ZLib.star" + +FILES_${PN}-examples = "${datadir}/smalltalk/examples/* ${datadir}/smalltalk/unsupported/*" + + +inherit autotools + +do_configure() { + sed -i -e 's/^GST = .*$/GST = gst --no-user-files $(GST_OPTS)/' ${S}/Makefile.am + sed -i -e 's/^GST_PACKAGE = .*$/GST_PACKAGE = XZIP="$(XZIP)" gst-package $(GST_OPTS)/' ${S}/Makefile.am + sed -i -e 's/"$(abs_top_builddir)\/gst$(EXEEXT)"/gst/' ${S}/Makefile.am + autotools_do_configure +} + +do_configure_virtclass-native() { + autotools_do_configure + sed -i -e 's/^module_DATA.*$//' ${S}/Makefile +} + +do_install_append() { + find ${D}${libdir}/smalltalk -name "*.la" -delete +} + +BBCLASSEXTEND = "native" + diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/fix_clock_behavior_across_image.patch b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/fix_clock_behavior_across_image.patch new file mode 100644 index 0000000000..19286f7a20 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/fix_clock_behavior_across_image.patch @@ -0,0 +1,91 @@ +>From f711b657b29bf94792da89612328b5d32a5ebf70 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Thu, 22 Sep 2011 10:33:36 +0200 +Subject: [PATCH] improve Delay and millisecondClock behavior across image + save + +2011-09-22 Paolo Bonzini + + * kernel/Delay.st: Restart pending delays when the image restarts. + * kernel/Time.st: Make the millisecondClockValue monotonic across + image save. + +libgst: +2011-09-22 Paolo Bonzini + + * libgst/dict.c: Add the ClockOnImageSave class variable to time. +--- + kernel/Delay.st | 8 +++++++- + kernel/Time.st | 9 +++++++-- + libgst/dict.c | 2 +- + 5 files changed, 25 insertions(+), 4 deletions(-) + +diff --git a/kernel/Delay.st b/kernel/Delay.st +index fbb46ec..65f21e9 100644 +--- a/kernel/Delay.st ++++ b/kernel/Delay.st +@@ -166,7 +166,13 @@ created.'> + sortBlock: [:d1 :d2 | d1 resumptionTime >= d2 resumptionTime]. + TimeoutSem := Semaphore new. + DelayProcess := [self runDelayProcess] forkAt: Processor timingPriority. +- TimeoutSem signal "get going" ++ ObjectMemory addDependent: self. ++ self update: #returnFromSnapshot ++ ] ++ ++ Delay class >> update: aspect [ ++ "Prime the timer event loop when the image starts running." ++ aspect == #returnFromSnapshot ifTrue: [TimeoutSem signal] + ] + + Delay class >> initialize [ +diff --git a/kernel/Time.st b/kernel/Time.st +index 71926d9..d3810e7 100644 +--- a/kernel/Time.st ++++ b/kernel/Time.st +@@ -42,6 +42,7 @@ time value, and a block execution timing facility.'> + + SecondClockAdjustment := nil. + ClockOnStartup := nil. ++ ClockOnImageSave := nil. + + Time class >> utcSecondClock [ + "Answer the number of seconds since the midnight of 1/1/1901 (unlike +@@ -143,6 +144,7 @@ time value, and a block execution timing facility.'> + + + SecondClockAdjustment := 86400 * 36159. ++ ClockOnImageSave := 0. + ObjectMemory addDependent: self + ] + +@@ -150,8 +152,11 @@ time value, and a block execution timing facility.'> + "Private - Initialize the receiver's instance variables" + + +- aspect == #returnFromSnapshot +- ifTrue: [ClockOnStartup := Time primMillisecondClock] ++ | time | ++ aspect == #returnFromSnapshot ifTrue: [ ++ ClockOnStartup := Time primMillisecondClock - ClockOnImageSave]. ++ aspect == #aboutToSnapshot ifTrue: [ ++ ClockOnImageSave := Time millisecondClock]. + ] + + Time class >> now [ +diff --git a/libgst/dict.c b/libgst/dict.c +index 806aabe..42b5b6e 100644 +--- a/libgst/dict.c ++++ b/libgst/dict.c +@@ -337,7 +337,7 @@ static const class_definition class_info[] = { + {&_gst_time_class, &_gst_magnitude_class, + GST_ISP_FIXED, false, 1, + "Time", "seconds", +- "SecondClockAdjustment ClockOnStartup", NULL }, ++ "SecondClockAdjustment ClockOnStartup ClockOnImageSave", NULL }, + + {&_gst_date_class, &_gst_magnitude_class, + GST_ISP_FIXED, false, 4, +-- +1.7.6 + diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/fix_fd_resume.patch b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/fix_fd_resume.patch new file mode 100644 index 0000000000..c2372be300 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/fix_fd_resume.patch @@ -0,0 +1,17 @@ +--- a/libgst/save.c ++++ b/libgst/save.c +@@ -765,6 +765,13 @@ fixup_object (OOP oop, gst_object dest, gst_object src, int numBytes) + } + } + ++ /* File descriptors are invalidated on resume. */ ++ else if (is_a_kind_of (class_oop, _gst_file_descriptor_class)) ++ { ++ gst_file_stream file = (gst_file_stream) dest; ++ file->fd = _gst_nil_oop; ++ } ++ + /* The other case is to reset CFunctionDescriptor objects, so that we'll + relink the external functions when we reload the image. */ + else if (is_a_kind_of (class_oop, _gst_c_callable_class)) +-- diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/gst-remote-hostname.patch b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/gst-remote-hostname.patch new file mode 100644 index 0000000000..289fe1fd65 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/gst-remote-hostname.patch @@ -0,0 +1,37 @@ +From 2fc74b9ec068a8a594bf507c5c48d61bcb63591f Mon Sep 17 00:00:00 2001 +From: Holger Hans Peter Freyther +Date: Mon, 30 May 2011 00:09:00 +0200 +Subject: [PATCH] scripts/Remote.st: Allow to specify the hostname for the bind + +Allow to bind the server to a specific address. The ServerSocket +will not attempt to resolve the string to an address. Do this before. + +2011-05-30 Holger Hans Peter Freyther + + * scripts/Remote.st: Resolve the hostname to an address to be + used by Sockets.ServerSocket>>#port:bindTo:. +--- + ChangeLog | 5 +++++ + scripts/Remote.st | 4 ++-- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/scripts/Remote.st b/scripts/Remote.st +index 10f228d..ec65de4 100644 +--- a/scripts/Remote.st ++++ b/scripts/Remote.st +@@ -182,10 +182,10 @@ available in the PATH of the remote machine. + opt isNil ifTrue: [ + host isNil ifFalse: [ self error: 'multiple hosts are invalid' ]. + (arg includes: $@) +- ifFalse: [ host := arg ] ++ ifFalse: [ host := TCP.SocketAddress byName: arg ] + ifTrue: [ + login isNil ifFalse: [ self error: 'multiple logins are invalid' ]. +- login := arg copyUpTo: $@. ++ login := TCP.SocketAddress byName: (arg copyUpTo: $@). + host := arg copyAfter: $@ ] ]. + ] + +-- +1.7.2.5 + diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/gst-remote-resume.patch b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/gst-remote-resume.patch new file mode 100644 index 0000000000..5ecb77dcd2 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/gst-remote-resume.patch @@ -0,0 +1,78 @@ +From c4915d9232edb576dfb9697501370877032288dc Mon Sep 17 00:00:00 2001 +From: Gwenael Casaccio +Date: Tue, 5 Jul 2011 10:34:48 +0200 +Subject: [PATCH 1/1] fix resumption of an image that had been created via gst-remote + +2011-08-13 Gwenael Casaccio + + * scripts/Remote.st: Suspend/resume server process across snapshots. +--- + ChangeLog | 4 ++++ + scripts/Remote.st | 37 +++++++++++++++++++++++++++++++++++-- + 2 files changed, 39 insertions(+), 2 deletions(-) + +diff --git a/scripts/Remote.st b/scripts/Remote.st +index cf383bd..39f2407 100644 +--- a/scripts/Remote.st ++++ b/scripts/Remote.st +@@ -39,6 +39,38 @@ DLD addLibrary: 'libc'. + SystemDictionary compile: ' + getpid [ ^''--pid not available'' ]' ]. + ++Object subclass: RemoteServer [ ++ ++ RemoteServer class >> new [ ++ ++ ^ super new ++ initialize; ++ yourself ++ ] ++ ++ | remoteProcess | ++ ++ initialize [ ++ ++ ++ ObjectMemory addDependent: self ++ ] ++ ++ update: aSymbol [ ++ ++ ++ aSymbol == #aboutToSnapshot ifTrue: [ ^ remoteProcess suspend ]. ++ aSymbol == #finishedSnapshot ifTrue: [ ^ remoteProcess resume ]. ++ aSymbol == #returnFromSnapshot ifTrue: [ ObjectMemory removeDependent: self ]. ++ ] ++ ++ process: aProcess [ ++ ++ ++ remoteProcess := aProcess ++ ] ++] ++ + TextCollector subclass: MultiplexingTextCollector [ + | default outputs | + initialize [ +@@ -69,7 +101,7 @@ TextCollector subclass: MultiplexingTextCollector [ + ] + ] + +-| helpString commands server port host login | ++| helpString commands server port host login remoteServer | + commands := OrderedCollection new. + server := false. + port := 12345. +@@ -207,7 +239,8 @@ available in the PATH of the remote machine. + server ifTrue: [ + PackageLoader fileInPackage: 'Compiler'. + Transcript := MultiplexingTextCollector message: Transcript message. +- [ ++ remoteServer := RemoteServer new. ++ remoteServer process: [ + | queue | + queue := TCP.ServerSocket port: port bindTo: host. + [ +-- +1.7.2.5 + diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/gst-remote-typo.patch b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/gst-remote-typo.patch new file mode 100644 index 0000000000..628a931003 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/gst-remote-typo.patch @@ -0,0 +1,46 @@ +From c6e5359374ee9b46777be790da9d64d7c408a5c1 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Tue, 5 Jul 2011 10:50:58 +0200 +Subject: [PATCH 1/1] fix typo in 2fc74b9 + +2011-08-13 Paolo Bonzini + + * scripts/Remote.st: Fix typo in 2fc74b9. +--- + ChangeLog | 4 ++++ + scripts/Remote.st | 10 +++++++--- + 2 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/scripts/Remote.st b/scripts/Remote.st +index ec65de4..cf383bd 100644 +--- a/scripts/Remote.st ++++ b/scripts/Remote.st +@@ -182,11 +182,14 @@ available in the PATH of the remote machine. + opt isNil ifTrue: [ + host isNil ifFalse: [ self error: 'multiple hosts are invalid' ]. + (arg includes: $@) +- ifFalse: [ host := TCP.SocketAddress byName: arg ] ++ ifFalse: [ host := arg ] + ifTrue: [ + login isNil ifFalse: [ self error: 'multiple logins are invalid' ]. +- login := TCP.SocketAddress byName: (arg copyUpTo: $@). +- host := arg copyAfter: $@ ] ]. ++ login := arg copyUpTo: $@. ++ host := arg copyAfter: $@ ]. ++ (TCP.SocketAddress byName: host) ++ ifNil: [ self error: 'invalid host %1' %{host} ] ++ ifNotNil: [ :addr | host := addr ] ]. + ] + + ifError: [ +@@ -197,6 +200,7 @@ available in the PATH of the remote machine. + ('gst-remote: ', ex messageText, ' + ') displayOn: stderr. + stderr flush. ++ "ex pass." + helpString displayOn: stderr. + ObjectMemory quit: 1 ]. + +-- +1.7.2.5 + diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/no-doc.patch b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/no-doc.patch new file mode 100644 index 0000000000..bc69ad8516 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk/no-doc.patch @@ -0,0 +1,16 @@ +The build system tries to execute the gst-tool gst-doc and gst-tool is +not installed and the easiest right now is to not build the docs + +Index: smalltalk-3.2.4/Makefile.am +=================================================================== +--- smalltalk-3.2.4.orig/Makefile.am 2013-01-04 18:56:47.000000000 +0800 ++++ smalltalk-3.2.4/Makefile.am 2013-01-04 18:59:51.715391338 +0800 +@@ -30,7 +30,7 @@ + if ENABLE_DISASSEMBLER + SUBDIRS += opcode + endif +-SUBDIRS += libgst . $(BUILT_PACKAGES) doc tests ++SUBDIRS += libgst . $(BUILT_PACKAGES) tests + + # Running gst inside the build directory... + diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk_3.2.4.99.bb b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk_3.2.4.99.bb new file mode 100644 index 0000000000..ba0b53d8f4 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk_3.2.4.99.bb @@ -0,0 +1,16 @@ +require ${PN}.inc +PR = "r11.${INC_PR}" + +# TODO: Upgrade, package the docs, split the packages, create gst class + +SRC_URI = " \ + http://www.secretlabs.de/gnu-smalltalk/smalltalk-3.2.4.99.tar.gz \ + file://no-doc.patch \ +" + +SRC_URI[md5sum] = "ab76000aeb212fa556937f45c2315c3f" +SRC_URI[sha256sum] = "4fe3163ac5530272644c16ae8e8e7822cf7712981e5916e24fec871f380f0191" + +SRCREV = "c17f4a0f757f398dad3bd90edbf8afdb96c0e995" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk_3.2.4.bb b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk_3.2.4.bb new file mode 100644 index 0000000000..17d82656a6 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk_3.2.4.bb @@ -0,0 +1,18 @@ +require ${PN}.inc +PR = "r11.${INC_PR}" + +SRC_URI = " \ + ftp://ftp.gnu.org/gnu/smalltalk/smalltalk-3.2.4.tar.gz \ + file://gst-remote-hostname.patch \ + file://gst-remote-typo.patch \ + file://gst-remote-resume.patch \ + file://fix_clock_behavior_across_image.patch \ + file://fix_fd_resume.patch \ + file://no-doc.patch \ +" +SRC_URI[md5sum] = "a36a7c9beddca08dc492b500738efc82" +SRC_URI[sha256sum] = "901cc7090a1fa44bc60900a970d207de4aa3bdfdce72bea55114e243bc1eb1b3" + +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + + diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk_3.2.91.1.bb b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk_3.2.91.1.bb new file mode 100644 index 0000000000..7c2fc0a6e7 --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/smalltalk_3.2.91.1.bb @@ -0,0 +1,35 @@ +require ${PN}.inc +PR = "r12.${INC_PR}" + +# TODO: Upgrade, package the docs, split the packages, create gst class + +EXTRA_OECONF_append_arm = " --disable-profiling --disable-prefetch" + +SRC_URI = " \ + http://www.secretlabs.de/gnu-smalltalk/smalltalk-${PV}.tar.gz \ + file://no-doc.patch \ +" + +SRC_URI[md5sum] = "d1a9b032f61bd72c4af049534b2575e4" +SRC_URI[sha256sum] = "ed56ddac79c3a10ec3cb45cf0a6377e09c1b2fb632ca49e32680d7180bc0ea3c" + + + +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + + +# glib is only in 3.2.90+ +PACKAGES =+ "${PN}-glib ${PN}-osprocess ${PN}-netlink" + + +INSANE_SKIP_${PN}-glib = "dev-so useless-rpaths" +FILES_${PN}-glib = "${libdir}/smalltalk/gst-glib*.so \ + ${datadir}/smalltalk/GLib.star ${libdir}/libgst-gobject.so.*" + +INSANE_SKIP_${PN}-osprocess = "dev-so" +FILES_${PN}-osprocess = "${libdir}/smalltalk/gst-osprocess*.so \ + ${datadir}/smalltalk/OSProcess.star" + +INSANE_SKIP_${PN}-netlink = "dev-so" +FILES_${PN}-netlink = "${libdir}/smalltalk/netlink*.so \ + ${datadir}/smalltalk/Netlink*.star" diff --git a/meta-smalltalk/recipes-smalltalk/smalltalk/soapopera_git.bb b/meta-smalltalk/recipes-smalltalk/smalltalk/soapopera_git.bb new file mode 100644 index 0000000000..07310d4c9e --- /dev/null +++ b/meta-smalltalk/recipes-smalltalk/smalltalk/soapopera_git.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "" +HOMEPAGE = "https://gitorious.org/gnu-smalltalk-ports/soapopera" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +require smalltalk-package.inc + +S = "${WORKDIR}/git" +SRC_URI = "git://gitorious.org/gnu-smalltalk-ports/soapopera.git;protocol=git;branch=master" +SRCREV = "21132f02889ef82e368144dbf8892d321d27661c" +PV = "0.0.1+gitr${SRCPV}" +PR = "${INC_PR}.0" +