diff options
-rw-r--r-- | dev-lang/squeak/Manifest | 4 | ||||
-rw-r--r-- | dev-lang/squeak/NOTES.txt | 4 | ||||
-rw-r--r-- | dev-lang/squeak/files/pluginpath.patch | 13 | ||||
-rw-r--r-- | dev-lang/squeak/squeak-4.4.7.2357.ebuild | 82 | ||||
-rw-r--r-- | games-kids/scratch/Manifest | 2 | ||||
-rw-r--r-- | games-kids/scratch/scratch-1.4.0.6.ebuild | 104 |
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 +} |