Merge pull request #130380 from bobby285271/switchboard

Pantheon 6.0.2
This commit is contained in:
davidak 2021-09-18 14:09:39 +02:00 committed by GitHub
commit 69f341a530
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
115 changed files with 1766 additions and 1583 deletions

View file

@ -55,6 +55,13 @@
actions.
</para>
</listitem>
<listitem>
<para>
Pantheon desktop has been updated to version 6. Due to changes
of screen locker, if locking doesnt work for you, please try
<literal>gsettings set org.gnome.desktop.lockdown disable-lock-screen false</literal>.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-21.11-new-services">
@ -189,8 +196,6 @@
<link linkend="opt-services.isso.enable">isso</link>
</para>
</listitem>
</itemizedlist>
<itemizedlist spacing="compact">
<listitem>
<para>
<link xlink:href="https://www.navidrome.org/">navidrome</link>,
@ -199,8 +204,6 @@
<link linkend="opt-services.navidrome.enable">navidrome</link>.
</para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem>
<para>
<link xlink:href="https://docs.fluidd.xyz/">fluidd</link>, a
@ -263,6 +266,13 @@
unified analytics engine for large-scale data processing.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/JoseExposito/touchegg">touchegg</link>,
a multi-touch gesture recognizer. Available as
<link linkend="opt-services.touchegg.enable">services.touchegg</link>.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-21.11-incompatibilities">

View file

@ -20,6 +20,8 @@ In addition to numerous new and upgraded packages, this release has the followin
This allows activation scripts to output what they would change if the activation was really run.
The users/modules activation script supports this and outputs some of is actions.
- Pantheon desktop has been updated to version 6. Due to changes of screen locker, if locking doesn't work for you, please try `gsettings set org.gnome.desktop.lockdown disable-lock-screen false`.
## New Services {#sec-release-21.11-new-services}
- [btrbk](https://digint.ch/btrbk/index.html), a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to your backup locations. Available as [services.btrbk](options.html#opt-services.brtbk.instances).
@ -60,7 +62,7 @@ pt-services.clipcat.enable).
- [isso](https://posativ.org/isso/), a commenting server similar to Disqus.
Available as [isso](#opt-services.isso.enable)
* [navidrome](https://www.navidrome.org/), a personal music streaming server with
- [navidrome](https://www.navidrome.org/), a personal music streaming server with
subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable).
- [fluidd](https://docs.fluidd.xyz/), a Klipper web interface for managing 3d printers using moonraker. Available as [fluidd](#opt-services.fluidd.enable).
@ -82,6 +84,8 @@ subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable
- [spark](https://spark.apache.org/), a unified analytics engine for large-scale data processing.
- [touchegg](https://github.com/JoseExposito/touchegg), a multi-touch gesture recognizer. Available as [services.touchegg](#opt-services.touchegg.enable).
## Backward Incompatibilities {#sec-release-21.11-incompatibilities}

View file

@ -1055,6 +1055,7 @@
./services/x11/gdk-pixbuf.nix
./services/x11/imwheel.nix
./services/x11/redshift.nix
./services/x11/touchegg.nix
./services/x11/urserver.nix
./services/x11/urxvtd.nix
./services/x11/window-managers/awesome.nix

View file

@ -134,6 +134,9 @@ in
services.accounts-daemon.enable = true;
services.bamf.enable = true;
services.colord.enable = mkDefault true;
services.fwupd.enable = mkDefault true;
services.touchegg.enable = mkDefault true;
services.touchegg.package = pkgs.pantheon.touchegg;
services.tumbler.enable = mkDefault true;
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
services.dbus.packages = with pkgs.pantheon; [
@ -162,12 +165,11 @@ in
isAllowed = true;
isSystem = true;
};
# Use gnome-settings-daemon fork
services.udev.packages = [
pkgs.pantheon.elementary-settings-daemon
pkgs.gnome.gnome-settings-daemon338
];
systemd.packages = [
pkgs.pantheon.elementary-settings-daemon
pkgs.gnome.gnome-settings-daemon338
];
programs.dconf.enable = true;
networking.networkmanager.enable = mkDefault true;
@ -180,7 +182,6 @@ in
gnome.adwaita-icon-theme
gtk3.out
hicolor-icon-theme
lightlocker
onboard
qgnomeplatform
shared-mime-info
@ -208,15 +209,13 @@ in
# Services
elementary-capnet-assist
elementary-dpms-helper
elementary-notifications
elementary-settings-daemon
pantheon-agent-geoclue2
pantheon-agent-polkit
]) ++ (gnome.removePackagesByName [
gnome.geary
gnome.epiphany
gnome.gnome-font-viewer
gnome.gnome-settings-daemon338
] config.environment.pantheon.excludePackages);
programs.evince.enable = mkDefault true;
@ -224,9 +223,12 @@ in
# Settings from elementary-default-settings
environment.sessionVariables.GTK_CSD = "1";
environment.sessionVariables.GTK3_MODULES = [ "pantheon-filechooser-module" ];
environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
xdg.portal.extraPortals = [
pkgs.pantheon.elementary-files
];
# Override GSettings schemas
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
@ -254,6 +256,8 @@ in
# Default Fonts
fonts.fonts = with pkgs; [
inter
open-dyslexic
open-sans
roboto-mono
];
@ -271,14 +275,16 @@ in
elementary-camera
elementary-code
elementary-files
elementary-mail
elementary-music
elementary-photos
elementary-screenshot-tool
elementary-screenshot
elementary-terminal
elementary-videos
epiphany
] config.environment.pantheon.excludePackages);
# needed by screenshot-tool
# needed by screenshot
fonts.fonts = [
pkgs.pantheon.elementary-redacted-script
];

View file

@ -22,7 +22,7 @@
<programlisting>
<xref linkend="opt-services.pantheon.apps.enable"/> = false;
</programlisting>
You can also use <xref linkend="opt-environment.pantheon.excludePackages"/> to remove any other app (like <package>geary</package>).
You can also use <xref linkend="opt-environment.pantheon.excludePackages"/> to remove any other app (like <package>elementary-mail</package>).
</para>
</section>
<section xml:id="sec-pantheon-wingpanel-switchboard">

View file

@ -0,0 +1,38 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.services.touchegg;
in {
meta = {
maintainers = teams.pantheon.members;
};
###### interface
options.services.touchegg = {
enable = mkEnableOption "touchegg, a multi-touch gesture recognizer";
package = mkOption {
type = types.package;
default = pkgs.touchegg;
defaultText = "pkgs.touchegg";
description = "touchegg derivation to use.";
};
};
###### implementation
config = mkIf cfg.enable {
systemd.services.touchegg = {
description = "Touchegg Daemon";
serviceConfig = {
Type = "simple";
ExecStart = "${cfg.package}/bin/touchegg --daemon";
Restart = "on-failure";
};
wantedBy = [ "multi-user.target" ];
};
environment.systemPackages = [ cfg.package ];
};
}

View file

@ -45,8 +45,8 @@ import ./make-test-python.nix ({ pkgs, ...} :
with subtest("Check if pantheon session components actually start"):
machine.wait_until_succeeds("pgrep gala")
machine.wait_for_window("gala")
machine.wait_until_succeeds("pgrep wingpanel")
machine.wait_for_window("wingpanel")
machine.wait_until_succeeds("pgrep -f io.elementary.wingpanel")
machine.wait_for_window("io.elementary.wingpanel")
machine.wait_until_succeeds("pgrep plank")
machine.wait_for_window("plank")

View file

@ -0,0 +1,76 @@
diff --git a/meson.build b/meson.build
index de9cbfa850..647f617605 100644
--- a/meson.build
+++ b/meson.build
@@ -92,6 +92,7 @@ iso_codes_dep = dependency('iso-codes', version: '>= 0.35')
json_glib_dep = dependency('json-glib-1.0', version: '>= 1.6')
libarchive_dep = dependency('libarchive')
libdazzle_dep = dependency('libdazzle-1.0', version: '>= 3.37.1')
+libgranite_dep = dependency('granite', version: '>= 6.0.0')
libhandy_dep = dependency('libhandy-1', version: '>= 1.1.0')
libsecret_dep = dependency('libsecret-1', version: '>= 0.19.0')
libsoup_dep = dependency('libsoup-2.4', version: '>= 2.48.0')
diff --git a/src/ephy-shell.c b/src/ephy-shell.c
index 650531da86..b9d1355e86 100644
--- a/src/ephy-shell.c
+++ b/src/ephy-shell.c
@@ -50,6 +50,7 @@
#include <glib/gi18n.h>
#include <gtk/gtk.h>
+#include <granite.h>
#include <handy.h>
struct _EphyShell {
@@ -483,6 +484,20 @@ run_in_background_set_mapping (const GValue *value,
return g_variant_new_boolean (g_variant_get_boolean (var));
}
+static void
+ephy_shell_set_prefers_color_scheme (EphyShell *shell)
+{
+ GtkSettings* gtk_settings = gtk_settings_get_default ();
+ GraniteSettings* granite_settings = granite_settings_get_default ();
+
+ g_object_set (
+ gtk_settings,
+ "gtk-application-prefer-dark-theme",
+ granite_settings_get_prefers_color_scheme (granite_settings) == GRANITE_SETTINGS_COLOR_SCHEME_DARK,
+ NULL
+ );
+}
+
static void
ephy_shell_startup (GApplication *application)
{
@@ -490,11 +505,18 @@ ephy_shell_startup (GApplication *application)
EphyShell *shell = EPHY_SHELL (application);
EphyEmbedShellMode mode;
GAction *action;
+ GraniteSettings* granite_settings = granite_settings_get_default ();
G_APPLICATION_CLASS (ephy_shell_parent_class)->startup (application);
hdy_init ();
+ ephy_shell_set_prefers_color_scheme (shell);
+
+ g_signal_connect (granite_settings, "notify::prefers-color-scheme",
+ G_CALLBACK (ephy_shell_set_prefers_color_scheme), shell
+ );
+
/* If we are under Pantheon set the icon-theme and cursor-theme accordingly. */
if (is_desktop_pantheon ()) {
GtkSettings *settings = gtk_settings_get_default ();
diff --git a/src/meson.build b/src/meson.build
index 5bf3eb92ec..d17b1b6d93 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -74,6 +74,7 @@ libephymain_deps = [
gdk_dep,
gvdb_dep,
libarchive_dep,
+ libgranite_dep,
libhandy_dep
]

View file

@ -9,6 +9,7 @@
, icu
, wrapGAppsHook
, gnome
, pantheon
, libportal
, libxml2
, libxslt
@ -33,6 +34,7 @@
, libdazzle
, libhandy
, buildPackages
, withPantheon ? false
}:
stdenv.mkDerivation rec {
@ -44,6 +46,13 @@ stdenv.mkDerivation rec {
sha256 = "2tE4ufLVXeJxEo/KOLYfU/2YDFh9KeG6a1CP/zsZ9WQ=";
};
patches = lib.optionals withPantheon [
# https://github.com/elementary/browser
# FIXME: Update the patches when https://github.com/elementary/browser/pull/41 merged
./dark-style.patch
./navigation-buttons.patch
];
nativeBuildInputs = [
desktop-file-utils
gettext
@ -87,7 +96,7 @@ stdenv.mkDerivation rec {
p11-kit
sqlite
webkitgtk
];
] ++ lib.optional withPantheon pantheon.granite;
# Tests need an X display
mesonFlags = [
@ -108,7 +117,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://wiki.gnome.org/Apps/Epiphany";
description = "WebKit based web browser for GNOME";
maintainers = teams.gnome.members;
maintainers = teams.gnome.members ++ teams.pantheon.members;
license = licenses.gpl3Plus;
platforms = platforms.linux;
};

View file

@ -0,0 +1,12 @@
diff --git a/src/resources/gtk/action-bar-start.ui b/src/resources/gtk/action-bar-start.ui
index e604b9601f..2bfe244d53 100644
--- a/src/resources/gtk/action-bar-start.ui
+++ b/src/resources/gtk/action-bar-start.ui
@@ -7,7 +7,6 @@
<property name="visible">True</property>
<property name="orientation">horizontal</property>
<style>
- <class name="linked"/>
<class name="navigation-box"/>
</style>
<child>

View file

@ -0,0 +1,135 @@
{ lib, stdenv
, fetchpatch
, substituteAll
, fetchurl
, meson
, ninja
, pkg-config
, gnome
, perl
, gettext
, gtk3
, glib
, libnotify
, libgnomekbd
, lcms2
, libpulseaudio
, alsa-lib
, libcanberra-gtk3
, upower
, colord
, libgweather
, polkit
, gsettings-desktop-schemas
, geoclue2
, systemd
, libgudev
, libwacom
, libxslt
, libxml2
, modemmanager
, networkmanager
, gnome-desktop
, geocode-glib
, docbook_xsl
, wrapGAppsHook
, python3
, tzdata
, nss
, gcr
, gnome-session-ctl
, pantheon
}:
stdenv.mkDerivation rec {
pname = "gnome-settings-daemon";
version = "3.38.2";
src = fetchurl {
url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "136p3prdqvc0lvrcqs4h7crpnfqnimqklpzjivq5w4g1rhbdbhrj";
};
patches = [
# https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0.patch";
sha256 = "O4m0rOW8Zrgu3Q0p0OA8b951VC0FjYbOUk9MLzB9icI=";
})
(substituteAll {
src = ./fix-paths.patch;
inherit tzdata;
})
# Adjust to libgweather changes.
# https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/217
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/82d88014dfca2df7e081712870e1fb017c16b808.patch";
sha256 = "H5k/v+M2bRaswt5nrDJFNn4gS4BdB0UfzdjUCT4yLKg=";
})
];
nativeBuildInputs = [
meson
ninja
pkg-config
perl
gettext
libxml2
libxslt
docbook_xsl
wrapGAppsHook
python3
];
buildInputs = [
gtk3
glib
gsettings-desktop-schemas
modemmanager
networkmanager
libnotify
libgnomekbd # for org.gnome.libgnomekbd.keyboard schema
gnome-desktop
lcms2
libpulseaudio
alsa-lib
libcanberra-gtk3
upower
colord
libgweather
nss
polkit
geocode-glib
geoclue2
systemd
libgudev
libwacom
gcr
];
mesonFlags = [
"-Dudev_dir=${placeholder "out"}/lib/udev"
"-Dgnome_session_ctl_path=${gnome-session-ctl}/libexec/gnome-session-ctl"
];
# Default for release buildtype but passed manually because
# we're using plain
NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS";
postPatch = ''
for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do
chmod +x $f
patchShebangs $f
done
'';
meta = with lib; {
description = "GNOME Settings Daemon";
homepage = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/";
license = licenses.gpl2Plus;
maintainers = pantheon.maintainers;
platforms = platforms.linux;
};
}

View file

@ -1,74 +0,0 @@
From 7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d Mon Sep 17 00:00:00 2001
Message-Id: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Sun, 20 Oct 2019 12:04:31 +0200
Subject: [PATCH 1/7] EGL: Include EGL/eglmesaext.h
From: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
The eglext.h shipped by libglvnd does not include the Mesa extensions,
unlike the header shipped in Mesa.
Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876
(cherry picked from commit a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90)
---
cogl/cogl/meson.build | 2 +-
src/backends/meta-egl-ext.h | 1 +
src/backends/meta-egl.c | 1 +
src/backends/meta-egl.h | 1 +
4 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build
index 1057ef9..9a64294 100644
--- a/cogl/cogl/meson.build
+++ b/cogl/cogl/meson.build
@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file(
built_headers += [cogl_gl_header_h]
if have_egl
- cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>'
+ cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>'
else
cogl_egl_includes_string = ''
endif
diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
index 8705e7d..db0b74f 100644
--- a/src/backends/meta-egl-ext.h
+++ b/src/backends/meta-egl-ext.h
@@ -29,6 +29,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
/*
* This is a little different to the tests shipped with EGL implementations,
diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
index 6554be9..fdeff4f 100644
--- a/src/backends/meta-egl.c
+++ b/src/backends/meta-egl.c
@@ -27,6 +27,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <gio/gio.h>
#include <glib.h>
#include <glib-object.h>
diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
index f2a8164..4591e7d 100644
--- a/src/backends/meta-egl.h
+++ b/src/backends/meta-egl.h
@@ -28,6 +28,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <glib-object.h>
#define META_EGL_ERROR meta_egl_error_quark ()
base-commit: 48ffbb582404c1d52196eb6cc5f082c31ca4910c
--
git-series 0.9.1

View file

@ -1,135 +0,0 @@
From 14cee101882e65a57dcd66ea0f8399477b23ce7e Mon Sep 17 00:00:00 2001
Message-Id: <14cee101882e65a57dcd66ea0f8399477b23ce7e.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Sat, 19 Oct 2019 13:26:05 +0200
Subject: [PATCH 2/7] drop inheritable
From: Tor Hedin Brønner <torhedinbronner@gmail.com>
Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01
We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell.
---
config.h.meson | 3 +++
meson.build | 5 +++++
meson_options.txt | 6 ++++++
src/core/main.c | 10 ++++++++++
src/meson.build | 1 +
5 files changed, 25 insertions(+)
diff --git a/config.h.meson b/config.h.meson
index 0bab718..202fb7e 100644
--- a/config.h.meson
+++ b/config.h.meson
@@ -58,6 +58,9 @@
/* Xwayland applications allowed to issue keyboard grabs */
#mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES
+/* Defined if libcap-ng is available */
+#mesondefine HAVE_LIBCAPNG
+
/* XKB base prefix */
#mesondefine XKB_BASE
diff --git a/meson.build b/meson.build
index 29d495b..86970df 100644
--- a/meson.build
+++ b/meson.build
@@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7'
libcanberra_req = '>= 0.26'
libwacom_req = '>= 0.13'
atk_req = '>= 2.5.3'
+libcapng_req = '>= 0.7.9'
# optional version requirements
udev_req = '>= 228'
@@ -125,6 +126,7 @@ xau_dep = dependency('xau')
ice_dep = dependency('ice')
atk_dep = dependency('atk', version: atk_req)
libcanberra_dep = dependency('libcanberra', version: libcanberra_req)
+libcapng_dep = dependency('libcap-ng', required: get_option('libcapng'))
# For now always require X11 support
have_x11 = true
@@ -256,6 +258,7 @@ have_core_tests = false
have_cogl_tests = false
have_clutter_tests = false
have_installed_tests = false
+have_libcapng = libcapng_dep.found()
if have_tests
have_core_tests = get_option('core_tests')
@@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom)
cdata.set('HAVE_SM', have_sm)
cdata.set('HAVE_STARTUP_NOTIFICATION', have_startup_notification)
cdata.set('HAVE_INTROSPECTION', have_introspection)
+cdata.set('HAVE_LIBCAPNG', have_libcapng)
cdata.set('HAVE_PROFILER', have_profiler)
xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base')
@@ -443,6 +447,7 @@ output = [
' Startup notification..... ' + have_startup_notification.to_string(),
' Introspection............ ' + have_introspection.to_string(),
' Profiler................. ' + have_profiler.to_string(),
+ ' libcap-ng................ ' + have_libcapng.to_string(),
'',
' Tests:',
'',
diff --git a/meson_options.txt b/meson_options.txt
index 73aa7ad..8bfaacd 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules',
value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr',
description: 'Comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland'
)
+
+option('libcapng',
+ type: 'feature',
+ value: 'auto',
+ description: 'Enable libcap-ng support'
+)
diff --git a/src/core/main.c b/src/core/main.c
index 3935f35..ecf3cb2 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -66,6 +66,10 @@
#include <girepository.h>
#endif
+#ifdef HAVE_LIBCAPNG
+#include <cap-ng.h>
+#endif
+
#if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND)
#include <systemd/sd-login.h>
#endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */
@@ -673,6 +677,12 @@ meta_run (void)
if (!meta_display_open ())
meta_exit (META_EXIT_ERROR);
+#ifdef HAVE_LIBCAPNG
+ capng_clear(CAPNG_SELECT_BOTH);
+ capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE);
+ capng_apply(CAPNG_SELECT_BOTH);
+#endif
+
g_main_loop_run (meta_main_loop);
meta_finalize ();
diff --git a/src/meson.build b/src/meson.build
index 90d8073..a9fffa2 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -18,6 +18,7 @@ mutter_pkg_deps = [
glib_dep,
gsettings_desktop_schemas_dep,
gtk3_dep,
+ libcapng_dep,
pango_dep,
]
--
git-series 0.9.1

View file

@ -1,33 +0,0 @@
From 5d2b9a03f24b4dbc423adff52b2eeb478c4b5913 Mon Sep 17 00:00:00 2001
Message-Id: <5d2b9a03f24b4dbc423adff52b2eeb478c4b5913.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Sun, 5 Apr 2020 23:06:03 -0400
Subject: [PATCH 3/7] Fix glitches in gala
From: worldofpeace <worldofpeace@protonmail.ch>
This fixes issues for users of mutter like in gala[0].
Upstream report: https://gitlab.gnome.org/GNOME/mutter/issues/536
[0]: https://github.com/elementary/gala/issues/605
---
clutter/clutter/clutter-actor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
index ecf9a59..07b8b71 100644
--- a/clutter/clutter/clutter-actor.c
+++ b/clutter/clutter/clutter-actor.c
@@ -17831,7 +17831,7 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self)
if (_clutter_actor_get_paint_volume_real (self, &priv->paint_volume))
{
priv->paint_volume_valid = TRUE;
- priv->needs_paint_volume_update = FALSE;
+ //priv->needs_paint_volume_update = FALSE;
return &priv->paint_volume;
}
else
--
git-series 0.9.1

