diff options
author | worldofpeace <worldofpeace@protonmail.ch> | 2019-09-19 11:52:29 -0400 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2019-10-03 00:09:11 +0200 |
commit | f8682c31dde566786f727e91281ce2f0ea575109 (patch) | |
tree | 6a2de829838ed37d68761f16492acc65b02b3df0 /pkgs/desktops/gnome-3/core/gnome-initial-setup | |
parent | 4ff0d1e23fe3cd431762a9a3068d964721a23525 (diff) | |
download | nixlib-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')
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; |