| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 | |
| 19 | |
| 20 | |
| 21 |
|
| 22 | (define-module (gnu packages cinnamon)
|
| 23 | #:use-module ((guix licenses) #:prefix license:)
|
| 24 | #:use-module (guix packages)
|
| 25 | #:use-module (guix download)
|
| 26 | #:use-module (guix git-download)
|
| 27 | #:use-module (guix gexp)
|
| 28 | #:use-module (guix build utils)
|
| 29 | #:use-module (guix utils)
|
| 30 | #:use-module (guix build-system copy)
|
| 31 | #:use-module (guix build-system gnu)
|
| 32 | #:use-module (guix build-system meson)
|
| 33 | #:use-module (guix build-system pyproject)
|
| 34 | #:use-module (guix build-system trivial)
|
| 35 | #:use-module (gnu packages)
|
| 36 | #:use-module (gnu packages admin)
|
| 37 | #:use-module (gnu packages autotools)
|
| 38 | #:use-module (gnu packages base)
|
| 39 | #:use-module (gnu packages bash)
|
| 40 | #:use-module (gnu packages bootstrap)
|
| 41 | #:use-module (gnu packages compression)
|
| 42 | #:use-module (gnu packages cups)
|
| 43 | #:use-module (gnu packages docbook)
|
| 44 | #:use-module (gnu packages freedesktop)
|
| 45 | #:use-module (gnu packages gcc)
|
| 46 | #:use-module (gnu packages gettext)
|
| 47 | #:use-module (gnu packages ghostscript)
|
| 48 | #:use-module (gnu packages gl)
|
| 49 | #:use-module (gnu packages glib)
|
| 50 | #:use-module (gnu packages gstreamer)
|
| 51 | #:use-module (gnu packages gtk)
|
| 52 | #:use-module (gnu packages gnome)
|
| 53 | #:use-module (gnu packages gnuzilla)
|
| 54 | #:use-module (gnu packages ibus)
|
| 55 | #:use-module (gnu packages iso-codes)
|
| 56 | #:use-module (gnu packages kerberos)
|
| 57 | #:use-module (gnu packages libcanberra)
|
| 58 | #:use-module (gnu packages linux)
|
| 59 | #:use-module (gnu packages nss)
|
| 60 | #:use-module (gnu packages password-utils)
|
| 61 | #:use-module (gnu packages perl)
|
| 62 | #:use-module (gnu packages pkg-config)
|
| 63 | #:use-module (gnu packages photo)
|
| 64 | #:use-module (gnu packages polkit)
|
| 65 | #:use-module (gnu packages pulseaudio)
|
| 66 | #:use-module (gnu packages python)
|
| 67 | #:use-module (gnu packages python-build)
|
| 68 | #:use-module (gnu packages python-web)
|
| 69 | #:use-module (gnu packages python-xyz)
|
| 70 | #:use-module (gnu packages readline)
|
| 71 | #:use-module (gnu packages samba)
|
| 72 | #:use-module (gnu packages time)
|
| 73 | #:use-module (gnu packages tls)
|
| 74 | #:use-module (gnu packages web)
|
| 75 | #:use-module (gnu packages window-management)
|
| 76 | #:use-module (gnu packages xdisorg)
|
| 77 | #:use-module (gnu packages xml)
|
| 78 | #:use-module (gnu packages xorg))
|
| 79 |
|
| 80 | (define-public libadapta
|
| 81 | (package
|
| 82 | (name "libadapta")
|
| 83 | (version "1.5.0")
|
| 84 | (source (origin
|
| 85 | (method git-fetch)
|
| 86 | (uri (git-reference
|
| 87 | (url "https://github.com/xapp-project/libadapta")
|
| 88 | (commit version)))
|
| 89 | (file-name (git-file-name name version))
|
| 90 | (sha256
|
| 91 | (base32
|
| 92 | "07zl1wswvqqxana1x59dxhpbm2biqn06jr5z0qvg03hdyh7isp2d"))))
|
| 93 | (build-system meson-build-system)
|
| 94 | (arguments
|
| 95 | `(#:phases
|
| 96 | (modify-phases %standard-phases
|
| 97 | (add-before 'check 'pre-check
|
| 98 | (lambda* (#:key inputs #:allow-other-keys)
|
| 99 | |
| 100 | (system "Xvfb :1 &")
|
| 101 | (setenv "DISPLAY" ":1"))))))
|
| 102 | (native-inputs
|
| 103 | (list gettext-minimal
|
| 104 | `(,glib "bin")
|
| 105 | gobject-introspection
|
| 106 | gtk-doc/stable
|
| 107 | pkg-config
|
| 108 | sassc
|
| 109 | vala
|
| 110 | xorg-server-for-tests))
|
| 111 | (propagated-inputs
|
| 112 | (list appstream gtk))
|
| 113 | (home-page "https://github.com/xapp-project/libadapta")
|
| 114 | (synopsis "Building blocks for GTK-based applications")
|
| 115 | (description
|
| 116 | "@code{libadapta} is a soft fork of @code{libadwaita}, providing support
|
| 117 | for theming and features used in desktop environments outside of GNOME.")
|
| 118 | (license license:lgpl2.1+)))
|
| 119 |
|
| 120 | (define-public libxapp
|
| 121 | (package
|
| 122 | (name "libxapp")
|
| 123 | (version "3.2.2")
|
| 124 | (source (origin
|
| 125 | (method git-fetch)
|
| 126 | (uri (git-reference
|
| 127 | (url "https://github.com/linuxmint/xapp/")
|
| 128 | (commit version)))
|
| 129 | (file-name (git-file-name name version))
|
| 130 | (sha256
|
| 131 | (base32
|
| 132 | "1gvg6i0mg3hd8brz3di3qnx59h20sr8rs6maqkxab8p4msn8hlf5"))))
|
| 133 | (build-system meson-build-system)
|
| 134 | (arguments
|
| 135 | (list
|
| 136 | #:modules
|
| 137 | `((guix build meson-build-system)
|
| 138 | (guix build utils)
|
| 139 | ((guix build pyproject-build-system) #:prefix py:))
|
| 140 | #:imported-modules
|
| 141 | (append %meson-build-system-modules
|
| 142 | %pyproject-build-system-modules)
|
| 143 | #:configure-flags
|
| 144 | #~(list (string-append
|
| 145 | "-Dpy-overrides-dir="
|
| 146 | (py:site-packages %build-inputs %outputs) "/gi/overrides"))
|
| 147 | #:phases
|
| 148 | #~(modify-phases %standard-phases
|
| 149 | (add-before 'configure 'set-gtk-module-path
|
| 150 | (lambda* (#:key inputs outputs #:allow-other-keys)
|
| 151 | (define (string-quote str)
|
| 152 | (format #f "'~a'" str))
|
| 153 | (substitute* "libxapp/meson.build"
|
| 154 | (("gtk3_dep\\.get_variable[(]pkgconfig: 'libdir'[)]")
|
| 155 | (string-quote (string-append #$output "/lib"))))
|
| 156 |
|
| 157 | (substitute* "scripts/pastebin"
|
| 158 | (("'nc'")
|
| 159 | (string-quote (search-input-file inputs "/bin/nc"))))
|
| 160 | (substitute* "scripts/upload-system-info"
|
| 161 | (("'inxi'")
|
| 162 | (string-quote (search-input-file inputs "/bin/inxi")))
|
| 163 | (("'/usr/bin/pastebin'")
|
| 164 | (string-quote (string-append #$output "/bin/pastebin")))
|
| 165 | (("'xdg-open'")
|
| 166 | (string-quote (search-input-file inputs
|
| 167 | "/bin/xdg-open")))))))))
|
| 168 | (inputs
|
| 169 | (list dbus
|
| 170 | glib |
| 171 | gtk+
|
| 172 | inxi-minimal |
| 173 | libdbusmenu
|
| 174 | libgnomekbd
|
| 175 | netcat |
| 176 | xdg-utils)) |
| 177 | (native-inputs
|
| 178 | (list gettext-minimal
|
| 179 | `(,glib "bin") |
| 180 | gobject-introspection
|
| 181 | pkg-config
|
| 182 | python
|
| 183 | python-pygobject
|
| 184 | vala))
|
| 185 | (home-page "https://github.com/linuxmint/xapp")
|
| 186 | (synopsis "Library for traditional GTK applications")
|
| 187 | (description
|
| 188 | "The libxapp package contains the components which are common to multiple
|
| 189 | GTK desktop environments (Cinnamon, MATE and Xfce) and required to implement
|
| 190 | cross-DE solutions.")
|
| 191 | (license license:lgpl3+)))
|
| 192 |
|
| 193 | (define-public python-xapp
|
| 194 | (package
|
| 195 | (name "python-xapp")
|
| 196 | (version "3.0.3")
|
| 197 | (source
|
| 198 | (origin
|
| 199 | (method git-fetch)
|
| 200 | (uri (git-reference
|
| 201 | (url "https://github.com/linuxmint/python3-xapp")
|
| 202 | (commit version)))
|
| 203 | (file-name (git-file-name name version))
|
| 204 | (sha256
|
| 205 | (base32 "0prs8cvj70wsmzwdx12impmkfhk9ydw4r88cpz2zz0sl5776d7i8"))))
|
| 206 | (build-system meson-build-system)
|
| 207 | (arguments (list #:tests? #f)) |
| 208 | (native-inputs
|
| 209 | (list gobject-introspection
|
| 210 | intltool
|
| 211 | python-wrapper))
|
| 212 | (inputs
|
| 213 | (list libxapp))
|
| 214 | (propagated-inputs
|
| 215 | (list python-configobj
|
| 216 | python-distutils-extra
|
| 217 | python-pycairo
|
| 218 | python-pygobject
|
| 219 | python-pyinotify
|
| 220 | python-pyxdg
|
| 221 | python-setproctitle
|
| 222 | python-setuptools
|
| 223 | python-unidecode
|
| 224 | python-xdg-base-dirs
|
| 225 | python-xlib))
|
| 226 | (home-page "https://github.com/linuxmint/python3-xapp")
|
| 227 | (synopsis "Python 3 XApp library")
|
| 228 | (description
|
| 229 | "Provides Python 3 bindings for libxapp, including a toolkit to build and
|
| 230 | persist XApp settings windows using GSettings.")
|
| 231 | (license license:lgpl2.0+)))
|
| 232 |
|
| 233 | (define-public timezonemap
|
| 234 | (package
|
| 235 | (name "timezonemap")
|
| 236 | (version "0.4.5.4")
|
| 237 | (source (origin
|
| 238 | (method git-fetch)
|
| 239 | (uri (git-reference
|
| 240 | (url "https://codeberg.org/dashea/timezonemap")
|
| 241 | (commit version)))
|
| 242 | (file-name (git-file-name name version))
|
| 243 | (sha256
|
| 244 | (base32 "0fkyqqyl4fwq3yz347ha69wiljz5bv1w4jg9mvz6xj20zhmzc1yw"))))
|
| 245 | (build-system gnu-build-system)
|
| 246 | (native-inputs (list autoconf
|
| 247 | automake
|
| 248 | `(,glib "bin")
|
| 249 | gobject-introspection
|
| 250 | libtool
|
| 251 | pkg-config))
|
| 252 | (inputs (list gtk+ libsoup json-glib librsvg))
|
| 253 | (home-page "https://codeberg.org/dashea/timezonemap/")
|
| 254 | (synopsis "Standalone copy of GNOME 3.0's datetime panel")
|
| 255 | (description "This package provides a standalone copy of the datetime
|
| 256 | panel used in GNOME 3.0's control center.")
|
| 257 | (license license:gpl2+)))
|
| 258 |
|
| 259 | (define-public cjs
|
| 260 | (package
|
| 261 | (name "cjs")
|
| 262 | (version "128.1")
|
| 263 | (source (origin
|
| 264 | (method git-fetch)
|
| 265 | (uri (git-reference
|
| 266 | (url "https://github.com/linuxmint/cjs")
|
| 267 | (commit version)))
|
| 268 | (file-name (git-file-name name version))
|
| 269 | (sha256
|
| 270 | (base32
|
| 271 | "1dcaw0ij8nm5xmpbdbvalm12c9iw6mwq3nj34m9h17qfl4a37730"))
|
| 272 | (modules '((guix build utils)))
|
| 273 | (snippet
|
| 274 | '(begin
|
| 275 | (substitute* "installed-tests/scripts/testCommandLine.sh"
|
| 276 | (("Valentín") "")
|
| 277 | (("☭") ""))))))
|
| 278 | (build-system meson-build-system)
|
| 279 | (arguments
|
| 280 | '(#:configure-flags '("-Dinstalled_tests=false")
|
| 281 | #:phases
|
| 282 | (modify-phases %standard-phases
|
| 283 | (add-before 'check 'pre-check
|
| 284 | (lambda _
|
| 285 | |
| 286 | (system "Xvfb :1 &")
|
| 287 | (setenv "DISPLAY" ":1")
|
| 288 |
|
| 289 | |
| 290 | (setenv "DBUS_FATAL_WARNINGS" "0")))
|
| 291 | (add-after 'install 'wrap-gi
|
| 292 | (lambda* (#:key inputs outputs #:allow-other-keys)
|
| 293 | (wrap-program (string-append (assoc-ref outputs "out")
|
| 294 | "/bin/cjs")
|
| 295 | `("GI_TYPELIB_PATH" suffix
|
| 296 | (,(dirname
|
| 297 | (search-input-file
|
| 298 | inputs
|
| 299 | "lib/girepository-1.0/GObject-2.0.typelib"))
|
| 300 | ,(dirname
|
| 301 | (search-input-file
|
| 302 | inputs
|
| 303 | "lib/girepository-1.0/GIRepository-2.0.typelib"))))))))))
|
| 304 | (native-inputs
|
| 305 | (list `(,glib "bin") |
| 306 | pkg-config
|
| 307 | libxml2
|
| 308 | |
| 309 | dbus
|
| 310 | dconf |
| 311 | util-linux
|
| 312 | xorg-server-for-tests))
|
| 313 | (propagated-inputs
|
| 314 | |
| 315 | |
| 316 | (list cairo gobject-introspection mozjs-128))
|
| 317 | (inputs
|
| 318 | (list gtk+ readline))
|
| 319 | (synopsis "Javascript bindings for Cinnamon")
|
| 320 | (home-page "https://github.com/linuxmint/cjs/")
|
| 321 | (description
|
| 322 | "CJS is a javascript binding for Cinnamon, forked from GJS.")
|
| 323 | (license license:gpl2+)))
|
| 324 |
|
| 325 | (define-public cinnamon-control-center
|
| 326 | (package
|
| 327 | (name "cinnamon-control-center")
|
| 328 | (version "6.6.0")
|
| 329 | (source
|
| 330 | (origin
|
| 331 | (method git-fetch)
|
| 332 | (uri (git-reference
|
| 333 | (url "https://github.com/linuxmint/cinnamon-control-center")
|
| 334 | (commit version)))
|
| 335 | (file-name (git-file-name name version))
|
| 336 | (sha256
|
| 337 | (base32
|
| 338 | "1425fq7nbaf46ch133mf555spl96k664rgd7w802x22v66sz0d2f"))))
|
| 339 | (build-system meson-build-system)
|
| 340 | (arguments
|
| 341 | (list
|
| 342 | #:glib-or-gtk? #t
|
| 343 | #:phases
|
| 344 | #~(modify-phases %standard-phases
|
| 345 | (add-before 'configure 'patch-paths
|
| 346 | (lambda* (#:key inputs #:allow-other-keys)
|
| 347 | (substitute* '("panels/network/net-device-mobile.c"
|
| 348 | "panels/network/connection-editor/net-connection-editor.c")
|
| 349 | (("\"nm-connection-editor")
|
| 350 | (string-append "\"" (search-input-file
|
| 351 | inputs "bin/nm-connection-editor"))))))
|
| 352 | (add-after 'unpack 'skip-gtk-update-icon-cache
|
| 353 | |
| 354 | (lambda _
|
| 355 | (substitute* "meson.build"
|
| 356 | (("gtk_update_icon_cache: true")
|
| 357 | "gtk_update_icon_cache: false"))))
|
| 358 | (replace 'check
|
| 359 | (lambda* (#:key parallel-tests? tests? #:allow-other-keys)
|
| 360 | (when tests?
|
| 361 | |
| 362 | (system "Xvfb :1 &")
|
| 363 | (setenv "DISPLAY" ":1")
|
| 364 | |
| 365 | (setenv "DBUS_FATAL_WARNINGS" "0")
|
| 366 | (setenv "NO_AT_BRIDGE" "1")
|
| 367 | (setenv "HOME" "/tmp")
|
| 368 | (setenv "XDG_RUNTIME_DIR" (string-append (getcwd) "/runtime-dir"))
|
| 369 | (mkdir (getenv "XDG_RUNTIME_DIR"))
|
| 370 | (chmod (getenv "XDG_RUNTIME_DIR") #o700)
|
| 371 | (setenv "MESON_TESTTHREADS"
|
| 372 | (if parallel-tests?
|
| 373 | (number->string (parallel-job-count))
|
| 374 | "1"))
|
| 375 | (invoke "dbus-run-session" "--"
|
| 376 | "meson" "test" "-t" "0")))))))
|
| 377 | (native-inputs
|
| 378 | (list docbook-xsl
|
| 379 | gettext-minimal
|
| 380 | `(,glib "bin") |
| 381 | libxslt
|
| 382 | pkg-config
|
| 383 | python
|
| 384 | python-dbusmock
|
| 385 | xorg-server-for-tests
|
| 386 | setxkbmap))
|
| 387 | (inputs
|
| 388 | (list accountsservice
|
| 389 | cinnamon-desktop
|
| 390 | cinnamon-menus
|
| 391 | cinnamon-session
|
| 392 | cinnamon-settings-daemon
|
| 393 | colord-gtk
|
| 394 | cups
|
| 395 | dconf
|
| 396 | gcr
|
| 397 | gnome-bluetooth
|
| 398 | gnome-online-accounts
|
| 399 | gnutls
|
| 400 | grilo
|
| 401 | gsound
|
| 402 | ibus
|
| 403 | iso-codes
|
| 404 | json-glib
|
| 405 | libadwaita
|
| 406 | libgnomekbd
|
| 407 | libgudev
|
| 408 | libgtop
|
| 409 | libnma
|
| 410 | libnotify
|
| 411 | libpwquality
|
| 412 | (librsvg-for-system) |
| 413 | libsecret
|
| 414 | libsoup
|
| 415 | libxml2
|
| 416 | libwacom
|
| 417 | mesa
|
| 418 | mit-krb5
|
| 419 | modem-manager
|
| 420 | network-manager-applet
|
| 421 | polkit
|
| 422 | pulseaudio
|
| 423 | samba
|
| 424 | tecla
|
| 425 | tzdata
|
| 426 | udisks
|
| 427 | upower))
|
| 428 | (synopsis "Utilities to configure the GNOME desktop")
|
| 429 | (home-page "https://www.gnome.org/")
|
| 430 | (description
|
| 431 | "This package contains configuration applets for the GNOME desktop,
|
| 432 | allowing to set accessibility configuration, desktop fonts, keyboard and mouse
|
| 433 | properties, sound setup, desktop theme and background, user interface
|
| 434 | properties, screen resolution, and other GNOME parameters.")
|
| 435 | (license license:gpl2+)))
|
| 436 |
|
| 437 | (define-public cinnamon-desktop
|
| 438 | (package
|
| 439 | (name "cinnamon-desktop")
|
| 440 | (version "6.6.2")
|
| 441 | (source (origin
|
| 442 | (method git-fetch)
|
| 443 | (uri (git-reference
|
| 444 | (url "https://github.com/linuxmint/cinnamon-desktop")
|
| 445 | (commit version)))
|
| 446 | (file-name (git-file-name name version))
|
| 447 | (sha256
|
| 448 | (base32
|
| 449 | "0fd217w90j7kaxh7w6w7ajp6ca31wiv594564h0gbfnam7shki81"))))
|
| 450 | (build-system meson-build-system)
|
| 451 | (arguments
|
| 452 | (list
|
| 453 | #:glib-or-gtk? #true
|
| 454 | #:configure-flags #~(list "-Dalsa=true")))
|
| 455 | (inputs
|
| 456 | (list accountsservice
|
| 457 | alsa-lib
|
| 458 | eudev
|
| 459 | glib
|
| 460 | gnome-common
|
| 461 | gtk+
|
| 462 | iso-codes
|
| 463 | libxrandr
|
| 464 | libxext
|
| 465 | pulseaudio
|
| 466 | xkeyboard-config))
|
| 467 | (propagated-inputs (list libxkbfile))
|
| 468 | (native-inputs
|
| 469 | (list gettext-minimal
|
| 470 | `(,glib "bin") |
| 471 | gobject-introspection
|
| 472 | pkg-config))
|
| 473 | (home-page "https://github.com/linuxmint/cinnamon-desktop/")
|
| 474 | (synopsis "Library for the Cinnamon Desktop")
|
| 475 | (description
|
| 476 | "The cinnamon-desktop package contains the libcinnamon-desktop library,
|
| 477 | as well as some desktop-wide documents.")
|
| 478 | (license (list license:gpl2+ license:lgpl2.0+
|
| 479 | license:expat)))) |
| 480 |
|
| 481 | (define-public cinnamon-menus
|
| 482 | (package
|
| 483 | (name "cinnamon-menus")
|
| 484 | (version "6.6.0")
|
| 485 | (source
|
| 486 | (origin
|
| 487 | (method git-fetch)
|
| 488 | (uri (git-reference
|
| 489 | (url "https://github.com/linuxmint/cinnamon-menus")
|
| 490 | (commit version)))
|
| 491 | (file-name (git-file-name name version))
|
| 492 | (sha256
|
| 493 | (base32
|
| 494 | "080dsaar27cfwn4ilhzd5vjcl4hbn4dvr9kqr9b44ik6acy1cf5y"))))
|
| 495 | (build-system meson-build-system)
|
| 496 | (inputs (list glib))
|
| 497 | (native-inputs
|
| 498 | (list gettext-minimal gobject-introspection pkg-config))
|
| 499 | (synopsis "Menu support for Cinnamon desktop")
|
| 500 | (description "Cinnamon Menus contains the libcinnamon-menu library,
|
| 501 | the layout configuration files for the Cinnamon menu, as well as a simple
|
| 502 | menu editor.")
|
| 503 | (home-page "https://github.com/linuxmint/cinnamon-menus")
|
| 504 | (license license:lgpl2.0+)))
|
| 505 |
|
| 506 | (define-public cinnamon-screensaver
|
| 507 | (package
|
| 508 | (name "cinnamon-screensaver")
|
| 509 | (version "6.6.1")
|
| 510 | (source (origin
|
| 511 | (method git-fetch)
|
| 512 | (uri (git-reference
|
| 513 | (url "https://github.com/linuxmint/cinnamon-screensaver")
|
| 514 | (commit version)))
|
| 515 | (file-name (git-file-name name version))
|
| 516 | (sha256
|
| 517 | (base32 "1n8fg4p036v3wgx21pxxcjwn620nfjg2fplznc5jfknwi9qggb9l"))))
|
| 518 | (build-system meson-build-system)
|
| 519 | (inputs (list gtk+
|
| 520 | linux-pam
|
| 521 | xdotool))
|
| 522 | (native-inputs
|
| 523 | (list gettext-minimal `(,glib "bin") gobject-introspection pkg-config))
|
| 524 | (home-page "https://github.com/linuxmint/cinnamon-screensaver")
|
| 525 | (synopsis "Cinnamon Screensaver")
|
| 526 | (description "This package provides the Cinnamon screen locker and
|
| 527 | screensaver program.")
|
| 528 | (license license:gpl2+)))
|
| 529 |
|
| 530 | (define-public cinnamon-session
|
| 531 | (package
|
| 532 | (name "cinnamon-session")
|
| 533 | (version "6.6.4")
|
| 534 | (source (origin
|
| 535 | (method git-fetch)
|
| 536 | (uri (git-reference
|
| 537 | (url "https://github.com/linuxmint/cinnamon-session")
|
| 538 | (commit version)))
|
| 539 | (file-name (git-file-name name version))
|
| 540 | (sha256
|
| 541 | (base32 "0kb10aq1m1pyignqhl56svs68a2za1fq0wc38pklpxnh2nsgw7mg"))))
|
| 542 | (build-system meson-build-system)
|
| 543 | (inputs (list cinnamon-desktop
|
| 544 | glib
|
| 545 | gtk+
|
| 546 | libcanberra
|
| 547 | libgnomekbd
|
| 548 | libsm
|
| 549 | libxapp
|
| 550 | libxkbfile
|
| 551 | xtrans))
|
| 552 | (native-inputs
|
| 553 | (list gettext-minimal `(,glib "bin") gobject-introspection pkg-config))
|
| 554 | (home-page "https://github.com/linuxmint/cinnamon-session")
|
| 555 | (synopsis "Cinnamon session manager")
|
| 556 | (description "his package contains the Cinnamon session manager,
|
| 557 | as well as a configuration program to choose applications starting on login.")
|
| 558 | (license license:gpl2+)))
|
| 559 |
|
| 560 | (define-public cinnamon-settings-daemon
|
| 561 | (package
|
| 562 | (name "cinnamon-settings-daemon")
|
| 563 | (version "6.6.4")
|
| 564 | (source
|
| 565 | (origin
|
| 566 | (method git-fetch)
|
| 567 | (uri (git-reference
|
| 568 | (url "https://github.com/linuxmint/cinnamon-settings-daemon")
|
| 569 | (commit version)))
|
| 570 | (file-name (git-file-name name version))
|
| 571 | (sha256
|
| 572 | (base32
|
| 573 | "0mng9wx0a64gwfb7hjxfxxc865kkwav20rf6sjhas2xzszvd7nnd"))))
|
| 574 | (build-system meson-build-system)
|
| 575 | (arguments
|
| 576 | (list
|
| 577 | #:glib-or-gtk? #t
|
| 578 | #:configure-flags
|
| 579 | #~(list |
| 580 | (string-append "-Dc_link_args=-Wl,-rpath=" #$output
|
| 581 | "/lib/cinnamon-settings-daemon-3.0:"
|
| 582 | |
| 583 | |
| 584 | (search-input-directory %build-inputs "lib/nss")))
|
| 585 | #:phases
|
| 586 | #~(modify-phases %standard-phases
|
| 587 | (add-before 'configure 'set-baobab-file-name
|
| 588 | (lambda* (#:key inputs #:allow-other-keys)
|
| 589 | |
| 590 | |
| 591 | |
| 592 | |
| 593 | (substitute* "plugins/housekeeping/csd-disk-space.c"
|
| 594 | (("g_find_program_in_path \\(DISK_SPACE_ANALYZER\\)")
|
| 595 | (format #f "g_strdup (~s)"
|
| 596 | (search-input-file inputs "bin/baobab"))))))
|
| 597 | (add-after 'unpack 'skip-update-icon-cache
|
| 598 | (lambda _
|
| 599 | (substitute* "install-scripts/meson_update_icon_cache.py"
|
| 600 | (("gtk-update-icon-cache") "true")))))))
|
| 601 | (native-inputs
|
| 602 | (list docbook-xml-4.2
|
| 603 | docbook-xsl
|
| 604 | gettext-minimal
|
| 605 | `(,glib "bin") |
| 606 | libxslt
|
| 607 | perl
|
| 608 | pkg-config))
|
| 609 | (inputs
|
| 610 | (list alsa-lib
|
| 611 | baobab
|
| 612 | cinnamon-desktop
|
| 613 | colord
|
| 614 | cups
|
| 615 | gcr
|
| 616 | geoclue
|
| 617 | geocode-glib
|
| 618 | gsettings-desktop-schemas
|
| 619 | lcms
|
| 620 | libcanberra
|
| 621 | libgnomekbd
|
| 622 | libgudev
|
| 623 | libgweather
|
| 624 | libnotify
|
| 625 | (librsvg-for-system)
|
| 626 | libwacom
|
| 627 | libx11
|
| 628 | libxtst
|
| 629 | modem-manager
|
| 630 | network-manager
|
| 631 | nss
|
| 632 | polkit
|
| 633 | pulseaudio
|
| 634 | upower
|
| 635 | wayland
|
| 636 | xf86-input-wacom))
|
| 637 | (home-page "https://github.com/linuxmint/cinnamon-settings-daemon")
|
| 638 | (synopsis "Cinnamon settings daemon")
|
| 639 | (description
|
| 640 | "This package contains the daemon responsible for setting the various
|
| 641 | parameters of a Cinnamon session and the applications that run under it. It
|
| 642 | handles settings such keyboard layout, shortcuts, and accessibility, clipboard
|
| 643 | settings, themes, mouse settings, and startup of other daemons.")
|
| 644 | (license license:gpl2+)))
|
| 645 |
|
| 646 | (define-public cinnamon-translations
|
| 647 | (package
|
| 648 | (name "cinnamon-translations")
|
| 649 | (version "6.6.2")
|
| 650 | (source (origin
|
| 651 | (method git-fetch)
|
| 652 | (uri (git-reference
|
| 653 | (url "https://github.com/linuxmint/cinnamon-translations")
|
| 654 | (commit version)))
|
| 655 | (file-name (git-file-name name version))
|
| 656 | (sha256
|
| 657 | (base32 "0kmiqlhk4243pqcsg7d45dvs439dap040gwfpm9xn56hibsicz0c"))))
|
| 658 | (build-system copy-build-system)
|
| 659 | (arguments
|
| 660 | (list
|
| 661 | #:install-plan #~`(("usr/share/locale" "share/locale"))
|
| 662 | #:phases #~(modify-phases %standard-phases
|
| 663 | (add-before 'install 'build
|
| 664 | (lambda _ (invoke "make"))))))
|
| 665 | (native-inputs (list gettext-minimal gnu-make))
|
| 666 | (home-page "https://github.com/linuxmint/cinnamon-translations")
|
| 667 | (synopsis "Translations for cinnamon")
|
| 668 | (description "This package provides translation files for cinnamon and
|
| 669 | related packages.")
|
| 670 | (license license:gpl2+)))
|
| 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,
|
| 773 | with its underlying technology forked from modern GNOME.")
|
| 774 | (license (list license:gpl2+))))
|
| 775 |
|
| 776 | (define-public muffin
|
| 777 | (package
|
| 778 | (name "muffin")
|
| 779 | (version "6.6.3")
|
| 780 | (source (origin
|
| 781 | (method git-fetch)
|
| 782 | (uri (git-reference
|
| 783 | (url "https://github.com/linuxmint/muffin")
|
| 784 | (commit version)))
|
| 785 | (file-name (git-file-name name version))
|
| 786 | (sha256
|
| 787 | (base32
|
| 788 | "1rf53mal8fzin3wnv1pfg3vvwd4i17mhk550j8zdp7b20qygmliw"))))
|
| 789 | (build-system meson-build-system)
|
| 790 | (arguments
|
| 791 | (list
|
| 792 | #:modules '((guix build meson-build-system)
|
| 793 | (guix build utils)
|
| 794 | (ice-9 match))
|
| 795 | #:glib-or-gtk? #t
|
| 796 | #:configure-flags
|
| 797 | #~(list
|
| 798 | |
| 799 | (string-append "-Dc_link_args=-Wl,-rpath="
|
| 800 | #$output "/lib,-rpath="
|
| 801 | #$output "/lib/muffin")
|
| 802 | |
| 803 | "-Dinstalled_tests=false"
|
| 804 | |
| 805 | (string-append "-Dxwayland_path="
|
| 806 | (search-input-file %build-inputs "bin/Xwayland"))
|
| 807 | |
| 808 | (string-append "-Dopengl_libname="
|
| 809 | (search-input-file %build-inputs "lib/libGL.so"))
|
| 810 | (string-append "-Dgles2_libname="
|
| 811 | (search-input-file %build-inputs "lib/libGLESv2.so"))
|
| 812 | "-Degl_device=true" |
| 813 | "-Dwayland_eglstream=true" |
| 814 | )
|
| 815 | #:test-options #~(list "--verbose")
|
| 816 | #:phases
|
| 817 | #~(modify-phases %standard-phases
|
| 818 | (add-after 'unpack 'set-SOURCE_DIR
|
| 819 | (lambda _
|
| 820 | |
| 821 | (setenv "SOURCE_DIR" (getcwd))))
|
| 822 | (add-after 'unpack 'use-RUNPATH-instead-of-RPATH
|
| 823 | (lambda _
|
| 824 | |
| 825 | |
| 826 | (substitute* "meson.build"
|
| 827 | (("disable-new-dtags")
|
| 828 | "enable-new-dtags"))))
|
| 829 | (add-after 'unpack 'patch-dlopen-calls
|
| 830 | (lambda* (#:key inputs #:allow-other-keys)
|
| 831 | (substitute* "src/wayland/meta-wayland-egl-stream.c"
|
| 832 | (("libnvidia-egl-wayland.so.1")
|
| 833 | (search-input-file inputs "lib/libnvidia-egl-wayland.so.1")))))
|
| 834 | (add-before 'configure 'set-udev-dir
|
| 835 | (lambda _
|
| 836 | (setenv "PKG_CONFIG_UDEV_UDEVDIR"
|
| 837 | (string-append #$output "/lib/udev")))))))
|
| 838 | (native-inputs
|
| 839 | (list desktop-file-utils |
| 840 | `(,glib "bin") |
| 841 | gettext-minimal
|
| 842 | gobject-introspection
|
| 843 | pkg-config
|
| 844 | xvfb-run
|
| 845 | wayland-protocols
|
| 846 | |
| 847 | |
| 848 | |
| 849 | adwaita-icon-theme
|
| 850 | libei
|
| 851 | libxcursor |
| 852 | pipewire
|
| 853 | python
|
| 854 | python-dbus
|
| 855 | python-dbusmock
|
| 856 | wireplumber-minimal))
|
| 857 | (propagated-inputs
|
| 858 | (list gsettings-desktop-schemas
|
| 859 | at-spi2-core
|
| 860 | cairo
|
| 861 | eudev
|
| 862 | gdk-pixbuf
|
| 863 | glib
|
| 864 | gtk+
|
| 865 | graphene
|
| 866 | json-glib
|
| 867 | libinput
|
| 868 | libx11
|
| 869 | libxcomposite
|
| 870 | libxcvt
|
| 871 | libxdamage
|
| 872 | libxext
|
| 873 | libxfixes
|
| 874 | libxkbcommon
|
| 875 | libxml2
|
| 876 | libxrandr
|
| 877 | mesa
|
| 878 | pango
|
| 879 | xinput))
|
| 880 | (inputs
|
| 881 | (list colord
|
| 882 | egl-wayland |
| 883 | elogind
|
| 884 | cinnamon-desktop
|
| 885 | libcanberra
|
| 886 | libdisplay-info
|
| 887 | libgudev
|
| 888 | libice
|
| 889 | libsm
|
| 890 | libwacom
|
| 891 | libxkbfile
|
| 892 | libxrandr
|
| 893 | libxtst
|
| 894 | pipewire
|
| 895 | startup-notification
|
| 896 | sysprof
|
| 897 | upower
|
| 898 | xkeyboard-config
|
| 899 | xorg-server-xwayland))
|
| 900 | (home-page "https://github.com/linuxmint/muffin")
|
| 901 | (synopsis "Window and compositing manager")
|
| 902 | (description
|
| 903 | "Muffin is a fork of Mutter, specifically adapted to work as the
|
| 904 | window manager for the Cinnamon desktop environment.")
|
| 905 | (license license:gpl2+)))
|
| 906 |
|
| 907 | (define-public nemo
|
| 908 | (package
|
| 909 | (name "nemo")
|
| 910 | (version "6.6.4")
|
| 911 | (source
|
| 912 | (origin
|
| 913 | (method git-fetch)
|
| 914 | (uri
|
| 915 | (git-reference
|
| 916 | (url "https://github.com/linuxmint/nemo")
|
| 917 | (commit version)))
|
| 918 | (file-name (git-file-name name version))
|
| 919 | (sha256
|
| 920 | (base32 "00iq5jibqrx081b3c5pqa5ha3r3cs1d45l70q4fjfndbdnmyk2hx"))))
|
| 921 | (build-system meson-build-system)
|
| 922 | (arguments
|
| 923 | (list
|
| 924 | #:glib-or-gtk? #true
|
| 925 | #:tests? #false |
| 926 | #:phases
|
| 927 | #~(modify-phases %standard-phases
|
| 928 | (add-after 'patch-source-shebangs 'adjust-prefix
|
| 929 | (lambda _
|
| 930 | (substitute* "meson.build"
|
| 931 | (("'data_dir")
|
| 932 | (string-append "'" #$output "/share")))))
|
| 933 | (add-before 'check 'pre-check
|
| 934 | (lambda _
|
| 935 | (system "Xvfb :1 &")
|
| 936 | (setenv "DISPLAY" ":1")
|
| 937 | (setenv "HOME" "/tmp") |
| 938 | (setenv "XDG_DATA_DIRS"
|
| 939 | (string-append (getenv "XDG_DATA_DIRS")
|
| 940 | ":" #$output "/share")))))))
|
| 941 | (native-inputs
|
| 942 | (list gettext-minimal
|
| 943 | (list glib "bin")
|
| 944 | gobject-introspection
|
| 945 | (list gtk+ "bin")
|
| 946 | intltool
|
| 947 | pkg-config
|
| 948 | xorg-server-for-tests))
|
| 949 | (inputs
|
| 950 | (list at-spi2-core
|
| 951 | cinnamon-desktop
|
| 952 | exempi
|
| 953 | gsettings-desktop-schemas
|
| 954 | gtk+
|
| 955 | json-glib
|
| 956 | libexif
|
| 957 | libgnomekbd
|
| 958 | libgsf
|
| 959 | libnotify
|
| 960 | libx11
|
| 961 | libxapp
|
| 962 | libxkbfile
|
| 963 | libxml2
|
| 964 | xkeyboard-config))
|
| 965 | (home-page "https://github.com/linuxmint/nemo")
|
| 966 | (synopsis "File browser for Cinnamon")
|
| 967 | (description
|
| 968 | "Nemo is the file manager for the Cinnamon desktop environment.")
|
| 969 | (properties '((lint-hidden-cpe-vendors . ("nvidia"))))
|
| 970 | (license license:expat)))
|
| 971 |
|
| 972 | (define-public cinnamon-meta-shell
|
| 973 | (package
|
| 974 | (name "cinnamon-meta-shell")
|
| 975 | (version (package-version cinnamon))
|
| 976 | (source #f)
|
| 977 | (build-system trivial-build-system)
|
| 978 | (arguments
|
| 979 | (list #:builder
|
| 980 | #~(begin (format (current-warning-port)
|
| 981 | "Building ~a is useless. \
|
| 982 | Refer to its propagated inputs instead.\n"
|
| 983 | #$(package-name this-package))
|
| 984 | (mkdir #$output))))
|
| 985 | (propagated-inputs (list cinnamon
|
| 986 | cinnamon-control-center
|
| 987 | cinnamon-desktop
|
| 988 | cinnamon-menus
|
| 989 | cinnamon-screensaver
|
| 990 | cinnamon-session
|
| 991 | cinnamon-settings-daemon
|
| 992 | cinnamon-translations
|
| 993 | cjs
|
| 994 | muffin
|
| 995 | nemo))
|
| 996 | (home-page "https://projects.linuxmint.com/cinnamon/")
|
| 997 | (synopsis "Graphical desktop environment")
|
| 998 | (description
|
| 999 | "Cinnamon is a desktop environment reminiscent of ye olde GNOME 2,
|
| 1000 | with its underlying technology forked from modern GNOME.")
|
| 1001 | (license license:gpl2+)))
|