View file

@ -1,58 +0,0 @@
From 5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918 Mon Sep 17 00:00:00 2001
Message-Id: <5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Wed, 30 Oct 2019 15:23:24 -0700
Subject: [PATCH 4/7] profiler: track changes in GLib and Sysprof
From: Christian Hergert <chergert@redhat.com>
This tracks the changes to gdbus-codegen in terms of how GUnixFDList is
done to use the UnixFD annotation.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/908
(cherry picked from commit 605171291993460f31d470a8143d6438d0c6169c)
---
src/backends/meta-profiler.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/backends/meta-profiler.c b/src/backends/meta-profiler.c
index 10d433a..0d62701 100644
--- a/src/backends/meta-profiler.c
+++ b/src/backends/meta-profiler.c
@@ -51,13 +51,12 @@ G_DEFINE_TYPE_WITH_CODE (MetaProfiler,
static gboolean
handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
GDBusMethodInvocation *invocation,
+ GUnixFDList *fd_list,
GVariant *options,
GVariant *fd_variant)
{
MetaProfiler *profiler = META_PROFILER (dbus_profiler);
GMainContext *main_context = g_main_context_default ();
- GDBusMessage *message;
- GUnixFDList *fd_list;
const char *group_name;
int position;
int fd = -1;
@@ -73,8 +72,6 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
g_variant_get (fd_variant, "h", &position);
- message = g_dbus_method_invocation_get_message (invocation);
- fd_list = g_dbus_message_get_unix_fd_list (message);
if (fd_list)
fd = g_unix_fd_list_get (fd_list, position, NULL);
@@ -98,7 +95,7 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
g_debug ("Profiler running");
- meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation);
+ meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation, NULL);
return TRUE;
}
--
git-series 0.9.1

View file

@ -1,32 +0,0 @@
From 2caa072dd8e283a8e43febeab55fe8b76dda69b7 Mon Sep 17 00:00:00 2001
Message-Id: <2caa072dd8e283a8e43febeab55fe8b76dda69b7.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Wed, 29 Jan 2020 11:02:33 +0100
Subject: [PATCH 5/7] meta: Add missing display.h to meta-workspace-manager.h
From: Corentin Noël <corentin@elementary.io>
This is required because MetaDisplayCorner is only defined in display.h
https://gitlab.gnome.org/GNOME/mutter/merge_requests/1025
(cherry picked from commit 9d390ee49fb1f6300336e82ae94cc8061c6bae12)
---
src/meta/meta-workspace-manager.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/meta/meta-workspace-manager.h b/src/meta/meta-workspace-manager.h
index 0390c44..92cd681 100644
--- a/src/meta/meta-workspace-manager.h
+++ b/src/meta/meta-workspace-manager.h
@@ -26,6 +26,7 @@
#include <glib-object.h>
#include <meta/common.h>
+#include <meta/display.h>
#include <meta/prefs.h>
#include <meta/types.h>
--
git-series 0.9.1

View file

