Subject: [bug#28516] Cinnamon-Desktop (a package, not the full desktop!)

From: ng0 <[email-masked]>
Date: Sat, 14 Oct 2017 21:08:13 +0000

ng0 transcribed 2.5K bytes:
> Christopher Baines transcribed 1.8K bytes:
> > On Tue, 19 Sep 2017 16:23:14 +0000
> > ng0 <[email-masked]> wrote:
> > 
> > > This adds 'cinnamon-desktop', the start for Cinnamon.
> > 
> > Hey ng0,
> > 
> > I don't know much about Cinnamon, is there a way I could test this
> > package, or is it not much use until more cinnamon related packages
> > are added? 
> 
> As far as I know it's not much use until more of Cinnamon is added.
> Why I didn't include more is a bug report I filed at upstream. As I got
> no response it's up to myself to do some more reading into Cinnamon itself
> to understand the way they build it. The first obvious attempts failed,
> but lots of things I work on have a long history already.
> 
> We can only start to correct things at the foundation when we have the
> architecture to realize it doesn't fit. Right now I believe that building
> without errors is the best we can do.
> 
> > guix lint resports some issues:
> > 
> > gnu/packages/cinnamon.scm:38:2: [email-masked]: 'glib:bin' should probably be a native input
> > gnu/packages/cinnamon.scm:82:14: [email-masked]: synopsis should not start with the package name
> > gnu/packages/cinnamon.scm:38:2: [email-masked]: trailing white space on line 60
> 
> Okay, thanks I'll send fixes within the next 7 days.

Updated patch appended.

> > Thanks,
> > 
> > Chris
> 
> 
> 
> -- 
> ng0
> GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
> GnuPG: https://dist.ng0.infotropique.org/dist/keys/
> https://www.infotropique.org https://ng0.infotropique.org

-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://dist.ng0.infotropique.org/dist/keys/
https://www.infotropique.org https://ng0.infotropique.org
From e9776789c38ac9c6895f8d58dfb1d5e64ed4a049 Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Sat, 9 Sep 2017 16:19:38 +0000
Subject: [PATCH 1/2] gnu: Add cinnamon-desktop.

* gnu/packages/cinnamon.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk              |  1 +
 gnu/packages/cinnamon.scm | 86 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 87 insertions(+)
 create mode 100644 gnu/packages/cinnamon.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 5919d1bdd..9defe9d58 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -87,6 +87,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/check.scm			\
   %D%/packages/chez.scm				\
   %D%/packages/ci.scm				\
+  %D%/packages/cinnamon.scm			\
   %D%/packages/cmake.scm			\
   %D%/packages/cobol.scm			\
   %D%/packages/code.scm				\
diff --git a/gnu/packages/cinnamon.scm b/gnu/packages/cinnamon.scm
new file mode 100644
index 000000000..3249b81de
--- /dev/null
+++ b/gnu/packages/cinnamon.scm
@@ -0,0 +1,86 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 ng0 <[email-masked]>
+;;;
+;;; 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 utils)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #: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 pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages xorg))
+
+(define-public cinnamon-desktop
+  (package
+    (name "cinnamon-desktop")
+    (version "3.4.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/linuxmint/cinnamon-desktop/"
+                                  "archive/" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1jf24csrbfi9aiza1g70jpvsbjiqwphk0i5wilxq9kpjjsl99maq"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autoconf
+           (lambda _
+             (mkdir-p "m4")
+             (zero?
+              (and (system* "glib-gettextize" "--force" "--copy")
+                   (system* "intltoolize" "--force" "--copy" "--automake")
+                   (system* "autoreconf" "--verbose" "--force" "--install"))))))))
+    ;; TODO: package 'libgsystem'.
+    (inputs
+     `(("accountsservice" ,accountsservice)
+       ("gtk+" ,gtk+)
+       ("glib" ,glib)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gnome-common" ,gnome-common)
+       ("libxkbfile" ,libxkbfile)
+       ("libxrandr" ,libxrandr)
+       ("python-2" ,python-2)
+       ("pulseaudio" ,pulseaudio)
+       ("xkeyboard-config" ,xkeyboard-config)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin") ; glib-gettextize
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/linuxmint/cinnamon-desktop/")
+    (synopsis "Library for the Cinnamon Desktop")
+    (description
+     "Cinnamon-desktop contains the libcinnamon-desktop library,
+the cinnamon-about program as well as some desktop-wide documents.")
+    (license (list license:gpl2+ license:lgpl2.0+
+                   license:expat)))) ;display-name.c , edid-parse.c
-- 
2.14.2