summaryrefslogtreecommitdiff
path: root/gnu/packages/cinnamon.scm
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2025-09-26 21:16:25 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2026-08-01 11:08:33 +0200
commitf5395b152fd0f48e73eef219d94e138bed5abad2 (patch)
tree58c91517add1ea1564e352ed49cdeb2b23b3c36d /gnu/packages/cinnamon.scm
parent15eaa6ead07c6e391f34ac720535bc6c5244ef06 (diff)
gnu: Add cinnamon.
* gnu/packages/cinnamon.scm (cinnamon): New variable.
Diffstat (limited to 'gnu/packages/cinnamon.scm')
-rw-r--r--gnu/packages/cinnamon.scm108
1 files changed, 108 insertions, 0 deletions
diff --git a/gnu/packages/cinnamon.scm b/gnu/packages/cinnamon.scm
index 67f06156b17..2681f279e02 100644
--- a/gnu/packages/cinnamon.scm
+++ b/gnu/packages/cinnamon.scm
@@ -31,6 +31,7 @@
31 #:use-module (guix build-system gnu) 31 #:use-module (guix build-system gnu)
32 #:use-module (guix build-system meson) 32 #:use-module (guix build-system meson)
33 #:use-module (guix build-system pyproject) 33 #:use-module (guix build-system pyproject)
34 #:use-module (guix build-system trivial)
34 #:use-module (gnu packages) 35 #:use-module (gnu packages)
35 #:use-module (gnu packages admin) 36 #:use-module (gnu packages admin)
36 #:use-module (gnu packages autotools) 37 #:use-module (gnu packages autotools)
@@ -46,6 +47,7 @@
46 #:use-module (gnu packages ghostscript) 47 #:use-module (gnu packages ghostscript)
47 #:use-module (gnu packages gl) 48 #:use-module (gnu packages gl)
48 #:use-module (gnu packages glib) 49 #:use-module (gnu packages glib)
50 #:use-module (gnu packages gstreamer)
49 #:use-module (gnu packages gtk) 51 #:use-module (gnu packages gtk)
50 #:use-module (gnu packages gnome) 52 #:use-module (gnu packages gnome)
51 #:use-module (gnu packages gnuzilla) 53 #:use-module (gnu packages gnuzilla)
@@ -63,9 +65,11 @@
63 #:use-module (gnu packages pulseaudio) 65 #:use-module (gnu packages pulseaudio)
64 #:use-module (gnu packages python) 66 #:use-module (gnu packages python)
65 #:use-module (gnu packages python-build) 67 #:use-module (gnu packages python-build)
68 #:use-module (gnu packages python-web)
66 #:use-module (gnu packages python-xyz) 69 #:use-module (gnu packages python-xyz)
67 #:use-module (gnu packages readline) 70 #:use-module (gnu packages readline)
68 #:use-module (gnu packages samba) 71 #:use-module (gnu packages samba)
72 #:use-module (gnu packages time)
69 #:use-module (gnu packages tls) 73 #:use-module (gnu packages tls)
70 #:use-module (gnu packages web) 74 #:use-module (gnu packages web)
71 #:use-module (gnu packages window-management) 75 #:use-module (gnu packages window-management)
@@ -665,6 +669,110 @@ settings, themes, mouse settings, and startup of other daemons.")
665related packages.") 669related packages.")
666 (license license:gpl2+))) 670 (license license:gpl2+)))
667 671
672(define-public cinnamon
673 (package
674 (name "cinnamon")
675 (version "6.6.8")
676 (source (origin
677 (method git-fetch)
678 (uri (git-reference
679 (url "https://github.com/linuxmint/cinnamon")
680 (commit version)))
681 (file-name (git-file-name name version))
682 (sha256
683 (base32
684 "0g3n9aiyidi2fhjh8h3i2lb3gpif5kr2igsmzjvjzlvqapcyf8q7"))))
685 (build-system meson-build-system)
686 (arguments
687 (list
688 #:glib-or-gtk? #true
689 #:imported-modules `((guix build python-build-system)
690 ,@%meson-build-system-modules)
691 #:phases
692 #~(modify-phases %standard-phases
693 (add-after 'unpack 'patch-install
694 (lambda* (#:key inputs #:allow-other-keys)
695 (substitute* "meson.build"
696 (("install_dir: '/',") "install_dir: prefix,"))
697 (substitute* "install-scripts/meson_update_icon_cache.py"
698 (("gtk-update-icon-cache") "true"))
699 (substitute* (append (find-files "files/usr/bin")
700 (find-files "files/usr/share" "\\.py$"))
701 ((".*octopi.*") "")
702 (("\"gsettings")
703 (string-append "\""
704 (search-input-file inputs "bin/gsettings")))
705 (("/usr/bin/passwd") "passwd")
706 (("/usr/bin/([a-z_-]*)" all command)
707 (if (string-prefix? "cinnamon" command)
708 (string-append #$output "/bin/" command)
709 (search-input-file inputs
710 (string-append "/bin/" command))))
711 (("/usr/share") (string-append #$output "/share")))
712 (rename-file "files/usr/bin" "files/bin")
713 (rename-file "files/usr/share" "files/share")
714 (rmdir "files/usr")
715 (substitute* "files/share/cinnamon/cinnamon-settings/bin/capi.py"
716 (("(f?)\"/usr/lib/([^\"]*)\"" all f lib)
717 (string-append f "\"/run/current-system/profile/lib/" lib "\","
718 f "\"/usr/lib/" lib "\"")))))
719 (add-after 'install 'add-install-to-pythonpath
720 (@@ (guix build python-build-system) add-install-to-pythonpath))
721 (add-after 'add-install-to-pythonpath 'wrap-for-python
722 (@@ (guix build python-build-system) wrap))
723 (add-after 'wrap-for-python 'wrap-gi
724 (lambda _
725 (define gi-typelib-path (getenv "GI_TYPELIB_PATH"))
726 (for-each
727 (lambda (program)
728 (unless (wrapped-program? program)
729 (wrap-program program
730 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))
731 (find-files (string-append #$output "/bin"))))))))
732 (inputs (list cinnamon-control-center
733 cinnamon-desktop
734 cinnamon-menus
735 cjs
736 cups-minimal
737 gcr-3
738 gsound
739 gstreamer
740 libgnomekbd
741 libnotify
742 libsecret
743 libxapp
744 network-manager
745 muffin
746 polkit
747 python-wrapper
748 python-dbus
749 python-libsass
750 python-pam
751 python-pycairo
752 python-pexpect
753 python-pillow
754 python-psutil
755 python-pytz
756 python-pygobject
757 python-requests
758 python-setproctitle
759 python-tinycss2
760 python-xapp
761 python-xlrd
762 timezonemap
763 xdg-utils))
764 (native-inputs (list gettext-minimal
765 `(,glib "bin")
766 gobject-introspection
767 intltool
768 pkg-config))
769 (home-page "https://github.com/linuxmint/cinnamon/")
770 (synopsis "Graphical desktop environment")
771 (description
772 "Cinnamon is a desktop environment reminiscent of ye olde GNOME 2,
773with its underlying technology forked from modern GNOME.")
774 (license (list license:gpl2+))))
775
668(define-public muffin 776(define-public muffin
669 (package 777 (package
670 (name "muffin") 778 (name "muffin")