@ -1,102 +0,0 @@
From 0c95e5a5b31eab93f149b90982680f38e8977063 Mon Sep 17 00:00:00 2001
Message-Id: <0c95e5a5b31eab93f149b90982680f38e8977063.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Sat, 4 Jul 2020 12:01:28 -0700
Subject: [PATCH 6/7] build: bump ABI to sysprof-capture-4
From: Christian Hergert <chergert@redhat.com>
GLib will now be linking against sysprof-capture-4.a. To support that,
sysprof had to remove the GLib dependency from sysprof-capture-4 which
had the side-effect of breaking ABi.
This bumps the dependency and includes a fallback to compile just the
libsysprof-capture-4.a using a subproject wrap.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1352
(cherry picked from commit 2c08eb6d163b6758efec9eafe1d5c17fc1ab3692)
---
meson.build | 20 ++++++++++++++++++--
src/meson.build | 8 ++++++--
subprojects/sysprof.wrap | 4 ++++
3 files changed, 28 insertions(+), 4 deletions(-)
create mode 100644 subprojects/sysprof.wrap
diff --git a/meson.build b/meson.build
index 86970df..3dc0098 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
project('mutter', 'c',
version: '3.34.6',
- meson_version: '>= 0.50.0',
+ meson_version: '>= 0.51.0',
license: 'GPLv2+'
)
@@ -52,6 +52,9 @@ gbm_req = '>= 10.3'
# screen cast version requirements
libpipewire_req = '>= 0.2.5'
+# profiler requirements
+sysprof_req = '>= 3.37.2'
+
gnome = import('gnome')
pkg = import('pkgconfig')
i18n = import('i18n')
@@ -275,7 +278,20 @@ endif
have_profiler = get_option('profiler')
if have_profiler
- sysprof_dep = dependency('sysprof-capture-3')
+ # libsysprof-capture support
+ sysprof_dep = dependency('sysprof-capture-4',
+ required: true,
+ default_options: [
+ 'enable_examples=false',
+ 'enable_gtk=false',
+ 'enable_tests=false',
+ 'enable_tools=false',
+ 'libsysprof=false',
+ 'with_sysprofd=none',
+ 'help=false',
+ ],
+ fallback: ['sysprof', 'libsysprof_capture_dep'],
+ )
endif
required_functions = [
diff --git a/src/meson.build b/src/meson.build
index a9fffa2..a91baa1 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -711,9 +711,13 @@ if have_profiler
'backends/meta-profiler.h',
]
- dbus_interfaces_dir = join_paths(datadir, 'dbus-1', 'interfaces')
- sysprof3_dbus_file = join_paths(dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
+ if sysprof_dep.type_name() == 'pkgconfig'
+ sysprof_dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('datadir'), 'dbus-1', 'interfaces')
+ else
+ sysprof_dbus_interfaces_dir = join_paths(meson.source_root(), 'subprojects', 'sysprof', 'src')
+ endif
+ sysprof3_dbus_file = join_paths(sysprof_dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler',
sysprof3_dbus_file,
interface_prefix: 'org.gnome.',
diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap
new file mode 100644
index 0000000..c8f5883
--- /dev/null
+++ b/subprojects/sysprof.wrap
@@ -0,0 +1,4 @@
+[wrap-git]
+directory=sysprof
+url=https://gitlab.gnome.org/GNOME/sysprof.git
+revision=cae28263ff5dd4a510d82f3dc2e3a3b3d9b386fb
--
git-series 0.9.1

View file

@ -1,27 +0,0 @@
From 7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4 Mon Sep 17 00:00:00 2001
Message-Id: <7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4.1601082838.git-series.worldofpeace@protonmail.ch>
In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
From: WORLDofPEACE <worldofpeace@protonmail.ch>
Date: Fri, 25 Sep 2020 20:48:33 -0400
Subject: [PATCH 7/7] fix paths
---
src/core/util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/core/util.c b/src/core/util.c
index 79bcfdc..87ce549 100644
--- a/src/core/util.c
+++ b/src/core/util.c
@@ -623,7 +623,7 @@ meta_show_dialog (const char *type,
args = g_ptr_array_new ();
- append_argument (args, "zenity");
+ append_argument (args, "@zenity@/bin/zenity");
append_argument (args, type);
if (display)
--
git-series 0.9.1

View file

@ -1,35 +1,35 @@
{ fetchurl
, fetchpatch
, substituteAll
, lib, stdenv
, runCommand
, lib
, stdenv
, pkg-config
, gnome
, pantheon
, gettext
, gobject-introspection
, upower
, cairo
, pango
, cogl
, json-glib
, libstartup_notification
, zenity
, libcanberra-gtk3
, libcanberra
, ninja
, xkeyboard_config
, libxkbfile
, libXdamage
, libxkbcommon
, libXtst
, libinput
, libdrm
, gsettings-desktop-schemas
, glib
, gtk3
, gnome-desktop
, geocode-glib
, pipewire_0_2
, pipewire
, libgudev
, libwacom
, xwayland
, mesa
, meson
, gnome-settings-daemon
, xorgserver
@ -39,23 +39,47 @@
, desktop-file-utils
, libcap_ng
, egl-wayland
, graphene
, wayland-protocols
, pantheon
}:
stdenv.mkDerivation rec {
let self = stdenv.mkDerivation rec {
pname = "mutter";
version = "3.34.6";
version = "3.38.6";
outputs = [ "out" "dev" "man" ];
src = fetchurl {
url = "mirror://gnome/sources/mutter/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
hash = "sha256-I73ofTO4mBNYgxzsiRW7X/Hq+cHedMkM0WYLG5WINSY=";
sha256 = "0mxln9azl4krmknq2vmhd15lgpa2q7gh7whiv14nsqbr9iaxmg2x";
};
patches = [
# Drop inheritable cap_sys_nice, to prevent the ambient set from leaking
# from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381
./drop-inheritable.patch
# Fixes issues for users of mutter like in gala.
# https://github.com/elementary/gala/issues/605
# https://gitlab.gnome.org/GNOME/mutter/issues/536
./fix-glitches-in-gala.patch
(substituteAll {
src = ./fix-paths.patch;
inherit zenity;
})
];
mesonFlags = [
"-Degl_device=true"
"-Dinstalled_tests=false" # TODO: enable these
"-Dwayland_eglstream=true"
"-Dprofiler=true"
"-Dxwayland_path=${xwayland}/bin/Xwayland"
# This should be auto detected, but it looks like it manages a false
# positive.
"-Dxwayland_initfd=disabled"
];
propagatedBuildInputs = [
@ -63,11 +87,13 @@ stdenv.mkDerivation rec {
json-glib
libXtst
libcap_ng
graphene
];
nativeBuildInputs = [
desktop-file-utils
gettext
mesa # needed for gbm
meson
ninja
pkg-config
@ -78,42 +104,28 @@ stdenv.mkDerivation rec {
buildInputs = [
cairo
cogl
egl-wayland
geocode-glib
glib
gnome-desktop
gnome-settings-daemon
gobject-introspection
gsettings-desktop-schemas
gtk3
libcanberra-gtk3
libcanberra
libdrm
libgudev
libinput
libstartup_notification
libwacom
libxkbcommon
libxkbfile
libXdamage
pango
pipewire_0_2 # TODO: backport pipewire 0.3 support
pipewire
sysprof
upower
xkeyboard_config
xwayland
zenity
];
patches = [
./0001-EGL-Include-EGL-eglmesaext.h.patch
./0002-drop-inheritable.patch
./0003-Fix-glitches-in-gala.patch
./0004-profiler-track-changes-in-GLib-and-Sysprof.patch
./0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch
./0006-build-bump-ABI-to-sysprof-capture-4.patch
(substituteAll {
src = ./0007-fix-paths.patch;
inherit zenity;
})
wayland-protocols
];
postPatch = ''
@ -124,11 +136,29 @@ stdenv.mkDerivation rec {
${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
'';
# Install udev files into our own tree.
PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
passthru = {
libdir = "${self}/lib/mutter-7";
tests = {
libdirExists = runCommand "mutter-libdir-exists" {} ''
if [[ ! -d ${self.libdir} ]]; then
echo "passthru.libdir should contain a directory, ${self.libdir} is not one."
exit 1
fi
touch $out
'';
};
};
meta = with lib; {
description = "A window manager for GNOME";
homepage = "https://gitlab.gnome.org/GNOME/mutter";
license = licenses.gpl2;
license = licenses.gpl2Plus;
maintainers = pantheon.maintainers;
platforms = platforms.linux;
};
}
};
in self

View file

@ -0,0 +1,27 @@
From a58ace29db48f98ad59f4f309d49b458c68a6eec Mon Sep 17 00:00:00 2001
From: Bobby Rong <rjl931189261@126.com>
Date: Wed, 28 Jul 2021 22:08:11 +0800
Subject: [PATCH] Fix glitches in gala
Co-Authored-By: WORLDofPEACE <worldofpeace@protonmail.ch>
This fixes issues for users of mutter like in gala[0].
Upstream report: https://gitlab.gnome.org/GNOME/mutter/issues/536
[0]: https://github.com/elementary/gala/issues/605
---
clutter/clutter/clutter-actor.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
index febfb31918..71906000c0 100644
--- a/clutter/clutter/clutter-actor.c
+++ b/clutter/clutter/clutter-actor.c
@@ -15926,7 +15926,6 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self)
if (_clutter_actor_get_paint_volume_real (self, &priv->paint_volume))
{
priv->paint_volume_valid = TRUE;
- priv->needs_paint_volume_update = FALSE;
return &priv->paint_volume;
}
else

View file

@ -0,0 +1,13 @@
diff --git a/src/core/util.c b/src/core/util.c
index 57b73747d..f424cc81c 100644
--- a/src/core/util.c
+++ b/src/core/util.c
@@ -636,7 +636,7 @@ meta_show_dialog (const char *type,
args = g_ptr_array_new ();
- append_argument (args, "zenity");
+ append_argument (args, "@zenity@/bin/zenity");
append_argument (args, type);
if (display)

View file

@ -88,6 +88,9 @@ lib.makeScope pkgs.newScope (self: with self; {
gnome-settings-daemon = callPackage ./core/gnome-settings-daemon { };
# Using 3.38 to match Mutter used in Pantheon
gnome-settings-daemon338 = callPackage ./core/gnome-settings-daemon/3.38 { };
gnome-software = callPackage ./core/gnome-software { };
gnome-system-monitor = callPackage ./core/gnome-system-monitor { };
@ -106,9 +109,8 @@ lib.makeScope pkgs.newScope (self: with self; {
mutter = callPackage ./core/mutter { };
# Needed for elementary's gala and greeter until 3.36 support has more bugfixes
# https://github.com/elementary/gala/issues/763
mutter334 = callPackage ./core/mutter/3.34 { };
# Needed for elementary's gala and greeter until support for higher versions is provided
mutter338 = callPackage ./core/mutter/3.38 { };
nautilus = callPackage ./core/nautilus { };
@ -355,7 +357,9 @@ lib.makeScope pkgs.newScope (self: with self; {
maintainers = lib.teams.gnome.members;
mutter328 = throw "Removed as Pantheon is upgraded to mutter334.";
mutter328 = throw "Removed as Pantheon is upgraded to mutter338.";
mutter334 = throw "Removed as Pantheon is upgraded to mutter338.";
gnome-getting-started-docs = throw "Removed in favour of gnome-tour.";

View file

@ -30,15 +30,21 @@
stdenv.mkDerivation rec {
pname = "appcenter";
version = "3.6.0";
version = "3.7.1";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "0kwqgilhyrj2nbvw5y34nzch5h9jnrg1a1n333qdsx4ax6yrxh4j";
sha256 = "1llkc0p47jcx992lkwics86vv622dmmvm5hxrdsq26j9crcd5dam";
};
patches = [
# Try to remove other backends to make flatpak backend work.
# https://github.com/NixOS/nixpkgs/issues/70214
./flatpak-only.patch
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";

View file

@ -0,0 +1,196 @@
From 63594caa1da772de504ab1d93b69aae148f29f64 Mon Sep 17 00:00:00 2001
From: Bobby Rong <rjl931189261@126.com>
Date: Wed, 1 Sep 2021 12:25:09 +0800
Subject: [PATCH] Drop PackageKitBackend and UbuntuDriversBackend
---
src/Application.vala | 14 ---------
src/Core/BackendAggregator.vala | 2 --
src/Core/UpdateManager.vala | 56 ---------------------------------
src/MainWindow.vala | 17 ----------
src/Views/Homepage.vala | 15 ---------
5 files changed, 104 deletions(-)
diff --git a/src/Application.vala b/src/Application.vala
index 65fae5aa..9d42b14f 100644
--- a/src/Application.vala
+++ b/src/Application.vala
@@ -167,10 +167,6 @@ public class AppCenter.App : Gtk.Application {
var client = AppCenterCore.Client.get_default ();
- if (fake_update_packages != null) {
- AppCenterCore.PackageKitBackend.get_default ().fake_packages = fake_update_packages;
- }
-
if (silent) {
NetworkMonitor.get_default ().network_changed.connect ((available) => {
schedule_cache_update (!available);
@@ -183,16 +179,6 @@ public class AppCenter.App : Gtk.Application {
return;
}
- if (local_path != null) {
- var file = File.new_for_commandline_arg (local_path);
-
- try {
- local_package = AppCenterCore.PackageKitBackend.get_default ().add_local_component_file (file);
- } catch (Error e) {
- warning ("Failed to load local AppStream XML file: %s", e.message);
- }
- }
-
if (main_window == null) {
main_window = new MainWindow (this);
diff --git a/src/Core/BackendAggregator.vala b/src/Core/BackendAggregator.vala
index 2f8bdedf..b705ca87 100644
--- a/src/Core/BackendAggregator.vala
+++ b/src/Core/BackendAggregator.vala
@@ -26,8 +26,6 @@ public class AppCenterCore.BackendAggregator : Backend, Object {
construct {
backends = new Gee.ArrayList<unowned Backend> ();
- backends.add (PackageKitBackend.get_default ());
- backends.add (UbuntuDriversBackend.get_default ());
backends.add (FlatpakBackend.get_default ());
unowned Gtk.Application app = (Gtk.Application) GLib.Application.get_default ();
diff --git a/src/Core/UpdateManager.vala b/src/Core/UpdateManager.vala
index 29fa397a..ce42dd57 100644
--- a/src/Core/UpdateManager.vala
+++ b/src/Core/UpdateManager.vala
@@ -53,42 +53,9 @@ public class AppCenterCore.UpdateManager : Object {
installed_package.update_state ();
}
- Pk.Results pk_updates;
- unowned PackageKitBackend client = PackageKitBackend.get_default ();
- try {
- pk_updates = yield client.get_updates (cancellable);
- } catch (Error e) {
- warning ("Unable to get updates from PackageKit backend: %s", e.message);
- return 0;
- }
-
uint os_count = 0;
string os_desc = "";
- var package_array = pk_updates.get_package_array ();
- debug ("PackageKit backend reports %d updates", package_array.length);
-
- package_array.foreach ((pk_package) => {
- var pkg_name = pk_package.get_name ();
- var appcenter_package = client.lookup_package_by_id (pkg_name);
- if (appcenter_package != null) {
- debug ("Added %s to app updates", pkg_name);
- apps_with_updates.add (appcenter_package);
- appcenter_package.latest_version = pk_package.get_version ();
- } else {
- debug ("Added %s to OS updates", pkg_name);
- os_count++;
- unowned string pkg_summary = pk_package.get_summary ();
- unowned string pkg_version = pk_package.get_version ();
- os_desc += Markup.printf_escaped (
- "<li>%s\n\t%s\n\t%s</li>\n",
- pkg_name,
- pkg_summary,
- _("Version: %s").printf (pkg_version)
- );
- }
- });
-
os_updates.component.set_pkgnames ({});
os_updates.change_information.clear_update_info ();
@@ -160,29 +127,6 @@ public class AppCenterCore.UpdateManager : Object {
count += 1;
}
- pk_updates.get_details_array ().foreach ((pk_detail) => {
- var pk_package = new Pk.Package ();
- try {
- pk_package.set_id (pk_detail.get_package_id ());
- var pkg_name = pk_package.get_name ();
- var appcenter_package = client.lookup_package_by_id (pkg_name);
- if (appcenter_package != null) {
- appcenter_package.change_information.updatable_packages.@set (client, pk_package.get_id ());
- appcenter_package.change_information.size += pk_detail.size;
- appcenter_package.update_state ();
- } else {
- var pkgnames = os_updates.component.pkgnames;
- pkgnames += pkg_name;
- os_updates.component.pkgnames = pkgnames;
-
- os_updates.change_information.updatable_packages.@set (client, pk_package.get_id ());
- os_updates.change_information.size += pk_detail.size;
- }
- } catch (Error e) {
- critical (e.message);
- }
- });
-
os_updates.update_state ();
return count;
}
diff --git a/src/MainWindow.vala b/src/MainWindow.vala
index a32ce47b..b9f8594a 100644
--- a/src/MainWindow.vala
+++ b/src/MainWindow.vala
@@ -292,23 +292,6 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow {
}
public override bool delete_event (Gdk.EventAny event) {
- unowned AppCenterCore.PackageKitBackend client = AppCenterCore.PackageKitBackend.get_default ();
- if (client.working) {
- if (task_finished_connection != 0U) {
- client.disconnect (task_finished_connection);
- }
-
- hide ();
- task_finished_connection = client.notify["working"].connect (() => {
- if (!visible && !client.working) {
- destroy ();
- }
- });
-
- AppCenterCore.Client.get_default ().cancel_updates (false); //Timeouts keep running
- return true;
- }
-
return false;
}
diff --git a/src/Views/Homepage.vala b/src/Views/Homepage.vala
index 67d1e208..48af8f61 100644
--- a/src/Views/Homepage.vala
+++ b/src/Views/Homepage.vala
@@ -212,7 +212,6 @@ public class AppCenter.Homepage : AbstractView {
recently_updated_revealer.reveal_child = recently_updated_carousel.get_children ().length () > 0;
var houston = AppCenterCore.Houston.get_default ();
- var pk_client = AppCenterCore.PackageKitBackend.get_default ();
var packages_for_banner = new Gee.LinkedList<AppCenterCore.Package> ();
var newest_ids = yield houston.get_app_ids ("/newest/project");
@@ -220,20 +219,6 @@ public class AppCenter.Homepage : AbstractView {
Utils.shuffle_array (trending_ids);
var packages = new Gee.HashMap<string, AppCenterCore.Package> ();
- packages.set_all (pk_client.get_packages_for_component_ids (newest_ids));
- packages.set_all (pk_client.get_packages_for_component_ids (trending_ids));
-
- if (!AppCenterCore.PackageKitBackend.supports_parallel_package_queries) {
- foreach (var package in packages.values) {
- package.update_state ();
- }
- } else {
- try {
- yield pk_client.update_multiple_package_state (packages.values);
- } catch (Error e) {
- warning ("Error while getting installed state of banner packages: %s", e.message);
- }
- }
foreach (var package in newest_ids) {
if (packages_for_banner.size >= NUM_PACKAGES_IN_BANNER) {

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -12,6 +13,7 @@
, python3
, granite
, libgee
, libhandy
, elementary-icon-theme
, appstream
, wrapGAppsHook
@ -19,7 +21,7 @@
stdenv.mkDerivation rec {
pname = "elementary-calculator";
version = "1.6.2";
version = "1.7.0";
repoName = "calculator";
@ -27,7 +29,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-kOQr94PAfLPv4LjY2WDdTtlbf3/tYf+NUESZ94+L41M=";
sha256 = "1kl2iximcmbk8inklb2xav7dp08lp5pn9xxa59327zw13gdy8fkf";
};
passthru = {
@ -53,6 +55,7 @@ stdenv.mkDerivation rec {
granite
gtk3
libgee
libhandy
];
postPatch = ''

View file

@ -10,6 +10,7 @@
, gtk3
, granite
, libgee
, libhandy
, geoclue2
, libchamplain
, clutter
@ -27,7 +28,7 @@
stdenv.mkDerivation rec {
pname = "elementary-calendar";
version = "5.1.1";
version = "6.0.1";
repoName = "calendar";
@ -35,7 +36,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "18npf4zzf2dywr1zkr6fqzcbb70297yvdp5wxw7zyam1xwa86v07";
sha256 = "1caxc42jrys5s4x9qai5wdpcwpkmyvnqx9z75974g7swiz1lrzq6";
};
passthru = {
@ -66,6 +67,7 @@ stdenv.mkDerivation rec {
gtk3
libchamplain
libgee
libhandy
libical
libnotify
libgdata # required by some dependency transitively

View file

@ -13,6 +13,7 @@
, gtk3
, granite
, libgee
, libhandy
, gst_all_1
, libcanberra
, clutter-gtk
@ -24,7 +25,7 @@
stdenv.mkDerivation rec {
pname = "elementary-camera";
version = "1.0.6";
version = "6.0.0";
repoName = "camera";
@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-asl5NdSuLItXebxvqGlSEjwWhdButmka12YQAYkQT44=";
sha256 = "1z5c6pkc7psglxwzby5idsdxvplpi28ckjxrwdngnr22knfdcgag";
};
passthru = {
@ -61,11 +62,12 @@ stdenv.mkDerivation rec {
granite
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
(gst_all_1.gst-plugins-good.override { gtkSupport = true; })
gst_all_1.gstreamer
gtk3
libcanberra
libgee
libhandy
];
postPatch = ''
@ -76,7 +78,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Camera app designed for elementary OS";
homepage = "https://github.com/elementary/camera";
license = licenses.gpl2Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -41,6 +42,15 @@ stdenv.mkDerivation rec {
sha256 = "1w1m52mq3zr9alkxk1c0s4ncscka1km5ppd0r6zm86qan9cjwq0f";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/code/pull/1090
(fetchpatch {
url = "https://github.com/elementary/code/commit/88dc40d7bbcc2288ada6673eb8f4fab345d97882.patch";
sha256 = "16y20bvslcm390irlib759703lvf7w6rz4xzaiazjj1r1njwinvv";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -53,10 +63,7 @@ stdenv.mkDerivation rec {
meson
ninja
pkg-config
# polkit is needed for ITS rules
polkit
polkit # needed for ITS rules
python3
vala
wrapGAppsHook

View file

@ -1,6 +1,5 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, vala
, atk
, cairo
@ -24,11 +23,12 @@
, pantheon
, meson
, ninja
, granite
}:
stdenv.mkDerivation rec {
pname = "elementary-dock";
version = "unstable-2020-06-11";
version = "unstable-2021-07-16";
outputs = [ "out" "dev" ];
@ -37,18 +37,10 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "elementary";
repo = repoName;
rev = "0a389ee58939d8c91c340df4e5340fc4b23d0b80";
sha256 = "01vinik73s0vmk56samgf49zr2bl4wjv44x15sz2cmh744llckja";
rev = "05fd6fccdf1a769f6737a0d7e57e092825348660";
sha256 = "0lqqq5cx0kk8y7qyjx7z2k3v1kw2xxzns968ianarcji19wzcns4";
};
patches = [
# Fix double includedir path in plank.pc
(fetchpatch {
url = "https://github.com/elementary/dock/commit/3bc368e2c4fafcd5b8baca2711c773b0e2441c7c.patch";
sha256 = "0gg35phi1cg7ixljc388i0h70w323r1gqzjhanccnsbjpqsgvs3k";
})
];
nativeBuildInputs = [
gettext
meson
@ -67,6 +59,7 @@ stdenv.mkDerivation rec {
glib
gnome-menus
dconf
granite
gtk3
libX11
libXfixes

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -21,7 +22,7 @@
stdenv.mkDerivation rec {
pname = "elementary-feedback";
version = "6.0.0";
version = "6.1.0";
repoName = "feedback";
@ -29,9 +30,18 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "1fh9a0nfvbrxamki9avm9by760csj2nqy4ya7wzbnqbrrvjwd3fv";
sha256 = "02wydbpa5qaa4xmmh4m7rbj4djbrn2i44zjakj5i6mzwjlj6sv5n";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/feedback/pull/48
(fetchpatch {
url = "https://github.com/elementary/feedback/commit/080005153977a86d10099eff6a5b3e68f7b12847.patch";
sha256 = "01710i90qsaqsrjs92ahwwj198bdrrif6mnw29l9har2rncfkfk2";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";

View file

@ -1,35 +0,0 @@
From f51974c9736c3e28755245d15729578214652343 Mon Sep 17 00:00:00 2001
Message-Id: <f51974c9736c3e28755245d15729578214652343.1599178185.git-series.worldofpeace@protonmail.ch>
From: worldofpeace <worldofpeace@protonmail.ch>
Date: Thu, 3 Sep 2020 20:08:15 -0400
Subject: [PATCH] filechooser-module: hardcode gsettings for nixos
---
filechooser-module/FileChooserDialog.vala | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/filechooser-module/FileChooserDialog.vala b/filechooser-module/FileChooserDialog.vala
index a70fe10..08fde2c 100644
--- a/filechooser-module/FileChooserDialog.vala
+++ b/filechooser-module/FileChooserDialog.vala
@@ -60,10 +60,14 @@ public class CustomFileChooserDialog : Object {
/* If not local only during creation, strange bug occurs on fresh installs */
chooser_dialog.local_only = true;
- var files_preferences = new Settings ("io.elementary.files.preferences");
+ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
+ SettingsSchema preferences_schema = sss.lookup ("io.elementary.files.preferences", false);
+ SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false);
+
+ var files_preferences = new Settings.full (preferences_schema, null, null);
is_single_click = files_preferences.get_boolean ("single-click");
- var chooser_settings = new Settings ("io.elementary.files.file-chooser");
+ var chooser_settings = new Settings.full (chooser_schema, null, null);
assign_container_box ();
remove_gtk_widgets ();
base-commit: 57cb89b64fd2d5c08f4aaf23e8c74bfaa5d0384f
--
git-series 0.9.1

View file

@ -13,9 +13,9 @@
, gtk3
, glib
, libgee
, libhandy
, granite
, libnotify
, libunity
, pango
, elementary-dock
, bamf
@ -27,11 +27,12 @@
, libcloudproviders
, libgit2-glib
, wrapGAppsHook
, systemd
}:
stdenv.mkDerivation rec {
pname = "elementary-files";
version = "4.5.0";
version = "6.0.2";
repoName = "files";
@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-wtQW1poX791DAlSFdVV9psnCfBDeVXI2fDZ2GcvvNn8=";
sha256 = "1i514r3adypmcwinmv4c1kybims16xi4i3akx0yy04dib92hbk7c";
};
passthru = {
@ -73,29 +74,30 @@ stdenv.mkDerivation rec {
libdbusmenu-gtk3
libgee
libgit2-glib
libhandy
libnotify
libunity
pango
sqlite
systemd
zeitgeist
];
patches = [
./0001-filechooser-module-hardcode-gsettings-for-nixos.patch
./filechooser-portal-hardcode-gsettings-for-nixos.patch
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
substituteInPlace filechooser-module/FileChooserDialog.vala \
substituteInPlace filechooser-portal/LegacyFileChooserDialog.vala \
--subst-var-by ELEMENTARY_FILES_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"}
'';
meta = with lib; {
description = "File browser designed for elementary OS";
homepage = "https://github.com/elementary/files";
license = licenses.lgpl3;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -0,0 +1,24 @@
From 726ab4c0ab01273cb2197e4c151a5b69ff0954b6 Mon Sep 17 00:00:00 2001
From: Bobby Rong <rjl931189261@126.com>
Date: Fri, 16 Jul 2021 18:24:58 +0800
Subject: [PATCH] filechooser-portal: hardcode gsettings for nixos
---
filechooser-portal/LegacyFileChooserDialog.vala | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/filechooser-portal/LegacyFileChooserDialog.vala b/filechooser-portal/LegacyFileChooserDialog.vala
index 330718f..f383bb1 100644
--- a/filechooser-portal/LegacyFileChooserDialog.vala
+++ b/filechooser-portal/LegacyFileChooserDialog.vala
@@ -60,7 +60,9 @@ public class Files.LegacyFileChooserDialog : Object {
/* If not local only during creation, strange bug occurs on fresh installs */
chooser_dialog.local_only = true;
- var chooser_settings = new Settings ("io.elementary.files.file-chooser");
+ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
+ SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false);
+ var chooser_settings = new Settings.full (chooser_schema, null, null);
action_area = (Gtk.ButtonBox) chooser_dialog.get_action_area ();

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -25,7 +26,7 @@
stdenv.mkDerivation rec {
pname = "elementary-mail";
version = "6.0.0";
version = "6.1.1";
repoName = "mail";
@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "07iiipl0nsp63g5bn1y2hg6bmgj6i9cxqcfpd7q3vmldnkijvaxs";
sha256 = "15ai0x9236pjx76m0756nyc1by78v0lg1dgdiifk868krdvipzzx";
};
passthru = {
@ -42,6 +43,12 @@ stdenv.mkDerivation rec {
};
};
patches = [
# The app stuck when loading gravatar, temporarily reverts part
# of https://github.com/elementary/mail/pull/600 to fix this
./revert-fix-warning.patch
];
nativeBuildInputs = [
appstream
desktop-file-utils

View file

@ -0,0 +1,55 @@
From 9e61e9493e78b83b9599886561ee596c096030ed Mon Sep 17 00:00:00 2001
From: Bobby Rong <rjl931189261@126.com>
Date: Thu, 29 Jul 2021 13:57:21 +0800
Subject: [PATCH] Partly revert "Fix Warnings in Vala Code (#600)"
This partly reverts commit 9477c24201d3c9c3c7bcc650e0290daa0ee1ab21.
---
src/MessageList/MessageListItem.vala | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/src/MessageList/MessageListItem.vala b/src/MessageList/MessageListItem.vala
index 96b61027..a7ef8f9e 100644
--- a/src/MessageList/MessageListItem.vala
+++ b/src/MessageList/MessageListItem.vala
@@ -290,7 +290,7 @@ public class Mail.MessageListItem : Gtk.ListBoxRow {
expanded = false;
show_all ();
- avatar.set_loadable_icon (new GravatarIcon (parsed_address, get_style_context ().get_scale ()));
+ download_gravatar.begin (parsed_address, avatar.size);
/* Override default handler to stop event propagation. Otherwise clicking the menu will
expand or collapse the MessageListItem. */
@@ -348,6 +348,31 @@ public class Mail.MessageListItem : Gtk.ListBoxRow {
});
}
+ private async void download_gravatar (string address, int size) {
+ if (avatars[address] == null) {
+ var uri = "https://secure.gravatar.com/avatar/%s?d=404&s=%d".printf (
+ Checksum.compute_for_string (ChecksumType.MD5, address.strip ().down ()),
+ size * get_style_context ().get_scale ()
+ );
+
+ var server_file = File.new_for_uri (uri);
+ var path = Path.build_filename (Environment.get_tmp_dir (), server_file.get_basename ());
+ var local_file = File.new_for_path (path);
+
+ try {
+ yield server_file.copy_async (local_file, FileCopyFlags.OVERWRITE, Priority.DEFAULT, null);
+ avatars[address] = new Gdk.Pixbuf.from_file_at_scale (path, size, size, true);
+ } catch (Error e) {
+ debug ("Unable to fetch gravatar: %s", e.message);
+ return;
+ }
+ }
+
+ avatar.set_image_load_func (() => {
+ return avatars[address];
+ });
+ }
+
private void add_inline_composer (ComposerWidget.Type composer_type) {
var message_list_box = (MessageListBox) get_parent ();
message_list_box.add_inline_composer.begin (composer_type, this);

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -31,7 +32,7 @@
stdenv.mkDerivation rec {
pname = "elementary-music";
version = "5.1.0";
version = "5.1.1";
repoName = "music";
@ -39,9 +40,18 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "13v7rii9ardyd661s6d4hvvs4ig44v7s3qd1bx7imaigr72gg58b";
sha256 = "1wqsn4ss9acg0scaqpg514ll2dj3bl71wly4mm79qkinhy30yv9n";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/music/pull/648
(fetchpatch {
url = "https://github.com/elementary/music/commit/aea97103d59afd213467403a48788e476e47c4c3.patch";
sha256 = "1ayj8l6lb19hhl9bhsdfbq7jgchfmpjx0qkljnld90czcksn95yx";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -84,7 +94,7 @@ stdenv.mkDerivation rec {
];
mesonFlags = [
"-Dplugins=lastfm,audioplayer,cdrom,ipod"
"-Dplugins=audioplayer,cdrom,ipod"
];
postPatch = ''
@ -95,7 +105,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Music player and library designed for elementary OS";
homepage = "https://github.com/elementary/music";
license = licenses.lgpl2Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, meson
@ -28,7 +29,6 @@
, webkitgtk
, libwebp
, appstream
, libunity
, wrapGAppsHook
, elementary-icon-theme
}:
@ -46,6 +46,15 @@ stdenv.mkDerivation rec {
sha256 = "1dql14k43rv3in451amiwv4z71hz3ailx67hd8gw1ka3yw12128p";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/photos/pull/629
(fetchpatch {
url = "https://github.com/elementary/photos/commit/e5230a4305381734e93f1e3d1177da21a8a4121b.patch";
sha256 = "1igqq51sj1sx6rl8yrw037jsgnaxfwzfs0m6pqzb9q4jvfdimzfi";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -84,7 +93,6 @@ stdenv.mkDerivation rec {
libraw
librest
libsoup
libunity
libwebp
scour
sqlite

View file

@ -11,14 +11,15 @@
, gtk3
, granite
, libgee
, libhandy
, libcanberra
, elementary-icon-theme
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "elementary-screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93
version = "1.7.1";
pname = "elementary-screenshot";
version = "6.0.0";
repoName = "screenshot";
@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-qo55fzp0ieYF5I5uxnCQY066mege06InHL3B3ahYMZ0=";
sha256 = "1fvsl9zdkv7bgx3jpy7pr9lflm4ckr3swdby379mdxn2x6kxji0x";
};
passthru = {
@ -51,6 +52,7 @@ stdenv.mkDerivation rec {
gtk3
libcanberra
libgee
libhandy
];
postPatch = ''

View file

@ -0,0 +1,84 @@
{ lib, stdenv
, fetchFromGitHub
, nix-update-script
, pantheon
, appstream
, desktop-file-utils
, meson
, ninja
, pkg-config
, python3
, vala
, wrapGAppsHook
, clutter-gtk
, elementary-icon-theme
, evolution-data-server
, granite
, geoclue2
, geocode-glib
, gtk3
, libchamplain
, libgdata
, libgee
, libhandy
, libical
}:
stdenv.mkDerivation rec {
pname = "elementary-tasks";
version = "6.0.3";
repoName = "tasks";
src = fetchFromGitHub {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "0a6zgf7di4jyl764pn78wbanm0i5vrkk5ks3cfsvi3baprf3j9d5";
};
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
};
};
nativeBuildInputs = [
appstream
desktop-file-utils
meson
ninja
pkg-config
python3
vala
wrapGAppsHook
];
buildInputs = [
clutter-gtk
elementary-icon-theme
evolution-data-server
granite
geoclue2
geocode-glib
gtk3
libchamplain
libgdata
libgee
libhandy
libical
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with lib; {
homepage = "https://github.com/elementary/tasks";
description = "Synced tasks and reminders on elementary OS";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

View file

@ -35,6 +35,15 @@ stdenv.mkDerivation rec {
sha256 = "08akr4sv4jy9kd4s26kib6j7i8hc3vs0sp71fifv7ww4mi9cm6jc";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/terminal/pull/611
(fetchpatch {
url = "https://github.com/elementary/terminal/commit/4f6f2d9f58642ed904240c247cc0a0846baecb6b.patch";
sha256 = "04pbd72migxw8i949v3bmw8kfi5nr02rjcwfrx3b6xkiic9825sv";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -31,6 +32,15 @@ stdenv.mkDerivation rec {
sha256 = "04nl9kn33dysvsg0n5qx1z8qgrifkgfwsm7gh1l308v3n8c69lh7";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/videos/pull/233
(fetchpatch {
url = "https://github.com/elementary/videos/commit/19ba2a9148be09ea521d2e9ac29dede6b9c6fa07.patch";
sha256 = "0ffp7ana98846xi7vxrzfg6dbs4yy28x2i4ky85mqs1gj6fjqin5";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";

View file

@ -10,6 +10,7 @@
, granite
, gtk3
, libgee
, libhandy
, meson
, ninja
, pantheon
@ -22,13 +23,13 @@
stdenv.mkDerivation rec {
pname = "sideload";
version = "1.1.1";
version = "6.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-eI/j6+lok9axRHV5DCsFY1fDCV+X5zBR7X8rK6odjFY=";
sha256 = "0mwcaayzcm5pjcwdd61can93y66jiz4wyz9wr8j5fbns5hbk3z5m";
};
passthru = {
@ -56,6 +57,7 @@ stdenv.mkDerivation rec {
granite
gtk3
libgee
libhandy
libxml2
];

View file

@ -1,6 +1,7 @@
{ lib, stdenv
, substituteAll
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, meson
@ -11,18 +12,19 @@
, granite
, gtk3
, switchboard
, wingpanel-indicator-a11y
, onboard
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-a11y";
version = "2.2.0";
version = "2.3.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-3PaOIadlEdYvfNZJaoAQVDKdSTfUdn+snCa8tHmDFD0=";
sha256 = "0dc5jv335j443rg08cb7p8wvmcg36wrf1vlcfg9r20cksdis9v4l";
};
patches = [
@ -30,6 +32,12 @@ stdenv.mkDerivation rec {
src = ./fix-paths.patch;
inherit onboard;
})
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-a11y/pull/79
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-a11y/commit/08db4b696128a6bf809da3403a818834fcd62b02.patch";
sha256 = "1s13ak23bdxgcb74wdz3ql192bla5qhabdicqyjv1rp32plhkbg5";
})
];
passthru = {
@ -50,12 +58,13 @@ stdenv.mkDerivation rec {
gtk3
libgee
switchboard
wingpanel-indicator-a11y
];
meta = with lib; {
description = "Switchboard Universal Access Plug";
homepage = "https://github.com/elementary/switchboard-plug-a11y";
license = licenses.lgpl3Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -1,6 +1,5 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, substituteAll
@ -9,22 +8,24 @@
, pkg-config
, vala
, libgee
, libgtop
, libhandy
, granite
, gtk3
, switchboard
, pciutils
, elementary-feedback
, fwupd
, appstream
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-about";
version = "2.6.3";
version = "6.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-wis6wNEOOjPLUCT9vRRhMxbKHR2Y2nZArKogSF/FQv8=";
sha256 = "0c075ac7iqz4hqbp2ph0cwyhiq0jn6c1g1jjfhygjbssv3vvd268";
};
passthru = {
@ -41,32 +42,20 @@ stdenv.mkDerivation rec {
];
buildInputs = [
appstream
fwupd
granite
gtk3
libgee
libgtop
libhandy
switchboard
];
patches = [
# Get OS Info from GLib.Environment
# https://github.com/elementary/switchboard-plug-about/pull/128
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-about/commit/5ed29988e3a895b2df66e5529df0f12a94d5517c.patch";
sha256 = "1ipDxnpDZjpSEzZdtOeNe5U+QOXiB5M+hC3yDAsl/rQ=";
})
# Use Pretty Name
# https://github.com/elementary/switchboard-plug-about/pull/134
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-about/commit/653d131dc8fac10ae7523f2bf6b179ffffa9c0fd.patch";
sha256 = "AsM49Dc9/yn2tG6fqjfedeOlDXUu+iEoyNUmNYLH+zE=";
})
(substituteAll {
src = ./fix-paths.patch;
inherit pciutils;
elementary_feedback = elementary-feedback;
})
# The NixOS logo is not centered in the circular background and path
# to the background is hardcoded, we will drop the background.
./remove-logo-background.patch
];
meta = with lib; {

View file

@ -1,26 +0,0 @@
diff --git a/src/Plug.vala b/src/Plug.vala
index c32efcbe..0cdaeaca 100644
--- a/src/Plug.vala
+++ b/src/Plug.vala
@@ -178,7 +178,7 @@ public class About.Plug : Switchboard.Plug {
var bug_button = new Gtk.Button.with_label (_("Report a Problem"));
bug_button.clicked.connect (() => {
- var appinfo = new GLib.DesktopAppInfo ("io.elementary.feedback.desktop");
+ var appinfo = new GLib.DesktopAppInfo ("@elementary_feedback@/bin/io.elementary.feedback.desktop");
if (appinfo != null) {
try {
appinfo.launch (null, null);
diff --git a/src/Views/HardwareView.vala b/src/Views/HardwareView.vala
index f8113634..3794bad8 100644
--- a/src/Views/HardwareView.vala
+++ b/src/Views/HardwareView.vala
@@ -179,7 +179,7 @@ public class About.HardwareView : Gtk.Grid {
// Graphics
try {
- Process.spawn_command_line_sync ("lspci", out graphics);
+ Process.spawn_command_line_sync ("@pciutils@/bin/lspci", out graphics);
if ("VGA" in graphics) { //VGA-keyword indicates graphics-line
string[] lines = graphics.split("\n");

View file

@ -0,0 +1,36 @@
diff --git a/src/Views/OperatingSystemView.vala b/src/Views/OperatingSystemView.vala
index fdb92e7..87bb3a4 100644
--- a/src/Views/OperatingSystemView.vala
+++ b/src/Views/OperatingSystemView.vala
@@ -39,21 +39,6 @@ public class About.OperatingSystemView : Gtk.Grid {
logo_icon_name = "distributor-logo";
}
- var logo = new Hdy.Avatar (128, "", false) {
- // In case the wallpaper can't be loaded, we don't want an icon or text
- icon_name = "invalid-icon-name",
- // We need this for the shadow to not get clipped by Gtk.Overlay
- margin = 6
- };
- logo.set_image_load_func ((size) => {
- try {
- return new Gdk.Pixbuf.from_file_at_scale ("/usr/share/backgrounds/elementaryos-default", -1, size, true);
- } catch (Error e) {
- critical (e.message);
- }
- });
- logo.get_style_context ().add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
-
var icon = new Gtk.Image () {
icon_name = logo_icon_name + "-symbolic",
// 128 minus 3px padding on each side
@@ -65,8 +50,7 @@ public class About.OperatingSystemView : Gtk.Grid {
icon_style_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
var logo_overlay = new Gtk.Overlay ();
- logo_overlay.add (logo);
- logo_overlay.add_overlay (icon);
+ logo_overlay.add (icon);
// Intentionally not using GLib.OsInfoKey.PRETTY_NAME here because we
// want more granular control over text formatting

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, meson
@ -10,19 +11,29 @@
, granite
, gtk3
, switchboard
, flatpak
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-applications";
version = "2.1.7";
version = "6.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-uiu19XyogNR0LX/2IIZM6B1JKAfqDMOHniQ29EAa9XM=";
sha256 = "0hgvmrgg6g2sjb3sda7kzfcd3zgngd5w982drl6ll44k1mh16gsj";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-applications/pull/163
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-applications/commit/25db490654ab41694be7b7ba19218376f42fbb8d.patch";
sha256 = "16y8zcwnnjsh72ifpyqcdb9f5ajdj0iy8kb5sj6v77c1cxdhrv29";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -37,6 +48,7 @@ stdenv.mkDerivation rec {
];
buildInputs = [
flatpak
granite
gtk3
libgee
@ -46,7 +58,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Switchboard Applications Plug";
homepage = "https://github.com/elementary/switchboard-plug-applications";
license = licenses.gpl2Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, meson
@ -15,15 +16,24 @@
stdenv.mkDerivation rec {
pname = "switchboard-plug-bluetooth";
version = "2.3.2";
version = "2.3.6";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-avu9Hya3C9g8kGl3D9bLwuZBkNPdwyvLspuBWgvpXU8=";
sha256 = "0n9fhi9g0ww341bjk6lpc5ppnl7qj9b3d63j9a7iqnap57bgks9y";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-bluetooth/pull/182
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-bluetooth/commit/031dd5660b4bcb0bb4e82ebe6d8bcdaa1791c385.patch";
sha256 = "1g01ad6md7pqp1fx00avbra8yfnr8ipg8y6zhfg35fgjakj4aags";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, meson
@ -17,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "switchboard-plug-datetime";
version = "2.1.9";
version = "2.2.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-qgsU3NXqH7ryUah7rEnUrsbecV4AsOo4QfgTcWc5bc4=";
sha256 = "10rqhxsqbl1xnz5n84d7m39c3vb71k153989xvyc55djia1wjx96";
};
passthru = {
@ -32,6 +33,19 @@ stdenv.mkDerivation rec {
};
};
patches = [
(substituteAll {
src = ./fix-paths.patch;
tzdata = tzdata;
})
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-datetime/pull/100
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-datetime/commit/a90639ed4f185f50d4ae448cd9503203dc24b3f4.patch";
sha256 = "0dz0s02ccnds62dqil44k652pc5icka2rfhcx0a5bj1wi5sifnp7";
})
];
nativeBuildInputs = [
libxml2
meson

View file

@ -0,0 +1,15 @@
diff --git a/src/Parser.vala b/src/Parser.vala
index 7c7b82d..2c3a061 100644
--- a/src/Parser.vala
+++ b/src/Parser.vala
@@ -28,9 +28,9 @@ public class DateTime.Parser : GLib.Object {
return parser;
}
private Parser () {
- var file = File.new_for_path ("/usr/share/zoneinfo/zone.tab");
+ var file = File.new_for_path ("@tzdata@/share/zoneinfo/zone.tab");
if (!file.query_exists ()) {
- critical ("/usr/share/zoneinfo/zone.tab doesn't exist !");
+ critical ("@tzdata@/share/zoneinfo/zone.tab doesn't exist !");
return;
}

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "switchboard-plug-display";
version = "2.2.2";
version = "2.3.1";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-mjmvuSipCRGg/HSa1n1eLyVU1gERNT2ciqgz/0KqX0Y=";
sha256 = "1dqd34v124y71nnk0l617a53x652m0sb7b58465imr6ppyhx4vsv";
};
passthru = {
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Switchboard Displays Plug";
homepage = "https://github.com/elementary/switchboard-plug-display";
license = licenses.lgpl2Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -1,19 +1,21 @@
From 4fd6da39ab33a6eef46ee2c64eb4f5595c7fe633 Mon Sep 17 00:00:00 2001
Message-Id: <4fd6da39ab33a6eef46ee2c64eb4f5595c7fe633.1599180249.git-series.worldofpeace@protonmail.ch>
From: worldofpeace <worldofpeace@protonmail.ch>
Date: Thu, 3 Sep 2020 20:43:25 -0400
From f23363ad2fa402d59b41ffe2c13a46462c6d2194 Mon Sep 17 00:00:00 2001
From: Bobby Rong <rjl931189261@126.com>
Date: Fri, 16 Jul 2021 23:28:56 +0800
Subject: [PATCH] Remove Install Unlisted Engines function
https://github.com/elementary/switchboard-plug-keyboard/issues/324
Co-Authored-By: WORLDofPEACE <worldofpeace@protonmail.ch>
---
src/Dialogs/InstallEngineDialog.vala | 140 +------------------
src/Dialogs/ProgressDialog.vala | 82 +----------
src/InputMethod/Installer/InstallList.vala | 73 +---------
src/InputMethod/Installer/UbuntuInstaller.vala | 142 +------------------
src/InputMethod/Installer/aptd-client.vala | 93 +------------
src/Widgets/InputMethod/AddEnginesPopover.vala | 12 +--
src/Widgets/InputMethod/LanguagesRow.vala | 43 +-----
src/meson.build | 6 +-
src/Dialogs/InstallEngineDialog.vala | 140 -----------------
src/Dialogs/ProgressDialog.vala | 82 ----------
src/InputMethod/Installer/InstallList.vala | 73 ---------
.../Installer/UbuntuInstaller.vala | 142 ------------------
src/InputMethod/Installer/aptd-client.vala | 93 ------------
.../InputMethod/AddEnginesPopover.vala | 12 --
src/Widgets/InputMethod/LanguagesRow.vala | 43 ------
src/meson.build | 6 -
8 files changed, 591 deletions(-)
delete mode 100644 src/Dialogs/InstallEngineDialog.vala
delete mode 100644 src/Dialogs/ProgressDialog.vala
@ -170,7 +172,7 @@ index ffba3a8..0000000
-}
diff --git a/src/Dialogs/ProgressDialog.vala b/src/Dialogs/ProgressDialog.vala
deleted file mode 100644
index f110aca..0000000
index 868f167..0000000
--- a/src/Dialogs/ProgressDialog.vala
+++ /dev/null
@@ -1,82 +0,0 @@
@ -191,7 +193,7 @@ index f110aca..0000000
-* with this program. If not, see http://www.gnu.org/licenses/.
-*/
-
-public class Pantheon.Keyboard.InputMethodPage.ProgressDialog : Gtk.Dialog {
-public class Pantheon.Keyboard.InputMethodPage.ProgressDialog : Granite.Dialog {
- public int progress {
- set {
- if (value >= 100) {
@ -583,10 +585,10 @@ index ee5c3f5..0000000
- }
-}
diff --git a/src/Widgets/InputMethod/AddEnginesPopover.vala b/src/Widgets/InputMethod/AddEnginesPopover.vala
index 46e005d..6b56c6b 100644
index 110bc1d..8a03ca8 100644
--- a/src/Widgets/InputMethod/AddEnginesPopover.vala
+++ b/src/Widgets/InputMethod/AddEnginesPopover.vala
@@ -49,8 +49,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
@@ -43,8 +43,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
};
scrolled.add (listbox);
@ -595,7 +597,7 @@ index 46e005d..6b56c6b 100644
var cancel_button = new Gtk.Button.with_label (_("Cancel"));
var add_button = new Gtk.Button.with_label (_("Add Engine"));
@@ -61,10 +59,8 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
@@ -55,10 +53,8 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
margin = 12,
spacing = 6
};
@ -606,7 +608,7 @@ index 46e005d..6b56c6b 100644
var grid = new Gtk.Grid ();
grid.attach (search_entry, 0, 0);
@@ -92,14 +88,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
@@ -88,14 +84,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
listbox.invalidate_filter ();
});
@ -671,20 +673,20 @@ index dc064ae..0000000
- }
-}
diff --git a/src/meson.build b/src/meson.build
index 28f07c1..a515419 100644
index 77a51d0..26711c5 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -16,7 +16,6 @@ plug_files = files(
'Widgets/Shortcuts/CustomTree.vala',
@@ -17,7 +17,6 @@ plug_files = files(
'Widgets/Layout/Display.vala',
'Widgets/Layout/AddLayoutPopover.vala',
'Widgets/Layout/AdvancedSettingsPanel.vala',
'Widgets/Layout/AdvancedSettingsGrid.vala',
- 'Widgets/InputMethod/LanguagesRow.vala',
'Widgets/InputMethod/EnginesRow.vala',
'Widgets/InputMethod/AddEnginesPopover.vala',
'Views/Shortcuts.vala',
@@ -36,11 +35,6 @@ plug_files = files(
'Layout/AdvancedSettingsGrid.vala',
'InputMethod/Utils.vala',
@@ -33,11 +32,6 @@ plug_files = files(
'InputSources/SourceSettings.vala',
'InputSources/InputSource.vala',
'InputMethod/AddEnginesList.vala',
- 'InputMethod/Installer/UbuntuInstaller.vala',
- 'InputMethod/Installer/InstallList.vala',
@ -692,9 +694,5 @@ index 28f07c1..a515419 100644
- 'Dialogs/ProgressDialog.vala',
- 'Dialogs/InstallEngineDialog.vala',
'Dialogs/ConflictDialog.vala',
'Dialogs/AddLayoutDialog.vala'
)
base-commit: 9d9eddeb7da8450a309496c25066f4f78a9d4070
--
git-series 0.9.1

View file

@ -11,27 +11,37 @@
, libgee
, granite
, gtk3
, libhandy
, libxml2
, libgnomekbd
, libxklavier
, xorg
, ibus
, switchboard
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-keyboard";
version = "2.4.1";
version = "2.5.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-iuv5NZ7v+rXyFsKB/PvGa/7hm9MIV8E6JnTzEGROlhM=";
sha256 = "1nsy9fh6qj5kyg22bs1hm6kpsvarwc63q0hl0nbwymvnhfjf6swp";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-keyboard/pull/377
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-keyboard/commit/6d8bcadba05b4ee1115b891448b0de31bcba3749.patch";
sha256 = "1bppxakj71r3cfy8sw19xbyngb7r6nyirc4g6pjf02cdidhw3v8l";
})
./0001-Remove-Install-Unlisted-Engines-function.patch
(substituteAll {
src = ./fix-paths.patch;
ibus = ibus;
})
];
passthru = {
@ -54,6 +64,7 @@ stdenv.mkDerivation rec {
ibus
libgee
libgnomekbd
libhandy
libxklavier
switchboard
];

View file

@ -0,0 +1,13 @@
diff --git a/src/Views/InputMethod.vala b/src/Views/InputMethod.vala
index 6d79fdc..de4276e 100644
--- a/src/Views/InputMethod.vala
+++ b/src/Views/InputMethod.vala
@@ -325,7 +325,7 @@ public class Pantheon.Keyboard.InputMethodPage.Page : Gtk.Grid {
private void spawn_ibus_daemon () {
bool is_spawn_succeeded = false;
try {
- is_spawn_succeeded = Process.spawn_sync ("/", { "ibus-daemon", "-drx" }, Environ.get (), SpawnFlags.SEARCH_PATH, null);
+ is_spawn_succeeded = Process.spawn_sync ("/", { "@ibus@/bin/ibus-daemon", "-drx" }, Environ.get (), SpawnFlags.SEARCH_PATH, null);
} catch (GLib.SpawnError e) {
warning (e.message);
set_visible_view (e.message);

View file

@ -1,28 +1,33 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, substituteAll
, pantheon
, meson
, ninja
, pkg-config
, vala
, libgee
, libxml2
, granite
, gtk3
, switchboard
, elementary-settings-daemon
, gnome-settings-daemon
, glib
, gala # needed for gestures support
, touchegg
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-mouse-touchpad";
version = "2.4.2";
version = "6.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-WJ/GRhZsSwC31HEIjHHWBy9/Skqbwor0tNVTedue3kk=";
sha256 = "19kiwrdpan8hr5r79y591591qjx7pm3x814xfkg9vi11ndbcrznr";
};
passthru = {
@ -39,18 +44,34 @@ stdenv.mkDerivation rec {
];
buildInputs = [
gala
glib
granite
gtk3
libgee
elementary-settings-daemon
libxml2
gnome-settings-daemon
switchboard
touchegg
];
patches = [
(substituteAll {
src = ./fix-paths.patch;
touchegg = touchegg;
})
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-mouse-touchpad/pull/185
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-mouse-touchpad/commit/a6f84dc08be5dc6f7535082bacfa24e2dff4ef67.patch";
sha256 = "0fxl894dzw1f84n36mb9y7gshs69xcb0samvs2gsa0pcdlzfp3cy";
})
];
meta = with lib; {
description = "Switchboard Mouse & Touchpad Plug";
homepage = "https://github.com/elementary/switchboard-plug-mouse-touchpad";
license = licenses.gpl2Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -0,0 +1,13 @@
diff --git a/src/Utils/ToucheggSettings.vala b/src/Utils/ToucheggSettings.vala
index 1d621b9c..73c89714 100644
--- a/src/Utils/ToucheggSettings.vala
+++ b/src/Utils/ToucheggSettings.vala
@@ -36,7 +36,7 @@ public class MouseTouchpad.ToucheggSettings : GLib.Object {
private const string MAXIMIZE_4_XPATH = "//application[@name=\"All\"]/gesture[@fingers=\"4\"]/action[@type=\"MAXIMIZE_RESTORE_WINDOW\"]/..";
public ToucheggSettings () {
- system_config_path = Path.build_filename (GLib.Path.DIR_SEPARATOR_S, "usr", "share", "touchegg", "touchegg.conf");
+ system_config_path = Path.build_filename ("@touchegg@", "share", "touchegg", "touchegg.conf");
user_config_dir_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg");
user_config_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg", "touchegg.conf");
}

View file

@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "switchboard-plug-network";
version = "2.3.2";
version = "2.4.1";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-PYgewxBblhOfOJQSeRaq8xD7qZ3083EvgUjpi92FqyI=";
sha256 = "0nqihsbrpjw4nx1c50g854bqybniw38adi78vzg8nyl6ikj2r0z4";
};
passthru = {
@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Switchboard Networking Plug";
homepage = "https://github.com/elementary/switchboard-plug-network";
license = licenses.lgpl21Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -16,15 +16,24 @@
stdenv.mkDerivation rec {
pname = "switchboard-plug-notifications";
version = "2.1.7";
version = "2.2.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-MBCSQ+4l0mpS2OTDRJ7+91qo0SWm5nJNYO7SZaSoVQk=";
sha256 = "0zzhgs8m1y7ab31hbn7v8g8k7rx51gqajl243zmysn86lfqk8iay";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-notifications/pull/83
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-notifications/commit/2e0320aab62b6932e8ef5f941d02e244de381957.patch";
sha256 = "0rcamasq837grck0i2yx6psggzrhv7p7m3mra5l0k9zsjxgar92v";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";

View file

@ -1,33 +1,36 @@
{ lib, stdenv
, fetchFromGitHub
, nix-update-script
, fetchpatch
, pantheon
, meson
, ninja
, pkg-config
, vala_0_46
, vala
, libgee
, granite
, gtk3
, libaccounts-glib
, libgdata
, libhandy
, libsignon-glib
, json-glib
, librest
, webkitgtk
, libsoup
, sqlite
, switchboard
, evolution-data-server
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-onlineaccounts";
version = "2.0.1";
version = "6.2.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-CVYKcRty5bBEMNyoY51JAJQy6uh+U+7IvS6V/1GMCA4=";
sha256 = "1lp3i31jzp21n43d1mh4d4i8zgim3q3j4inw4hmyimyql2s83cc3";
};
passthru = {
@ -40,45 +43,33 @@ stdenv.mkDerivation rec {
meson
ninja
pkg-config
vala_0_46
vala
];
buildInputs = [
evolution-data-server
granite
gtk3
json-glib
libaccounts-glib
libgdata
libgee
libhandy
libsignon-glib
libsoup
librest
sqlite # needed for camel-1.2
switchboard
webkitgtk
];
patches = [
# Fix build with latest vala
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-onlineaccounts/commit/5fa2882f765076d20c6ef4886198a34a05159f8a.patch";
sha256 = "1szryyy7shdmbvx9yhpi0bhzaayg7hl6pq2c456j1qf9kfv0m4hf";
})
# fix build with vala 0.48.9
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-onlineaccounts/commit/b1853b7427102b8dd94774e1e2cc455f50902263.patch";
sha256 = "J3C71GyEHEZWSghGXlwXPHFJRhrvx6i0yvi8NIDb4WE=";
})
];
PKG_CONFIG_LIBACCOUNTS_GLIB_PROVIDERFILESDIR = "${placeholder "out"}/share/accounts/providers";
PKG_CONFIG_LIBACCOUNTS_GLIB_SERVICEFILESDIR = "${placeholder "out"}/share/accounts/services";
PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
meta = with lib; {
description = "Switchboard Online Accounts Plug";
homepage = "https://github.com/elementary/switchboard-plug-onlineaccounts";
license = licenses.lgpl2Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -1,18 +1,48 @@
{ lib, stdenv, fetchFromGitHub, nix-update-script, pantheon, meson, ninja, pkg-config, vala, glib
, libgee, granite, gexiv2, elementary-settings-daemon, gtk3, gnome-desktop
, gala, wingpanel, elementary-dock, switchboard, gettext, bamf, fetchpatch }:
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, meson
, ninja
, pkg-config
, vala
, glib
, libgee
, granite
, gexiv2
, gnome-settings-daemon
, elementary-settings-daemon
, gtk3
, gnome-desktop
, gala
, wingpanel
, elementary-dock
, switchboard
, gettext
, bamf
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-pantheon-shell";
version = "2.8.4";
version = "6.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-CHl+4mVjrDg2gusrWOCfI++DZMWKLdvHxG3ZWMjZ2to=";
sha256 = "0349150kxdv14ald79pzn7lasiqipyc37fgchygbc8hsy62d9a32";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-pantheon-shell/pull/286
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-pantheon-shell/commit/0c3207ffaeaa82ca3c743bc9ec772185fbd7e8cf.patch";
sha256 = "11ymzqx6has4zf8y0xy7pfhymcl128hzzjcgp46inshjf99v5kiv";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -31,6 +61,7 @@ stdenv.mkDerivation rec {
bamf
elementary-dock
elementary-settings-daemon
gnome-settings-daemon
gala
gexiv2
glib

View file

@ -2,14 +2,13 @@
, fetchFromGitHub
, nix-update-script
, pantheon
, substituteAll
, meson
, ninja
, pkg-config
, vala
, libgee
, elementary-dpms-helper
, elementary-settings-daemon
, gnome-settings-daemon
, granite
, gtk3
, glib
@ -20,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "switchboard-plug-power";
version = "2.4.2";
version = "2.6.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-swcbkaHHe9BZxMWvjdRutvYfXXrSCUJWuld1btfYeH0=";
sha256 = "006h8mrhmdrbd83vhdyahgrfk9wh6j9kjincpp7dz7sl8fsyhmcr";
};
passthru = {
@ -44,8 +43,8 @@ stdenv.mkDerivation rec {
buildInputs = [
dbus
elementary-dpms-helper
elementary-settings-daemon
gnome-settings-daemon
glib
granite
gtk3
@ -54,13 +53,6 @@ stdenv.mkDerivation rec {
switchboard
];
patches = [
(substituteAll {
src = ./dpms-helper-exec.patch;
elementary_dpms_helper = elementary-dpms-helper;
})
];
meta = with lib; {
description = "Switchboard Power Plug";
homepage = "https://github.com/elementary/switchboard-plug-power";

View file

@ -1,13 +0,0 @@
diff --git a/src/MainView.vala b/src/MainView.vala
index 1654e68..175f220 100644
--- a/src/MainView.vala
+++ b/src/MainView.vala
@@ -317,7 +317,7 @@ public class Power.MainView : Gtk.Grid {
private static void run_dpms_helper () {
try {
- string[] argv = { "io.elementary.dpms-helper" };
+ string[] argv = { "@elementary_dpms_helper@/bin/io.elementary.dpms-helper" };
Process.spawn_async (null, argv, Environ.get (),
SpawnFlags.SEARCH_PATH | SpawnFlags.STDERR_TO_DEV_NULL | SpawnFlags.STDOUT_TO_DEV_NULL,
null, null);

View file

@ -16,20 +16,21 @@
stdenv.mkDerivation rec {
pname = "switchboard-plug-printers";
version = "2.1.9";
version = "2.1.10";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-tnAJyyPN/Xy1pmlgBpgO2Eb5CeHrRltjQTHmuTPBt8s=";
sha256 = "0frvybbx7mcs87kww0if4zn0c6c2gb400cpiqrl8b0294py58xpb";
};
patches = [
# Fix build with latest Vala.
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-printers/pull/153
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-printers/commit/5eced5ddda6f229d7265ea0a713f6c1cd181a526.patch";
sha256 = "lPTNqka6jjvv1JnAqVzVIQBIdDXlCOQ5ASvgZNuEUC8=";
url = "https://github.com/elementary/switchboard-plug-printers/commit/3e2b01378cbb8e666d23daeef7f40fcaa90daa45.patch";
sha256 = "0b8pq525xnir06pn65rcz68bcp5xdxl0gpbj7p5x1hs23p5dp04n";
})
];
@ -57,7 +58,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Switchboard Printers Plug";
homepage = "https://github.com/elementary/switchboard-plug-printers";
license = licenses.lgpl3Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -10,30 +10,31 @@
, vala
, libgee
, granite
, gala
, gtk3
, glib
, polkit
, zeitgeist
, switchboard
, lightlocker
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-security-privacy";
version = "2.2.4";
version = "2.2.5";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-Sws6FqUL7QAROInDrcqYAp6j1TCC4aGV0/hi5Kmm5wQ=";
sha256 = "1ydr1xpbyxjcnd36c9j7a64srbz6gpbshwhcqj6591kmiqhmvknk";
};
patches = [
# Fix build with latest Vala.
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-security-privacy/pull/130
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-security-privacy/commit/c8e422e630bbee0badcf4df26364c9e83e06bad0.patch";
sha256 = "5Gm+muZiCraJC5JaGVVo0HDJ7KxjOpclHRW1RKsk3bc=";
url = "https://github.com/elementary/switchboard-plug-security-privacy/commit/18fe438baba651670d7f0534856c3b2433e3d75d.patch";
sha256 = "19qwm725k6h41kgg4a98i4rxx45s4bb1wxx0fzkh75gz9syfi58w";
})
];
@ -52,13 +53,13 @@ stdenv.mkDerivation rec {
];
buildInputs = [
gala
glib
granite
gtk3
libgee
polkit
switchboard
lightlocker
zeitgeist
];
@ -70,7 +71,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Switchboard Security & Privacy Plug";
homepage = "https://github.com/elementary/switchboard-plug-security-privacy";
license = licenses.lgpl3Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -15,15 +15,24 @@
stdenv.mkDerivation rec {
pname = "switchboard-plug-sharing";
version = "2.1.4";
version = "2.1.5";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-/M60w14zfAUXspabvTUWlOPRrHvKtCYUio82b034k6s=";
sha256 = "00lqrxq1wz3y2s9jiz8rh9d571va2vza2gdwj6c86z3q4c4hmn17";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-sharing/pull/55
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-sharing/commit/5219839738b79e3c5f039a811d96a40eb2644eab.patch";
sha256 = "020w746q7gzmic0pdnbxs792sx15wlsqaf2x770r5xwbyfmqr7bs";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -47,7 +56,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Switchboard Sharing Plug";
homepage = "https://github.com/elementary/switchboard-plug-sharing";
license = licenses.gpl2Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, meson
@ -10,22 +11,30 @@
, granite
, gtk3
, pulseaudio
, libcanberra
, libcanberra-gtk3
, switchboard
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-sound";
version = "2.2.5";
version = "2.2.7";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-ITgxLZSB4zhSaFKX7Vbf89DGI8ibIcGEQTtLjcGN2tA=";
sha256 = "0yjqws7ryfid9lcafgzzbfnjjwccsankscwdwqfw486qid85whzc";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-sound/pull/203
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-sound/commit/1f3b9f001ace4c457ab194158dff04ba5e25d278.patch";
sha256 = "1lmf2bbif2wkfv500nxbqxp8jdmnjg8yk8xhx3g2g55d15rc5hk4";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -42,7 +51,6 @@ stdenv.mkDerivation rec {
buildInputs = [
granite
gtk3
libcanberra
libcanberra-gtk3
libgee
pulseaudio
@ -52,7 +60,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Switchboard Sound Plug";
homepage = "https://github.com/elementary/switchboard-plug-sound";
license = licenses.lgpl2Plus;
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -0,0 +1,72 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, meson
, ninja
, pkg-config
, vala
, glib
, granite
, gtk3
, libgee
, libgudev
, libwacom
, switchboard
, xorg
}:
stdenv.mkDerivation rec {
pname = "switchboard-plug-wacom";
version = "1.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "1n2yfq4s9xpnfqjikchjp4z2nk8cmfz4g0p18cplzh5w1lvz17lm";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard-plug-wacom/pull/29
(fetchpatch {
url = "https://github.com/elementary/switchboard-plug-wacom/commit/2a7dee180d73ffb3521d806efb7028f5a71cb511.patch";
sha256 = "06ra5c0f14brmj2mmsqscpc4d1114i4qazgnsazzh2hrp04ilnva";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
};
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
];
buildInputs = [
glib
granite
gtk3
libgee
libgudev
libwacom
switchboard
xorg.libX11
xorg.libXi
];
meta = with lib; {
description = "Switchboard Wacom Plug";
homepage = "https://github.com/elementary/switchboard-plug-wacom";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -9,6 +10,7 @@
, vala
, gtk3
, libgee
, libhandy
, granite
, gettext
, clutter-gtk
@ -18,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "switchboard";
version = "2.4.0";
version = "6.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-N3WZysLIah40kcyIyhryZpm2FxCmlvp0EB1krZ/IsYs=";
sha256 = "02dfsrfmr297cxpyd5m3746ihcgjyfnb3d42ng9m4ljdvh0dxgim";
};
passthru = {
@ -49,10 +51,17 @@ stdenv.mkDerivation rec {
granite
gtk3
libgee
libhandy
];
patches = [
./plugs-path-env.patch
# Upstream code not respecting our localedir
# https://github.com/elementary/switchboard/pull/214
(fetchpatch {
url = "https://github.com/elementary/switchboard/commit/8d6b5f4cbbaf134880252afbf1e25d70033e6402.patch";
sha256 = "0gwq3wwj45jrnlhsmxfclbjw6xjr8kf6pp3a84vbnrazw76lg5nc";
})
];
postPatch = ''

View file

@ -5,11 +5,12 @@
, meson
, ninja
, gettext
, sassc
}:
stdenv.mkDerivation rec {
pname = "elementary-gtk-theme";
version = "5.4.2";
version = "6.0.0";
repoName = "stylesheet";
@ -17,7 +18,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-eE0/LLdnpxOpBvdpioGKV/DOQ5lIuQt9dPnhGkQDGCs=";
sha256 = "08iga854s6w77xr5rhvr74pgn2lc884aigc7gkn0xjlwysd195fr";
};
passthru = {
@ -30,6 +31,7 @@ stdenv.mkDerivation rec {
gettext
meson
ninja
sassc
];
meta = with lib; {

View file

@ -9,7 +9,7 @@
stdenv.mkDerivation rec {
pname = "elementary-wallpapers";
version = "5.5.0";
version = "6.0.0";
repoName = "wallpapers";
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-Q5sYDXqFhiTu8nABmyND3L8bIXd1BJ3GZQ9TL3SzwzA=";
sha256 = "1qpf8w7x9sp3sd4zpsrlj5ywpwqkq4ywbagm4sf25cwwn82dl59b";
};
nativeBuildInputs = [

View file

@ -12,25 +12,31 @@ lib.makeScope pkgs.newScope (self: with self; {
switchboard-plug-onlineaccounts switchboard-plug-pantheon-shell
switchboard-plug-power switchboard-plug-printers
switchboard-plug-security-privacy switchboard-plug-sharing
switchboard-plug-sound
switchboard-plug-sound switchboard-plug-wacom
];
wingpanelIndicators = [
wingpanel-applications-menu wingpanel-indicator-bluetooth
wingpanel-indicator-datetime wingpanel-indicator-keyboard
wingpanel-indicator-network wingpanel-indicator-nightlight
wingpanel-indicator-notifications wingpanel-indicator-power
wingpanel-indicator-session wingpanel-indicator-sound
wingpanel-applications-menu wingpanel-indicator-a11y
wingpanel-indicator-bluetooth wingpanel-indicator-datetime
wingpanel-indicator-keyboard wingpanel-indicator-network
wingpanel-indicator-nightlight wingpanel-indicator-notifications
wingpanel-indicator-power wingpanel-indicator-session
wingpanel-indicator-sound
];
maintainers = lib.teams.pantheon.members;
mutter = pkgs.gnome.mutter334;
mutter = pkgs.gnome.mutter338;
# Using 3.38 to match Mutter used in Pantheon
gnome-settings-daemon = pkgs.gnome.gnome-settings-daemon338;
elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { };
notes-up = pkgs.notes-up.override { withPantheon = true; };
touchegg = pkgs.touchegg.override { withPantheon = true; };
#### APPS
appcenter = callPackage ./apps/appcenter { };
@ -55,12 +61,16 @@ lib.makeScope pkgs.newScope (self: with self; {
elementary-photos = callPackage ./apps/elementary-photos { };
elementary-screenshot-tool = callPackage ./apps/elementary-screenshot-tool { };
elementary-screenshot = callPackage ./apps/elementary-screenshot { };
elementary-tasks = callPackage ./apps/elementary-tasks { };
elementary-terminal = callPackage ./apps/elementary-terminal { };
elementary-videos = callPackage ./apps/elementary-videos { };
epiphany = pkgs.epiphany.override { withPantheon = true; };
sideload = callPackage ./apps/sideload { };
#### DESKTOP
@ -103,16 +113,9 @@ lib.makeScope pkgs.newScope (self: with self; {
elementary-capnet-assist = callPackage ./services/elementary-capnet-assist { };
elementary-dpms-helper = callPackage ./services/elementary-dpms-helper { };
elementary-notifications = callPackage ./services/elementary-notifications { };
# We're using ubuntu and elementary's patchset due to reasons
# explained here -> https://github.com/elementary/greeter/issues/92#issuecomment-376215614
# Take note of "I am holding off on "fixing" this bug for as long as possible."
elementary-settings-daemon = callPackage ./services/elementary-settings-daemon {
inherit (gnome) gnome-desktop;
};
elementary-settings-daemon = callPackage ./services/elementary-settings-daemon { };
pantheon-agent-geoclue2 = callPackage ./services/pantheon-agent-geoclue2 { };
@ -122,6 +125,8 @@ lib.makeScope pkgs.newScope (self: with self; {
wingpanel-applications-menu = callPackage ./desktop/wingpanel-indicators/applications-menu { };
wingpanel-indicator-a11y = callPackage ./desktop/wingpanel-indicators/a11y { };
wingpanel-indicator-bluetooth = callPackage ./desktop/wingpanel-indicators/bluetooth { };
wingpanel-indicator-datetime = callPackage ./desktop/wingpanel-indicators/datetime { };
@ -184,6 +189,8 @@ lib.makeScope pkgs.newScope (self: with self; {
switchboard-plug-sound = callPackage ./apps/switchboard-plugs/sound { };
switchboard-plug-wacom = callPackage ./apps/switchboard-plugs/wacom { };
### ARTWORK
elementary-gtk-theme = callPackage ./artwork/elementary-gtk-theme { };
@ -204,4 +211,6 @@ lib.makeScope pkgs.newScope (self: with self; {
cerbere = throw "Cerbere is now obsolete https://github.com/elementary/cerbere/releases/tag/2.5.1.";
elementary-screenshot-tool = elementary-screenshot; # added 2021-07-21
})

View file

@ -1,309 +0,0 @@
From f728ac670d8f6bb7600a007d92034b711471fab6 Mon Sep 17 00:00:00 2001
From: worldofpeace <worldofpeace@protonmail.ch>
Date: Sat, 13 Jul 2019 19:06:20 -0400
Subject: [PATCH 1/2] Build with Meson
Has the following meson build options:
* default-wallpaper
* plank-dockitems
* default-gsettings-overrides
All default to true.
We also split the default-settings gsettings override into another that
only sets plank's default dockitems. This is installed when plank-dockitems
is true. We need to have this because those settings are dependent on
those dockitems actually being installed and we have it optional.
---
accountsservice/create-symlink.py | 24 ++++++
accountsservice/meson.build | 25 ++++++
.../appcenter.blacklist | 0
.../default-testpage.pdf | Bin
settings.ini => gtk/settings.ini | 0
.inputrc => inputrc/.inputrc | 0
meson.build | 79 ++++++++++++++++++
meson/post_install.py | 12 +++
meson_options.txt | 14 ++++
...e => default-settings.gschema.override.in} | 3 +-
overrides/meson.build | 21 +++++
overrides/plank-dockitems.gschema.override | 2 +
.../sessioninstaller.desktop | 0
13 files changed, 178 insertions(+), 2 deletions(-)
create mode 100644 accountsservice/create-symlink.py
create mode 100644 accountsservice/meson.build
rename appcenter.blacklist => appcenter/appcenter.blacklist (100%)
rename default-testpage.pdf => cups/default-testpage.pdf (100%)
rename settings.ini => gtk/settings.ini (100%)
rename .inputrc => inputrc/.inputrc (100%)
create mode 100644 meson.build
create mode 100755 meson/post_install.py
create mode 100644 meson_options.txt
rename overrides/{default-settings.gschema.override => default-settings.gschema.override.in} (92%)
create mode 100644 overrides/meson.build
create mode 100644 overrides/plank-dockitems.gschema.override
rename sessioninstaller.desktop => sessioninstaller/sessioninstaller.desktop (100%)
diff --git a/accountsservice/create-symlink.py b/accountsservice/create-symlink.py
new file mode 100644
index 0000000..e502134
--- /dev/null
+++ b/accountsservice/create-symlink.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+
+if len(sys.argv) < 3:
+ print('Usage: create-symlink.py SOURCE DESTINATION')
+ sys.exit(1)
+
+src = sys.argv[1]
+dest = sys.argv[2]
+
+if 'MESON_INSTALL_DESTDIR_PREFIX' in os.environ:
+ src = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], src)
+ dest = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], dest)
+
+if os.path.isabs(src):
+ src = os.path.relpath(src, os.path.dirname(os.path.realpath(dest)))
+
+if not os.path.exists(dest):
+ print('Creating symbolic link: ' + dest + ' -> ' + src)
+ if not os.path.exists(os.path.dirname(dest)):
+ os.makedirs(os.path.dirname(dest))
+ os.symlink(src, dest)
diff --git a/accountsservice/meson.build b/accountsservice/meson.build
new file mode 100644
index 0000000..6d18459
--- /dev/null
+++ b/accountsservice/meson.build
@@ -0,0 +1,25 @@
+dbus_dep = dependency('dbus-1')
+dbus_interfaces_dir = dbus_dep.get_pkgconfig_variable('interfaces_dir', define_variable: ['datadir', datadir])
+
+install_data(
+ 'io.elementary.pantheon.AccountsService.xml',
+ install_dir: dbus_interfaces_dir
+)
+
+
+polkit_dep = dependency('polkit-gobject-1')
+polkit_actiondir = polkit_dep.get_pkgconfig_variable('actiondir', define_variable: ['prefix', prefix])
+
+install_data(
+ 'io.elementary.pantheon.AccountsService.policy',
+ install_dir: polkit_actiondir
+)
+
+act_dep = dependency('accountsservice')
+act_interfacesdir = act_dep.get_pkgconfig_variable('interfacesdir', define_variable: ['datadir', datadir])
+
+meson.add_install_script(
+ 'create-symlink.py',
+ join_paths(dbus_interfaces_dir, 'io.elementary.pantheon.AccountsService.xml'),
+ join_paths(act_interfacesdir, 'io.elementary.pantheon.AccountsService.xml'),
+)
diff --git a/appcenter.blacklist b/appcenter/appcenter.blacklist
similarity index 100%
rename from appcenter.blacklist
rename to appcenter/appcenter.blacklist
diff --git a/default-testpage.pdf b/cups/default-testpage.pdf
similarity index 100%
rename from default-testpage.pdf
rename to cups/default-testpage.pdf
diff --git a/settings.ini b/gtk/settings.ini
similarity index 100%
rename from settings.ini
rename to gtk/settings.ini
diff --git a/.inputrc b/inputrc/.inputrc
similarity index 100%
rename from .inputrc
rename to inputrc/.inputrc
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..7740a34
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,79 @@
+project(
+ 'elementary-default-settings',
+ version: '5.1.0',
+ default_options: 'sysconfdir=/etc',
+)
+
+prefix = get_option('prefix')
+datadir = join_paths(prefix, get_option('datadir'))
+sysconfdir = get_option('sysconfdir')
+
+meson.add_install_script('meson/post_install.py', datadir)
+
+# Planks Default DockItems
+if get_option('plank-dockitems')
+ install_subdir(
+ 'plank',
+ install_dir: join_paths(sysconfdir, 'skel', '.config')
+ )
+endif
+
+# Setup system wide global environment for applications
+install_subdir(
+ 'profile.d',
+ install_dir: join_paths(sysconfdir, 'profile.d'),
+ strip_directory : true
+)
+
+# elementary Plymouth Theme
+install_subdir(
+ 'plymouth/elementary',
+ install_dir: join_paths(datadir, 'plymouth', 'themes')
+)
+
+install_data(
+ 'plymouth/ubuntu-text.plymouth',
+ install_dir: join_paths(datadir, 'plymouth', 'themes')
+)
+
+# Sudo password feedback in terminals
+install_data(
+ 'sudoers.d/pwfeedback',
+ install_dir: join_paths(sysconfdir, 'sudoers.d')
+)
+
+# CUPS Printing testpage
+install_data(
+ 'cups/default-testpage.pdf',
+ install_dir: join_paths(datadir, 'cups', 'data')
+)
+
+# GTK3 Settings
+install_data(
+ 'gtk/settings.ini',
+ install_dir: join_paths(sysconfdir, 'gtk-3.0')
+)
+
+# So SessionInstaller can have an Icon
+install_data(
+ 'sessioninstaller/sessioninstaller.desktop',
+ install_dir: join_paths(datadir, 'applications')
+)
+
+# Default Appcenter Blacklist
+install_data(
+ 'appcenter/appcenter.blacklist',
+ install_dir: join_paths(sysconfdir, 'appcenter')
+)
+
+# Configuration file of GNU readline
+install_data(
+ 'inputrc/.inputrc',
+ install_dir: join_paths(sysconfdir, 'skel')
+)
+
+# Default gsettings overrides
+subdir('overrides')
+
+# AccountsService extension for Greeter.
+subdir('accountsservice')
diff --git a/meson/post_install.py b/meson/post_install.py
new file mode 100755
index 0000000..c6b5617
--- /dev/null
+++ b/meson/post_install.py
@@ -0,0 +1,12 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+import subprocess
+
+if 'DESTDIR' not in os.environ:
+ default_settings_datadir = sys.argv[1]
+
+ print('Compiling GSettings schemas...')
+ subprocess.call(['glib-compile-schemas',
+ os.path.join(default_settings_datadir, 'glib-2.0', 'schemas')])
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..8fd19ba
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,14 @@
+option('default-wallpaper',
+ type: 'string',
+ value: '/usr/share/backgrounds/elementaryos-default',
+ description: 'Path to default wallpaper to use in Pantheon.')
+
+option('plank-dockitems',
+ type: 'boolean',
+ value: true,
+ description: 'Install default Pantheon Plank dockitems')
+
+option('default-gsettings-overrides',
+ type: 'boolean',
+ value: true,
+ description: 'Install default Pantheon GSettings Overrides')
diff --git a/overrides/default-settings.gschema.override b/overrides/default-settings.gschema.override.in
similarity index 92%
rename from overrides/default-settings.gschema.override
rename to overrides/default-settings.gschema.override.in
index 1aef29c..69d272b 100644
--- a/overrides/default-settings.gschema.override
+++ b/overrides/default-settings.gschema.override.in
@@ -1,5 +1,4 @@
[net.launchpad.plank.dock.settings]
-dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem']
hide-delay=250
hide-mode='window-dodge'
show-dock-item=false
@@ -11,7 +10,7 @@ triggers=['<Control>space']
[org.gnome.desktop.background]
draw-background=true
picture-options='zoom'
-picture-uri='file:///usr/share/backgrounds/elementaryos-default'
+picture-uri='file://@DEFAULT_WALLPAPER@'
primary-color='#000000'
show-desktop-icons=false
diff --git a/overrides/meson.build b/overrides/meson.build
new file mode 100644
index 0000000..ad80644
--- /dev/null
+++ b/overrides/meson.build
@@ -0,0 +1,21 @@
+if get_option('default-gsettings-overrides')
+ default_wallpaper = get_option('default-wallpaper')
+
+ wallpaper_configuration = configuration_data()
+ wallpaper_configuration.set('DEFAULT_WALLPAPER', default_wallpaper)
+
+ settings_override = configure_file(
+ input: 'default-settings.gschema.override.in',
+ output: '@BASENAME@',
+ configuration: wallpaper_configuration,
+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
+ )
+endif
+
+# Install conditionally because it's dependent on our dockitems being installed
+if get_option('plank-dockitems')
+ install_data(
+ 'plank-dockitems.gschema.override',
+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
+ )
+endif
diff --git a/overrides/plank-dockitems.gschema.override b/overrides/plank-dockitems.gschema.override
new file mode 100644
index 0000000..72b38d4
--- /dev/null
+++ b/overrides/plank-dockitems.gschema.override
@@ -0,0 +1,2 @@
+[net.launchpad.plank.dock.settings]
+dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem']
diff --git a/sessioninstaller.desktop b/sessioninstaller/sessioninstaller.desktop
similarity index 100%
rename from sessioninstaller.desktop
rename to sessioninstaller/sessioninstaller.desktop
--
2.23.0

View file

@ -11,12 +11,11 @@
, polkit
, accountsservice
, python3
, fetchpatch
}:
stdenv.mkDerivation rec {
pname = "elementary-default-settings";
version = "5.1.2";
version = "6.0.1";
repoName = "default-settings";
@ -24,7 +23,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-HKrDs2frEWVPpwyGNP+NikrjyplSXJj1hFMLy6kK4wM=";
sha256 = "0gqnrm968j4v699yhhiyw5fqjy4zbvvrjci2v1jrlycn09c2yrwf";
};
passthru = {
@ -33,23 +32,6 @@ stdenv.mkDerivation rec {
};
};
patches = [
# Use new notifications
(fetchpatch {
url = "https://github.com/elementary/default-settings/commit/0658bb75b9f49f58b35746d05fb6c4b811f125e9.patch";
sha256 = "0wa7iq0vfp2av5v23w94a5844ddj4g48d4wk3yrp745dyrimg739";
})
# Fix media key syntax
(fetchpatch {
url = "https://github.com/elementary/default-settings/commit/332aefe1883be5dfe90920e165c39e331a53b2ea.patch";
sha256 = "0ypcaga55pw58l30srq3ga1mhz2w6hkwanv41jjr6g3ia9jvq69n";
})
# https://github.com/elementary/default-settings/pull/119
./0001-Build-with-Meson.patch
];
nativeBuildInputs = [
accountsservice
dbus
@ -73,9 +55,9 @@ stdenv.mkDerivation rec {
'';
preInstall = ''
# Install our override for plank dockitems.
# This is because we don't have Pantheon's mail or Appcenter.
# See: https://github.com/NixOS/nixpkgs/issues/58161
# Install our override for plank dockitems as Appcenter and Tasks is not ready to be preinstalled.
# For Appcenter, see: https://github.com/NixOS/nixpkgs/issues/70214.
# For Tasks, see: https://github.com/elementary/tasks/issues/243#issuecomment-846259496
schema_dir=$out/share/glib-2.0/schemas
install -D ${./overrides/plank-dockitems.gschema.override} $schema_dir/plank-dockitems.gschema.override
@ -84,7 +66,7 @@ stdenv.mkDerivation rec {
cp -avr ${./launchers} $out/etc/skel/.config/plank/dock1/launchers
# Whitelist wingpanel indicators to be used in the greeter
# hhttps://github.com/elementary/greeter/blob/fc19752f147c62767cd2097c0c0c0fcce41e5873/debian/io.elementary.greeter.whitelist
# https://github.com/elementary/greeter/blob/fc19752f147c62767cd2097c0c0c0fcce41e5873/debian/io.elementary.greeter.whitelist
# wingpanel 2.3.2 renamed this to .allowed to .forbidden
# https://github.com/elementary/wingpanel/pull/326
install -D ${./io.elementary.greeter.allowed} $out/etc/wingpanel.d/io.elementary.greeter.allowed

View file

@ -0,0 +1,2 @@
[PlankDockItemPreferences]
Launcher=file:///run/current-system/sw/share/applications/io.elementary.mail.desktop

View file

@ -1,2 +0,0 @@
[PlankDockItemPreferences]
Launcher=file:///run/current-system/sw/share/applications/org.gnome.Geary.desktop

View file

@ -1,2 +1,2 @@
[net.launchpad.plank.dock.settings]
dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.gnome.Geary.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem']
dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','io.elementary.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem']

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, linkFarm
, substituteAll
@ -13,11 +14,13 @@
, gtk3
, granite
, libgee
, elementary-settings-daemon
, libhandy
, gnome-settings-daemon
, mutter
, elementary-icon-theme
, wingpanel-with-indicators
, elementary-gtk-theme
, elementary-settings-daemon
, nixos-artwork
, lightdm
, gdk-pixbuf
@ -29,7 +32,7 @@
stdenv.mkDerivation rec {
pname = "elementary-greeter";
version = "5.0.4";
version = "6.0.0";
repoName = "greeter";
@ -37,7 +40,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-Enn+ekALWbk7FVJJuea/rNiwEZDIyb3kyMcZNNraOv8=";
sha256 = "1ny1003bbpdscc4kr2d94zc5vxm30y64dpj3fpd5zz2p2g0cq2h9";
};
passthru = {
@ -66,10 +69,12 @@ stdenv.mkDerivation rec {
elementary-gtk-theme
elementary-icon-theme
elementary-settings-daemon
gnome-settings-daemon
gdk-pixbuf
granite
gtk3
libgee
libhandy
lightdm
mutter
wingpanel-with-indicators
@ -80,12 +85,16 @@ stdenv.mkDerivation rec {
"--sbindir=${placeholder "out"}/bin"
# baked into the program for discovery of the greeter configuration
"--sysconfdir=/etc"
# We use the patched gnome-settings-daemon
"-Dubuntu-patched-gsd=true"
"-Dgsd-dir=${elementary-settings-daemon}/libexec/" # trailing slash is needed
"-Dgsd-dir=${gnome-settings-daemon}/libexec/" # trailing slash is needed
];
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/greeter/pull/545
(fetchpatch {
url = "https://github.com/elementary/greeter/commit/d1373a7db827bc753bfcd70d0c8f25460ea9f1de.patch";
sha256 = "0s8l7ycd2s307d3dh1p4vdk33dbzjzqwxs6msyb9w0ycfyxlwdvp";
})
./sysconfdir-install.patch
# Needed until https://github.com/elementary/greeter/issues/360 is fixed
(substituteAll {

View file

@ -6,7 +6,7 @@
, glib
, gala
, epiphany
, elementary-settings-daemon
, gnome-settings-daemon
, gtk3
, elementary-dock
, gsettings-desktop-schemas
@ -18,7 +18,7 @@ let
gsettingsOverridePackages = [
elementary-dock
elementary-settings-daemon
gnome-settings-daemon
epiphany
gala
gsettings-desktop-schemas

View file

@ -1,8 +1,8 @@
{ lib, stdenv
, fetchFromGitHub
, nix-update-script
, substituteAll
, pantheon
, fetchpatch
, pkg-config
, meson
, ninja
@ -17,11 +17,12 @@
, gettext
, libhandy
, wrapGAppsHook
, appcenter
}:
stdenv.mkDerivation rec {
pname = "elementary-onboarding";
version = "1.2.1";
version = "6.0.0";
repoName = "onboarding";
@ -29,20 +30,9 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-tLTwXA2miHqYqCUbIiBjb2nQB+uN/WzuE4F9m3fVCbM=";
sha256 = "1mpw0j8ymb41py9v9qlk4nwy1lnwj7k388c7gqdv34ynck0ymfi4";
};
patches = [
# Port to Libhandy-1
(fetchpatch {
url = "https://github.com/elementary/onboarding/commit/8af6b7d9216f8cbf725f708b36ef4d4f6c400c78.patch";
sha256 = "cnSCSSFEQlNd9Ncw5VCJ32stZ8D4vhl3f+derAk/Cas=";
excludes = [
".github/workflows/main.yml"
];
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -69,6 +59,13 @@ stdenv.mkDerivation rec {
libhandy
];
patches = [
(substituteAll {
src = ./fix-paths.patch;
appcenter = appcenter;
})
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py

View file

@ -0,0 +1,13 @@
diff --git a/src/Views/AppCenterView.vala b/src/Views/AppCenterView.vala
index 16cd18b..5895897 100644
--- a/src/Views/AppCenterView.vala
+++ b/src/Views/AppCenterView.vala
@@ -55,7 +55,7 @@ public class Onboarding.AppCenterView : AbstractOnboardingView {
appcenter_button.clicked.connect (() => {
try {
var appcenter = AppInfo.create_from_commandline (
- "io.elementary.appcenter",
+ "@appcenter@/bin/io.elementary.appcenter",
"AppCenter",
AppInfoCreateFlags.SUPPORTS_STARTUP_NOTIFICATION
);

View file

@ -11,7 +11,7 @@
, orca
, onboard
, elementary-default-settings
, elementary-settings-daemon
, gnome-settings-daemon
, runtimeShell
, writeText
, meson
@ -89,16 +89,16 @@ let
in
stdenv.mkDerivation rec {
pname = "elementary-session-settings-unstable";
version = "2020-07-06";
pname = "elementary-session-settings";
version = "6.0.0";
repoName = "session-settings";
src = fetchFromGitHub {
owner = "elementary";
repo = repoName;
rev = "fa15cbd83fba0ba30e9a302db880350bff5ace52";
hash = "sha256-26H791c7OAjFYtjVChIatICSocMt0uTej1TKBOvw+6w=";
rev = version;
sha256 = "1faglpa7q3a4335gnd074a3lnsdspyjdnskgy4bfnf6xmwjx7kjx";
};
nativeBuildInputs = [
@ -109,8 +109,8 @@ stdenv.mkDerivation rec {
];
buildInputs = [
pantheon.elementary-settings-daemon
gnome-keyring
gnome-settings-daemon
onboard
orca
];
@ -124,7 +124,6 @@ stdenv.mkDerivation rec {
postInstall = ''
# our mimeapps patched from upstream to exclude:
# * pantheon-mail -> geary
# * evince.desktop -> org.gnome.Evince.desktop
mkdir -p $out/share/applications
cp -av ${./pantheon-mimeapps.list} $out/share/applications/pantheon-mimeapps.list
@ -154,7 +153,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Session settings for elementary";
homepage = "https://github.com/elementary/session-settings";
license = licenses.lgpl3;
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -163,6 +163,6 @@ x-content/video-svcd=io.elementary.videos.desktop
x-content/video-vcd=io.elementary.videos.desktop
x-scheme-handler/http=org.gnome.Epiphany.desktop
x-scheme-handler/https=org.gnome.Epiphany.desktop
x-scheme-handler/mailto=org.gnome.Evolution.desktop
x-scheme-handler/mailto=io.elementary.mail.desktop
x-scheme-handler/trash=io.elementary.files.desktop

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -12,13 +13,14 @@
, glib
, granite
, libgee
, libhandy
, elementary-icon-theme
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "elementary-shortcut-overlay";
version = "1.1.2";
version = "1.2.0";
repoName = "shortcut-overlay";
@ -26,9 +28,18 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-TFS29vwDkTtoFcIVAbKskyLemqW9fxE7fQkM61DpDm0=";
sha256 = "1zs2fpx4agr00rsfmpi00nhiw92mlypzm4p9x3g851p24m62fn79";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/shortcut-overlay/pull/100
(fetchpatch {
url = "https://github.com/elementary/shortcut-overlay/commit/f26e3684568e30cb6e151438e2d86c4d392626bf.patch";
sha256 = "0zxyqpk9xbxdm8lmgdwbb4yzzwbjlhypsca3xs34a2pl0b9pcdwd";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -51,6 +62,7 @@ stdenv.mkDerivation rec {
granite
gtk3
libgee
libhandy
];
meta = with lib; {

View file

@ -23,18 +23,20 @@
, elementary-dock
, elementary-icon-theme
, elementary-settings-daemon
, gnome-settings-daemon
, wrapGAppsHook
, gexiv2
}:
stdenv.mkDerivation rec {
pname = "gala";
version = "3.3.2";
version = "6.0.1";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-BOarHUEgWqQM6jmVMauJi0JnsM+jE45MnPNnAqz1qOE=";
sha256 = "0xp9vviamzdwlcnx4836sxaz2pyfkxswgvjm73ppn7fkdm0zjpzx";
};
passthru = {
@ -61,6 +63,8 @@ stdenv.mkDerivation rec {
elementary-dock
elementary-icon-theme
elementary-settings-daemon
gnome-settings-daemon
gexiv2
gnome-desktop
granite
gtk3
@ -71,15 +75,13 @@ stdenv.mkDerivation rec {
];
patches = [
# https://github.com/elementary/gala/pull/869
# build failure in vala 0.48.7
# https://github.com/elementary/gala/pull/869#issuecomment-657147695
# Upstream code not respecting our localedir
# https://github.com/elementary/gala/pull/1205
(fetchpatch {
url = "https://github.com/elementary/gala/commit/85d290c75eaa147b704ad34e6c67498071707ee8.patch";
sha256 = "19jkvmxidf453qfrxkvi35igxzfz2cm8srwkabvyn9wyd1yhiw0l";
url = "https://github.com/elementary/gala/commit/605aa10ea2a78650e001b2a247c5f7afce478b05.patch";
sha256 = "0bg67wzrnmx8nlw93i35vhyfx8al0bj0lacgci98vwlp2m1jgbd2";
})
./plugins-dir.patch
./use-new-notifications-default.patch
];
postPatch = ''

View file

@ -1,16 +1,17 @@
diff --git a/meson.build b/meson.build
index 78113d6..926596c 100644
index d0f00e5..977d2e2 100644
--- a/meson.build
+++ b/meson.build
@@ -24,13 +24,14 @@ vapi_dir = meson.current_source_dir() / 'vapi'
@@ -25,6 +25,7 @@ vapi_dir = meson.current_source_dir() / 'vapi'
locale_dir = join_paths(get_option('prefix'), get_option('localedir'))
data_dir = join_paths(get_option('prefix'), get_option('datadir'))
plugins_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name(), 'plugins')
+plugins_dir_for_build = join_paths('/run/current-system/sw/lib/', meson.project_name(), 'plugins')
pkgdata_dir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
pkglib_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name())
conf = configuration_data()
@@ -33,7 +34,7 @@ conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
conf.set_quoted('LOCALEDIR', locale_dir)
conf.set_quoted('DATADIR', data_dir)
conf.set_quoted('PKGDATADIR', pkgdata_dir)
-conf.set_quoted('PLUGINDIR', plugins_dir)

View file

@ -1,13 +0,0 @@
diff --git a/data/gala.gschema.xml b/data/gala.gschema.xml
index 8032583..7f4f03c 100644
--- a/data/gala.gschema.xml
+++ b/data/gala.gschema.xml
@@ -58,7 +58,7 @@
<description>If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the available area. Dropping windows on the top screen edge maximizes them completely.</description>
</key>
<key type="b" name="use-new-notifications">
- <default>false</default>
+ <default>true</default>
<summary>If new notifications should be used</summary>
<description>If new notifications UI should be used, requires io.elemenetary.notifications to be present and running</description>
</key>

View file

@ -0,0 +1,70 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, meson
, ninja
, pkg-config
, python3
, vala
, granite
, gtk3
, libgee
, wingpanel
}:
stdenv.mkDerivation rec {
pname = "wingpanel-indicator-a11y";
version = "1.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "1adx1sx9qh02hjgv5h0gwyn116shjl3paxmyaiv4cgh6vq3ndp3c";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/wingpanel-indicator-a11y/pull/48
(fetchpatch {
url = "https://github.com/elementary/wingpanel-indicator-a11y/commit/fb8412d56bc1c42b70e8ee41b837e8024e1297f7.patch";
sha256 = "0619npdw9wvaz1zk2lzikczyjdqba8v8c9ry9zizvvl4j1i1ad7k";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
};
};
nativeBuildInputs = [
meson
ninja
pkg-config
python3
vala
];
buildInputs = [
granite
gtk3
libgee
wingpanel
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
meta = with lib; {
description = "Universal Access Indicator for Wingpanel";
homepage = "https://github.com/elementary/wingpanel-indicator-a11y";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};
}

View file

@ -1,6 +1,5 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, substituteAll
@ -19,7 +18,6 @@
, elementary-dock
, bamf
, switchboard-with-plugs
, libunity
, libsoup
, wingpanel
, zeitgeist
@ -29,7 +27,7 @@
stdenv.mkDerivation rec {
pname = "wingpanel-applications-menu";
version = "2.7.1";
version = "2.8.2";
repoName = "applications-menu";
@ -37,7 +35,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "sha256-NeazBzkbdQTC6OzPxxyED4OstMkNkUGtCIaZD67fTnM=";
sha256 = "1pm3dnq35vbvyxqapmfy4frfwhc1l2zh634annlmbjiyfp5mzk0q";
};
passthru = {
@ -59,14 +57,12 @@ stdenv.mkDerivation rec {
buildInputs = [
bamf
elementary-dock
gnome-menus
granite
gtk3
json-glib
libgee
libhandy
libsoup
libunity
switchboard-with-plugs
wingpanel
zeitgeist
@ -83,12 +79,6 @@ stdenv.mkDerivation rec {
];
patches = [
# Port to Libhandy-1
(fetchpatch {
url = "https://github.com/elementary/applications-menu/commit/8eb2430e8513e9d37f875c5c9b8b15a968c27127.patch";
sha256 = "8Uw9mUw7U5nrAwUDGVpAwoRqb9ah503wQCr9kPbBJIo=";
})
(substituteAll {
src = ./fix-paths.patch;
bc = "${bc}/bin/bc";

View file

@ -1,8 +1,8 @@
diff --git a/src/synapse-plugins/calculator-plugin.vala b/src/synapse-plugins/calculator-plugin.vala
index 18ca3af..f5d1076 100644
index 886a44cd..a4601da6 100644
--- a/src/synapse-plugins/calculator-plugin.vala
+++ b/src/synapse-plugins/calculator-plugin.vala
@@ -44,9 +44,7 @@ namespace Synapse {
@@ -50,9 +50,7 @@ namespace Synapse {
_("Calculator"),
_("Calculate basic expressions."),
"accessories-calculator",
@ -13,10 +13,10 @@ index 18ca3af..f5d1076 100644
);
}
@@ -87,7 +85,7 @@ namespace Synapse {
if (matched) {
@@ -94,7 +92,7 @@ namespace Synapse {
Pid pid;
int read_fd, write_fd;
/* Must include math library to get non-integer results and to access standard math functions */
- string[] argv = {"bc", "-l"};
+ string[] argv = {"@bc@", "-l"};
string? solution = null;

View file

@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "wingpanel-indicator-bluetooth";
version = "unstable-2020-10-01";
version = "2.1.8";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = "2b59d646ea0d66ae45dafc851374f24dcd98c064";
sha256 = "sha256-selp70P+7RhbdHF6iiNmcNbMf/c+B9zZ6nlxwRSZGn4=";
rev = version;
sha256 = "12rasf8wy3cqnfjlm9s2qnx4drzx0w0yviagkng3kspdzm3vzsqy";
};
passthru = {

View file

@ -1,6 +1,8 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, substituteAll
, pantheon
, pkg-config
, meson
@ -13,6 +15,7 @@
, evolution-data-server
, libical
, libgee
, libhandy
, libxml2
, libsoup
, libgdata
@ -21,13 +24,13 @@
stdenv.mkDerivation rec {
pname = "wingpanel-indicator-datetime";
version = "2.2.5";
version = "2.3.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-rZzZIh4bwZfwQFDbfPDKQtfLMJQ2IdykH1yiV6ckqnw=";
sha256 = "1mdm0fsnmmyw8c0ik2jmfri3kas9zkz1hskzf8wvbd51vnazfpgw";
};
passthru = {
@ -50,12 +53,26 @@ stdenv.mkDerivation rec {
granite
gtk3
libgee
libhandy
libical
libsoup
wingpanel
libgdata # required by some dependency transitively
];
patches = [
(substituteAll {
src = ./fix-paths.patch;
elementary_calendar = elementary-calendar;
})
# Upstream code not respecting our localedir
# https://github.com/elementary/wingpanel-indicator-datetime/pull/269
(fetchpatch {
url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/f7befa68a9fd6215297c334a366919d3431cae65.patch";
sha256 = "0l997b1pnpjscs886xy28as5yykxamxacvxdv8466zin7zynarfs";
})
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
@ -64,7 +81,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Date & Time Indicator for Wingpanel";
homepage = "https://github.com/elementary/wingpanel-indicator-datetime";
license = licenses.gpl2Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -0,0 +1,13 @@
diff --git a/src/Widgets/calendar/CalendarView.vala b/src/Widgets/calendar/CalendarView.vala
index 6e0d530a..2f90f96c 100644
--- a/src/Widgets/calendar/CalendarView.vala
+++ b/src/Widgets/calendar/CalendarView.vala
@@ -222,7 +222,7 @@ public class DateTime.Widgets.CalendarView : Gtk.Grid {
// TODO: As far as maya supports it use the Dbus Activation feature to run the calendar-app.
public void show_date_in_maya (GLib.DateTime date) {
- var command = "io.elementary.calendar --show-day %s".printf (date.format ("%F"));
+ var command = "@elementary_calendar@/bin/io.elementary.calendar --show-day %s".printf (date.format ("%F"));
try {
var appinfo = AppInfo.create_from_commandline (command, null, AppInfoCreateFlags.NONE);

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -14,17 +15,18 @@
, libgee
, xorg
, libgnomekbd
, ibus
}:
stdenv.mkDerivation rec {
pname = "wingpanel-indicator-keyboard";
version = "2.2.1";
version = "2.4.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-/sTx0qT7gNj1waQg9OKqHY6MtL+p0NljiIAXKA3DYmA=";
sha256 = "10zzsil5l6snz47nx887r22sl2n0j6bg4dhxmgk3j3xp3jhgmrgl";
};
passthru = {
@ -44,6 +46,7 @@ stdenv.mkDerivation rec {
buildInputs = [
granite
gtk3
ibus
libgee
wingpanel
xorg.xkeyboardconfig
@ -54,12 +57,18 @@ stdenv.mkDerivation rec {
src = ./fix-paths.patch;
gkbd_keyboard_display = "${libgnomekbd}/bin/gkbd-keyboard-display";
})
# Upstream code not respecting our localedir
# https://github.com/elementary/wingpanel-indicator-keyboard/pull/110
(fetchpatch {
url = "https://github.com/elementary/wingpanel-indicator-keyboard/commit/ea5df2f62a99a216ee5ed137268e710490a852a4.patch";
sha256 = "0fmdz10xgzsryj0f0dnpjrh9yygjkb91a7pxg0rwddxbprhnr7j0";
})
];
meta = with lib; {
description = "Keyboard Indicator for Wingpanel";
homepage = "https://github.com/elementary/wingpanel-indicator-keyboard";
license = licenses.lgpl21Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

View file

@ -1,6 +1,8 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, substituteAll
, pantheon
, pkg-config
, meson
@ -12,17 +14,18 @@
, libnma
, wingpanel
, libgee
, elementary-capnet-assist
}:
stdenv.mkDerivation rec {
pname = "wingpanel-indicator-network";
version = "2.2.4";
version = "2.3.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-wVHvHduUT55rIWRfRWg3Z3jL3FdzUJfiqFONRmpCR8k=";
sha256 = "0q5ad2sj0nmigrh1rykb2kvik3hzibzyafdvkkmjd6y92145lwl1";
};
passthru = {
@ -47,6 +50,19 @@ stdenv.mkDerivation rec {
wingpanel
];
patches = [
(substituteAll {
src = ./fix-paths.patch;
elementary_capnet_assist = elementary-capnet-assist;
})
# Upstream code not respecting our localedir
# https://github.com/elementary/wingpanel-indicator-network/pull/228
(fetchpatch {
url = "https://github.com/elementary/wingpanel-indicator-network/commit/eacc7d46a94a980005e87e38e6c943143a09692a.patch";
sha256 = "1svg07fqmplchp1ass0h8qkr3g24pkw8dcsnd54ddmvnjzwrzz0a";
})
];
meta = with lib; {
description = "Network Indicator for Wingpanel";
homepage = "https://github.com/elementary/wingpanel-indicator-network";

View file

@ -0,0 +1,13 @@
diff --git a/src/Indicator.vala b/src/Indicator.vala
index 83ce932a..f95ed142 100644
--- a/src/Indicator.vala
+++ b/src/Indicator.vala
@@ -67,7 +67,7 @@ public class Network.Indicator : Wingpanel.Indicator {
if (network_monitor.get_connectivity () == NetworkConnectivity.FULL || network_monitor.get_connectivity () == NetworkConnectivity.PORTAL) {
try {
- var appinfo = AppInfo.create_from_commandline ("io.elementary.capnet-assist", null, AppInfoCreateFlags.NONE);
+ var appinfo = AppInfo.create_from_commandline ("@elementary_capnet_assist@/bin/io.elementary.capnet-assist", null, AppInfoCreateFlags.NONE);
appinfo.launch (null, null);
} catch (Error e) {
warning ("%s\n", e.message);

View file

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, pkg-config
@ -15,15 +16,24 @@
stdenv.mkDerivation rec {
pname = "wingpanel-indicator-nightlight";
version = "2.0.4";
version = "2.1.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-0f03XO74ezzS/Uy0mXT4raoazETL/SOVh58sAo9bEIA=";
sha256 = "1zxjw68byg4sjn8lzsidzmy4ipwxgnv8rm529a7wzlpgj2xq3x4j";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/wingpanel-indicator-nightlight/pull/91
(fetchpatch {
url = "https://github.com/elementary/wingpanel-indicator-nightlight/commit/4e15f71ed958df3569b2f1e224b9fb18613281f1.patch";
sha256 = "07awmswyy0988pm6ggyz22mllja675cbdzrjdqc1xd4knwcgy77v";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -45,8 +55,6 @@ stdenv.mkDerivation rec {
wingpanel
];
PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
meta = with lib; {
description = "Night Light Indicator for Wingpanel";
homepage = "https://github.com/elementary/wingpanel-indicator-nightlight";

View file

@ -11,26 +11,27 @@
, granite
, wingpanel
, libgee
, libhandy
, elementary-notifications
}:
stdenv.mkDerivation rec {
pname = "wingpanel-indicator-notifications";
version = "2.1.4";
version = "6.0.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-tVPSJO/9IXlibLkb6Cv+8azdvuXbcNOI1qYk4VQc4WI=";
sha256 = "1pvcpk1d2zh9pvw0clv3bhf2plcww6nbxs6j7xjbvnaqs7d6i1k2";
};
patches = [
# Fix do not disturb on NixOS
# https://github.com/elementary/wingpanel-indicator-notifications/pull/110
# Upstream code not respecting our localedir
# https://github.com/elementary/wingpanel-indicator-notifications/pull/218
(fetchpatch {
url = "https://github.com/elementary/wingpanel-indicator-notifications/commit/02b1e226c0262c1535fdf2b4f1daba6be9084f67.patch";
sha256 = "1a5phygygndr28yx8yp0lyk0wxypc5656dpidw1z8x1yd6xysqhy";
url = "https://github.com/elementary/wingpanel-indicator-notifications/commit/c7e73f0683561345935a959dafa2083b7e22fe99.patch";
sha256 = "10xiyq42bqfmih1jgqpq64nha3n0y7ra3j7j0q27rn5hhhgbyjs7";
})
];
@ -52,6 +53,7 @@ stdenv.mkDerivation rec {
granite
gtk3
libgee
libhandy
wingpanel
];

View file

@ -1,7 +1,9 @@
{ lib, stdenv
, fetchFromGitHub
, substituteAll
, nix-update-script
, pantheon
, gnome
, pkg-config
, meson
, python3
@ -11,6 +13,7 @@
, granite
, bamf
, libgtop
, libnotify
, udev
, wingpanel
, libgee
@ -18,13 +21,13 @@
stdenv.mkDerivation rec {
pname = "wingpanel-indicator-power";
version = "2.2.0";
version = "6.1.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-wjYZXFnzvPSukzh1BNvyaFxKpYm+kNNFm5AsthLXGVE=";
sha256 = "1zlpnl7983jkpy2nik08ih8lwrqvm456h993ixa6armzlazdvnjk";
};
passthru = {
@ -47,10 +50,18 @@ stdenv.mkDerivation rec {
gtk3
libgee
libgtop
libnotify
udev
wingpanel
];
patches = [
(substituteAll {
src = ./fix-paths.patch;
gnome_power_manager = gnome.gnome-power-manager;
})
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
@ -59,7 +70,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Power Indicator for Wingpanel";
homepage = "https://github.com/elementary/wingpanel-indicator-power";
license = licenses.gpl2Plus;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = pantheon.maintainers;
};

Some files were not shown because too many files have changed in this diff Show more