summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/squeak/Manifest4
-rw-r--r--dev-lang/squeak/NOTES.txt4
-rw-r--r--dev-lang/squeak/files/pluginpath.patch13
-rw-r--r--dev-lang/squeak/squeak-4.4.7.2357.ebuild82
-rw-r--r--games-kids/scratch/Manifest2
-rw-r--r--games-kids/scratch/scratch-1.4.0.6.ebuild104
6 files changed, 209 insertions, 0 deletions
diff --git a/dev-lang/squeak/Manifest b/dev-lang/squeak/Manifest
new file mode 100644
index 0000000..739e775
--- /dev/null
+++ b/dev-lang/squeak/Manifest
@@ -0,0 +1,4 @@
+AUX pluginpath.patch 463 RMD160 ca0268feb974fde0d23c71904ca0b0ef12b5ddf2 SHA1 34f491a805b57fc383e4605ddfca231bec7719f0 SHA256 8deee52bd76046da958dfffe85a06ad88d77975128a1575cfd6a7e06a991b540
+DIST Squeak-4.4.7.2357-src.tar.gz 3641222 RMD160 42de8fa3bfb9a4f60cb736cdc643298ca5392814 SHA1 969f8531e585d60067824aae99f09ae19c7bc3d7 SHA256 aca80cdddd5f34b9a4a17b62c3e905bfc3bbdd355ba285a902b6ea79556f82d1
+EBUILD squeak-4.4.7.2357.ebuild 1869 RMD160 72e5fa9a4db2d11bc30270e9c555a29cf008300d SHA1 e5eafd4ee98723f3d0f52fecdf642ec7ceb8c6e2 SHA256 ab7516c2d0df90ddc4f725d0c2e44f9f9711847ef377106139513f123cde83ab
+MISC NOTES.txt 183 RMD160 f21b25ee1e0a6624c752c9479ac5a5b7fdf1bdb7 SHA1 4d547441ec2e643b9d57d3ba17e1982d2824521f SHA256 7a26ad55621da54d1e9d4f6ca1f706fe749c81153720324a6211c82183efb44a
diff --git a/dev-lang/squeak/NOTES.txt b/dev-lang/squeak/NOTES.txt
new file mode 100644
index 0000000..2705d5e
--- /dev/null
+++ b/dev-lang/squeak/NOTES.txt
@@ -0,0 +1,4 @@
+Initial ebuild (based on original from the tree of 2009, needed for MIT
+scratch.
+Todo: Support useflags, for now everything is required such as to work around
+automagic dependencies.
diff --git a/dev-lang/squeak/files/pluginpath.patch b/dev-lang/squeak/files/pluginpath.patch
new file mode 100644
index 0000000..8c2f4ba
--- /dev/null
+++ b/dev-lang/squeak/files/pluginpath.patch
@@ -0,0 +1,13 @@
+--- Squeak-4.4.7.2357-src/unix/vm/sqUnixExternalPrims.c.orig 2012-07-15 22:35:31.000000000 +0100
++++ Squeak-4.4.7.2357-src/unix/vm/sqUnixExternalPrims.c 2012-07-15 22:44:28.000000000 +0100
+@@ -182,6 +182,10 @@
+ ;
+ }
+
++ if ((handle=tryLoadModule(vmPath, pluginName))) {
++ return handle;
++ }
++
+ /* try dlopen()ing LIBRARY_PREFIX<name>LIBRARY_SUFFIX searching only the default locations modulo LD_LIBRARY_PATH et al */
+
+ # if defined(HAVE_SNPRINTF)
diff --git a/dev-lang/squeak/squeak-4.4.7.2357.ebuild b/dev-lang/squeak/squeak-4.4.7.2357.ebuild
new file mode 100644
index 0000000..edc0de6
--- /dev/null
+++ b/dev-lang/squeak/squeak-4.4.7.2357.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/squeak/Attic/squeak-3.10.5.ebuild,v 1.2 2010/04/06 17:36:21 ssuominen dead $
+
+EAPI="4"
+inherit base versionator fixheadtails eutils
+
+DESCRIPTION="Highly-portable Smalltalk-80 implementation"
+HOMEPAGE="http://www.squeak.org/"
+SRC_URI="http://squeakvm.org/unix/release/Squeak-${PV}-src.tar.gz"
+LICENSE="Apple"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="X mmx threads iconv opengl"
+
+CMAKE_USE_DIR="unix"
+
+CDEPEND="x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXt
+ sys-apps/dbus
+ media-libs/freetype:2
+ dev-libs/glib:2
+ sys-libs/zlib
+ sys-apps/util-linux
+ dev-libs/libxml2
+ media-libs/gstreamer:0.10
+ media-libs/alsa-lib
+ media-libs/libvorbis
+ media-libs/speex
+ x11-libs/pango
+ x11-libs/cairo
+ virtual/libffi
+ opengl? ( virtual/opengl )"
+DEPEND="${CDEPEND} dev-util/cmake"
+RDEPEND="${CDEPEND}"
+
+S="${WORKDIR}/Squeak-${PV}-src"
+
+src_unpack() {
+ base_src_unpack
+ cd ${S}
+ ht_fix_all
+ # ht_fix_all doesn't catch this because there's no number
+ sed -i -e 's/tail +/tail -n +/' unix/config/inisqueak.in
+ mkdir build
+ epatch ${FILESDIR}/pluginpath.patch
+}
+
+src_configure() {
+ myconf="$(use_with opengl gl)
+ --without-vm-display-Quartz
+ --without-vm-sound-Sun
+ --without-vm-sound-NAS
+ --without-vm-sound-MacOSX"
+ cd ${S}/build
+ ECONF_SOURCE=../unix/cmake econf ${myconf}
+}
+
+src_compile() {
+ cd ${S}/build
+ emake || die
+}
+
+src_install() {
+ cd ${S}/build
+ export DESTDIR="$D"
+ make install ||die
+ cd ${D}/usr/lib/squeak/*/
+}
+
+#src_install() {
+# cd ${S}/build
+# make ROOT=${D} docdir=/usr/share/doc/${PF} install || die
+# exeinto /usr/lib/squeak
+# doexe inisqueak
+# dosym /usr/lib/squeak/inisqueak /usr/bin/inisqueak
+#}
+#
+#pkg_postinst() {
+# elog "Run 'inisqueak' to get a private copy of the squeak image."
+#}
diff --git a/games-kids/scratch/Manifest b/games-kids/scratch/Manifest
new file mode 100644
index 0000000..596ea7b
--- /dev/null
+++ b/games-kids/scratch/Manifest
@@ -0,0 +1,2 @@
+DIST scratch-1.4.0.6.src.tar.gz 40329193 RMD160 2134cc7ae551006f6c33e98da73707c926637b4f SHA1 3ebc0390c2a4a271a32a046c9ab12e9d4e16c214 SHA256 738669c4eade6fb8ae7daab326aefc9328fbb3720c9946fe8445dbf8a995af7a
+EBUILD scratch-1.4.0.6.ebuild 2555 RMD160 c737efbd438588fe32d3846bd41efc47a30ce2da SHA1 b9f0454f4c55a56a2a3c07c0d024be3cf4316b2b SHA256 65951b11c5c1d2f80f98fde26e5abf1ea5cf586cfb6c21321cee9d0d984f82ef
diff --git a/games-kids/scratch/scratch-1.4.0.6.ebuild b/games-kids/scratch/scratch-1.4.0.6.ebuild
new file mode 100644
index 0000000..8a240bc
--- /dev/null
+++ b/games-kids/scratch/scratch-1.4.0.6.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit games confutils
+
+DESCRIPTION="A programming environment for creating and sharing interactive stories, animations, games, music, and art."
+HOMEPAGE="http://scratch.mit.edu/"
+SRC_URI="http://download.scratch.mit.edu/${P}.src.tar.gz"
+
+LICENSE="MIT GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa oss pulseaudio v4l"
+
+DEPEND="
+ dev-lang/squeak
+ >=x11-libs/cairo-1.8.6
+ >=x11-libs/pango-1.20.5
+ >=dev-libs/glib-2.20.1:2
+ v4l? ( >=media-libs/libv4l-0.5.8 )
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${P}.src"
+ABI="x86"
+
+if use alsa; then squeak_sound_plugin="ALSA"
+elif use oss; then squeak_sound_plugin="OSS"
+elif use pulseaudio; then squeak_sound_plugin="pulse"
+else squeak_sound_plugin="null"
+fi
+
+pkg_pretend() {
+ # Is the a convenience function for "zero or one"?
+ confutils_require_one alsa oss pulseaudio
+}
+
+src_prepare() {
+ if ! use v4l; then
+ sed -i '/\/camera/d' "${S}/Makefile"
+ fi
+ rm Plugins/so.MIDIPlugin Plugins/so.Mpeg3Plugin
+# use alsa || rm -f Plugins/vm-sound-ALSA
+# use oss || rm -f Plugins/vm-sound-OSS
+# use pulseaudio || rm -f Plugins/vm-sound-pulse
+}
+
+src_compile() {
+ cd ${S}
+ emake
+}
+
+src_install() {
+ local libdir="$(games_get_libdir)/${PN}"
+ local datadir="/usr/share/${PN}"
+ local icondir="/usr/share/icons/hicolor"
+ dodir "${libdir}" "${datadir}"
+
+ insinto "${libdir}"
+ doins -r Scratch.* Plugins
+
+ insinto "${datadir}"
+ doins -r Help locale Media Projects
+
+ doman src/man/scratch.1.gz
+ dodoc ACKNOWLEDGEMENTS KNOWN-BUGS README LICENSE NOTICE TRADEMARK_POLICY
+
+ insinto /usr/share/mime/packages
+ echo "3"
+ doins src/scratch.xml
+ (
+ cd src/icons
+ for res in *; do
+ insinto "${icondir}/${res}/apps"
+ doins "${res}"/scratch*.png
+
+ if [ -e "${res}/gnome-mime-application-x-scratch-project.png" ];
+ then
+ insinto "${icondir}/${res}/mimetypes"
+ newins "${res}/gnome-mime-application-x-scratch-project.png" mime-application-x-scratch-project.png
+ fi
+ done
+ )
+ install_runner
+ make_desktop_entry scratch Scratch scratch "Education;Development" "MimeType=application/x-scratch-project"
+}
+
+install_runner() {
+ local tmpexe=$(emktemp)
+ cat << EOF > "${tmpexe}"
+#!/bin/sh
+cd
+exec /usr/bin/squeak \\
+ -plugins "$(games_get_libdir)/${PN}/Plugins" \\
+ -vm-sound-${squeak_sound_plugin} \\
+ "$(games_get_libdir)/${PN}/Scratch.image" \\
+ "${@}"
+EOF
+ chmod go+rx "${tmpexe}"
+ newbin "${tmpexe}" "${PN}" || die
+}