Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk 2019-11-20 10:02:21 +01:00
commit 10d0c68a9b
244 changed files with 2546 additions and 2651 deletions

View File

@ -155,6 +155,14 @@
You should now use the different build tools coming with the languages with sandbox mode disabled. You should now use the different build tools coming with the languages with sandbox mode disabled.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
There is now only one Xfce package-set and module. This means attributes, <literal>xfce4-14</literal>
<literal>xfce4-12</literal>, and <literal>xfceUnstable</literal> all now point to the latest Xfce 4.14
packages. And in future NixOS releases will be the latest released version of Xfce available at the
time during the releases development (if viable).
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View File

@ -11,6 +11,9 @@
{ lib, ... }: { lib, ... }:
let
inherit (lib) types;
in
{ {
options = { options = {
@ -19,6 +22,7 @@
description = '' description = ''
The user IDs used in NixOS. The user IDs used in NixOS.
''; '';
type = types.attrsOf types.int;
}; };
ids.gids = lib.mkOption { ids.gids = lib.mkOption {
@ -26,6 +30,7 @@
description = '' description = ''
The group IDs used in NixOS. The group IDs used in NixOS.
''; '';
type = types.attrsOf types.int;
}; };
}; };

View File

@ -7,12 +7,17 @@ with lib;
let let
cfg = config.services.tumbler; cfg = config.services.tumbler;
tumbler = cfg.package;
in in
{ {
imports = [
(mkRemovedOptionModule
[ "services" "tumbler" "package" ]
"")
];
###### interface ###### interface
options = { options = {
@ -21,13 +26,6 @@ in
enable = mkEnableOption "Tumbler, A D-Bus thumbnailer service"; enable = mkEnableOption "Tumbler, A D-Bus thumbnailer service";
package = mkOption {
type = types.package;
default = pkgs.xfce4-14.tumbler;
description = "Which tumbler package to use";
example = pkgs.xfce4-12.tumbler;
};
}; };
}; };
@ -37,11 +35,11 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ environment.systemPackages = with pkgs.xfce; [
tumbler tumbler
]; ];
services.dbus.packages = [ services.dbus.packages = with pkgs.xfce; [
tumbler tumbler
]; ];

View File

@ -74,7 +74,7 @@ in {
default = false; default = false;
description = '' description = ''
Whether to enable test remote. This is used by Whether to enable test remote. This is used by
<link xlink:href="https://github.com/hughsie/fwupd/blob/master/data/installed-tests/README.md">installed tests</link>. <link xlink:href="https://github.com/fwupd/fwupd/blob/master/data/installed-tests/README.md">installed tests</link>.
''; '';
}; };
@ -115,10 +115,6 @@ in {
services.udev.packages = [ cfg.package ]; services.udev.packages = [ cfg.package ];
systemd.packages = [ cfg.package ]; systemd.packages = [ cfg.package ];
systemd.tmpfiles.rules = [
"d /var/lib/fwupd 0755 root root -"
];
}; };
meta = { meta = {

View File

@ -37,7 +37,7 @@ in
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the TLP daemon."; description = "Whether to enable the TLP power management daemon.";
}; };
extraConfig = mkOption { extraConfig = mkOption {

View File

@ -25,6 +25,13 @@ in
description = "The port address of the http server."; description = "The port address of the http server.";
}; };
http.path = mkOption {
type = with types; nullOr str;
default = null;
description = "Prefix to all HTTP paths.";
example = "/mailcatcher";
};
smtp.ip = mkOption { smtp.ip = mkOption {
type = types.str; type = types.str;
default = "127.0.0.1"; default = "127.0.0.1";
@ -53,7 +60,7 @@ in
serviceConfig = { serviceConfig = {
DynamicUser = true; DynamicUser = true;
Restart = "always"; Restart = "always";
ExecStart = "${pkgs.mailcatcher}/bin/mailcatcher --foreground --no-quit --http-ip ${cfg.http.ip} --http-port ${toString cfg.http.port} --smtp-ip ${cfg.smtp.ip} --smtp-port ${toString cfg.smtp.port}"; ExecStart = "${pkgs.mailcatcher}/bin/mailcatcher --foreground --no-quit --http-ip ${cfg.http.ip} --http-port ${toString cfg.http.port} --smtp-ip ${cfg.smtp.ip} --smtp-port ${toString cfg.smtp.port}" + optionalString (cfg.http.path != null) " --http-path ${cfg.http.path}";
AmbientCapabilities = optionalString (cfg.http.port < 1024 || cfg.smtp.port < 1024) "cap_net_bind_service"; AmbientCapabilities = optionalString (cfg.http.port < 1024 || cfg.smtp.port < 1024) "cap_net_bind_service";
}; };
}; };

View File

@ -160,7 +160,7 @@ in
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create role ${cfg.database.username} with login password '${cfg.database.password}'"; ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create role ${cfg.database.username} with login password '${cfg.database.password}'";
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create database ${cfg.database.dbname} with owner ${cfg.database.username}"; ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create database ${cfg.database.dbname} with owner ${cfg.database.username}";
fi fi
PGPASSWORD=${cfg.database.password} ${pkgs.postgresql}/bin/psql -U ${cfg.database.username} \ PGPASSWORD="${cfg.database.password}" ${pkgs.postgresql}/bin/psql -U ${cfg.database.username} \
-f ${cfg.package}/SQL/postgres.initial.sql \ -f ${cfg.package}/SQL/postgres.initial.sql \
-h ${cfg.database.host} ${cfg.database.dbname} -h ${cfg.database.host} ${cfg.database.dbname}
touch /var/lib/roundcube/db-created touch /var/lib/roundcube/db-created

View File

@ -60,7 +60,7 @@ let
}; };
type = mkOption { type = mkOption {
type = types.nullOr (types.enum [ type = types.nullOr (types.enum [
"normal" "controller" "fuzzy_storage" "rspamd_proxy" "lua" "proxy" "normal" "controller" "fuzzy" "rspamd_proxy" "lua" "proxy"
]); ]);
description = '' description = ''
The type of this worker. The type <literal>proxy</literal> is The type of this worker. The type <literal>proxy</literal> is

View File

@ -78,7 +78,11 @@ in
cacheNetworks = mkOption { cacheNetworks = mkOption {
default = ["127.0.0.0/24"]; default = ["127.0.0.0/24"];
description = " description = "
What networks are allowed to use us as a resolver. What networks are allowed to use us as a resolver. Note
that this is for recursive queries -- all networks are
allowed to query zones configured with the `zones` option.
It is recommended that you limit cacheNetworks to avoid your
server being used for DNS amplification attacks.
"; ";
}; };

View File

@ -177,9 +177,6 @@ in {
NoNewPrivileges = "true"; NoNewPrivileges = "true";
PrivateDevices = "true"; PrivateDevices = "true";
MemoryDenyWriteExecute = "true"; MemoryDenyWriteExecute = "true";
# Permission for preStart
PermissionsStartOnly = "true";
}; };
}; };
users.users.${cfg.user} = { users.users.${cfg.user} = {

View File

@ -23,6 +23,8 @@ in
type = types.int; type = types.int;
description = '' description = ''
The port the server should listen on. Will use the server's default (2022) if not specified. The port the server should listen on. Will use the server's default (2022) if not specified.
Make sure to open this port in the firewall if necessary.
''; '';
}; };
@ -86,4 +88,8 @@ in
}; };
}; };
}; };
meta = {
maintainers = with lib.maintainers; [ pingiun ];
};
} }

View File

@ -18,6 +18,7 @@ let
fsWatcherEnabled = folder.watch; fsWatcherEnabled = folder.watch;
fsWatcherDelayS = folder.watchDelay; fsWatcherDelayS = folder.watchDelay;
ignorePerms = folder.ignorePerms; ignorePerms = folder.ignorePerms;
versioning = folder.versioning;
}) (filterAttrs ( }) (filterAttrs (
_: folder: _: folder:
folder.enable folder.enable
@ -220,6 +221,69 @@ in {
''; '';
}; };
versioning = mkOption {
default = null;
description = ''
How to keep changed/deleted files with syncthing.
There are 4 different types of versioning with different parameters.
See https://docs.syncthing.net/users/versioning.html
'';
example = [
{
versioning = {
type = "simple";
params.keep = "10";
};
}
{
versioning = {
type = "trashcan";
params.cleanoutDays = "1000";
};
}
{
versioning = {
type = "staggered";
params = {
cleanInterval = "3600";
maxAge = "31536000";
versionsPath = "/syncthing/backup";
};
};
}
{
versioning = {
type = "external";
params.versionsPath = pkgs.writers.writeBash "backup" ''
folderpath="$1"
filepath="$2"
rm -rf "$folderpath/$filepath"
'';
};
}
];
type = with types; nullOr (submodule {
options = {
type = mkOption {
type = enum [ "external" "simple" "staggered" "trashcan" ];
description = ''
Type of versioning.
See https://docs.syncthing.net/users/versioning.html
'';
};
params = mkOption {
type = attrsOf (either str path);
description = ''
Parameters for versioning. Structure depends on versioning.type.
See https://docs.syncthing.net/users/versioning.html
'';
};
};
});
};
rescanInterval = mkOption { rescanInterval = mkOption {
type = types.int; type = types.int;
default = 3600; default = 3600;

View File

@ -1,4 +1,4 @@
# This file defines the options that can be used both for the Apache # This file defines the options that can be used both for the Nginx
# main server configuration, and for the virtual hosts. (The latter # main server configuration, and for the virtual hosts. (The latter
# has additional options that affect the web server as a whole, like # has additional options that affect the web server as a whole, like
# the user/group to run under.) # the user/group to run under.)
@ -92,4 +92,3 @@ with lib;
}; };
}; };
} }

View File

@ -1,4 +1,4 @@
# This file defines the options that can be used both for the Apache # This file defines the options that can be used both for the Nginx
# main server configuration, and for the virtual hosts. (The latter # main server configuration, and for the virtual hosts. (The latter
# has additional options that affect the web server as a whole, like # has additional options that affect the web server as a whole, like
# the user/group to run under.) # the user/group to run under.)

View File

@ -18,7 +18,7 @@ in
# determines the default: later modules (if enabled) are preferred. # determines the default: later modules (if enabled) are preferred.
# E.g., if Plasma 5 is enabled, it supersedes xterm. # E.g., if Plasma 5 is enabled, it supersedes xterm.
imports = [ imports = [
./none.nix ./xterm.nix ./xfce.nix ./xfce4-14.nix ./plasma5.nix ./lumina.nix ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix
./mate.nix ./pantheon.nix ./surf-display.nix ./mate.nix ./pantheon.nix ./surf-display.nix
]; ];

View File

@ -7,6 +7,32 @@ let
in in
{ {
imports = [
# added 2019-08-18
# needed to preserve some semblance of UI familarity
# with original XFCE module
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "xfce4-14" "extraSessionCommands" ]
[ "services" "xserver" "displayManager" "sessionCommands" ])
# added 2019-11-04
# xfce4-14 module removed and promoted to xfce.
# Needed for configs that used xfce4-14 module to migrate to this one.
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "xfce4-14" "enable" ]
[ "services" "xserver" "desktopManager" "xfce" "enable" ])
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "xfce4-14" "noDesktop" ]
[ "services" "xserver" "desktopManager" "xfce" "noDesktop" ])
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "xfce4-14" "enableXfwm" ]
[ "services" "xserver" "desktopManager" "xfce" "enableXfwm" ])
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "xfce" "extraSessionCommands" ]
[ "services" "xserver" "displayManager" "sessionCommands" ])
];
options = { options = {
services.xserver.desktopManager.xfce = { services.xserver.desktopManager.xfce = {
enable = mkOption { enable = mkOption {
@ -30,14 +56,6 @@ in
description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon)."; description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon).";
}; };
extraSessionCommands = mkOption {
default = "";
type = types.lines;
description = ''
Shell commands executed just before XFCE is started.
'';
};
enableXfwm = mkOption { enableXfwm = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
@ -48,76 +66,101 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = with pkgs.xfce // pkgs; [ environment.systemPackages = with pkgs.xfce // pkgs; [
# Get GTK themes and gtk-update-icon-cache glib # for gsettings
gtk2.out gtk3.out # gtk-update-icon-cache
# Supplies some abstract icons such as: gnome3.gnome-themes-extra
# utilities-terminal, accessories-text-editor
gnome3.adwaita-icon-theme gnome3.adwaita-icon-theme
hicolor-icon-theme hicolor-icon-theme
tango-icon-theme tango-icon-theme
xfce4-icon-theme xfce4-icon-theme
desktop-file-utils
shared-mime-info # for update-mime-database
# For a polkit authentication agent
polkit_gnome
# Needed by Xfce's xinitrc script # Needed by Xfce's xinitrc script
# TODO: replace with command -v xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
which
exo exo
garcon garcon
gtk-xfce-engine
libxfce4ui libxfce4ui
tumbler
xfconf xfconf
mousepad mousepad
parole
ristretto ristretto
xfce4-appfinder xfce4-appfinder
xfce4-screenshooter xfce4-screenshooter
xfce4-session xfce4-session
xfce4-settings xfce4-settings
xfce4-taskmanager
xfce4-terminal xfce4-terminal
(thunar.override { thunarPlugins = cfg.thunarPlugins; }) (thunar.override { thunarPlugins = cfg.thunarPlugins; })
thunar-volman # TODO: drop ] # TODO: NetworkManager doesn't belong here
] ++ (if config.hardware.pulseaudio.enable ++ optional config.networking.networkmanager.enable networkmanagerapplet
then [ xfce4-mixer-pulse xfce4-volumed-pulse ] ++ optional config.powerManagement.enable xfce4-power-manager
else [ xfce4-mixer xfce4-volumed ]) ++ optionals config.hardware.pulseaudio.enable [
# TODO: NetworkManager doesn't belong here pavucontrol
++ optionals config.networking.networkmanager.enable [ networkmanagerapplet ] # volume up/down keys support:
++ optionals config.powerManagement.enable [ xfce4-power-manager ] # xfce4-pulseaudio-plugin includes all the functionalities of xfce4-volumed-pulse
++ optionals cfg.enableXfwm [ xfwm4 ] # but can only be used with xfce4-panel, so for no-desktop usage we still include
++ optionals (!cfg.noDesktop) [ # xfce4-volumed-pulse
xfce4-panel (if cfg.noDesktop then xfce4-volumed-pulse else xfce4-pulseaudio-plugin)
] ++ optionals cfg.enableXfwm [
xfwm4
xfwm4-themes
] ++ optionals (!cfg.noDesktop) [
xfce4-notifyd xfce4-notifyd
xfce4-panel
xfdesktop xfdesktop
]; ];
environment.pathsToLink = [ environment.pathsToLink = [
"/share/xfce4" "/share/xfce4"
"/share/themes" "/lib/xfce4"
"/share/gtksourceview-2.0" "/share/gtksourceview-3.0"
"/share/gtksourceview-4.0"
]; ];
services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
services.xserver.desktopManager.session = [{ services.xserver.desktopManager.session = [{
name = "xfce"; name = "xfce";
bgSupport = true; bgSupport = true;
start = '' start = ''
${cfg.extraSessionCommands} ${pkgs.runtimeShell} ${pkgs.xfce.xfce4-session.xinitrc} &
${pkgs.runtimeShell} ${pkgs.xfce.xinitrc} &
waitPID=$! waitPID=$!
''; '';
}]; }];
services.xserver.updateDbusEnvironment = true; services.xserver.updateDbusEnvironment = true;
services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
# Enable helpful DBus services. # Enable helpful DBus services.
services.udisks2.enable = true; services.udisks2.enable = true;
security.polkit.enable = true;
services.accounts-daemon.enable = true;
services.upower.enable = config.powerManagement.enable; services.upower.enable = config.powerManagement.enable;
services.gnome3.glib-networking.enable = true;
services.gvfs.enable = true; services.gvfs.enable = true;
services.gvfs.package = pkgs.xfce.gvfs; services.gvfs.package = pkgs.xfce.gvfs;
services.tumbler.enable = true;
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager
# Enable default programs
programs.dconf.enable = true;
# Shell integration for VTE terminals
programs.bash.vteIntegration = mkDefault true;
programs.zsh.vteIntegration = mkDefault true;
# Systemd services
systemd.packages = with pkgs.xfce; [
(thunar.override { thunarPlugins = cfg.thunarPlugins; })
] ++ optional (!cfg.noDesktop) xfce4-notifyd;
}; };
} }

View File

@ -1,152 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.xserver.desktopManager.xfce4-14;
in
{
# added 2019-08-18
# needed to preserve some semblance of UI familarity
# with original XFCE module
imports = [
(mkRenamedOptionModule
[ "services" "xserver" "desktopManager" "xfce4-14" "extraSessionCommands" ]
[ "services" "xserver" "displayManager" "sessionCommands" ])
];
options = {
services.xserver.desktopManager.xfce4-14 = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the Xfce desktop environment.";
};
# TODO: support thunar plugins
# thunarPlugins = mkOption {
# default = [];
# type = types.listOf types.package;
# example = literalExample "[ pkgs.xfce4-14.thunar-archive-plugin ]";
# description = ''
# A list of plugin that should be installed with Thunar.
# '';
# };
noDesktop = mkOption {
type = types.bool;
default = false;
description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon).";
};
enableXfwm = mkOption {
type = types.bool;
default = true;
description = "Enable the XFWM (default) window manager.";
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs.xfce4-14 // pkgs; [
glib # for gsettings
gtk3.out # gtk-update-icon-cache
gnome3.gnome-themes-extra
gnome3.adwaita-icon-theme
hicolor-icon-theme
tango-icon-theme
xfce4-icon-theme
desktop-file-utils
shared-mime-info # for update-mime-database
# For a polkit authentication agent
polkit_gnome
# Needed by Xfce's xinitrc script
xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
exo
garcon
libxfce4ui
xfconf
mousepad
parole
ristretto
xfce4-appfinder
xfce4-screenshooter
xfce4-session
xfce4-settings
xfce4-taskmanager
xfce4-terminal
# TODO: resync patch for plugins
#(thunar.override { thunarPlugins = cfg.thunarPlugins; })
thunar
] # TODO: NetworkManager doesn't belong here
++ optional config.networking.networkmanager.enable networkmanagerapplet
++ optional config.powerManagement.enable xfce4-power-manager
++ optionals config.hardware.pulseaudio.enable [
pavucontrol
# volume up/down keys support:
# xfce4-pulseaudio-plugin includes all the functionalities of xfce4-volumed-pulse
# but can only be used with xfce4-panel, so for no-desktop usage we still include
# xfce4-volumed-pulse
(if cfg.noDesktop then xfce4-volumed-pulse else xfce4-pulseaudio-plugin)
] ++ optionals cfg.enableXfwm [
xfwm4
xfwm4-themes
] ++ optionals (!cfg.noDesktop) [
xfce4-notifyd
xfce4-panel
xfdesktop
];
environment.pathsToLink = [
"/share/xfce4"
"/lib/xfce4"
"/share/gtksourceview-3.0"
"/share/gtksourceview-4.0"
];
services.xserver.desktopManager.session = [{
name = "xfce4-14";
bgSupport = true;
start = ''
${pkgs.runtimeShell} ${pkgs.xfce4-14.xinitrc} &
waitPID=$!
'';
}];
services.xserver.updateDbusEnvironment = true;
services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
# Enable helpful DBus services.
services.udisks2.enable = true;
security.polkit.enable = true;
services.accounts-daemon.enable = true;
services.upower.enable = config.powerManagement.enable;
services.gnome3.glib-networking.enable = true;
services.gvfs.enable = true;
services.gvfs.package = pkgs.xfce.gvfs;
services.tumbler.enable = true;
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager
# Enable default programs
programs.dconf.enable = true;
# Shell integration for VTE terminals
programs.bash.vteIntegration = mkDefault true;
programs.zsh.vteIntegration = mkDefault true;
# Systemd services
systemd.packages = with pkgs.xfce4-14; [
thunar
] ++ optional (!cfg.noDesktop) xfce4-notifyd;
};
}

View File

@ -209,12 +209,12 @@ in {
services.xserver.config = services.xserver.config =
'' ''
# Automatically enable the libinput driver for all touchpads. # General libinput configuration.
# See CONFIGURATION DETAILS section of man:libinput(4).
Section "InputClass" Section "InputClass"
Identifier "libinputConfiguration" Identifier "libinputConfiguration"
MatchIsTouchpad "on" MatchDriver "libinput"
${optionalString (cfg.dev != null) ''MatchDevicePath "${cfg.dev}"''} ${optionalString (cfg.dev != null) ''MatchDevicePath "${cfg.dev}"''}
Driver "libinput"
Option "AccelProfile" "${cfg.accelProfile}" Option "AccelProfile" "${cfg.accelProfile}"
${optionalString (cfg.accelSpeed != null) ''Option "AccelSpeed" "${cfg.accelSpeed}"''} ${optionalString (cfg.accelSpeed != null) ''Option "AccelSpeed" "${cfg.accelSpeed}"''}
${optionalString (cfg.buttonMapping != null) ''Option "ButtonMapping" "${cfg.buttonMapping}"''} ${optionalString (cfg.buttonMapping != null) ''Option "ButtonMapping" "${cfg.buttonMapping}"''}

View File

@ -10,7 +10,7 @@ let
checkLink = checkUnitConfig "Link" [ checkLink = checkUnitConfig "Link" [
(assertOnlyFields [ (assertOnlyFields [
"Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "OriginalName" "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "Name" "OriginalName"
"MTUBytes" "BitsPerSecond" "Duplex" "AutoNegotiation" "WakeOnLan" "Port" "MTUBytes" "BitsPerSecond" "Duplex" "AutoNegotiation" "WakeOnLan" "Port"
"TCPSegmentationOffload" "TCP6SegmentationOffload" "GenericSegmentationOffload" "TCPSegmentationOffload" "TCP6SegmentationOffload" "GenericSegmentationOffload"
"GenericReceiveOffload" "LargeReceiveOffload" "RxChannels" "TxChannels" "GenericReceiveOffload" "LargeReceiveOffload" "RxChannels" "TxChannels"

View File

@ -20,6 +20,18 @@ with lib;
The set of NTP servers from which to synchronise. The set of NTP servers from which to synchronise.
''; '';
}; };
extraConfig = mkOption {
default = "";
type = types.lines;
example = ''
PollIntervalMaxSec=180
'';
description = ''
Extra config options for systemd-timesyncd. See
<link xlink:href="https://www.freedesktop.org/software/systemd/man/timesyncd.conf.html">
timesyncd.conf(5)</link> for available options.
'';
};
}; };
}; };
@ -35,6 +47,7 @@ with lib;
environment.etc."systemd/timesyncd.conf".text = '' environment.etc."systemd/timesyncd.conf".text = ''
[Time] [Time]
NTP=${concatStringsSep " " config.services.timesyncd.servers} NTP=${concatStringsSep " " config.services.timesyncd.servers}
${config.services.timesyncd.extraConfig}
''; '';
users.users.systemd-timesync.uid = config.ids.uids.systemd-timesync; users.users.systemd-timesync.uid = config.ids.uids.systemd-timesync;

View File

@ -136,7 +136,6 @@ in rec {
(all nixos.tests.switchTest) (all nixos.tests.switchTest)
(all nixos.tests.udisks2) (all nixos.tests.udisks2)
(all nixos.tests.xfce) (all nixos.tests.xfce)
(all nixos.tests.xfce4-14)
nixpkgs.tarball nixpkgs.tarball
(all allSupportedNixpkgs.emacs) (all allSupportedNixpkgs.emacs)

View File

@ -285,7 +285,6 @@ in
wordpress = handleTest ./wordpress.nix {}; wordpress = handleTest ./wordpress.nix {};
xautolock = handleTest ./xautolock.nix {}; xautolock = handleTest ./xautolock.nix {};
xfce = handleTest ./xfce.nix {}; xfce = handleTest ./xfce.nix {};
xfce4-14 = handleTest ./xfce4-14.nix {};
xmonad = handleTest ./xmonad.nix {}; xmonad = handleTest ./xmonad.nix {};
xrdp = handleTest ./xrdp.nix {}; xrdp = handleTest ./xrdp.nix {};
xss-lock = handleTest ./xss-lock.nix {}; xss-lock = handleTest ./xss-lock.nix {};

View File

@ -9,7 +9,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
services.roundcube = { services.roundcube = {
enable = true; enable = true;
hostName = "roundcube"; hostName = "roundcube";
database.password = "notproduction"; database.password = "not production";
package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]); package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]);
plugins = [ "persistent_login" ]; plugins = [ "persistent_login" ];
}; };
@ -21,10 +21,11 @@ import ./make-test-python.nix ({ pkgs, ...} : {
}; };
testScript = '' testScript = ''
roundcube.start $roundcube->start;
roundcube.wait_for_unit("postgresql.service") $roundcube->waitForUnit("postgresql.service");
roundcube.wait_for_unit("phpfpm-roundcube.service") $roundcube->waitForUnit("roundcube-setup.service");
roundcube.wait_for_unit("nginx.service") $roundcube->waitForUnit("phpfpm-roundcube.service");
roundcube.succeed("curl -sSL http://roundcube/ | grep 'Keep me logged in'") $roundcube->waitForUnit("nginx.service");
$roundcube->succeed("curl -sSfL http://roundcube/ | grep 'Keep me logged in'");
''; '';
}) })

View File

@ -1,8 +1,5 @@
import ./make-test.nix ({ pkgs, ...} : { import ./make-test-python.nix ({ pkgs, ...} : {
name = "xfce"; name = "xfce";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ eelco shlevy ];
};
machine = machine =
{ pkgs, ... }: { pkgs, ... }:
@ -16,31 +13,26 @@ import ./make-test.nix ({ pkgs, ...} : {
services.xserver.desktopManager.xfce.enable = true; services.xserver.desktopManager.xfce.enable = true;
environment.systemPackages = [ pkgs.xorg.xmessage ];
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
virtualisation.memorySize = 1024; virtualisation.memorySize = 1024;
}; };
testScript = testScript = { nodes, ... }: let
'' user = nodes.machine.config.users.users.alice;
$machine->waitForX; in ''
$machine->waitForFile("/home/alice/.Xauthority"); machine.wait_for_x()
$machine->succeed("xauth merge ~alice/.Xauthority"); machine.wait_for_file("${user.home}/.Xauthority")
$machine->waitForWindow(qr/xfce4-panel/); machine.succeed("xauth merge ${user.home}/.Xauthority")
$machine->sleep(10); machine.wait_for_window("xfce4-panel")
machine.sleep(10)
# Check that logging in has given the user ownership of devices. # Check that logging in has given the user ownership of devices.
$machine->succeed("getfacl -p /dev/snd/timer | grep -q alice"); machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
$machine->succeed("su - alice -c 'DISPLAY=:0.0 xfce4-terminal &'"); machine.succeed("su - ${user.name} -c 'DISPLAY=:0.0 xfce4-terminal &'")
$machine->waitForWindow(qr/Terminal/); machine.wait_for_window("Terminal")
$machine->sleep(10); machine.sleep(10)
$machine->screenshot("screen"); machine.screenshot("screen")
# Ensure that the X server does proper access control.
$machine->mustFail("su - bob -c 'DISPLAY=:0.0 xmessage Foo'");
$machine->mustFail("su - bob -c 'DISPLAY=:0 xmessage Foo'");
''; '';
}) })

View File

@ -1,37 +0,0 @@
import ./make-test.nix ({ pkgs, ...} : {
name = "xfce4-14";
machine =
{ pkgs, ... }:
{ imports = [ ./common/user-account.nix ];
services.xserver.enable = true;
services.xserver.displayManager.auto.enable = true;
services.xserver.displayManager.auto.user = "alice";
services.xserver.desktopManager.xfce4-14.enable = true;
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
virtualisation.memorySize = 1024;
};
testScript =
''
$machine->waitForX;
$machine->waitForFile("/home/alice/.Xauthority");
$machine->succeed("xauth merge ~alice/.Xauthority");
$machine->waitForWindow(qr/xfce4-panel/);
$machine->sleep(10);
# Check that logging in has given the user ownership of devices.
$machine->succeed("getfacl -p /dev/snd/timer | grep -q alice");
$machine->succeed("su - alice -c 'DISPLAY=:0.0 xfce4-terminal &'");
$machine->waitForWindow(qr/Terminal/);
$machine->sleep(10);
$machine->screenshot("screen");
'';
})

View File

@ -3,17 +3,10 @@
, libzip, rtaudio, rtmidi, speex, libsamplerate }: , libzip, rtaudio, rtmidi, speex, libsamplerate }:
let let
glfw-git = glfw.overrideAttrs (oldAttrs: rec { # The package repo vendors some of the package dependencies as submodules.
name = "glfw-git-${version}"; # Others are downloaded with `make deps`. Due to previous issues with the
version = "2019-06-30"; # `glfw` submodule (see above) and because we can not access the network when
src = fetchFromGitHub { # building in a sandbox, we fetch the dependency source manually.
owner = "glfw";
repo = "glfw";
rev = "d25248343e248337284dfbe5ecd1eddbd37ae66d";
sha256 = "0gbz353bfmqbpm0af2nqf5draz3k4f3lqwiqj68s8nwn7878aqm3";
};
buildInputs = oldAttrs.buildInputs ++ [ libXext libXi ];
});
pfft-source = fetchFromBitbucket { pfft-source = fetchFromBitbucket {
owner = "jpommier"; owner = "jpommier";
repo = "pffft"; repo = "pffft";
@ -47,24 +40,22 @@ let
in in
with stdenv.lib; stdenv.mkDerivation rec { with stdenv.lib; stdenv.mkDerivation rec {
pname = "VCV-Rack"; pname = "VCV-Rack";
version = "1.1.5"; version = "1.1.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "VCVRack"; owner = "VCVRack";
repo = "Rack"; repo = "Rack";
rev = "v${version}"; rev = "v${version}";
sha256 = "1g3mkghgiycbxyvzjhanc1b10jynkfkw03bpnha06qgd6gd9wv7k"; sha256 = "0ji64prr74qzxf5bx1sw022kbslx9nzll16lmk5in78hbl137b3i";
}; };
patches = [ patches = [
./rack-minimize-vendoring.patch ./rack-minimize-vendoring.patch
# We patch out a call to a custom function, that is not needed on Linux.
# This avoids needing a patched version of glfw. The version we previously used disappeared
# on GitHub. See https://github.com/NixOS/nixpkgs/issues/71189
./remove-custom-glfw-function.patch
]; ];
prePatch = '' prePatch = ''
# As we can't use `make dep` to set up the dependencies (as explained
# above), we do it here manually
mkdir -p dep/include mkdir -p dep/include
cp -r ${pfft-source} dep/jpommier-pffft-source cp -r ${pfft-source} dep/jpommier-pffft-source
@ -86,7 +77,7 @@ with stdenv.lib; stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
nativeBuildInputs = [ makeWrapper pkgconfig ]; nativeBuildInputs = [ makeWrapper pkgconfig ];
buildInputs = [ glfw-git alsaLib curl glew gtk2-x11 jansson libjack2 libzip rtaudio rtmidi speex libsamplerate ]; buildInputs = [ alsaLib curl glew glfw gtk2-x11 jansson libjack2 libsamplerate libzip rtaudio rtmidi speex ];
buildFlags = "Rack"; buildFlags = "Rack";

View File

@ -1,16 +0,0 @@
diff --git a/src/main.cpp b/src/main.cpp
index 0954ae6..a8299f7 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -162,11 +162,6 @@ int main(int argc, char* argv[]) {
INFO("Initializing app");
appInit();
- const char* openedFilename = glfwGetOpenedFilename();
- if (openedFilename) {
- patchPath = openedFilename;
- }
-
if (!settings::headless) {
APP->patch->init(patchPath);
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "kdev-php"; pname = "kdev-php";
version = "5.4.3"; version = "5.4.4";
src = fetchurl { src = fetchurl {
url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz"; url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
sha256 = "0nf9nlykdq40yxdda0as16pd0c5rahwba1fbwni8g19w8mf2y3h5"; sha256 = "1q80vh2b4bmpa3sh94b6jsa5ymqr6hcn76mr2lyw30h2ppy5hm5l";
}; };
nativeBuildInputs = [ cmake extra-cmake-modules ]; nativeBuildInputs = [ cmake extra-cmake-modules ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "kdev-python"; pname = "kdev-python";
version = "5.4.3"; version = "5.4.4";
src = fetchurl { src = fetchurl {
url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz"; url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
sha256 = "16928a0p5m5mm38j39sxzfqy6rx9pv01aihk2kscdd93z7001b81"; sha256 = "04ig8vmn85z15mlngha4ybynjlmv9g9dn48y58wqrkif2ssliq7m";
}; };
cmakeFlags = [ cmakeFlags = [

View File

@ -10,11 +10,11 @@
mkDerivation rec { mkDerivation rec {
pname = "kdevelop"; pname = "kdevelop";
version = "5.4.3"; version = "5.4.4";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz"; url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
sha256 = "0h07gdmg24d517im40b9kl1kzkkzwc9ig4crbl3y9iy0mbpm0hv8"; sha256 = "1cangz3ghz39sxxggp2p7kqy2ncgs0r3i19c341b5xbkcxw2y20h";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -4,13 +4,13 @@ with python3.pkgs;
buildPythonApplication rec { buildPythonApplication rec {
pname = "thonny"; pname = "thonny";
version = "3.2.0b7"; version = "3.2.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0p0hi5rj873cszx9rpbjjq51vs6xys3rlq9v1rya710i3fnw0hqh"; sha256 = "0wgjwjh6296vs8awl4rylb5nshj9q9kzxv7j4vlmiabll06mx6gi";
}; };
propagatedBuildInputs = with python3.pkgs; [ propagatedBuildInputs = with python3.pkgs; [
@ -22,6 +22,7 @@ buildPythonApplication rec {
mypy mypy
pyperclip pyperclip
asttokens asttokens
send2trash
]; ];
preInstall = '' preInstall = ''

View File

@ -145,7 +145,12 @@ in stdenv.mkDerivation rec {
cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim
''; '';
preInstall = ''
mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
'';
postInstall = '' postInstall = ''
ln -s $out/bin/vim $out/bin/vi
'' + stdenv.lib.optionalString stdenv.isLinux '' '' + stdenv.lib.optionalString stdenv.isLinux ''
patchelf --set-rpath \ patchelf --set-rpath \
"$(patchelf --print-rpath $out/bin/vim):${stdenv.lib.makeLibraryPath buildInputs}" \ "$(patchelf --print-rpath $out/bin/vim):${stdenv.lib.makeLibraryPath buildInputs}" \
@ -177,9 +182,5 @@ in stdenv.mkDerivation rec {
rewrap gvimdiff -gd rewrap gvimdiff -gd
''; '';
preInstall = '' dontStrip = true;
mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
'';
dontStrip = 1;
} }

View File

@ -11,13 +11,13 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "1jxjf1yg17l61n8qmnh4916426da8asp8p36lfyawxif8m9sx8ag"; x86_64-linux = "1zxj1vav7swjmvvgcn1y61figjhqrczf8d16rk6yayja1pfjgvs5";
x86_64-darwin = "1yxxvqpk849dzbzhdqz0j16f50z4slcx51bkv2svfb36nxdaahl1"; x86_64-darwin = "0f6ck40rkngzcm5xih1rbwpz905r533n2z08maycgf4iajgwrn43";
}.${system}; }.${system};
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
version = "1.40.0"; version = "1.40.1";
pname = "vscode"; pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders"; executableName = "code" + lib.optionalString isInsiders "-insiders";

View File

@ -11,8 +11,8 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "013jhmc29angqh9qb8jj0jqk4whqb59id61njm8gwz977sdgpf9l"; x86_64-linux = "0yi1ghliivhb50153dvv9q5gbbgh2dd1m3xrl1i097b3phrzb0j4";
x86_64-darwin = "09jfii132cib1kn3bghwchdlvi4cfjqz5hvw6j5gr53h7j35k37j"; x86_64-darwin = "1slf4h8yhhzlr6cm839y3zx7k831zl24xasi88z6xvib32rh9qxs";
}.${system}; }.${system};
sourceRoot = { sourceRoot = {
@ -23,7 +23,7 @@ in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
inherit sourceRoot; inherit sourceRoot;
version = "1.39.2"; version = "1.40.0";
pname = "vscodium"; pname = "vscodium";
executableName = "codium"; executableName = "codium";
@ -50,7 +50,7 @@ in
homepage = https://github.com/VSCodium/vscodium; homepage = https://github.com/VSCodium/vscodium;
downloadPage = https://github.com/VSCodium/vscodium/releases; downloadPage = https://github.com/VSCodium/vscodium/releases;
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; []; maintainers = with maintainers; [ synthetica ];
platforms = [ "x86_64-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "x86_64-darwin" ];
}; };
} }

View File

@ -2,13 +2,13 @@
buildGoPackage rec { buildGoPackage rec {
pname = "cointop"; pname = "cointop";
version = "1.3.6"; version = "1.4.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "miguelmota"; owner = "miguelmota";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0xm616yjqf6qq98yjbdj6lihib2p4fh6jd91dcb59arkbs2l1nbg"; sha256 = "067jsn66xs30d5yz9z8cvpxbvh8a95kllkb2wk134c43bfxy2m34";
}; };
goPackagePath = "github.com/miguelmota/cointop"; goPackagePath = "github.com/miguelmota/cointop";

View File

@ -0,0 +1,23 @@
{ stdenv, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "geoipupdate";
version = "4.1.5";
src = fetchFromGitHub {
owner = "maxmind";
repo = "geoipupdate";
rev = "v${version}";
sha256 = "1k0bmsqgw35sdmaafinlr4qd5910fi598i8irxrz11394d3c8giv";
};
modSha256 = "0mk6zp6byq3jc6wipx53bg5igry114klq5w8isc0z6r63zjsk6f6";
meta = with stdenv.lib; {
description = "Automatic GeoIP database updater";
homepage = "https://github.com/maxmind/geoipupdate";
license = with licenses; [ asl20 ];
platforms = platforms.all;
maintainers = with maintainers; [ das_j ];
};
}

View File

@ -3,17 +3,15 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gpscorrelate"; pname = "gpscorrelate";
version = "unstable-2019-09-03"; version = "2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dfandrich"; owner = "dfandrich";
repo = pname; repo = pname;
rev = "e1dd44a34f67b1ab7201440e60a840258ee448d2"; rev = version;
sha256 = "0gjwwdqh9dprzylmmnk3gm41khka9arkij3i9amd8y7d49pm9rlv"; sha256 = "1wkpb0nqnm0ik46hp2sibf96h2gxi6n951zm8c72scgmh4ciq4fl";
}; };
patches = [ ./fix-localedir.diff ];
nativeBuildInputs = [ nativeBuildInputs = [
desktop-file-utils desktop-file-utils
docbook_xml_dtd_42 docbook_xml_dtd_42
@ -30,7 +28,6 @@ stdenv.mkDerivation rec {
makeFlags = [ makeFlags = [
"prefix=${placeholder "out"}" "prefix=${placeholder "out"}"
"GTK=3"
"CC=cc" "CC=cc"
"CXX=c++" "CXX=c++"
"CFLAGS=-DENABLE_NLS" "CFLAGS=-DENABLE_NLS"
@ -60,7 +57,7 @@ stdenv.mkDerivation rec {
''; '';
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
homepage = "https://github.com/dfandrich/gpscorrelate"; homepage = "https://dfandrich.github.io/gpscorrelate/";
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ sikmir ]; maintainers = with maintainers; [ sikmir ];
}; };

View File

@ -1,27 +0,0 @@
diff --git i/Makefile w/Makefile
index 47919ca..408fd68 100644
--- i/Makefile
+++ w/Makefile
@@ -33,8 +33,9 @@ datadir = $(prefix)/share
mandir = $(datadir)/man
docdir = $(datadir)/doc/gpscorrelate
applicationsdir = $(datadir)/applications
+localedir = ${datadir}/locale
-DEFS = -DPACKAGE_VERSION=\"$(PACKAGE_VERSION)\"
+DEFS = -DPACKAGE_VERSION=\"$(PACKAGE_VERSION)\" -DPACKAGE_LOCALE_DIR=\"$(localedir)\"
TARGETS = gpscorrelate-gui$(EXEEXT) gpscorrelate$(EXEEXT) doc/gpscorrelate.1 doc/gpscorrelate.html
diff --git i/main-gui.c w/main-gui.c
index fdace6f..8a6197b 100644
--- i/main-gui.c
+++ w/main-gui.c
@@ -40,6 +40,7 @@
int main(int argc, char* argv[])
{
/* Initialize gettext (gtk_init initializes the locale) */
+ (void) bindtextdomain(TEXTDOMAIN, PACKAGE_LOCALE_DIR);
(void) textdomain(TEXTDOMAIN);
(void) bind_textdomain_codeset(TEXTDOMAIN, "UTF-8");

View File

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "Cerberus"; pname = "Cerberus";
version = "1.3.1"; version = "1.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0be48fc0dc84f83202a5309c0aa17cd5393e70731a1698a50d118b762fbe6875"; sha256 = "1pxzr8sfm2hc5s96m9k044i44nwkva70n0ypr6a35v73zn891cx5";
}; };
checkInputs = [ pytestrunner pytest ]; checkInputs = [ pytestrunner pytest ];

View File

@ -1,18 +1,22 @@
{ stdenv, pythonPackages }: { stdenv, pythonPackages }:
pythonPackages.buildPythonApplication rec { with pythonPackages;
let
cerberus_1_1 = callPackage ./cerberus.nix { };
in buildPythonApplication rec {
pname = "pyditz"; pname = "pyditz";
version = "0.10.3"; version = "0.10.3";
src = pythonPackages.fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0hxxz7kxv9gsrr86ccsc31g7bc2agw1ihbxhd659c2m6nrqq5qaf"; sha256 = "0hxxz7kxv9gsrr86ccsc31g7bc2agw1ihbxhd659c2m6nrqq5qaf";
}; };
nativeBuildInputs = [ pythonPackages.setuptools_scm ]; nativeBuildInputs = [ setuptools_scm ];
propagatedBuildInputs = with pythonPackages; [ pyyaml six jinja2 cerberus11 ]; propagatedBuildInputs = [ pyyaml six jinja2 cerberus_1_1 ];
checkPhase = '' checkPhase = ''
${pythonPackages.python.interpreter} -m unittest discover ${python.interpreter} -m unittest discover
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -11,82 +11,108 @@
, withGeoclue ? withGeolocation && stdenv.isLinux, geoclue , withGeoclue ? withGeolocation && stdenv.isLinux, geoclue
}: }:
stdenv.mkDerivation rec { let
pname = "redshift"; mkRedshift =
version = "1.12"; { pname, version, src, meta }:
stdenv.mkDerivation rec {
inherit pname version src meta;
src = fetchFromGitHub { patches = [
owner = "jonls"; # https://github.com/jonls/redshift/pull/575
repo = "redshift"; ./575.patch
rev = "v${version}"; ];
sha256 = "12cb4gaqkybp4bkkns8pam378izr2mwhr2iy04wkprs2v92j7bz6";
nativeBuildInputs = [
autoconf
automake
gettext
intltool
libtool
pkgconfig
wrapGAppsHook
wrapPython
];
configureFlags = [
"--enable-randr=${if withRandr then "yes" else "no"}"
"--enable-geoclue2=${if withGeoclue then "yes" else "no"}"
"--enable-drm=${if withDrm then "yes" else "no"}"
"--enable-quartz=${if withQuartz then "yes" else "no"}"
"--enable-corelocation=${if withCoreLocation then "yes" else "no"}"
];
buildInputs = [
gobject-introspection
gtk3
python
] ++ stdenv.lib.optional withRandr libxcb
++ stdenv.lib.optional withGeoclue geoclue
++ stdenv.lib.optional withDrm libdrm
++ stdenv.lib.optional withQuartz ApplicationServices
++ stdenv.lib.optionals withCoreLocation [ CoreLocation Foundation Cocoa ]
;
pythonPath = [ pygobject3 pyxdg ];
preConfigure = "./bootstrap";
postFixup = "wrapPythonPrograms";
# the geoclue agent may inspect these paths and expect them to be
# valid without having the correct $PATH set
postInstall = ''
substituteInPlace $out/share/applications/redshift.desktop \
--replace 'Exec=redshift' "Exec=$out/bin/redshift"
substituteInPlace $out/share/applications/redshift.desktop \
--replace 'Exec=redshift-gtk' "Exec=$out/bin/redshift-gtk"
'';
enableParallelBuilding = true;
};
in
rec {
redshift = mkRedshift rec {
pname = "redshift";
version = "1.12";
src = fetchFromGitHub {
owner = "jonls";
repo = "redshift";
rev = "v${version}";
sha256 = "12cb4gaqkybp4bkkns8pam378izr2mwhr2iy04wkprs2v92j7bz6";
};
meta = with stdenv.lib; {
description = "Screen color temperature manager";
longDescription = ''
Redshift adjusts the color temperature according to the position
of the sun. A different color temperature is set during night and
daytime. During twilight and early morning, the color temperature
transitions smoothly from night to daytime temperature to allow
your eyes to slowly adapt. At night the color temperature should
be set to match the lamps in your room.
'';
license = licenses.gpl3Plus;
homepage = http://jonls.dk/redshift;
platforms = platforms.unix;
maintainers = with maintainers; [ yegortimoshenko globin ];
};
}; };
patches = [ redshift-wlr = mkRedshift {
# https://github.com/jonls/redshift/pull/575 pname = "redshift-wlr";
./575.patch version = "2019-04-17";
];
nativeBuildInputs = [ src = fetchFromGitHub {
autoconf owner = "minus7";
automake repo = "redshift";
gettext rev = "eecbfedac48f827e96ad5e151de8f41f6cd3af66";
intltool sha256 = "0rs9bxxrw4wscf4a8yl776a8g880m5gcm75q06yx2cn3lw2b7v22";
libtool };
pkgconfig
wrapGAppsHook
wrapPython
];
configureFlags = [ meta = redshift.meta // {
"--enable-randr=${if withRandr then "yes" else "no"}" description = redshift.meta.description + "(with wlroots patches)";
"--enable-geoclue2=${if withGeoclue then "yes" else "no"}" homepage = https://github.com/minus7/redshift;
"--enable-drm=${if withDrm then "yes" else "no"}" };
"--enable-quartz=${if withQuartz then "yes" else "no"}"
"--enable-corelocation=${if withCoreLocation then "yes" else "no"}"
];
buildInputs = [
gobject-introspection
gtk3
python
] ++ stdenv.lib.optional withRandr libxcb
++ stdenv.lib.optional withGeoclue geoclue
++ stdenv.lib.optional withDrm libdrm
++ stdenv.lib.optional withQuartz ApplicationServices
++ stdenv.lib.optionals withCoreLocation [ CoreLocation Foundation Cocoa ]
;
pythonPath = [ pygobject3 pyxdg ];
preConfigure = "./bootstrap";
postFixup = "wrapPythonPrograms";
# the geoclue agent may inspect these paths and expect them to be
# valid without having the correct $PATH set
postInstall = ''
substituteInPlace $out/share/applications/redshift.desktop \
--replace 'Exec=redshift' "Exec=$out/bin/redshift"
substituteInPlace $out/share/applications/redshift.desktop \
--replace 'Exec=redshift-gtk' "Exec=$out/bin/redshift-gtk"
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Screen color temperature manager";
longDescription = ''
Redshift adjusts the color temperature according to the position
of the sun. A different color temperature is set during night and
daytime. During twilight and early morning, the color temperature
transitions smoothly from night to daytime temperature to allow
your eyes to slowly adapt. At night the color temperature should
be set to match the lamps in your room.
'';
license = licenses.gpl3Plus;
homepage = http://jonls.dk/redshift;
platforms = platforms.unix;
maintainers = with maintainers; [ yegortimoshenko globin ];
}; };
} }

View File

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory. # This file is autogenerated from update.sh in the same directory.
{ {
beta = { beta = {
sha256 = "1n45pfpjqrpzmy7k2ps498mm273bpzfda58dz78lbdm6r7z3s7av"; sha256 = "0sm6x4z6i6p292l98k0h0v69f29hgfd9l46jg8xbh2jzg9f5fp78";
sha256bin64 = "1rf31v1ipix8c6q4blqjrn2ap3pxnlrpfx7037qjpg84zhip0zpc"; sha256bin64 = "1yvy0d2h09cf1w42c93kpw66a2v9yn079zs6qjiqzs07yzxvxjdm";
version = "79.0.3945.29"; version = "79.0.3945.36";
}; };
dev = { dev = {
sha256 = "1zj0nmj1687xsyzlh1hy2wblxv1qgdy2kj9h8bmqhld16laxwqw5"; sha256 = "0zf434ijk6zw37fricnkb1968nhmb7zlfivf59nx9yh7irbwb4hm";
sha256bin64 = "1x8wpdz18cflvj2ambqwyhzq206dil4szh1s8paqw1jwncaw7gjf"; sha256bin64 = "1fphf8pwbbirs9fiislg3vav8c4a393lz487sa7f90mzsx84ffiz";
version = "80.0.3962.2"; version = "80.0.3964.0";
}; };
stable = { stable = {
sha256 = "01wx5bi397d80za0sdfwgfbjj6n2ad2i31zmcrhm6wzryjwrmx6i"; sha256 = "03jvfz68nvmmrplygf96sh0l347p4h03c8vpw8yrglh6ycwkiigr";
sha256bin64 = "1nwhyasqxkxkx5pn2j9dx95mblj5w7fkh2zwvjz763b331w65ivp"; sha256bin64 = "1knsrdh4vj1zl3v1frzrvzg0pwb64zhq2il7pwskrfcbmsj3gkh6";
version = "78.0.3904.97"; version = "78.0.3904.108";
}; };
} }

View File

@ -112,8 +112,8 @@ in rec {
terraform_0_11-full = terraform_0_11.full; terraform_0_11-full = terraform_0_11.full;
terraform_0_12 = pluggable (generic { terraform_0_12 = pluggable (generic {
version = "0.12.15"; version = "0.12.16";
sha256 = "18kvgb2sjldis7bykb11zqzx6avr7a4ry91xsfq4v0iwbi5k383b"; sha256 = "10r9vra4d3lyms9cvl0g1ij6ldcfi3vjrqsmd52isrmlmjdzm8nk";
patches = [ ./provider-path.patch ]; patches = [ ./provider-path.patch ];
passthru = { inherit plugins; }; passthru = { inherit plugins; };
}); });

View File

@ -1,4 +1,4 @@
{ fetchurl, stdenv, gnutls, glib, pkgconfig, check, libotr, python { fetchurl, fetchpatch, stdenv, gnutls, glib, pkgconfig, check, libotr, python
, enableLibPurple ? false, pidgin ? null , enableLibPurple ? false, pidgin ? null
, enablePam ? false, pam ? null , enablePam ? false, pam ? null
}: }:
@ -25,6 +25,14 @@ stdenv.mkDerivation rec {
] ++ optional enableLibPurple "--purple=1" ] ++ optional enableLibPurple "--purple=1"
++ optional enablePam "--pam=1"; ++ optional enablePam "--pam=1";
patches = [
# This should be dropped once the issue is fixed upstream.
(fetchpatch {
url = "https://github.com/bitlbee/bitlbee/commit/6ff651b3ec93e5fd74f80766d5e9714d963137bc.diff";
sha256 = "144dpm4kq7c268fpww1q3n88ayg068n73fbabr5arh1zryw48qfv";
})
];
installTargets = [ "install" "install-dev" ]; installTargets = [ "install" "install-dev" ];
doCheck = !enableLibPurple; # Checks fail with libpurple for some reason doCheck = !enableLibPurple; # Checks fail with libpurple for some reason

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, makeWrapper, jre_headless }: { stdenv, lib, fetchurl, makeWrapper, jre_headless, libmatthew_java, dbus, dbus_java }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "signal-cli"; pname = "signal-cli";
@ -10,16 +10,24 @@ stdenv.mkDerivation rec {
sha256 = "1gvdifscyxmxn2dwlkqi684ahy5kbcj84mqda0m8l4aa8iaq1d59"; sha256 = "1gvdifscyxmxn2dwlkqi684ahy5kbcj84mqda0m8l4aa8iaq1d59";
}; };
buildInputs = [ makeWrapper ]; buildInputs = lib.optional stdenv.isLinux [ libmatthew_java dbus dbus_java ];
nativeBuildInputs = [ makeWrapper ];
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
cp -r lib $out/lib cp -r lib $out/lib
cp bin/signal-cli $out/bin/signal-cli cp bin/signal-cli $out/bin/signal-cli
'' + (if stdenv.isLinux then ''
makeWrapper ${jre_headless}/bin/java $out/bin/signal-cli \
--set JAVA_HOME "${jre_headless}" \
--add-flags "-classpath '$out/lib/*:${libmatthew_java}/lib/jni'" \
--add-flags "-Djava.library.path=${libmatthew_java}/lib/jni:${dbus_java}/share/java/dbus:$out/lib" \
--add-flags "org.asamk.signal.Main"
'' else ''
wrapProgram $out/bin/signal-cli \ wrapProgram $out/bin/signal-cli \
--prefix PATH : ${lib.makeBinPath [ jre_headless ]} \ --prefix PATH : ${lib.makeBinPath [ jre_headless ]} \
--set JAVA_HOME ${jre_headless} --set JAVA_HOME ${jre_headless}
''; '');
# Execution in the macOS (10.13) sandbox fails with # Execution in the macOS (10.13) sandbox fails with
# dyld: Library not loaded: /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa # dyld: Library not loaded: /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
@ -29,6 +37,7 @@ stdenv.mkDerivation rec {
# /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa: file system sandbox blocked stat() # /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa: file system sandbox blocked stat()
# /nix/store/in41dz8byyyz4c0w132l7mqi43liv4yr-stdenv-darwin/setup: line 1310: 2231 Abort trap: 6 signal-cli --version # /nix/store/in41dz8byyyz4c0w132l7mqi43liv4yr-stdenv-darwin/setup: line 1310: 2231 Abort trap: 6 signal-cli --version
doInstallCheck = stdenv.isLinux; doInstallCheck = stdenv.isLinux;
installCheckPhase = '' installCheckPhase = ''
export PATH=$PATH:$out/bin export PATH=$PATH:$out/bin
# --help returns non-0 exit code even when working # --help returns non-0 exit code even when working
@ -39,7 +48,7 @@ stdenv.mkDerivation rec {
homepage = https://github.com/AsamK/signal-cli; homepage = https://github.com/AsamK/signal-cli;
description = "Command-line and dbus interface for communicating with the Signal messaging service"; description = "Command-line and dbus interface for communicating with the Signal messaging service";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ ivan ]; maintainers = with maintainers; [ ivan erictapen ];
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@ -59,7 +59,10 @@ let
src = src =
if stdenv.hostPlatform.system == "x86_64-linux" then if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl { fetchurl {
url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"; urls = [
"https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
"https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
];
sha256 = "09k260g9qy4n8vy6wr2jb5mm27cvqyapmv8vj4ff2j72f3ad31vm"; sha256 = "09k260g9qy4n8vy6wr2jb5mm27cvqyapmv8vj4ff2j72f3ad31vm";
} }
else else

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "glowing-bear"; pname = "glowing-bear";
version = "0.7.1"; version = "0.7.2";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = version; rev = version;
owner = "glowing-bear"; owner = "glowing-bear";
repo = "glowing-bear"; repo = "glowing-bear";
sha256 = "0gwrf67l3i3nl7zy1miljz6f3vv6zzc3g9as06by548f21cizzjb"; sha256 = "14a3fqsmi28g7j3lzk4l4m47p2iml1aaf3514wazn2clw48lnqhw";
}; };
installPhase = '' installPhase = ''

View File

@ -2,13 +2,13 @@
mkDerivation rec { mkDerivation rec {
pname = "qownnotes"; pname = "qownnotes";
version = "19.10.10"; version = "19.11.14";
src = fetchurl { src = fetchurl {
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz"; url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
# Can grab official version like so: # Can grab official version like so:
# $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256 # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256
sha256 = "1zhszlrcmi8l96wq6hp48d8qv16jlyni02wf41dvh5r9ccfwlq42"; sha256 = "8faa67720443fc9a116feae3e7d641922a08814b9af4d973d348ff8a0ee0e35d";
}; };
nativeBuildInputs = [ qmake qttools ]; nativeBuildInputs = [ qmake qttools ];

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "git-repo"; pname = "git-repo";
version = "1.13.7.1"; version = "1.13.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "android"; owner = "android";
repo = "tools_repo"; repo = "tools_repo";
rev = "v${version}"; rev = "v${version}";
sha256 = "0acsvrc45kdwpj5mi5i61mibr1fdx4g4835c3b8x0fdgrya4n37c"; sha256 = "1wmzgijmssgwkkw8g4zgmc4x64xkvz6nq1b3szcvawgv1ndwnb2j";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -8,13 +8,13 @@ with stdenv.lib;
buildGoPackage rec { buildGoPackage rec {
pname = "gitea"; pname = "gitea";
version = "1.9.6"; version = "1.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "go-gitea"; owner = "go-gitea";
repo = "gitea"; repo = "gitea";
rev = "v${version}"; rev = "v${version}";
sha256 = "0ql6hrrc339hrik4yk26bjn5x167c5q4s10kjld5fsgmn2k1nhdb"; sha256 = "19r0gbp4q2sk3br17625m8jinlglijjknqs5y20w3kzxrifrjrmk";
# Required to generate the same checksum on MacOS due to unicode encoding differences # Required to generate the same checksum on MacOS due to unicode encoding differences
# More information: https://github.com/NixOS/nixpkgs/pull/48128 # More information: https://github.com/NixOS/nixpkgs/pull/48128
extraPostFetch = '' extraPostFetch = ''

View File

@ -1,25 +1,29 @@
{ stdenv, fetchurl, makeWrapper, jre }: { stdenv, fetchurl, makeWrapper, jre }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "13.2.1"; version = "13.5.0";
pname = "mediathekview"; pname = "mediathekview";
src = fetchurl { src = fetchurl {
url = "https://download.mediathekview.de/stabil/MediathekView-${version}.tar.gz"; url = "https://download.mediathekview.de/stabil/MediathekView-${version}-linux.tar.gz";
sha256 = "11wg6klviig0h7pprfaygamsgqr7drqra2s4yxgfak6665033l2a"; sha256 = "0n05w2d6sh03rjms7m9b5nj84cl16gkrc9nsn53kvldglmqmmrac";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
installPhase = '' installPhase = ''
mkdir -p $out/{lib,bin,share/mediathekview} mkdir -p $out/{bin,lib}
install -m644 MediathekView.jar $out/ install -m644 MediathekView.jar $out/lib
install -m644 -t $out/lib lib/*
install -m755 bin/flv.sh $out/share/mediathekview
makeWrapper ${jre}/bin/java $out/bin/mediathek \ makeWrapper ${jre}/bin/java $out/bin/mediathek \
--add-flags "-cp '$out/lib/*' -jar $out/MediathekView.jar" --add-flags "-Xmx1G -jar $out/lib/MediathekView.jar"
'';
makeWrapper ${jre}/bin/java $out/bin/MediathekView \
--add-flags "-Xmx1G -jar $out/lib/MediathekView.jar"
makeWrapper ${jre}/bin/java $out/bin/MediathekView_ipv4 \
--add-flags "-Xmx1G -Djava.net.preferIPv4Stack=true -jar $out/lib/MediathekView.jar"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Offers access to the Mediathek of different tv stations (ARD, ZDF, Arte, etc.)"; description = "Offers access to the Mediathek of different tv stations (ARD, ZDF, Arte, etc.)";

View File

@ -1,7 +1,7 @@
{ lib, fetchzip }: { lib, fetchzip }:
let let
version = "3.0.0"; version = "4.0.1";
in fetchzip { in fetchzip {
name = "ibm-plex-${version}"; name = "ibm-plex-${version}";
url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip"; url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
@ -9,7 +9,7 @@ in fetchzip {
mkdir -p $out/share/fonts mkdir -p $out/share/fonts
unzip -j $downloadedFile "OpenType/*/*.otf" -d $out/share/fonts/opentype unzip -j $downloadedFile "OpenType/*/*.otf" -d $out/share/fonts/opentype
''; '';
sha256 = "1vv0lf2fn0y0ln14s4my8x2mykq1lwqpmkjkhs6cm48mzf740nhs"; sha256 = "11d5bsv7d5rbp9f1gf1l4za3xj6jlqwnvsl5ipwx4angh1kb7nk8";
meta = with lib; { meta = with lib; {
description = "IBM Plex Typeface"; description = "IBM Plex Typeface";

View File

@ -1,18 +1,22 @@
{ lib, fetchzip }: { lib, fetchzip }:
let let
version = "1.006"; version = "1.007";
in fetchzip { in fetchzip {
name = "public-sans-${version}"; name = "public-sans-${version}";
url = "https://github.com/uswds/public-sans/releases/download/v${version}/public-sans-v${version}.zip"; url = "https://github.com/uswds/public-sans/releases/download/v${version}/public-sans-v${version}.zip";
postFetch = '' postFetch = ''
mkdir -p $out/share mkdir -p $out/share/fonts
unzip $downloadedFile fonts/{otf,variable}/\*.\[ot\]tf -d $out/share/ unzip -j $downloadedFile binaries/otf/\*.otf -d $out/share/fonts/opentype
unzip -j $downloadedFile binaries/variable/\*.ttf -d $out/share/fonts/truetype
unzip -j $downloadedFile binaries/webfonts/\*.ttf -d $out/share/fonts/truetype
unzip -j $downloadedFile binaries/webfonts/\*.woff -d $out/share/fonts/woff
unzip -j $downloadedFile binaries/webfonts/\*.woff2 -d $out/share/fonts/woff2
''; '';
sha256 = "1x04mpynfhcgiwx68w5sawgn69xld7k65mbq7n5vcgbfzh2sjwhq"; sha256 = "1yzraw08qm1ig7ks850b329xp6zv2znjwl610dppax34kwhqghsm";
meta = with lib; { meta = with lib; {
description = "A strong, neutral, principles-driven, open source typeface for text or display"; description = "A strong, neutral, principles-driven, open source typeface for text or display";

View File

@ -1,18 +1,22 @@
{ stdenv, fetchzip }: { stdenv, fetchFromGitHub }:
let let
version = "2.0.0"; version = "2.0.2";
in fetchzip { in fetchFromGitHub {
name = "stix-two-${version}"; name = "stix-two-${version}";
url = "https://github.com/stipub/stixfonts/archive/${version}.zip"; owner = "stipub";
repo = "stixfonts";
rev = "v${version}";
postFetch = '' postFetch = ''
mkdir -p $out/share/fonts tar xf $downloadedFile --strip=1
unzip -j $downloadedFile '*/OTF/*.otf' -d $out/share/fonts/opentype install -m444 -Dt $out/share/fonts/opentype/ OTF/*.otf
install -m444 -Dt $out/share/fonts/woff/ WOFF/*.woff
install -m444 -Dt $out/share/fonts/woff2/ WOFF2/*.woff2
''; '';
sha256 = "19i30d2xjk52bjj7xva1hnlyh58yd5phas1njcc8ldcz87a1lhql"; sha256 = "1ah8s0cb67yv4ll8zfs01mdh9m5i2lbkrfbmkhi1xdid6pxsk32x";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://www.stixfonts.org/; homepage = http://www.stixfonts.org/;

View File

@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
''; '';
postFixup = '' postFixup = ''
for panel in $out/share/icons/*/*/panel; do
ln -sf $(realpath ${numix-icon-theme}/share/icons/Numix/16/$(readlink $panel)) $panel
done
for theme in $out/share/icons/*; do for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme gtk-update-icon-cache $theme
done done

View File

@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
''; '';
postFixup = '' postFixup = ''
for panel in $out/share/icons/*/*/panel; do
ln -sf $(realpath ${numix-icon-theme}/share/icons/Numix/16/$(readlink $panel)) $panel
done
for theme in $out/share/icons/*; do for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme gtk-update-icon-cache $theme
done done

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-dash-to-panel"; pname = "gnome-shell-dash-to-panel";
version = "23"; version = "26";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "home-sweet-gnome"; owner = "home-sweet-gnome";
repo = "dash-to-panel"; repo = "dash-to-panel";
rev = "v${version}"; rev = "v${version}";
sha256 = "12smkz3clcvgicr0pdc0fk6igf82nw4hzih1ywv9q43xkqh9w1i6"; sha256 = "1phfx2pblygpcvsppsqqqflm7qnz46mqkw29hj0nv2dn69hf4xbc";
}; };
buildInputs = [ buildInputs = [

View File

@ -1,4 +1,4 @@
{ stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop, gnome3 }: { stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-system-monitor"; pname = "gnome-shell-system-monitor";
@ -41,6 +41,5 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ aneeshusa tiramiseb ]; maintainers = with maintainers; [ aneeshusa tiramiseb ];
homepage = https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet; homepage = https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet;
broken = versionAtLeast gnome3.gnome-shell.version "3.32";
}; };
} }

View File

@ -43,7 +43,7 @@ let
propagate = out: propagate = out:
let setupHook = { writeScript }: let setupHook = { writeScript }:
writeScript "setup-hook" '' writeScript "setup-hook" ''
if [ "$hookName" != postHook ]; then if [ "${hookName:-}" != postHook ]; then
postHooks+=("source @dev@/nix-support/setup-hook") postHooks+=("source @dev@/nix-support/setup-hook")
else else
# Propagate $${out} output # Propagate $${out} output

View File

@ -1,22 +0,0 @@
{ stdenv, fetchurl, python, gettext, intltool, pkgconfig, gtk, gvfs }:
stdenv.mkDerivation rec {
p_name = "gigolo";
ver_maj = "0.4";
ver_min = "2";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0r4ij0mlnp0bqq44pyrdcpz18r1zwsksw6w5yc0jzgg7wj7wfgsm";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ python gettext intltool gtk gvfs];
meta = {
homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
description = "A frontend to easily manage connections to remote filesystems";
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -9,4 +9,8 @@ mkXfceDerivation {
nativeBuildInputs = [ exo ]; nativeBuildInputs = [ exo ];
buildInputs = [ gtk3 glib gvfs ]; buildInputs = [ gtk3 glib gvfs ];
meta = {
description = "A frontend to easily manage connections to remote filesystems";
};
} }

View File

@ -1,90 +0,0 @@
diff -urNZ a/mousepad/mousepad-action-group.c b/mousepad/mousepad-action-group.c
--- a/mousepad/mousepad-action-group.c 2014-09-01 20:50:07.000000000 +0000
+++ b/mousepad/mousepad-action-group.c 2017-12-18 16:57:46.836538403 +0000
@@ -302,11 +302,6 @@
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
self->locked = FALSE;
- /* update the setting when the active action is changed */
- self->locked = TRUE;
- MOUSEPAD_SETTING_SET_STRING (COLOR_SCHEME, gtk_source_style_scheme_get_id (scheme));
- self->locked = FALSE;
-
g_object_notify (G_OBJECT (self), "active-style-scheme");
}
@@ -473,6 +468,8 @@
mousepad_action_group_style_scheme_action_activate (MousepadActionGroup *self,
MousepadStyleSchemeAction *action)
{
+ const gchar *scheme_name = NULL;
+
/* only update the active action if we're not already in the process of
* setting it and the sender action is actually active */
if (! self->locked &&
@@ -481,7 +478,14 @@
GtkSourceStyleScheme *scheme;
scheme = mousepad_style_scheme_action_get_style_scheme (action);
- mousepad_action_group_set_active_style_scheme (self, scheme);
+
+ /* update the setting when the active action is changed */
+ if (scheme != NULL)
+ scheme_name = gtk_source_style_scheme_get_id(scheme);
+
+ self->locked = TRUE;
+ MOUSEPAD_SETTING_SET_STRING (COLOR_SCHEME, scheme_name);
+ self->locked = FALSE;
}
}
diff -urNZ a/mousepad/mousepad-window.c b/mousepad/mousepad-window.c
--- a/mousepad/mousepad-window.c 2014-09-01 20:58:02.000000000 +0000
+++ b/mousepad/mousepad-window.c 2017-12-18 17:07:51.099321408 +0000
@@ -712,32 +712,6 @@
static void
-mousepad_window_action_group_style_scheme_changed (MousepadWindow *window,
- GParamSpec *pspec,
- MousepadActionGroup *group)
-{
- GtkSourceStyleScheme *scheme;
- const gchar *scheme_id;
- gint npages, i;
-
- /* get the new active language */
- scheme = mousepad_action_group_get_active_style_scheme (group);
- scheme_id = gtk_source_style_scheme_get_id (scheme);
-
- /* update the color scheme on all the documents */
- npages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (window->notebook));
- for (i = 0; i < npages; i++)
- {
- MousepadDocument *document;
-
- document = MOUSEPAD_DOCUMENT (gtk_notebook_get_nth_page (GTK_NOTEBOOK (window->notebook), i));
- mousepad_view_set_color_scheme (document->textview, scheme_id);
- }
-}
-
-
-
-static void
mousepad_window_create_style_schemes_menu (MousepadWindow *window)
{
GtkWidget *menu, *item;
@@ -751,13 +725,6 @@
gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
gtk_widget_show_all (menu);
gtk_widget_show (item);
-
- /* watch for activations of the style schemes actions */
- g_signal_connect_object (window->action_group,
- "notify::active-style-scheme",
- G_CALLBACK (mousepad_window_action_group_style_scheme_changed),
- window,
- G_CONNECT_SWAPPED);
}

View File

@ -1,38 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util
, gtk, gtksourceview, dbus, dbus-glib, makeWrapper
, dconf }:
stdenv.mkDerivation rec {
p_name = "mousepad";
ver_maj = "0.4";
ver_min = "0";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "60114431eac8db6bb6ce18bd38f1630cccb684375b97a445a1b6fd619848d132";
};
name = "${p_name}-${ver_maj}.${ver_min}";
patches = [ ./mousepad-12134.patch ];
buildInputs =
[ pkgconfig intltool libxfce4util
gtk gtksourceview dbus dbus-glib makeWrapper
dconf
];
configureFlags = [ "--enable-keyfile-settings" ];
preFixup = ''
wrapProgram "$out/bin/mousepad" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:${gtksourceview}/share" \
--prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
'';
meta = {
homepage = https://www.xfce.org/;
description = "A simple text editor for Xfce";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -12,4 +12,8 @@ mkXfceDerivation {
# See https://github.com/NixOS/nixpkgs/issues/36468 # See https://github.com/NixOS/nixpkgs/issues/36468
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
meta = {
description = "A simple text editor for Xfce";
};
} }

View File

@ -1,44 +0,0 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, intltool, gtk, libical, dbus-glib, tzdata
, libnotify, popt, xfce }:
stdenv.mkDerivation rec {
name = "${p_name}-${ver_maj}.${ver_min}";
p_name = "orage";
ver_maj = "4.12";
ver_min = "1";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w";
};
patches = [
# Fix build with libical 3.0
(fetchpatch {
name = "fix-libical3.patch";
url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/libical3.patch?h=packages/orage&id=7b1b06c42dda034d538977b9f3550b28e370057f;
sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf";
})
];
postPatch = ''
substituteInPlace src/parameters.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
substituteInPlace src/tz_zoneinfo_read.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
substituteInPlace tz_convert/tz_convert.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
'';
postConfigure = "rm -rf libical"; # ensure pkgs.libical is used instead of one included in the orage sources
nativeBuildInputs = [ pkgconfig intltool bison flex ];
buildInputs = [ gtk libical dbus-glib libnotify popt xfce.libxfce4util
xfce.xfce4-panel ];
meta = {
homepage = https://www.xfce.org/projects/;
description = "A simple calendar application with reminders";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.romildo ];
};
}

