summaryrefslogtreecommitdiff
path: root/gnu/packages/sugar.scm
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2024-03-02 08:07:11 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2024-03-02 08:07:11 +0100
commit3d4fc910f73220f47e5f2459853333a7c83c5d1d (patch)
treed3178f93b78b3629dc7067cef69cf2a95490966d /gnu/packages/sugar.scm
parent9160cccd767cdfa55f7a460750c6b0f7544c12eb (diff)
parent4a0549be52f3f46fbce61342d8de30f7b83130c5 (diff)
Merge branch 'master' into emacs-team
Diffstat (limited to 'gnu/packages/sugar.scm')
-rw-r--r--gnu/packages/sugar.scm281
1 files changed, 239 insertions, 42 deletions
diff --git a/gnu/packages/sugar.scm b/gnu/packages/sugar.scm
index 4a0de1b55a..5db070a72d 100644
--- a/gnu/packages/sugar.scm
+++ b/gnu/packages/sugar.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,10 +19,12 @@
(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)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages game-development)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -35,6 +37,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)
@@ -53,7 +56,7 @@
(define-public sugar
(package
(name "sugar")
- (version "0.120")
+ (version "0.121")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -62,7 +65,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "0imhaj49n7ain33kmrqk19rzlfr50m84fbc011vgg1010ddp3vdw"))))
+ "1s31sz1j7x82vynd233k7jqqp881bpz7486r78wfz2i84f2n4n06"))))
(build-system glib-or-gtk-build-system)
(arguments
(list
@@ -79,7 +82,10 @@
(lambda _
(substitute* "autogen.sh"
(("^\"\\$srcdir/configure" m)
- (string-append "#" m)))))
+ (string-append "#" m)))
+ ;; This .po file does not exist
+ (substitute* "po/LINGUAS"
+ (("^ig") ""))))
(add-after 'unpack 'fix-references
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "bin/sugar.in"
@@ -106,12 +112,6 @@
(dirname
(search-input-file inputs
"/share/mobile-broadband-provider-info/serviceproviders.xml"))))
- ;; XXX: spawn_command_line_sync is not used correctly here, so
- ;; we need to patch invocations.
- (substitute* '("extensions/cpsection/aboutcomputer/model.py"
- "src/jarabe/model/brightness.py")
- (("spawn_command_line_sync\\(cmd\\)")
- "spawn_command_line_sync(cmd, 0)"))
(substitute* "extensions/cpsection/aboutcomputer/model.py"
(("ethtool")
(search-input-file inputs "/sbin/ethtool")))
@@ -120,15 +120,11 @@
(string-append "'"
(search-input-file inputs "/bin/locale")
"'")))
- ;; XXX: The brightness component crashes, so we disable it here.
- (substitute* "src/jarabe/main.py"
- (("brightness.get_instance\\(\\)") ""))
- ;; TODO: these locations should be set to places that exist on
- ;; Guix System.
- #;
+ ;; This is a global location on Guix System. Ideally we would
+ ;; have a search path here.
(substitute* "extensions/cpsection/background/model.py"
(("\\('/usr', 'share', 'backgrounds'\\)")
- "('TODO')"))
+ "('/run', 'current-system', 'profile', 'share', 'backgrounds')"))
(substitute* "src/jarabe/view/viewhelp.py"
(("/usr/share/sugar/activities/")
"/run/current-system/profile/share/sugar/activities/"))))
@@ -161,7 +157,7 @@
gstreamer
gtk+
gtksourceview-3
- libsoup-minimal-2
+ libsoup-minimal
libwnck
libxklavier
network-manager
@@ -175,7 +171,7 @@
telepathy-salut ;for XMPP neighborhood
;; This is for the UPowerGlib namespace
upower
- webkitgtk-with-libsoup2))
+ webkitgtk-for-gtk3))
(native-inputs
(list autoconf automake
gettext-minimal
@@ -195,7 +191,7 @@ used every school day by children in more than forty countries.")
(define-public sugar-artwork
(package
(name "sugar-artwork")
- (version "0.120")
+ (version "0.121")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -204,7 +200,7 @@ used every school day by children in more than forty countries.")
(file-name (git-file-name name version))
(sha256
(base32
- "1mjydyx7kbk429s3kswfb8x7g5smjwnai924avwxab1kjsjjksm9"))))
+ "00m3dmwswfy4whc2hs51lqckz1z1f2jnw94jhxgw40b17w00pzwj"))))
(build-system gnu-build-system)
(arguments
(list
@@ -219,7 +215,7 @@ used every school day by children in more than forty countries.")
(string-append "#" m))))))))
(inputs (list cairo gtk+))
(native-inputs
- (list autoconf automake
+ (list autoconf-2.71 automake
icon-naming-utils
libtool
pkg-config
@@ -236,7 +232,7 @@ activities and other Sugar components.")
(define-public sugar-datastore
(package
(name "sugar-datastore")
- (version "0.120")
+ (version "0.121")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -245,7 +241,7 @@ activities and other Sugar components.")
(file-name (git-file-name name version))
(sha256
(base32
- "1wf33w6dm26i8a1zpb40339fj3l9vxjznagls9bc845nld318sqc"))))
+ "01mp0vyg9d6ig29p484prqlgqpa7a3pai8ki37dyk682gr0fhljb"))))
(build-system glib-or-gtk-build-system)
(arguments
(list
@@ -293,7 +289,8 @@ activities and other Sugar components.")
python-pygobject
python-xapian-bindings))
(native-inputs
- (list autoconf automake
+ (list autoconf-2.71
+ automake
libtool
pkg-config))
(home-page "https://www.sugarlabs.org/")
@@ -305,7 +302,7 @@ and metadata, and the journal with querying and full text search.")
(define-public sugar-toolkit-gtk3
(package
(name "sugar-toolkit-gtk3")
- (version "0.120")
+ (version "0.121")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -314,7 +311,7 @@ and metadata, and the journal with querying and full text search.")
(file-name (git-file-name name version))
(sha256
(base32
- "1wqanc38zplyiq1vxda4bj1n0xd78zqlwml6lzklsrbz923llykz"))))
+ "0x80jqx0z89jxfy2dvn4l35qbyvq3c2hg9jq4i0llq1qgkc4034b"))))
(build-system glib-or-gtk-build-system)
(arguments
(list
@@ -368,9 +365,10 @@ and metadata, and the journal with querying and full text search.")
python-six
telepathy-glib
- webkitgtk-with-libsoup2))
+ webkitgtk-for-gtk3))
(native-inputs
- (list autoconf automake
+ (list autoconf-2.71
+ automake
gettext-minimal
glib
(list glib "bin")
@@ -386,11 +384,11 @@ the Sugar Toolkit.")
(define-public sugar-block-party-activity
- (let ((commit "a49e68ec00e647af712d8e284622722f2f78b6bf")
+ (let ((commit "26a58f14254d6ae38b7bfa3cb2fc63291eefcc97")
(revision "1"))
(package
(name "sugar-block-party-activity")
- (version (git-version "11" revision commit))
+ (version (git-version "12" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -399,7 +397,7 @@ the Sugar Toolkit.")
(file-name (git-file-name name version))
(sha256
(base32
- "0hy82c0gn1hr34arhnh9k6mx2789ki85fkgvga4sw6gwh31278pl"))))
+ "0zinqhwmvyvk1zvs28dr71p68vb6widn4v3zp35zlzj4ayyn5rvx"))))
(build-system python-build-system)
(arguments
(list
@@ -430,7 +428,7 @@ a Tetris-like game.")
(define-public sugar-browse-activity
(package
(name "sugar-browse-activity")
- (version "207")
+ (version "208")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -439,7 +437,7 @@ a Tetris-like game.")
(file-name (git-file-name name version))
(sha256
(base32
- "01p1gfdw9fhn92didc9sq23n6a3krs6findbbmicijz91kx8kfb2"))))
+ "1lxwkwz7bz8vd0jgsgvlwdm6gkrmzcmwlyqvp12j2jk5mpr4fp44"))))
(build-system python-build-system)
(arguments
(list
@@ -468,11 +466,11 @@ a Tetris-like game.")
gobject-introspection
gtk+
(librsvg-for-system)
- libsoup-minimal-2
+ libsoup-minimal
python-pygobject
sugar-toolkit-gtk3
telepathy-glib
- webkitgtk-with-libsoup2))
+ webkitgtk-for-gtk3))
(inputs
(list (list glib "bin")))
(native-inputs
@@ -485,6 +483,58 @@ a Tetris-like game.")
license:gpl2+
license:gpl3+))))
+(define-public sugar-chat-activity
+ ;; The last release was in 2019 and since then commits have been published
+ ;; that include build fixes and translation updates.
+ (let ((commit "a6a14b99576619639fd82fd265c4af096bcf52dc")
+ (revision "1"))
+ (package
+ (name "sugar-chat-activity")
+ (version (git-version "86" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sugarlabs/chat")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1gp1ljazm119hqzwz0rkr6k588ngd68manndm808pj5vgbv7qsdq"))))
+ (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"))))))
+ (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 gdk-pixbuf
+ gobject-introspection
+ gtk+
+ gstreamer
+ gst-plugins-base
+ python-pygobject
+ sugar-toolkit-gtk3
+ telepathy-glib))
+ (native-inputs
+ (list gettext-minimal))
+ (home-page "https://help.sugarlabs.org/chat.html")
+ (synopsis "Sugar activity to chat")
+ (description "Chat is an activity used to exchange messages with friends
+or classmates.")
+ (license license:gpl2+))))
+
(define-public sugar-help-activity
(let ((commit "492531e95a4c60af9b85c79c59c24c06c2cd4bb3")
(revision "1"))
@@ -528,8 +578,8 @@ to provide users with easy access to documentation and manuals.")
(license license:gpl3+))))
(define-public sugar-jukebox-activity
- (let ((commit "e11f40c94c1c6302d3e36ddf4dc8101732ffb9d9")
- (revision "1"))
+ (let ((commit "44ad1da717904a7c7d93a08985b94468a9b7ab7a")
+ (revision "2"))
(package
(name "sugar-jukebox-activity")
(version (git-version "36" revision commit))
@@ -541,7 +591,7 @@ to provide users with easy access to documentation and manuals.")
(file-name (git-file-name name version))
(sha256
(base32
- "0gm1cj4vrwwdriyshd27w6vc0palwpg9pnnab5axinrnkzczyk1v"))))
+ "1c8g4h52jnwzk5vlkrkm8j0p5dbrjqd8hv3bdz5rp39w9in3skzk"))))
(build-system python-build-system)
(arguments
(list
@@ -640,7 +690,7 @@ looking for why an activity or Sugar is not working properly.")
(define-public sugar-maze-activity
(package
(name "sugar-maze-activity")
- (version "31")
+ (version "32")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -649,7 +699,7 @@ looking for why an activity or Sugar is not working properly.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ai2ws3mqkxi13chy0hidd1gxiv97862r9lg8qgxb7qkxqyh6afr"))))
+ "0506mwxy3agyxlilb5v3pn29pg45lzaxm8rhj9azm58irs3wdmnq"))))
(build-system python-build-system)
(arguments
(list
@@ -679,6 +729,67 @@ looking for why an activity or Sugar is not working properly.")
or you can also play with a friend!")
(license license:gpl3+)))
+(define-public sugar-physics-activity
+ (let ((commit "cfd17b82b783f1ce4952ccdef6a8ddbe3d8f3e46")
+ (revision "1"))
+ (package
+ (name "sugar-physics-activity")
+ (version (git-version "35" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sugarlabs/physics")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0yzq4cbgcngf1ayi4bsn04l3mz6pnayd6db9bv0v9xfrpjmffvyk"))))
+ (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 'inject-load-path
+ (lambda _
+ (substitute* "activity.py"
+ (("^import os")
+ (string-append "\
+import sys, os
+for directory in \"" (getenv "GUIX_PYTHONPATH") "\".split(\":\"):
+ try:
+ sys.path.index(directory)
+ except ValueError:
+ sys.path.insert(1, directory)
+")))))
+ (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 gtk+
+ gdk-pixbuf))
+ (inputs
+ (list python-pybox2d
+ python-pygame
+ sugar-toolkit-gtk3
+ gettext-minimal))
+ (home-page "https://github.com/sugarlabs/physics")
+ (synopsis "Physical world simulator and playground")
+ (description "Physics is a physical world simulator and playground---you
+can add squares, circles, triangles, or draw your own shapes, and see them
+come to life with forces (think gravity, Newton!), friction (scrrrrape), and
+inertia (ahh, slow down!).")
+ (license license:gpl3+))))
+
(define-public sugar-read-activity
(let ((commit "25f69e41a4fa69d93c73c0c9367b4777a014b1cd")
(revision "1"))
@@ -716,7 +827,7 @@ or you can also play with a friend!")
(list evince
gtk+
sugar-toolkit-gtk3
- webkitgtk-with-libsoup2))
+ webkitgtk-for-gtk3))
(inputs
(list gettext-minimal))
(home-page "https://help.sugarlabs.org/read.html")
@@ -773,6 +884,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")