Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-02-20 00:12:32 +00:00 committed by GitHub
commit ec769627e0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
226 changed files with 5398 additions and 3351 deletions

View File

@ -178,6 +178,13 @@ Similarly, if you encounter errors similar to `Error_Protocol ("certificate has
_Default value:_ 0.
`compressor` (String; _optional_)
: Selects the algorithm used to compress the image.
_Default value:_ `"gz"`.\
_Possible values:_ `"none"`, `"gz"`, `"zstd"`.
`contents` **DEPRECATED**
: This attribute is deprecated, and users are encouraged to use `copyToRoot` instead.

View File

@ -385,6 +385,13 @@
githubId = 2526296;
name = "Adrien Bustany";
};
abysssol = {
name = "abysssol";
email = "abysssol@pm.me";
matrix = "@abysssol:tchncs.de";
github = "abysssol";
githubId = 76763323;
};
acairncross = {
email = "acairncross@gmail.com";
github = "acairncross";
@ -16613,6 +16620,12 @@
github = "rubyowo";
githubId = 105302757;
};
rucadi = {
email = "ruben.canodiaz@gmail.com";
github = "rucadi";
githubId = 6445619;
name = "Ruben Cano Diaz";
};
rudolfvesely = {
name = "Rudolf Vesely";
email = "i@rudolfvesely.com";

View File

@ -179,6 +179,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
`wants`), because the dependency that `multi-user.target` has on
`network-online.target` is planned for removal.
- `services.pgbouncer` now has systemd support enabled and will log to journald. The default setting for `services.pgbouncer.logFile` is now `null` to disable logging to a separate log file.
- `services.archisteamfarm` no longer uses the abbreviation `asf` for its state directory (`/var/lib/asf`), user and group (both `asf`). Instead the long name `archisteamfarm` is used.
Configurations with `system.stateVersion` 23.11 or earlier, default to the old stateDirectory until the 24.11 release and must either set the option explicitly or move the data to the new directory.
@ -339,6 +341,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- The `services.paperless` module no longer uses the previously downloaded NLTK data stored in `/var/cache/paperless/nltk`. This directory can be removed.
- The `services.teeworlds` module now has a wealth of configuration options, including a new `package` option.
- The `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399).
- The module `services.github-runner` has been removed. To configure a single GitHub Actions Runner refer to `services.github-runners.*`. Note that this will trigger a new runner registration.

View File

@ -6,7 +6,7 @@ with lib;
let
checkService = checkUnitConfig "Service" [
(assertValueOneOf "Type" [
"exec" "simple" "forking" "oneshot" "dbus" "notify" "idle"
"exec" "simple" "forking" "oneshot" "dbus" "notify" "notify-reload" "idle"
])
(assertValueOneOf "Restart" [
"no" "on-success" "on-failure" "on-abnormal" "on-abort" "always"

View File

@ -22,7 +22,7 @@ in
description = lib.mdDoc ''
Configuration included in `${name}.toml`.
See https://github.com/sxyazi/yazi/blob/v${cfg.package.version}/config/docs/${name}.md for documentation.
See https://yazi-rs.github.io/docs/configuration/${name}/ for documentation.
'';
}))
names);
@ -47,7 +47,5 @@ in
};
meta = {
maintainers = with lib.maintainers; [ linsui ];
# The version of the package is used in the doc.
buildDocsInSandbox = false;
};
}

View File

@ -66,9 +66,6 @@ let
${optionalString (cfg.adminUsers != null) "admin_users = ${cfg.adminUsers}"}
${optionalString (cfg.statsUsers != null) "stats_users = ${cfg.statsUsers}"}
# linux
pidfile = /run/pgbouncer/pgbouncer.pid
# extra
${cfg.extraConfig}
'';
@ -96,10 +93,9 @@ in {
logFile = mkOption {
type = types.nullOr types.str;
default = "pgbouncer.log";
default = null;
description = lib.mdDoc ''
Specifies the log file.
Either this or syslog has to be specified.
Specifies a log file in addition to journald.
'';
};
@ -601,22 +597,21 @@ in {
systemd.services.pgbouncer = {
description = "PgBouncer - PostgreSQL connection pooler";
wants = [ "postgresql.service" ];
after = [ "postgresql.service" ];
wants = [ "network-online.target" ] ++ lib.optional config.services.postgresql.enable "postgresql.service";
after = [ "network-online.target" ] ++ lib.optional config.services.postgresql.enable "postgresql.service";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "forking";
Type = "notify";
User = cfg.user;
Group = cfg.group;
ExecStart = "${pkgs.pgbouncer}/bin/pgbouncer -d ${confFile}";
ExecStart = "${lib.getExe pkgs.pgbouncer} ${confFile}";
ExecReload = "${pkgs.coreutils}/bin/kill -SIGHUP $MAINPID";
RuntimeDirectory = "pgbouncer";
PIDFile = "/run/pgbouncer/pgbouncer.pid";
LimitNOFILE = cfg.openFilesLimit;
};
};
networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port;
networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.listenPort;
};

View File

@ -6,13 +6,86 @@ let
cfg = config.services.teeworlds;
register = cfg.register;
bool = b: if b != null && b then "1" else "0";
optionalSetting = s: setting: optionalString (s != null) "${setting} ${s}";
lookup = attrs: key: default: if attrs ? key then attrs."${key}" else default;
inactivePenaltyOptions = {
"spectator" = "1";
"spectator/kick" = "2";
"kick" = "3";
};
skillLevelOptions = {
"casual" = "0";
"normal" = "1";
"competitive" = "2";
};
tournamentModeOptions = {
"disable" = "0";
"enable" = "1";
"restrictSpectators" = "2";
};
teeworldsConf = pkgs.writeText "teeworlds.cfg" ''
sv_port ${toString cfg.port}
sv_register ${if cfg.register then "1" else "0"}
${optionalString (cfg.name != null) "sv_name ${cfg.name}"}
${optionalString (cfg.motd != null) "sv_motd ${cfg.motd}"}
${optionalString (cfg.password != null) "password ${cfg.password}"}
${optionalString (cfg.rconPassword != null) "sv_rcon_password ${cfg.rconPassword}"}
sv_register ${bool cfg.register}
sv_name ${cfg.name}
${optionalSetting cfg.motd "sv_motd"}
${optionalSetting cfg.password "password"}
${optionalSetting cfg.rconPassword "sv_rcon_password"}
${optionalSetting cfg.server.bindAddr "bindaddr"}
${optionalSetting cfg.server.hostName "sv_hostname"}
sv_high_bandwidth ${bool cfg.server.enableHighBandwidth}
sv_inactivekick ${lookup inactivePenaltyOptions cfg.server.inactivePenalty "spectator/kick"}
sv_inactivekick_spec ${bool cfg.server.kickInactiveSpectators}
sv_inactivekick_time ${toString cfg.server.inactiveTime}
sv_max_clients ${toString cfg.server.maxClients}
sv_max_clients_per_ip ${toString cfg.server.maxClientsPerIP}
sv_skill_level ${lookup skillLevelOptions cfg.server.skillLevel "normal"}
sv_spamprotection ${bool cfg.server.enableSpamProtection}
sv_gametype ${cfg.game.gameType}
sv_map ${cfg.game.map}
sv_match_swap ${bool cfg.game.swapTeams}
sv_player_ready_mode ${bool cfg.game.enableReadyMode}
sv_player_slots ${toString cfg.game.playerSlots}
sv_powerups ${bool cfg.game.enablePowerups}
sv_scorelimit ${toString cfg.game.scoreLimit}
sv_strict_spectate_mode ${bool cfg.game.restrictSpectators}
sv_teamdamage ${bool cfg.game.enableTeamDamage}
sv_timelimit ${toString cfg.game.timeLimit}
sv_tournament_mode ${lookup tournamentModeOptions cfg.server.tournamentMode "disable"}
sv_vote_kick ${bool cfg.game.enableVoteKick}
sv_vote_kick_bantime ${toString cfg.game.voteKickBanTime}
sv_vote_kick_min ${toString cfg.game.voteKickMinimumPlayers}
${optionalSetting cfg.server.bindAddr "bindaddr"}
${optionalSetting cfg.server.hostName "sv_hostname"}
sv_high_bandwidth ${bool cfg.server.enableHighBandwidth}
sv_inactivekick ${lookup inactivePenaltyOptions cfg.server.inactivePenalty "spectator/kick"}
sv_inactivekick_spec ${bool cfg.server.kickInactiveSpectators}
sv_inactivekick_time ${toString cfg.server.inactiveTime}
sv_max_clients ${toString cfg.server.maxClients}
sv_max_clients_per_ip ${toString cfg.server.maxClientsPerIP}
sv_skill_level ${lookup skillLevelOptions cfg.server.skillLevel "normal"}
sv_spamprotection ${bool cfg.server.enableSpamProtection}
sv_gametype ${cfg.game.gameType}
sv_map ${cfg.game.map}
sv_match_swap ${bool cfg.game.swapTeams}
sv_player_ready_mode ${bool cfg.game.enableReadyMode}
sv_player_slots ${toString cfg.game.playerSlots}
sv_powerups ${bool cfg.game.enablePowerups}
sv_scorelimit ${toString cfg.game.scoreLimit}
sv_strict_spectate_mode ${bool cfg.game.restrictSpectators}
sv_teamdamage ${bool cfg.game.enableTeamDamage}
sv_timelimit ${toString cfg.game.timeLimit}
sv_tournament_mode ${lookup tournamentModeOptions cfg.server.tournamentMode "disable"}
sv_vote_kick ${bool cfg.game.enableVoteKick}
sv_vote_kick_bantime ${toString cfg.game.voteKickBanTime}
sv_vote_kick_min ${toString cfg.game.voteKickMinimumPlayers}
${concatStringsSep "\n" cfg.extraOptions}
'';
@ -22,17 +95,19 @@ in
services.teeworlds = {
enable = mkEnableOption (lib.mdDoc "Teeworlds Server");
package = mkPackageOptionMD pkgs "teeworlds-server" { };
openPorts = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc "Whether to open firewall ports for Teeworlds";
description = lib.mdDoc "Whether to open firewall ports for Teeworlds.";
};
name = mkOption {
type = types.nullOr types.str;
default = null;
type = types.str;
default = "unnamed server";
description = lib.mdDoc ''
Name of the server. Defaults to 'unnamed server'.
Name of the server.
'';
};
@ -41,7 +116,7 @@ in
example = true;
default = false;
description = lib.mdDoc ''
Whether the server registers as public server in the global server list. This is disabled by default because of privacy.
Whether the server registers as a public server in the global server list. This is disabled by default for privacy reasons.
'';
};
@ -49,7 +124,7 @@ in
type = types.nullOr types.str;
default = null;
description = lib.mdDoc ''
Set the server message of the day text.
The server's message of the day text.
'';
};
@ -85,6 +160,217 @@ in
'';
example = [ "sv_map dm1" "sv_gametype dm" ];
};
server = {
bindAddr = mkOption {
type = types.nullOr types.str;
default = null;
description = lib.mdDoc ''
The address the server will bind to.
'';
};
enableHighBandwidth = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Whether to enable high bandwidth mode on LAN servers. This will double the amount of bandwidth required for running the server.
'';
};
hostName = mkOption {
type = types.nullOr types.str;
default = null;
description = lib.mdDoc ''
Hostname for the server.
'';
};
inactivePenalty = mkOption {
type = types.enum [ "spectator" "spectator/kick" "kick" ];
example = "spectator";
default = "spectator/kick";
description = lib.mdDoc ''
Specify what to do when a client goes inactive (see [](#opt-services.teeworlds.server.inactiveTime)).
- `spectator`: send the client into spectator mode
- `spectator/kick`: send the client into a free spectator slot, otherwise kick the client
- `kick`: kick the client
'';
};
kickInactiveSpectators = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Whether to kick inactive spectators.
'';
};
inactiveTime = mkOption {
type = types.ints.unsigned;
default = 3;
description = lib.mdDoc ''
The amount of minutes a client has to idle before it is considered inactive.
'';
};
maxClients = mkOption {
type = types.ints.unsigned;
default = 12;
description = lib.mdDoc ''
The maximum amount of clients that can be connected to the server at the same time.
'';
};
maxClientsPerIP = mkOption {
type = types.ints.unsigned;
default = 12;
description = lib.mdDoc ''
The maximum amount of clients with the same IP address that can be connected to the server at the same time.
'';
};
skillLevel = mkOption {
type = types.enum [ "casual" "normal" "competitive" ];
default = "normal";
description = lib.mdDoc ''
The skill level shown in the server browser.
'';
};
enableSpamProtection = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc ''
Whether to enable chat spam protection.
'';
};
};
game = {
gameType = mkOption {
type = types.str;
example = "ctf";
default = "dm";
description = lib.mdDoc ''
The game type to use on the server.
The default gametypes are `dm`, `tdm`, `ctf`, `lms`, and `lts`.
'';
};
map = mkOption {
type = types.str;
example = "ctf5";
default = "dm1";
description = lib.mdDoc ''
The map to use on the server.
'';
};
swapTeams = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc ''
Whether to swap teams each round.
'';
};
enableReadyMode = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Whether to enable "ready mode"; where players can pause/unpause the game
and start the game in warmup, using their ready state.
'';
};
playerSlots = mkOption {
type = types.ints.unsigned;
default = 8;
description = lib.mdDoc ''
The amount of slots to reserve for players (as opposed to spectators).
'';
};
enablePowerups = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc ''
Whether to allow powerups such as the ninja.
'';
};
scoreLimit = mkOption {
type = types.ints.unsigned;
example = 400;
default = 20;
description = lib.mdDoc ''
The score limit needed to win a round.
'';
};
restrictSpectators = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Whether to restrict access to information such as health, ammo and armour in spectator mode.
'';
};
enableTeamDamage = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Whether to enable team damage; whether to allow team mates to inflict damage on one another.
'';
};
timeLimit = mkOption {
type = types.ints.unsigned;
default = 0;
description = lib.mdDoc ''
Time limit of the game. In cases of equal points, there will be sudden death.
Setting this to 0 disables a time limit.
'';
};
tournamentMode = mkOption {
type = types.enum [ "disable" "enable" "restrictSpectators" ];
default = "disable";
description = lib.mdDoc ''
Whether to enable tournament mode. In tournament mode, players join as spectators.
If this is set to `restrictSpectators`, tournament mode is enabled but spectator chat is restricted.
'';
};
enableVoteKick = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc ''
Whether to enable voting to kick players.
'';
};
voteKickBanTime = mkOption {
type = types.ints.unsigned;
default = 5;
description = lib.mdDoc ''
The amount of minutes that a player is banned for if they get kicked by a vote.
'';
};
voteKickMinimumPlayers = mkOption {
type = types.ints.unsigned;
default = 5;
description = lib.mdDoc ''
The minimum amount of players required to start a kick vote.
'';
};
};
};
};
@ -100,7 +386,7 @@ in
serviceConfig = {
DynamicUser = true;
ExecStart = "${pkgs.teeworlds-server}/bin/teeworlds_srv -f ${teeworldsConf}";
ExecStart = "${cfg.package}/bin/teeworlds_srv -f ${teeworldsConf}";
# Hardening
CapabilityBoundingSet = false;

View File

@ -50,7 +50,7 @@ in
serviceConfig = {
Type = "exec";
User = "automatic-timezoned";
ExecStart = "${cfg.package}/bin/automatic-timezoned --zoneinfo-path=${pkgs.tzdata}/share/zoneinfo/zone1970.tab";
ExecStart = "${cfg.package}/bin/automatic-timezoned";
};
wantedBy = [ "default.target" ];
};

