about summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/gnome-initial-setup
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@protonmail.ch>2019-09-19 11:52:29 -0400
committerJan Tojnar <jtojnar@gmail.com>2019-10-03 00:09:11 +0200
commitf8682c31dde566786f727e91281ce2f0ea575109 (patch)
tree6a2de829838ed37d68761f16492acc65b02b3df0 /pkgs/desktops/gnome-3/core/gnome-initial-setup
parent4ff0d1e23fe3cd431762a9a3068d964721a23525 (diff)
downloadnixlib-f8682c31dde566786f727e91281ce2f0ea575109.tar
nixlib-f8682c31dde566786f727e91281ce2f0ea575109.tar.gz
nixlib-f8682c31dde566786f727e91281ce2f0ea575109.tar.bz2
nixlib-f8682c31dde566786f727e91281ce2f0ea575109.tar.lz
nixlib-f8682c31dde566786f727e91281ce2f0ea575109.tar.xz
nixlib-f8682c31dde566786f727e91281ce2f0ea575109.tar.zst
nixlib-f8682c31dde566786f727e91281ce2f0ea575109.zip
gnome3.gnome-initial-setup: init at 3.34.0
Diffstat (limited to 'pkgs/desktops/gnome-3/core/gnome-initial-setup')
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix115
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch67
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf5
3 files changed, 187 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
new file mode 100644
index 000000000000..1ca3d6967267
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
@@ -0,0 +1,115 @@
+{ stdenv
+, fetchurl
+, fetchpatch
+, substituteAll
+, gettext
+, meson
+, ninja
+, pkgconfig
+, wrapGAppsHook
+, gnome3
+, accountsservice
+, fontconfig
+, gdm
+, geoclue2
+, geocode-glib
+, glib
+, gnome-desktop
+, gnome-getting-started-docs
+, gnome-online-accounts
+, gtk3
+, libgweather
+, json-glib
+, krb5
+, libpwquality
+, librest
+, libsecret
+, networkmanager
+, pango
+, polkit
+, webkitgtk
+, systemd
+, networkmanagerapplet
+, tzdata
+, yelp
+, libgnomekbd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-initial-setup";
+  version = "3.34.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "19ly8xrj7vvjlhhbh6y2cm5l02qgq9wqfczrjdn0llkga9f8b8sc";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    pkgconfig
+    systemd
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    accountsservice
+    fontconfig
+    gdm
+    geoclue2
+    geocode-glib
+    glib
+    gnome-desktop
+    gnome-getting-started-docs
+    gnome-online-accounts
+    gtk3
+    json-glib
+    krb5
+    libgweather
+    libpwquality
+    librest
+    libsecret
+    networkmanager
+    pango
+    polkit
+    webkitgtk
+    networkmanagerapplet
+  ];
+
+  patches = [
+    # Disable g-i-s service in GDM
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-initial-setup/commit/b67b5cc48c418415eb3233f78ab089bc447b1952.patch";
+      sha256 = "050zc6cnil71bf7ijav6w6bkr33lqwglipcg7anw9jcn7mcakhlq";
+    })
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit tzdata libgnomekbd;
+      yelp = "${yelp}/bin/yelp"; # gnome-welcome-tour
+    })
+  ];
+
+  mesonFlags = [
+    "-Dregion-page=true"
+    "-Dcheese=disabled"
+    "-Dsoftware-sources=disabled"
+    "-Dibus=disabled"
+    "-Dvendor-conf-file=${./vendor.conf}"
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Simple, easy, and safe way to prepare a new system";
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-initial-setup";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = gnome3.maintainers;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch
new file mode 100644
index 000000000000..94e14f688b3c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-initial-setup/fix-paths.patch
@@ -0,0 +1,67 @@
+diff --git a/data/gnome-welcome-tour b/data/gnome-welcome-tour
+index c479296..3dd629c 100755
+--- a/data/gnome-welcome-tour
++++ b/data/gnome-welcome-tour
+@@ -3,7 +3,7 @@
+ cfgdir=${XDG_CONFIG_DIR:-$HOME/.config}
+ 
+ # Don't do anything if yelp isn't installed
+-yelp_path=$(which yelp 2>/dev/null)
++yelp_path=@yelp@
+ if test -z "${yelp_path}"; then
+     rm -f $cfgdir/run-welcome-tour
+     exit
+@@ -17,5 +17,5 @@ geometry=(1024, 709)
+ EOF
+ fi
+ 
+-yelp help:gnome-help/getting-started
++$yelp_path help:gnome-help/getting-started
+ rm -f $cfgdir/run-welcome-tour
+diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
+index 1c34ef7..a1e7f93 100644
+--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
++++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
+@@ -177,9 +177,9 @@ preview_cb (GtkLabel       *label,
+ 		return TRUE;
+ 
+ 	if (variant[0])
+-		commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", layout, variant);
++		commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", layout, variant);
+ 	else
+-		commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", layout);
++		commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", layout);
+ 	g_spawn_command_line_async (commandline, NULL);
+ 	g_free (commandline);
+ 
+@@ -829,7 +829,7 @@ cc_input_chooser_class_init (CcInputChooserClass *klass)
+                 g_param_spec_string ("showing-extra", "", "", "",
+                                      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ 
+-	signals[CHANGED] = 
++	signals[CHANGED] =
+ 		g_signal_new ("changed",
+ 			      G_TYPE_FROM_CLASS (object_class),
+ 			      G_SIGNAL_RUN_FIRST,
+diff --git a/gnome-initial-setup/pages/timezone/tz.h b/gnome-initial-setup/pages/timezone/tz.h
+index 93905b3..e7ee785 100644
+--- a/gnome-initial-setup/pages/timezone/tz.h
++++ b/gnome-initial-setup/pages/timezone/tz.h
+@@ -4,7 +4,7 @@
+  * Copyright (C) 2000-2001 Ximian, Inc.
+  *
+  * Authors: Hans Petter Jansson <hpj@ximian.com>
+- * 
++ *
+  * Largely based on Michael Fulbright's work on Anaconda.
+  *
+  * This program is free software; you can redistribute it and/or modify
+@@ -28,7 +28,7 @@
+ #include <glib.h>
+ 
+ #ifndef __sun
+-#  define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"
++#  define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab"
+ #else
+ #  define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab"
+ #endif
diff --git a/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf b/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf
new file mode 100644
index 000000000000..a06b37e100ed
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf
@@ -0,0 +1,5 @@
+# Disable pages not right for NixOS
+# For example user accounts should be preconfigured
+# and we can't modify system time with systemd.
+[pages]
+skip=account;software;password;timezone;