summaryrefslogtreecommitdiff
path: root/games-kids/scratch/scratch-1.4.0.7.ebuild
diff options
context:
space:
mode:
authorMarcin Deranek <gringo@slonko.net>2019-01-12 22:56:59 +0100
committerMarcin Deranek <gringo@slonko.net>2019-01-12 22:56:59 +0100
commit5f9ab942ba225f0b6f86840b1f48f40b05edb35b (patch)
treeb800831e571490a06dc9d76d69ec8dca628ea0df /games-kids/scratch/scratch-1.4.0.7.ebuild
parent5c9722d4f665c8d881d89a8a5a398ff821a638ab (diff)
downloadportage-5f9ab942ba225f0b6f86840b1f48f40b05edb35b.tar.gz
portage-5f9ab942ba225f0b6f86840b1f48f40b05edb35b.tar.bz2
portage-5f9ab942ba225f0b6f86840b1f48f40b05edb35b.zip
Add Scratch
Diffstat (limited to 'games-kids/scratch/scratch-1.4.0.7.ebuild')
-rw-r--r--games-kids/scratch/scratch-1.4.0.7.ebuild102
1 files changed, 102 insertions, 0 deletions
diff --git a/games-kids/scratch/scratch-1.4.0.7.ebuild b/games-kids/scratch/scratch-1.4.0.7.ebuild
new file mode 100644
index 0000000..e8b8733
--- /dev/null
+++ b/games-kids/scratch/scratch-1.4.0.7.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils xdg-utils
+
+DESCRIPTION="A programming environment for creating stories, animations, games, and music."
+HOMEPAGE="http://scratch.mit.edu/"
+SRC_URI="http://download.scratch.mit.edu/${P}.src.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+alsa oss pulseaudio nas +v4l"
+
+DEPEND="dev-lang/squeakvm[scratch]
+ alsa? ( dev-lang/squeakvm[alsa] )
+ oss? ( dev-lang/squeakvm[oss] )
+ pulseaudio? ( dev-lang/squeakvm[pulseaudio] )
+ nas? ( dev-lang/squeakvm[nas] )
+ v4l? ( dev-lang/squeakvm[v4l] )"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="?? ( alsa oss pulseaudio nas )"
+
+S="${WORKDIR}/${P}.src"
+
+src_prepare() {
+ rm -rf src/plugins/*
+ rm -f Makefile
+ eapply_user
+}
+
+src_configure(){
+
+if use alsa; then squeak_sound_plugin="ALSA"
+elif use oss; then squeak_sound_plugin="OSS"
+elif use pulseaudio; then squeak_sound_plugin="pulse"
+elif use nas; then squeak_sound_plugin="nas"
+else squeak_sound_plugin="null"
+fi
+
+}
+
+src_install() {
+ local datadir="/usr/share/${PN}"
+ local icondir="/usr/share/icons/hicolor"
+ dodir "${datadir}"
+ cp -r Help locale Media Projects "${D}${datadir}"
+ doman src/man/*
+ dodoc ACKNOWLEDGEMENTS KNOWN-BUGS README NOTICE TRADEMARK_POLICY
+ insinto /usr/share/mime/packages
+ doins src/scratch.xml
+ dolib Scratch.image
+ dolib Scratch.ini
+ (
+ cd src/icons
+ for res in *; do
+ insinto "${icondir}/${res}/apps"
+ doins "${res}"/scratch*.png
+ insinto "${icondir}/${res}/mimetypes"
+ if [[ ${res} != "32x32" ]]; then
+ 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" \\
+-vm-sound-${squeak_sound_plugin} \\
+"/usr/$(get_libdir)/Scratch.image" \\
+"${@}"
+EOF
+ chmod go+rx "${tmpexe}"
+ newbin "${tmpexe}" "${PN}" || die
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+
+}
+
+pkg_postrm() {
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+}