From 5f9ab942ba225f0b6f86840b1f48f40b05edb35b Mon Sep 17 00:00:00 2001 From: Marcin Deranek Date: Sat, 12 Jan 2019 22:56:59 +0100 Subject: Add Scratch --- dev-lang/squeakvm/Manifest | 2 + dev-lang/squeakvm/squeakvm-4.10.2.2614.ebuild | 173 ++++++++++++++++++++++++++ games-kids/scratch/Manifest | 2 + games-kids/scratch/scratch-1.4.0.7.ebuild | 102 +++++++++++++++ 4 files changed, 279 insertions(+) create mode 100644 dev-lang/squeakvm/Manifest create mode 100644 dev-lang/squeakvm/squeakvm-4.10.2.2614.ebuild create mode 100644 games-kids/scratch/Manifest create mode 100644 games-kids/scratch/scratch-1.4.0.7.ebuild diff --git a/dev-lang/squeakvm/Manifest b/dev-lang/squeakvm/Manifest new file mode 100644 index 0000000..c08456e --- /dev/null +++ b/dev-lang/squeakvm/Manifest @@ -0,0 +1,2 @@ +DIST Squeak-4.10.2.2614-src.tar.gz 3297314 BLAKE2B 03c89ea96ed005f1d7a25e6b1016f39bec2dbd7e2282a12c1b02ab57859477d87e3098426c55411fc06e250207830b7e50a23e6330ca64fd967613f2af86e180 SHA512 b823fb97f7826dbbae5feeb15ffc3ab7e11cf27c5a3cc3f2cf2f8c39b56af5f9d0078d020a4b8f72b997198d296be6d85ec10e0bca10d5214bf586e1e0587f07 +EBUILD squeakvm-4.10.2.2614.ebuild 3934 BLAKE2B 165a8ba90f496611f3c0e26dfcddf4d4b165540bbca94aa8179f0bbe51b149632fc6ee7c9fe8bf13e1590685eea2d99413674602629fa75007cbc781c5b39bcb SHA512 5f1ff4415a35dfef84c5d680884ab7d142c27b7c7f0dca5a3c40079ec7371e3fcb00b33b4b6510ca039e8e942ed6ff1e9f41fb8925cebf753d34a2a368711bc0 diff --git a/dev-lang/squeakvm/squeakvm-4.10.2.2614.ebuild b/dev-lang/squeakvm/squeakvm-4.10.2.2614.ebuild new file mode 100644 index 0000000..571ee79 --- /dev/null +++ b/dev-lang/squeakvm/squeakvm-4.10.2.2614.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +EAPI=6 +inherit versionator fixheadtails +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="~x86 ~amd64" +IUSE="+X +mmx +threads +iconv +opengl image64 alsa oss pulseaudio nas +v4l fbcon dbus +scratch examples" + + +DEPEND="X? ( x11-libs/libX11 x11-libs/libXext x11-libs/libXt ) + dev-util/cmake + media-libs/freetype + >=x11-libs/cairo-1.8.6 + >=x11-libs/pango-1.20.5 + >=dev-libs/glib-2.20.1:2 + virtual/libffi + sys-apps/util-linux + iconv? ( virtual/libiconv ) + opengl? ( virtual/opengl ) + v4l? ( >=media-libs/libv4l-0.5.8 ) + alsa? ( media-libs/alsa-lib ) + oss? ( || ( media-libs/alsa-oss media-sound/oss ) ) + pulseaudio? ( media-sound/pulseaudio ) + nas? ( media-libs/nas ) + dbus? ( sys-apps/dbus )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/Squeak-${PV}-src" + +src_prepare() { + ht_fix_all + eapply_user + if ! use examples; then + rm -rf unix/vm-display-custom + rm -rf unix/vm-sound-custom + fi +} + +src_configure() { + local myconf="" + if use X; then + myconf="${myconf} --with-x" + else + myconf="${myconf} --without-x" + fi + if use threads; then + myconf="${myconf} --enable-mpg-pthread" + else + myconf="${myconf} --disable-mpg-pthread" + fi + if use iconv; then + myconf="${myconf} --enable-iconv" + else + myconf="${myconf} --disable-iconv" + fi + + if use opengl; then + myconf="${myconf} --with-gl" + else + myconf="${myconf} --without-gl" + fi + + if use alsa; then + myconf="${myconf} --with-alsa" + else + myconf="${myconf} --without-alsa" + fi + + if use oss; then + myconf="${myconf} --with-oss" + else + myconf="${myconf} --without-oss" + fi + + if use pulseaudio; then + myconf="${myconf} --with-pulse" + else + myconf="${myconf} --without-pulse" + fi + + if use nas; then + myconf="${myconf} --with-NAS" + else + myconf="${myconf} --without-NAS" + fi + + if use v4l; then + myconf="${myconf} --with-CameraPlugin" + else + myconf="${myconf} --without-CameraPlugin" + fi + + if use fbcon; then + myconf="${myconf} --with-fbdev" + else + myconf="${myconf} --without-fbdev" + fi + + if use dbus; then + myconf="${myconf} --with-DBusPlugin" + else + myconf="${myconf} --without-DBusPlugin" + fi + + if use scratch; then + myconf="${myconf} --with-ScratchPlugin" + else + myconf="${myconf} --without-ScratchPlugin" + fi + + + if use X; then + myconf="${myconf} --with-x" + else + myconf="${myconf} --without-x" + fi + + + if use X; then + myconf="${myconf} --with-x" + else + myconf="${myconf} --without-x" + fi + + + + + #use mmx && myconf="${myconf} --enable-mpg-mmx" + #use threads && myconf="${myconf} --enable-mpg-pthread" + #use iconv || myconf="${myconf} --disable-iconv" + #use opengl || myconf="${myconf} --without-gl" + use image64 && myconf="${myconf} --image64" + #use alsa || myconf="${myconf} --without-alsa" + #use oss || myconf="${myconf} --without-OSS" + #use pulseaudio || myconf="${myconf} --without-pulse" + #use nas || myconf="${myconf} --without-NAS" + #use v4l || myconf="${myconf} --without-CameraPlugin" + #use fbcon || myconf="${myconf} --without-fbdev" + #use dbus || myconf="${myconf} --without-DBusPlugin" + #use scratch || myconf="${myconf} --without-ScratchPlugin" + + + + cd ${S} + touch unix/npsqueak/CMakeLists.txt + mkdir build + cd build + ../unix/cmake/configure \ + --prefix=/usr \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --with-ffi=x86-sysv \ + --without-npsqueak \ + --without-quartz \ + --without-Sun \ + --without-MaxOSX \ + --without-WeDoPlugin \ + --with-FT2Plugin \ + --with-SqueakFFIPrims \ + ${myconf} || die "configure failed" +} + +src_install() { + dodoc README unix/ChangeLog + cd ${S}/build + emake DESTDIR=${D} ROOT=${D} docdir=/usr/share/doc/${PF} install || die + exeinto /usr/lib/squeak + exeinto /usr/lib/ckformat +} diff --git a/games-kids/scratch/Manifest b/games-kids/scratch/Manifest new file mode 100644 index 0000000..0e92cb1 --- /dev/null +++ b/games-kids/scratch/Manifest @@ -0,0 +1,2 @@ +DIST scratch-1.4.0.7.src.tar.gz 47617852 BLAKE2B feb4ba25dce3ac5f82974a0b22b95ff22b543f1bdb6362cc53bc16b54b6082fada6783734b38afadde340a097dc8758aa9ab061b050b4f9d4c71342fd1574b40 SHA512 a5dba21855ad2d087e0d76066ee70c6f36c67c66deccb6eb001249bc25391b0f9036d9fd2ab8383ef54c414e743dff23e9e52ab1c73dd7200f36d7d47c62f562 +EBUILD scratch-1.4.0.7.ebuild 2389 BLAKE2B c7fdc5be7218f410d51a10ce6a91335da720117ef1f7c8c9b3260f9c24f1fa9d67305acbeacd297f775a07170ebab71b28f8f54a0182ad174658060d77d6dbb5 SHA512 02dea76331649d4f40f76ab1f3b987f0385de4cdee562683083e69ebec4d4754f9cc571437ee5ddbe9ae815a0678034600ce68847cd8c3461798aece3ca1141f 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 +} -- cgit v1.2.3