Merge master into haskell-updates
This commit is contained in:
commit
c0f6e57cde
|
@ -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`) doesn’t 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`
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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}" ])
|
||||
|
|
|
@ -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
|
|||
|
||||
}
|
||||
''}
|
||||
|
||||
}
|
||||
|
||||
'';
|
||||
|
||||
};
|
||||
|
|
|
@ -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 != "") ''
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ in
|
|||
./openbox.nix
|
||||
./pekwm.nix
|
||||
./notion.nix
|
||||
./ragnarwm.nix
|
||||
./ratpoison.nix
|
||||
./sawfish.nix
|
||||
./smallwm.nix
|
||||
|
|
33
nixos/modules/services/x11/window-managers/ragnarwm.nix
Normal file
33
nixos/modules/services/x11/window-managers/ragnarwm.nix
Normal 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 ];
|
||||
}
|
|
@ -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 {};
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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
32
nixos/tests/ragnarwm.nix
Normal 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")
|
||||
'';
|
||||
})
|
|
@ -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;
|
||||
|
|
|
@ -11,7 +11,7 @@ stdenv.mkDerivation {
|
|||
|
||||
nativeBuildInputs = [ autoPatchelfHook ];
|
||||
|
||||
setSourceRoot = "sourceRoot=$PWD";
|
||||
sourceRoot = ".";
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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" ];
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)" ];
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 doesn’t 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;
|
||||
};
|
||||
})
|
||||
|
|
|
@ -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)
|
||||
|
|
@ -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];
|
||||
|
|
|
@ -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}";
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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)
|
|
@ -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;
|
||||
|
||||
|
|
121
pkgs/applications/finance/odoo/odoo15.nix
Normal file
121
pkgs/applications/finance/odoo/odoo15.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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);
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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; {
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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;
|
|
@ -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 = [
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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()
|
|
@ -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"
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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);
|
||||
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
26
pkgs/applications/misc/harsh/default.nix
Normal file
26
pkgs/applications/misc/harsh/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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}" ];
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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" ];
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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);
|
||||
|
|
@ -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;
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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");
|
|
@ -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" ];
|
||||
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1hxwxmqc5jinr14ya1idigqigc8qhy1vimzcwy2vmwdjay2sqik2";
|
||||
};
|
||||
|
||||
setSourceRoot = "sourceRoot=`pwd`";
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ gtk2 fftw ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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/{} \;
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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'
|
||||
'';
|
||||
});
|
||||
};
|
||||
};
|
||||
|
|
|
@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
srcs = [ xyce_src regression_src ];
|
||||
|
||||
sourceRoot = "./${xyce_src.name}";
|
||||
sourceRoot = xyce_src.name;
|
||||
|
||||
preConfigure = "./bootstrap";
|
||||
|
||||
|
|
|
@ -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 '';
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
setSourceRoot = ''
|
||||
sourceRoot=$(echo */gui-wx/)
|
||||
sourceRoot=$(echo */gui-wx)
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -109,9 +109,7 @@ let
|
|||
'';
|
||||
|
||||
# The unpack phase won't generate a directory
|
||||
setSourceRoot = ''
|
||||
sourceRoot=$PWD
|
||||
'';
|
||||
sourceRoot = ".";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
|
73
pkgs/applications/window-managers/ragnarwm/default.nix
Normal file
73
pkgs/applications/window-managers/ragnarwm/default.nix
Normal 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;
|
||||
};
|
||||
})
|
|
@ -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*
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {} \;
|
||||
|
|
|
@ -51,7 +51,7 @@ stdenv.mkDerivation {
|
|||
})
|
||||
];
|
||||
|
||||
sourceRoot = "./";
|
||||
sourceRoot = ".";
|
||||
|
||||
unpackCmd = ''
|
||||
ttfName=$(basename $(stripHash $curSrc))
|
||||
|
|
|
@ -66,7 +66,7 @@ stdenv.mkDerivation {
|
|||
})
|
||||
];
|
||||
|
||||
sourceRoot = "./";
|
||||
sourceRoot = ".";
|
||||
|
||||
unpackCmd = ''
|
||||
ttfName=$(basename $(stripHash $curSrc))
|
||||
|
|
|
@ -16,9 +16,7 @@ stdenv.mkDerivation rec {
|
|||
unzip
|
||||
];
|
||||
|
||||
setSourceRoot = ''
|
||||
sourceRoot=$PWD
|
||||
'';
|
||||
sourceRoot = ".";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
|
|
@ -16,9 +16,7 @@ stdenv.mkDerivation rec {
|
|||
unzip
|
||||
];
|
||||
|
||||
setSourceRoot = ''
|
||||
sourceRoot=$PWD
|
||||
'';
|
||||
sourceRoot = ".";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
|
|
@ -127,6 +127,7 @@ mkDerivation {
|
|||
./hwclock-path.patch
|
||||
./tzdir.patch
|
||||
./kcm-access.patch
|
||||
./no-discover-shortcut.patch
|
||||
];
|
||||
CXXFLAGS =
|
||||
[
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue