mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-20 23:51:03 +00:00
@@ -4,6 +4,8 @@
|
||||
"mpd.conf(5)": "https://mpd.readthedocs.io/en/latest/mpd.conf.5.html",
|
||||
"nix.conf(5)": "https://nixos.org/manual/nix/stable/command-ref/conf-file.html",
|
||||
|
||||
"portals.conf(5)": "https://github.com/flatpak/xdg-desktop-portal/blob/1.18.1/doc/portals.conf.rst.in",
|
||||
|
||||
"journald.conf(5)": "https://www.freedesktop.org/software/systemd/man/journald.conf.html",
|
||||
"logind.conf(5)": "https://www.freedesktop.org/software/systemd/man/logind.conf.html",
|
||||
"networkd.conf(5)": "https://www.freedesktop.org/software/systemd/man/networkd.conf.html",
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
- PostgreSQL now defaults to major version 15.
|
||||
|
||||
- GNOME has been updated to version 45, see the [release notes](https://release.gnome.org/45/) for details. Notably, Loupe has replaced Eye of GNOME as the default image viewer, Snapshot has replaced Cheese as the default camera application, and Photos will no longer be installed.
|
||||
|
||||
- Support for WiFi6 (IEEE 802.11ax) and WPA3-SAE-PK was enabled in the `hostapd` package, along with a significant rework of the hostapd module.
|
||||
|
||||
- LXD now supports virtual machine instances to complement the existing container support
|
||||
@@ -172,6 +174,10 @@
|
||||
|
||||
- `python3.pkgs.fetchPypi` (and `python3Packages.fetchPypi`) has been deprecated in favor of top-level `fetchPypi`.
|
||||
|
||||
- xdg-desktop-portal has been updated to 1.18, which reworked how portal implementations are selected. If you roll your own desktop environment, you should either set `xdg.portal.config` or `xdg.portal.configPackages`, which allow fine-grained control over which portal backend to use for specific interfaces, as described in {manpage}`portals.conf(5)`.
|
||||
|
||||
If you don't provide configurations, a portal backend will only be considered when the desktop you use matches its deprecated `UseIn` key. While some NixOS desktop modules should already ship one for you, it is suggested to test portal availability by trying [Door Knocker](https://flathub.org/apps/xyz.tytanium.DoorKnocker) and [ASHPD Demo](https://flathub.org/apps/com.belmoussaoui.ashpd.demo). If things regressed, you may run `G_MESSAGES_DEBUG=all /path/to/xdg-desktop-portal/libexec/xdg-desktop-portal` for ideas on which config file and which portals are chosen.
|
||||
|
||||
- `pass` now does not contain `password-store.el`. Users should get `password-store.el` from Emacs lisp package set `emacs.pkgs.password-store`.
|
||||
|
||||
- `services.knot` now supports `.settings` from RFC42. The previous `.extraConfig` still works the same, but it displays a warning now.
|
||||
|
||||
@@ -8,6 +8,10 @@ let
|
||||
mkRenamedOptionModule
|
||||
teams
|
||||
types;
|
||||
|
||||
associationOptions = with types; attrsOf (
|
||||
coercedTo (either (listOf str) str) (x: lib.concatStringsSep ";" (lib.toList x)) str
|
||||
);
|
||||
in
|
||||
|
||||
{
|
||||
@@ -72,20 +76,76 @@ in
|
||||
See [#160923](https://github.com/NixOS/nixpkgs/issues/160923) for more info.
|
||||
'';
|
||||
};
|
||||
|
||||
config = mkOption {
|
||||
type = types.attrsOf associationOptions;
|
||||
default = { };
|
||||
example = {
|
||||
x-cinnamon = {
|
||||
default = [ "xapp" "gtk" ];
|
||||
};
|
||||
pantheon = {
|
||||
default = [ "pantheon" "gtk" ];
|
||||
"org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
|
||||
};
|
||||
common = {
|
||||
default = [ "gtk" ];
|
||||
};
|
||||
};
|
||||
description = lib.mdDoc ''
|
||||
Sets which portal backend should be used to provide the implementation
|
||||
for the requested interface. For details check {manpage}`portals.conf(5)`.
|
||||
|
||||
Configs will be linked to `/etx/xdg/xdg-desktop-portal/` with the name `$desktop-portals.conf`
|
||||
for `xdg.portal.config.$desktop` and `portals.conf` for `xdg.portal.config.common`
|
||||
as an exception.
|
||||
'';
|
||||
};
|
||||
|
||||
configPackages = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [ ];
|
||||
example = lib.literalExpression "[ pkgs.gnome.gnome-session ]";
|
||||
description = lib.mdDoc ''
|
||||
List of packages that provide XDG desktop portal configuration, usually in
|
||||
the form of `share/xdg-desktop-portal/$desktop-portals.conf`.
|
||||
|
||||
Note that configs in `xdg.portal.config` will be preferred if set.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config =
|
||||
let
|
||||
cfg = config.xdg.portal;
|
||||
packages = [ pkgs.xdg-desktop-portal ] ++ cfg.extraPortals;
|
||||
configPackages = cfg.configPackages;
|
||||
|
||||
joinedPortals = pkgs.buildEnv {
|
||||
name = "xdg-portals";
|
||||
paths = packages;
|
||||
pathsToLink = [ "/share/xdg-desktop-portal/portals" "/share/applications" ];
|
||||
};
|
||||
|
||||
joinedPortalConfigs = pkgs.buildEnv {
|
||||
name = "xdg-portal-configs";
|
||||
paths = configPackages;
|
||||
pathsToLink = [ "/share/xdg-desktop-portal" ];
|
||||
};
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
warnings = lib.optional (cfg.configPackages == [ ] && cfg.config == { }) ''
|
||||
xdg-desktop-portal 1.17 reworked how portal implementations are loaded, you
|
||||
should either set `xdg.portal.config` or `xdg.portal.configPackages`
|
||||
to specify which portal backend to use for the requested interface.
|
||||
|
||||
https://github.com/flatpak/xdg-desktop-portal/blob/1.18.1/doc/portals.conf.rst.in
|
||||
|
||||
If you simply want to keep the behaviour in < 1.17, which uses the first
|
||||
portal implementation found in lexicographical order, use the following:
|
||||
|
||||
xdg.portal.config.common.default = "*";
|
||||
'';
|
||||
|
||||
assertions = [
|
||||
{
|
||||
@@ -108,7 +168,14 @@ in
|
||||
GTK_USE_PORTAL = mkIf cfg.gtkUsePortal "1";
|
||||
NIXOS_XDG_OPEN_USE_PORTAL = mkIf cfg.xdgOpenUsePortal "1";
|
||||
XDG_DESKTOP_PORTAL_DIR = "${joinedPortals}/share/xdg-desktop-portal/portals";
|
||||
NIXOS_XDG_DESKTOP_PORTAL_CONFIG_DIR = mkIf (cfg.configPackages != [ ]) "${joinedPortalConfigs}/share/xdg-desktop-portal";
|
||||
};
|
||||
|
||||
etc = lib.concatMapAttrs
|
||||
(desktop: conf: lib.optionalAttrs (conf != { }) {
|
||||
"xdg/xdg-desktop-portal/${lib.optionalString (desktop != "common") "${desktop}-"}portals.conf".text =
|
||||
lib.generators.toINI { } { preferred = conf; };
|
||||
}) cfg.config;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -64,6 +64,7 @@ in
|
||||
xdg.portal = {
|
||||
enable = mkDefault true;
|
||||
extraPortals = [ finalPortalPackage ];
|
||||
configPackages = mkDefault [ cfg.finalPackage ];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -149,6 +149,8 @@ in {
|
||||
"sway/config".source = mkOptionDefault "${cfg.package}/etc/sway/config";
|
||||
};
|
||||
};
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
|
||||
xdg.portal.config.sway.default = mkDefault [ "wlr" "gtk" ];
|
||||
# To make a Sway session available if a display manager like SDDM is enabled:
|
||||
services.xserver.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ]; }
|
||||
(import ./wayland-session.nix { inherit lib pkgs; })
|
||||
|
||||
@@ -43,6 +43,8 @@ in
|
||||
xdg.portal = {
|
||||
enable = lib.mkDefault true;
|
||||
wlr.enable = lib.mkDefault true;
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050914
|
||||
config.wayfire.default = lib.mkDefault [ "wlr" "gtk" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ in other cases, you will need to add something like the following to your
|
||||
{file}`configuration.nix`:
|
||||
```
|
||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
xdg.portal.config.common.default = "gtk";
|
||||
```
|
||||
|
||||
Then, you will need to add a repository, for example,
|
||||
|
||||
@@ -93,6 +93,9 @@ in
|
||||
"gnome-initial-setup.service"
|
||||
];
|
||||
|
||||
programs.dconf.profiles.gnome-initial-setup.databases = [
|
||||
"${pkgs.gnome.gnome-initial-setup}/share/gnome-initial-setup/initial-setup-dconf-defaults"
|
||||
];
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -202,6 +202,7 @@ in {
|
||||
xdg.portal.extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk # provides a XDG Portals implementation.
|
||||
];
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.budgie.budgie-desktop ];
|
||||
|
||||
services.geoclue2.enable = mkDefault true; # for BCC's Privacy > Location Services panel.
|
||||
services.upower.enable = config.powerManagement.enable; # for Budgie's Status Indicator and BCC's Power panel.
|
||||
|
||||
@@ -200,6 +200,9 @@ in
|
||||
})
|
||||
];
|
||||
|
||||
# https://salsa.debian.org/cinnamon-team/cinnamon/-/commit/f87c64f8d35ba406eb11ad442989a0716f6620cf#
|
||||
xdg.portal.config.x-cinnamon.default = mkDefault [ "xapp" "gtk" ];
|
||||
|
||||
# Override GSettings schemas
|
||||
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
|
||||
|
||||
|
||||
@@ -78,6 +78,9 @@ in
|
||||
})
|
||||
];
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/pull/247766#issuecomment-1722839259
|
||||
xdg.portal.config.deepin.default = mkDefault [ "gtk" ];
|
||||
|
||||
environment.sessionVariables = {
|
||||
NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
|
||||
DDE_POLKIT_AGENT_PLUGINS_DIRS = [ "${pkgs.deepin.dpa-ext-gnomekeyring}/lib/polkit-1-dde/plugins" ];
|
||||
|
||||
@@ -145,7 +145,7 @@ services.xserver.desktopManager.gnome = {
|
||||
|
||||
# Favorite apps in gnome-shell
|
||||
[org.gnome.shell]
|
||||
favorite-apps=['org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop']
|
||||
favorite-apps=['org.gnome.Console.desktop', 'org.gnome.Nautilus.desktop']
|
||||
'';
|
||||
|
||||
extraGSettingsOverridePackages = [
|
||||
|
||||
@@ -19,7 +19,7 @@ let
|
||||
|
||||
defaultFavoriteAppsOverride = ''
|
||||
[org.gnome.shell]
|
||||
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ]
|
||||
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop' ]
|
||||
'';
|
||||
|
||||
nixos-background-light = pkgs.nixos-artwork.wallpapers.simple-blue;
|
||||
@@ -353,6 +353,7 @@ in
|
||||
buildPortalsInGnome = false;
|
||||
})
|
||||
];
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.gnome.gnome-session ];
|
||||
|
||||
networking.networkmanager.enable = mkDefault true;
|
||||
|
||||
@@ -462,15 +463,13 @@ in
|
||||
++ utils.removePackagesByName optionalPackages config.environment.gnome.excludePackages;
|
||||
})
|
||||
|
||||
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-utilities.bst
|
||||
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-45/elements/core/meta-gnome-core-utilities.bst
|
||||
(mkIf serviceCfg.core-utilities.enable {
|
||||
environment.systemPackages =
|
||||
with pkgs.gnome;
|
||||
utils.removePackagesByName
|
||||
([
|
||||
baobab
|
||||
cheese
|
||||
eog
|
||||
epiphany
|
||||
pkgs.gnome-text-editor
|
||||
gnome-calculator
|
||||
@@ -483,12 +482,13 @@ in
|
||||
gnome-logs
|
||||
gnome-maps
|
||||
gnome-music
|
||||
pkgs.gnome-photos
|
||||
gnome-system-monitor
|
||||
gnome-weather
|
||||
pkgs.loupe
|
||||
nautilus
|
||||
pkgs.gnome-connections
|
||||
simple-scan
|
||||
pkgs.snapshot
|
||||
totem
|
||||
yelp
|
||||
] ++ lib.optionals config.services.flatpak.enable [
|
||||
|
||||
@@ -70,6 +70,9 @@ in
|
||||
services.xserver.libinput.enable = mkDefault true;
|
||||
|
||||
xdg.portal.lxqt.enable = true;
|
||||
|
||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050804
|
||||
xdg.portal.config.lxqt.default = mkDefault [ "lxqt" "gtk" ];
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -77,6 +77,8 @@ in
|
||||
|
||||
security.pam.services.mate-screensaver.unixAuth = true;
|
||||
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.mate.mate-desktop ];
|
||||
|
||||
environment.pathsToLink = [ "/share" ];
|
||||
};
|
||||
|
||||
|
||||
@@ -229,9 +229,6 @@ in
|
||||
|
||||
xdg.portal.enable = true;
|
||||
xdg.portal.extraPortals = [
|
||||
# Some Pantheon apps enforce portal usage, we need this for e.g. notifications.
|
||||
# Currently we have buildPortalsInGnome enabled, if you run into issues related
|
||||
# to https://github.com/flatpak/xdg-desktop-portal/issues/656 please report to us.
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
] ++ (with pkgs.pantheon; [
|
||||
elementary-files
|
||||
@@ -239,6 +236,8 @@ in
|
||||
xdg-desktop-portal-pantheon
|
||||
]);
|
||||
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.pantheon.elementary-default-settings ];
|
||||
|
||||
# Override GSettings schemas
|
||||
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
|
||||
|
||||
|
||||
@@ -372,6 +372,7 @@ in
|
||||
|
||||
xdg.portal.enable = true;
|
||||
xdg.portal.extraPortals = [ plasma5.xdg-desktop-portal-kde ];
|
||||
xdg.portal.configPackages = mkDefault [ plasma5.xdg-desktop-portal-kde ];
|
||||
# xdg-desktop-portal-kde expects PipeWire to be running.
|
||||
# This does not, by default, replace PulseAudio.
|
||||
services.pipewire.enable = mkDefault true;
|
||||
|
||||
@@ -178,5 +178,7 @@ in
|
||||
]) excludePackages;
|
||||
|
||||
security.pam.services.xfce4-screensaver.unixAuth = cfg.enableScreensaver;
|
||||
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.xfce.xfce4-session ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -332,6 +332,7 @@ in {
|
||||
gitolite-fcgiwrap = handleTest ./gitolite-fcgiwrap.nix {};
|
||||
glusterfs = handleTest ./glusterfs.nix {};
|
||||
gnome = handleTest ./gnome.nix {};
|
||||
gnome-extensions = handleTest ./gnome-extensions.nix {};
|
||||
gnome-flashback = handleTest ./gnome-flashback.nix {};
|
||||
gnome-xorg = handleTest ./gnome-xorg.nix {};
|
||||
gnupg = handleTest ./gnupg.nix {};
|
||||
|
||||
151
nixos/tests/gnome-extensions.nix
Normal file
151
nixos/tests/gnome-extensions.nix
Normal file
@@ -0,0 +1,151 @@
|
||||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ...}:
|
||||
{
|
||||
name = "gnome-extensions";
|
||||
meta.maintainers = [ lib.maintainers.piegames ];
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ ./common/user-account.nix ];
|
||||
|
||||
# Install all extensions
|
||||
environment.systemPackages = lib.filter (e: e ? extensionUuid) (lib.attrValues pkgs.gnomeExtensions);
|
||||
|
||||
# Some extensions are broken, but that's kind of the point of a testing VM
|
||||
nixpkgs.config.allowBroken = true;
|
||||
# There are some aliases which throw exceptions; ignore them.
|
||||
# Also prevent duplicate extensions under different names.
|
||||
nixpkgs.config.allowAliases = false;
|
||||
|
||||
# Configure GDM
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager = {
|
||||
gdm = {
|
||||
enable = true;
|
||||
debug = true;
|
||||
wayland = true;
|
||||
};
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "alice";
|
||||
};
|
||||
};
|
||||
|
||||
# Configure Gnome
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
services.xserver.desktopManager.gnome.debug = true;
|
||||
|
||||
systemd.user.services = {
|
||||
"org.gnome.Shell@wayland" = {
|
||||
serviceConfig = {
|
||||
ExecStart = [
|
||||
# Clear the list before overriding it.
|
||||
""
|
||||
# Eval API is now internal so Shell needs to run in unsafe mode.
|
||||
# TODO: improve test driver so that it supports openqa-like manipulation
|
||||
# that would allow us to drop this mess.
|
||||
"${pkgs.gnome.gnome-shell}/bin/gnome-shell --unsafe-mode"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
# Keep line widths somewhat manageable
|
||||
user = nodes.machine.users.users.alice;
|
||||
uid = toString user.uid;
|
||||
bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus";
|
||||
# Run a command in the appropriate user environment
|
||||
run = command: "su - ${user.name} -c '${bus} ${command}'";
|
||||
|
||||
# Call javascript in gnome shell, returns a tuple (success, output), where
|
||||
# `success` is true if the dbus call was successful and output is what the
|
||||
# javascript evaluates to.
|
||||
eval = command: run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}";
|
||||
|
||||
# False when startup is done
|
||||
startingUp = eval "Main.layoutManager._startingUp";
|
||||
|
||||
# Extensions to keep always enabled together
|
||||
# Those are extensions that are usually always on for many users, and that we expect to work
|
||||
# well together with most others without conflicts
|
||||
alwaysOnExtensions = map (name: pkgs.gnomeExtensions.${name}.extensionUuid) [
|
||||
"applications-menu"
|
||||
"user-themes"
|
||||
];
|
||||
|
||||
# Extensions to enable and disable individually
|
||||
# Extensions like dash-to-dock and dash-to-panel cannot be enabled at the same time.
|
||||
testExtensions = map (name: pkgs.gnomeExtensions.${name}.extensionUuid) [
|
||||
"appindicator"
|
||||
"dash-to-dock"
|
||||
"dash-to-panel"
|
||||
"ddterm"
|
||||
"emoji-selector"
|
||||
"gsconnect"
|
||||
"system-monitor"
|
||||
"desktop-icons-ng-ding"
|
||||
"workspace-indicator"
|
||||
"vitals"
|
||||
];
|
||||
in
|
||||
''
|
||||
with subtest("Login to GNOME with GDM"):
|
||||
# wait for gdm to start
|
||||
machine.wait_for_unit("display-manager.service")
|
||||
# wait for the wayland server
|
||||
machine.wait_for_file("/run/user/${uid}/wayland-0")
|
||||
# wait for alice to be logged in
|
||||
machine.wait_for_unit("default.target", "${user.name}")
|
||||
# check that logging in has given the user ownership of devices
|
||||
assert "alice" in machine.succeed("getfacl -p /dev/snd/timer")
|
||||
|
||||
with subtest("Wait for GNOME Shell"):
|
||||
# correct output should be (true, 'false')
|
||||
machine.wait_until_succeeds(
|
||||
"${startingUp} | grep -q 'true,..false'"
|
||||
)
|
||||
|
||||
# Close the Activities view so that Shell can correctly track the focused window.
|
||||
machine.send_key("esc")
|
||||
# # Disable extension version validation (only use for manual testing)
|
||||
# machine.succeed(
|
||||
# "${run "gsettings set org.gnome.shell disable-extension-version-validation true"}"
|
||||
# )
|
||||
|
||||
# Assert that some extension is in a specific state
|
||||
def checkState(target, extension):
|
||||
state = machine.succeed(
|
||||
f"${run "gnome-extensions info {extension}"} | grep '^ State: .*$'"
|
||||
)
|
||||
assert target in state, f"{state} instead of {target}"
|
||||
|
||||
def checkExtension(extension, disable):
|
||||
with subtest(f"Enable extension '{extension}'"):
|
||||
# Check that the extension is properly initialized; skip out of date ones
|
||||
state = machine.succeed(
|
||||
f"${run "gnome-extensions info {extension}"} | grep '^ State: .*$'"
|
||||
)
|
||||
if "OUT OF DATE" in state:
|
||||
machine.log(f"Extension {extension} will be skipped because out of date")
|
||||
return
|
||||
|
||||
assert "INITIALIZED" in state, f"{state} instead of INITIALIZED"
|
||||
|
||||
# Enable and optionally disable
|
||||
|
||||
machine.succeed(f"${run "gnome-extensions enable {extension}"}")
|
||||
checkState("ENABLED", extension)
|
||||
|
||||
if disable:
|
||||
machine.succeed(f"${run "gnome-extensions disable {extension}"}")
|
||||
checkState("DISABLED", extension)
|
||||
''
|
||||
+ lib.concatLines (map (e: ''checkExtension("${e}", False)'') alwaysOnExtensions)
|
||||
+ lib.concatLines (map (e: ''checkExtension("${e}", True)'') testExtensions)
|
||||
;
|
||||
}
|
||||
)
|
||||
@@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
||||
};
|
||||
|
||||
nodes.machine = { nodes, ... }: let
|
||||
user = nodes.machine.config.users.users.alice;
|
||||
user = nodes.machine.users.users.alice;
|
||||
in
|
||||
|
||||
{ imports = [ ./common/user-account.nix ];
|
||||
@@ -43,28 +43,28 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
user = nodes.machine.config.users.users.alice;
|
||||
user = nodes.machine.users.users.alice;
|
||||
uid = toString user.uid;
|
||||
bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus";
|
||||
xauthority = "/run/user/${uid}/gdm/Xauthority";
|
||||
display = "DISPLAY=:0.0";
|
||||
env = "${bus} XAUTHORITY=${xauthority} ${display}";
|
||||
gdbus = "${env} gdbus";
|
||||
su = command: "su - ${user.name} -c '${env} ${command}'";
|
||||
# Run a command in the appropriate user environment
|
||||
run = command: "su - ${user.name} -c '${bus} ${command}'";
|
||||
|
||||
# Call javascript in gnome shell, returns a tuple (success, output), where
|
||||
# `success` is true if the dbus call was successful and output is what the
|
||||
# javascript evaluates to.
|
||||
eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval";
|
||||
eval = command: run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}";
|
||||
|
||||
# False when startup is done
|
||||
startingUp = su "${gdbus} ${eval} Main.layoutManager._startingUp";
|
||||
startingUp = eval "Main.layoutManager._startingUp";
|
||||
|
||||
# Start Console
|
||||
launchConsole = su "${bus} gapplication launch org.gnome.Console";
|
||||
launchConsole = run "gapplication launch org.gnome.Console";
|
||||
|
||||
# Hopefully Console's wm class
|
||||
wmClass = su "${gdbus} ${eval} global.display.focus_window.wm_class";
|
||||
wmClass = eval "global.display.focus_window.wm_class";
|
||||
in ''
|
||||
with subtest("Login to GNOME Xorg with GDM"):
|
||||
machine.wait_for_x()
|
||||
|
||||
@@ -40,25 +40,25 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
# Keep line widths somewhat manageable
|
||||
user = nodes.machine.config.users.users.alice;
|
||||
user = nodes.machine.users.users.alice;
|
||||
uid = toString user.uid;
|
||||
bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus";
|
||||
gdbus = "${bus} gdbus";
|
||||
su = command: "su - ${user.name} -c '${command}'";
|
||||
# Run a command in the appropriate user environment
|
||||
run = command: "su - ${user.name} -c '${bus} ${command}'";
|
||||
|
||||
# Call javascript in gnome shell, returns a tuple (success, output), where
|
||||
# `success` is true if the dbus call was successful and output is what the
|
||||
# javascript evaluates to.
|
||||
eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval";
|
||||
eval = command: run "gdbus call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval ${command}";
|
||||
|
||||
# False when startup is done
|
||||
startingUp = su "${gdbus} ${eval} Main.layoutManager._startingUp";
|
||||
startingUp = eval "Main.layoutManager._startingUp";
|
||||
|
||||
# Start Console
|
||||
launchConsole = su "${bus} gapplication launch org.gnome.Console";
|
||||
launchConsole = run "gapplication launch org.gnome.Console";
|
||||
|
||||
# Hopefully Console's wm class
|
||||
wmClass = su "${gdbus} ${eval} global.display.focus_window.wm_class";
|
||||
wmClass = eval "global.display.focus_window.wm_class";
|
||||
in ''
|
||||
with subtest("Login to GNOME with GDM"):
|
||||
# wait for gdm to start
|
||||
|
||||
@@ -19,8 +19,9 @@
|
||||
, libadwaita
|
||||
, libdex
|
||||
, libpanel
|
||||
, libpeas
|
||||
, libpeas2
|
||||
, libportal-gtk4
|
||||
, libsysprof-capture
|
||||
, libxml2
|
||||
, meson
|
||||
, ninja
|
||||
@@ -41,13 +42,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-builder";
|
||||
version = "44.2";
|
||||
version = "45.0";
|
||||
|
||||
outputs = [ "out" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "z6aJx40/AiMcp0cVV99MZIKASio08nHDXRqWLX8XKbA=";
|
||||
sha256 = "JC2gJZMpPUVuokEIpFk0cwoeMW2NxbGNnfDoZNt7pZY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -82,7 +83,7 @@ stdenv.mkDerivation rec {
|
||||
editorconfig-core-c
|
||||
flatpak
|
||||
libgit2-glib
|
||||
libpeas
|
||||
libpeas2
|
||||
libportal-gtk4
|
||||
vte-gtk4
|
||||
enchant
|
||||
@@ -94,12 +95,12 @@ stdenv.mkDerivation rec {
|
||||
libadwaita
|
||||
libdex
|
||||
libpanel
|
||||
libsysprof-capture
|
||||
libxml2
|
||||
ostree
|
||||
d-spy
|
||||
pcre2
|
||||
python3
|
||||
sysprof
|
||||
template-glib
|
||||
vala
|
||||
webkitgtk_6_0
|
||||
@@ -142,6 +143,8 @@ stdenv.mkDerivation rec {
|
||||
buildPythonPath "$out $pythonPath"
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PYTHONPATH : "$program_PYTHONPATH"
|
||||
# For sysprof-agent
|
||||
--prefix PATH : "${sysprof}/bin"
|
||||
)
|
||||
|
||||
# Ensure that all plugins get their interpreter paths fixed up.
|
||||
|
||||
@@ -1,22 +1,46 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch, wrapGAppsHook4
|
||||
, cargo, desktop-file-utils, meson, ninja, pkg-config, rustc
|
||||
, gdk-pixbuf, glib, gtk4, gtksourceview5, libadwaita, darwin
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, wrapGAppsHook4
|
||||
, cargo
|
||||
, desktop-file-utils
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, rustc
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gtk4
|
||||
, gtksourceview5
|
||||
, libadwaita
|
||||
, darwin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "icon-library";
|
||||
version = "0.0.16";
|
||||
version = "0.0.17";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gitlab.gnome.org/World/design/icon-library/uploads/5dd3d97acfdbaf69c7dc6b2f7bbf4cae/icon-library-${version}.tar.xz";
|
||||
hash = "sha256-EO67foD/uRoeF+zmJyEia5Nr3eW+Se9bVjDxipMw75E=";
|
||||
url = "https://gitlab.gnome.org/World/design/icon-library/uploads/8c4cad88809cd4ddc0eeae6f5170c001/icon-library-${version}.tar.xz";
|
||||
hash = "sha256-Gspx3fJl+ZoUN3heGWaeMuxUsjWCrIdg4pJj7DeMTSY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo desktop-file-utils meson ninja pkg-config rustc wrapGAppsHook4
|
||||
cargo
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustc
|
||||
wrapGAppsHook4
|
||||
];
|
||||
buildInputs = [
|
||||
gdk-pixbuf glib gtk4 gtksourceview5 libadwaita
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk4
|
||||
gtksourceview5
|
||||
libadwaita
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.Foundation
|
||||
];
|
||||
|
||||
@@ -40,11 +40,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "shotwell";
|
||||
version = "0.32.2";
|
||||
version = "0.32.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-pd5T6HMhbfj1mWyWgnvtlj1sY1TgReF5bf0ybGGIwmM=";
|
||||
sha256 = "sha256-4AD+5bPzYseRFPDs/44is0yaKGW1nkGi2j5NxdLKLDw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
78
pkgs/applications/graphics/snapshot/default.nix
Normal file
78
pkgs/applications/graphics/snapshot/default.nix
Normal file
@@ -0,0 +1,78 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, cargo
|
||||
, desktop-file-utils
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, rustc
|
||||
, wrapGAppsHook4
|
||||
, glib
|
||||
, gst_all_1
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, pipewire
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "snapshot";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/snapshot/${lib.versions.major version}/snapshot-${version}.tar.xz";
|
||||
hash = "sha256-7keO4JBzGgsIJLZrsXRr2ADcv+h6yDWEmUSa85z822c=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix portal requests
|
||||
# https://gitlab.gnome.org/GNOME/snapshot/-/merge_requests/168
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/snapshot/-/commit/6aec0f56d6bb994731c1309ac6e2cb822b82067e.patch";
|
||||
hash = "sha256-6tnOhhTQ3Rfl3nCw/rliLKkvZknvZKCQyeMKaTxYmok=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustc
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gstreamer
|
||||
gtk4
|
||||
libadwaita
|
||||
pipewire # for device provider
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
# vp8enc preset
|
||||
--prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets"
|
||||
)
|
||||
'';
|
||||
|
||||
passthru.updateScript = gnome.updateScript {
|
||||
packageName = "snapshot";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.gnome.org/GNOME/snapshot";
|
||||
description = "Take pictures and videos on your computer, tablet, or phone";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "snapshot";
|
||||
};
|
||||
}
|
||||
55
pkgs/applications/misc/gnome-tecla/default.nix
Normal file
55
pkgs/applications/misc/gnome-tecla/default.nix
Normal file
@@ -0,0 +1,55 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook4
|
||||
, glib
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, libxkbcommon
|
||||
, wayland
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tecla";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/tecla/${lib.versions.major finalAttrs.version}/tecla-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-XAK7QBmxz/tWY9phB1A+/4U4Nqh4PdRwXdBKSfetwls=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk4
|
||||
libadwaita
|
||||
libxkbcommon
|
||||
wayland
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
attrPath = "gnome-tecla";
|
||||
packageName = "tecla";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Keyboard layout viewer";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/tecla";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = teams.gnome.members;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "tecla";
|
||||
};
|
||||
})
|
||||
@@ -1,4 +1,5 @@
|
||||
{ lib, stdenv
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
@@ -7,23 +8,23 @@
|
||||
, gettext
|
||||
, libxml2
|
||||
, desktop-file-utils
|
||||
, wrapGAppsHook
|
||||
, wrapGAppsHook4
|
||||
, glib
|
||||
, gtk3
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, libgee
|
||||
, libgtop
|
||||
, libdazzle
|
||||
, gnome
|
||||
, tracker
|
||||
, libhandy
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-usage";
|
||||
version = "3.38.1";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "mMdm4X4VZXEfx0uaJP0u0NX618y0VRlhLdTiFHaO05M=";
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "5nfE/iwBSXqE/x4RV+kTHp+ZmfGnjTUjSvHXfYJ18pQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -34,17 +35,16 @@ stdenv.mkDerivation rec {
|
||||
ninja
|
||||
pkg-config
|
||||
vala
|
||||
wrapGAppsHook
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gnome.adwaita-icon-theme
|
||||
gtk3
|
||||
libdazzle
|
||||
gtk4
|
||||
libadwaita
|
||||
libgee
|
||||
libgtop
|
||||
tracker
|
||||
libhandy
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@@ -60,7 +60,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "A nice way to view information about use of system resources, like memory and disk space";
|
||||
license = licenses.gpl3;
|
||||
homepage = "https://gitlab.gnome.org/GNOME/gnome-usage";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.gnome.members;
|
||||
};
|
||||
|
||||
@@ -34,13 +34,13 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "orca";
|
||||
version = "44.1";
|
||||
version = "45.1";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "9e1lUdcviXshJI1DMIWnuBesy7ApaoTD6FHZH7Lu5N4=";
|
||||
sha256 = "v8wGv0vEe70CwVaNHkZL8Wox5iv3A7SaoTsI2zihqMo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/src/orca/debug.py b/src/orca/debug.py
|
||||
index e79482ed4..cbf3a24ec 100644
|
||||
index b7e11ea60..9ab996765 100644
|
||||
--- a/src/orca/debug.py
|
||||
+++ b/src/orca/debug.py
|
||||
@@ -502,7 +502,7 @@ def traceit(frame, event, arg):
|
||||
@@ -447,7 +447,7 @@ def traceit(frame, event, arg):
|
||||
return traceit
|
||||
|
||||
def getOpenFDCount(pid):
|
||||
@@ -11,29 +11,20 @@ index e79482ed4..cbf3a24ec 100644
|
||||
procs = procs.decode('UTF-8').split('\n')
|
||||
files = list(filter(lambda s: s and s[0] == 'f' and s[1:].isdigit(), procs))
|
||||
|
||||
@@ -510,7 +510,7 @@ def getOpenFDCount(pid):
|
||||
|
||||
def getCmdline(pid):
|
||||
try:
|
||||
- openFile = os.popen('cat /proc/%s/cmdline' % pid)
|
||||
+ openFile = os.popen('@cat@ /proc/%s/cmdline' % pid)
|
||||
cmdline = openFile.read()
|
||||
openFile.close()
|
||||
except:
|
||||
@@ -520,7 +520,7 @@ def getCmdline(pid):
|
||||
@@ -465,7 +465,7 @@ def getCmdline(pid):
|
||||
return cmdline
|
||||
|
||||
def pidOf(procName):
|
||||
- openFile = subprocess.Popen('pgrep %s' % procName,
|
||||
+ openFile = subprocess.Popen('@pgrep@ %s' % procName,
|
||||
- openFile = subprocess.Popen(f'pgrep {procName}',
|
||||
+ openFile = subprocess.Popen(f'@pgrep@ {procName}',
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).stdout
|
||||
pids = openFile.read()
|
||||
diff --git a/src/orca/orca.py b/src/orca/orca.py
|
||||
index 2fe0a0bf2..087526556 100644
|
||||
index d4e89f918..bb3e6cc1d 100644
|
||||
--- a/src/orca/orca.py
|
||||
+++ b/src/orca/orca.py
|
||||
@@ -285,7 +285,7 @@ def updateKeyMap(keyboardEvent):
|
||||
@@ -312,7 +312,7 @@ def updateKeyMap(keyboardEvent):
|
||||
|
||||
def _setXmodmap(xkbmap):
|
||||
"""Set the keyboard map using xkbcomp."""
|
||||
@@ -42,7 +33,7 @@ index 2fe0a0bf2..087526556 100644
|
||||
stdin=subprocess.PIPE, stdout=None, stderr=None)
|
||||
p.communicate(xkbmap)
|
||||
|
||||
@@ -363,7 +363,7 @@ def _storeXmodmap(keyList):
|
||||
@@ -389,7 +389,7 @@ def _storeXmodmap(keyList):
|
||||
"""
|
||||
|
||||
global _originalXmodmap
|
||||
@@ -51,7 +42,7 @@ index 2fe0a0bf2..087526556 100644
|
||||
|
||||
def _restoreXmodmap(keyList=[]):
|
||||
"""Restore the original xmodmap values for the keys in keyList.
|
||||
@@ -375,7 +375,7 @@ def _restoreXmodmap(keyList=[]):
|
||||
@@ -404,7 +404,7 @@ def _restoreXmodmap(keyList=[]):
|
||||
|
||||
global _capsLockCleared
|
||||
_capsLockCleared = False
|
||||
@@ -61,19 +52,19 @@ index 2fe0a0bf2..087526556 100644
|
||||
p.communicate(_originalXmodmap)
|
||||
|
||||
diff --git a/src/orca/orca_bin.py.in b/src/orca/orca_bin.py.in
|
||||
index 8c9d40153..eec0d5437 100644
|
||||
index 9d64af948..ca9c9e083 100644
|
||||
--- a/src/orca/orca_bin.py.in
|
||||
+++ b/src/orca/orca_bin.py.in
|
||||
@@ -62,7 +62,7 @@ class ListApps(argparse.Action):
|
||||
@@ -65,7 +65,7 @@ class ListApps(argparse.Action):
|
||||
name = "[DEAD]"
|
||||
|
||||
try:
|
||||
- cmdline = subprocess.getoutput('cat /proc/%s/cmdline' % pid)
|
||||
+ cmdline = subprocess.getoutput('@cat@ /proc/%s/cmdline' % pid)
|
||||
except:
|
||||
except Exception:
|
||||
cmdline = '(exception encountered)'
|
||||
else:
|
||||
@@ -197,7 +197,7 @@ def inGraphicalDesktop():
|
||||
@@ -198,7 +198,7 @@ def inGraphicalDesktop():
|
||||
def otherOrcas():
|
||||
"""Returns the pid of any other instances of Orca owned by this user."""
|
||||
|
||||
@@ -82,3 +73,16 @@ index 8c9d40153..eec0d5437 100644
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE).stdout
|
||||
pids = openFile.read()
|
||||
diff --git a/src/orca/script_utilities.py b/src/orca/script_utilities.py
|
||||
index ed8b155e4..0436cca42 100644
|
||||
--- a/src/orca/script_utilities.py
|
||||
+++ b/src/orca/script_utilities.py
|
||||
@@ -144,7 +144,7 @@ class Utilities:
|
||||
return ""
|
||||
|
||||
try:
|
||||
- cmdline = subprocess.getoutput(f"cat /proc/{pid}/cmdline")
|
||||
+ cmdline = subprocess.getoutput(f"@cat@ /proc/{pid}/cmdline")
|
||||
except Exception:
|
||||
return ""
|
||||
|
||||
|
||||
@@ -254,6 +254,20 @@ let
|
||||
hash = "sha256-Vryjg8kyn3cxWg3PmSwYRG6zrHOqYWBMSdEMGiaPg6M=";
|
||||
revert = true;
|
||||
})
|
||||
] ++ lib.optionals (!chromiumVersionAtLeast "119.0.6024.0") [
|
||||
# Fix build with at-spi2-core ≥ 2.49
|
||||
# This version is still needed for electron.
|
||||
(githubPatch {
|
||||
commit = "fc09363b2278893790d131c72a4ed96ec9837624";
|
||||
hash = "sha256-l60Npgs/+0ozzuKWjwiHUUV6z59ObUjAPTfXN7eXpzw=";
|
||||
})
|
||||
] ++ lib.optionals (!chromiumVersionAtLeast "121.0.6104.0") [
|
||||
# Fix build with at-spi2-core ≥ 2.49
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/5001687
|
||||
(githubPatch {
|
||||
commit = "b9bef8e9555645fc91fab705bec697214a39dbc1";
|
||||
hash = "sha256-CJ1v/qc8+nwaHQR9xsx08EEcuVRbyBfCZCm/G7hRY+4=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
, ninja
|
||||
, pkg-config
|
||||
, libhandy
|
||||
, libsecret
|
||||
, modemmanager
|
||||
, gtk3
|
||||
, gom
|
||||
@@ -63,6 +64,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
modemmanager
|
||||
libhandy
|
||||
libsecret
|
||||
evolution-data-server
|
||||
folks
|
||||
gom
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
, evolution-data-server
|
||||
, feedbackd
|
||||
, glibmm
|
||||
, libsecret
|
||||
, gnome-desktop
|
||||
, gspell
|
||||
, gtk3
|
||||
@@ -59,6 +60,7 @@ stdenv.mkDerivation rec {
|
||||
evolution-data-server
|
||||
feedbackd
|
||||
glibmm
|
||||
libsecret
|
||||
gnome-desktop
|
||||
gspell
|
||||
gtk3
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, fetchpatch2
|
||||
, callPackage
|
||||
, pkg-config
|
||||
, cmake
|
||||
@@ -28,7 +26,6 @@
|
||||
, libopus
|
||||
, alsa-lib
|
||||
, libpulseaudio
|
||||
, perlPackages
|
||||
, pipewire
|
||||
, range-v3
|
||||
, tl-expected
|
||||
@@ -57,7 +54,6 @@
|
||||
, libpsl
|
||||
, brotli
|
||||
, microsoft-gsl
|
||||
, mm-common
|
||||
, rlottie
|
||||
, stdenv
|
||||
, darwin
|
||||
@@ -80,30 +76,6 @@ let
|
||||
cxxStandard = "20";
|
||||
};
|
||||
};
|
||||
glibmm = glibmm_2_68.overrideAttrs (attrs: {
|
||||
version = "2.78.0";
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/glibmm/2.78/glibmm-2.78.0.tar.xz";
|
||||
hash = "sha256-XS6HJWSZbwKgbYu6w2d+fDlK+LAN0VJq69R6+EKj71A=";
|
||||
};
|
||||
patches = [
|
||||
# Revert "Glib, Gio: Add new API from glib 2.77.0"
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/GNOME/glibmm/commit/5b9032c0298cbb49c3ed90d5f71f2636751fa638.patch";
|
||||
revert = true;
|
||||
hash = "sha256-UzrzIOnXh9pxuTDQsp6mnunDNNtc86hE9tCe1NgKsyo=";
|
||||
})
|
||||
];
|
||||
mesonFlags = [
|
||||
"-Dmaintainer-mode=true"
|
||||
"-Dbuild-documentation=false"
|
||||
];
|
||||
nativeBuildInputs = attrs.nativeBuildInputs ++ [
|
||||
mm-common
|
||||
perlPackages.perl
|
||||
perlPackages.XMLParser
|
||||
];
|
||||
});
|
||||
mainProgram = if stdenv.isLinux then "telegram-desktop" else "Telegram";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -185,7 +157,7 @@ stdenv.mkDerivation rec {
|
||||
libpulseaudio
|
||||
pipewire
|
||||
hunspell
|
||||
glibmm
|
||||
glibmm_2_68
|
||||
webkitgtk_6_0
|
||||
jemalloc
|
||||
# Transitive dependencies:
|
||||
|
||||
@@ -22,11 +22,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "evolution-ews";
|
||||
version = "3.48.2";
|
||||
version = "3.50.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "UE2YAPW6vMXBcO9QxUZOTrwSAOQZAs2mn+j6v/L7cMA=";
|
||||
sha256 = "577S3Z/AhFf3W6ufiWJV8w/TTHu8nIqV74fi4pEqCa0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -1,8 +1,33 @@
|
||||
diff --git a/src/EWS/calendar/e-cal-backend-ews-utils.c b/src/EWS/calendar/e-cal-backend-ews-utils.c
|
||||
index 653a8fb..ad80283 100644
|
||||
--- a/src/EWS/calendar/e-cal-backend-ews-utils.c
|
||||
+++ b/src/EWS/calendar/e-cal-backend-ews-utils.c
|
||||
@@ -2406,7 +2406,19 @@ e_cal_backend_ews_get_configured_evolution_icaltimezone (void)
|
||||
if (schema) {
|
||||
GSettings *settings;
|
||||
|
||||
- settings = g_settings_new ("org.gnome.evolution.calendar");
|
||||
+ {
|
||||
+ g_autoptr(GSettingsSchemaSource) schema_source;
|
||||
+ g_autoptr(GSettingsSchema) schema;
|
||||
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
|
||||
+ g_settings_schema_source_get_default(),
|
||||
+ TRUE,
|
||||
+ NULL);
|
||||
+ schema = g_settings_schema_source_lookup(schema_source,
|
||||
+ "org.gnome.evolution.calendar",
|
||||
+ FALSE);
|
||||
+ settings = g_settings_new_full(schema, NULL,
|
||||
+ NULL);
|
||||
+ }
|
||||
|
||||
if (g_settings_get_boolean (settings, "use-system-timezone"))
|
||||
location = e_cal_util_get_system_timezone_location ();
|
||||
diff --git a/src/EWS/camel/camel-ews-utils.c b/src/EWS/camel/camel-ews-utils.c
|
||||
index 0707f72..1e71954 100644
|
||||
index dbd9adb..a2372a4 100644
|
||||
--- a/src/EWS/camel/camel-ews-utils.c
|
||||
+++ b/src/EWS/camel/camel-ews-utils.c
|
||||
@@ -1552,7 +1552,18 @@ ews_utils_save_category_changes (GHashTable *old_categories, /* gchar *guid ~> C
|
||||
@@ -1553,7 +1553,18 @@ ews_utils_save_category_changes (GHashTable *old_categories, /* gchar *guid ~> C
|
||||
|
||||
evo_labels = g_ptr_array_new_full (5, g_free);
|
||||
|
||||
@@ -47,7 +72,7 @@ index 6deda60..9b44cc7 100644
|
||||
if (location) {
|
||||
zone = i_cal_timezone_get_builtin_timezone (location);
|
||||
diff --git a/src/Microsoft365/camel/camel-m365-store.c b/src/Microsoft365/camel/camel-m365-store.c
|
||||
index ff1b8e3..4f876c0 100644
|
||||
index 3db3564..a233d4d 100644
|
||||
--- a/src/Microsoft365/camel/camel-m365-store.c
|
||||
+++ b/src/Microsoft365/camel/camel-m365-store.c
|
||||
@@ -309,7 +309,18 @@ m365_store_save_category_changes (GHashTable *old_categories, /* gchar *id ~> Ca
|
||||
|
||||
@@ -44,11 +44,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "evolution";
|
||||
version = "3.48.4";
|
||||
version = "3.50.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "oC+Z66BQp3HyxH1D/FLgCyJg/IbQYyD79S68fozni7c=";
|
||||
sha256 = "5CA240m4Mrkbprxg+Zxkte0AjrDrM7wipU8p9I7r1Zg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, lib, fetchFromGitHub, meson, gettext, glib, gjs, ninja, python3, gtk3
|
||||
, webkitgtk, gsettings-desktop-schemas, wrapGAppsHook, desktop-file-utils
|
||||
, webkitgtk_4_1, gsettings-desktop-schemas, wrapGAppsHook, desktop-file-utils
|
||||
, gobject-introspection, glib-networking }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -17,6 +17,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs build-aux/meson/postinstall.py
|
||||
|
||||
substituteInPlace src/main.js \
|
||||
--replace "'WebKit2': '4.0'" "'WebKit2': '4.1'"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
@@ -30,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||
glib-networking
|
||||
gjs
|
||||
gtk3
|
||||
webkitgtk
|
||||
webkitgtk_4_1
|
||||
desktop-file-utils
|
||||
gsettings-desktop-schemas
|
||||
];
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
, fetchurl
|
||||
, desktop-file-utils
|
||||
, gettext
|
||||
, gspell
|
||||
, gtkmm3
|
||||
, gtkmm4
|
||||
, itstool
|
||||
, libsecret
|
||||
, libuuid
|
||||
@@ -13,22 +12,21 @@
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, wrapGAppsHook4
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnote";
|
||||
version = "44.1";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-aWelUGgiMguuGcHrC8dFFmRPnp61TtwslCU+rhDHYE0=";
|
||||
hash = "sha256-XRb9h9FA7HL7s1ewVp2u+4Io4HgUcBVG5r3mVyGTwko=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
gspell
|
||||
gtkmm3
|
||||
gtkmm4
|
||||
libsecret
|
||||
libuuid
|
||||
libxml2
|
||||
@@ -42,7 +40,7 @@ stdenv.mkDerivation rec {
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -7,11 +7,11 @@ let
|
||||
inherit (python3Packages) python pygobject3;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "gnumeric";
|
||||
version = "1.12.55";
|
||||
version = "1.12.56";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "xpoJzRkLYirMpHa7w9TAPWjXzPWbumG/A2zmCIX5+2U=";
|
||||
sha256 = "UaOPNaxbD3He+oueIL8uCFY3mPHLMzeamhdyb7Hj4bI=";
|
||||
};
|
||||
|
||||
configureFlags = [ "--disable-component" ];
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-console";
|
||||
version = "44.4";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-console/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "uR9E6abAQz6W2ZfzlVhSBtq6xiRzmTo8B1Uv5YiOWo0=";
|
||||
sha256 = "50YhKNLfIySh10gGLEBCnNBQSvCeQHBnsz86nQxZyOE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -6,42 +6,61 @@
|
||||
}:
|
||||
|
||||
/*
|
||||
Can be used as part of an update script to automatically create a patch
|
||||
hardcoding the path of all GSettings schemas in C code.
|
||||
For example:
|
||||
passthru = {
|
||||
hardcodeGsettingsPatch = makeHardcodeGsettingsPatch {
|
||||
inherit src;
|
||||
schemaIdToVariableMapping = {
|
||||
...
|
||||
};
|
||||
};
|
||||
Creates a patch that replaces every instantiation of GSettings in a C project
|
||||
with a code that loads a GSettings schema from a hardcoded path.
|
||||
|
||||
updateScript =
|
||||
let
|
||||
updateSource = ...;
|
||||
updatePatch = _experimental-update-script-combinators.copyAttrOutputToFile "evolution-ews.hardcodeGsettingsPatch" ./hardcode-gsettings.patch;
|
||||
in
|
||||
_experimental-update-script-combinators.sequence [
|
||||
updateSource
|
||||
updatePatch
|
||||
];
|
||||
};
|
||||
}
|
||||
takes as input a mapping from schema path to variable name.
|
||||
For example `{ "org.gnome.evolution" = "EVOLUTION_SCHEMA_PATH"; }`
|
||||
hardcodes looking for `org.gnome.evolution` into `@EVOLUTION_SCHEMA_PATH@`.
|
||||
All schemas must be listed.
|
||||
This is useful so that libraries can find schemas even though Nix lacks
|
||||
a standard location like /usr/share, where GSettings system could look for schemas.
|
||||
The derivation is is somewhat dependency-heavy so it is best used as part of an update script.
|
||||
|
||||
For each schema id referenced in the source code (e.g. org.gnome.evolution),
|
||||
a variable name such as `EVOLUTION` must be provided.
|
||||
It will end up in the generated patch as `@EVOLUTION@` placeholder, which should be replaced at build time
|
||||
with a path to the directory containing a `gschemas.compiled` file that includes the schema.
|
||||
|
||||
|
||||
Arguments:
|
||||
- `src`: source to generate the patch for.
|
||||
|
||||
- `schemaIdToVariableMapping`: attrset assigning schema ids to variable names.
|
||||
All used schemas must be listed.
|
||||
|
||||
For example, `{ "org.gnome.evolution" = "EVOLUTION_SCHEMA_PATH"; }`
|
||||
hardcodes looking for `org.gnome.evolution` into `@EVOLUTION_SCHEMA_PATH@`.
|
||||
|
||||
- `patches`: A list of patches to apply before generating the patch.
|
||||
|
||||
Example:
|
||||
passthru = {
|
||||
hardcodeGsettingsPatch = makeHardcodeGsettingsPatch {
|
||||
inherit (finalAttrs) src;
|
||||
schemaIdToVariableMapping = {
|
||||
...
|
||||
};
|
||||
};
|
||||
|
||||
updateScript =
|
||||
let
|
||||
updateSource = ...;
|
||||
updatePatch = _experimental-update-script-combinators.copyAttrOutputToFile "evolution-ews.hardcodeGsettingsPatch" ./hardcode-gsettings.patch;
|
||||
in
|
||||
_experimental-update-script-combinators.sequence [
|
||||
updateSource
|
||||
updatePatch
|
||||
];
|
||||
};
|
||||
}
|
||||
*/
|
||||
{
|
||||
src,
|
||||
patches ? [ ],
|
||||
schemaIdToVariableMapping,
|
||||
}:
|
||||
|
||||
runCommand
|
||||
"hardcode-gsettings.patch"
|
||||
{
|
||||
inherit src;
|
||||
inherit src patches;
|
||||
nativeBuildInputs = [
|
||||
git
|
||||
coccinelle
|
||||
@@ -51,6 +70,7 @@ runCommand
|
||||
''
|
||||
unpackPhase
|
||||
cd "''${sourceRoot:-.}"
|
||||
patchPhase
|
||||
set -x
|
||||
cp ${builtins.toFile "glib-schema-to-var.json" (builtins.toJSON schemaIdToVariableMapping)} ./glib-schema-to-var.json
|
||||
git init
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
/**
|
||||
* Since Nix does not have a standard location like /usr/share,
|
||||
* where GSettings system could look for schemas, we need to point the software to a correct location somehow.
|
||||
* Since Nix does not have a standard location like /usr/share where GSettings system
|
||||
* could look for schemas, we need to point the software to a correct location somehow.
|
||||
* For executables, we handle this using wrappers but this is not an option for libraries like e-d-s.
|
||||
* Instead, we hardcode the schema path when creating the settings.
|
||||
* A schema path (ie org.gnome.evolution) can be replaced by @EVOLUTION_SCHEMA_ID@
|
||||
* which is then replaced at build time by substituteAll.
|
||||
* The mapping is provided in a json file ./glib-schema-to-var.json
|
||||
* Instead, we patch the source code to look for the schema in a schema source
|
||||
* through a hardcoded path to the schema.
|
||||
*
|
||||
* For each schema id referenced in the source code (e.g. org.gnome.evolution),
|
||||
* a variable name such as `EVOLUTION` must be provided in the ./glib-schema-to-var.json JSON file.
|
||||
* It will end up in the resulting patch as `@EVOLUTION@` placeholder, which should be replaced at build time
|
||||
* with a path to the directory containing a `gschemas.compiled` file that includes the schema.
|
||||
*/
|
||||
|
||||
@initialize:python@
|
||||
|
||||
13
pkgs/by-name/gl/glycin-loaders/fix-glycin-paths.patch
Normal file
13
pkgs/by-name/gl/glycin-loaders/fix-glycin-paths.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/vendor/glycin/src/dbus.rs b/vendor/glycin/src/dbus.rs
|
||||
index aa5a876..4f37420 100644
|
||||
--- a/vendor/glycin/src/dbus.rs
|
||||
+++ b/vendor/glycin/src/dbus.rs
|
||||
@@ -43,7 +43,7 @@ impl<'a> DecoderProcess<'a> {
|
||||
|
||||
let (bin, args, final_arg) = match sandbox_mechanism {
|
||||
SandboxMechanism::Bwrap => (
|
||||
- "bwrap".into(),
|
||||
+ "@bwrap@".into(),
|
||||
vec![
|
||||
"--unshare-all",
|
||||
"--die-with-parent",
|
||||
70
pkgs/by-name/gl/glycin-loaders/package.nix
Normal file
70
pkgs/by-name/gl/glycin-loaders/package.nix
Normal file
@@ -0,0 +1,70 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, substituteAll
|
||||
, bubblewrap
|
||||
, cargo
|
||||
, git
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, rustc
|
||||
, gtk4
|
||||
, cairo
|
||||
, libheif
|
||||
, libxml2
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "glycin-loaders";
|
||||
version = "0.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/glycin-loaders/${lib.versions.majorMinor finalAttrs.version}/glycin-loaders-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-x2wBklq9BwF0WJzLkWpEpXOrZbHp1JPxVOQnVkMebdc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix paths in glycin library.
|
||||
# Not actually needed for this package since we are only building loaders
|
||||
# and this patch is relevant just to apps that use the loaders
|
||||
# but apply it here to ensure the patch continues to apply.
|
||||
finalAttrs.passthru.glycinPathsPatch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo
|
||||
git
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustc
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4 # for GdkTexture
|
||||
cairo
|
||||
libheif
|
||||
libxml2 # for librsvg crate
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "glycin-loaders";
|
||||
};
|
||||
|
||||
glycinPathsPatch = substituteAll {
|
||||
src = ./fix-glycin-paths.patch;
|
||||
bwrap = "${bubblewrap}/bin/bwrap";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Glycin loaders for several formats";
|
||||
homepage = "https://gitlab.gnome.org/sophie-h/glycin";
|
||||
maintainers = teams.gnome.members;
|
||||
license = with licenses; [ mpl20 /* or */ lgpl21Plus ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
||||
85
pkgs/by-name/lo/loupe/package.nix
Normal file
85
pkgs/by-name/lo/loupe/package.nix
Normal file
@@ -0,0 +1,85 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, cargo
|
||||
, desktop-file-utils
|
||||
, itstool
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, jq
|
||||
, moreutils
|
||||
, rustc
|
||||
, wrapGAppsHook4
|
||||
, gtk4
|
||||
, lcms2
|
||||
, libadwaita
|
||||
, libgweather
|
||||
, glycin-loaders
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "loupe";
|
||||
version = "45.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/loupe/${lib.versions.major version}/loupe-${version}.tar.xz";
|
||||
hash = "sha256-nX+ieKEASHKUQZoopvCo1ZGL2XnRy0tGqF6Pfe0U0+w=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix paths in glycin library
|
||||
glycin-loaders.passthru.glycinPathsPatch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo
|
||||
desktop-file-utils
|
||||
itstool
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
jq
|
||||
moreutils
|
||||
rustc
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4
|
||||
lcms2
|
||||
libadwaita
|
||||
libgweather
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Replace hash of file we patch in vendored glycin.
|
||||
jq \
|
||||
--arg hash "$(sha256sum vendor/glycin/src/dbus.rs | cut -d' ' -f 1)" \
|
||||
'.files."src/dbus.rs" = $hash' \
|
||||
vendor/glycin/.cargo-checksum.json \
|
||||
| sponge vendor/glycin/.cargo-checksum.json
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
# Needed for the glycin crate to find loaders.
|
||||
# https://gitlab.gnome.org/sophie-h/glycin/-/blob/0.1.beta.2/glycin/src/config.rs#L44
|
||||
gappsWrapperArgs+=(
|
||||
--prefix XDG_DATA_DIRS : "${glycin-loaders}/share"
|
||||
)
|
||||
'';
|
||||
|
||||
passthru.updateScript = gnome.updateScript {
|
||||
packageName = "loupe";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.gnome.org/GNOME/loupe";
|
||||
description = "A simple image viewer application written with GTK4 and Rust";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ jk ] ++ teams.gnome.members;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "loupe";
|
||||
};
|
||||
}
|
||||
@@ -9,11 +9,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-user-docs";
|
||||
version = "44.3";
|
||||
version = "45.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-user-docs/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "lOBECCNjQ4vNv6hUlImrarKWoJHotlL1chM/102xaSw=";
|
||||
sha256 = "L5DGgntfFgXfLt++orNChwMAqamBvDktyWIU2WfzrfE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unicode-character-database";
|
||||
version = "15.0.0";
|
||||
version = "15.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.unicode.org/Public/zipped/${version}/UCD.zip";
|
||||
sha256 = "sha256-X73kAPPmh9JcybCo0w12GedssvTD6Fup347BMSy2cYw=";
|
||||
sha256 = "sha256-yxxmPQU5JlAM1QEilzYEV1JxOgZr11gCCYWYt6cFYXc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unihan-database";
|
||||
version = "15.0.0";
|
||||
version = "15.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.unicode.org/Public/zipped/${version}/Unihan.zip";
|
||||
hash = "sha256-JLFUaR/JfLRCZ7kl1iBkKXCGs/iWtXqBgce21CcCoCY=";
|
||||
hash = "sha256-oCJmEOMkvPeErDgOEfTL9TPuHms9AosJkb+MDcP4WFM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -126,6 +126,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
patchShebangs src/backends/native/gen-default-modes.py
|
||||
# Magpie does not install any .desktop files
|
||||
substituteInPlace scripts/mesonPostInstall.sh --replace "update-desktop-database" "# update-desktop-database"
|
||||
|
||||
# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3187
|
||||
substituteInPlace meson.build \
|
||||
--replace "dependency('sysprof-4')" "dependency('sysprof-6')"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "accerciser";
|
||||
version = "3.40.0";
|
||||
version = "3.42.0";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "U3VF1kgTwtKxSne2TiQBABXpl3z1+zz4qmXbzgHqNiU=";
|
||||
sha256 = "d2m9T09j3ImhQ+hs3ET+rr1/jJab6lwfWoaskxGQL0g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -51,9 +51,14 @@ python3.pkgs.buildPythonApplication rec {
|
||||
pycairo
|
||||
pygobject3
|
||||
setuptools
|
||||
xlib
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "accerciser";
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ghex";
|
||||
version = "44.2";
|
||||
version = "45.1";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/ghex/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "6+y0xoo30zk3uewmPIV23x2MaascHT4S1WaP0gB+kws=";
|
||||
sha256 = "+ysII80WJJ7b6u6DAvm9UAXgFQNos18eR8JmgMrKwvo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -48,11 +48,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-boxes";
|
||||
version = "44.3";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "ZIpBuODIdfBOOnh+pnA2vJIehYo25jQ6Q9tyQu5z4XE=";
|
||||
sha256 = "zGMIDu+hR6hHKrGl/wh7l6J6tyOk7gBe1B6Mndd5jkE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
, wrapGAppsHook4
|
||||
, libgweather
|
||||
, geoclue2
|
||||
, geocode-glib_2
|
||||
, gettext
|
||||
, libxml2
|
||||
, gnome
|
||||
@@ -22,11 +21,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-calendar";
|
||||
version = "44.1";
|
||||
version = "45.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "MKG3OLZwvRJORiRo5nEYf8DbpbnuKvao69nnh0vzt34=";
|
||||
sha256 = "f6hQdUOGWqdDK7UxmDDIcVi1RHygnMpFtgfcZ5bHEAg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -46,7 +45,6 @@ stdenv.mkDerivation rec {
|
||||
glib
|
||||
libgweather
|
||||
geoclue2
|
||||
geocode-glib_2
|
||||
gsettings-desktop-schemas
|
||||
libadwaita
|
||||
];
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-characters";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-characters/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "BbFcAozBkK75LmCS/YT6jV8kSODpB2RGo1ZvOggf9Qs=";
|
||||
sha256 = "P9VPzBTSkbd//xLe7/8A2jg+CmQAr1B9FgX7y0m4x0E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
, libxml2
|
||||
, gtk4
|
||||
, glib
|
||||
, gsound
|
||||
, sound-theme-freedesktop
|
||||
, gsettings-desktop-schemas
|
||||
, gnome-desktop
|
||||
@@ -27,11 +26,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-clocks";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-clocks/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "F9epc2XLjxoCOh1491AfM1Mhf6dXfXOv59DKHjtPODg=";
|
||||
sha256 = "/I60/ZUw8eZB3ADuIIbufTVKegCwoNFyLjBdXJqrkbU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -45,9 +44,6 @@ stdenv.mkDerivation rec {
|
||||
desktop-file-utils
|
||||
libxml2
|
||||
gobject-introspection # for finding vapi files
|
||||
# error: Package `...' not found in specified Vala API directories or GObject-Introspection GIR directories
|
||||
# TODO: the vala setuphook should look for vala filess in targetOffset instead of hostOffset
|
||||
gsound
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -59,7 +55,6 @@ stdenv.mkDerivation rec {
|
||||
geocode-glib_2
|
||||
geoclue2
|
||||
libgweather
|
||||
gsound
|
||||
libadwaita
|
||||
];
|
||||
|
||||
|
||||
@@ -22,11 +22,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-connections";
|
||||
version = "44.1";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-E2otkksHfVzEEAyEWCbUcURCMKFsjawnMhE2gBcaYms=";
|
||||
hash = "sha256-ufq1JbkKPifRE8FvuGjCucR7+BSTENFNuGLqGRLAb7g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
@@ -23,25 +22,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-logs";
|
||||
version = "43.0";
|
||||
version = "45.beta";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-logs/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "M6k7l17CfISHglBIqnuK99XCNWWrz3t0yQKrez7CCGE=";
|
||||
sha256 = "nbxJ/7J90jQuji/UmK8ltUENsjkQ/I7/XmiTrHa7jK4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove GTK 3 depndency
|
||||
# https://gitlab.gnome.org/GNOME/gnome-logs/-/merge_requests/46
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-logs/-/commit/32193a1385b95012bc8e7007ada89566bd63697d.patch";
|
||||
sha256 = "5WsTnfVpWZquU65pSLnk2M6VnY+qQPUi7A0cqMmzfrU=";
|
||||
postFetch = ''
|
||||
substituteInPlace "$out" --replace "43.1" "43.0"
|
||||
'';
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
, geoclue2
|
||||
, wrapGAppsHook4
|
||||
, desktop-file-utils
|
||||
, libportal
|
||||
, libshumate
|
||||
, libsecret
|
||||
, libsoup_3
|
||||
@@ -27,11 +28,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-maps";
|
||||
version = "44.4";
|
||||
version = "45.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-3admgmWnCVKWDElRnPv7+jV2gyb8W4CyYX8U/7LJuHM=";
|
||||
hash = "sha256-v2nFDi4ZsV280KDvOCfUAqGVq0ogKbm2LlSr8472334=";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
@@ -57,6 +58,7 @@ stdenv.mkDerivation rec {
|
||||
gjs
|
||||
gsettings-desktop-schemas
|
||||
gtk4
|
||||
libportal
|
||||
libshumate
|
||||
libgweather
|
||||
libadwaita
|
||||
|
||||
@@ -30,13 +30,13 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "gnome-music";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "m9GqyVcuYkcgJKaVDYOubyhr4zzZx3fz1E+hbQOPHVE=";
|
||||
sha256 = "M+dwFmImp0U31MELFTjvqIQklP/pvyyQoWyrmKuZe98=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -18,18 +18,17 @@
|
||||
, libadwaita
|
||||
, editorconfig-core-c
|
||||
, libxml2
|
||||
, pcre
|
||||
, appstream-glib
|
||||
, desktop-file-utils
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-text-editor";
|
||||
version = "44.0";
|
||||
version = "45.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-text-editor/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-9nvDeAc0/6gV/MTF2qe1VdJORZ+B6itUjmqFwWEqMco=";
|
||||
sha256 = "sha256-aobsmSD0ZrbtkmlVJNO1B7HoQnLa+lNB0GoVfehor3E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -54,7 +53,6 @@ stdenv.mkDerivation rec {
|
||||
gtksourceview5
|
||||
libadwaita
|
||||
editorconfig-core-c
|
||||
pcre
|
||||
];
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, desktop-file-utils
|
||||
, pkg-config
|
||||
, gnome
|
||||
, gtk4
|
||||
@@ -18,14 +19,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-weather";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-weather/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "aw04rHhQQWmd9iiSbjXbe1/6CG7g1pNMIioZxrmSO68=";
|
||||
sha256 = "MMAClwKIPcjYFg5t4dYRaHfNbCW8lQ1OSQKmq0Z7L6Q=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
pkg-config
|
||||
meson
|
||||
ninja
|
||||
@@ -56,8 +58,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
chmod +x meson_post_install.py
|
||||
patchShebangs meson_post_install.py
|
||||
substituteInPlace meson_post_install.py \
|
||||
--replace gtk-update-icon-cache gtk4-update-icon-cache
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -30,11 +30,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "polari";
|
||||
version = "43.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "F6GS3uYfWOPNRHJQC+cBGUa5n75SvFrBJPqurC8zQUc=";
|
||||
sha256 = "nbfdwJSqhVfxkXfhZMQti+Fn9UckuScTC3YhyCnB1KE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
diff --git a/src/thumbnailer.js b/src/thumbnailer.js
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
index ed6350ea..83d832cb
|
||||
index 4f7a2840..55c20199
|
||||
--- a/src/thumbnailer.js
|
||||
+++ b/src/thumbnailer.js
|
||||
@@ -1,3 +1,4 @@
|
||||
@@ -1,3 +1,5 @@
|
||||
+#!/usr/bin/env gjs --module
|
||||
import Cairo from 'cairo';
|
||||
import Gdk from 'gi://Gdk?version=3.0';
|
||||
import Gio from 'gi://Gio';
|
||||
+
|
||||
// SPDX-FileCopyrightText: 2019 daronion <stefanosdimos.98@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
|
||||
//
|
||||
diff --git a/src/urlPreview.js b/src/urlPreview.js
|
||||
index 5f7931e4..d2282900 100644
|
||||
--- a/src/urlPreview.js
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, autoreconfHook
|
||||
, gnome
|
||||
, gtk3
|
||||
, gdk-pixbuf
|
||||
@@ -12,16 +13,17 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "adwaita-icon-theme";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/adwaita-icon-theme/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "SInFYBu/7NJdgLo0IgnQqTbc9pHuVr1uykzeNh8aZkw=";
|
||||
sha256 = "JEK/sG9ObMlb9uJoL9/5j6Xt3GiHUbnWIVxiPLTkL/E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
autoreconfHook
|
||||
gtk3
|
||||
];
|
||||
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "baobab";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "hFtju5Ej10VoyBJsVxu8dCc0g/+SAXmizx7du++hv8A=";
|
||||
sha256 = "p9LPMIpsg57gsL8HT49f1g1iri8GSpSzxhDWVgt1joY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, desktop-file-utils
|
||||
, meson
|
||||
, ninja
|
||||
, vala
|
||||
@@ -11,7 +12,6 @@
|
||||
, gtk3
|
||||
, libhandy
|
||||
, gnome
|
||||
, python3
|
||||
, dconf
|
||||
, libxml2
|
||||
, gettext
|
||||
@@ -22,20 +22,27 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dconf-editor";
|
||||
version = "43.0";
|
||||
version = "45.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-k1o8Lddswqk81a7ppU05R/sRHrOW9LY9xfC6j40JkTY=";
|
||||
sha256 = "sha256-EYApdnju2uYhfMUUomOMGH0vHR7ycgy5B5t0DEKZQd0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix crash with GSETTINGS_SCHEMA_DIR env var.
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/dconf-editor/-/commit/baf183737d459dcde065c9f8f6fe5be7ed874de6.patch";
|
||||
hash = "sha256-Vp0qjJChDr6IarUD+tZPLJhdI8v8r6EzWNfqFSnGvqQ=";
|
||||
})
|
||||
|
||||
# Look for compiled schemas in NIX_GSETTINGS_OVERRIDES_DIR
|
||||
# environment variable, to match what we patched GLib to do.
|
||||
./schema-override-variable.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
vala
|
||||
@@ -46,7 +53,6 @@ stdenv.mkDerivation rec {
|
||||
docbook-xsl-nons
|
||||
libxml2
|
||||
gobject-introspection
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -56,11 +62,6 @@ stdenv.mkDerivation rec {
|
||||
dconf
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson_post_install.py
|
||||
patchShebangs meson_post_install.py
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
|
||||
@@ -10,5 +10,5 @@ index 27b2b17a..87f7ba86 100644
|
||||
+ if (nix_var_schema_dir != null)
|
||||
+ source = try_prepend_dir (source, (!) nix_var_schema_dir);
|
||||
string? var_schema_dir = GLib.Environment.get_variable ("GSETTINGS_SCHEMA_DIR");
|
||||
if (var_schema_dir != null)
|
||||
source = try_prepend_dir (source, (!) var_schema_dir);
|
||||
if (var_schema_dir != null) {
|
||||
string[] extra_schema_dirs = ((!) var_schema_dir).split (Path.SEARCHPATH_SEPARATOR_S);
|
||||
|
||||
@@ -31,13 +31,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "eog";
|
||||
version = "44.3";
|
||||
version = "45.1";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-1rLXD0tDL/jPSUyPkCmyYh0I54F5ODF9ZAY65sTanYw=";
|
||||
sha256 = "sha256-wX+GcExyKzbAGhaPHlFDm+C7J58sZkb0i2bp0POiTNI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -36,11 +36,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "epiphany";
|
||||
version = "44.6";
|
||||
version = "45.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "UzXdVzWB22HhJthU3BauUZZXpbh5B4mkfSXkPhfNOkM=";
|
||||
sha256 = "fJlO807NYOkV3jMe4SPAiTj5YjzvrabVC5njycWtgTU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
, gobject-introspection
|
||||
, yelp-tools
|
||||
, gspell
|
||||
, adwaita-icon-theme
|
||||
, gsettings-desktop-schemas
|
||||
, gnome-desktop
|
||||
, dbus
|
||||
@@ -43,13 +42,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "evince";
|
||||
version = "44.3";
|
||||
version = "45.0";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/evince/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "O4uhWBpHpun1f2tqoI8PtnVJxgEhqiTjEUDpOUe4NiI=";
|
||||
sha256 = "0YZH1Cdcvd8NMoF7HQTjBzQqhb6RTsTa0tgIKq+KpKg=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [
|
||||
@@ -71,7 +70,6 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
adwaita-icon-theme
|
||||
atk
|
||||
dbus # only needed to find the service directory
|
||||
djvulibre
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
, gperf
|
||||
, wrapGAppsHook
|
||||
, glib-networking
|
||||
, gsettings-desktop-schemas
|
||||
, pcre
|
||||
, vala
|
||||
, cmake
|
||||
@@ -50,13 +51,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "evolution-data-server";
|
||||
version = "3.48.4";
|
||||
version = "3.50.1";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "mX4/k7F++wr/zAF77oeAul+iwAnjZVG7yRoIrlUtbWA=";
|
||||
sha256 = "kfT/w4objS/ok5g0RJrFQcC/9KObRE7cKpUpNEoo6Yo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -64,11 +65,16 @@ stdenv.mkDerivation rec {
|
||||
src = ./fix-paths.patch;
|
||||
inherit tzdata;
|
||||
})
|
||||
|
||||
# Avoid using wrapper function, which the hardcode gsettings
|
||||
# patch generator cannot handle.
|
||||
./drop-tentative-settings-constructor.patch
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
substitute ${./hardcode-gsettings.patch} hardcode-gsettings.patch \
|
||||
--subst-var-by EDS ${glib.makeSchemaPath "$out" "${pname}-${version}"}
|
||||
--subst-var-by EDS ${glib.makeSchemaPath "$out" "${pname}-${version}"} \
|
||||
--subst-var-by GDS ${glib.getSchemaPath gsettings-desktop-schemas}
|
||||
patches="$patches $PWD/hardcode-gsettings.patch"
|
||||
'';
|
||||
|
||||
@@ -86,6 +92,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
libsecret
|
||||
libsoup_3
|
||||
gnome-online-accounts
|
||||
p11-kit
|
||||
@@ -116,7 +123,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
propagatedBuildInputs = [
|
||||
db
|
||||
libsecret
|
||||
nss
|
||||
nspr
|
||||
libical
|
||||
@@ -158,9 +164,9 @@ stdenv.mkDerivation rec {
|
||||
"org.gnome.evolution-data-server.addressbook" = "EDS";
|
||||
"org.gnome.evolution-data-server.calendar" = "EDS";
|
||||
"org.gnome.evolution-data-server" = "EDS";
|
||||
|
||||
"org.gnome.desktop.interface" = "GDS";
|
||||
};
|
||||
inherit src;
|
||||
inherit src patches;
|
||||
};
|
||||
updateScript =
|
||||
let
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
|
||||
index f1614f2..c01e8b2 100644
|
||||
--- a/src/calendar/libecal/e-reminder-watcher.c
|
||||
+++ b/src/calendar/libecal/e-reminder-watcher.c
|
||||
@@ -2609,26 +2609,6 @@ e_reminder_watcher_load_clock_format (EReminderWatcher *watcher)
|
||||
g_free (clock_format);
|
||||
}
|
||||
|
||||
-static GSettings*
|
||||
-e_reminder_watcher_load_settings_tentative (const gchar *schema_id)
|
||||
-{
|
||||
- GSettings *settings;
|
||||
- GSettingsSchemaSource *schema_source;
|
||||
- GSettingsSchema *schema;
|
||||
-
|
||||
- schema_source = g_settings_schema_source_get_default ();
|
||||
- schema = g_settings_schema_source_lookup (schema_source, schema_id, TRUE);
|
||||
-
|
||||
- if (schema == NULL) {
|
||||
- return NULL;
|
||||
- }
|
||||
-
|
||||
- settings = g_settings_new (schema_id);
|
||||
- /* only unref after g_settings_new() to avoid needless realloc */
|
||||
- g_settings_schema_unref (schema);
|
||||
- return settings;
|
||||
-}
|
||||
-
|
||||
static void
|
||||
e_reminder_watcher_init (EReminderWatcher *watcher)
|
||||
{
|
||||
@@ -2647,7 +2627,7 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
|
||||
watcher->priv = e_reminder_watcher_get_instance_private (watcher);
|
||||
watcher->priv->cancellable = g_cancellable_new ();
|
||||
watcher->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
|
||||
- watcher->priv->desktop_settings = e_reminder_watcher_load_settings_tentative ("org.gnome.desktop.interface");
|
||||
+ watcher->priv->desktop_settings = g_settings_new ("org.gnome.desktop.interface");
|
||||
if (watcher->priv->desktop_settings) {
|
||||
g_signal_connect_object (
|
||||
watcher->priv->desktop_settings,
|
||||
@@ -128,10 +128,10 @@ index e85a56b..59d3fe2 100644
|
||||
g_object_unref (settings);
|
||||
|
||||
diff --git a/src/addressbook/libedata-book/e-book-meta-backend.c b/src/addressbook/libedata-book/e-book-meta-backend.c
|
||||
index 4aaabee..dd6ce6d 100644
|
||||
index 63e1016..0492756 100644
|
||||
--- a/src/addressbook/libedata-book/e-book-meta-backend.c
|
||||
+++ b/src/addressbook/libedata-book/e-book-meta-backend.c
|
||||
@@ -143,7 +143,18 @@ ebmb_is_power_saver_enabled (void)
|
||||
@@ -144,7 +144,18 @@ ebmb_is_power_saver_enabled (void)
|
||||
GSettings *settings;
|
||||
gboolean enabled = FALSE;
|
||||
|
||||
@@ -175,15 +175,42 @@ index 42f3457..b4926af 100644
|
||||
cbc->priv->notifyid = 0;
|
||||
cbc->priv->update_alarms_id = 0;
|
||||
cbc->priv->alarm_enabled = FALSE;
|
||||
diff --git a/src/calendar/backends/file/e-cal-backend-file.c b/src/calendar/backends/file/e-cal-backend-file.c
|
||||
index 2525856..7ecc1a8 100644
|
||||
--- a/src/calendar/backends/file/e-cal-backend-file.c
|
||||
+++ b/src/calendar/backends/file/e-cal-backend-file.c
|
||||
@@ -3682,7 +3682,20 @@ e_cal_backend_file_receive_objects (ECalBackendSync *backend,
|
||||
if (is_declined) {
|
||||
GSettings *settings;
|
||||
|
||||
- settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
|
||||
+ {
|
||||
+ g_autoptr(GSettingsSchemaSource) schema_source;
|
||||
+ g_autoptr(GSettingsSchema) schema;
|
||||
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
|
||||
+ g_settings_schema_source_get_default(),
|
||||
+ TRUE,
|
||||
+ NULL);
|
||||
+ schema = g_settings_schema_source_lookup(schema_source,
|
||||
+ "org.gnome.evolution-data-server.calendar",
|
||||
+ FALSE);
|
||||
+ settings = g_settings_new_full(schema,
|
||||
+ NULL,
|
||||
+ NULL);
|
||||
+ }
|
||||
can_delete = g_settings_get_boolean (settings, "delete-meeting-on-decline");
|
||||
g_clear_object (&settings);
|
||||
}
|
||||
diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
|
||||
index 5087de1..5c24b87 100644
|
||||
index c01e8b2..59fb4c4 100644
|
||||
--- a/src/calendar/libecal/e-reminder-watcher.c
|
||||
+++ b/src/calendar/libecal/e-reminder-watcher.c
|
||||
@@ -2578,7 +2578,19 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
|
||||
@@ -2626,8 +2626,33 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
|
||||
|
||||
watcher->priv = e_reminder_watcher_get_instance_private (watcher);
|
||||
watcher->priv->cancellable = g_cancellable_new ();
|
||||
- watcher->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
|
||||
- watcher->priv->desktop_settings = g_settings_new ("org.gnome.desktop.interface");
|
||||
+ {
|
||||
+ g_autoptr(GSettingsSchemaSource) schema_source;
|
||||
+ g_autoptr(GSettingsSchema) schema;
|
||||
@@ -197,11 +224,25 @@ index 5087de1..5c24b87 100644
|
||||
+ watcher->priv->settings = g_settings_new_full(schema, NULL,
|
||||
+ NULL);
|
||||
+ }
|
||||
watcher->priv->scheduled = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, e_reminder_watcher_free_rd_slist);
|
||||
watcher->priv->default_zone = e_cal_util_copy_timezone (zone);
|
||||
watcher->priv->timers_enabled = TRUE;
|
||||
+ {
|
||||
+ g_autoptr(GSettingsSchemaSource) schema_source;
|
||||
+ g_autoptr(GSettingsSchema) schema;
|
||||
+ schema_source = g_settings_schema_source_new_from_directory("@GDS@",
|
||||
+ g_settings_schema_source_get_default(),
|
||||
+ TRUE,
|
||||
+ NULL);
|
||||
+ schema = g_settings_schema_source_lookup(schema_source,
|
||||
+ "org.gnome.desktop.interface",
|
||||
+ FALSE);
|
||||
+ watcher->priv->desktop_settings = g_settings_new_full(schema,
|
||||
+ NULL,
|
||||
+ NULL);
|
||||
+ }
|
||||
if (watcher->priv->desktop_settings) {
|
||||
g_signal_connect_object (
|
||||
watcher->priv->desktop_settings,
|
||||
diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c
|
||||
index cd91f07..79ede04 100644
|
||||
index 27fa153..3679d72 100644
|
||||
--- a/src/calendar/libedata-cal/e-cal-meta-backend.c
|
||||
+++ b/src/calendar/libedata-cal/e-cal-meta-backend.c
|
||||
@@ -156,7 +156,18 @@ ecmb_is_power_saver_enabled (void)
|
||||
@@ -224,11 +265,33 @@ index cd91f07..79ede04 100644
|
||||
|
||||
if (g_settings_get_boolean (settings, "limit-operations-in-power-saver-mode")) {
|
||||
GPowerProfileMonitor *power_monitor;
|
||||
@@ -2633,7 +2644,20 @@ ecmb_receive_object_sync (ECalMetaBackend *meta_backend,
|
||||
if (is_declined) {
|
||||
GSettings *settings;
|
||||
|
||||
- settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
|
||||
+ {
|
||||
+ g_autoptr(GSettingsSchemaSource) schema_source;
|
||||
+ g_autoptr(GSettingsSchema) schema;
|
||||
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
|
||||
+ g_settings_schema_source_get_default(),
|
||||
+ TRUE,
|
||||
+ NULL);
|
||||
+ schema = g_settings_schema_source_lookup(schema_source,
|
||||
+ "org.gnome.evolution-data-server.calendar",
|
||||
+ FALSE);
|
||||
+ settings = g_settings_new_full(schema,
|
||||
+ NULL,
|
||||
+ NULL);
|
||||
+ }
|
||||
is_declined = g_settings_get_boolean (settings, "delete-meeting-on-decline");
|
||||
g_clear_object (&settings);
|
||||
}
|
||||
diff --git a/src/camel/camel-cipher-context.c b/src/camel/camel-cipher-context.c
|
||||
index 8013ba7..1bba6d1 100644
|
||||
index bef9188..ce92f6c 100644
|
||||
--- a/src/camel/camel-cipher-context.c
|
||||
+++ b/src/camel/camel-cipher-context.c
|
||||
@@ -1625,7 +1625,18 @@ camel_cipher_can_load_photos (void)
|
||||
@@ -1631,7 +1631,18 @@ camel_cipher_can_load_photos (void)
|
||||
GSettings *settings;
|
||||
gboolean load_photos;
|
||||
|
||||
@@ -249,10 +312,10 @@ index 8013ba7..1bba6d1 100644
|
||||
g_clear_object (&settings);
|
||||
|
||||
diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c
|
||||
index 205372e..f75a88e 100644
|
||||
index db5fc2e..162e00f 100644
|
||||
--- a/src/camel/camel-gpg-context.c
|
||||
+++ b/src/camel/camel-gpg-context.c
|
||||
@@ -582,7 +582,18 @@ gpg_ctx_get_executable_name (void)
|
||||
@@ -747,7 +747,18 @@ gpg_ctx_get_executable_name (void)
|
||||
GSettings *settings;
|
||||
gchar *path;
|
||||
|
||||
@@ -298,11 +361,11 @@ index e61160c..b6553a4 100644
|
||||
G_CALLBACK (mi_user_headers_settings_changed_cb), NULL);
|
||||
G_UNLOCK (mi_user_headers);
|
||||
diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c
|
||||
index 78abb89..9f2a891 100644
|
||||
index ef34665..59f294b 100644
|
||||
--- a/src/camel/providers/imapx/camel-imapx-server.c
|
||||
+++ b/src/camel/providers/imapx/camel-imapx-server.c
|
||||
@@ -5591,7 +5591,18 @@ camel_imapx_server_skip_old_flags_update (CamelStore *store)
|
||||
if (!skip_old_flags_update) {
|
||||
@@ -5627,7 +5627,18 @@ camel_imapx_server_do_old_flags_update (CamelFolder *folder)
|
||||
if (do_old_flags_update) {
|
||||
GSettings *eds_settings;
|
||||
|
||||
- eds_settings = g_settings_new ("org.gnome.evolution-data-server");
|
||||
@@ -322,10 +385,10 @@ index 78abb89..9f2a891 100644
|
||||
if (g_settings_get_boolean (eds_settings, "limit-operations-in-power-saver-mode")) {
|
||||
GPowerProfileMonitor *power_monitor;
|
||||
diff --git a/src/camel/providers/smtp/camel-smtp-transport.c b/src/camel/providers/smtp/camel-smtp-transport.c
|
||||
index effaf06..1b2a003 100644
|
||||
index 6556f1e..90f0a5e 100644
|
||||
--- a/src/camel/providers/smtp/camel-smtp-transport.c
|
||||
+++ b/src/camel/providers/smtp/camel-smtp-transport.c
|
||||
@@ -1462,7 +1462,18 @@ smtp_helo (CamelSmtpTransport *transport,
|
||||
@@ -1471,7 +1471,18 @@ smtp_helo (CamelSmtpTransport *transport,
|
||||
transport->authtypes = NULL;
|
||||
}
|
||||
|
||||
@@ -442,7 +505,7 @@ index 3bb1071..199e822 100644
|
||||
g_object_unref (settings);
|
||||
|
||||
diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c
|
||||
index 7eca355..795d822 100644
|
||||
index 2364f3e..e8f59f2 100644
|
||||
--- a/src/libedataserver/e-oauth2-service.c
|
||||
+++ b/src/libedataserver/e-oauth2-service.c
|
||||
@@ -94,7 +94,18 @@ eos_default_guess_can_process (EOAuth2Service *service,
|
||||
|
||||
@@ -43,13 +43,13 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gdm";
|
||||
version = "44.1";
|
||||
version = "45.0.1";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gdm/${lib.versions.major finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "aCZrOr59KPxGnQBnqsnF2rsMp5UswffCOKBJUfPcWw0=";
|
||||
sha256 = "ZXJXjAXjxladbtJp994qrzoDVldlRYbYJDkHu3pv+oU=";
|
||||
};
|
||||
|
||||
mesonFlags = [
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-backgrounds";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-backgrounds/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "SoOTs4cTXypqQkoaDDrJTgdCtiuCNaCSPJKfUeBL4E4=";
|
||||
sha256 = "zuDmiPuuXvenXzNa2i0Qd54I68qURfFYbeMsWptt7i0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -27,14 +27,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-bluetooth";
|
||||
version = "42.6";
|
||||
version = "42.7";
|
||||
|
||||
# TODO: split out "lib"
|
||||
outputs = [ "out" "dev" "devdoc" "man" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "WGT+bx5xhxXbJrYiAbdaWQIM9CR/7DdkWzVZzS26WdA=";
|
||||
sha256 = "lN8XKdvsO7EF5Yjq9TEru6oFxJ6nMyAqENw/dTK9+Gk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -25,11 +25,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-calculator";
|
||||
version = "44.0";
|
||||
version = "45.0.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-calculator/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "FOdjMp+IMJp+FSeA1XNhtUMQDjI5BrNOBlX9wxW3EEM=";
|
||||
sha256 = "fcvzI4SJcXHL5Ug+xmTZlOXnVekSrh35EWJPA8kIZ8I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -27,11 +27,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-contacts";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-contacts/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "fdEWO8HwavY4La5AFcQ0Q+4sEpKBKPyZ/USSktDee+0=";
|
||||
sha256 = "vR/fKm9kzdnyq7/tB+ZPKmmuNTb3T0gZjMN7rZ/NlD4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
, gnome-desktop
|
||||
, gnome-online-accounts
|
||||
, gnome-settings-daemon
|
||||
, gnome-tecla
|
||||
, gnome
|
||||
, gsettings-desktop-schemas
|
||||
, gsound
|
||||
, gst_all_1
|
||||
, gtk4
|
||||
, ibus
|
||||
, libgnomekbd
|
||||
, libgtop
|
||||
, libgudev
|
||||
, libadwaita
|
||||
@@ -50,6 +50,7 @@
|
||||
, polkit
|
||||
, python3
|
||||
, samba
|
||||
, setxkbmap
|
||||
, shadow
|
||||
, shared-mime-info
|
||||
, sound-theme-freedesktop
|
||||
@@ -62,22 +63,23 @@
|
||||
, gnome-user-share
|
||||
, gnome-remote-desktop
|
||||
, wrapGAppsHook
|
||||
, xvfb-run
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-control-center";
|
||||
version = "44.3";
|
||||
version = "45.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-BmplBS/D7ProYAJehfeX5qsrh6WMT4q5xm7CBxioDHo=";
|
||||
sha256 = "sha256-0obHYnFQ4RKqy7S3uRcX+tjokHYGFHnfxhCy3XRLV3o=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./paths.patch;
|
||||
gcm = gnome-color-manager;
|
||||
inherit glibc libgnomekbd tzdata shadow;
|
||||
inherit glibc tzdata shadow;
|
||||
inherit cups networkmanagerapplet;
|
||||
})
|
||||
];
|
||||
@@ -110,6 +112,7 @@ stdenv.mkDerivation rec {
|
||||
gnome-online-accounts
|
||||
gnome-remote-desktop # optional, sharing panel
|
||||
gnome-settings-daemon
|
||||
gnome-tecla
|
||||
gnome-user-share # optional, sharing panel
|
||||
gsettings-desktop-schemas
|
||||
gsound
|
||||
@@ -141,11 +144,34 @@ stdenv.mkDerivation rec {
|
||||
gst-plugins-good
|
||||
]);
|
||||
|
||||
nativeCheckInputs = [
|
||||
python3.pkgs.python-dbusmock
|
||||
setxkbmap
|
||||
xvfb-run
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
preConfigure = ''
|
||||
# For ITS rules
|
||||
addToSearchPath "XDG_DATA_DIRS" "${polkit.out}/share"
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
testEnvironment=(
|
||||
# Basically same as https://github.com/NixOS/nixpkgs/pull/141299
|
||||
"ADW_DISABLE_PORTAL=1"
|
||||
"XDG_DATA_DIRS=${glib.getSchemaDataDirPath gsettings-desktop-schemas}"
|
||||
)
|
||||
|
||||
env "''${testEnvironment[@]}" xvfb-run \
|
||||
meson test --print-errorlogs
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Pull in WebP support for gnome-backgrounds.
|
||||
# In postInstall to run before gappsWrapperArgsHook.
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
diff --git a/panels/color/cc-color-panel.c b/panels/color/cc-color-panel.c
|
||||
index 603178efc..c363a6a5c 100644
|
||||
index f6c84e3d2..cd897f8f5 100644
|
||||
--- a/panels/color/cc-color-panel.c
|
||||
+++ b/panels/color/cc-color-panel.c
|
||||
@@ -591,7 +591,7 @@ gcm_prefs_calibrate_cb (CcColorPanel *prefs)
|
||||
@@ -614,7 +614,7 @@ gcm_prefs_calibrate_cb (CcColorPanel *self)
|
||||
|
||||
/* run with modal set */
|
||||
argv = g_ptr_array_new_with_free_func (g_free);
|
||||
- g_ptr_array_add (argv, g_strdup ("gcm-calibrate"));
|
||||
+ g_ptr_array_add (argv, g_build_filename ("@gcm@", "bin", "gcm-calibrate", NULL));
|
||||
g_ptr_array_add (argv, g_strdup ("--device"));
|
||||
g_ptr_array_add (argv, g_strdup (cd_device_get_id (prefs->current_device)));
|
||||
g_ptr_array_add (argv, g_strdup (cd_device_get_id (self->current_device)));
|
||||
g_ptr_array_add (argv, g_strdup ("--parent-window"));
|
||||
@@ -1029,7 +1029,7 @@ gcm_prefs_profile_view (CcColorPanel *prefs, CdProfile *profile)
|
||||
@@ -989,7 +989,7 @@ gcm_prefs_profile_view (CcColorPanel *self, CdProfile *profile)
|
||||
|
||||
/* open up gcm-viewer as a info pane */
|
||||
argv = g_ptr_array_new_with_free_func (g_free);
|
||||
@@ -20,9 +20,9 @@ index 603178efc..c363a6a5c 100644
|
||||
g_ptr_array_add (argv, g_strdup ("--profile"));
|
||||
g_ptr_array_add (argv, g_strdup (cd_profile_get_id (profile)));
|
||||
g_ptr_array_add (argv, g_strdup ("--parent-window"));
|
||||
@@ -1275,15 +1275,12 @@ gcm_prefs_device_clicked (CcColorPanel *prefs, CdDevice *device)
|
||||
@@ -1221,15 +1221,12 @@ gcm_prefs_device_clicked (CcColorPanel *self, CdDevice *device)
|
||||
static void
|
||||
gcm_prefs_profile_clicked (CcColorPanel *prefs, CdProfile *profile, CdDevice *device)
|
||||
gcm_prefs_profile_clicked (CcColorPanel *self, CdProfile *profile, CdDevice *device)
|
||||
{
|
||||
- g_autofree gchar *s = NULL;
|
||||
-
|
||||
@@ -34,9 +34,9 @@ index 603178efc..c363a6a5c 100644
|
||||
- if (cd_profile_get_filename (profile) != NULL &&
|
||||
- (s = g_find_program_in_path ("gcm-viewer")) != NULL)
|
||||
+ if (cd_profile_get_filename (profile) != NULL)
|
||||
gtk_widget_set_sensitive (prefs->toolbutton_profile_view, TRUE);
|
||||
gtk_widget_set_sensitive (self->toolbutton_profile_view, TRUE);
|
||||
else
|
||||
gtk_widget_set_sensitive (prefs->toolbutton_profile_view, FALSE);
|
||||
gtk_widget_set_sensitive (self->toolbutton_profile_view, FALSE);
|
||||
diff --git a/panels/datetime/tz.h b/panels/datetime/tz.h
|
||||
index a2376f8a4..98769e08f 100644
|
||||
--- a/panels/datetime/tz.h
|
||||
@@ -54,23 +54,6 @@ index a2376f8a4..98769e08f 100644
|
||||
|
||||
typedef struct _TzDB TzDB;
|
||||
typedef struct _TzLocation TzLocation;
|
||||
diff --git a/panels/keyboard/cc-input-list-box.c b/panels/keyboard/cc-input-list-box.c
|
||||
index 6c2cb5614..8f57159cc 100644
|
||||
--- a/panels/keyboard/cc-input-list-box.c
|
||||
+++ b/panels/keyboard/cc-input-list-box.c
|
||||
@@ -223,10 +223,10 @@ row_layout_cb (CcInputListBox *self,
|
||||
layout_variant = cc_input_source_get_layout_variant (source);
|
||||
|
||||
if (layout_variant && layout_variant[0])
|
||||
- commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"",
|
||||
+ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"",
|
||||
layout, layout_variant);
|
||||
else
|
||||
- commandline = g_strdup_printf ("gkbd-keyboard-display -l %s",
|
||||
+ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s",
|
||||
layout);
|
||||
|
||||
g_spawn_command_line_async (commandline, NULL);
|
||||
diff --git a/panels/network/connection-editor/net-connection-editor.c b/panels/network/connection-editor/net-connection-editor.c
|
||||
index 505b8ee25..62e94009f 100644
|
||||
--- a/panels/network/connection-editor/net-connection-editor.c
|
||||
|
||||
@@ -27,11 +27,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-disk-utility";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-disk-utility/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-AgMQl4ls2zfYcXpYI/k+NyPU385/3EACyd/LFrfno+8=";
|
||||
sha256 = "sha256-PYYl+qmQR7xK79KZIa1yirTXAM/4bg8uxn6Nuod9DdM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-font-viewer";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-font-viewer/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "oVEd8wsijMLvEXXdnSuTQ46pEuJZE0BLJjzz1Fe7n5c=";
|
||||
sha256 = "l8traN2mDeCrMDg4NYbx5LwdpaSPRAJb1rvnTqBcKwg=";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
@@ -17,11 +17,11 @@ index 196abf6..613d0e5 100644
|
||||
return TRUE;
|
||||
|
||||
if (variant[0])
|
||||
- commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", layout, variant);
|
||||
+ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", layout, variant);
|
||||
- commandline = g_strdup_printf ("tecla \"%s+%s\"", layout, variant);
|
||||
+ commandline = g_strdup_printf ("@tecla@/bin/tecla \"%s+%s\"", layout, variant);
|
||||
else
|
||||
- commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", layout);
|
||||
+ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", layout);
|
||||
- commandline = g_strdup_printf ("tecla %s", layout);
|
||||
+ commandline = g_strdup_printf ("@tecla@/bin/tecla %s", layout);
|
||||
g_spawn_command_line_async (commandline, NULL);
|
||||
g_free (commandline);
|
||||
|
||||
@@ -38,15 +38,6 @@ diff --git a/gnome-initial-setup/pages/timezone/tz.h b/gnome-initial-setup/pages
|
||||
index a2376f8..5cb7bc9 100644
|
||||
--- a/gnome-initial-setup/pages/timezone/tz.h
|
||||
+++ b/gnome-initial-setup/pages/timezone/tz.h
|
||||
@@ -4,7 +4,7 @@
|
||||
* Copyright (C) 2000-2001 Ximian, Inc.
|
||||
*
|
||||
* Authors: Hans Petter Jansson <hpj@ximian.com>
|
||||
- *
|
||||
+ *
|
||||
* Largely based on Michael Fulbright's work on Anaconda.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -28,7 +28,7 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
, lib
|
||||
, fetchurl
|
||||
, substituteAll
|
||||
, dconf
|
||||
, gettext
|
||||
, meson
|
||||
, ninja
|
||||
@@ -32,27 +33,29 @@
|
||||
, libadwaita
|
||||
, libnma-gtk4
|
||||
, tzdata
|
||||
, libgnomekbd
|
||||
, gnome-tecla
|
||||
, gsettings-desktop-schemas
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-initial-setup";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "WTz8bcj4KphnG5TANbl9vojvVucIeAsq0dIyTk0Eu/8=";
|
||||
sha256 = "sa/nZHmPiUi+25XHqzG9eFKaxctIHEH3p3d/Jk3lS9g=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./0001-fix-paths.patch;
|
||||
inherit tzdata libgnomekbd;
|
||||
inherit tzdata;
|
||||
tecla = gnome-tecla;
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
dconf
|
||||
gettext
|
||||
meson
|
||||
ninja
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
, asciidoc
|
||||
, wrapGAppsHook
|
||||
, glib
|
||||
, libei
|
||||
, libepoxy
|
||||
, libdrm
|
||||
, nv-codec-headers-11
|
||||
@@ -21,20 +22,16 @@
|
||||
, fdk_aac
|
||||
, tpm2-tss
|
||||
, fuse3
|
||||
, mesa
|
||||
, libgudev
|
||||
, xvfb-run
|
||||
, dbus
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-remote-desktop";
|
||||
version = "44.2";
|
||||
version = "45.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-ep/9NBtfy2NtJmden2JpZQlSFj//UpUydhjMLVzIe44=";
|
||||
hash = "sha256-3NnBisIwZpVjH88AqIZFw443DroFxp3zn1QCBNTq/Y0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -54,6 +51,7 @@ stdenv.mkDerivation rec {
|
||||
fuse3
|
||||
gdk-pixbuf # For libnotify
|
||||
glib
|
||||
libei
|
||||
libepoxy
|
||||
libdrm
|
||||
nv-codec-headers-11
|
||||
@@ -62,33 +60,13 @@ stdenv.mkDerivation rec {
|
||||
libxkbcommon
|
||||
pipewire
|
||||
systemd
|
||||
] ++ nativeCheckInputs;
|
||||
|
||||
nativeCheckInputs = [
|
||||
mesa # for gbm
|
||||
libgudev
|
||||
xvfb-run
|
||||
python3.pkgs.dbus-python
|
||||
python3.pkgs.pygobject3
|
||||
dbus # for dbus-run-session
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user"
|
||||
"-Dtests=false" # Too deep of a rabbit hole.
|
||||
];
|
||||
|
||||
# Too deep of a rabbit hole.
|
||||
doCheck = false;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs \
|
||||
tests/vnc-test-runner.sh \
|
||||
tests/run-vnc-tests.py
|
||||
|
||||
substituteInPlace tests/vnc-test-runner.sh \
|
||||
--replace "dbus-run-session" "dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ fetchurl
|
||||
, fetchpatch
|
||||
, lib
|
||||
, stdenv
|
||||
, substituteAll
|
||||
@@ -32,13 +31,13 @@
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-session";
|
||||
# Also bump ./ctl.nix when bumping major version.
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
outputs = [ "out" "sessions" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-session/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "zPgpqWUmE16en5F1JlFdNqUJK9+jFvNzfdjFpSTb8sY=";
|
||||
sha256 = "cG0v/KysOFU6PAGFeT9aK0qslAu154nZU8mAgWO+8vE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -48,12 +47,6 @@ stdenv.mkDerivation rec {
|
||||
dbusLaunch = "${dbus.lib}/bin/dbus-launch";
|
||||
bash = "${bash}/bin/bash";
|
||||
})
|
||||
# See #226355. Can be removed on update to v45.
|
||||
(fetchpatch {
|
||||
name = "fix-gnome-boxes-crash.patch";
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-session/commit/fab1a3b91677035d541de2c141f8073c4057342c.patch";
|
||||
hash = "sha256-2xeoNgV8UDexkufXDqimAplX0GC99tUWUqjw3kfN+5Q=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
From aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0 Mon Sep 17 00:00:00 2001
|
||||
From: WORLDofPEACE <worldofpeace@protonmail.ch>
|
||||
Date: Sun, 20 Sep 2020 16:09:36 -0400
|
||||
Subject: [PATCH] build: add a gnome_session_ctl_path option
|
||||
|
||||
In gsd.service.in the ExecStopPost expects g-s-d libexecdir to
|
||||
be from the same prefix as gnome-session's, and this is not necessarily
|
||||
true as there are linux distro's that install their packages into their
|
||||
own individual prefixes (like NixOS or Guix).
|
||||
---
|
||||
meson_options.txt | 1 +
|
||||
plugins/gsd.service.in | 2 +-
|
||||
plugins/meson.build | 6 ++++++
|
||||
3 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 3e04cf64f..21e003c61 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -1,4 +1,5 @@
|
||||
option('udev_dir', type: 'string', value: '', description: 'Absolute path of the udev base directory')
|
||||
+option('gnome_session_ctl_path', type: 'string', value: '', description: 'Absolute path to the gnome-session-ctl binary')
|
||||
option('systemd', type: 'boolean', value: true, description: 'Enable systemd integration')
|
||||
|
||||
option('alsa', type: 'boolean', value: true, description: 'build with ALSA support (not optional on Linux platforms)')
|
||||
diff --git a/plugins/gsd.service.in b/plugins/gsd.service.in
|
||||
index 79b5f5536..bfbde6d05 100644
|
||||
--- a/plugins/gsd.service.in
|
||||
+++ b/plugins/gsd.service.in
|
||||
@@ -23,4 +23,4 @@ BusName=@plugin_dbus_name@
|
||||
TimeoutStopSec=5
|
||||
# We cannot use OnFailure as e.g. dependency failures are normal
|
||||
# https://github.com/systemd/systemd/issues/12352
|
||||
-ExecStopPost=@libexecdir@/gnome-session-ctl --exec-stop-check
|
||||
+ExecStopPost=@gnome_session_ctl@ --exec-stop-check
|
||||
diff --git a/plugins/meson.build b/plugins/meson.build
|
||||
index 83e018854..266a0f093 100644
|
||||
--- a/plugins/meson.build
|
||||
+++ b/plugins/meson.build
|
||||
@@ -20,6 +20,11 @@ all_plugins = [
|
||||
|
||||
disabled_plugins = []
|
||||
|
||||
+gnome_session_ctl = get_option('gnome_session_ctl_path')
|
||||
+if gnome_session_ctl == ''
|
||||
+ gnome_session_ctl = join_paths(gsd_libexecdir, 'gnome-session-ctl')
|
||||
+endif
|
||||
+
|
||||
if not enable_smartcard
|
||||
disabled_plugins += ['smartcard']
|
||||
endif
|
||||
@@ -125,6 +130,7 @@ foreach plugin: all_plugins
|
||||
unit_conf.set('plugin_name', plugin_name)
|
||||
unit_conf.set('description', plugin_description)
|
||||
unit_conf.set('libexecdir', gsd_libexecdir)
|
||||
+ unit_conf.set('gnome_session_ctl', gnome_session_ctl)
|
||||
unit_conf.set('plugin_dbus_name', plugin_dbus_name)
|
||||
unit_conf.set('plugin_restart', plugin_restart_rule.get(plugin_name, 'on-failure'))
|
||||
@@ -1,5 +1,5 @@
|
||||
{ lib, stdenv
|
||||
, fetchpatch
|
||||
{ stdenv
|
||||
, lib
|
||||
, substituteAll
|
||||
, fetchurl
|
||||
, meson
|
||||
@@ -34,26 +34,22 @@
|
||||
, wrapGAppsHook
|
||||
, python3
|
||||
, tzdata
|
||||
, nss
|
||||
, gcr_4
|
||||
, gnome-session-ctl
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-settings-daemon";
|
||||
version = "44.1";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "EmU7ctgfFRMApH1wCslBCsG8zjjoPxvdGc3tKTKUOYk=";
|
||||
sha256 = "u03EaVDiqQ848jIlhIhW0qextxjInQKFzhl7cBa7Hcg=";
|
||||
};
|
||||
|
||||
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=";
|
||||
})
|
||||
./add-gnome-session-ctl-option.patch
|
||||
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
@@ -89,7 +85,6 @@ stdenv.mkDerivation rec {
|
||||
upower
|
||||
colord
|
||||
libgweather
|
||||
nss
|
||||
polkit
|
||||
geocode-glib_2
|
||||
geoclue2
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-shell-extensions";
|
||||
version = "44.0";
|
||||
version = "45.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "jDRecvMaHjf1UGPgsVmXMBsBGU7WmHcv2HrrUMuxAas=";
|
||||
sha256 = "JC4VoMBuggw/2N1q6sGo74Zc5YiC5Zda8dZZNLtNQmE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -1,11 +1,22 @@
|
||||
diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js
|
||||
index 6eb58f1..28e1195 100644
|
||||
--- a/extensions/apps-menu/extension.js
|
||||
+++ b/extensions/apps-menu/extension.js
|
||||
@@ -1,6 +1,8 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
/* exported init enable disable */
|
||||
@@ -10,7 +10,7 @@ import Atk from 'gi://Atk';
|
||||
import Clutter from 'gi://Clutter';
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
-import GMenu from 'gi://GMenu';
|
||||
+import GIRepository from 'gi://GIRepository';
|
||||
import GObject from 'gi://GObject';
|
||||
import Gtk from 'gi://Gtk';
|
||||
import Meta from 'gi://Meta';
|
||||
@@ -25,6 +25,8 @@ import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
|
||||
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
|
||||
|
||||
+imports.gi.GIRepository.Repository.prepend_search_path('@gmenu_path@');
|
||||
+
|
||||
const {
|
||||
Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St
|
||||
} = imports.gi;
|
||||
+GIRepository.Repository.prepend_search_path('@gmenu_path@');
|
||||
+const {default: GMenu} = await import('gi://GMenu');
|
||||
const appSys = Shell.AppSystem.get_default();
|
||||
|
||||
const APPLICATION_ICON_SIZE = 32;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
, libpulseaudio
|
||||
, libical
|
||||
, gobject-introspection
|
||||
, wrapGAppsHook
|
||||
, wrapGAppsHook4
|
||||
, libxslt
|
||||
, gcr_4
|
||||
, accountsservice
|
||||
@@ -37,7 +37,6 @@
|
||||
, upower
|
||||
, ibus
|
||||
, libnma-gtk4
|
||||
, libgnomekbd
|
||||
, gnome-desktop
|
||||
, gsettings-desktop-schemas
|
||||
, gnome-keyring
|
||||
@@ -57,6 +56,7 @@
|
||||
, gnome-clocks
|
||||
, gnome-settings-daemon
|
||||
, gnome-autoar
|
||||
, gnome-tecla
|
||||
, asciidoc
|
||||
, bash-completion
|
||||
, mesa
|
||||
@@ -67,22 +67,22 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-shell";
|
||||
version = "44.5";
|
||||
version = "45.1";
|
||||
|
||||
outputs = [ "out" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "wWr84Dgd1ZNCfXCER6nR+sdInrApRe+zfpBMp0qSSjU=";
|
||||
sha256 = "FfykvWEpqLP5kBl/vR7ljXS2QVEK+q8Igqf6NmNPxfI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Hardcode paths to various dependencies so that they can be found at runtime.
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
gkbd_keyboard_display = "${lib.getBin libgnomekbd}/bin/gkbd-keyboard-display";
|
||||
glib_compile_schemas = "${glib.dev}/bin/glib-compile-schemas";
|
||||
gsettings = "${glib.bin}/bin/gsettings";
|
||||
tecla = "${lib.getBin gnome-tecla}/bin/tecla";
|
||||
unzip = "${lib.getBin unzip}/bin/unzip";
|
||||
})
|
||||
|
||||
@@ -95,11 +95,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# Fix greeter logo being too big.
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/issues/2591
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/ffb8bd5fa7704ce70ce7d053e03549dd15dce5ae.patch";
|
||||
revert = true;
|
||||
sha256 = "14h7ahlxgly0n3sskzq9dhxzbyb04fn80pv74vz1526396676dzl";
|
||||
})
|
||||
# Reverts https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1101
|
||||
./greeter-logo-size.patch
|
||||
|
||||
# Work around failing fingerprint auth
|
||||
(fetchpatch {
|
||||
@@ -117,7 +114,7 @@ stdenv.mkDerivation rec {
|
||||
docbook_xml_dtd_45
|
||||
gtk-doc
|
||||
perl
|
||||
wrapGAppsHook
|
||||
wrapGAppsHook4
|
||||
sassc
|
||||
desktop-file-utils
|
||||
libxslt.bin
|
||||
@@ -187,7 +184,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# We can generate it ourselves.
|
||||
rm -f man/gnome-shell.1
|
||||
rm data/theme/gnome-shell.css
|
||||
rm data/theme/gnome-shell-{light,dark}.css
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
|
||||
@@ -39,8 +39,8 @@ index fff4e73c2..92859b099 100644
|
||||
if (xkbVariant.length > 0)
|
||||
description = `${description}\t${xkbVariant}`;
|
||||
|
||||
- Util.spawn(['gkbd-keyboard-display', '-l', description]);
|
||||
+ Util.spawn(['@gkbd_keyboard_display@', '-l', description]);
|
||||
- Util.spawn(['tecla', description]);
|
||||
+ Util.spawn(['@tecla@', description]);
|
||||
}
|
||||
});
|
||||
diff --git a/subprojects/extensions-tool/src/command-install.c b/subprojects/extensions-tool/src/command-install.c
|
||||
|
||||
21
pkgs/desktops/gnome/core/gnome-shell/greeter-logo-size.patch
Normal file
21
pkgs/desktops/gnome/core/gnome-shell/greeter-logo-size.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
|
||||
index a3e4372b4..36f6c1f47 100644
|
||||
--- a/js/gdm/loginDialog.js
|
||||
+++ b/js/gdm/loginDialog.js
|
||||
@@ -43,6 +43,7 @@ import * as UserWidget from '../ui/userWidget.js';
|
||||
const _FADE_ANIMATION_TIME = 250;
|
||||
const _SCROLL_ANIMATION_TIME = 500;
|
||||
const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
|
||||
+const _LOGO_ICON_HEIGHT = 48;
|
||||
|
||||
export const UserListItem = GObject.registerClass({
|
||||
Signals: {'activate': {}},
|
||||
@@ -839,7 +840,7 @@ export const LoginDialog = GObject.registerClass({
|
||||
const scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||
const texture = this._textureCache.load_file_async(
|
||||
this._logoFile,
|
||||
- -1, -1,
|
||||
+ -1, _LOGO_ICON_HEIGHT,
|
||||
scaleFactor, resourceScale);
|
||||
this._logoBin.add_child(texture);
|
||||
}
|
||||
@@ -1,19 +1,19 @@
|
||||
diff --git a/js/dbusServices/dbus-service.in b/js/dbusServices/dbus-service.in
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
index 524166102..6d0722a1c
|
||||
index 5c698f58a..1ed61a7e3
|
||||
--- a/js/dbusServices/dbus-service.in
|
||||
+++ b/js/dbusServices/dbus-service.in
|
||||
@@ -1,3 +1,9 @@
|
||||
+#!@gjs@
|
||||
+#!@gjs@ -m
|
||||
+
|
||||
+// gjs determines the package name from argv[0], which is .*-wrapped
|
||||
+// so we need to override it to the original one.
|
||||
+imports.package._findEffectiveEntryPointName = () => '@service@'
|
||||
+
|
||||
imports.package.start({
|
||||
name: '@PACKAGE_NAME@',
|
||||
prefix: '@prefix@',
|
||||
import {programInvocationName, programArgs} from 'system';
|
||||
|
||||
imports.package.init({
|
||||
diff --git a/js/dbusServices/dbus-service.service.in b/js/dbusServices/dbus-service.service.in
|
||||
index 3b0d09abe..4fd4bb66d 100644
|
||||
--- a/js/dbusServices/dbus-service.service.in
|
||||
@@ -21,7 +21,7 @@ index 3b0d09abe..4fd4bb66d 100644
|
||||
@@ -1,3 +1,3 @@
|
||||
[D-BUS Service]
|
||||
Name=@service@
|
||||
-Exec=@gjs@ @pkgdatadir@/@service@
|
||||
-Exec=@gjs@ -m @pkgdatadir@/@service@
|
||||
+Exec=@pkgdatadir@/@service@
|
||||
diff --git a/js/dbusServices/meson.build b/js/dbusServices/meson.build
|
||||
index eb941ed90..552051e5a 100644
|
||||
|
||||
@@ -45,11 +45,11 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-software";
|
||||
version = "44.4";
|
||||
version = "45.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "i1N2fvbMVKLbWI7xxZJoOLDWe42bIRc95ROc0PvSgJU=";
|
||||
sha256 = "1ySF96bgkX9k7b7daP17VyRsbr8QxaRRCLY5RmNXeKI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -23,11 +23,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-system-monitor";
|
||||
version = "44.0";
|
||||
version = "45.0.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-system-monitor/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "wrq37dupKCfEyN5EKT5+PITJ5QdvMZhYh/+Jac7EXm4=";
|
||||
sha256 = "xeJy2Qv5mGo/hhPXbg0n+kLfrO5cAZLnOSG7lLGGii4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
, glib
|
||||
, gtk4
|
||||
, gtk3
|
||||
, libhandy
|
||||
, gsettings-desktop-schemas
|
||||
, vte
|
||||
, gettext
|
||||
@@ -29,14 +30,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-terminal";
|
||||
version = "3.48.2";
|
||||
version = "3.50.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "GNOME";
|
||||
repo = "gnome-terminal";
|
||||
rev = version;
|
||||
sha256 = "sha256-WvFKFh5BK6AS+Lqyh27xIfH1rxs1+YTkywX4w9UashQ=";
|
||||
sha256 = "sha256-lJAzmz8tvEbr371VtYjlV4+z3cSy4QrmP0vmD5WiJD4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -61,6 +62,7 @@ stdenv.mkDerivation rec {
|
||||
glib
|
||||
gtk4
|
||||
gtk3
|
||||
libhandy
|
||||
gsettings-desktop-schemas
|
||||
vte
|
||||
libuuid
|
||||
|
||||
@@ -22,11 +22,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-tour";
|
||||
version = "44.0";
|
||||
version = "45.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-Bt52d90cWQ0OozoDLJzPTDfGK8ViFbgjyHnkLuYwwrY=";
|
||||
hash = "sha256-W+S470uPTV7KzMMQSNtuCFqPe/+tqghDuOiniP8dre4=";
|
||||
};
|
||||
|
||||
cargoVendorDir = "vendor";
|
||||
|
||||
@@ -45,7 +45,7 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "gucharmap";
|
||||
version = "15.0.4";
|
||||
version = "15.1.2";
|
||||
|
||||
outputs = [ "out" "lib" "dev" "devdoc" ];
|
||||
|
||||
@@ -54,7 +54,7 @@ in stdenv.mkDerivation rec {
|
||||
owner = "GNOME";
|
||||
repo = "gucharmap";
|
||||
rev = version;
|
||||
sha256 = "sha256-lfWIaAr5FGWvDkNLOPe19hVQiFarbYVXwM78jZc5FFk=";
|
||||
sha256 = "sha256-tvFw2k5xCl+QE6cHvLj5KKdYFSghN7PVgHPmd27wh7k=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user