aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 florhizome <florhizome@posteo.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 cinnamon)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix gexp)
  #:use-module (guix build utils)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system meson)
  #:use-module (gnu packages)
  #:use-module (gnu packages admin)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages freedesktop)
  #:use-module (gnu packages gettext)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages gnome)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages photo)
  #:use-module (gnu packages pulseaudio)
  #:use-module (gnu packages python)
  #:use-module (gnu packages xml)
  #:use-module (gnu packages xorg))

(define-public libxapp
  (package
    (name "libxapp")
    (version "2.4.3")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/linuxmint/xapp/")
                    (commit version)))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "0n443lwmxzmfnw03n98cqnm2ah1iij6pwsnwbly8sncmzg5jyklg"))))
    (build-system meson-build-system)
    (arguments
     (list
      #:modules
      `((guix build meson-build-system)
        (guix build utils)
        ((guix build python-build-system) #:prefix python:))
      #:imported-modules
      `(,@%meson-build-system-modules
        (guix build python-build-system))
      #:configure-flags
      #~(list (string-append
               "-Dpy-overrides-dir="
               (python:site-packages %build-inputs %outputs) "/gi/overrides"))
      #:phases
      #~(modify-phases %standard-phases
          (add-before 'configure 'set-gtk-module-path
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (substitute* "libxapp/meson.build"
                (("gtk3_dep\\.get_pkgconfig_variable[(]'libdir'[)]")
                 (string-append "'" (assoc-ref outputs "out") "/lib'")))

              (substitute* "scripts/pastebin"
                (("'nc'")
                 (string-append "'"
                                (search-input-file inputs "/bin/nc")
                                "'")))

              (substitute* "scripts/upload-system-info"
                (("'inxi'")
                 (string-append "'"
                                (search-input-file inputs "/bin/inxi")
                                "'"))
                (("'/usr/bin/pastebin'")
                 (string-append "'"
                                (assoc-ref outputs "out")
                                "/bin/pastebin'"))
                (("'xdg-open'")
                 (string-append "'"
                                (search-input-file inputs "/bin/xdg-open")
                                "'"))))))))
    (inputs
     (list dbus
           glib                         ; for gio
           gtk+
           inxi-minimal                 ; used by upload-system-info
           libdbusmenu
           libgnomekbd
           netcat                       ; used by pastebin
           xdg-utils))                  ; used by upload-system-info
    (native-inputs
     (list gettext-minimal
           `(,glib "bin")               ; for glib-mkenums
           gobject-introspection
           pkg-config
           python
           python-pygobject
           vala))
    (home-page "https://github.com/linuxmint/xapp")
    (synopsis "Library for traditional GTK applications")
    (description
     "The libxapp package contains the components which are common to multiple
GTK desktop environments (Cinnamon, MATE and Xfce) and required to implement
cross-DE solutions.")
    (license license:lgpl3+)))

(define-public cinnamon-desktop
  (package
    (name "cinnamon-desktop")
    (version "5.6.2")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                     (url "https://github.com/linuxmint/cinnamon-desktop")
                     (commit version)))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "0rnk0vmpjiz8pgn5y8zizr91ilwzfh9w7cmfsjpqg3h5wkpxz22z"))))
    (build-system meson-build-system)
    (arguments
     (list
      #:glib-or-gtk? #true
      #:configure-flags #~(list "-Dalsa=true")))
    (inputs
     (list accountsservice
           alsa-lib
           glib
           gnome-common
           gtk+
           libxkbfile
           libxrandr
           libxext
           pulseaudio
           xkeyboard-config))
    (native-inputs
     (list gettext-minimal
           `(,glib "bin")               ;glib-gettextize
           gobject-introspection
           pkg-config))
    (home-page "https://github.com/linuxmint/cinnamon-desktop/")
    (synopsis "Library for the Cinnamon Desktop")
    (description
     "The cinnamon-desktop package contains the libcinnamon-desktop library,
as well as some desktop-wide documents.")
    (license (list license:gpl2+ license:lgpl2.0+
                   license:expat)))) ;display-name.c , edid-parse.c

