summaryrefslogtreecommitdiff
path: root/gnu/packages/sugar.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2024-02-13 20:00:51 +0100
committerRicardo Wurmus <rekado@elephly.net>2024-02-13 20:01:25 +0100
commit2915551a407f4bda8e0d7e9d8ace5431b9ace4fd (patch)
tree9f519ca856a9e41c08cb0a2b5944bd080d0596d3 /gnu/packages/sugar.scm
parent50d068591cb667d8fe0b883ab6ada368a694ffc1 (diff)
downloadguix-patches-2915551a407f4bda8e0d7e9d8ace5431b9ace4fd.tar
guix-patches-2915551a407f4bda8e0d7e9d8ace5431b9ace4fd.tar.gz
gnu: Add sugar-turtleart-activity.
* gnu/packages/sugar.scm (sugar-turtleart-activity): New variable. Change-Id: I232ff10c1d9b41591f89eb24ff9fa8974322a039
Diffstat (limited to 'gnu/packages/sugar.scm')
-rw-r--r--gnu/packages/sugar.scm88
1 files changed, 88 insertions, 0 deletions
diff --git a/gnu/packages/sugar.scm b/gnu/packages/sugar.scm
index fe14e55bb4..191b054207 100644
--- a/gnu/packages/sugar.scm
+++ b/gnu/packages/sugar.scm
@@ -19,6 +19,7 @@
(define-module (gnu packages sugar)
#:use-module (gnu packages)
#:use-module (gnu packages abiword)
+ #:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@@ -35,6 +36,7 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages search)
+ #:use-module (gnu packages speech)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh)
#:use-module (gnu packages time)
@@ -768,6 +770,92 @@ controls.")
a Command-Line Interface (CLI) to the system.")
(license (list license:gpl2+ license:gpl3+)))))
+(define-public sugar-turtleart-activity
+ (let ((commit "a4340adea18efbdb987eca6477fa71d5c924811f")
+ (revision "1"))
+ (package
+ (name "sugar-turtleart-activity")
+ (version (git-version "202" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sugarlabs/turtleart-activity")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11agqyahjhxb7bakzix63lazcbin0jfiypqx0sm2i85bsl30fp7y"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:test-target "check"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-launcher
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "activity/activity.info"
+ (("exec = sugar-activity3")
+ (string-append "exec = "
+ (search-input-file inputs "/bin/sugar-activity3"))))))
+ (add-after 'unpack 'patch-locations
+ (lambda _
+ (substitute* "setup.py"
+ (("'/usr/share/applications")
+ "'share/applications"))))
+ (add-after 'unpack 'patch-tool-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("TurtleArtActivity.py"
+ "TurtleArt/turtleblocks.py")
+ (("glib-compile-schemas")
+ (search-input-file inputs "/bin/glib-compile-schemas")))
+ (substitute* '("plugins/turtle_blocks_extras/turtle_blocks_extras.py"
+ "pysamples/speak.py"
+ "TurtleArt/tacollaboration.py")
+ (("'espeak")
+ (string-append "'" (search-input-file inputs "/bin/espeak"))))
+ (substitute* '("pysamples/csound.py"
+ "plugins/turtle_blocks_extras/turtle_blocks_extras.py")
+ (("'csound '")
+ (string-append "'" (search-input-file inputs "/bin/csound")
+ " '")))
+ (substitute* '("plugins/turtle_blocks_extras/turtle_blocks_extras.py"
+ "pysamples/speak.py"
+ "TurtleArt/tacollaboration.py")
+ (("\\| aplay")
+ (string-append "| "
+ (search-input-file inputs "/bin/aplay"))))
+ (substitute* "pysamples/sinewave.py"
+ (("'speaker-test")
+ (string-append "'"
+ (search-input-file inputs "/bin/speaker-test"))))))
+ (replace 'install
+ (lambda _
+ (setenv "HOME" "/tmp")
+ (invoke "python" "setup.py" "install"
+ (string-append "--prefix=" #$output)))))))
+ ;; All these libraries are accessed via gobject introspection.
+ (propagated-inputs
+ (list gstreamer
+ gtk+
+ telepathy-glib
+ webkitgtk-for-gtk3))
+ (inputs
+ (list alsa-utils
+ csound
+ espeak
+ (list glib "bin")
+ gettext-minimal
+ sugar-toolkit-gtk3))
+ (home-page "https://help.sugarlabs.org/en/turtleart.html")
+ (synopsis "Block-based Logo programming environment")
+ (description "Turtle Art, also known as Turtle Blocks, is an activity
+with a Logo-inspired graphical “turtle” that draws colorful art based on
+snap-together visual programming elements. Its “low floor” provides an easy
+entry point for beginners. It also has “high ceiling” programming, graphics,
+mathematics, and Computer Science features which will challenge the more
+adventurous student.")
+ (license license:expat))))
+
(define-public sugar-typing-turtle-activity
(package
(name "sugar-typing-turtle-activity")