View File

@ -97,6 +97,12 @@ in
considered failed and systemd will attempt to restart it.
'';
};
ui = {
enable = lib.mkEnableOption (lib.mdDoc "(experimental) Incus UI");
package = lib.mkPackageOption pkgs [ "incus" "ui" ] { };
};
};
};
@ -165,10 +171,12 @@ in
"${config.boot.zfs.package}/lib/udev"
];
environment = {
environment = lib.mkMerge [ {
# Override Path to the LXC template configuration directory
INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config";
};
} (lib.mkIf (cfg.ui.enable) {
"INCUS_UI" = cfg.ui.package;
}) ];
serviceConfig = {
ExecStart = "${cfg.package}/bin/incusd --group incus-admin";

View File

@ -46,6 +46,18 @@ let
echo 'runAsRoot has run.'
'';
};
chownTestImage =
pkgs.dockerTools.streamLayeredImage {
name = "chown-test";
tag = "latest";
enableFakechroot = true;
fakeRootCommands = ''
touch /testfile
chown 12345:12345 /testfile
'';
config.Cmd = [ "${pkgs.coreutils}/bin/stat" "-c" "%u:%g" "/testfile" ];
};
in {
name = "docker-tools";
meta = with pkgs.lib.maintainers; {
@ -143,6 +155,15 @@ in {
docker.succeed("docker images --format '{{.Tag}}' | grep -F '${examples.nixLayered.imageTag}'")
docker.succeed("docker rmi ${examples.nixLayered.imageName}")
with subtest("Check that images with alternative compression schemas load"):
docker.succeed(
"docker load --input='${examples.bashZstdCompressed}'",
"docker rmi ${examples.bashZstdCompressed.imageName}",
)
docker.succeed(
"docker load --input='${examples.bashUncompressed}'",
"docker rmi ${examples.bashUncompressed.imageName}",
)
with subtest(
"Check if the nix store is correctly initialized by listing "
@ -464,6 +485,18 @@ in {
"docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} /hello/bin/layeredImageWithFakeRootCommands-hello"
)
with subtest("mergeImage correctly deals with varying compression schemas in inputs"):
docker.succeed("docker load --input='${examples.mergeVaryingCompressor}'")
for sub_image, tag in [
("${examples.redis.imageName}", "${examples.redis.imageTag}"),
("${examples.bashUncompressed.imageName}", "${examples.bashUncompressed.imageTag}"),
("${examples.bashZstdCompressed.imageName}", "${examples.bashZstdCompressed.imageTag}"),
]:
docker.succeed(f"docker images --format '{{{{.Repository}}}}-{{{{.Tag}}}}' | grep -F '{sub_image}-{tag}'")
docker.succeed(f"docker rmi {sub_image}")
with subtest("exportImage produces a valid tarball"):
docker.succeed(
"tar -tf ${examples.exportBash} | grep '\./bin/bash' > /dev/null"
@ -565,5 +598,11 @@ in {
"${examples.nix-shell-build-derivation} | docker load",
"docker run --rm -it nix-shell-build-derivation"
)
with subtest("streamLayeredImage: chown is persistent in fakeRootCommands"):
docker.succeed(
"${chownTestImage} | docker load",
"docker run --rm ${chownTestImage.imageName} | diff /dev/stdin <(echo 12345:12345)"
)
'';
})

View File

@ -9,5 +9,6 @@
lxd-to-incus = import ./lxd-to-incus.nix { inherit system pkgs; };
preseed = import ./preseed.nix { inherit system pkgs; };
socket-activated = import ./socket-activated.nix { inherit system pkgs; };
ui = import ./ui.nix {inherit system pkgs;};
virtual-machine = handleTestOn [ "x86_64-linux" ] ./virtual-machine.nix { inherit system pkgs; };
}

63
nixos/tests/incus/ui.nix Normal file
View File

@ -0,0 +1,63 @@
import ../make-test-python.nix ({ pkgs, lib, ... }: {
name = "incus-ui";
meta = {
maintainers = lib.teams.lxc.members;
};
nodes.machine = { lib, ... }: {
virtualisation = {
incus.enable = true;
incus.ui.enable = true;
};
environment.systemPackages =
let
seleniumScript = pkgs.writers.writePython3Bin "selenium-script"
{
libraries = with pkgs.python3Packages; [ selenium ];
} ''
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.support.ui import WebDriverWait
options = Options()
options.add_argument("--headless")
service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}") # noqa: E501
driver = webdriver.Firefox(options=options, service=service)
driver.implicitly_wait(10)
driver.get("https://localhost:8443/ui")
wait = WebDriverWait(driver, 60)
assert len(driver.find_elements(By.CLASS_NAME, "l-application")) > 0
assert len(driver.find_elements(By.CLASS_NAME, "l-navigation__drawer")) > 0
driver.close()
'';
in
with pkgs; [ curl firefox-unwrapped geckodriver seleniumScript ];
};
testScript = ''
machine.wait_for_unit("sockets.target")
machine.wait_for_unit("incus.service")
machine.wait_for_file("/var/lib/incus/unix.socket")
# Configure incus listen address
machine.succeed("incus config set core.https_address :8443")
machine.succeed("systemctl restart incus")
# Check that the INCUS_UI environment variable is populated in the systemd unit
machine.succeed("cat /etc/systemd/system/incus.service | grep 'INCUS_UI'")
# Ensure the endpoint returns an HTML page with 'Incus UI' in the title
machine.succeed("curl -kLs https://localhost:8443/ui | grep '<title>Incus UI</title>'")
# Ensure the application is actually rendered by the Javascript
machine.succeed("PYTHONUNBUFFERED=1 selenium-script")
'';
})

View File

@ -2,12 +2,12 @@
pythonPackages.buildPythonApplication rec {
pname = "mopidy-muse";
version = "0.0.27";
version = "0.0.30";
src = fetchPypi {
inherit version;
pname = "Mopidy-Muse";
sha256 = "0jx9dkgxr07avzz9zskzhqy98zsxkdrf7iid2ax5vygwf8qsx8ks";
sha256 = "sha256-uFptv2niq8LVvEmMEteEN+RzghDiPC7z5EsAmxifDmw=";
};
propagatedBuildInputs = [

View File

@ -14,11 +14,11 @@
stdenv.mkDerivation rec {
pname = "roomeqwizard";
version = "5.30.8";
version = "5.30.9";
src = fetchurl {
url = "https://www.roomeqwizard.com/installers/REW_linux_no_jre_${lib.replaceStrings [ "." ] [ "_" ] version}.sh";
sha256 = "sha256-ZHxMwbT2SoWEIuBJEuuVhU26V4NAbJKqx3lawedIwYo=";
sha256 = "sha256-gyitOq/HTDruP4nY6B7y1E+pL43yRhldyiiXEjKyogU=";
};
dontUnpack = true;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "x42-gmsynth";
version = "0.4.1";
version = "0.6.0";
src = fetchFromGitHub {
owner = "x42";
repo = "gmsynth.lv2";
rev = "v${version}";
sha256 = "08dvdj8r17sfl6l18g2b8abgls2irkbrq5vhrfai01hp2m0rlm34";
hash = "sha256-onZoaQVAGH/1d7jBRlN3ucx/3mTGUCxjvvt19GyprsY=";
};
nativeBuildInputs = [ pkg-config ];

View File

@ -26,6 +26,14 @@ mkDerivation rec {
url = "https://aur.archlinux.org/cgit/aur.git/plain/boost1770.patch?h=litecoin-qt&id=dc75ad854af123f375b5b683be64aa14573170d7";
hash = "sha256-PTkYQRA8n5a9yR2AvpzH5natsXT2W6Xjo0ONCPJx78k=";
})
# Fix gcc-13 build by adding missing headers:
# https://github.com/litecoin-project/litecoin/pull/929
(fetchpatch {
name = "gcc-13.patch";
url = "https://github.com/litecoin-project/litecoin/commit/6d1adb19aa79a8e8e140582759515bbd76816aa0.patch";
hash = "sha256-1y4Iz2plMw5HMAjl9x50QQpYrYaUd2WKrrAcUnQmlBY=";
})
];
nativeBuildInputs = [ pkg-config autoreconfHook ];

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "cpeditor";
version = "6.11.1";
version = "6.11.2";
src = fetchFromGitHub {
owner = "cpeditor";
repo = "cpeditor";
rev = version;
sha256 = "sha256-Uwo7ZE+9yrHV/+D6rvfew2d3ZJbpFOjgek38iYkPppw=";
sha256 = "sha256-zotbXzRjIwZdYluJiz6GWUIOXl/wz1TWt+dcTwMhURo=";
fetchSubmodules = true;
};

View File

@ -22,10 +22,10 @@
let
pname = "typora";
version = "1.8.9";
version = "1.8.10";
src = fetchurl {
url = "https://download.typora.io/linux/typora_${version}_amd64.deb";
hash = "sha256-1FAVY9NSvpZOCZJmNadx5ZlqfaCc2N3D+T/08F4TOzY=";
hash = "sha256-5ZLSzDUcF0OZUuWVX/iG+4ccTlCPdYxy7zl0wDHlxNQ=";
};
typoraBase = stdenv.mkDerivation {

View File

@ -1,81 +0,0 @@
{ rustPlatform
, fetchFromGitHub
, lib
, makeWrapper
, installShellFiles
, stdenv
, Foundation
, withFile ? true
, file
, withJq ? true
, jq
, withPoppler ? true
, poppler_utils
, withUnar ? true
, unar
, withFfmpegthumbnailer ? true
, ffmpegthumbnailer
, withFd ? true
, fd
, withRipgrep ? true
, ripgrep
, withFzf ? true
, fzf
, withZoxide ? true
, zoxide
, nix-update-script
}:
rustPlatform.buildRustPackage rec {
pname = "yazi";
version = "0.2.3";
src = fetchFromGitHub {
owner = "sxyazi";
repo = pname;
rev = "v${version}";
hash = "sha256-2AiaJs6xY8hsB1DBxpPwdZtc8IZvsoCGWBOFVMf4dvk=";
};
cargoHash = "sha256-fRUmXv27sHYz8z0cc795JCPLHDQGgTV4wAWAtQ/pbg4=";
env.YAZI_GEN_COMPLETIONS = true;
nativeBuildInputs = [ makeWrapper installShellFiles ];
buildInputs = lib.optionals stdenv.isDarwin [ Foundation ];
postInstall = with lib;
let
runtimePaths = [ ]
++ optional withFile file
++ optional withJq jq
++ optional withPoppler poppler_utils
++ optional withUnar unar
++ optional withFfmpegthumbnailer ffmpegthumbnailer
++ optional withFd fd
++ optional withRipgrep ripgrep
++ optional withFzf fzf
++ optional withZoxide zoxide;
in
''
wrapProgram $out/bin/yazi \
--prefix PATH : "${makeBinPath runtimePaths}"
installShellCompletion --cmd yazi \
--bash ./yazi-config/completions/yazi.bash \
--fish ./yazi-config/completions/yazi.fish \
--zsh ./yazi-config/completions/_yazi
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Blazing fast terminal file manager written in Rust, based on async I/O";
homepage = "https://github.com/sxyazi/yazi";
license = licenses.mit;
maintainers = with maintainers; [ xyenon matthiasbeyer ];
mainProgram = "yazi";
};
}

View File

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "artem";
version = "2.0.2";
version = "2.0.6";
src = fetchFromGitHub {
owner = "finefindus";
repo = "artem";
rev = "v${version}";
hash = "sha256-t8L1lylaacEHGg3wxVgiB2XmBHDGzql774oHrg/vUC0=";
hash = "sha256-iio0MJG0qVndhQvF2zgZ6Jw0za6bBQYFmtk1Mbxpq1E=";
};
cargoHash = "sha256-rsgl8g6AqNmdq2gJ3PHvKMb7eid8ewtheajGWSWbeBw=";
cargoHash = "sha256-47HNoAA1qr39qQqfq+qZoCFyjKHu5pnRKC2QzA60K3k=";
nativeBuildInputs = [
installShellFiles

View File

@ -23,13 +23,13 @@
mkDerivation rec {
pname = "cloudcompare";
version = "2.12.4";
version = "2.13";
src = fetchFromGitHub {
owner = "CloudCompare";
repo = "CloudCompare";
rev = "v${version}";
sha256 = "sha256-rQ9/vS/fyRWGBL4UGPNSeeNsDtnRHEp9NCViBtu/QEs=";
hash = "sha256-tCmIdajizaTT1tvPA7YQoklfz7pYVKS0lJXrxV2fidg=";
fetchSubmodules = true;
};

View File

@ -15,12 +15,12 @@ let
in
stdenv.mkDerivation rec {
pname = "mkgmap";
version = "4916";
version = "4917";
src = fetchsvn {
url = "https://svn.mkgmap.org.uk/mkgmap/mkgmap/trunk";
rev = version;
sha256 = "sha256-Ok6s1DaTZBcYtkHA7WAxjGz0HycvFqBpkwZIirc+dFU=";
sha256 = "sha256-7VCEbsvcT7iaJ3MZz4CthJEE9FSJCowAO7PJ9UqmzPA=";
};
patches = [

View File

@ -16,13 +16,13 @@
python3Packages.buildPythonApplication rec {
pname = "nwg-panel";
version = "0.9.22";
version = "0.9.23";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = "nwg-panel";
rev = "v${version}";
hash = "sha256-2O3FMPA/QD+ZUmLvot+MMwbUo3zT6ZN5NIbulh2oGYk=";
hash = "sha256-NCMGqKRcwqy4e3gF9y2oykiAoL8X3IZbcGzq6N3CAMU=";
};
# No tests

View File

@ -8,7 +8,7 @@ with python3.pkgs;
buildPythonPackage rec {
pname = "shell-genie";
version = "0.2.10";
format = "pyproject";
pyproject = true;
src = fetchPypi {
pname = "shell_genie";
@ -17,6 +17,7 @@ buildPythonPackage rec {
};
pythonRelaxDeps = [
"openai"
"typer"
];

View File

@ -12,16 +12,17 @@
, exfat
, ntfs3g
, btrfs-progs
, pcsclite
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "veracrypt";
version = "1.25.9";
version = "1.26.7";
src = fetchurl {
url = "https://launchpad.net/${pname}/trunk/${lib.toLower version}/+download/VeraCrypt_${version}_Source.tar.bz2";
sha256 = "sha256-drbhgYS8IaQdKUn/Y9ch1JBUpxbO/zpL13tcNRC3lK8=";
sha256 = "sha256-920nsYJBTg1P2ba1n76iiyXbb6afK7z/ouwmmxqGX2U=";
};
patches = [
@ -39,7 +40,7 @@ stdenv.mkDerivation rec {
sourceRoot = "src";
nativeBuildInputs = [ makeself pkg-config yasm wrapGAppsHook ];
buildInputs = [ fuse lvm2 wxGTK ];
buildInputs = [ fuse lvm2 wxGTK pcsclite ];
enableParallelBuilding = true;

View File

@ -3,10 +3,10 @@
{
firefox = buildMozillaMach rec {
pname = "firefox";
version = "122.0.1";
version = "123.0";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "1d4fe1ed351edd748ede2ef6448798a32de9ed7a075a54a7ed5f7baa7b0c4c7f932c2e29f443c9066829e39f22a1dc94be5d00cc994193e949b72aa4a1c8ba41";
sha512 = "a19567a13e1b663e538c4af17491146adad1f0ab977995e8da9ce9ed428008ad20902dee4efb82d54e1319a0e31768609696bc822563d75732b622760129d8bb";
};
extraPatches = [
@ -94,11 +94,11 @@
firefox-esr-115 = buildMozillaMach rec {
pname = "firefox-esr-115";
version = "115.7.0esr";
version = "115.8.0esr";
applicationName = "Mozilla Firefox ESR";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "d468d8ef117d76e0660c5359c3becf0502354c61bdaaeb4137d86f52b50143abec2ac4578af69afa5670700b57efff1c7323ca23e3339a9eaaa888dee7e8e922";
sha512 = "4b8c06b5eb3617700a72aaad8831d703a537fe600740f1acb8377bd0ce198a199938603fd7e6b2007671a578dfb24aa8f5c031c6c1ccf15d4a34562679eaa883";
};
meta = {

View File

@ -7,13 +7,13 @@
buildGoModule rec {
pname = "arkade";
version = "0.11.0";
version = "0.11.1";
src = fetchFromGitHub {
owner = "alexellis";
repo = "arkade";
rev = version;
hash = "sha256-SNYaUbWj8t73Aaamg2SOu5EBiYjDMHCiXlaERqGmr2A=";
hash = "sha256-DsKc+AT+0vIaJftBFLqVXx/CJRNNgE/vzSxlHkCSJaI=";
};
CGO_ENABLED = 0;

View File

@ -8,18 +8,18 @@
buildGoModule rec {
pname = "cmctl";
version = "1.14.1";
version = "1.14.2";
src = fetchFromGitHub {
owner = "cert-manager";
repo = "cert-manager";
rev = "v${version}";
hash = "sha256-tS/s8zrOomuUBIoIh81RMdwmPM9pcz4cNSKVQfNxlrI=";
hash = "sha256-pq7v7j/w+gDlyjYyrOk86YW76rwxLQQUFwhaPrblCSw=";
};
sourceRoot = "${src.name}/cmd/ctl";
vendorHash = "sha256-9Y8u6DVS08liliMNEalX6XQU50qRFy5qZq/9EvRSBRQ=";
vendorHash = "sha256-HHlZkxXEJIP3u2rB4+B8Z9vcGwzRT5dtjf5Hu1WVroI=";
ldflags = [
"-s"

View File

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "glooctl";
version = "1.16.3";
version = "1.16.4";
src = fetchFromGitHub {
owner = "solo-io";
repo = "gloo";
rev = "v${version}";
hash = "sha256-BGyaYINFFCqEH+UH8XqKom+2eUhgPRF3cMp9fq3whpI=";
hash = "sha256-gLm9PEcNg/YeAjT97W9jDOi4ECBrmp2ZAuUTkhZNxyw=";
};
vendorHash = "sha256-GTd38gSlCKTjfLkAW/Tz22oQJ4FhZB+9vpN/8q4JSCo=";

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "k8sgpt";
version = "0.3.26";
version = "0.3.27";
src = fetchFromGitHub {
owner = "k8sgpt-ai";
repo = "k8sgpt";
rev = "v${version}";
hash = "sha256-FUYtBoJAnY8WRh0eABniOgg781UooG67RKTHp1u3SiQ=";
hash = "sha256-HWcEcufn0NM+7AF4/M29bsUoQYlVA1nbrkCKt9F1g6k=";
};
vendorHash = "sha256-sd4QIQQpDyPV4pqk9VJBApzRzjwxMFieCOQQjJzFXHc=";
vendorHash = "sha256-b8Y95BDOR5HI6QMU4XLn5FmSHFD9fntc80r84KgmkuY=";
CGO_ENABLED = 0;

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "k9s";
version = "0.31.8";
version = "0.31.9";
src = fetchFromGitHub {
owner = "derailed";
repo = "k9s";
rev = "v${version}";
hash = "sha256-sZtMeFoi3UJO5uV4zOez1TbpBCtfclGhZTrYGZ/+Mio=";
hash = "sha256-yPSAHqnGdLW2a2TCR7HPl8e5WlG+ruHwITATtivtBnw=";
};
ldflags = [
@ -23,7 +23,7 @@ buildGoModule rec {
proxyVendor = true;
vendorHash = "sha256-0Tq74BtSk5mp0eZjTevvDFWnEc5tnSwO7ZckcJXd/Yo=";
vendorHash = "sha256-roHFUKH72BSzqZp2qh/Hw7rfTXj9yqpJyB2dozUz+Y8=";
# TODO investigate why some config tests are failing
doCheck = !(stdenv.isDarwin && stdenv.isAarch64);

View File

@ -2,7 +2,7 @@
(callPackage ./generic.nix { }) {
channel = "edge";
version = "24.2.2";
sha256 = "1q6lgmasqa9z7hi0ajcjwj24wrqs74v9vy247hq40y5naaqj07j8";
vendorHash = "sha256-ImICopQkBLvSyy/KPmnd4JYeVIPlbzIUFAY4g2iqICI=";
version = "24.2.3";
sha256 = "0l1sa8xzqddvyzlzddcb9nbvxlj06dm5l6fb0f6fw9ay0d8qm22k";
vendorHash = "sha256-g1e1uY43fUC2srKK9erVFlJDSwWrEvq4ni0PgeCFaOg=";
}

View File

@ -10,13 +10,13 @@
buildGoModule rec {
pname = "nerdctl";
version = "1.7.3";
version = "1.7.4";
src = fetchFromGitHub {
owner = "containerd";
repo = pname;
rev = "v${version}";
hash = "sha256-Y76H/88/esziIermnzfOS48FLBRnVBN8u4C381n184M=";
hash = "sha256-d90xwrMtDK5ibRHIeV6nzv5jqJfaQXpU9xKTH49yiX4=";
};
vendorHash = "sha256-oiBgZQtqFwq189h/Bb4CrFhs4RDYUoEEOjrccujGclU=";

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "rke";
version = "1.5.3";
version = "1.5.5";
src = fetchFromGitHub {
owner = "rancher";
repo = pname;
rev = "v${version}";
hash = "sha256-p1hkiXHwh8Vo2LIP1BeE5XSc/gKjn9XN30usGwCVj7w=";
hash = "sha256-TPgXjM7RyjI8NmfiZHkHF3txfzAwjOg7kGODBj37JEI=";
};
vendorHash = "sha256-eH4FBfX9LNb1UgSRsYSd1Fn2Ju+cL6t64u+/sf9uzNM=";
vendorHash = "sha256-0H9K3/BwdSExADFHaYtn2RrHZ6AyEjzlBKYXL/Ow9JA=";
subPackages = [ "." ];

View File

@ -10,16 +10,16 @@
buildGoModule rec {
pname = "werf";
version = "1.2.290";
version = "1.2.292";
src = fetchFromGitHub {
owner = "werf";
repo = "werf";
rev = "v${version}";
hash = "sha256-pXmFpXpab6YKgujMGqP6xt5iRt/7CrG3wbpBeQ9Ty6c=";
hash = "sha256-jBGAd7He2ap7+IF5Og7J6iBoIoLG8KqxSLcPKogJwP8=";
};
vendorHash = "sha256-yz0H/016NR+CwVbVfXPAIayacPprcf+MKptbG5fHwVY=";
vendorHash = "sha256-JaAiQC5QnamzUz1hPSldXtZqhTQIlGFGMYhLJd7t3j4=";
proxyVendor = true;

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dayon";
version = "13.0.1";
version = "13.0.2";
src = fetchFromGitHub {
owner = "RetGal";
repo = "dayon";
rev = "v${finalAttrs.version}";
hash = "sha256-nevDC4kfVSgfmJZiCj82mc+/yZcIgub3CP9qi9ISF3o=";
hash = "sha256-sKA50D+VYjfKzdZAppIGfU5uJqrCrZPEsk9EEMBxu3I=";
};
nativeBuildInputs = [

View File

@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
pname = "appflowy";
version = "0.4.6";
version = "0.4.9";
src = fetchzip {
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-${version}-linux-x86_64.tar.gz";
hash = "sha256-496uXlJ/3ID8fnW/LKwk0Waca4gSQBuKIFMJ4EJGcsA=";
hash = "sha256-+Olmp2z5cLDgZikY2n9LI2A9W03pYdCtUE9hdr9Tp2Q=";
stripRoot = false;
};

View File

@ -44,6 +44,7 @@ python3.pkgs.buildPythonApplication rec {
description = "A free, open-source tool for programming your amateur radio";
homepage = "https://chirp.danplanet.com/";
license = licenses.gpl3Plus;
maintainers = [ maintainers.emantor ];
platforms = platforms.linux;
};
}

View File

@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation rec {
pname = "cloudlog";
version = "2.6.3";
version = "2.6.4";
src = fetchFromGitHub {
owner = "magicbug";
repo = "Cloudlog";
rev = version;
hash = "sha256-axulZxMSgpBtF2cUCUWiVdiEOAalvo6RNtG4xpEmC7o=";
hash = "sha256-5QY3llgI2wUp7xQssLMgU5CDx42rNLm77/vNnPv15r4=";
};
postPatch = ''

View File

@ -3,16 +3,16 @@
rustPlatform.buildRustPackage rec {
pname = "elan";
version = "3.0.0";
version = "3.1.0";
src = fetchFromGitHub {
owner = "leanprover";
repo = "elan";
rev = "v${version}";
sha256 = "sha256-VrCEwAoWKhb1qfJUv3OreTzuKEVQADwZpEQIVEhjwHA=";
hash = "sha256-IC/xb4tZer2cbwIusdCwXxJS3K7kN/XFoU4mxKW4dVc=";
};
cargoHash = "sha256-SMKFSu5C5mc3U266hEa6RB3GH5te3jIrUZAzj3YNa2E=";
cargoHash = "sha256-F80iiXb0UpV+N9q7Msef6/Uzas1DGjMKPWuOKrk8tqU=";
nativeBuildInputs = [ pkg-config makeWrapper ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "clingo";
version = "5.7.0";
version = "5.7.1";
src = fetchFromGitHub {
owner = "potassco";
repo = "clingo";
rev = "v${version}";
sha256 = "sha256-mXexFRPC/+5mNRVZqzsLJKiRkKA009OQrEhOAg8M38k=";
sha256 = "sha256-S0JAfMwg49aryKABbC/2oLCEkndVpMVcFE6X0vkbtNc=";
};
nativeBuildInputs = [ cmake ];

View File

@ -1,30 +1,21 @@
{ lib
, python3
, fetchFromGitHub
, fetchpatch
, wrapQtAppsHook
}:
python3.pkgs.buildPythonApplication rec {
pname = "sasview";
version = "5.0.4";
version = "5.0.6";
pyproject = true;
src = fetchFromGitHub {
owner = "SasView";
repo = "sasview";
rev = "v${version}";
hash = "sha256-TjcchqA6GCvkr59ZgDuGglan2RxLp+aMjJk28XhvoiY=";
rev = "refs/tags/v${version}";
hash = "sha256-cwP9VuvO4GPlbAxCqw31xISTi9NoF5RoBQmjWusrnzc=";
};
patches = [
# Fix `asscalar` numpy API removal.
# See https://github.com/SasView/sasview/pull/2178
(fetchpatch {
url = "https://github.com/SasView/sasview/commit/b1ab08c2a4e8fdade7f3e4cfecf3dfec38b8f3c5.patch";
hash = "sha256-IH8g4XPziVAnkmBdzLH1ii8vN6kyCmOgrQlH2HEbm5o=";
})
];
# AttributeError: module 'numpy' has no attribute 'float'.
postPatch = ''
substituteInPlace src/sas/sascalc/pr/p_invertor.py \
@ -33,6 +24,7 @@ python3.pkgs.buildPythonApplication rec {
nativeBuildInputs = [
python3.pkgs.pyqt5
python3.pkgs.setuptools
wrapQtAppsHook
];
@ -66,12 +58,21 @@ python3.pkgs.buildPythonApplication rec {
unittest-xml-reporting
];
pytestFlagsArray = [ "test" ];
pytestFlagsArray = [
"test"
];
disabledTests = [
# NoKnownLoaderException
"test_invalid_cansas"
"test_data_reader_exception"
];
meta = with lib; {
homepage = "https://www.sasview.org";
description = "Fitting and data analysis for small angle scattering data";
maintainers = with maintainers; [ rprospero ];
homepage = "https://www.sasview.org";
changelog = "https://github.com/SasView/sasview/releases/tag/v${version}";
license = licenses.bsd3;
maintainers = with maintainers; [ rprospero ];
};
}

View File

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "snakemake";
version = "8.4.4";
version = "8.4.8";
format = "setuptools";
src = fetchFromGitHub {
owner = "snakemake";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-d3pUVhn9oi1ILDR4sfRh6HypbDn2JZMha27h0twixPc=";
hash = "sha256-iF5+slcPTRK/3SmqR+4KK5KAK5LhKAe+nt+U/B5C3/8=";
# https://github.com/python-versioneer/python-versioneer/issues/217
postFetch = ''
sed -i "$out"/snakemake/_version.py -e 's#git_refnames = ".*"#git_refnames = " (tag: v${version})"#'

View File

@ -0,0 +1,48 @@
From 9a0102fe1da038ebe08107ead991964df11b0271 Mon Sep 17 00:00:00 2001
From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
Date: Mon, 19 Feb 2024 03:31:20 +0000
Subject: [PATCH] no qtgui darwin bundle
---
qtgui/recoll.pro.in | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/qtgui/recoll.pro.in b/qtgui/recoll.pro.in
index a0ef314..6dbc3b5 100644
--- a/qtgui/recoll.pro.in
+++ b/qtgui/recoll.pro.in
@@ -180,7 +180,7 @@ windows {
}
}
-macx: {
+if (false) {
QCBUILDLOC=Qt_6_4_2_for_macOS
# QT += webkit webkitwidgets
@@ -375,7 +375,7 @@ macx: {
QMAKE_BUNDLE_DATA = APP_EXAMPLES APP_EXAMPLES_MAC APP_FILTERS APP_IMAGES APP_DOC
}
-unix:!macx {
+unix {
VPATH = @srcdir@
@@ -400,6 +400,13 @@ VPATH = @srcdir@
SOURCES += crontool.cpp \
rtitool.cpp
+ macx {
+ SOURCES += ../utils/closefrom.cpp \
+ ../utils/execmd.cpp \
+ ../utils/netcon.cpp \
+ ../utils/rclionice.cpp
+ }
+
FORMS += crontool.ui \
rtitool.ui
--
2.43.0

View File

@ -105,6 +105,8 @@ mkDerivation rec {
patches = [
# fix "No/bad main configuration file" error
./fix-datadir.patch
# use the same configure based build for darwin as linux
./0001-no-qtgui-darwin-bundle.patch
];
nativeBuildInputs = [
@ -135,6 +137,10 @@ mkDerivation rec {
libiconv
];
qtWrapperArgs = [
"--prefix PATH : ${filterPath}"
];
# the filters search through ${PATH} using a sh proc 'checkcmds' for the
# filtering utils. Short circuit this by replacing the filtering command with
# the absolute path to the filtering command.
@ -150,8 +156,6 @@ mkDerivation rec {
substituteInPlace $f --replace /usr/bin/perl ${lib.getBin (perl.passthru.withPackages (p: [ p.ImageExifTool ]))}/bin/perl
fi
done
wrapProgram $out/bin/recoll --prefix PATH : "${filterPath}"
wrapProgram $out/bin/recollindex --prefix PATH : "${filterPath}"
wrapProgram $out/share/recoll/filters/rclaudio.py \
--prefix PYTHONPATH : $PYTHONPATH
wrapProgram $out/share/recoll/filters/rclimg \
@ -163,6 +167,11 @@ mkDerivation rec {
mv $out/bin/recoll.app $out/Applications
'';
# create symlink after fixup to prevent double wrapping of recoll
postFixup = lib.optionalString (stdenv.isDarwin && withGui) ''
ln -s ../Applications/recoll.app/Contents/MacOS/recoll $out/bin/recoll
'';
enableParallelBuilding = true;
meta = with lib; {

View File

@ -11,7 +11,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "commitizen";
version = "3.14.1";
version = "3.15.0";
format = "pyproject";
disabled = python3.pythonOlder "3.8";
@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "commitizen-tools";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-yRcc87V4XJuTyrngQgPGJozk+hd7SRHERLvsQ/yZKYQ=";
hash = "sha256-WXsEkJRis9L9heHj6SkTFFTuGmnDXPMKfr7rYy8vzcI=";
};
pythonRelaxDeps = [

View File

@ -18,13 +18,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "meld";
version = "3.22.0";
version = "3.22.1";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "sha256-P8EHyY7251NY/9Kw0UyF3bSP4UoR6TmpQyL6qo6QxA0=";
sha256 = "sha256-bdO9MtvUNBq6djD7lTd393x3aB7qIjazZB1iKo+QaDY=";
};
nativeBuildInputs = [

View File

@ -18,15 +18,15 @@
rustPlatform.buildRustPackage rec {
pname = "stgit";
version = "2.4.4";
version = "2.4.5";
src = fetchFromGitHub {
owner = "stacked-git";
repo = "stgit";
rev = "v${version}";
hash = "sha256-KyyvTyPJ4LJ/H2rqutPlswrjINR+V8mJNi6iq8Om1j0=";
hash = "sha256-zESuJJ68CCTGSDwGBeguAV78KETp+FUKnNNJx+4zorw=";
};
cargoHash = "sha256-Vlv2NRB4iggG3aCZwNZWhl7KfmYxryG2joY0jnBFhZ0=";
cargoHash = "sha256-ITR6RREx55q3hxYrHj+fOv0C8fAzphR4q/A5tTd9CDg=";
nativeBuildInputs = [
pkg-config installShellFiles makeWrapper asciidoc xmlto docbook_xsl

View File

@ -0,0 +1,40 @@
{ lib, stdenv, fetchurl, qmake, wrapQtAppsHook, ffmpeg, qtmultimedia, qwt }:
stdenv.mkDerivation rec {
pname = "qctools";
version = "1.3.1";
src = fetchurl {
url = "https://mediaarea.net/download/source/${pname}/${version}/${pname}_${version}.tar.xz";
hash = "sha256-ClF8KiVjV2JTCjz/ueioojhiHZf8UW9WONaJrIx4Npo=";
};
sourceRoot = "${pname}/Project/QtCreator";
nativeBuildInputs = [ qmake wrapQtAppsHook ];
buildInputs = [ ffmpeg qtmultimedia qwt ];
installPhase = ''
runHook preInstall
install -Dt $out/bin qctools-cli/qcli qctools-gui/QCTools
cd ../GNU/GUI
install -Dm644 qctools.desktop $out/share/applications/qctools.desktop
install -Dm644 qctools.metainfo.xml $out/share/metainfo/qctools.metainfo.xml
cd ../../../Source/Resource
install -Dm 0644 Logo.png $out/share/icons/hicolor/256x256/apps/qctools.png
install -Dm 0644 Logo.png $out/share/pixmaps/qctools.png
cd ../../Project/QtCreator
runHook postInstall
'';
meta = with lib; {
description = "Audiovisual analytics and filtering of video files";
homepage = "https://mediaarea.net/QCTools";
license = licenses.gpl3Only;
maintainers = with maintainers; [ orivej ];
platforms = platforms.linux;
};
}

View File

@ -39,13 +39,13 @@ let
in
stdenv.mkDerivation rec {
pname = "crun";
version = "1.14.1";
version = "1.14.2";
src = fetchFromGitHub {
owner = "containers";
repo = pname;
rev = version;
hash = "sha256-IEfHww+kAPKcTe5bWM+YuDe6PHlSdZQVEunlBMQ29Ic=";
hash = "sha256-D2OuTbWAISEtrKy7LFVJz8FZWdXSn1ZiKYak9cJVceU=";
fetchSubmodules = true;
};

View File

@ -8,6 +8,7 @@
, proot
, fakeNss
, fakeroot
, file
, go
, jq
, jshon
@ -34,6 +35,7 @@
, writeText
, writeTextDir
, writePython3
, zstd
}:
let
@ -76,6 +78,30 @@ let
# mapping from the go package.
defaultArchitecture = go.GOARCH;
compressors = {
none = {
ext = "";
nativeInputs = [ ];
compress = "cat";
decompress = "cat";
};
gz = {
ext = ".gz";
nativeInputs = [ pigz ];
compress = "pigz -p$NIX_BUILD_CORES -nTR";
decompress = "pigz -d -p$NIX_BUILD_CORES";
};
zstd = {
ext = ".zst";
nativeInputs = [ zstd ];
compress = "zstd -T$NIX_BUILD_CORES";
decompress = "zstd -d -T$NIX_BUILD_CORES";
};
};
compressorForImage = compressor: imageName: compressors.${compressor} or
(throw "in docker image ${imageName}: compressor must be one of: [${toString builtins.attrNames compressors}]");
in
rec {
examples = callPackage ./examples.nix {
@ -487,16 +513,17 @@ rec {
'';
};
buildLayeredImage = lib.makeOverridable ({ name, ... }@args:
buildLayeredImage = lib.makeOverridable ({ name, compressor ? "gz", ... }@args:
let
stream = streamLayeredImage args;
compress = compressorForImage compressor name;
in
runCommand "${baseNameOf name}.tar.gz"
runCommand "${baseNameOf name}.tar${compress.ext}"
{
inherit (stream) imageName;
passthru = { inherit (stream) imageTag; };
nativeBuildInputs = [ pigz ];
} "${stream} | pigz -nTR > $out"
nativeBuildInputs = compress.nativeInputs;
} "${stream} | ${compress.compress} > $out"
);
# 1. extract the base image
@ -539,6 +566,8 @@ rec {
buildVMMemorySize ? 512
, # Time of creation of the image.
created ? "1970-01-01T00:00:01Z"
, # Compressor to use. One of: none, gz, zstd.
compressor ? "gz"
, # Deprecated.
contents ? null
,
@ -574,6 +603,8 @@ rec {
in
if created == "now" then impure else pure;
compress = compressorForImage compressor name;
layer =
if runAsRoot == null
then
@ -590,9 +621,9 @@ rec {
extraCommands;
copyToRoot = rootContents;
};
result = runCommand "docker-image-${baseName}.tar.gz"
result = runCommand "docker-image-${baseName}.tar${compress.ext}"
{
nativeBuildInputs = [ jshon pigz jq moreutils ];
nativeBuildInputs = [ jshon jq moreutils ] ++ compress.nativeInputs;
# Image name must be lowercase
imageName = lib.toLower name;
imageTag = lib.optionalString (tag != null) tag;
@ -746,7 +777,7 @@ rec {
chmod -R a-w image
echo "Cooking the image..."
tar -C image --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'^./':: -c . | pigz -nTR > $out
tar -C image --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'^./':: -c . | ${compress.compress} > $out
echo "Finished."
'';
@ -761,16 +792,28 @@ rec {
mergeImages = images: runCommand "merge-docker-images"
{
inherit images;
nativeBuildInputs = [ pigz jq ];
nativeBuildInputs = [ file jq ]
++ compressors.none.nativeInputs
++ compressors.gz.nativeInputs
++ compressors.zstd.nativeInputs;
} ''
mkdir image inputs
# Extract images
repos=()
manifests=()
last_image_mime="application/gzip"
for item in $images; do
name=$(basename $item)
mkdir inputs/$name
tar -I pigz -xf $item -C inputs/$name
last_image_mime=$(file --mime-type -b $item)
case $last_image_mime in
"application/x-tar") ${compressors.none.decompress};;
"application/zstd") ${compressors.zstd.decompress};;
"application/gzip") ${compressors.gz.decompress};;
*) echo "error: unexpected layer type $last_image_mime" >&2; exit 1;;
esac < $item | tar -xC inputs/$name
if [ -f inputs/$name/repositories ]; then
repos+=(inputs/$name/repositories)
fi
@ -787,7 +830,14 @@ rec {
mv repositories image/repositories
mv manifest.json image/manifest.json
# Create tarball and gzip
tar -C image --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'^./':: -c . | pigz -nTR > $out
tar -C image --hard-dereference --sort=name --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 --xform s:'^./':: -c . | (
case $last_image_mime in
"application/x-tar") ${compressors.none.compress};;
"application/zstd") ${compressors.zstd.compress};;
"application/gzip") ${compressors.gz.compress};;
# `*)` not needed; already checked.
esac
) > $out
'';
@ -1239,14 +1289,15 @@ rec {
};
# Wrapper around streamNixShellImage to build an image from the result
buildNixShellImage = { drv, ... }@args:
buildNixShellImage = { drv, compressor ? "gz", ... }@args:
let
stream = streamNixShellImage args;
compress = compressorForImage compressor drv.name;
in
runCommand "${drv.name}-env.tar.gz"
runCommand "${drv.name}-env.tar${compress.ext}"
{
inherit (stream) imageName;
passthru = { inherit (stream) imageTag; };
nativeBuildInputs = [ pigz ];
} "${stream} | pigz -nTR > $out";
nativeBuildInputs = compress.nativeInputs;
} "${stream} | ${compress.compress} > $out";
}

View File

@ -480,6 +480,22 @@ rec {
layerC = layerOnTopOf layerB "c";
in layerC;
bashUncompressed = pkgs.dockerTools.buildImage {
name = "bash-uncompressed";
tag = "latest";
compressor = "none";
# Not recommended. Use `buildEnv` between copy and packages to avoid file duplication.
copyToRoot = pkgs.bashInteractive;
};
bashZstdCompressed = pkgs.dockerTools.buildImage {
name = "bash-zstd";
tag = "latest";
compressor = "zstd";
# Not recommended. Use `buildEnv` between copy and packages to avoid file duplication.
copyToRoot = pkgs.bashInteractive;
};
# buildImage without explicit tag
bashNoTag = pkgs.dockerTools.buildImage {
name = "bash-no-tag";
@ -614,6 +630,12 @@ rec {
layeredImageWithFakeRootCommands
];
mergeVaryingCompressor = pkgs.dockerTools.mergeImages [
redis
bashUncompressed
bashZstdCompressed
];
helloOnRoot = pkgs.dockerTools.streamLayeredImage {
name = "hello";
tag = "latest";

View File

@ -5,13 +5,13 @@
}:
python3Packages.buildPythonApplication rec {
pname = "arxiv-latex-cleaner";
version = "1.0.3";
version = "1.0.4";
src = fetchFromGitHub {
owner = "google-research";
repo = "arxiv-latex-cleaner";
rev = "refs/tags/v${version}";
hash = "sha256-kM1eCzXipJ6GuYFA9Na2C0HtwHLotmE63nyUZ+9wkkk=";
hash = "sha256-Dr0GyivoPjQwVYzvN1JIWhuLz60TQtz4MBB8n1hm6Lo=";
};
propagatedBuildInputs = with python3Packages; [

View File

@ -11,11 +11,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "bmake";
version = "20240108";
version = "20240212";
src = fetchurl {
url = "http://www.crufty.net/ftp/pub/sjg/bmake-${finalAttrs.version}.tar.gz";
hash = "sha256-N3JXiCBhbpmZFvTFHb0kFbBvcoH2jMzMXh047SOOMQc=";
hash = "sha256-lx1aNkA1NJ6YTYLCpI1Uagxz5S87jyqimjvj0kCP+qg=";
};
patches = [

View File

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-swift";
version = "0.6.0";
version = "0.6.1";
src = fetchFromGitHub {
owner = "antoniusnaumann";
repo = "cargo-swift";
rev = "v${version}";
hash = "sha256-ATpEo7s/qatK7hsbNo9tE97yMpymA1xmf879WrgUluM=";
hash = "sha256-hTlgIPXXdhxFtK/acXITwitIg1DGgF4cCVaAxogWPrk=";
};
cargoHash = "sha256-hKTvtPulltsxi0PX8Xmo9MYcQYuTdOOspfgLCaEKQL4=";
cargoHash = "sha256-6F4CX9uiCfPbgFRZ0hC/s5xT42S2V5ZgGQ+O2bHb9vg=";
meta = with lib; {
description = "A cargo plugin to easily build Swift packages from Rust code";

View File

@ -0,0 +1,39 @@
{ stdenv
, lib
, fetchFromGitHub
}:
stdenv.mkDerivation (finalAttrs: {
pname = "construct";
version = "0.1.0";
src = fetchFromGitHub {
owner = "Thomas-de-Bock";
repo = "construct";
rev = finalAttrs.version;
hash = "sha256-ENso0y7yEaXzGXzZOnlZ1L7+j/qayJL+f55/NYLz2ew=";
};
postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace Makefile \
--replace g++ c++
'';
makeTarget = "main";
installPhase = ''
runHook preInstall
install -Dm755 bin/construct -t $out/bin
runHook postInstall
'';
meta = with lib; {
description = "Construct is an abstraction over x86 NASM Assembly";
longDescription = "Construct adds features such as while loops, if statements, scoped macros and function-call syntax to NASM Assembly.";
homepage = "https://github.com/Thomas-de-Bock/construct";
maintainers = with maintainers; [ rucadi ];
platforms = platforms.all;
license = licenses.mit;
mainProgram = "construct";
};
})

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "crossplane-cli";
version = "1.14.5";
version = "1.15.0";
src = fetchFromGitHub {
owner = "crossplane";
repo = "crossplane";
rev = "v${version}";
hash = "sha256-P7zfkrE+r/pQEEu0GK7v+bJ4ONeejZLXq2sYmU/V110=";
hash = "sha256-VwnKTeCfCgKlgh+6QO2J4r1ImAq0zlxFFdhTtC95bs0=";
};
vendorHash = "sha256-vkXvnEstD/czBDxmI96TIQB/L4jxhMwIS1XpHqVtxqY=";
vendorHash = "sha256-+e3NuSCvUgZANDB9LsvlQn3h9+L1NeQeURKDZd21reo=";
ldflags = [
"-s"

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "decker";
version = "1.32";
version = "1.39";
src = fetchFromGitHub {
owner = "JohnEarnest";
repo = "Decker";
rev = "v${version}";
hash = "sha256-ch/Lit9qA6XEkPJdcQ03+r0asOKMwy0jRJMHG9VMEig=";
hash = "sha256-77x+LT+oTDtK4jszL3A9MAv9Hakovz47yFaiu8kFtTg=";
};
buildInputs = [

View File

@ -0,0 +1,31 @@
{ lib, rustPlatform, fetchCrate }:
rustPlatform.buildRustPackage rec {
pname = "dotslash";
version = "0.2.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-4y4GH+YR6QpZj7gYycJcm7K5tE7dCvYm3UQuCKF3cfQ=";
};
cargoHash = "sha256-L/ahRDLVOWsg7mHWlLYqP/+6zS9JwXGQXn66UsIIARk=";
doCheck = false; # http tests
meta = with lib; {
homepage = "https://dotslash-cli.com";
description = "Simplified multi-platform executable deployment";
longDescription = ''
DotSlash is a command-line tool that is designed to facilitate fetching an
executable, verifying it, and then running it. It maintains a local cache
of fetched executables so that subsequent invocations are fast.
DotSlash helps keeps heavyweight binaries out of your repo while ensuring
your developers seamlessly get the tools they need, ensuring consistent
builds across platforms.
'';
license = with licenses; [ asl20 /* or */ mit ];
mainProgram = "dotslash";
maintainers = with maintainers; [ thoughtpolice ];
};
}

View File

@ -6,13 +6,13 @@
}:
buildGoModule rec {
pname = "eigenlayer";
version = "0.6.1";
version = "0.6.2";
src = fetchFromGitHub {
owner = "Layr-Labs";
repo = "eigenlayer-cli";
rev = "v${version}";
hash = "sha256-PN1VB01NyBrDNIDpUIQlzhdwKoy17X1GdfQfRrN3bWo=";
hash = "sha256-cr3ltNmJj8GoQLADivekLU2hV7xWk4KR2Gej0rcaVTA=";
};
vendorHash = "sha256-VcXjYiJ9nwSCQJvQd7UYduZKJISRfoEXjziiX6Z3w6Q=";

View File

@ -10,7 +10,7 @@ buildDotnetGlobalTool {
description = "F# source code formatter";
homepage = "https://github.com/fsprojects/fantomas";
license = licenses.asl20;
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ mikaelfangel ];
mainProgram = "fantomas";
};

View File

@ -1,16 +0,0 @@
diff --git a/libcurl/curl_wrap.cpp b/libcurl/curl_wrap.cpp
index 11ac9dd..93edd44 100644
--- a/libcurl/curl_wrap.cpp
+++ b/libcurl/curl_wrap.cpp
@@ -401,9 +401,10 @@ std::wstring zen::formatCurlStatusCode(CURLcode sc)
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_PROXY);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CLIENTCERT);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_UNRECOVERABLE_POLL);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TOO_LARGE);
ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST);
}
- static_assert(CURL_LAST == CURLE_UNRECOVERABLE_POLL + 1);
+ static_assert(CURL_LAST == CURLE_TOO_LARGE + 1);
return replaceCpy<std::wstring>(L"Curl status %x", L"%x", numberTo<std::wstring>(static_cast<int>(sc)));
}

View File

@ -18,7 +18,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "freefilesync";
version = "13.3";
version = "13.4";
src = fetchurl {
url = "https://freefilesync.org/download/FreeFileSync_${finalAttrs.version}_Source.zip";
@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
rm -f $out
tryDownload "$url"
'';
hash = "sha256-mpCCecG1teBjIJqCzB3pGAQKT6t8bMKbK8KihMXOn3g=";
hash = "sha256-0c4HYlah9aHsMMyCz/TjgA59pTce4hogz5n6Xf9Myho=";
};
sourceRoot = ".";
@ -56,14 +56,6 @@ stdenv.mkDerivation (finalAttrs: {
patch = "Disable_wxWidgets_uncaught_exception_handling.patch";
hash = "sha256-Fem7eDDKSqPFU/t12Jco8OmYC8FM9JgB4/QVy/ouvbI=";
})
# Fix gui freeze
(fetchDebianPatch {
pname = "freefilesync";
version = "13.3";
debianRevision = "1";
patch = "revert_buggy_gtk3_change_in_12.1.patch";
hash = "sha256-eqush3zXxypQUxtO5110GoOJ30F5LZcF8XIC/Y8/fgM=";
})
# Disable update patch
(fetchDebianPatch {
pname = "freefilesync";
@ -72,8 +64,6 @@ stdenv.mkDerivation (finalAttrs: {
patch = "ffs_no_check_updates.patch";
hash = "sha256-lPyHpxhZz8BSnDI8QfAzKpKwVkp2jiF49RWjKNuZGII=";
})
# Fix build with curl 8.6.0
./curl-8.6.0.patch
];
nativeBuildInputs = [

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchzip
, fetchpatch
}:
stdenv.mkDerivation (finalAttrs: {
@ -12,8 +13,30 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-tc5XLToyQZutb51ZoBlGWXDpsSqdJ89bjzJwY8kRncA=";
};
patches = [
# fix some GCC warnings.
(fetchpatch {
url = "https://salsa.debian.org/pkg-security-team/galleta/-/raw/998470d8151b2f3a4bec71ae340c30f252d03a9b/debian/patches/10_fix-gcc-warnings.patch";
hash = "sha256-b8VJGSAoSnWteyUbC2Ue3tqkpho7gyn+E/yrN2O3G9c=";
})
# make Makefile compliant with Debian and add GCC hardening.
(fetchpatch {
url = "https://salsa.debian.org/pkg-security-team/galleta/-/raw/553c237a34995d9f7fc0383ee547d4f5cd004d5b/debian/patches/20_fix-makefile.patch";
hash = "sha256-+rnoTrlXtWl9zmZlkvqbJ+YlIXFCpKOqvxIkN8xxtsg=";
})
# Fix cross compilation.
# Galleta fails to cross build from source, because the upstream
# Makefile hard codes the build architecture compiler. The patch
# makes the compiler substitutable and galleta cross buildable.
(fetchpatch {
url = "https://salsa.debian.org/pkg-security-team/galleta/-/raw/f0f51a5a9e5adc0279f78872461fa57ee90d6842/debian/patches/30-fix-FTBS-cross-compilation.patch";
hash = "sha256-ZwymEVJy7KvLFvNOcVZqDtJPxEcpQBVg+u+G+kSDZBo=";
})
];
makeFlags = [
"-C src"
"CC=cc"
];
enableParallelBuilding = true;
@ -21,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp bin/galleta $out/bin
cp src/galleta $out/bin
runHook postInstall
'';

View File

@ -7,13 +7,13 @@
buildGoModule rec {
pname = "glauth";
version = "2.3.1";
version = "2.3.2";
src = fetchFromGitHub {
owner = "glauth";
repo = "glauth";
rev = "v${version}";
hash = "sha256-OkkiB1AGO7r7ehpnSJ+cB00crVpZ5Cwy4rAT55LUUdE=";
hash = "sha256-FOhtL8nIm5kuKRxFtkrDyUU2z1K22ZdHaes3GY0KmfQ=";
};
vendorHash = "sha256-MfauZRufl3kxr1fqatxTmiIvLJ+5JhbpSnbTHiujME8=";

View File

@ -4,12 +4,12 @@
}:
appimageTools.wrapType2 rec {
pname = "immersed-vr";
version = "9.6";
version = "9.10";
name = "${pname}-${version}";
src = fetchurl {
url = "http://web.archive.org/web/20231011083250/https://static.immersed.com/dl/Immersed-x86_64.AppImage";
hash = "sha256-iA0SQlPktETFXEqCbSoWV9NaWVahkPa6qO4Cfju0aBQ=";
url = "https://web.archive.org/web/20240210075929/https://static.immersed.com/dl/Immersed-x86_64.AppImage";
hash = "sha256-Mx8UnV4fZSebj9ah650ZqsL/EIJpM6jl8tYmXJZiJpA=";
};
extraInstallCommands = ''

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "jasper";
version = "4.1.2";
version = "4.2.0";
src = fetchFromGitHub {
owner = "jasper-software";
repo = "jasper";
rev = "version-${finalAttrs.version}";
hash = "sha256-tTgoRLthNLqRO8fDrmGHVCB9QXpmPmTr9uqSFwkIK+s=";
hash = "sha256-aDeexQ+JmxRIjYAUH+x/J/Z847JasKWQNYYEpu78sHw=";
};
outputs = [ "out" "doc" "man" ];

View File

@ -0,0 +1,44 @@
{ lib
, fetchFromGitHub
, libgcrypt
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "killerbee";
version = "3.0.0-beta.2";
pyproject = true;
src = fetchFromGitHub {
owner = "riverloopsec";
repo = "killerbee";
rev = "refs/tags/${version}";
hash = "sha256-WM0Z6sd8S71F8FfhhoUq3MSD/2uvRTY/FsBP7VGGtb0=";
};
nativeBuildInputs = with python3.pkgs; [
setuptools
];
buildInputs = with python3.pkgs; [
libgcrypt
];
propagatedBuildInputs = with python3.pkgs; [
pyserial
pyusb
rangeparser
scapy
];
pythonImportsCheck = [
"killerbee"
];
meta = with lib; {
description = "IEEE 802.15.4/ZigBee Security Research Toolkit";
homepage = "https://github.com/riverloopsec/killerbee";
license = licenses.bsd3;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,13 @@
--- a/OpenSoundMeter.desktop
+++ b/OpenSoundMeter.desktop
@@ -6 +6 @@
-Icon=white
+Icon=OpenSoundMeter
--- a/OpenSoundMeter.pro
+++ b/OpenSoundMeter.pro
@@ -261 +261 @@
-APP_GIT_VERSION = $$system(git --git-dir $$_PRO_FILE_PWD_/.git --work-tree $$_PRO_FILE_PWD_ describe --tags $$system(git --git-dir $$_PRO_FILE_PWD_/.git --work-tree $$_PRO_FILE_PWD_ rev-list --tags --max-count=1))
+APP_GIT_VERSION = ?
@@ -486 +486 @@
-unix:!macx:!ios:CONFIG(release, debug|release) {
+unix:!linux:!macx:!ios:CONFIG(release, debug|release) {

View File

@ -0,0 +1,45 @@
{ lib, stdenv, fetchFromGitHub, alsa-lib, qt5 }:
let
inherit (qt5) qmake wrapQtAppsHook qtgraphicaleffects qtquickcontrols2;
in stdenv.mkDerivation rec {
pname = "opensoundmeter";
version = "1.3";
src = fetchFromGitHub {
owner = "psmokotnin";
repo = "osm";
rev = "v${version}";
hash = "sha256-nRibcEtG6UUTgn7PhSg4IyahMYi5aSPvaEOrAdx6u3o=";
};
patches = [ ./build.patch ];
postPatch = ''
substituteInPlace OpenSoundMeter.pro \
--replace 'APP_GIT_VERSION = ?' 'APP_GIT_VERSION = ${src.rev}'
'';
nativeBuildInputs = [ qmake wrapQtAppsHook ];
buildInputs = [ alsa-lib qtgraphicaleffects qtquickcontrols2 ];
installPhase = ''
runHook preInstall
install OpenSoundMeter -Dt $out/bin
install OpenSoundMeter.desktop -m444 -Dt $out/share/applications
install icons/white.png -m444 -D $out/share/icons/OpenSoundMeter.png
runHook postInstall
'';
meta = with lib; {
description = "Sound measurement application for tuning audio systems in real-time";
homepage = "https://opensoundmeter.com/";
license = licenses.gpl3Plus;
mainProgram = "OpenSoundMeter";
maintainers = with maintainers; [ orivej ];
platforms = platforms.linux;
};
}

View File

@ -1,13 +1,13 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "pmtiles";
version = "1.14.1";
version = "1.17.0";
src = fetchFromGitHub {
owner = "protomaps";
repo = "go-pmtiles";
rev = "v${version}";
hash = "sha256-CnREcPXNehxOMZm/cuedkDeWtloc7TGWNmmoFZhSTZE=";
hash = "sha256-BHzQMSIE94LW6SGcpaMdX/ztzVLlmWquwWMbruLAt00=";
};
vendorHash = "sha256-tSQjCdgEXIGlSWcIB6lLQulAiEAebgW3pXL9Z2ujgIs=";

View File

@ -0,0 +1,52 @@
{ lib
, stdenv
, fetchurl
, fetchpatch
, libpcap
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ptunnel";
version = "0.72";
src = fetchurl {
url = "https://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-${finalAttrs.version}.tar.gz";
hash = "sha256-sxj3qn2IkYtiadBUp+JvBPl9iHD0e9Sadsssmcc0B6Q=";
};
patches = [
# fix hyphen-used-as-minus-sign lintian warning in manpage.
(fetchpatch {
url = "https://salsa.debian.org/alteholz/ptunnel/-/raw/7475a32bc401056aeeb1b99e56b9ae5f1ee9c960/debian/patches/fix_minus_chars_in_man.patch";
hash = "sha256-DcMsCZczO+SxOiQuFbdSJn5UH5E4TVf3+vupJ4OurVg=";
})
# fix typo in README file.
(fetchpatch {
url = "https://salsa.debian.org/alteholz/ptunnel/-/raw/7475a32bc401056aeeb1b99e56b9ae5f1ee9c960/debian/patches/fix_typo.diff";
hash = "sha256-9cdOCfr2r9FnTmxJwvoClW5uf27j05zWQLykahKMJQg=";
})
# reverse parameters to memset.
(fetchpatch {
url = "https://salsa.debian.org/alteholz/ptunnel/-/raw/1dbf9b69507e19c86ac539fd8e3c60fc274717b3/debian/patches/memset-fix.patch";
hash = "sha256-dYbuMM0/ZUgi3OxukBIp5rKhlwAjGu7cl/3w3sWr/xU=";
})
];
makeFlags = [
"prefix=$(out)"
"CC=cc"
];
buildInputs = [
libpcap
];
meta = with lib; {
description = "A tool for reliably tunneling TCP connections over ICMP echo request and reply packets";
homepage = "https://www.cs.uit.no/~daniels/PingTunnel";
license = licenses.bsd3;
mainProgram = "ptunnel";
maintainers = with maintainers; [ d3vil0p3r ];
platforms = platforms.unix;
};
})

View File

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "qrtool";
version = "0.10.4";
version = "0.10.5";
src = fetchFromGitHub {
owner = "sorairolake";
repo = "qrtool";
rev = "v${version}";
sha256 = "sha256-b1dNGEdjmY2RSZ3M7lwWVeookMij2rUsVtevsYYNtw0=";
sha256 = "sha256-XYoa5AueI0AYH5Lw7CmzeK9RkNy8WXbAAePAGkcwzWw=";
};
cargoHash = "sha256-9Zd4zETDy8iM/rrZI55NOybpa4Sn9AzYsNYmLDzxL+Q=";
cargoHash = "sha256-s68OCW2KS1ADTp8rWaUOGXCrl+Qapyf9FcLVhSF4QMg=";
nativeBuildInputs = [ asciidoctor installShellFiles ];

View File

@ -4,14 +4,14 @@
}:
python3Packages.buildPythonApplication rec {
pname = "rclip";
version = "1.7.24";
version = "1.7.26";
pyproject = true;
src = fetchFromGitHub {
owner = "yurijmikhalevich";
repo = "rclip";
rev = "v${version}";
hash = "sha256-JWtKgvSP7oaPg19vWnnCDfm7P5Uew+v9yuvH7y2eHHM=";
hash = "sha256-u+xnrqJXtjElVXlwkCTHztcRl998CwoTEIvaGYzGOLU=";
};
nativeBuildInputs = with python3Packages; [

View File

@ -0,0 +1,28 @@
{ lib
, buildNpmPackage
, fetchFromGitHub
}:
buildNpmPackage rec {
pname = "shittier";
# No tagged release on GitHub yet
# Commit corresponds to release tagged as 0.1.1 on [npm](https://www.npmjs.com/package/shittier)
# See issue https://github.com/rohitdhas/shittier/issues/7
version = "0-unstable-2023-12-22";
src = fetchFromGitHub {
owner = "rohitdhas";
repo = "shittier";
rev = "c61b443c06dbaa8085a88b16360941cc4ba6baa2";
hash = "sha256-qdG1PdIZGWoJI7KgJqM/fayubPbPk+od/SgKfZQADz8=";
};
npmDepsHash = "sha256-oC9eOpoMZLZbyx9XnC4m5zzqORQWP62uRDNVZjyVnBs=";
meta = {
description = "Unconventional code formatting tool for JavaScript";
homepage = "https://github.com/rohitdhas/shittier";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ totoroot ];
};
}

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "updatecli";
version = "0.70.0";
version = "0.72.0";
src = fetchFromGitHub {
owner = "updatecli";
repo = pname;
rev = "v${version}";
hash = "sha256-MQoi/HvJqGCYzQLNsJul/7N3MXkV1X5d48InUSIWT8o=";
hash = "sha256-t+HR/MrhwMQ0tDLoXU+mzI99PUtTLMpvBpGpqZed4q8=";
};
vendorHash = "sha256-RjyVlj66CbkQlzXkdP6ZWf+cNVjOgoPdskQefv9bNoo=";
vendorHash = "sha256-jHH4JHz1z1eW10A3bN0DbvgIXgVICPxUWld9EtjQX/8=";
# tests require network access
doCheck = false;

View File

@ -1237,6 +1237,7 @@ name = "gourgeist"
version = "0.0.4"
dependencies = [
"anstream",
"cachedir",
"camino",
"clap",
"directories",
@ -4115,7 +4116,7 @@ checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
[[package]]
name = "uv"
version = "0.1.4"
version = "0.1.5"
dependencies = [
"anstream",
"anyhow",

View File

@ -15,14 +15,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "uv";
version = "0.1.4";
version = "0.1.5";
pyproject = true;
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
rev = version;
hash = "sha256-0bG1nReTaNqjHXCeW8gg3AWfXpsm8KulX6jsZQMVLlg=";
hash = "sha256-aiTec1uWcLcCA03qki5EE7Yy4Ne2+kXu9YtIVIAyd+o=";
};
cargoDeps = rustPlatform.importCargoLock {

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "uxn";
version = "unstable-2024-02-14";
version = "unstable-2024-02-15";
src = fetchFromSourcehut {
owner = "~rabbits";
repo = "uxn";
rev = "8abb621b12df11f7975ad1485d556ebb8bcb2042";
hash = "sha256-R36qrnNpR7cNosPnWxMr5/RMwA3ge/GvYPNCzcOziYk=";
rev = "c37d2cd75c855d0932a93cd8fdadd1db00b05e48";
hash = "sha256-O8XN0+ixo2xMXtJkEoJAqrKZ1M4s4YoHSxKWGOUyl1k=";
};
outputs = [ "out" "projects" ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "wiremock";
version = "3.3.1";
version = "3.4.0";
src = fetchurl {
url = "mirror://maven/org/wiremock/wiremock-standalone/${version}/wiremock-standalone-${version}.jar";
hash = "sha256-VgUJeQJeHNmmX1cS2s5hTljQZ8fIYr9uHYWMXjZjJzY=";
hash = "sha256-YD7bx8AAZZ7sj49Vt2dc3berLCmd8/eC6NDBbST0jYc=";
};
dontUnpack = true;

View File

@ -0,0 +1,46 @@
{ rustPlatform
, fetchFromGitHub
, lib
, installShellFiles
, stdenv
, Foundation
, nix-update-script
}:
rustPlatform.buildRustPackage rec {
pname = "yazi";
version = "0.2.3";
src = fetchFromGitHub {
owner = "sxyazi";
repo = pname;
rev = "v${version}";
hash = "sha256-2AiaJs6xY8hsB1DBxpPwdZtc8IZvsoCGWBOFVMf4dvk=";
};
cargoHash = "sha256-fRUmXv27sHYz8z0cc795JCPLHDQGgTV4wAWAtQ/pbg4=";
env.YAZI_GEN_COMPLETIONS = true;
nativeBuildInputs = [ installShellFiles ];
buildInputs = lib.optionals stdenv.isDarwin [ Foundation ];
postInstall = ''
installShellCompletion --cmd yazi \
--bash ./yazi-config/completions/yazi.bash \
--fish ./yazi-config/completions/yazi.fish \
--zsh ./yazi-config/completions/_yazi
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Blazing fast terminal file manager written in Rust, based on async I/O";
homepage = "https://github.com/sxyazi/yazi";
license = licenses.mit;
maintainers = with maintainers; [ xyenon matthiasbeyer ];
mainProgram = "yazi";
};
}

View File

@ -0,0 +1,48 @@
{ lib
, runCommand
, makeWrapper
, yazi-unwrapped
, withFile ? true
, file
, withJq ? true
, jq
, withPoppler ? true
, poppler_utils
, withUnar ? true
, unar
, withFfmpegthumbnailer ? true
, ffmpegthumbnailer
, withFd ? true
, fd
, withRipgrep ? true
, ripgrep
, withFzf ? true
, fzf
, withZoxide ? true
, zoxide
}:
let
runtimePaths = with lib; [ ]
++ optional withFile file
++ optional withJq jq
++ optional withPoppler poppler_utils
++ optional withUnar unar
++ optional withFfmpegthumbnailer ffmpegthumbnailer
++ optional withFd fd
++ optional withRipgrep ripgrep
++ optional withFzf fzf
++ optional withZoxide zoxide;
in
runCommand yazi-unwrapped.name
{
inherit (yazi-unwrapped) pname version meta;
nativeBuildInputs = [ makeWrapper ];
} ''
mkdir -p $out/bin
ln -s ${yazi-unwrapped}/share $out/share
makeWrapper ${yazi-unwrapped}/bin/yazi $out/bin/yazi \
--prefix PATH : "${lib.makeBinPath runtimePaths}"
''

View File

@ -0,0 +1,63 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
, freetype, juce, libX11, libXcursor, libXext, libXinerama, libXrandr, libglvnd
}:
stdenv.mkDerivation rec {
pname = "ysfx";
version = "0-unstable-2022-07-31";
src = fetchFromGitHub {
owner = "jpcima";
repo = "ysfx";
rev = "8077347ccf4115567aed81400281dca57acbb0cc";
hash = "sha256-pObuOb/PA9WkKB2FdMDCOd9TKmML+Sj2MybLP0YwT+8=";
};
# Provide latest dr_libs.
dr_libs = fetchFromGitHub {
owner = "mackron";
repo = "dr_libs";
rev = "e4a7765e598e9e54dc0f520b7e4416359bee80cc";
hash = "sha256-rWabyCP47vd+EfibBWy6iQY/nFN/OXPNhkuOTSboJaU=";
};
prePatch = ''
rmdir thirdparty/dr_libs
ln -s ${dr_libs} thirdparty/dr_libs
'';
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
freetype
juce
libX11
libXcursor
libXext
libXinerama
libXrandr
libglvnd
];
cmakeFlags = [
"-DYSFX_PLUGIN_COPY=OFF"
"-DYSFX_PLUGIN_USE_SYSTEM_JUCE=ON"
];
installPhase = ''
runHook preInstall
mkdir -p $out/lib
cp -r ysfx_plugin_artefacts/Release/VST3 $out/lib/vst3
runHook postInstall
'';
meta = with lib; {
description = "Hosting library for JSFX";
homepage = "https://github.com/jpcima/ysfx";
license = licenses.asl20;
maintainers = with maintainers; [ orivej ];
platforms = platforms.linux;
};
}

View File

@ -121,10 +121,14 @@ stdenvNoCC.mkDerivation rec {
mv -v $out/share/themes/Nordic/kde/colorschemes/* $out/share/color-schemes/
mv -v $out/share/themes/Nordic/kde/konsole $out/share/
mv -v $out/share/themes/Nordic/kde/kvantum/* $out/share/Kvantum/
mv -v $out/share/themes/Nordic/kde/plasma/look-and-feel $out/share/plasma/
cp -vr $out/share/themes/Nordic/kde/plasma/look-and-feel $out/share/plasma/look-and-feel/
mv -v $out/share/themes/Nordic/kde/plasma/look-and-feel $out/share/plasma/desktoptheme/
mv -v $out/share/themes/Nordic/kde/folders/* $out/share/icons/
mv -v $out/share/themes/Nordic/kde/cursors/*-cursors $out/share/icons/
rm -rf $out/share/plasma/look-and-feel/*/contents/{logout,osd,components}
rm -rf $out/share/plasma/desktoptheme/*/contents/{{defaults,splash,previews}
mkdir -p $sddm/share/sddm/themes
mv -v $out/share/themes/Nordic/kde/sddm/* $sddm/share/sddm/themes/

View File

@ -5,18 +5,18 @@
buildGoModule rec {
pname = "expr";
version = "1.16.0";
version = "1.16.1";
src = fetchFromGitHub {
owner = "antonmedv";
repo = "expr";
rev = "v${version}";
hash = "sha256-GLh4NayAbqGXI0Ekkk3lXCRwpLwGLbJIo7WjDfpKDhI=";
hash = "sha256-OwxBzsIkKauaYTdDpgSEdVL4JhacMnIvBTgxvkAm9YA=";
};
sourceRoot = "${src.name}/repl";
vendorHash = "sha256-42kFO7kXIdqVrp2FQGELZ90OUobOp4zbdo533vresIw=";
vendorHash = "sha256-RE6qQmAlWuXFIMzkop/Dk7DqATUnQpJ8Z+U8ZZeUvOA=";
ldflags = [ "-s" "-w" ];

View File

@ -79,13 +79,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gdal";
version = "3.8.3";
version = "3.8.4";
src = fetchFromGitHub {
owner = "OSGeo";
repo = "gdal";
rev = "v${finalAttrs.version}";
hash = "sha256-GYBGGZ2bobVYElO0WJrsQzLMdNR5AfQwgdjBtPeGH1g=";
hash = "sha256-R9VLof13OXPbWGHOG1Q4WZWSPoF739C6WuNWxoIwKTw=";
};
nativeBuildInputs = [

View File

@ -22,8 +22,8 @@ stdenv.mkDerivation {
src = fetchFromGitHub {
owner = "libfive";
repo = "libfive";
rev = "c85ffe1ba1570c2551434c5bad731884aaf80598";
hash = "sha256-OITy3fJx+Z6856V3D/KpSQRJztvOdJdqUv1c65wNgCc=";
rev = "7af5f43684a8a497ac8610d39f7fca935364a9b9";
hash = "sha256-GQzsHKeKsCWKOVfBrTuUFq2XasPxhsN+19stWY0WtVc=";
};
nativeBuildInputs = [ wrapQtAppsHook cmake ninja pkg-config python.pkgs.pythonImportsCheckHook ];

View File

@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "libmanette";
version = "0.2.6";
version = "0.2.7";
outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1b3bcdkk5xd5asq797cch9id8692grsjxrc1ss87vv11m1ck4rb3";
hash = "sha256-zd1cAqExBywZxs3m8sss1X6ufay1DRTDN+/ZgLqlGlE=";
};
nativeBuildInputs = [

View File

@ -11,13 +11,13 @@ let
in
stdenv.mkDerivation rec {
pname = "librime";
version = "1.9.0";
version = "1.10.0";
src = fetchFromGitHub {
owner = "rime";
repo = pname;
rev = version;
sha256 = "sha256-4gEdltdm9A3FxwyZqgSyUWgQ934glinfKwHF8S05f5I=";
sha256 = "sha256-tflWBfH1+1AFvkq0A6mgsKl+jq6m5c83GA56LWxdnlw=";
};
nativeBuildInputs = [ cmake pkg-config ];

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, gtest
, pkg-config
@ -23,6 +24,15 @@ stdenv.mkDerivation rec {
# error: unsafe buffer access
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unsafe-buffer-usage";
patches = [
# nvcc doesn't recognize the "gsl" attribute namespace (microsoft/onnxruntime#13573)
# only affects nvcc
(fetchpatch {
url = "https://raw.githubusercontent.com/microsoft/onnxruntime/4bfa69def85476b33ccfaf68cf070f3fb65d39f7/cmake/patches/gsl/1064.patch";
hash = "sha256-0jESA+VENWQms9HGE0jRiZZuWLJehBlbArxSaQbYOrM=";
})
];
doCheck = true;
meta = with lib; {

View File

@ -1,7 +1,7 @@
{ stdenv
{ config
, stdenv
, lib
, fetchFromGitHub
, fetchFromGitLab
, Foundation
, abseil-cpp
, cmake
@ -18,10 +18,22 @@
, iconv
, protobuf_21
, pythonSupport ? true
}:
, cudaSupport ? config.cudaSupport
, cudaPackages ? {}
}@inputs:
let
version = "1.16.3";
stdenv = throw "Use effectiveStdenv instead";
effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv;
cudaCapabilities = cudaPackages.cudaFlags.cudaCapabilities;
# E.g. [ "80" "86" "90" ]
cudaArchitectures = (builtins.map cudaPackages.cudaFlags.dropDot cudaCapabilities);
cudaArchitecturesString = lib.strings.concatStringsSep ";" cudaArchitectures;
howard-hinnant-date = fetchFromGitHub {
owner = "HowardHinnant";
repo = "date";
@ -74,10 +86,17 @@ let
rev = "refs/tags/v1.14.1";
hash = "sha256-ZVSdk6LeAiZpQrrzLxphMbc1b3rNUMpcxcXPP8s/5tE=";
};
cutlass = fetchFromGitHub {
owner = "NVIDIA";
repo = "cutlass";
rev = "v3.0.0";
sha256 = "sha256-YPD5Sy6SvByjIcGtgeGH80TEKg2BtqJWSg46RvnJChY=";
};
in
stdenv.mkDerivation rec {
effectiveStdenv.mkDerivation rec {
pname = "onnxruntime";
version = "1.16.3";
inherit version;
src = fetchFromGitHub {
owner = "microsoft";
@ -96,6 +115,10 @@ stdenv.mkDerivation rec {
# - use MakeAvailable instead of the low-level Populate,
# - use Eigen3::Eigen as the target name (as declared by libeigen/eigen).
./0001-eigen-allow-dependency-injection.patch
] ++ lib.optionals cudaSupport [
# We apply the referenced 1064.patch ourselves to our nix dependency.
# FIND_PACKAGE_ARGS for CUDA was added in https://github.com/microsoft/onnxruntime/commit/87744e5 so it might be possible to delete this patch after upgrading to 1.17.0
./nvcc-gsl.patch
];
nativeBuildInputs = [
@ -109,7 +132,9 @@ stdenv.mkDerivation rec {
pythonOutputDistHook
setuptools
wheel
]);
]) ++ lib.optionals cudaSupport [
cudaPackages.cuda_nvcc
];
buildInputs = [
eigen
@ -118,16 +143,24 @@ stdenv.mkDerivation rec {
nlohmann_json
microsoft-gsl
] ++ lib.optionals pythonSupport (with python3Packages; [
gtest'
numpy
pybind11
packaging
]) ++ lib.optionals stdenv.isDarwin [
]) ++ lib.optionals effectiveStdenv.isDarwin [
Foundation
iconv
];
] ++ lib.optionals cudaSupport (with cudaPackages; [
cuda_cccl # cub/cub.cuh
libcublas # cublas_v2.h
libcurand # curand.h
libcusparse # cusparse.h
libcufft # cufft.h
cudnn # cudnn.h
cuda_cudart
]);
nativeCheckInputs = lib.optionals pythonSupport (with python3Packages; [
gtest'
pytest
sympy
onnx
@ -159,23 +192,31 @@ stdenv.mkDerivation rec {
"-Donnxruntime_BUILD_UNIT_TESTS=ON"
"-Donnxruntime_ENABLE_LTO=ON"
"-Donnxruntime_USE_FULL_PROTOBUF=OFF"
(lib.cmakeBool "onnxruntime_USE_CUDA" cudaSupport)
(lib.cmakeBool "onnxruntime_USE_NCCL" cudaSupport)
] ++ lib.optionals pythonSupport [
"-Donnxruntime_ENABLE_PYTHON=ON"
] ++ lib.optionals cudaSupport [
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_CUTLASS" cutlass)
(lib.cmakeFeature "onnxruntime_CUDNN_HOME" cudaPackages.cudnn)
(lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaArchitecturesString)
];
env = lib.optionalAttrs stdenv.cc.isClang {
env = lib.optionalAttrs effectiveStdenv.cc.isClang {
NIX_CFLAGS_COMPILE = toString [
"-Wno-error=deprecated-declarations"
"-Wno-error=unused-but-set-variable"
];
};
doCheck = true;
doCheck = !cudaSupport;
requiredSystemFeatures = lib.optionals cudaSupport [ "big-parallel" ];
postPatch = ''
substituteInPlace cmake/libonnxruntime.pc.cmake.in \
--replace-fail '$'{prefix}/@CMAKE_INSTALL_ @CMAKE_INSTALL_
'' + lib.optionalString (stdenv.hostPlatform.system == "aarch64-linux") ''
'' + lib.optionalString (effectiveStdenv.hostPlatform.system == "aarch64-linux") ''
# https://github.com/NixOS/nixpkgs/pull/226734#issuecomment-1663028691
rm -v onnxruntime/test/optimizer/nhwc_transformer_test.cc
'';

View File

@ -0,0 +1,32 @@
diff --git a/cmake/external/onnxruntime_external_deps.cmake b/cmake/external/onnxruntime_external_deps.cmake
index 9effd1a2db..faff5e8de7 100644
--- a/cmake/external/onnxruntime_external_deps.cmake
+++ b/cmake/external/onnxruntime_external_deps.cmake
@@ -280,21 +280,12 @@ if (NOT WIN32)
endif()
endif()
-if(onnxruntime_USE_CUDA)
- FetchContent_Declare(
- GSL
- URL ${DEP_URL_microsoft_gsl}
- URL_HASH SHA1=${DEP_SHA1_microsoft_gsl}
- PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/gsl/1064.patch
- )
-else()
- FetchContent_Declare(
- GSL
- URL ${DEP_URL_microsoft_gsl}
- URL_HASH SHA1=${DEP_SHA1_microsoft_gsl}
- FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL
- )
-endif()
+FetchContent_Declare(
+ GSL
+ URL ${DEP_URL_microsoft_gsl}
+ URL_HASH SHA1=${DEP_SHA1_microsoft_gsl}
+ FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL
+)
FetchContent_Declare(
safeint

View File

@ -1,4 +1,12 @@
{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, fftw, speexdsp }:
{ lib
, stdenv
, fetchurl
, autoreconfHook
, pkg-config
, fftw
, speexdsp
, withFft ? !stdenv.hostPlatform.isMinGW
}:
stdenv.mkDerivation rec {
pname = "speex";
@ -16,12 +24,13 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" "doc" ];
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ fftw speexdsp ];
buildInputs = lib.optionals withFft [ fftw ]
++ [ speexdsp ];
# TODO: Remove this will help with immediate backward compatibility
propagatedBuildInputs = [ speexdsp ];
configureFlags = [
configureFlags = lib.optionals withFft [
"--with-fft=gpl-fftw3"
];
@ -29,6 +38,6 @@ stdenv.mkDerivation rec {
homepage = "https://www.speex.org/";
description = "An Open Source/Free Software patent-free audio compression format designed for speech";
license = licenses.bsd3;
platforms = platforms.unix;
platforms = platforms.unix ++ platforms.windows;
};
}

View File

@ -139,6 +139,10 @@ stdenv.mkDerivation rec {
postInstall = ''
rm -f ${placeholder "out"}/lib/*.a
''
# For mingw, libs are located in $out/bin not $out/lib
+ lib.optionalString stdenv.hostPlatform.isMinGW ''
ln -s $out/bin/*.dll $out/lib
'';
meta = with lib; {

View File

@ -1,4 +1,4 @@
{ lib, fetchurl, pkg-config, buildDunePackage, dune-configurator
{ lib, fetchurl, fetchpatch, pkg-config, buildDunePackage, dune-configurator
, gtk3, cairo2
, camlp-streams
}:
@ -14,6 +14,13 @@ buildDunePackage rec {
hash = "sha256-bxEVMzfnaH5yHVxAmifNYOy8GnSivLLgSE/9+1yxBI4=";
};
# Fix build with clang 16
# See: https://github.com/garrigue/lablgtk/pull/175
patches = fetchpatch {
url = "https://github.com/garrigue/lablgtk/commit/a9b64b9ed8a13855c672cde0a2d9f78687f4214b.patch";
hash = "sha256-j/L+yYKLlj410jx2VG77hnn9SVHCcSzmr3wpOMZhX5w=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dune-configurator camlp-streams ];
propagatedBuildInputs = [ gtk3 cairo2 ];

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-mlgmpidl";
version = "1.2.15";
version = "1.3.0";
src = fetchFromGitHub {
owner = "nberth";
repo = "mlgmpidl";
rev = version;
sha256 = "sha256-85wy5eVWb5qdaa2lLDcfqlUTIY7vnN3nGMdxoj5BslU=";
hash = "sha256-ZmSDKZiHko8MCeIuZL53HjupfwO6PAm8QOCc9O3xJOk=";
};
nativeBuildInputs = [ perl ocaml findlib camlidl ];
@ -17,18 +17,11 @@ stdenv.mkDerivation rec {
strictDeps = true;
prefixKey = "-prefix ";
configureFlags = [
"--gmp-prefix ${gmp.dev}"
"--mpfr-prefix ${mpfr.dev}"
"-disable-profiling"
];
postConfigure = ''
substituteInPlace Makefile --replace "/bin/rm" "rm"
mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
'';
meta = {
description = "OCaml interface to the GMP library";
homepage = "https://www.inrialpes.fr/pop-art/people/bjeannet/mlxxxidl-forge/mlgmpidl/";

View File

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "aiodiscover";
version = "1.6.0";
version = "1.6.1";
pyproject = true;
disabled = pythonOlder "3.7";
@ -24,14 +24,9 @@ buildPythonPackage rec {
owner = "bdraco";
repo = "aiodiscover";
rev = "refs/tags/v${version}";
hash = "sha256-FbOqTUSqxSPSCn5zA4s47+M6OsVsqvUBZxTFvJ5PoHs=";
hash = "sha256-M3tus0r58YVJyi/S7UWq+OvaKke3hqkHGuYkUxEpVxg=";
};
postPatch = ''
substituteInPlace setup.py \
--replace '"pytest-runner>=5.2",' ""
'';
nativeBuildInputs = [
setuptools
];

View File

@ -0,0 +1,64 @@
{ lib
, aiohttp
, aioresponses
, buildPythonPackage
, fetchFromGitHub
, mashumaro
, orjson
, poetry-core
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, syrupy
, yarl
}:
buildPythonPackage rec {
pname = "aiotankerkoenig";
version = "0.4.1";
pyproject = true;
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "jpbede";
repo = "aiotankerkoenig";
rev = "refs/tags/v${version}";
hash = "sha256-BB1Cy4Aji5m06LlNj03as4CWF8RcYKAYy4oxPomOP68=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "--cov" ""
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
mashumaro
orjson
yarl
];
nativeCheckInputs = [
aioresponses
pytest-asyncio
pytestCheckHook
syrupy
];
pythonImportsCheck = [
"aiotankerkoenig"
];
meta = with lib; {
description = "Python module for interacting with tankerkoenig.de";
homepage = "https://github.com/jpbede/aiotankerkoenig";
changelog = "https://github.com/jpbede/aiotankerkoenig/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -1,41 +1,45 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, click
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
, flit-core
}:
buildPythonPackage rec {
pname = "click-default-group";
version = "1.2.2";
format = "setuptools";
version = "1.2.4";
pyproject = true;
disabled = pythonOlder "3.7";
# No tests in Pypi tarball
src = fetchFromGitHub {
owner = "click-contrib";
repo = "click-default-group";
rev = "v${version}";
sha256 = "0nk39lmkn208w8kvq6f4h3a6qzxrrvxixahpips6ik3zflbkss86";
rev = "refs/tags/v${version}";
hash = "sha256-9Vk4LdgLDAWG2YCQPLKR6PIVnULmpOoe7RtS8DgWARo=";
};
patches = [
# make tests compatible with click 8
(fetchpatch {
url = "https://github.com/click-contrib/click-default-group/commit/9415c77d05cf7d16876e7d70a49a41a6189983b4.patch";
sha256 = "1czzma8nmwyxhwhnr8rfw5bjw6d46b3s5r5bfb8ly3sjwqjlwhw2";
})
nativeBuildInputs = [
flit-core
];
propagatedBuildInputs = [ click ];
propagatedBuildInputs = [
click
];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [ "click_default_group" ];
pythonImportsCheck = [
"click_default_group"
];
meta = with lib; {
homepage = "https://github.com/click-contrib/click-default-group";
description = "Group to invoke a command without explicit subcommand name";
homepage = "https://github.com/click-contrib/click-default-group";
license = licenses.bsd3;
maintainers = with maintainers; [ jakewaksbaum ];
};

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