View File

@ -32,4 +32,8 @@ mkXfceDerivation {
sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf"; sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf";
}) })
]; ];
meta = {
description = "A simple calendar application with reminders";
};
} }

View File

@ -1,38 +0,0 @@
{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, gst_all_1
, gtk, dbus-glib, libxfce4ui, libxfce4util, xfconf
, taglib, libnotify, hicolor-icon-theme
, withGstPlugins ? true
}:
stdenv.mkDerivation rec {
p_name = "parole";
ver_maj = "0.5";
ver_min = "4";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1hxzqg9dfghrhvmnnccwwa4278fh2awkcqy89sla05m08mxvvx60";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig intltool ];
buildInputs = [
makeWrapper hicolor-icon-theme
gtk dbus-glib libxfce4ui libxfce4util xfconf
taglib libnotify
] ++ (with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav]);
configureFlags = [ "--with-gstreamer=1.0" ];
postInstall = stdenv.lib.optionalString withGstPlugins ''
wrapProgram "$out/bin/parole" --prefix \
GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
'';
meta = {
homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
description = "Modern simple media player";
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,6 +1,5 @@
{ mkXfceDerivation, dbus, dbus-glib { mkXfceDerivation, dbus, dbus-glib
, gst-plugins-bad, gst-plugins-base, gst-plugins-good , gst_all_1, gtk3, libnotify, libxfce4ui, libxfce4util
, gst-plugins-ugly, gtk3, libnotify, libxfce4ui, libxfce4util
, taglib, xfconf }: , taglib, xfconf }:
# Doesn't seem to find H.264 codec even though built with gst-plugins-bad. # Doesn't seem to find H.264 codec even though built with gst-plugins-bad.
@ -17,7 +16,7 @@ mkXfceDerivation {
--replace GST_BASE_CFLAGS GST_VIDEO_CFLAGS --replace GST_BASE_CFLAGS GST_VIDEO_CFLAGS
''; '';
buildInputs = [ buildInputs = with gst_all_1; [
dbus dbus
dbus-glib dbus-glib
gst-plugins-bad gst-plugins-bad
@ -31,4 +30,8 @@ mkXfceDerivation {
taglib taglib
xfconf xfconf
]; ];
meta = {
description = "Modern simple media player";
};
} }

View File

@ -1,34 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, libexif, gtk
, exo, dbus-glib, libxfce4util, libxfce4ui, xfconf
, hicolor-icon-theme, makeWrapper
}:
stdenv.mkDerivation rec {
p_name = "ristretto";
ver_maj = "0.6";
ver_min = "3";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0y9d8w1plwp4vmxs44y8k8x15i0k0xln89k6jndhv6lf57g1cs1b";
};
name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs =
[ pkgconfig intltool libexif gtk dbus-glib exo libxfce4util
libxfce4ui xfconf hicolor-icon-theme makeWrapper
];
postInstall = ''
wrapProgram "$out/bin/ristretto" \
--prefix XDG_DATA_DIRS : "${hicolor-icon-theme}/share"
'';
meta = {
homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

View File

@ -10,4 +10,8 @@ mkXfceDerivation {
nativeBuildInputs = [ exo ]; nativeBuildInputs = [ exo ];
buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ]; buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ];
meta = {
description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
};
} }

