Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2019-11-20 10:01:49 +01:00
commit 65edeb8633
236 changed files with 2532 additions and 2637 deletions

View File

@ -155,6 +155,14 @@
You should now use the different build tools coming with the languages with sandbox mode disabled.
</para>
</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>
</section>

View File

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

View File

@ -7,12 +7,17 @@ with lib;
let
cfg = config.services.tumbler;
tumbler = cfg.package;
in
{
imports = [
(mkRemovedOptionModule
[ "services" "tumbler" "package" ]
"")
];
###### interface
options = {
@ -21,13 +26,6 @@ in
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 {
environment.systemPackages = [
environment.systemPackages = with pkgs.xfce; [
tumbler
];
services.dbus.packages = [
services.dbus.packages = with pkgs.xfce; [
tumbler
];

View File

@ -74,7 +74,7 @@ in {
default = false;
description = ''
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 ];
systemd.packages = [ cfg.package ];
systemd.tmpfiles.rules = [
"d /var/lib/fwupd 0755 root root -"
];
};
meta = {

View File

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

View File

@ -25,6 +25,13 @@ in
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 {
type = types.str;
default = "127.0.0.1";
@ -53,7 +60,7 @@ in
serviceConfig = {
DynamicUser = true;
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";
};
};

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 database ${cfg.database.dbname} with owner ${cfg.database.username}";
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 \
-h ${cfg.database.host} ${cfg.database.dbname}
touch /var/lib/roundcube/db-created

View File

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

View File

@ -78,7 +78,11 @@ in
cacheNetworks = mkOption {
default = ["127.0.0.0/24"];
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";
PrivateDevices = "true";
MemoryDenyWriteExecute = "true";
# Permission for preStart
PermissionsStartOnly = "true";
};
};
users.users.${cfg.user} = {

View File

@ -23,6 +23,8 @@ in
type = types.int;
description = ''
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;
fsWatcherDelayS = folder.watchDelay;
ignorePerms = folder.ignorePerms;
versioning = folder.versioning;
}) (filterAttrs (
_: folder:
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 {
type = types.int;
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
# has additional options that affect the web server as a whole, like
# 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
# has additional options that affect the web server as a whole, like
# the user/group to run under.)

View File

@ -18,7 +18,7 @@ in
# determines the default: later modules (if enabled) are preferred.
# E.g., if Plasma 5 is enabled, it supersedes xterm.
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
./mate.nix ./pantheon.nix ./surf-display.nix
];

View File

@ -7,6 +7,32 @@ let
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 = {
services.xserver.desktopManager.xfce = {
enable = mkOption {
@ -30,14 +56,6 @@ in
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 {
type = types.bool;
default = true;
@ -48,76 +66,101 @@ in
config = mkIf cfg.enable {
environment.systemPackages = with pkgs.xfce // pkgs; [
# Get GTK themes and gtk-update-icon-cache
gtk2.out
glib # for gsettings
gtk3.out # gtk-update-icon-cache
# Supplies some abstract icons such as:
# utilities-terminal, accessories-text-editor
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
# TODO: replace with command -v
which
xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
exo
garcon
gtk-xfce-engine
libxfce4ui
tumbler
xfconf
mousepad
parole
ristretto
xfce4-appfinder
xfce4-screenshooter
xfce4-session
xfce4-settings
xfce4-taskmanager
xfce4-terminal
(thunar.override { thunarPlugins = cfg.thunarPlugins; })
thunar-volman # TODO: drop
] ++ (if config.hardware.pulseaudio.enable
then [ xfce4-mixer-pulse xfce4-volumed-pulse ]
else [ xfce4-mixer xfce4-volumed ])
# TODO: NetworkManager doesn't belong here
++ optionals config.networking.networkmanager.enable [ networkmanagerapplet ]
++ optionals config.powerManagement.enable [ xfce4-power-manager ]
++ optionals cfg.enableXfwm [ xfwm4 ]
++ optionals (!cfg.noDesktop) [
xfce4-panel
] # 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"
"/share/themes"
"/share/gtksourceview-2.0"
"/lib/xfce4"
"/share/gtksourceview-3.0"
"/share/gtksourceview-4.0"
];
services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
services.xserver.desktopManager.session = [{
name = "xfce";
bgSupport = true;
start = ''
${cfg.extraSessionCommands}
${pkgs.runtimeShell} ${pkgs.xfce.xinitrc} &
${pkgs.runtimeShell} ${pkgs.xfce.xfce4-session.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.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 =
''
# Automatically enable the libinput driver for all touchpads.
# General libinput configuration.
# See CONFIGURATION DETAILS section of man:libinput(4).
Section "InputClass"
Identifier "libinputConfiguration"
MatchIsTouchpad "on"
MatchDriver "libinput"
${optionalString (cfg.dev != null) ''MatchDevicePath "${cfg.dev}"''}
Driver "libinput"
Option "AccelProfile" "${cfg.accelProfile}"
${optionalString (cfg.accelSpeed != null) ''Option "AccelSpeed" "${cfg.accelSpeed}"''}
${optionalString (cfg.buttonMapping != null) ''Option "ButtonMapping" "${cfg.buttonMapping}"''}

View File

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

View File

@ -20,6 +20,18 @@ with lib;
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 = ''
[Time]
NTP=${concatStringsSep " " config.services.timesyncd.servers}
${config.services.timesyncd.extraConfig}
'';
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.udisks2)
(all nixos.tests.xfce)
(all nixos.tests.xfce4-14)
nixpkgs.tarball
(all allSupportedNixpkgs.emacs)

View File

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

View File

@ -9,7 +9,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
services.roundcube = {
enable = true;
hostName = "roundcube";
database.password = "notproduction";
database.password = "not production";
package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]);
plugins = [ "persistent_login" ];
};
@ -21,10 +21,11 @@ import ./make-test-python.nix ({ pkgs, ...} : {
};
testScript = ''
roundcube.start
roundcube.wait_for_unit("postgresql.service")
roundcube.wait_for_unit("phpfpm-roundcube.service")
roundcube.wait_for_unit("nginx.service")
roundcube.succeed("curl -sSL http://roundcube/ | grep 'Keep me logged in'")
$roundcube->start;
$roundcube->waitForUnit("postgresql.service");
$roundcube->waitForUnit("roundcube-setup.service");
$roundcube->waitForUnit("phpfpm-roundcube.service");
$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";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ eelco shlevy ];
};
machine =
{ pkgs, ... }:
@ -16,31 +13,26 @@ import ./make-test.nix ({ pkgs, ...} : {
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
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);
testScript = { nodes, ... }: let
user = nodes.machine.config.users.users.alice;
in ''
machine.wait_for_x()
machine.wait_for_file("${user.home}/.Xauthority")
machine.succeed("xauth merge ${user.home}/.Xauthority")
machine.wait_for_window("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("getfacl -p /dev/snd/timer | grep -q ${user.name}")
$machine->succeed("su - alice -c 'DISPLAY=:0.0 xfce4-terminal &'");
$machine->waitForWindow(qr/Terminal/);
$machine->sleep(10);
$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'");
machine.succeed("su - ${user.name} -c 'DISPLAY=:0.0 xfce4-terminal &'")
machine.wait_for_window("Terminal")
machine.sleep(10)
machine.screenshot("screen")
'';
})

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 }:
let
glfw-git = glfw.overrideAttrs (oldAttrs: rec {
name = "glfw-git-${version}";
version = "2019-06-30";
src = fetchFromGitHub {
owner = "glfw";
repo = "glfw";
rev = "d25248343e248337284dfbe5ecd1eddbd37ae66d";
sha256 = "0gbz353bfmqbpm0af2nqf5draz3k4f3lqwiqj68s8nwn7878aqm3";
};
buildInputs = oldAttrs.buildInputs ++ [ libXext libXi ];
});
# The package repo vendors some of the package dependencies as submodules.
# Others are downloaded with `make deps`. Due to previous issues with the
# `glfw` submodule (see above) and because we can not access the network when
# building in a sandbox, we fetch the dependency source manually.
pfft-source = fetchFromBitbucket {
owner = "jpommier";
repo = "pffft";
@ -47,24 +40,22 @@ let
in
with stdenv.lib; stdenv.mkDerivation rec {
pname = "VCV-Rack";
version = "1.1.5";
version = "1.1.6";
src = fetchFromGitHub {
owner = "VCVRack";
repo = "Rack";
rev = "v${version}";
sha256 = "1g3mkghgiycbxyvzjhanc1b10jynkfkw03bpnha06qgd6gd9wv7k";
sha256 = "0ji64prr74qzxf5bx1sw022kbslx9nzll16lmk5in78hbl137b3i";
};
patches = [
./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 = ''
# As we can't use `make dep` to set up the dependencies (as explained
# above), we do it here manually
mkdir -p dep/include
cp -r ${pfft-source} dep/jpommier-pffft-source
@ -86,7 +77,7 @@ with stdenv.lib; stdenv.mkDerivation rec {
enableParallelBuilding = true;
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";

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 {
pname = "kdev-php";
version = "5.4.3";
version = "5.4.4";
src = fetchurl {
url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
sha256 = "0nf9nlykdq40yxdda0as16pd0c5rahwba1fbwni8g19w8mf2y3h5";
sha256 = "1q80vh2b4bmpa3sh94b6jsa5ymqr6hcn76mr2lyw30h2ppy5hm5l";
};
nativeBuildInputs = [ cmake extra-cmake-modules ];

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,13 +2,13 @@
buildGoPackage rec {
pname = "cointop";
version = "1.3.6";
version = "1.4.1";
src = fetchFromGitHub {
owner = "miguelmota";
repo = pname;
rev = version;
sha256 = "0xm616yjqf6qq98yjbdj6lihib2p4fh6jd91dcb59arkbs2l1nbg";
sha256 = "067jsn66xs30d5yz9z8cvpxbvh8a95kllkb2wk134c43bfxy2m34";
};
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 {
pname = "gpscorrelate";
version = "unstable-2019-09-03";
version = "2.0";
src = fetchFromGitHub {
owner = "dfandrich";
repo = pname;
rev = "e1dd44a34f67b1ab7201440e60a840258ee448d2";
sha256 = "0gjwwdqh9dprzylmmnk3gm41khka9arkij3i9amd8y7d49pm9rlv";
rev = version;
sha256 = "1wkpb0nqnm0ik46hp2sibf96h2gxi6n951zm8c72scgmh4ciq4fl";
};
patches = [ ./fix-localedir.diff ];
nativeBuildInputs = [
desktop-file-utils
docbook_xml_dtd_42
@ -30,7 +28,6 @@ stdenv.mkDerivation rec {
makeFlags = [
"prefix=${placeholder "out"}"
"GTK=3"
"CC=cc"
"CXX=c++"
"CFLAGS=-DENABLE_NLS"
@ -60,7 +57,7 @@ stdenv.mkDerivation rec {
'';
license = licenses.gpl2Plus;
homepage = "https://github.com/dfandrich/gpscorrelate";
homepage = "https://dfandrich.github.io/gpscorrelate/";
platforms = platforms.linux;
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 {
pname = "Cerberus";
version = "1.3.1";
version = "1.1";
src = fetchPypi {
inherit pname version;
sha256 = "0be48fc0dc84f83202a5309c0aa17cd5393e70731a1698a50d118b762fbe6875";
sha256 = "1pxzr8sfm2hc5s96m9k044i44nwkva70n0ypr6a35v73zn891cx5";
};
checkInputs = [ pytestrunner pytest ];

View File

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

View File

@ -11,82 +11,108 @@
, withGeoclue ? withGeolocation && stdenv.isLinux, geoclue
}:
stdenv.mkDerivation rec {
pname = "redshift";
version = "1.12";
let
mkRedshift =
{ pname, version, src, meta }:
stdenv.mkDerivation rec {
inherit pname version src meta;
src = fetchFromGitHub {
owner = "jonls";
repo = "redshift";
rev = "v${version}";
sha256 = "12cb4gaqkybp4bkkns8pam378izr2mwhr2iy04wkprs2v92j7bz6";
patches = [
# https://github.com/jonls/redshift/pull/575
./575.patch
];
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 = [
# https://github.com/jonls/redshift/pull/575
./575.patch
];
redshift-wlr = mkRedshift {
pname = "redshift-wlr";
version = "2019-04-17";
nativeBuildInputs = [
autoconf
automake
gettext
intltool
libtool
pkgconfig
wrapGAppsHook
wrapPython
];
src = fetchFromGitHub {
owner = "minus7";
repo = "redshift";
rev = "eecbfedac48f827e96ad5e151de8f41f6cd3af66";
sha256 = "0rs9bxxrw4wscf4a8yl776a8g880m5gcm75q06yx2cn3lw2b7v22";
};
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;
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 ];
meta = redshift.meta // {
description = redshift.meta.description + "(with wlroots patches)";
homepage = https://github.com/minus7/redshift;
};
};
}

View File

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

View File

@ -112,8 +112,8 @@ in rec {
terraform_0_11-full = terraform_0_11.full;
terraform_0_12 = pluggable (generic {
version = "0.12.15";
sha256 = "18kvgb2sjldis7bykb11zqzx6avr7a4ry91xsfq4v0iwbi5k383b";
version = "0.12.16";
sha256 = "10r9vra4d3lyms9cvl0g1ij6ldcfi3vjrqsmd52isrmlmjdzm8nk";
patches = [ ./provider-path.patch ];
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
, enablePam ? false, pam ? null
}:
@ -25,6 +25,14 @@ stdenv.mkDerivation rec {
] ++ optional enableLibPurple "--purple=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" ];
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 {
pname = "signal-cli";
@ -10,16 +10,24 @@ stdenv.mkDerivation rec {
sha256 = "1gvdifscyxmxn2dwlkqi684ahy5kbcj84mqda0m8l4aa8iaq1d59";
};
buildInputs = [ makeWrapper ];
buildInputs = lib.optional stdenv.isLinux [ libmatthew_java dbus dbus_java ];
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/bin
cp -r lib $out/lib
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 \
--prefix PATH : ${lib.makeBinPath [ jre_headless ]} \
--set JAVA_HOME ${jre_headless}
'';
'');
# Execution in the macOS (10.13) sandbox fails with
# 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()
# /nix/store/in41dz8byyyz4c0w132l7mqi43liv4yr-stdenv-darwin/setup: line 1310: 2231 Abort trap: 6 signal-cli --version
doInstallCheck = stdenv.isLinux;
installCheckPhase = ''
export PATH=$PATH:$out/bin
# --help returns non-0 exit code even when working
@ -39,7 +48,7 @@ stdenv.mkDerivation rec {
homepage = https://github.com/AsamK/signal-cli;
description = "Command-line and dbus interface for communicating with the Signal messaging service";
license = licenses.gpl3;
maintainers = with maintainers; [ ivan ];
maintainers = with maintainers; [ ivan erictapen ];
platforms = platforms.all;
};
}

View File

@ -59,7 +59,10 @@ let
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
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";
}
else

View File

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

View File

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

View File

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

View File

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

View File

@ -1,25 +1,29 @@
{ stdenv, fetchurl, makeWrapper, jre }:
stdenv.mkDerivation rec {
version = "13.2.1";
version = "13.5.0";
pname = "mediathekview";
src = fetchurl {
url = "https://download.mediathekview.de/stabil/MediathekView-${version}.tar.gz";
sha256 = "11wg6klviig0h7pprfaygamsgqr7drqra2s4yxgfak6665033l2a";
url = "https://download.mediathekview.de/stabil/MediathekView-${version}-linux.tar.gz";
sha256 = "0n05w2d6sh03rjms7m9b5nj84cl16gkrc9nsn53kvldglmqmmrac";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/{lib,bin,share/mediathekview}
mkdir -p $out/{bin,lib}
install -m644 MediathekView.jar $out/
install -m644 -t $out/lib lib/*
install -m755 bin/flv.sh $out/share/mediathekview
install -m644 MediathekView.jar $out/lib
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; {
description = "Offers access to the Mediathek of different tv stations (ARD, ZDF, Arte, etc.)";

View File

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

View File

@ -1,18 +1,22 @@
{ lib, fetchzip }:
let
version = "1.006";
version = "1.007";
in fetchzip {
name = "public-sans-${version}";
url = "https://github.com/uswds/public-sans/releases/download/v${version}/public-sans-v${version}.zip";
postFetch = ''
mkdir -p $out/share
unzip $downloadedFile fonts/{otf,variable}/\*.\[ot\]tf -d $out/share/
mkdir -p $out/share/fonts
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; {
description = "A strong, neutral, principles-driven, open source typeface for text or display";

View File

@ -1,18 +1,22 @@
{ stdenv, fetchzip }:
{ stdenv, fetchFromGitHub }:
let
version = "2.0.0";
in fetchzip {
version = "2.0.2";
in fetchFromGitHub {
name = "stix-two-${version}";
url = "https://github.com/stipub/stixfonts/archive/${version}.zip";
owner = "stipub";
repo = "stixfonts";
rev = "v${version}";
postFetch = ''
mkdir -p $out/share/fonts
unzip -j $downloadedFile '*/OTF/*.otf' -d $out/share/fonts/opentype
tar xf $downloadedFile --strip=1
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; {
homepage = http://www.stixfonts.org/;

View File

@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
'';
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
gtk-update-icon-cache $theme
done

View File

@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
'';
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
gtk-update-icon-cache $theme
done

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "gnome-shell-dash-to-panel";
version = "23";
version = "26";
src = fetchFromGitHub {
owner = "home-sweet-gnome";
repo = "dash-to-panel";
rev = "v${version}";
sha256 = "12smkz3clcvgicr0pdc0fk6igf82nw4hzih1ywv9q43xkqh9w1i6";
sha256 = "1phfx2pblygpcvsppsqqqflm7qnz46mqkw29hj0nv2dn69hf4xbc";
};
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 {
pname = "gnome-shell-system-monitor";
@ -41,6 +41,5 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus;
maintainers = with maintainers; [ aneeshusa tiramiseb ];
homepage = https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet;
broken = versionAtLeast gnome3.gnome-shell.version "3.32";
};
}

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 ];
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
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";
})
];
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
, gst-plugins-bad, gst-plugins-base, gst-plugins-good
, gst-plugins-ugly, gtk3, libnotify, libxfce4ui, libxfce4util
, gst_all_1, gtk3, libnotify, libxfce4ui, libxfce4util
, taglib, xfconf }:
# 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
'';
buildInputs = [
buildInputs = with gst_all_1; [
dbus
dbus-glib
gst-plugins-bad
@ -31,4 +30,8 @@ mkXfceDerivation {
taglib
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 ];
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 ];
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";
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";
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 ];
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 ];
meta = with lib; {
description = "A volume keys control daemon for Xfce using pulseaudio";
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";
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 ];
};
}

View File

@ -1,30 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
, xfconf, udev, libgudev, libnotify, hicolor-icon-theme }:
stdenv.mkDerivation rec {
p_name = "thunar-volman";
ver_maj = "0.8";
ver_min = "1";
name = "${p_name}-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s";
};
buildInputs =
[ pkgconfig intltool exo gtk udev libgudev libxfce4ui libxfce4util
xfconf libnotify hicolor-icon-theme
];
enableParallelBuilding = true;
meta = {
homepage = https://goodies.xfce.org/projects/thunar-plugins/thunar-volman;
description = "Thunar extension for automatic management of removable drives and media";
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