summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-01-04 11:17:38 +0100
committerRicardo Wurmus <rekado@elephly.net>2023-01-04 11:22:03 +0100
commitd62c65d5ad49d3bf7ae24b31743d96241170faca (patch)
tree438e84093ce432fef977a31a5e5457911456ae77
parent1f66dd0cfcbd9fbcb8545d21a8d58560ad281731 (diff)
downloadguix-d62c65d5ad49d3bf7ae24b31743d96241170faca.tar.gz
gnu: Add sugar-toolkit-gtk3.
* gnu/packages/sugar.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/sugar.scm105
2 files changed, 106 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index c6b64d021d..bc0309ee87 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -582,6 +582,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/stenography.scm			\
   %D%/packages/storage.scm			\
   %D%/packages/suckless.scm			\
+  %D%/packages/sugar.scm			\
   %D%/packages/swig.scm				\
   %D%/packages/sync.scm			\
   %D%/packages/syncthing.scm			\
diff --git a/gnu/packages/sugar.scm b/gnu/packages/sugar.scm
new file mode 100644
index 0000000000..35514263ff
--- /dev/null
+++ b/gnu/packages/sugar.scm
@@ -0,0 +1,105 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages sugar)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages xorg)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system python)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
+  #:use-module (guix gexp))
+
+(define-public sugar-toolkit-gtk3
+  (package
+    (name "sugar-toolkit-gtk3")
+    (version "0.120")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/sugarlabs/sugar-toolkit-gtk3")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1wqanc38zplyiq1vxda4bj1n0xd78zqlwml6lzklsrbz923llykz"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     (list
+      #:imported-modules
+      `(,@%glib-or-gtk-build-system-modules
+        (guix build python-build-system))
+      #:modules
+      '((guix build glib-or-gtk-build-system)
+        ((guix build python-build-system) #:prefix python:)
+        (guix build utils))
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'unpack 'patch-build-system
+           (lambda _
+             (substitute* "autogen.sh"
+               (("^\"\\$srcdir/configure" m)
+                (string-append "#" m)))))
+         (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (wrap-program (search-input-file outputs "bin/sugar-activity3")
+               `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")
+                                      ,(python:site-packages inputs outputs)))
+               `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))
+    (inputs
+     (list alsa-lib
+           gdk-pixbuf
+           gobject-introspection
+           libice
+           (librsvg-for-system)
+           libsm
+           libx11
+           libxfixes
+           libxi
+           python
+           python-dbus
+           python-decorator
+           python-pygobject
+           python-six))
+    (native-inputs
+     (list autoconf automake
+           gettext-minimal
+           glib
+           (list glib "bin")
+           gtk+
+           intltool
+           libtool
+           pkg-config))
+    (home-page "https://www.sugarlabs.org/")
+    (synopsis "GTK+ widgets and services for Sugar components")
+    (description "Sugar Toolkit provides services and a set of GTK+ widgets to
+build activities and other Sugar components.  This is the GTK+ 3 binding of
+the Sugar Toolkit.")
+    (license license:lgpl2.1+)))