View File

@ -1,25 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, ncurses, gtk, vte, dbus-glib
, exo, libxfce4util, libxfce4ui
}:
stdenv.mkDerivation rec {
p_name = "xfce4-terminal";
ver_maj = "0.6";
ver_min = "3";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "023y0lkfijifh05yz8grimxadqpi98mrivr00sl18nirq8b4fbwi";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool exo gtk vte libxfce4util ncurses dbus-glib libxfce4ui ];
meta = {
homepage = https://www.xfce.org/projects/terminal;
description = "A modern terminal emulator primarily for the Xfce desktop environment";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,12 @@
{ mkXfceDerivation, docbook_xsl, exo, gtk3, libburn, libisofs, libxfce4ui, libxslt }:
mkXfceDerivation {
category = "apps";
pname = "xfburn";
version = "0.6.1";
sha256 = "0a1ly79x7j5pgr3vbsabb4i0jd5rryaigj9z8iqzr8p9miypx20v";
nativeBuildInputs = [ libxslt docbook_xsl ];
buildInputs = [ exo gtk3 libburn libisofs libxfce4ui ];
}

View File

@ -16,4 +16,8 @@ mkXfceDerivation {
''; '';
buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel ]; buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel ];
meta = {
description = "A Dictionary Client for the Xfce desktop environment";
};
} }

View File

@ -1,51 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, makeWrapper
, glib, gstreamer, gst-plugins-base, gtk
, libxfce4util, libxfce4ui, xfce4-panel, xfconf, libunique ? null
, pulseaudioSupport ? false, gst-plugins-good
}:
let
# The usual Gstreamer plugins package has a zillion dependencies
# that we don't need for a simple mixer, so build a minimal package.
gst_plugins_minimal = gst-plugins-base.override {
minimalDeps = true;
};
gst_plugins_pulse = gst-plugins-good.override {
minimalDeps = true;
};
gst_plugins = [ gst_plugins_minimal ] ++ stdenv.lib.optional pulseaudioSupport gst_plugins_pulse;
in
stdenv.mkDerivation rec {
p_name = "xfce4-mixer";
ver_maj = "4.10";
ver_min = "0";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1pnsd00583l7p5d80rxbh58brzy3jnccwikbbbm730a33c08kid8";
};
name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs =
[ pkgconfig intltool glib gstreamer gtk
libxfce4util libxfce4ui xfce4-panel xfconf libunique makeWrapper
] ++ gst_plugins;
postInstall =
''
wrapProgram "$out/bin/xfce4-mixer" \
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
'';
passthru = { inherit gst_plugins; };
meta = {
homepage = https://www.xfce.org/projects/xfce4-mixer; # referenced but inactive
description = "A volume control application for the Xfce desktop environment";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

View File

@ -1,32 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, libnotify
, gtk , libxfce4util, libxfce4ui, xfconf, hicolor-icon-theme }:
stdenv.mkDerivation rec {
p_name = "xfce4-notifyd";
ver_maj = "0.2";
ver_min = "4";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1l6fpfk0fkizdx7vwbyjdyzzj5i2ng8pf7r8j49nv0cnjhpxczlc";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool libnotify gtk libxfce4util libxfce4ui xfconf hicolor-icon-theme ];
preFixup = ''
# to be able to run the daemon we need it in PATH
ln -rs $out/lib/xfce4/notifyd/xfce4-notifyd $out/bin
'';
doCheck = true;
meta = {
homepage = "http://goodies.xfce.org/projects/applications/${p_name}";
description = "Notification daemon for Xfce";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

View File

@ -9,4 +9,8 @@ mkXfceDerivation {
sha256 = "1lmm9h3ych8dz9jpjkxg91f9ln14xs527nxjxsryks00kmqk4kai"; sha256 = "1lmm9h3ych8dz9jpjkxg91f9ln14xs527nxjxsryks00kmqk4kai";
buildInputs = [ exo gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ]; buildInputs = [ exo gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];
meta = {
description = "Simple notification daemon for Xfce";
};
} }

View File

@ -1,29 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, xfce4-panel, libxfce4util, gtk, libsoup
, glib-networking, exo, hicolor-icon-theme, wrapGAppsHook }:
stdenv.mkDerivation rec {
p_name = "xfce4-screenshooter";
ver_maj = "1.8";
ver_min = "2";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "9dce2ddfaa87f703e870e29bae13f3fc82a1b3f06b44f8386640e45a135f5f69";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [
pkgconfig intltool wrapGAppsHook
];
buildInputs = [
xfce4-panel libxfce4util gtk libsoup exo hicolor-icon-theme glib-networking
];
meta = {
homepage = https://goodies.xfce.org/projects/applications/xfce4-screenshooter;
description = "Xfce screenshooter";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -8,4 +8,8 @@ mkXfceDerivation {
sha256 = "1h14sywvk9l06p3z1cpb79911j8w2wqbk03ldknjkia2rfymjk06"; sha256 = "1h14sywvk9l06p3z1cpb79911j8w2wqbk03ldknjkia2rfymjk06";
buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ]; buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ];
meta = {
description = "Screenshot utility for the Xfce desktop";
};
} }

