Subject: Re: [bug#38905] gnu: Add gnome-initial-setup. (v2)

From: Raghav Gururajan <[email-masked]>
Date: Thu, 09 Jan 2020 09:00:22 -0500

Hello Julien!

> Thanks for the patch!

My pleasure. :-)

> I have a few questions about it, even though I didn't try to build it
> yet. What is optional in configure-flags? You should probably remove
> the comment in the inputs (the package doesn't exist, right?).

I have revised the patch. -Dcheese=auto is for camera support for the
new user to set profile picture by taking selfie via camera.
-Dsystemd=false is to disable systemd dependency.

> I'm a bit puzzled by how this package works. Should some of these
> inputs be propagated or hard-coded in the code of the package?
> Shouldn't they be available at runtime? What does ibus, upower and
> the
> like do for the build itself?

The application starts up as a set-up wizard when new user login for
first time, to configure the GNOME desktop. It typically provides a
tour of all gnome components and allows the user set settings for each.

I have built, installed and ran it for testing. Works good. Those
dependencies need not be propagated. I think the application uses
data/information from those packages and present it to user during the
tour.

> I think pkg-config should be a native-input.

Yeah, I revised the patch.

> The description is a bit vague. What does it do exactly? Maybe
> there's
> some things that guix cannot setup and that's what it's used for? I'm
> not sure what the policy for "aims to" is, but I think I would remove
> it.

I am not able come up with better one at this time. Let me leave it as
it is for now, as I will be revising all gnome packages in the near
future. :-)

Please find the revised patch (v2) attached with this email.

Regards,
RG.
From fbb0281b7265feb5b5237bbfaf1d771de961c51e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <[email-masked]>
Date: Thu, 9 Jan 2020 08:46:14 -0500
Subject: [PATCH] gnu: Add gnome-initial-setup

* gnu/packages/gnome.scm (gnome-initial-setup): New variable.
---
 gnu/packages/gnome.scm | 50 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e71cc2fee2..0d0c71ad05 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -246,6 +246,56 @@ Desktop.  It is designed to be as simple as possible and has some unique
 features to enable users to create their discs easily and quickly.")
     (license license:gpl2+)))
 
+(define-public gnome-initial-setup
+  (package
+   (name "gnome-initial-setup")
+   (version "3.32.1")
+   (source (origin
+            (method url-fetch)
+           (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
+                                (version-major+minor version)
+                                "/gnome-initial-setup-" version ".tar.xz"))
+            (sha256
+             (base32
+              "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
+   (build-system meson-build-system)
+   (arguments
+    '(#:configure-flags '("-Dcheese=auto" "-Dsystemd=false")))
+   (native-inputs
+    `(("gettext" ,gettext-minimal)
+      ("glib:bin" ,glib "bin")
+      ("gtk+:bin" ,gtk+ "bin")
+      ("pkg-config" ,pkg-config)))
+   (inputs
+    `(("accountsservice" ,accountsservice)
+      ("adwaita-icon-theme" ,adwaita-icon-theme)
+      ("gdm" ,gdm)
+      ("geoclue" ,geoclue)
+      ("gnome-desktop" ,gnome-desktop)
+      ("gnome-getting-started-docs" ,gnome-getting-started-docs)
+      ("gnome-online-accounts" ,gnome-online-accounts)
+      ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
+      ("gobject-introspection" ,gobject-introspection)
+      ("gstreamer" ,gstreamer)
+      ("ibus" ,ibus)
+      ("json-glib" ,json-glib)
+      ("krb5" ,mit-krb5)
+      ("libgweather" ,libgweather)
+      ("libsecret" ,libsecret)
+      ("network-manager" ,network-manager)
+      ("network-manager-applet" ,network-manager-applet)
+      ("packagekit" ,packagekit)
+      ("polkit" ,polkit)
+      ("pwquality" ,libpwquality)
+      ("rest" ,rest)
+      ("upower" ,upower)
+      ("webkitgtk" ,webkitgtk)))
+   (synopsis "Initial setup wizard for GNOME desktop")
+   (description "GNOME Initial Setup aims to provide a simple, easy,
+and safe way to prepare a new system.")
+   (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
+   (license license:gpl2)))
+
 (define-public gnome-menus
   (package
     (name "gnome-menus")
-- 
2.24.1