Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-08-28 00:12:00 +00:00 committed by GitHub
commit c0f6e57cde
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
450 changed files with 5050 additions and 2271 deletions

View file

@ -1,3 +1,50 @@
# wafHook {#wafhook}
Overrides the configure, build, and install phases. This will run the “waf” script used by many projects. If `wafPath` (default `./waf`) doesnt exist, it will copy the version of waf available in Nixpkgs. `wafFlags` can be used to pass flags to the waf script.
[Waf](https://waf.io) is a Python-based software building system.
In Nixpkgs, `wafHook` overrides the default configure, build, and install phases.
## Variables controlling wafHook {#variablesControllingWafHook}
### `wafPath` {#wafPath}
Location of the `waf` tool. It defaults to `./waf`, to honor software projects that include it directly inside their source trees.
If `wafPath` doesn't exist, then `wafHook` will copy the `waf` provided from Nixpkgs to it.
### `wafConfigureFlags` {#wafConfigureFlags}
Controls the flags passed to waf tool during configure phase.
### `wafFlags` {#wafFlags}
Controls the flags passed to waf tool during build and install phases.
### `dontAddWafCrossFlags` {#dontAddWafCrossFlags}
When set to `true`, don't add cross compilation flags during configure phase.
### `dontUseWafConfigure` {#dontUseWafConfigure}
When set to true, don't use the predefined `wafConfigurePhase`.
### `dontUseWafBuild` {#dontUseWafBuild}
When set to true, don't use the predefined `wafBuildPhase`.
### `dontUseWafInstall` {#dontUseWafInstall}
When set to true, don't use the predefined `wafInstallPhase`.
### Variables honored by wafHook {#variablesHonoredByWafHook}
The following variables commonly used by `stdenv.mkDerivation` are also honored by `wafHook`.
- `prefixKey`
- `configureTargets`
- `enableParallelBuilding`
- `enableParallelInstalling`
- `buildFlags`
- `buildTargets`
- `installFlags`
- `installTargets`

View file

@ -8927,6 +8927,15 @@
githubId = 546087;
name = "Kristoffer K. Føllesdal";
};
kgtkr = {
email = "contact@kgtkr.net";
github = "kgtkr";
githubId = 17868838;
name = "kgtkr";
keys = [{
fingerprint = "B30D BE93 81E0 3D5D F301 88C8 1F6E B951 9F57 3241";
}];
};
khaneliman = {
email = "khaneliman12@gmail.com";
github = "khaneliman";
@ -9489,6 +9498,12 @@
githubId = 621759;
name = "Lassulus";
};
laurailway = {
email = "laurailway.git@posteo.net";
github = "LAURAilway";
githubId = 118690640;
name = "Laura";
};
laurent-f1z1 = {
email = "laurent.nixpkgs@fainsin.bzh";
github = "Laurent2916";
@ -14851,6 +14866,12 @@
githubId = 7365864;
name = "Rafael Varago";
};
rvdp = {
email = "ramses@well-founded.dev";
github = "R-VdP";
githubId = 141248;
name = "Ramses";
};
rvl = {
email = "dev+nix@rodney.id.au";
github = "rvl";

View file

@ -207,6 +207,8 @@ The module update takes care of the new config syntax and the data itself (user
- `services.prometheus.exporters` has a new exporter to monitor electrical power consumption based on PowercapRAPL sensor called [Scaphandre](https://github.com/hubblo-org/scaphandre), see [#239803](https://github.com/NixOS/nixpkgs/pull/239803) for more details.
- The MariaDB C client library was upgraded from 3.2.x to 3.3.x. It is recomended to review the [upstream release notes](https://mariadb.com/kb/en/mariadb-connector-c-33-release-notes/).
- The module `services.calibre-server` has new options to configure the `host`, `port`, `auth.enable`, `auth.mode` and `auth.userDb` path, see [#216497](https://github.com/NixOS/nixpkgs/pull/216497/) for more details.
- `services.prometheus.exporters` has a new [exporter](https://github.com/hipages/php-fpm_exporter) to monitor PHP-FPM processes, see [#240394](https://github.com/NixOS/nixpkgs/pull/240394) for more details.
@ -221,6 +223,12 @@ The module update takes care of the new config syntax and the data itself (user
- Suricata was upgraded from 6.0 to 7.0 and no longer considers HTTP/2 support as experimental, see [upstream release notes](https://forum.suricata.io/t/suricata-7-0-0-released/3715) for more details.
- `networking.nftables` now has the option `networking.nftables.table.<table>` to create tables
and have them be updated atomically, instead of flushing the ruleset.
- `networking.nftables` is no longer flushing all rulesets on every reload.
Use `networking.nftables.flushRuleset = true;` to get back the old behaviour.
## Nixpkgs internals {#sec-release-23.11-nixpkgs-internals}
- The use of `sourceRoot = "source";`, `sourceRoot = "source/subdir";`, and similar lines in package derivations using the default `unpackPhase` is deprecated as it requires `unpackPhase` to always produce a directory named "source". Use `sourceRoot = src.name`, `sourceRoot = "${src.name}/subdir";`, or `setSourceRoot = "sourceRoot=$(echo */subdir)";` or similar instead.

View file

@ -333,6 +333,8 @@ in
backup.rcloneConfig);
path = [ pkgs.openssh ];
restartIfChanged = false;
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = (optionals (backupPaths != "") [ "${resticCmd} backup ${concatStringsSep " " (backup.extraBackupArgs ++ excludeFlags)} ${backupPaths}" ])

View file

@ -70,10 +70,8 @@ in
}
];
networking.nftables.ruleset = ''
table inet nixos-fw {
networking.nftables.tables."nixos-fw".family = "inet";
networking.nftables.tables."nixos-fw".content = ''
${optionalString (cfg.checkReversePath != false) ''
chain rpfilter {
type filter hook prerouting priority mangle + 10; policy drop;
@ -169,9 +167,6 @@ in
}
''}
}
'';
};

View file

@ -145,28 +145,28 @@ in
}
];
networking.nftables.ruleset = ''
table ip nixos-nat {
${mkTable {
networking.nftables.tables = {
"nixos-nat" = {
family = "ip";
content = mkTable {
ipVer = "ip";
inherit dest ipSet;
forwardPorts = filter (x: !(isIPv6 x.destination)) cfg.forwardPorts;
inherit (cfg) dmzHost;
}}
}
${optionalString cfg.enableIPv6 ''
table ip6 nixos-nat {
${mkTable {
ipVer = "ip6";
dest = destIPv6;
ipSet = ipv6Set;
forwardPorts = filter (x: isIPv6 x.destination) cfg.forwardPorts;
dmzHost = null;
}}
}
''}
'';
};
};
"nixos-nat6" = mkIf cfg.enableIPv6 {
family = "ip6";
name = "nixos-nat";
content = mkTable {
ipVer = "ip6";
dest = destIPv6;
ipSet = ipv6Set;
forwardPorts = filter (x: isIPv6 x.destination) cfg.forwardPorts;
dmzHost = null;
};
};
};
networking.firewall.extraForwardRules = optionalString config.networking.firewall.filterForward ''
${optionalString (ifaceSet != "") ''

View file

@ -2,6 +2,35 @@
with lib;
let
cfg = config.networking.nftables;
tableSubmodule = { name, ... }: {
options = {
enable = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc "Enable this table.";
};
name = mkOption {
type = types.str;
description = lib.mdDoc "Table name.";
};
content = mkOption {
type = types.lines;
description = lib.mdDoc "The table content.";
};
family = mkOption {
description = lib.mdDoc "Table family.";
type = types.enum [ "ip" "ip6" "inet" "arp" "bridge" "netdev" ];
};
};
config = {
name = mkDefault name;
};
};
in
{
###### interface
@ -54,6 +83,24 @@ in
'';
};
networking.nftables.flushRuleset = mkEnableOption (lib.mdDoc "Flush the entire ruleset on each reload.");
networking.nftables.extraDeletions = mkOption {
type = types.lines;
default = "";
example = ''
# this makes deleting a non-existing table a no-op instead of an error
table inet some-table;
delete table inet some-table;
'';
description =
lib.mdDoc ''
Extra deletion commands to be run on every firewall start, reload
and after stopping the firewall.
'';
};
networking.nftables.ruleset = mkOption {
type = types.lines;
default = "";
@ -103,7 +150,10 @@ in
lib.mdDoc ''
The ruleset to be used with nftables. Should be in a format that
can be loaded using "/bin/nft -f". The ruleset is updated atomically.
This option conflicts with rulesetFile.
Note that if the tables should be cleaned first, either:
- networking.nftables.flushRuleset = true; needs to be set (flushes all tables)
- networking.nftables.extraDeletions needs to be set
- or networking.nftables.tables can be used, which will clean up the table automatically
'';
};
networking.nftables.rulesetFile = mkOption {
@ -113,9 +163,64 @@ in
lib.mdDoc ''
The ruleset file to be used with nftables. Should be in a format that
can be loaded using "nft -f". The ruleset is updated atomically.
This option conflicts with ruleset and nftables based firewall.
'';
};
networking.nftables.tables = mkOption {
type = types.attrsOf (types.submodule tableSubmodule);
default = {};
description = lib.mdDoc ''
Tables to be added to ruleset.
Tables will be added together with delete statements to clean up the table before every update.
'';
example = {
filter = {
family = "inet";
content = ''
# Check out https://wiki.nftables.org/ for better documentation.
# Table for both IPv4 and IPv6.
# Block all incoming connections traffic except SSH and "ping".
chain input {
type filter hook input priority 0;
# accept any localhost traffic
iifname lo accept
# accept traffic originated from us
ct state {established, related} accept
# ICMP
# routers may also want: mld-listener-query, nd-router-solicit
ip6 nexthdr icmpv6 icmpv6 type { destination-unreachable, packet-too-big, time-exceeded, parameter-problem, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept
ip protocol icmp icmp type { destination-unreachable, router-advertisement, time-exceeded, parameter-problem } accept
# allow "ping"
ip6 nexthdr icmpv6 icmpv6 type echo-request accept
ip protocol icmp icmp type echo-request accept
# accept SSH connections (required for a server)
tcp dport 22 accept
# count and drop any other traffic
counter drop
}
# Allow all outgoing connections.
chain output {
type filter hook output priority 0;
accept
}
chain forward {
type filter hook forward priority 0;
accept
}
'';
};
};
};
};
###### implementation
@ -124,6 +229,8 @@ in
boot.blacklistedKernelModules = [ "ip_tables" ];
environment.systemPackages = [ pkgs.nftables ];
networking.networkmanager.firewallBackend = mkDefault "nftables";
# versionOlder for backportability, remove afterwards
networking.nftables.flushRuleset = mkDefault (versionOlder config.system.stateVersion "23.11" || (cfg.rulesetFile != null || cfg.ruleset != ""));
systemd.services.nftables = {
description = "nftables firewall";
before = [ "network-pre.target" ];
@ -131,18 +238,49 @@ in
wantedBy = [ "multi-user.target" ];
reloadIfChanged = true;
serviceConfig = let
enabledTables = filterAttrs (_: table: table.enable) cfg.tables;
deletionsScript = pkgs.writeScript "nftables-deletions" ''
#! ${pkgs.nftables}/bin/nft -f
${if cfg.flushRuleset then "flush ruleset"
else concatStringsSep "\n" (mapAttrsToList (_: table: ''
table ${table.family} ${table.name}
delete table ${table.family} ${table.name}
'') enabledTables)}
${cfg.extraDeletions}
'';
deletionsScriptVar = "/var/lib/nftables/deletions.nft";
ensureDeletions = pkgs.writeShellScript "nftables-ensure-deletions" ''
touch ${deletionsScriptVar}
chmod +x ${deletionsScriptVar}
'';
saveDeletionsScript = pkgs.writeShellScript "nftables-save-deletions" ''
cp ${deletionsScript} ${deletionsScriptVar}
'';
cleanupDeletionsScript = pkgs.writeShellScript "nftables-cleanup-deletions" ''
rm ${deletionsScriptVar}
'';
rulesScript = pkgs.writeTextFile {
name = "nftables-rules";
executable = true;
text = ''
#! ${pkgs.nftables}/bin/nft -f
flush ruleset
${if cfg.rulesetFile != null then ''
# previous deletions, if any
include "${deletionsScriptVar}"
# current deletions
include "${deletionsScript}"
${concatStringsSep "\n" (mapAttrsToList (_: table: ''
table ${table.family} ${table.name} {
${table.content}
}
'') enabledTables)}
${cfg.ruleset}
${lib.optionalString (cfg.rulesetFile != null) ''
include "${cfg.rulesetFile}"
'' else cfg.ruleset}
''}
'';
checkPhase = lib.optionalString cfg.checkRuleset ''
cp $out ruleset.conf
sed 's|include "${deletionsScriptVar}"||' -i ruleset.conf
${cfg.preCheckRuleset}
export NIX_REDIRECTS=/etc/protocols=${pkgs.buildPackages.iana-etc}/etc/protocols:/etc/services=${pkgs.buildPackages.iana-etc}/etc/services
LD_PRELOAD="${pkgs.buildPackages.libredirect}/lib/libredirect.so ${pkgs.buildPackages.lklWithFirewall.lib}/lib/liblkl-hijack.so" \
@ -152,9 +290,11 @@ in
in {
Type = "oneshot";
RemainAfterExit = true;
ExecStart = rulesScript;
ExecReload = rulesScript;
ExecStop = "${pkgs.nftables}/bin/nft flush ruleset";
ExecStart = [ ensureDeletions rulesScript ];
ExecStartPost = saveDeletionsScript;
ExecReload = [ ensureDeletions rulesScript saveDeletionsScript ];
ExecStop = [ deletionsScriptVar cleanupDeletionsScript ];
StateDirectory = "nftables";
};
};
};

View file

@ -160,7 +160,7 @@ in
root * ${cfg.ui.package}/dist
file_server
}
handle_path /static/undefined/* {
handle_path /static/${cfg.ui.package.passthru.commit_sha}/* {
root * ${cfg.ui.package}/dist
file_server
}

View file

@ -35,6 +35,7 @@ in
./openbox.nix
./pekwm.nix
./notion.nix
./ragnarwm.nix
./ratpoison.nix
./sawfish.nix
./smallwm.nix

View file

@ -0,0 +1,33 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.xserver.windowManager.ragnarwm;
in
{
###### interface
options = {
services.xserver.windowManager.ragnarwm = {
enable = mkEnableOption (lib.mdDoc "ragnarwm");
package = mkOption {
type = types.package;
default = pkgs.ragnarwm;
defaultText = literalExpression "pkgs.ragnarwm";
description = lib.mdDoc ''
The ragnar package to use.
'';
};
};
};
###### implementation
config = mkIf cfg.enable {
services.xserver.displayManager.sessionPackages = [ cfg.package ];
environment.systemPackages = [ cfg.package ];
};
meta.maintainers = with lib.maintainers; [ sigmanificient ];
}

View file

@ -349,6 +349,7 @@ in {
invidious = handleTest ./invidious.nix {};
oci-containers = handleTestOn ["aarch64-linux" "x86_64-linux"] ./oci-containers.nix {};
odoo = handleTest ./odoo.nix {};
odoo15 = handleTest ./odoo.nix { package = pkgs.odoo15; };
# 9pnet_virtio used to mount /nix partition doesn't support
# hibernation. This test happens to work on x86_64-linux but
# not on other platforms.
@ -672,6 +673,7 @@ in {
rabbitmq = handleTest ./rabbitmq.nix {};
radarr = handleTest ./radarr.nix {};
radicale = handleTest ./radicale.nix {};
ragnarwm = handleTest ./ragnarwm.nix {};
rasdaemon = handleTest ./rasdaemon.nix {};
readarr = handleTest ./readarr.nix {};
redis = handleTest ./redis.nix {};

View file

@ -20,8 +20,8 @@ import ../make-test-python.nix ({ pkgs, ...} : {
networking = {
firewall.enable = false;
nftables.enable = true;
nftables.ruleset = ''
table inet filter {
nftables.tables."filter".family = "inet";
nftables.tables."filter".content = ''
chain incoming {
type filter hook input priority 0;
policy accept;
@ -36,7 +36,6 @@ import ../make-test-python.nix ({ pkgs, ...} : {
type filter hook output priority 0;
policy accept;
}
}
'';
};
};

View file

@ -1,4 +1,4 @@
import ./make-test-python.nix ({ pkgs, lib, ...} : {
import ./make-test-python.nix ({ pkgs, lib, package ? pkgs.odoo, ...} : {
name = "odoo";
meta.maintainers = with lib.maintainers; [ mkg20001 ];
@ -11,6 +11,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
services.odoo = {
enable = true;
package = package;
domain = "localhost";
};
};

32
nixos/tests/ragnarwm.nix Normal file
View file

@ -0,0 +1,32 @@
import ./make-test-python.nix ({ lib, ...} : {
name = "ragnarwm";
meta = {
maintainers = with lib.maintainers; [ sigmanificient ];
};
nodes.machine = { pkgs, lib, ... }: {
imports = [ ./common/x11.nix ./common/user-account.nix ];
test-support.displayManager.auto.user = "alice";
services.xserver.displayManager.defaultSession = lib.mkForce "ragnar";
services.xserver.windowManager.ragnarwm.enable = true;
# Setup the default terminal of Ragnar
environment.systemPackages = [ pkgs.alacritty ];
};
testScript = ''
with subtest("ensure x starts"):
machine.wait_for_x()
machine.wait_for_file("/home/alice/.Xauthority")
machine.succeed("xauth merge ~alice/.Xauthority")
with subtest("ensure we can open a new terminal"):
# Sleeping a bit before the test, as it may help for sending keys
machine.sleep(2)
machine.send_key("meta_l-ret")
machine.wait_for_window(r"alice.*?machine")
machine.sleep(2)
machine.screenshot("terminal")
'';
})

View file

@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, lv2 }:
{ lib, stdenv, fetchFromSourcehut, meson, ninja, pkg-config, lv2 }:
stdenv.mkDerivation rec {
pname = "airwindows-lv2";
version = "20.0";
src = fetchFromGitHub {
owner = "hannesbraun";
version = "22.0";
src = fetchFromSourcehut {
owner = "~hannes";
repo = pname;
rev = "v${version}";
sha256 = "sha256-uflvUmUzOtF3BwiLfnd+qhz+ZYyn8AKvODFs599phhU=";
sha256 = "sha256-u62wLRrJ45ap981Q8JmMnanc8AWQb1MJHK32PEr10I4=";
};
nativeBuildInputs = [ meson ninja pkg-config ];
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Airwindows plugins (ported to LV2)";
homepage = "https://github.com/hannesbraun/airwindows-lv2";
homepage = "https://sr.ht/~hannes/airwindows-lv2";
license = licenses.mit;
maintainers = [ maintainers.magnetophon ];
platforms = platforms.unix;

View file

@ -11,7 +11,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ autoPatchelfHook ];
setSourceRoot = "sourceRoot=$PWD";
sourceRoot = ".";
dontBuild = true;

View file

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "lsp-plugins";
version = "1.2.8";
version = "1.2.10";
src = fetchurl {
url = "https://github.com/sadko4u/${pname}/releases/download/${version}/${pname}-src-${version}.tar.gz";
sha256 = "sha256-udVYyR6rDOCAKggpvY58jjpoLmB6wXiivvdzYylkE9c=";
sha256 = "sha256-2Yf+4TYGWF/AMI1kNvVOx9g6CSIoeZKY63qC/zJNilc=";
};
outputs = [ "out" "dev" "doc" ];

View file

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake pkg-config copyDesktopItems ];
buildInputs = [ bluez dbus glew glfw imgui ];
sourceRoot = "./${src.name}/Client";
sourceRoot = "${src.name}/Client";
cmakeFlags = [ "-Wno-dev" ];

View file

@ -474,6 +474,13 @@ let
# part of a larger package
notmuch = dontConfigure super.notmuch;
pikchr-mode = super.pikchr-mode.overrideAttrs (attrs: {
postPatch = attrs.postPatch or "" + ''
substituteInPlace pikchr-mode.el \
--replace '"pikchr")' '"${lib.getExe pkgs.pikchr}")'
'';
});
rtags = dontConfigure (externalSrc super.rtags pkgs.rtags);
rtags-xref = dontConfigure super.rtags;

View file

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "1qc58l3rkr37cj6vhf8c7bnwbz93nscyraz7jxqwjq6k4gj0cjw3";
};
sourceRoot = "./howl-${version}/src";
sourceRoot = "howl-${version}/src";
# The Makefile uses "/usr/local" if not explicitly overridden
installFlags = [ "PREFIX=$(out)" ];

View file

@ -3,11 +3,11 @@
, fetchurl
, cmake
, pkg-config
, qttools
, wrapQtAppsHook
, hicolor-icon-theme
, openbabel
, desktop-file-utils
, qttranslations
}:
mkDerivation rec {
@ -37,12 +37,11 @@ mkDerivation rec {
mv $out/lib/molsketch/* $out/lib
'';
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
nativeBuildInputs = [ cmake pkg-config qttools wrapQtAppsHook ];
buildInputs = [
hicolor-icon-theme
openbabel
desktop-file-utils
qttranslations
];
meta = with lib; {

View file

@ -18,7 +18,6 @@
, qtbase
, qtsvg
, qttools
, qttranslations
, qtwayland
, rapidyaml
, SDL2
@ -83,7 +82,6 @@ llvmPackages_16.stdenv.mkDerivation rec {
qtbase
qtsvg
qttools
qttranslations
qtwayland
rapidyaml
SDL2

View file

@ -90,7 +90,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
++ lib.optionals tlsSupport [ pkgs.openssl pkgs.gnutls ]
++ lib.optionals (openglSupport && !stdenv.isDarwin) [ pkgs.libGLU pkgs.libGL pkgs.mesa.osmesa pkgs.libdrm ]
++ lib.optionals stdenv.isDarwin (with pkgs.buildPackages.darwin.apple_sdk.frameworks; [
CoreServices Foundation ForceFeedback AppKit OpenGL IOKit DiskArbitration Security
CoreServices Foundation ForceFeedback AppKit OpenGL IOKit DiskArbitration PCSC Security
ApplicationServices AudioToolbox CoreAudio AudioUnit CoreMIDI OpenCL Cocoa Carbon
])
++ lib.optionals (stdenv.isLinux && !waylandSupport) (with pkgs.xorg; [
@ -103,14 +103,27 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
patches = [ ]
++ lib.optionals stdenv.isDarwin [
# Wine requires `MTLDevice.registryID` for `winemac.drv`, but that property is not available
# in the 10.12 SDK (current SDK on x86_64-darwin). Work around that by using selector syntax.
# Wine uses `MTLDevice.registryID` in `winemac.drv`, but that property is not available in
# the 10.12 SDK (current SDK on x86_64-darwin). That can be worked around by using selector
# syntax. As of Wine 8.12, the logic has changed and uses selector syntax, but it still
# uses property syntax in one place. The first patch is necessary only with older
# versions of Wine. The second is needed on all versions of Wine.
(lib.optional (lib.versionOlder version "8.12") ./darwin-metal-compat-pre8.12.patch)
./darwin-metal-compat.patch
# Wine requires `qos.h`, which is not included by default on the 10.12 SDK in nixpkgs.
./darwin-qos.patch
]
++ patches';
# Because the 10.12 SDK doesnt define `registryID`, clang assumes the undefined selector returns
# `id`, which is a pointer. This causes implicit pointer to integer errors in clang 15+.
# The following post-processing step adds a cast to `uint64_t` before the selector invocation to
# silence these errors.
postPatch = lib.optionalString stdenv.isDarwin ''
sed -e 's|\(\[[A-Za-z_][][A-Za-z_0-9]* registryID\]\)|(uint64_t)\1|' \
-i dlls/winemac.drv/cocoa_display.m
'';
configureFlags = prevConfigFlags
++ lib.optionals supportFlags.waylandSupport [ "--with-wayland" ]
++ lib.optionals supportFlags.vulkanSupport [ "--with-vulkan" ]
@ -192,7 +205,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
];
description = if supportFlags.waylandSupport then "An Open Source implementation of the Windows API on top of OpenGL and Unix (with experimental Wayland support)" else "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
platforms = if supportFlags.waylandSupport then (lib.remove "x86_64-darwin" prevPlatforms) else prevPlatforms;
maintainers = with lib.maintainers; [ avnik raskin bendlas jmc-figueira ];
maintainers = with lib.maintainers; [ avnik raskin bendlas jmc-figueira reckenrode ];
inherit mainProgram;
};
})

View file

@ -0,0 +1,22 @@
diff --git a/dlls/winemac.drv/cocoa_display.m b/dlls/winemac.drv/cocoa_display.m
--- a/dlls/winemac.drv/cocoa_display.m
+++ b/dlls/winemac.drv/cocoa_display.m
@@ -289,7 +289,7 @@ static int macdrv_get_gpus_from_metal(struct macdrv_gpu** new_gpus, int* count)
* the primary GPU because we need to hide the integrated GPU for an automatic graphic switching pair to avoid apps
* using the integrated GPU. This is the behavior of Windows on a Mac. */
primary_device = [MTLCreateSystemDefaultDevice() autorelease];
- if (macdrv_get_gpu_info_from_registry_id(&primary_gpu, primary_device.registryID))
+ if (macdrv_get_gpu_info_from_registry_id(&primary_gpu, [primary_device registryID]))
goto done;
/* Hide the integrated GPU if the system default device is a dedicated GPU */
@@ -301,7 +301,7 @@ static int macdrv_get_gpus_from_metal(struct macdrv_gpu** new_gpus, int* count)
for (i = 0; i < devices.count; i++)
{
- if (macdrv_get_gpu_info_from_registry_id(&gpus[gpu_count], devices[i].registryID))
+ if (macdrv_get_gpu_info_from_registry_id(&gpus[gpu_count], [devices[i] registryID]))
goto done;
if (hide_integrated && devices[i].isLowPower)

View file

@ -1,31 +1,12 @@
diff --git a/dlls/winemac.drv/cocoa_display.m b/dlls/winemac.drv/cocoa_display.m
index f64a6c0f6ad..6da0391e3fa 100644
--- a/dlls/winemac.drv/cocoa_display.m
+++ b/dlls/winemac.drv/cocoa_display.m
@@ -289,7 +289,7 @@ static int macdrv_get_gpus_from_metal(struct macdrv_gpu** new_gpus, int* count)
* the primary GPU because we need to hide the integrated GPU for an automatic graphic switching pair to avoid apps
* using the integrated GPU. This is the behavior of Windows on a Mac. */
primary_device = [MTLCreateSystemDefaultDevice() autorelease];
- if (macdrv_get_gpu_info_from_registry_id(&primary_gpu, primary_device.registryID))
+ if (macdrv_get_gpu_info_from_registry_id(&primary_gpu, (uint64_t)[primary_device registryID]))
goto done;
/* Hide the integrated GPU if the system default device is a dedicated GPU */
@@ -301,7 +301,7 @@ static int macdrv_get_gpus_from_metal(struct macdrv_gpu** new_gpus, int* count)
for (i = 0; i < devices.count; i++)
{
- if (macdrv_get_gpu_info_from_registry_id(&gpus[gpu_count], devices[i].registryID))
+ if (macdrv_get_gpu_info_from_registry_id(&gpus[gpu_count], (uint64_t)[devices[i] registryID]))
goto done;
if (hide_integrated && devices[i].isLowPower)
@@ -354,7 +354,7 @@ static int macdrv_get_gpu_info_from_display_id_using_metal(struct macdrv_gpu* gp
device = [CGDirectDisplayCopyCurrentMetalDevice(display_id) autorelease];
if (device && [device respondsToSelector:@selector(registryID)])
- ret = macdrv_get_gpu_info_from_registry_id(gpu, device.registryID);
+ ret = macdrv_get_gpu_info_from_registry_id(gpu, (uint64_t)[device registryID]);
+ ret = macdrv_get_gpu_info_from_registry_id(gpu, [device registryID]);
done:
[pool release];

View file

@ -69,9 +69,9 @@ in rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the hash for staging as well.
version = "8.13";
version = "8.14";
url = "https://dl.winehq.org/wine/source/8.x/wine-${version}.tar.xz";
hash = "sha256-JuXTqD0lxUGMbA9USORD0gh2OiZDqrSw8a01KSKkwnU=";
hash = "sha256-4YNu9msYJfqdoEKDDASVsqw5SBVENkNGaXnuif3X+vQ=";
inherit (stable) patches;
## see http://wiki.winehq.org/Gecko
@ -117,7 +117,7 @@ in rec {
staging = fetchFromGitHub rec {
# https://github.com/wine-staging/wine-staging/releases
inherit (unstable) version;
hash = "sha256-5upC+IWHBJE5DeFv96lD1hr4LYYaqAAzfxIroK9KlOY=";
hash = "sha256-ct/RGXt9B6F3PHbirX8K03AZ0Kunitd2HmI0N5k6VHI=";
owner = "wine-staging";
repo = "wine-staging";
rev = "v${version}";

View file

@ -110,7 +110,7 @@ in stdenv.mkDerivation {
# This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
# making the build fail, as that path does not exist
dontFixCmake = true;
patches = [./vulkan_version.patch];
cmakeFlags = [
# actually has a noticeable performance impact
"-DYUZU_ENABLE_LTO=ON"

View file

@ -1,19 +1,19 @@
# Generated by ./update.sh - do not update manually!
# Last updated: 2023-08-14
# Last updated: 2023-08-27
{
compatList = {
rev = "fbecbb568ce45c2d118a76ff41f9e817a8b899e6";
rev = "f440391993fe499c79d647ed0a20d117c0db0c27";
hash = "sha256:1hdsza3wf9a0yvj6h55gsl7xqvhafvbz1i8paz9kg7l49b0gnlh1";
};
mainline = {
version = "1522";
hash = "sha256:15ka5lg9mdfgwngmsjm3dk74c64hxak2zkf36jdgqcjlwxdx81qk";
version = "1538";
hash = "sha256:1wynpcx6gwdbahf7nm22jslk9hbcy17nxbr6qnzagndrws30csx5";
};
ea = {
version = "3805";
distHash = "sha256:1hxq4aifnncilnxmymgbz73m558y8v5f72cpgdfaqr450vlc5sks";
fullHash = "sha256:1psivknzv1kycpnl81g0b9d9ck70lxddkn1gaimic37a7kxpg395";
version = "3838";
distHash = "sha256:0riwahdlhi4a96ya4pi7g0anwa35z8zhbax87m2mk89vwrjnf2am";
fullHash = "sha256:1a1cq4dg624y3ixgc05ihlhy1fnpp98xnc60cssrdmmzyp79hrjp";
};
}

View file

@ -1,13 +0,0 @@
Yuzu requires a version of Vulkan that has not yet been released as a stable Vulkan SDK. In case this patch fails, check which version Yuzu is currently using and verify that it still works with the version shipped in Nixpkgs.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -314,7 +314,7 @@
find_package(zstd 1.5 REQUIRED)
if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS)
- find_package(Vulkan 1.3.256 REQUIRED)
+ find_package(Vulkan 1.3.250 REQUIRED)
endif()
if (ENABLE_LIBUSB)

View file

@ -1,7 +1,7 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchurl
, fetchzip
, python310
, nodePackages
, wkhtmltopdf
@ -53,17 +53,12 @@ in python.pkgs.buildPythonApplication rec {
format = "setuptools";
# latest release is at https://github.com/odoo/docker/blob/master/16.0/Dockerfile
src = fetchurl {
url = "https://nightly.odoo.com/${odoo_version}/nightly/src/odoo_${version}.tar.gz";
src = fetchzip {
url = "https://nightly.odoo.com/${odoo_version}/nightly/src/odoo_${version}.zip";
name = "${pname}-${version}";
hash = "sha256-DV5JBY+2gq5mUfcvN9S5xkd+ufgEBjvyvBY1X7pPFPk="; # odoo
hash = "sha256-pSycpYSiqJ6DKENvCWwLz+JaPUXT5dmaq8x4Aency60="; # odoo
};
unpackPhase = ''
tar xfz $src
cd odoo*
'';
# needs some investigation
doCheck = false;

View file

@ -0,0 +1,121 @@
{ stdenv, lib, fetchFromGitHub, fetchzip, python310, nodePackages, wkhtmltopdf
, nixosTests }:
let
python = python310.override {
packageOverrides = self: super: {
pypdf2 = super.pypdf2.overridePythonAttrs (old: rec {
version = "1.28.6";
format = "setuptools";
src = fetchFromGitHub {
owner = "py-pdf";
repo = "pypdf";
rev = version;
fetchSubmodules = true;
hash = "sha256-WnRbsy/PJcotZqY9mJPLadrYqkXykOVifLIbDyNf4s4=";
};
nativeBuildInputs = [ ];
nativeCheckInputs = with self; [ pytestCheckHook pillow ];
});
flask = super.flask.overridePythonAttrs (old: rec {
version = "2.1.3";
src = old.src.override {
inherit version;
hash = "sha256-FZcuUBffBXXD1sCQuhaLbbkCWeYgrI1+qBOjlrrVtss=";
};
});
werkzeug = super.werkzeug.overridePythonAttrs (old: rec {
version = "2.1.2";
src = old.src.override {
inherit version;
hash = "sha256-HOCOgJPtZ9Y41jh5/Rujc1gX96gN42dNKT9ZhPJftuY=";
};
});
};
};
odoo_version = "15.0";
odoo_release = "20230816";
in python.pkgs.buildPythonApplication rec {
pname = "odoo15";
version = "${odoo_version}.${odoo_release}";
format = "setuptools";
# latest release is at https://github.com/odoo/docker/blob/master/15.0/Dockerfile
src = fetchzip {
url = "https://nightly.odoo.com/${odoo_version}/nightly/src/odoo_${version}.zip";
name = "${pname}-${version}";
hash = "sha256-h81JA0o44DVtl/bZ52rGQfg54TigwQcNpcMjQbi0zIQ="; # odoo
};
# needs some investigation
doCheck = false;
makeWrapperArgs = [
"--prefix"
"PATH"
":"
"${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}"
];
propagatedBuildInputs = with python.pkgs; [
babel
chardet
decorator
docutils
ebaysdk
freezegun
gevent
greenlet
idna
jinja2
libsass
lxml
markupsafe
mock
num2words
ofxparse
passlib
pillow
polib
psutil
psycopg2
pydot
pyopenssl
pypdf2
pyserial
python-dateutil
python-ldap
python-stdnum
pytz
pyusb
qrcode
reportlab
requests
setuptools
vobject
werkzeug
xlrd
xlsxwriter
xlwt
zeep
];
# takes 5+ minutes and there are not files to strip
dontStrip = true;
passthru = {
tests = { inherit (nixosTests) odoo15; };
};
meta = with lib; {
description = "Open Source ERP and CRM";
homepage = "https://www.odoo.com/";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ mkg20001 ];
};
}

View file

@ -1,9 +1,9 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused nix coreutils
#!nix-shell -i bash -p curl gnused nix coreutils nix-prefetch
set -euo pipefail
DOCKER=$(curl -s https://raw.githubusercontent.com/odoo/docker/master/15.0/Dockerfile)
DOCKER=$(curl -s https://raw.githubusercontent.com/odoo/docker/master/16.0/Dockerfile)
get_var() {
echo "$DOCKER" | grep -E "^[A-Z][A-Z][A-Z] ODOO_$1" | sed -r "s|^[A-Z]{3} ODOO_$1.||g"
@ -22,6 +22,6 @@ fi
cd "$(dirname "${BASH_SOURCE[0]}")"
sed -ri "s| hash.+ # odoo| hash = \"$(nix-prefetch-url --type sha256 "https://nightly.odoo.com/${VERSION}/nightly/src/odoo_${latestVersion}.tar.gz")\"; # odoo|g" default.nix
sed -ri "s| hash.+ # odoo| hash = \"$(nix-prefetch -q fetchzip --url "https://nightly.odoo.com/${VERSION}/nightly/src/odoo_${latestVersion}.zip")\"; # odoo|g" default.nix
sed -ri "s| odoo_version.+| odoo_version = \"$VERSION\";|" default.nix
sed -ri "s| odoo_release.+| odoo_release = \"$RELEASE\";|" default.nix

View file

@ -14,8 +14,6 @@
, qtlocation
, qtsensors
, qttools
, qttranslations
, substituteAll
, zlib
}:
@ -31,11 +29,6 @@ mkDerivation rec {
};
patches = [
# https://github.com/NixOS/nixpkgs/issues/86054
(substituteAll {
src = ./fix-qttranslations-path.diff;
inherit qttranslations;
})
# https://github.com/OpenOrienteering/mapper/pull/1907
(fetchpatch {
url = "https://github.com/OpenOrienteering/mapper/commit/bc52aa567e90a58d6963b44d5ae1909f3f841508.patch";

View file

@ -1,13 +0,0 @@
diff --git i/src/util/translation_util.cpp w/src/util/translation_util.cpp
index da03d216..c1f12751 100644
--- i/src/util/translation_util.cpp
+++ w/src/util/translation_util.cpp
@@ -103,7 +103,7 @@ TranslationUtil::TranslationUtil(const QString& code, QString translation_file)
}
QString translation_name = QLatin1String("qt_") + language.code;
- if (!qt_translator.load(translation_name, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
+ if (!qt_translator.load(translation_name, QLatin1String("@qttranslations@/translations")))
load(qt_translator, translation_name);
load(app_translator, translation_file);

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, cmake, substituteAll, wrapQtAppsHook
, qtscript, qttranslations, qtwebengine, gdal, proj, routino, quazip }:
{ lib, stdenv, fetchFromGitHub, cmake, wrapQtAppsHook
, qtscript, qtwebengine, gdal, proj, routino, quazip }:
stdenv.mkDerivation rec {
pname = "qmapshack";
@ -12,14 +12,6 @@ stdenv.mkDerivation rec {
hash = "sha256-qG/fiR2J5wQZaR+xvBGjdp3L7viqki2ktkzBUf6fZi8=";
};
patches = [
# See https://github.com/NixOS/nixpkgs/issues/86054
(substituteAll {
src = ./fix-qttranslations-path.patch;
inherit qttranslations;
})
];
nativeBuildInputs = [ cmake wrapQtAppsHook ];
buildInputs = [ qtscript qtwebengine gdal proj routino quazip ];

View file

@ -1,74 +0,0 @@
diff --git i/src/qmapshack/setup/CAppSetupLinux.cpp w/src/qmapshack/setup/CAppSetupLinux.cpp
index 7581ef32..26eba3c8 100644
--- i/src/qmapshack/setup/CAppSetupLinux.cpp
+++ w/src/qmapshack/setup/CAppSetupLinux.cpp
@@ -30,7 +30,7 @@ void CAppSetupLinux::initQMapShack() {
prepareGdal("", "");
// setup translators
- QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
+ QLatin1String resourceDir = QLatin1String("@qttranslations@/translations");
QString translationPath = QCoreApplication::applicationDirPath();
translationPath.replace(QRegExp("bin$"), "share/qmapshack/translations");
prepareTranslator(resourceDir, "qt_");
diff --git i/src/qmapshack/setup/CAppSetupMac.cpp w/src/qmapshack/setup/CAppSetupMac.cpp
index 37602802..ae4a5a23 100644
--- i/src/qmapshack/setup/CAppSetupMac.cpp
+++ w/src/qmapshack/setup/CAppSetupMac.cpp
@@ -56,7 +56,7 @@ void CAppSetupMac::initQMapShack() {
// setup translators
QString translationPath = getApplicationDir(relTranslationDir).absolutePath();
- prepareTranslator(translationPath, "qt_");
+ prepareTranslator(QLatin1String("@qttranslations@/translations"), "qt_");
prepareTranslator(translationPath, "qmapshack_");
// load and apply style sheet
diff --git i/src/qmaptool/setup/CAppSetupLinux.cpp w/src/qmaptool/setup/CAppSetupLinux.cpp
index b703e7bb..637d653e 100644
--- i/src/qmaptool/setup/CAppSetupLinux.cpp
+++ w/src/qmaptool/setup/CAppSetupLinux.cpp
@@ -29,7 +29,7 @@ void CAppSetupLinux::initQMapTool() {
prepareGdal("", "");
// setup translators
- QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
+ QLatin1String resourceDir = QLatin1String("@qttranslations@/translations");
QString translationPath = QCoreApplication::applicationDirPath();
translationPath.replace(QRegExp("bin$"), "share/qmaptool/translations");
prepareTranslator(resourceDir, "qt_");
diff --git i/src/qmaptool/setup/CAppSetupMac.cpp w/src/qmaptool/setup/CAppSetupMac.cpp
index dd68b9c1..84351cf4 100644
--- i/src/qmaptool/setup/CAppSetupMac.cpp
+++ w/src/qmaptool/setup/CAppSetupMac.cpp
@@ -57,7 +57,7 @@ void CAppSetupMac::initQMapTool() {
// setup translators
QString translationPath = getApplicationDir(relTranslationDir).absolutePath();
- prepareTranslator(translationPath, "qt_");
+ prepareTranslator(QLatin1String("@qttranslations@/translations"), "qt_");
prepareTranslator(translationPath, "qmaptool_");
migrateDirContent(defaultCachePath());
diff --git i/src/qmt_rgb2pct/main.cpp w/src/qmt_rgb2pct/main.cpp
index 589d3d52..5f7c12f8 100644
--- i/src/qmt_rgb2pct/main.cpp
+++ w/src/qmt_rgb2pct/main.cpp
@@ -47,7 +47,7 @@ static void prepareTranslator(QString translationPath, QString translationPrefix
static void loadTranslations() {
#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) || defined(__FreeBSD_kernel__) || defined(__GNU__) || \
defined(Q_OS_CYGWIN)
- QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
+ QLatin1String resourceDir = QLatin1String("@qttranslations@/translations");
QString translationPath = QCoreApplication::applicationDirPath();
translationPath.replace(QRegExp("bin$"), "share/" APP_STR "/translations");
prepareTranslator(resourceDir, "qt_");
@@ -58,7 +58,7 @@ static void loadTranslations() {
// os x
static QString relTranslationDir = "Resources/translations"; // app
QString translationPath = getApplicationDir(relTranslationDir).absolutePath();
- prepareTranslator(translationPath, "qt_");
+ prepareTranslator(QLatin1String("@qttranslations@/translations"), "qt_");
prepareTranslator(translationPath, APP_STR "_");
#endif

View file

@ -14,6 +14,12 @@ mkDerivation rec {
nativeBuildInputs = [ cmake pkg-config ];
# The build scripts copy the entire translations directory from Qt
# which ends up being read-only because it's in the store.
preBuild = ''
chmod +w resources/translations
'';
buildInputs = [ qtsvg qttools qtwebsockets qtquickcontrols2 qtgraphicaleffects pcsclite ];
meta = with lib; {

View file

@ -7,7 +7,6 @@
, qtbase
, qttools
, qtx11extras
, qttranslations
}:
mkDerivation rec {
@ -21,21 +20,11 @@ mkDerivation rec {
sha256 = "1469ng6zk0qx0qfsihrnlz1j9i1wk0hx4vqdaplz9mdpyxvmlryk";
};
patches = [
# See https://github.com/NixOS/nixpkgs/issues/86054
./fix-qttranslations-path.diff
];
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
qtbase qttools qtx11extras
];
postPatch = ''
substituteInPlace src/birdtrayapp.cpp \
--subst-var-by qttranslations ${qttranslations}
'';
# Wayland support is broken.
# https://github.com/gyunaev/birdtray/issues/113#issuecomment-621742315
qtWrapperArgs = [ "--set QT_QPA_PLATFORM xcb" ];

View file

@ -1,13 +0,0 @@
diff --git a/src/birdtrayapp.cpp b/src/birdtrayapp.cpp
index 847b4d3..3a3709a 100644
--- a/src/birdtrayapp.cpp
+++ b/src/birdtrayapp.cpp
@@ -130,7 +130,7 @@ bool BirdtrayApp::loadTranslations() {
[](QString path) { return path.append("/translations"); });
QLocale locale = QLocale::system();
bool success = loadTranslation(
- qtTranslator, locale, "qt", {QLibraryInfo::location(QLibraryInfo::TranslationsPath)});
+ qtTranslator, locale, "qt", {QLatin1String("@qttranslations@/translations")});
success &= loadTranslation(dynamicTranslator, locale, "dynamic", locations);
success &= loadTranslation(mainTranslator, locale, "main", locations);
return success;

View file

@ -28,13 +28,13 @@
python3Packages.buildPythonApplication rec {
pname = "bottles-unwrapped";
version = "51.6";
version = "51.9";
src = fetchFromGitHub {
owner = "bottlesdevs";
repo = "bottles";
rev = version;
sha256 = "sha256-9oEC+ksgHz2HP4jVwTbLzjqc8WG1+S8hmVgl2dcuPB0=";
sha256 = "sha256-iZUszwVcbVn6Xsqou6crSp9gJBRmm5vEqxS87h/s3PQ=";
};
patches = [

View file

@ -1,7 +1,6 @@
{ lib
, stdenv
, fetchzip
, substituteAll
, cmake
, extra-cmake-modules
, qttools
@ -10,7 +9,6 @@
, tesseract4
, qtmultimedia
, qtx11extras
, qttranslations
, wrapQtAppsHook
, gst_all_1
, testers
@ -26,14 +24,6 @@ stdenv.mkDerivation rec {
hash = "sha256-PvfruCqmTBFLWLeIL9NV6+H2AifXcY97ImHzD1zEs28=";
};
patches = [
(substituteAll {
# See https://github.com/NixOS/nixpkgs/issues/86054
src = ./fix-qttranslations-path.patch;
inherit qttranslations;
})
];
postPatch = ''
substituteInPlace data/io.crow_translate.CrowTranslate.desktop \
--replace "Exec=qdbus" "Exec=${lib.getBin qttools}/bin/qdbus"

View file

@ -1,13 +0,0 @@
diff --git i/src/settings/appsettings.cpp w/src/settings/appsettings.cpp
index 32cabfb..aab92ea 100644
--- i/src/settings/appsettings.cpp
+++ w/src/settings/appsettings.cpp
@@ -79,7 +79,7 @@ void AppSettings::applyLocale(const QLocale &locale)
const QLocale newLocale = locale == defaultLocale() ? QLocale::system() : locale;
QLocale::setDefault(newLocale);
s_appTranslator.load(newLocale, QStringLiteral(PROJECT_NAME), QStringLiteral("_"), QStandardPaths::locate(QStandardPaths::AppDataLocation, i18nDir, QStandardPaths::LocateDirectory));
- s_qtTranslator.load(newLocale, QStringLiteral("qt"), QStringLiteral("_"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
+ s_qtTranslator.load(newLocale, QStringLiteral("qt"), QStringLiteral("_"), QLatin1String("@qttranslations@/translations"));
}
QLocale AppSettings::defaultLocale()

View file

@ -1,6 +1,6 @@
{ lib, mkDerivation, fetchFromGitHub
, cmake, gcc-arm-embedded, python3Packages
, qtbase, qtmultimedia, qttranslations, SDL, gtest
, qtbase, qtmultimedia, qttools, SDL, gtest
, dfu-util
}:
@ -16,9 +16,9 @@ mkDerivation rec {
sha256 = "sha256-bKMAyONy1Udd+2nDVEMrtIsnfqrNuBVMWU7nCqvZ+3E=";
};
nativeBuildInputs = [ cmake gcc-arm-embedded python3Packages.pillow ];
nativeBuildInputs = [ cmake gcc-arm-embedded python3Packages.pillow qttools ];
buildInputs = [ qtbase qtmultimedia qttranslations SDL ];
buildInputs = [ qtbase qtmultimedia SDL ];
postPatch = ''
sed -i companion/src/burnconfigdialog.cpp \
@ -27,7 +27,6 @@ mkDerivation rec {
cmakeFlags = [
"-DGTEST_ROOT=${gtest.src}/googletest"
"-DQT_TRANSLATIONS_DIR=${qttranslations}/translations"
"-DDFU_UTIL_PATH=${dfu-util}/bin/dfu-util"
# file RPATH_CHANGE could not write new RPATH
"-DCMAKE_SKIP_BUILD_RPATH=ON"

View file

@ -16,6 +16,17 @@ let
inherit version;
hash = "sha256-4RIMIoyi9VO0cN9KX6knq2YlhGdSYGmYGz6wqRkCaH0=";
};
patches = [
# Pulling in this patch lets us continue running tests without any
# other changes using setuptools >= 67.5.0.
(fetchpatch {
name = "remove-deprecated-pkg-resources.patch";
url = "https://github.com/pallets/flask/commit/751d85f3de3f726446bb12e4ddfae885a6645ba1.patch";
hash = "sha256-T4vKSSe3P0xtb2/iQjm0RH2Bwk1ZHWiPoX1Ycr63EqU=";
includes = [ "src/flask/cli.py" ];
})
];
});
flask-wtf = super.flask-wtf.overridePythonAttrs (old: rec {
version = "0.15.1";

View file

@ -7,8 +7,6 @@
, perl
, atomicparsley
, ffmpeg
, flvstreamer
, rtmpdump
}:
perlPackages.buildPerlPackage rec {
@ -25,7 +23,7 @@ perlPackages.buildPerlPackage rec {
nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
buildInputs = [ perl ];
propagatedBuildInputs = with perlPackages; [
HTMLParser HTTPCookies LWP LWPProtocolHttps XMLLibXML XMLSimple Mojolicious
LWP LWPProtocolHttps XMLLibXML Mojolicious
];
preConfigure = "touch Makefile.PL";
@ -36,7 +34,7 @@ perlPackages.buildPerlPackage rec {
runHook preInstall
mkdir -p $out/bin $out/share/man/man1
cp get_iplayer $out/bin
wrapProgram $out/bin/get_iplayer --suffix PATH : ${lib.makeBinPath [ atomicparsley ffmpeg flvstreamer rtmpdump ]} --prefix PERL5LIB : $PERL5LIB
wrapProgram $out/bin/get_iplayer --suffix PATH : ${lib.makeBinPath [ atomicparsley ffmpeg ]} --prefix PERL5LIB : $PERL5LIB
cp get_iplayer.1 $out/share/man/man1
runHook postInstall
'';
@ -46,9 +44,9 @@ perlPackages.buildPerlPackage rec {
'';
meta = with lib; {
description = "Downloads TV and radio from BBC iPlayer";
description = "Downloads TV and radio programmes from BBC iPlayer and BBC Sounds";
license = licenses.gpl3Plus;
homepage = "https://squarepenguin.co.uk/";
homepage = "https://github.com/get-iplayer/get_iplayer";
platforms = platforms.all;
maintainers = with maintainers; [ rika jgarcia ];
};

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, fetchurl, pkg-config, which
, qtbase, qmake, qttools, qttranslations, wrapQtAppsHook
, qmake, qttools, wrapQtAppsHook
, libusb1, shapelib, zlib
, withGUI ? false, qtserialport
, withMapPreview ? (!stdenv.isDarwin), qtwebengine
@ -21,11 +21,6 @@ stdenv.mkDerivation rec {
postPatch = ''
patchShebangs testo
'' + lib.optionalString withGUI ''
# See https://github.com/NixOS/nixpkgs/issues/86054
substituteInPlace gui/mainwindow.cc \
--replace 'QLibraryInfo::location(QLibraryInfo::TranslationsPath)' \
'QLatin1String("${qttranslations}/translations")'
'' + lib.optionalString withDoc ''
substituteInPlace gbversion.h.qmake.in \
--replace /usr/share/doc $doc/share/doc

View file

@ -1,5 +1,5 @@
{ stdenv, mkDerivation, lib, fetchFromGitHub, substituteAll
, qmake, qttools, qttranslations
{ stdenv, mkDerivation, lib, fetchFromGitHub
, qmake, qttools
}:
mkDerivation rec {
@ -13,12 +13,6 @@ mkDerivation rec {
sha256 = "080vnwcciqblfrbfyz9gjhl2lqw1hkdpbgr5qfrlyglkd4ynjd84";
};
patches = (substituteAll {
# See https://github.com/NixOS/nixpkgs/issues/86054
src = ./fix-qttranslations-path.patch;
inherit qttranslations;
});
nativeBuildInputs = [ qmake qttools ];
preConfigure = ''

View file

@ -1,17 +0,0 @@
diff --git i/GPXLab/main.cpp w/GPXLab/main.cpp
index b12d2dd..58d37c5 100644
--- i/GPXLab/main.cpp
+++ w/GPXLab/main.cpp
@@ -19,10 +19,10 @@ int main(int argc, char *argv[])
app.installTranslator(&gpxlab);
QTranslator qt;
-#if defined(Q_OS_WIN32) || defined(Q_OS_MAC)
+#if defined(Q_OS_WIN32)
qt.load(QLocale::system(), "qt", "_", TRANSLATIONS_DIR);
#else
- qt.load(QLocale::system(), "qt", "_", QLibraryInfo::location(QLibraryInfo::TranslationsPath));
+ qt.load(QLocale::system(), "qt", "_", QLatin1String("@qttranslations@/translations"));
#endif
app.installTranslator(&qt);

View file

@ -3,10 +3,8 @@
, fetchFromGitHub
, qmake
, nix-update-script
, substituteAll
, qtbase
, qttools
, qttranslations
, qtlocation ? null # qt5 only
, qtpositioning ? null # qt6 only
, qtpbfimageplugin
@ -31,12 +29,6 @@ stdenv.mkDerivation rec {
hash = "sha256-Zf2eyDx5QK69W6HNz/IGGHkX2qCDnxYsU8KLCgU9teY=";
};
patches = (substituteAll {
# See https://github.com/NixOS/nixpkgs/issues/86054
src = ./fix-qttranslations-path.diff;
inherit qttranslations;
});
buildInputs = [ qtpbfimageplugin qtserialport ]
++ (if isQt6 then [
qtbase

View file

@ -1,18 +0,0 @@
diff --git i/src/GUI/app.cpp w/src/GUI/app.cpp
index 37e9d3f..d4a065c 100644
--- i/src/GUI/app.cpp
+++ w/src/GUI/app.cpp
@@ -35,11 +35,10 @@ App::App(int &argc, char **argv) : QApplication(argc, argv)
installTranslator(gpxsee);
QTranslator *qt = new QTranslator(this);
-#if defined(Q_OS_WIN32) || defined(Q_OS_MAC)
+#if defined(Q_OS_WIN32)
if (qt->load(QLocale::system(), "qt", "_", ProgramPaths::translationsDir()))
#else // Q_OS_WIN32 || Q_OS_MAC
- if (qt->load(QLocale::system(), "qt", "_", QLibraryInfo::location(
- QLibraryInfo::TranslationsPath)))
+ if (qt->load(QLocale::system(), "qt", "_", QLatin1String("@qttranslations@/translations")))
#endif // Q_OS_WIN32 || Q_OS_MAC
installTranslator(qt);

View file

@ -0,0 +1,26 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "harsh";
version = "0.8.28";
src = fetchFromGitHub {
owner = "wakatara";
repo = pname;
rev = "v${version}";
hash = "sha256-6BeGyyy4RFBy4TvB3bLTyDtQGljG9xE3VFfbnq9KWcs=";
};
vendorHash = "sha256-zkz7X/qj8FwtQZXGuq4Oaoe5G9a4AJE1kv3j7wwQEp4=";
meta = with lib; {
description = "CLI habit tracking for geeks";
homepage = "https://github.com/wakatara/harsh";
changelog = "https://github.com/wakatara/harsh/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ laurailway ];
};
}

View file

@ -14,11 +14,11 @@ stdenv.mkDerivation (finalAttrs: let
in {
pname = "logseq";
version = "0.9.14";
version = "0.9.15";
src = fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
hash = "sha256-UFl+AqfG0OzT+lHC6Sq+gUQTyvzUQP6Enh+rLSq3Xhc=";
hash = "sha256-EOnB3AllfMAhcATEkmf/1S/gkk1ua2dDgvfT91uwohs=";
name = "${pname}-${version}.AppImage";
};

View file

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
buildInputs = [ libmediainfo wxGTK32 desktop-file-utils libSM imagemagick ]
++ lib.optionals stdenv.isDarwin [ Cocoa ];
sourceRoot = "./MediaInfo/Project/GNU/GUI/";
sourceRoot = "MediaInfo/Project/GNU/GUI";
enableParallelBuilding = true;

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ libzen libmediainfo zlib ];
sourceRoot = "./MediaInfo/Project/GNU/CLI/";
sourceRoot = "MediaInfo/Project/GNU/CLI";
configureFlags = [ "--with-libmediainfo=${libmediainfo}" ];

View file

@ -5,7 +5,6 @@
, qmake
, qttools
, wrapQtAppsHook
, qttranslations
, gdal
, proj
, qtsvg
@ -48,7 +47,6 @@ stdenv.mkDerivation rec {
'';
qmakeFlags = [
"TRANSDIR_SYSTEM=${qttranslations}/translations"
"USEWEBENGINE=1"
] ++ lib.optional withGeoimage "GEOIMAGE=1"
++ lib.optional withGpsdlib "GPSDLIB=1"

View file

@ -1,25 +1,13 @@
From b2935ed7e2962d73f3b493c38c0bb1e8659c0a60 Mon Sep 17 00:00:00 2001
From: toonn <toonn@toonn.io>
Date: Tue, 8 Mar 2022 23:59:19 +0100
Subject: [PATCH 1/2] Use command -v in favor of which
Use command -v in favor of which
---
Makerules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makerules b/Makerules
index 0fdaecb..6d52cca 100644
--- a/Makerules
+++ b/Makerules
@@ -145,7 +145,7 @@ else ifeq ($(OS),MACOS)
LD = xcrun ld
RANLIB = xcrun ranlib
- ifeq (, $(shell which pkg-config))
+ ifeq (, $(shell command -v pkg-config))
@@ -170,7 +170,7 @@
ifneq ($(ARCHFLAGS),)
$(warning "MacOS with ARCHFLAGS set. Assuming we are building for arm64, and setting HAVE_LIBCRYPTO to no.")
HAVE_LIBCRYPTO := no
- else ifeq (, $(shell which pkg-config))
+ else ifeq (, $(shell command -v pkg-config))
$(warning "No pkg-config found, install it for proper integration of libcrypto")
else
HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
--
2.17.2 (Apple Git-113)

View file

@ -27,6 +27,7 @@
, freeglut
, libGLU
, xcbuild
, gitUpdater
# for passthru.tests
, cups-filters
@ -52,12 +53,12 @@ let
in
stdenv.mkDerivation rec {
version = "1.22.1";
version = "1.23.0";
pname = "mupdf";
src = fetchurl {
url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
sha256 = "sha256-1i88DkVuu8QucfWkfw+M0SzsK/Co1yt541+jWmU4slo=";
sha256 = "sha256-3kFAaS5pMULDEeAwrBVuOO4XXXq2wb4QxcmuljhGFk4=";
};
patches = [ ./0001-Use-command-v-in-favor-of-which.patch
@ -151,14 +152,22 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
passthru.tests = {
inherit cups-filters zathura;
inherit (python3.pkgs) pikepdf pymupdf;
passthru = {
tests = {
inherit cups-filters zathura;
inherit (python3.pkgs) pikepdf pymupdf;
};
updateScript = gitUpdater {
url = "https://git.ghostscript.com/mupdf.git";
ignoredVersions = ".rc.*";
};
};
meta = with lib; {
homepage = "https://mupdf.com";
description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
changelog = "https://git.ghostscript.com/?p=mupdf.git;a=blob_plain;f=CHANGES;hb=${version}";
license = licenses.agpl3Plus;
maintainers = with maintainers; [ vrthra fpletz ];
platforms = platforms.unix;

View file

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "nwg-dock-hyprland";
version = "0.1.4";
version = "0.1.5";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-aPCz9m2Qnge8XhEbvpXb2U/eT5xvJkaSoorkkoY3gp0=";
sha256 = "sha256-DDHKEGb7ghZwrMKrFtplTz7Hi1CITW6oxa/EJM4JDA8=";
};
vendorHash = "sha256-GhcrIVnZRbiGTfeUAWvslOVWDZmoL0ZRnjgTtQgxe2Q=";
vendorHash = "sha256-5fN/6HASfTMb80YYAIoWRqnRGMvvX4d8C2UvOc0jQU0=";
ldflags = [ "-s" "-w" ];

View file

@ -1,6 +1,6 @@
{ lib, mkDerivation, fetchFromGitHub
, cmake, gcc-arm-embedded, python3Packages
, qtbase, qtmultimedia, qttranslations, SDL, gtest
, qtbase, qtmultimedia, qttools, SDL, gtest
, dfu-util, avrdude
}:
@ -15,9 +15,9 @@ mkDerivation rec {
sha256 = "sha256-F3zykJhKuIpLQSTjn7mcdjEmgRAlwCZpkTaKQR9ve3g=";
};
nativeBuildInputs = [ cmake gcc-arm-embedded python3Packages.pillow ];
nativeBuildInputs = [ cmake gcc-arm-embedded python3Packages.pillow qttools ];
buildInputs = [ qtbase qtmultimedia qttranslations SDL ];
buildInputs = [ qtbase qtmultimedia SDL ];
postPatch = ''
sed -i companion/src/burnconfigdialog.cpp \
@ -27,7 +27,6 @@ mkDerivation rec {
cmakeFlags = [
"-DGTEST_ROOT=${gtest.src}/googletest"
"-DQT_TRANSLATIONS_DIR=${qttranslations}/translations"
# XXX I would prefer to include these here, though we will need to file a bug upstream to get that changed.
#"-DDFU_UTIL_PATH=${dfu-util}/bin/dfu-util"
#"-DAVRDUDE_PATH=${avrdude}/bin/avrdude"

View file

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "taskwarrior-tui";
version = "0.25.1";
version = "0.25.2";
src = fetchFromGitHub {
owner = "kdheepak";
repo = "taskwarrior-tui";
rev = "v${version}";
sha256 = "sha256-m/VExBibScZt8zlxbTSQtZdbcc1EBZ+k0DXu+pXFUnA=";
sha256 = "sha256-HC81GA/kTyppCDLo47tFU08veViGlwwi6U92CP+5X9c=";
};
cargoHash = "sha256-DFf4leS8/891YzZCkkd/rU+cUm94nOnXYDZgJK+NoCY=";
cargoHash = "sha256-M+Kgq8iSHdzAoIqnqP1NV0LWt6AComsaSlX0aypEOeA=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitea, qmake, qttools, qtbase, qtserialport
, qtconnectivity, qtcharts, qttranslations, wrapQtAppsHook }:
, qtconnectivity, qtcharts, wrapQtAppsHook }:
stdenv.mkDerivation (finalAttrs: {
pname = "ubpm";
@ -15,7 +15,6 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
substituteInPlace sources/mainapp/mainapp.pro \
--replace '$$[QT_INSTALL_TRANSLATIONS]' '${qttranslations}/translations' \
--replace 'INSTALLDIR = /tmp/ubpm.AppDir' "INSTALLDIR = $out" \
--replace '/usr/bin' '/bin' \
--replace 'INSTALLS += target translations themes devices help lin' 'INSTALLS += target translations themes devices help'
@ -40,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
# *.so plugins are being wrapped automatically which breaks them
dontWrapQtApps = true;
buildInputs = [ qtbase qtserialport qtconnectivity qtcharts qttranslations ];
buildInputs = [ qtbase qtserialport qtconnectivity qtcharts ];
meta = with lib; {
homepage = "https://codeberg.org/LazyT/ubpm";

View file

@ -1,6 +1,6 @@
{ lib, stdenv, fetchFromGitLab, substituteAll, installShellFiles
{ lib, stdenv, fetchFromGitLab, installShellFiles
, qmake, qttools
, qtsvg, qttranslations, qtxmlpatterns
, qtsvg, qtxmlpatterns
, wrapQtAppsHook
}:
@ -15,12 +15,6 @@ stdenv.mkDerivation rec {
hash = "sha256-N9fC2tCP4TVNncatHaz5W5Mp3jOmAcEWYCl30+0myaE=";
};
patches = (substituteAll {
# See https://github.com/NixOS/nixpkgs/issues/86054
src = ./fix-qttranslations-path.patch;
inherit qttranslations;
});
postPatch = ''
substituteInPlace src/app/translations.pri \
--replace '$$[QT_INSTALL_BINS]/$$LRELEASE' '${lib.getDev qttools}/bin/lrelease'

View file

@ -1,37 +0,0 @@
diff --git i/src/libs/vmisc/vabstractapplication.cpp w/src/libs/vmisc/vabstractapplication.cpp
index b64817bab..5f9aa3518 100644
--- i/src/libs/vmisc/vabstractapplication.cpp
+++ w/src/libs/vmisc/vabstractapplication.cpp
@@ -221,26 +221,26 @@ void VAbstractApplication::LoadTranslation(const QString &locale)
ClearTranslation();
qtTranslator = new QTranslator(this);
-#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
+#if defined(Q_OS_WIN)
qtTranslator->load("qt_" + locale, translationsPath(locale));
#else
- qtTranslator->load("qt_" + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
+ qtTranslator->load("qt_" + locale, QLatin1String("@qttranslations@/translations"));
#endif
installTranslator(qtTranslator);
qtxmlTranslator = new QTranslator(this);
-#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
+#if defined(Q_OS_WIN)
qtxmlTranslator->load("qtxmlpatterns_" + locale, translationsPath(locale));
#else
- qtxmlTranslator->load("qtxmlpatterns_" + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
+ qtxmlTranslator->load("qtxmlpatterns_" + locale, QLatin1String("@qttranslations@/translations"));
#endif
installTranslator(qtxmlTranslator);
qtBaseTranslator = new QTranslator(this);
-#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
+#if defined(Q_OS_WIN)
qtBaseTranslator->load("qtbase_" + locale, translationsPath(locale));
#else
- qtBaseTranslator->load("qtbase_" + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
+ qtBaseTranslator->load("qtbase_" + locale, QLatin1String("@qttranslations@/translations"));
#endif
installTranslator(qtBaseTranslator);

View file

@ -91,11 +91,11 @@ in
stdenv.mkDerivation rec {
pname = "brave";
version = "1.57.47";
version = "1.57.53";
src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
sha256 = "sha256-u2xC+Q6tcg989S0zM2flRRiCu7kLSv1/y3N2EvFxiwM=";
sha256 = "sha256-vySznLCjEqol3FOZHvDpY9LY1UG2ExOu/shu8suKuoM=";
};
dontConfigure = true;

View file

@ -2,36 +2,36 @@
beta = {
deps = {
gn = {
rev = "4bd1a77e67958fb7f6739bd4542641646f264e5d";
sha256 = "14h9jqspb86sl5lhh6q0kk2rwa9zcak63f8drp7kb3r4dx08vzsw";
rev = "811d332bd90551342c5cbd39e133aa276022d7f8";
sha256 = "0jlg3d31p346na6a3yk0x29pm6b7q03ck423n5n6mi8nv4ybwajq";
url = "https://gn.googlesource.com/gn";
version = "2023-06-09";
version = "2023-08-01";
};
};
sha256 = "0r5m2bcrh2zpl2m8wnzyl4afh8s0dh2m2fnfjf50li94694vy4jz";
sha256bin64 = "047wsszg4c23vxq93a335iymiqpy7lw5izzz4f0zk1a4sijafd59";
version = "116.0.5845.50";
sha256 = "1wf0j189cxpayy6ffmj5j6h5yg3amivryilimjc2ap0jkyj4xrbi";
sha256bin64 = "11w1di146mjb9ql30df9yk9x4b9amc6514jzyfbf09mqsrw88dvr";
version = "117.0.5938.22";
};
dev = {
deps = {
gn = {
rev = "fae280eabe5d31accc53100137459ece19a7a295";
sha256 = "02javy4jsllwl4mxl2zmg964jvzw800w6gbmr5z6jdkip24fw0kj";
rev = "cc56a0f98bb34accd5323316e0292575ff17a5d4";
sha256 = "1ly7z48v147bfdb1kqkbc98myxpgqq3g6vgr8bjx1ikrk17l82ab";
url = "https://gn.googlesource.com/gn";
version = "2023-07-12";
version = "2023-08-10";
};
};
sha256 = "0pyf3k58m26lkc6v6mqpwvhyaj6bbyywl4c17cxb5zmzc1zmc5ia";
sha256bin64 = "10w5dm68aaffgdq0xqi4ans2w7byisqqld09pz5vpk350gy16fjh";
version = "117.0.5897.3";
sha256 = "1z01b6w4sgndrlcd26jgimk3rhv3wzpn67nv1fd5ln7dwfwkyq20";
sha256bin64 = "11y09hsy7y1vg65xfilq44ffsmn15dqy80fa57psj1kin4a52v2x";
version = "118.0.5966.0";
};
stable = {
chromedriver = {
sha256_darwin = "1c41cb7zh13ny4xvpwy7703cnjrkmqxd3n8zpja7n6a38mi8mgsk";
sha256_darwin = "0gzx3zka8i2ngsdiqp8sr0v6ir978vywa1pj7j08vsf8kmb93iiy";
sha256_darwin_aarch64 =
"1kliszw10jnnlhzi8jrdzjq0r7vfn6ksk1spsh2rfn2hmghccv2d";
sha256_linux = "1797qmb213anvp9lmrkj6wmfdwkdfswmshmk1816zankw5dl883j";
version = "115.0.5790.98";
"18iyapwjg0yha8qgbw7f605n0j54nd36shv3497bd84lc9k74b14";
sha256_linux = "0d8mqzjc11g1bvxvffk0xyhxfls2ycl7ym4ssyjq752g2apjblhp";
version = "116.0.5845.96";
};
deps = {
gn = {

View file

@ -3,7 +3,6 @@
, buildGoPackage
, makeWrapper
, fetchFromGitHub
, fetchpatch
, coreutils
, nettools
, dmidecode
@ -28,7 +27,7 @@ let
in
buildGoPackage rec {
pname = "amazon-ssm-agent";
version = "3.0.755.0";
version = "3.2.1297.0";
goPackagePath = "github.com/aws/${pname}";
@ -38,7 +37,7 @@ buildGoPackage rec {
rev = version;
owner = "aws";
repo = "amazon-ssm-agent";
hash = "sha256-yVQJL1MJ1JlAndlrXfEbNLQihlbLhSoQXTKzJMRzhao=";
hash = "sha256-zRs7RsShZPH3hb5MsADUNrTfHbJVwCELE9mCqEWaTng=";
};
patches = [
@ -48,16 +47,25 @@ buildGoPackage rec {
# They used constants from another package that I couldn't figure
# out how to resolve, so hardcoded the constants.
./0002-version-gen-don-t-use-unnecessary-constants.patch
];
(fetchpatch {
name = "CVE-2022-29527.patch";
url = "https://github.com/aws/amazon-ssm-agent/commit/0fe8ae99b2ff25649c7b86d3bc05fc037400aca7.patch";
sha256 = "sha256-5g14CxhsHLIgs1Vkfw8FCKEJ4AebNqZKf3ZzoAN/T9U=";
})
# See the list https://github.com/aws/amazon-ssm-agent/blob/3.2.1297.0/makefile#L120-L138
# The updater is not built because it cannot work on NixOS
subPackages = [
"core"
"agent"
"agent/cli-main"
"agent/framework/processor/executer/outofproc/worker"
"agent/session/logging"
"agent/framework/processor/executer/outofproc/sessionworker"
];
ldflags = [
"-s"
"-w"
];
preConfigure = ''
rm -r ./Tools/src/goreportcard
printf "#!/bin/sh\ntrue" > ./Tools/src/checkstyle.sh
substituteInPlace agent/platform/platform_unix.go \
@ -78,8 +86,6 @@ buildGoPackage rec {
'';
preBuild = ''
cp -r go/src/${goPackagePath}/vendor/src go
pushd go/src/${goPackagePath}
# Note: if this step fails, please patch the code to fix it! Please only skip
@ -95,8 +101,6 @@ buildGoPackage rec {
postBuild = ''
pushd go/bin
rm integration-cli versiongenerator generator
mv core amazon-ssm-agent
mv agent ssm-agent-worker
mv cli-main ssm-cli

View file

@ -6,7 +6,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "flexget";
version = "3.9.4";
version = "3.9.5";
format = "pyproject";
# Fetch from GitHub in order to use `requirements.in`
@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "Flexget";
repo = "Flexget";
rev = "refs/tags/v${version}";
hash = "sha256-cdmW0VSWjr3rm/1T0uDy1iPm3ojR5wrgRixyjIQhodU=";
hash = "sha256-L3AQCc5ErWjMATKMSZf9r+4rfFA8SjCCcT0rW9oMmbA=";
};
postPatch = ''

View file

@ -12,7 +12,7 @@
, mkDerivation
, qtgraphicaleffects
, qtquickcontrols2
, qttranslations
, qttools
}:
# How to update Linphone? (The Qt desktop app)
@ -73,11 +73,11 @@ mkDerivation rec {
minizip-ng
qtgraphicaleffects
qtquickcontrols2
qttranslations
];
nativeBuildInputs = [
cmake
qttools
];
cmakeFlags = [

View file

@ -12,7 +12,6 @@
, qtbase
, qtsvg
, qttools
, qttranslations
, ffmpeg
, filter-audio
, libexif
@ -44,7 +43,6 @@ mkDerivation rec {
libXScrnSaver
qtbase
qtsvg
qttranslations
ffmpeg
filter-audio
libexif

View file

@ -56,11 +56,11 @@
stdenv.mkDerivation rec {
pname = "webex";
version = "43.5.0.26155";
version = "43.8.0.26955";
src = fetchurl {
url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Gold/20230508235734/Webex_ubuntu.7z";
sha256 = "94ddd66be3a44eeb6f854d0e02feec2e010d494ff9fcc81663f30fca37da4774";
url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Gold/20230814223338/Webex_ubuntu.7z";
sha256 = "6c754d65fffbcbbb2ca303e1f8c1e5688da190eea3d3b67c77361abc6e2bb85b";
};
nativeBuildInputs = [

View file

@ -102,10 +102,11 @@ stdenv.mkDerivation rec {
checkTarget = "test";
nativeCheckInputs = [
which dtach openssl bash
gdb man emacs
gdb man
]
# for the test T-850.sh for notmuch-git, which is skipped when notmuch is
# built without sexp-support
++ lib.optional withEmacs emacs
++ lib.optional withSfsexp git;
installTargets = [ "install" "install-man" "install-info" ];

View file

@ -16,8 +16,6 @@
, qtkeychain
, qttools
, qtwebkit
, qttranslations
, substituteAll
, withI18n ? false
}:
@ -39,12 +37,6 @@ in mkDerivation rec {
sha256 = "sha256-15G9YjT3qBKbeOKfb/IgXOO+DaJaTULP9NJn/MFYZS8=";
};
patches = (substituteAll {
# See https://github.com/NixOS/nixpkgs/issues/86054
src = ./fix-qttranslations-path.patch;
inherit qttranslations;
});
buildInputs = [
akonadi-contacts
gpgme

View file

@ -1,13 +0,0 @@
diff --git i/src/Gui/main.cpp w/src/Gui/main.cpp
index 851db4f1..e997f46e 100644
--- i/src/Gui/main.cpp
+++ w/src/Gui/main.cpp
@@ -52,7 +52,7 @@ int main(int argc, char **argv)
QTranslator qtTranslator;
qtTranslator.load(QLatin1String("qt_") + QLocale::system().name(),
- QLibraryInfo::location(QLibraryInfo::TranslationsPath));
+ QLatin1String("@qttranslations@/translations"));
app.installTranslator(&qtTranslator);
QLatin1String localeSuffix("/locale");

View file

@ -1,4 +1,4 @@
{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, qtsvg, qtwebengine, qttranslations, wrapQtAppsHook }:
{ lib, stdenv, fetchFromGitHub, cmake, qtsvg, qtwebengine, wrapQtAppsHook, qttools }:
stdenv.mkDerivation rec {
pname = "pageedit";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
hash = "sha256-naoflFANeMwabbdrNL3+ndvEXYT4Yqf+Mo77HcCexHE=";
};
nativeBuildInputs = [ cmake qttranslations wrapQtAppsHook ];
nativeBuildInputs = [ cmake wrapQtAppsHook qttools ];
propagatedBuildInputs = [ qtsvg qtwebengine ];
cmakeFlags = [ "-DINSTALL_BUNDLED_DICTS=0" ];

View file

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
pname = "morgen";
version = "2.7.5";
version = "3.0.0";
src = fetchurl {
url = "https://download.todesktop.com/210203cqcj00tw1/morgen-${version}.deb";
sha256 = "sha256-gsH+KJt0d1Xe1JhgXuqot/vrMw9eBzIpCGlGeaeVJ+k=";
sha256 = "sha256-6d1KYUlXv+bHPITt2zs++AtyaAT8SSCG9T8ZsgOKDiw=";
};
nativeBuildInputs = [

View file

@ -23,13 +23,16 @@
stdenv.mkDerivation rec {
pname = "planify";
version = "4.1";
version = "4.1.1";
src = fetchFromGitHub {
owner = "alainm23";
repo = "planify";
rev = version;
sha256 = "sha256-H8TPuqKRwbcB+2NTC5ZIK7y6uiYbTT4svtx21FbTzME=";
# The commit is named as "Release 4.1.1", published to Flathub, but not tags
# https://github.com/flathub/io.github.alainm23.planify/commit/2a353ccfcf3379add6778d569f49da37f40accfa
# https://github.com/alainm23/planify/issues/1002
rev = "adf3629bcacfc9978f6dde5b87eff0278533ab3e";
hash = "sha256-xqklvSYmqBQ+IQ3lRjMbV4W4vD/rLCln7rBVCbYiBGo=";
};
nativeBuildInputs = [

View file

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
sha256 = "1hxwxmqc5jinr14ya1idigqigc8qhy1vimzcwy2vmwdjay2sqik2";
};
setSourceRoot = "sourceRoot=`pwd`";
sourceRoot = ".";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk2 fftw ];

View file

@ -11,13 +11,13 @@
, qtpositioning
, qtmultimedia
, qtserialport
, qttranslations
, qtwayland
, qtwebengine
, calcmysky
, qxlsx
, indilib
, libnova
, qttools
}:
stdenv.mkDerivation rec {
@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
perl
wrapGAppsHook
wrapQtAppsHook
qttools
];
buildInputs = [
@ -60,7 +61,6 @@ stdenv.mkDerivation rec {
qtpositioning
qtmultimedia
qtserialport
qttranslations
qtwebengine
calcmysky
qxlsx

View file

@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
stdenv.cc.cc.lib
];
sourceRoot = "./sratoolkit.${version}-ubuntu64/bin";
sourceRoot = "sratoolkit.${version}-ubuntu64/bin";
installPhase = ''
find -L . -executable -type f -! -name "*remote-fuser*" -exec install -m755 -D {} $out/bin/{} \;

View file

@ -8,11 +8,11 @@
stdenv.mkDerivation rec {
pname = "dataexplorer";
version = "3.7.9";
version = "3.8.0";
src = fetchurl {
url = "mirror://savannah/dataexplorer/dataexplorer-${version}-src.tar.gz";
sha256 = "sha256-CdIWAde7mytXP9U1PfI9d/rFK7Agy5biIq5tMTW9RD4=";
sha256 = "sha256-ZluT/jCjcOrlh2nqe0j56shmtGqfm11BCnsp6mWDXkQ=";
};
nativeBuildInputs = [ ant makeWrapper ];

View file

@ -13,13 +13,16 @@ let
packageOverrides = self: super: {
shapely = super.shapely.overridePythonAttrs (old: rec {
version = "1.8.4";
src = fetchPypi {
pname = "Shapely";
inherit version;
hash = "sha256-oZXlHKr6IYKR8suqP+9p/TNTyT7EtlsqRyLEz0DDGYw=";
};
# Environment variable used in shapely/_buildcfg.py
GEOS_LIBRARY_PATH = "${geos}/lib/libgeos_c${stdenv.hostPlatform.extensions.sharedLibrary}";
patches = [
# Patch to search form GOES .so/.dylib files in a Nix-aware way
(substituteAll {
@ -28,6 +31,11 @@ let
libc = lib.optionalString (!stdenv.isDarwin) "${stdenv.cc.libc}/lib/libc${stdenv.hostPlatform.extensions.sharedLibrary}.6";
})
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'setuptools<64' 'setuptools'
'';
});
};
};

View file

@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
srcs = [ xyce_src regression_src ];
sourceRoot = "./${xyce_src.name}";
sourceRoot = xyce_src.name;
preConfigure = "./bootstrap";

View file

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
strictDeps = true;
nativeBuildInputs = [ ocaml perl ];
setSourceRoot = "export sourceRoot=$(echo */ekrh/src/)";
setSourceRoot = "export sourceRoot=$(echo */ekrh/src)";
preInstall = "export INSTALLDIR=$out";
postInstall = ''for i in "$out/casc"/*; do ln -s "$i" "$out/bin/ekrh-casc-$(basename $i)"; done '';

View file

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
];
setSourceRoot = ''
sourceRoot=$(echo */gui-wx/)
sourceRoot=$(echo */gui-wx)
'';
postPatch = ''

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "git-repo";
version = "2.35";
version = "2.36";
src = fetchFromGitHub {
owner = "android";
repo = "tools_repo";
rev = "v${version}";
hash = "sha256-ZJFXQH4bF3O4oMUwBQnoZC2FyL2/DH6AHk4CcHA0fLc=";
hash = "sha256-TCCVdPhrR4NWwqNjEAySSsiW2D7gCdLAiD+UeuvBJvI=";
};
# Fix 'NameError: name 'ssl' is not defined'

View file

@ -109,9 +109,7 @@ let
'';
# The unpack phase won't generate a directory
setSourceRoot = ''
sourceRoot=$PWD
'';
sourceRoot = ".";
installPhase = ''
runHook preInstall

View file

@ -0,0 +1,73 @@
{ lib
, stdenv
, fetchFromGitHub
, writeText
, fontconfig
, libX11
, libXft
, libXcursor
, libXcomposite
, conf ? null
, nixosTests
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ragnarwm";
version = "1.3.1";
src = fetchFromGitHub {
owner = "cococry";
repo = "Ragnar";
rev = finalAttrs.version;
hash = "sha256-SZWhmFNmS2oLdO9BnPzimoind1452v/EEQzadc5A+bI";
};
prePatch = ''
substituteInPlace Makefile \
--replace '/usr/bin' "$out/bin" \
--replace '/usr/share' "$out/share"
'';
postPatch =
let
configFile =
if lib.isDerivation conf || builtins.isPath conf
then conf else writeText "config.h" conf;
in
lib.optionalString (conf != null) "cp ${configFile} config.h";
buildInputs = [
fontconfig
libX11
libXft
libXcursor
libXcomposite
];
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
enableParallelBuilding = true;
preInstall = ''
mkdir -p $out/bin
mkdir -p $out/share/applications
'';
postInstall = ''
install -Dm644 $out/share/applications/ragnar.desktop $out/share/xsessions/ragnar.desktop
'';
passthru = {
tests.ragnarwm = nixosTests.ragnarwm;
providedSessions = [ "ragnar" ];
};
meta = with lib; {
description = "Minimal, flexible & user-friendly X tiling window manager";
homepage = "https://ragnar-website.vercel.app";
changelog = "https://github.com/cococry/Ragnar/releases/tag/${finalAttrs.version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ sigmanificient ];
mainProgram = "ragnar";
platforms = platforms.linux;
};
})

View file

@ -1,4 +1,5 @@
declare -a hardeningCFlags=()
declare -a hardeningCFlagsAfter=()
declare -a hardeningCFlagsBefore=()
declare -A hardeningEnableMap=()
@ -48,15 +49,19 @@ for flag in "${!hardeningEnableMap[@]}"; do
fortify | fortify3)
# Use -U_FORTIFY_SOURCE to avoid warnings on toolchains that explicitly
# set -D_FORTIFY_SOURCE=0 (like 'clang -fsanitize=address').
hardeningCFlags+=('-O2' '-U_FORTIFY_SOURCE')
hardeningCFlagsBefore+=('-O2' '-U_FORTIFY_SOURCE')
# Unset any _FORTIFY_SOURCE values the command-line may have set before
# enforcing our own value, avoiding (potentially fatal) redefinition
# warnings
hardeningCFlagsAfter+=('-U_FORTIFY_SOURCE')
case $flag in
fortify)
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling fortify >&2; fi
hardeningCFlags+=('-D_FORTIFY_SOURCE=2')
hardeningCFlagsAfter+=('-D_FORTIFY_SOURCE=2')
;;
fortify3)
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling fortify3 >&2; fi
hardeningCFlags+=('-D_FORTIFY_SOURCE=3')
hardeningCFlagsAfter+=('-D_FORTIFY_SOURCE=3')
;;
*)
# Ignore unsupported.
@ -65,20 +70,20 @@ for flag in "${!hardeningEnableMap[@]}"; do
;;
stackprotector)
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stackprotector >&2; fi
hardeningCFlags+=('-fstack-protector-strong' '--param' 'ssp-buffer-size=4')
hardeningCFlagsBefore+=('-fstack-protector-strong' '--param' 'ssp-buffer-size=4')
;;
pie)
# NB: we do not use `+=` here, because PIE flags must occur before any PIC flags
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling CFlags -fPIE >&2; fi
hardeningCFlags=('-fPIE' "${hardeningCFlags[@]}")
hardeningCFlagsBefore=('-fPIE' "${hardeningCFlagsBefore[@]}")
if [[ ! (" ${params[*]} " =~ " -shared " || " ${params[*]} " =~ " -static ") ]]; then
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling LDFlags -pie >&2; fi
hardeningCFlags=('-pie' "${hardeningCFlags[@]}")
hardeningCFlagsBefore=('-pie' "${hardeningCFlagsBefore[@]}")
fi
;;
pic)
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling pic >&2; fi
hardeningCFlags+=('-fPIC')
hardeningCFlagsBefore+=('-fPIC')
;;
strictoverflow)
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling strictoverflow >&2; fi
@ -89,14 +94,14 @@ for flag in "${!hardeningEnableMap[@]}"; do
#
# See: https://github.com/llvm/llvm-project/blob/llvmorg-16.0.6/clang/lib/Driver/ToolChains/Clang.cpp#L6315
#
hardeningCFlags+=('-fwrapv')
hardeningCFlagsBefore+=('-fwrapv')
else
hardeningCFlags+=('-fno-strict-overflow')
hardeningCFlagsBefore+=('-fno-strict-overflow')
fi
;;
format)
if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling format >&2; fi
hardeningCFlags+=('-Wformat' '-Wformat-security' '-Werror=format-security')
hardeningCFlagsBefore+=('-Wformat' '-Wformat-security' '-Werror=format-security')
;;
*)
# Ignore unsupported. Checked in Nix that at least *some*

View file

@ -171,8 +171,8 @@ fi
source @out@/nix-support/add-hardening.sh
# Add the flags for the C compiler proper.
extraAfter=($NIX_CFLAGS_COMPILE_@suffixSalt@)
extraBefore=(${hardeningCFlags[@]+"${hardeningCFlags[@]}"} $NIX_CFLAGS_COMPILE_BEFORE_@suffixSalt@)
extraAfter=(${hardeningCFlagsAfter[@]+"${hardeningCFlagsAfter[@]}"} $NIX_CFLAGS_COMPILE_@suffixSalt@)
extraBefore=(${hardeningCFlagsBefore[@]+"${hardeningCFlagsBefore[@]}"} $NIX_CFLAGS_COMPILE_BEFORE_@suffixSalt@)
if [ "$dontLink" != 1 ]; then

View file

@ -70,9 +70,12 @@ static void init()
}
static const char * rewrite(const char * path, char * buf)
static const char * rewrite(const char * volatile path, char * buf)
{
// Marking the path volatile is needed so the the following check isn't
// optimized away by the compiler.
if (path == NULL) return path;
for (int n = 0; n < nrRedirects; ++n) {
int len = strlen(from[n]);
if (strncmp(path, from[n], len) != 0) continue;

View file

@ -45,6 +45,17 @@ void test_subprocess(void) {
assert(system(SUBTEST) == 0);
}
void test_stat_with_null_path(void) {
// This checks whether the compiler optimizes away the null pointer check
// on the path passed to stat(). If that's the case, the following code
// should segfault.
struct stat buf;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wnonnull"
stat(NULL, &buf);
#pragma GCC diagnostic pop
}
void assert_mktemp_path(
const char * orig_prefix,
const char * orig_suffix,
@ -147,6 +158,7 @@ int main(int argc, char *argv[])
test_spawn();
test_system();
test_stat_with_null_path();
// Only run subprocess if no arguments are given
// as the subprocess will be called without argument

View file

@ -12,7 +12,7 @@ stdenvNoCC.mkDerivation rec {
installPhase = ''
runHook preInstall
install -Dm644 *.ttf -t $out/share/fonts/hack
install -Dm644 *.ttf -t $out/share/fonts/truetype
runHook postInstall
'';

View file

@ -5,11 +5,11 @@
stdenvNoCC.mkDerivation rec {
pname = "lxgw-neoxihei";
version = "1.103.1";
version = "1.104";
src = fetchurl {
url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
hash = "sha256-z9SzSt+GXV+9GLtzjY6EQQa6bKrixYo03kEfzGfug90=";
hash = "sha256-R2b3zc+BwX9RvabqxXbRRHV3kKh5G1bnGg0ZP4BnBMI=";
};
dontUnpack = true;

View file

@ -5,10 +5,9 @@
}:
let
maple-font = { pname, sha256, desc }: stdenv.mkDerivation
rec{
inherit pname desc;
maple-font = { pname, sha256, desc }:
stdenv.mkDerivation rec{
inherit pname;
version = "6.4";
src = fetchurl {
url = "https://github.com/subframe7536/Maple-font/releases/download/v${version}/${pname}.zip";
@ -17,7 +16,7 @@ let
# Work around the "unpacker appears to have produced no directories"
# case that happens when the archive doesn't have a subdirectory.
setSourceRoot = "sourceRoot=`pwd`";
sourceRoot = ".";
nativeBuildInputs = [ unzip ];
installPhase = ''
find . -name '*.ttf' -exec install -Dt $out/share/fonts/truetype {} \;

View file

@ -51,7 +51,7 @@ stdenv.mkDerivation {
})
];
sourceRoot = "./";
sourceRoot = ".";
unpackCmd = ''
ttfName=$(basename $(stripHash $curSrc))

View file

@ -66,7 +66,7 @@ stdenv.mkDerivation {
})
];
sourceRoot = "./";
sourceRoot = ".";
unpackCmd = ''
ttfName=$(basename $(stripHash $curSrc))

View file

@ -16,9 +16,7 @@ stdenv.mkDerivation rec {
unzip
];
setSourceRoot = ''
sourceRoot=$PWD
'';
sourceRoot = ".";
installPhase = ''
runHook preInstall

View file

@ -16,9 +16,7 @@ stdenv.mkDerivation rec {
unzip
];
setSourceRoot = ''
sourceRoot=$PWD
'';
sourceRoot = ".";
installPhase = ''
runHook preInstall

View file

@ -127,6 +127,7 @@ mkDerivation {
./hwclock-path.patch
./tzdir.patch
./kcm-access.patch
./no-discover-shortcut.patch
];
CXXFLAGS =
[

View file

@ -0,0 +1,13 @@
diff --git a/applets/taskmanager/package/contents/config/main.xml b/applets/taskmanager/package/contents/config/main.xml
index 6bb27695d..25e621810 100644
--- a/applets/taskmanager/package/contents/config/main.xml
+++ b/applets/taskmanager/package/contents/config/main.xml
@@ -85,7 +85,7 @@
</entry>
<entry name="launchers" type="StringList">
<label>The list of launcher tasks on the widget. Usually .desktop file or executable URLs. Special URLs such as preferred://browser that expand to default applications are supported.</label>
- <default>applications:systemsettings.desktop,applications:org.kde.discover.desktop,preferred://filemanager,preferred://browser</default>
+ <default>applications:systemsettings.desktop,preferred://filemanager,preferred://browser</default>
</entry>
<entry name="middleClickAction" type="Enum">
<label>What to do on middle-mouse click on a task button.</label>

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