View File

@ -1,22 +0,0 @@
{ stdenv, fetchurl, intltool, pkgconfig, gtk, libwnck }:
stdenv.mkDerivation rec {
p_name = "xfce4-taskmanager";
ver_maj = "1.1";
ver_min = "0";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1jwywmkkkmz7406m1jq40w6apiav25cznafhigbgpjv6z5hv27if";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool gtk libwnck ];
meta = {
homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
description = "Easy to use task manager for Xfce";
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -9,4 +9,8 @@ mkXfceDerivation {
nativeBuildInputs = [ exo ]; nativeBuildInputs = [ exo ];
buildInputs = [ gtk3 libwnck3 libXmu ]; buildInputs = [ gtk3 libwnck3 libXmu ];
meta = {
description = "Easy to use task manager for Xfce";
};
} }

View File

@ -1,31 +0,0 @@
{ stdenv, fetchurl, pkgconfig, libpulseaudio
, gtk2, libnotify
, keybinder, xfconf
}:
stdenv.mkDerivation rec {
p_name = "xfce4-volumed-pulse";
ver_maj = "0.2";
ver_min = "2";
name = "${p_name}-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0xjcs1b6ix6rwj9xgr9n89h315r3yhdm8wh5bkincd4lhz6ibhqf";
};
buildInputs =
[ libpulseaudio gtk2
keybinder xfconf libnotify
];
nativeBuildInputs = [ pkgconfig ];
meta = with stdenv.lib; {
homepage = https://launchpad.net/xfce4-volumed-pulse;
description = "A volume keys control daemon for the Xfce desktop environment (Xubuntu fork)";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.abbradar ];
};
}

View File

@ -10,6 +10,8 @@ mkXfceDerivation {
buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ]; buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ];
meta = with lib; { meta = with lib; {
description = "A volume keys control daemon for Xfce using pulseaudio";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = [ maintainers.abbradar ];
}; };
} }

View File

@ -1,27 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, URI, glib, gtk, libxfce4ui, libxfce4util
, hicolor-icon-theme }:
stdenv.mkDerivation rec {
p_name = "exo";
ver_maj = "0.10";
ver_min = "7";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "521581481128af93e815f9690020998181f947ac9e9c2b232b1f144d76b1b35c";
};
name = "${p_name}-${ver_maj}.${ver_min}";
outputs = [ "out" "dev" "devdoc" ];
# lib/xfce4/exo-1/exo-compose-mail-1 is a perl script :-/
nativeBuildInputs = [ pkgconfig intltool ];
buildInputs = [ URI glib gtk libxfce4ui libxfce4util hicolor-icon-theme ];
meta = with stdenv.lib; {
homepage = "https://docs.xfce.org/xfce/${p_name}/start";
description = "Application library for the Xfce desktop environment";
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}

View File

@ -1,14 +0,0 @@
diff -urNZ a/garcon-gtk/garcon-gtk-menu.c b/garcon-gtk/garcon-gtk-menu.c
--- a/garcon-gtk/garcon-gtk-menu.c 2017-11-16 19:22:33.551926068 +0000
+++ b/garcon-gtk/garcon-gtk-menu.c 2017-11-16 19:23:33.055497211 +0000
@@ -676,6 +676,9 @@
G_CALLBACK (garcon_gtk_menu_deactivate), menu);
gtk_widget_show (mi);
+ /* submenu are child items, too. */
+ has_children = TRUE;
+
if (menu->priv->show_menu_icons)
{
icon_name = garcon_menu_element_get_icon_name (li->data);
Binary files a/.git/index and b/.git/index differ

View File

@ -1,44 +0,0 @@
From 222080e6d5fce85eb2a8a5c33df671bd9f21add8 Mon Sep 17 00:00:00 2001
From: Yegor Timoshenko <yegortimoshenko@gmail.com>
Date: Thu, 14 Dec 2017 22:04:04 +0000
Subject: [PATCH] Decrement allocation counter on item unref (#12700)
---
garcon/garcon-menu-item-pool.c | 7 ++++++-
garcon/garcon-menu-item.c | 2 ++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
index 2017180..355e520 100644
--- a/garcon/garcon-menu-item-pool.c
+++ b/garcon/garcon-menu-item-pool.c
@@ -191,7 +191,12 @@ garcon_menu_item_pool_filter_exclude (const gchar *desktop_id,
g_return_val_if_fail (GARCON_IS_MENU_ITEM (item), FALSE);
g_return_val_if_fail (node != NULL, FALSE);
- return garcon_menu_node_tree_rule_matches (node, item);
+ gboolean matches = garcon_menu_node_tree_rule_matches (node, item);
+
+ if (matches)
+ garcon_menu_item_increment_allocated (item);
+
+ return matches;
}
diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
index 66a86bf..d61c88f 100644
--- a/garcon/garcon-menu-item.c
+++ b/garcon/garcon-menu-item.c
@@ -1516,6 +1516,8 @@ garcon_menu_item_unref (GarconMenuItem *item)
{
g_return_if_fail (GARCON_IS_MENU_ITEM (item));
+ garcon_menu_item_decrement_allocated (item);
+
/* Decrement the reference counter */
g_object_unref (G_OBJECT (item));
}
--
2.15.1

View File

@ -1,27 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, libxfce4ui, gtk }:
let
p_name = "garcon";
ver_maj = "0.4";
ver_min = "0";
in
stdenv.mkDerivation rec {
name = "${p_name}-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq";
};
outputs = [ "out" "dev" ];
patches = [ ./garcon-10967.patch ./garcon-12700.patch ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool glib libxfce4util gtk libxfce4ui ];
meta = with stdenv.lib; {
homepage = https://www.xfce.org/;
description = "Xfce menu support library";
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}

View File

@ -8,4 +8,8 @@ mkXfceDerivation {
sha256 = "0pamhp1wffiw638s66nws2mpzmwkhvhb6iwccfy8b0kyr57wipjv"; sha256 = "0pamhp1wffiw638s66nws2mpzmwkhvhb6iwccfy8b0kyr57wipjv";
buildInputs = [ gtk3 libxfce4ui libxfce4util ]; buildInputs = [ gtk3 libxfce4ui libxfce4util ];
meta = {
description = "Xfce menu support library";
};
} }

View File

@ -1,31 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk2, withGtk3 ? false, gtk3 ? null }:
assert withGtk3 -> (gtk3 != null);
stdenv.mkDerivation rec {
p_name = "gtk-xfce-engine";
ver_maj = "3.2";
ver_min = "0";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1va71f3gpl8gikfkmqsd5ikgp7qj8b64jii2l98g1ylnv8xrqp47";
};
name = "${p_name}-${ver_maj}.${ver_min}";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ intltool gtk2 ] ++ stdenv.lib.optional withGtk3 gtk3;
# `glib-mkenums' is unhappy that some source files are not valid UTF-8
postPatch = ''find . -type f -name '*.[ch]' -exec sed -r -i 's/\xD6/O/g' {} +'';
configureFlags = stdenv.lib.optional withGtk3 "--enable-gtk3";
meta = {
homepage = https://www.xfce.org/;
description = "GTK theme engine for Xfce";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

View File

@ -1,41 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, xorg, gtk, libxfce4util, xfconf
, libglade, libstartup_notification, hicolor-icon-theme
, withGtk3 ? false, gtk3
}:
let
p_name = "libxfce4ui";
ver_maj = "4.12";
ver_min = "1";
inherit (stdenv.lib) optional;
in
stdenv.mkDerivation rec {
name = "${p_name}-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "3d619811bfbe7478bb984c16543d980cadd08586365a7bc25e59e3ca6384ff43";
};
outputs = [ "out" "dev" "devdoc" ];
nativeBuildInputs = [ pkgconfig intltool ];
buildInputs =
[ gtk libxfce4util xfconf libglade
libstartup_notification hicolor-icon-theme
] ++ optional withGtk3 gtk3;
propagatedBuildInputs = [ xorg.libICE xorg.libSM ];
#TODO: glade?
configureFlags = optional withGtk3 "--enable-gtk3";
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = https://www.xfce.org/;
description = "Basic GUI library for Xfce";
license = licenses.lgpl2Plus;
platforms = platforms.linux;
};
}

View File

@ -1,26 +0,0 @@
{ stdenv, fetchurl, pkgconfig, glib, intltool }:
let
p_name = "libxfce4util";
ver_maj = "4.12";
ver_min = "1";
in
stdenv.mkDerivation rec {
name = "${p_name}-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7";
};
outputs = [ "out" "dev" "devdoc" ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ glib intltool ];
meta = {
homepage = https://www.xfce.org/;
description = "Basic utility non-GUI functions for Xfce";
license = "bsd";
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,37 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk
, libxfce4util, xfconf, libglade, libstartup_notification, hicolor-icon-theme }:
let
p_name = "libxfcegui4";
ver_maj = "4.10";
ver_min = "0";
in
stdenv.mkDerivation rec {
name = "${p_name}-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0cs5im0ib0cmr1lhr5765yliqjfyxvk4kwy8h1l8bn3mj6bzk0ib";
};
outputs = [ "out" "dev" "devdoc" ];
#TODO: gladeui
# By default, libxfcegui4 tries to install into libglade's prefix.
# Install into our own prefix instead.
configureFlags = [
"--with-libglade-module-path=$(out)/lib/libglade/2.0"
];
#NOTE: missing keyboard library support is OK according to the mailing-list
buildInputs =
[ pkgconfig intltool gtk libxfce4util xfconf libglade
libstartup_notification hicolor-icon-theme
];
meta = {
homepage = https://www.xfce.org/;
description = "Basic GUI library for Xfce";
license = stdenv.lib.licenses.lgpl2Plus;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,42 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool
, gtk, dbus-glib, libstartup_notification, libnotify, libexif, pcre, udev
, exo, libxfce4util, xfconf, xfce4-panel, hicolor-icon-theme, wrapGAppsHook
}:
stdenv.mkDerivation rec {
p_name = "thunar";
ver_maj = "1.6";
ver_min = "10";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/Thunar-${ver_maj}.${ver_min}.tar.bz2";
sha256 = "7e9d24067268900e5e44d3325e60a1a2b2f8f556ec238ec12574fbea15fdee8a";
};
name = "${p_name}-build-${ver_maj}.${ver_min}";
patches = [ ./thunarx_plugins_directory.patch ];
postPatch = ''
sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c
'';
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
buildInputs = [
intltool
gtk dbus-glib libstartup_notification libnotify libexif pcre udev
exo libxfce4util xfconf xfce4-panel
hicolor-icon-theme
];
# TODO: optionality?
enableParallelBuilding = true;
meta = {
homepage = http://thunar.xfce.org/;
description = "Xfce file manager";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

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