(define-public nemo
  (package
    (name "nemo")
    (version "6.0.2")
    (source
     (origin
       (method git-fetch)
       (uri
        (git-reference
         (url "https://github.com/linuxmint/nemo")
         (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1416rcd0ii92r761lwz62rq0fzaliz6vzpf5nlcnpa109fkwa8mx"))))
    (build-system meson-build-system)
    (arguments
     (list
      #:glib-or-gtk? #true
      #:tests? #false                   ;tests stall
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'patch-source-shebangs 'adjust-prefix
            (lambda _
              (substitute* "meson.build"
                (("'data_dir")
                 (string-append "'" #$output "/share")))))
          (add-before 'check 'pre-check
            (lambda _
              (system "Xvfb :1 &")
              (setenv "DISPLAY" ":1")
              (setenv "HOME" "/tmp")    ;some tests require a writable HOME
              (setenv "XDG_DATA_DIRS"
                      (string-append (getenv "XDG_DATA_DIRS")
                                     ":" #$output "/share")))))))
    (native-inputs
     (list gettext-minimal
           (list glib "bin")
           gobject-introspection
           (list gtk+ "bin")
           intltool
           pkg-config
           xorg-server-for-tests))
    (inputs
     (list atk
           cinnamon-desktop
           exempi
           gsettings-desktop-schemas
           gtk+
           libexif
           libgnomekbd
           libgsf
           libnotify
           libx11
           libxapp
           libxkbfile
           libxml2
           xkeyboard-config))
    (home-page "https://github.com/linuxmint/nemo")
    (synopsis "File browser for Cinnamon")
    (description
     "Nemo is the file manager for the Cinnamon desktop environment.")
    (license license:expat)))
Petr Hodina 2022-09-01gnu: grantleetheme: Update to 22.04.3....* gnu/packages/kde.scm (grantleetheme): Update to 22.04.3. Signed-off-by: Marius Bakke <marius@gnu.org> Petr Hodina 2022-09-01gnu: KDE: Use breeze-icons over oxygen-icons....* gnu/packages/kde-internet.scm (choqok kget konversation krdc krdc) * gnu/packages/kde-multimedia.scm (dragon elisa juk k3b kaffeine kamoso kmix kmplayer kwave) * gnu/packages/kde-pim.scm (kaddressbook kcalutils kgpg kleopatra kmail knotes korganizer) * gnu/packages/kde-systemtools.scm (dolphin dolphin-plugins khelpcenter konsole krfb ksystemlog) * gnu/packages/kde-utils.scm (kate kmag kmousetool kmouth kronometer krusader okteta rsibreak smb4k sweeper) * gnu/packages/kde.scm (kdevelop) Breeze icons replaces Oxygen icons in KDE 5, so use that in every package. Signed-off-by: Marius Bakke <marius@gnu.org> Brendan Tildesley 2022-09-01gnu: KDE Multimedia: Update all packages to 21.12.3....* gnu/packages/kde-multimedia.scm (audiocd-kio, dragon, elisa, ffmpegthumbs, juk, k3b, kaffeine, kamoso, kmix, kwave, libkcddb, libkcompactdisc): Update to 21.12.3. (kid3): Update to 3.9.1. (kamoso): Remove unneeded configure-flags. (kuserfeedback): Update to 1.2.0. Signed-off-by: Marius Bakke <marius@gnu.org> Brendan Tildesley 2022-09-01gnu: KDE: Update home-page links....* gnu/packages/kde.scm (massif-visualizer, libkdegames, okular, poxml, zeroconf-ioslave): Update home-page link. Signed-off-by: Marius Bakke <marius@gnu.org> Petr Hodina 2022-09-01gnu: KDE: Update all packages to 21.12.3....* gnu/packages/kde.scm (baloo-widgets, kcachegrind, kdeconnect, kdegraphics-mobipocket, kdenlive, kdevelop, kdevelop-pg-qt, kdf, kdiagram, kpmcore, kqtquickcharts, krita, kseexpr, kuserfeedback, labplot, libkdegames, libkexiv2, libkomparediff2, marble-qt, massif-visualizer, okular, poxml, qca, snorenotify, zeroconf-ioslave): Update to 21.12.3. (baloo-widgets)[arguments]: Disable tests. (kdiagram): Update to 2.8.0. (qca): Update to 2.3.4. (kpmcore)[arguments]: Don't try install polkit files to polkits store path. (kdevelop)[inputs]: Add ksyntaxhighlighting. Use new inputs format. (kdeconnect)[native-inputs]: Use new style. [inputs]: Add new dependencies. (krita)[inputs]: Use latest libraw. Signed-off-by: Marius Bakke <marius@gnu.org> Brendan Tildesley 2022-09-01gnu: grantleetheme: Update to 21.12.3....* gnu/packages/kde.scm (grantleetheme): Update to 21.12.3. * gnu/local.mk: Remove patch. * gnu/packages/patches/grantlee-merge-theme-dirs.patch: Remove file. Signed-off-by: Marius Bakke <marius@gnu.org> Petr Hodina 2022-09-01gnu: labplot: Remove input labels....* gnu/packages/kde-pim.scm (labplot): Remove input labels. Signed-off-by: Marius Bakke <marius@gnu.org> Petr Hodina 2022-09-01gnu: KDE: Remove trailing booleans....* gnu/packages/kde.scm (akregator, kdevelop)[arguments]: Remove trailing booleans. Signed-off-by: Marius Bakke <marius@gnu.org> Petr Hodina 2022-09-01gnu: kdenlive, marble-qt: Add kdoctools....* gnu/packages/kde.scm (kdenlive)[native-inputs]: Add kdoctools. (marble-qt): Move kdoctools from inputs to native-inputs. Signed-off-by: Marius Bakke <marius@gnu.org> Petr Hodina 2022-07-31gnu: qtnetworkauth: Rename to qtnetworkauth-5....Automated with: git grep -l qtnetworkauth | xargs sed 's/\bqtnetworkauth\b/\0-5/g' -i Maxim Cournoyer 2022-07-31gnu: qttools: Rename to qttools-5....Automated with: git grep -l qttools | xargs sed 's/\bqttools\b/\0-5/g' -i git checkout NEWS Maxim Cournoyer 2022-07-31gnu: qtwebengine: Rename to qtwebengine-5....Automated with: git grep -l qtwebengine | xargs sed 's/\bqtwebengine\b/\0-5/g' -i git checkout NEWS Maxim Cournoyer 2022-07-31gnu: qtwebchannel: Rename to qtwebchannel-5....Automated via: git grep -l qtwebchannel | xargs sed 's/\bqtwebchannel\b/\0-5/g' -i git checkout NEWS Maxim Cournoyer 2022-07-31gnu: qtquickcontrols2: Rename to qtquickcontrols2-5....Automated via: git grep -l qtquickcontrols2 | xargs sed 's/\bqtquickcontrols2\b/\0-5/g' -i git checkout NEWS Maxim Cournoyer 2022-07-31gnu: qtquickcontrols: Rename to qtquickcontrols-5....Automated via: git grep -l qtquickcontrols | xargs sed 's/\bqtquickcontrols\b/\0-5/g' -i git checkout NEWS Maxim Cournoyer 2022-07-31gnu: qtdeclarative: Rename to qtdeclarative-5....Automated via the following commands: git grep -l '\bqtdeclarative\b' | xargs sed -E 's/qtdeclarative/\0-5/g' -i git checkout NEWS Maxim Cournoyer 2022-07-31gnu: qtmultimedia: Rename to qtmultimedia-5....Automated via: git grep -l qtmultimedia | xargs sed 's/qtmultimedia/qtmultimedia-5/g' -i git checkout NEWS Maxim Cournoyer 2022-07-31gnu: qtsvg: Rename variable to qtsvg-5....This is in preparation of the qtsvg update to version 6. This change was automated via the following command: git grep -l '\bqtsvg\b' | xargs sed 's/qtsvg/qtsvg-5/g' -i Maxim Cournoyer