Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-04-22 00:13:57 +00:00 committed by GitHub
commit dc3f85a891
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
195 changed files with 3642 additions and 1906 deletions

View File

@ -18163,6 +18163,11 @@
githubId = 863807;
name = "Serge Guelton";
};
sergioribera = {
github = "SergioRibera";
githubId = 56278796;
name = "Sergio Ribera";
};
sersorrel = {
email = "ash@sorrel.sh";
github = "sersorrel";

View File

@ -155,6 +155,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [microsocks](https://github.com/rofl0r/microsocks), a tiny, portable SOCKS5 server with very moderate resource usage. Available as [services.microsocks]($opt-services-microsocks.enable).
- [inadyn](https://github.com/troglobit/inadyn), a Dynamic DNS client with built-in support for multiple providers. Available as [services.inadyn](#opt-services.inadyn.enable).
- [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable).
- [fritz-exporter](https://github.com/pdreker/fritz_exporter), a Prometheus exporter for extracting metrics from [FRITZ!](https://avm.de/produkte/) devices. Available as [services.prometheus.exporters.fritz](#opt-services.prometheus.exporters.fritz.enable).
@ -349,6 +351,9 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- Ada packages (libraries and tools) have been moved into the `gnatPackages` scope. `gnatPackages` uses the default GNAT compiler, `gnat12Packages` and `gnat13Packages` use the respective matching compiler version.
- Paths provided as `restartTriggers` and `reloadTriggers` for systemd units will now be copied into the nix store to make the behavior consistent.
Previously, `restartTriggers = [ ./config.txt ]`, if defined in a flake, would trigger a restart when any part of the flake changed; and if not defined in a flake, would never trigger a restart even if the contents of `config.txt` changed.
- `spark2014` has been renamed to `gnatprove`. A version of `gnatprove` matching different GNAT versions is available from the different `gnatPackages` sets.
- `services.resolved.fallbackDns` can now be used to disable the upstream fallback servers entirely by setting it to an empty list. To get the previous behaviour of the upstream defaults set it to null, the new default, instead.

View File

@ -14,10 +14,12 @@ let
elem
filter
filterAttrs
flatten
flip
head
isInt
isList
isPath
length
makeBinPath
makeSearchPathOutput
@ -28,6 +30,7 @@ let
optional
optionalAttrs
optionalString
pipe
range
replaceStrings
reverseList
@ -366,9 +369,17 @@ in rec {
// optionalAttrs (config.requisite != [])
{ Requisite = toString config.requisite; }
// optionalAttrs (config ? restartTriggers && config.restartTriggers != [])
{ X-Restart-Triggers = "${pkgs.writeText "X-Restart-Triggers-${name}" (toString config.restartTriggers)}"; }
{ X-Restart-Triggers = "${pkgs.writeText "X-Restart-Triggers-${name}" (pipe config.restartTriggers [
flatten
(map (x: if isPath x then "${x}" else x))
toString
])}"; }
// optionalAttrs (config ? reloadTriggers && config.reloadTriggers != [])
{ X-Reload-Triggers = "${pkgs.writeText "X-Reload-Triggers-${name}" (toString config.reloadTriggers)}"; }
{ X-Reload-Triggers = "${pkgs.writeText "X-Reload-Triggers-${name}" (pipe config.reloadTriggers [
flatten
(map (x: if isPath x then "${x}" else x))
toString
])}"; }
// optionalAttrs (config.description != "") {
Description = config.description; }
// optionalAttrs (config.documentation != []) {

View File

@ -101,6 +101,7 @@ let
libPath = filter (pkgs.path + "/lib");
pkgsLibPath = filter (pkgs.path + "/pkgs/pkgs-lib");
nixosPath = filter (pkgs.path + "/nixos");
NIX_ABORT_ON_WARN = warningsAreErrors;
modules =
"[ "
+ concatMapStringsSep " " (p: ''"${removePrefix "${modulesPath}/" (toString p)}"'') docModules.lazy

View File

@ -1012,6 +1012,7 @@
./services/networking/icecream/daemon.nix
./services/networking/icecream/scheduler.nix
./services/networking/imaginary.nix
./services/networking/inadyn.nix
./services/networking/inspircd.nix
./services/networking/iodine.nix
./services/networking/iperf3.nix

View File

@ -11,11 +11,11 @@ in
};
options.programs.fcast-receiver = {
enable = mkEnableOption (lib.mdDoc "FCast Receiver");
enable = mkEnableOption "FCast Receiver";
openFirewall = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
description = ''
Open ports needed for the functionality of the program.
'';
};

View File

@ -15,11 +15,12 @@ in
environment.systemPackages = lib.mkIf (cfg.keybindings || cfg.fuzzyCompletion) [ pkgs.fzf ];
programs = {
bash.interactiveShellInit = lib.optionalString cfg.fuzzyCompletion ''
# load after programs.bash.enableCompletion
bash.promptPluginInit = lib.mkAfter (lib.optionalString cfg.fuzzyCompletion ''
source ${pkgs.fzf}/share/fzf/completion.bash
'' + lib.optionalString cfg.keybindings ''
source ${pkgs.fzf}/share/fzf/key-bindings.bash
'';
'');
zsh = {
interactiveShellInit = lib.optionalString (!config.programs.zsh.ohMyZsh.enable)

View File

@ -200,7 +200,8 @@ in
unitConfig.DefaultDependencies = false;
script = ''
if test -f "${cfg.secretKeyFile}"; then
mkdir -m 0755 -p /etc/duo
mkdir -p /etc/duo
chmod 0755 /etc/duo
umask 0077
conf="$(mktemp)"
@ -222,7 +223,8 @@ in
unitConfig.DefaultDependencies = false;
script = ''
if test -f "${cfg.secretKeyFile}"; then
mkdir -m 0755 -p /etc/duo
mkdir -p /etc/duo
chmod 0755 /etc/duo
umask 0077
conf="$(mktemp)"

View File

@ -18,7 +18,10 @@ in {
description = "greenclip daemon";
wantedBy = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig.ExecStart = "${cfg.package}/bin/greenclip daemon";
serviceConfig = {
ExecStart = "${cfg.package}/bin/greenclip daemon";
Restart = "always";
};
};
environment.systemPackages = [ cfg.package ];

View File

@ -45,6 +45,18 @@ in
This option only works with the nftables based firewall.
'';
};
extraReversePathFilterRules = mkOption {
type = types.lines;
default = "";
example = "fib daddr . mark . iif type local accept";
description = ''
Additional nftables rules to be appended to the rpfilter-allow
chain.
This option only works with the nftables based firewall.
'';
};
};
};
@ -79,6 +91,8 @@ in
meta nfproto ipv4 udp sport . udp dport { 67 . 68, 68 . 67 } accept comment "DHCPv4 client/server"
fib saddr . mark ${optionalString (cfg.checkReversePath != "loose") ". iif"} oif exists accept
jump rpfilter-allow
${optionalString cfg.logReversePathDrops ''
log level info prefix "rpfilter drop: "
''}
@ -86,6 +100,10 @@ in
}
''}
chain rpfilter-allow {
${cfg.extraReversePathFilterRules}
}
chain input {
type filter hook input priority filter; policy drop;

View File

@ -0,0 +1,250 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.inadyn;
# check if a value of an attrset is not null or an empty collection
nonEmptyValue = _: v: v != null && v != [ ] && v != { };
renderOption = k: v:
if builtins.elem k [ "provider" "custom" ] then
lib.concatStringsSep "\n"
(mapAttrsToList
(name: config: ''
${k} ${name} {
${lib.concatStringsSep "\n " (mapAttrsToList renderOption (filterAttrs nonEmptyValue config))}
}'')
v)
else if k == "include" then
"${k}(\"${v}\")"
else if k == "hostname" && builtins.isList v then
"${k} = { ${builtins.concatStringsSep ", " (map (s: "\"${s}\"") v)} }"
else if builtins.isBool v then
"${k} = ${boolToString v}"
else if builtins.isString v then
"${k} = \"${v}\""
else
"${k} = ${toString v}";
configFile' = pkgs.writeText "inadyn.conf"
''
# This file was generated by nix
# do not edit
${(lib.concatStringsSep "\n" (mapAttrsToList renderOption (filterAttrs nonEmptyValue cfg.settings)))}
'';
configFile = if (cfg.configFile != null) then cfg.configFile else configFile';
in
{
options.services.inadyn = with types;
let
providerOptions =
{
include = mkOption {
default = null;
description = "File to include additional settings for this provider from.";
type = nullOr path;
};
ssl = mkOption {
default = true;
description = "Whether to use HTTPS for this DDNS provider.";
type = bool;
};
username = mkOption {
default = null;
description = "Username for this DDNS provider.";
type = nullOr str;
};
password = mkOption {
default = null;
description = ''
Password for this DDNS provider.
WARNING: This will be world-readable in the nix store.
To store credentials securely, use the `include` or `configFile` options.
'';
type = nullOr str;
};
hostname = mkOption {
default = "*";
example = "your.cool-domain.com";
description = "Hostname alias(es).";
type = either str (listOf str);
};
};
in
{
enable = mkEnableOption (''
synchronise your machine's IP address with a dynamic DNS provider using inadyn
'');
user = mkOption {
default = "inadyn";
type = types.str;
description = ''
User account under which inadyn runs.
::: {.note}
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the inadyn service starts.
:::
'';
};
group = mkOption {
default = "inadyn";
type = types.str;
description = ''
Group account under which inadyn runs.
::: {.note}
If left as the default value this user will automatically be created
on system activation, otherwise you are responsible for
ensuring the user exists before the inadyn service starts.
:::
'';
};
interval = mkOption {
default = "*-*-* *:*:00";
description = ''
How often to check the current IP.
Uses the format described in {manpage}`systemd.time(7)`";
'';
type = str;
};
logLevel = lib.mkOption {
type = lib.types.enum [ "none" "err" "warning" "info" "notice" "debug" ];
default = "notice";
description = "Set inadyn's log level.";
};
settings = mkOption {
default = { };
description = "See `inadyn.conf (5)`";
type = submodule {
freeformType = attrs;
options = {
allow-ipv6 = mkOption {
default = config.networking.enableIPv6;
defaultText = "`config.networking.enableIPv6`";
description = "Whether to get IPv6 addresses from interfaces.";
type = bool;
};
forced-update = mkOption {
default = 2592000;
description = "Duration (in seconds) after which an update is forced.";
type = ints.positive;
};
provider = mkOption {
default = { };
description = ''
Settings for DDNS providers built-in to inadyn.
For a list of built-in providers, see `inadyn.conf (5)`.
'';
type = attrsOf (submodule {
freeformType = attrs;
options = providerOptions;
});
};
custom = mkOption {
default = { };
description = ''
Settings for custom DNS providers.
'';
type = attrsOf (submodule {
freeformType = attrs;
options = providerOptions // {
ddns-server = mkOption {
description = "DDNS server name.";
type = str;
};
ddns-path = mkOption {
description = ''
DDNS server path.
See `inadnyn.conf (5)` for a list for format specifiers that can be used.
'';
example = "/update?user=%u&password=%p&domain=%h&myip=%i";
type = str;
};
};
});
};
};
};
};
configFile = mkOption {
default = null;
description = ''
Configuration file for inadyn.
Setting this will override all other configuration options.
Passed to the inadyn service using LoadCredential.
'';
type = nullOr path;
};
};
config = lib.mkIf cfg.enable {
systemd = {
services.inadyn = {
description = "Update nameservers using inadyn";
documentation = [
"man:inadyn"
"man:inadyn.conf"
"file:${pkgs.inadyn}/share/doc/inadyn/README.md"
];
requires = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
startAt = cfg.interval;
serviceConfig = {
Type = "oneshot";
ExecStart = ''${lib.getExe pkgs.inadyn} -f ${configFile} --cache-dir ''${CACHE_DIRECTORY}/inadyn -1 --foreground -l ${cfg.logLevel}'';
LoadCredential = "config:${configFile}";
CacheDirectory = "inadyn";
User = cfg.user;
Group = cfg.group;
UMask = "0177";
LockPersonality = true;
MemoryDenyWriteExecute = true;
RestrictAddressFamilies = "AF_INET AF_INET6 AF_NETLINK";
NoNewPrivileges = true;
PrivateDevices = true;
PrivateTmp = true;
PrivateUsers = true;
ProtectSystem = "strict";
ProtectProc = "invisible";
ProtectHome = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallErrorNumber = "EPERM";
SystemCallFilter = "@system-service";
CapabilityBoundingSet = "";
};
};
timers.inadyn.timerConfig.Persistent = true;
};
users.users.inadyn = mkIf (cfg.user == "inadyn") {
group = cfg.group;
isSystemUser = true;
};
users.groups = mkIf (cfg.group == "inadyn") {
inadyn = { };
};
};
}

View File

@ -124,11 +124,20 @@ let
fi
''}
# ensure wpa_supplicant.conf exists, or the daemon will fail to start
${optionalString cfg.allowAuxiliaryImperativeNetworks ''
touch /etc/wpa_supplicant.conf
''}
# substitute environment variables
if [ -f "${configFile}" ]; then
${pkgs.gawk}/bin/awk '{
for(varname in ENVIRON)
gsub("@"varname"@", ENVIRON[varname])
for(varname in ENVIRON) {
find = "@"varname"@"
repl = ENVIRON[varname]
if (i = index($0, find))
$0 = substr($0, 1, i-1) repl substr($0, i+length(find))
}
print
}' "${configFile}" > "${finalConfig}"
else

View File

@ -47,6 +47,7 @@ let
reverse-proxy = reverseProxy;
proxy-prefix = proxyPrefix;
profile-url = profileURL;
oidc-issuer-url = oidcIssuerUrl;
redeem-url = redeemURL;
redirect-url = redirectURL;
request-logging = requestLogging;
@ -131,6 +132,15 @@ in
example = "123456.apps.googleusercontent.com";
};
oidcIssuerUrl = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The OAuth issuer URL.
'';
example = "https://login.microsoftonline.com/{TENANT_ID}/v2.0";
};
clientSecret = mkOption {
type = types.nullOr types.str;
description = ''

View File

@ -2,7 +2,7 @@
let
inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption;
inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption mkPackageOption;
inherit (lib) literalExpression mapAttrs optional optionalString types;
cfg = config.services.limesurvey;
@ -12,8 +12,6 @@ let
group = config.services.httpd.group;
stateDir = "/var/lib/limesurvey";
pkg = pkgs.limesurvey;
configType = with types; oneOf [ (attrsOf configType) str int bool ] // {
description = "limesurvey config type (str, int, bool or attribute set thereof)";
};
@ -34,6 +32,8 @@ in
options.services.limesurvey = {
enable = mkEnableOption "Limesurvey web application";
package = mkPackageOption pkgs "limesurvey" { };
encryptionKey = mkOption {
type = types.str;
default = "E17687FC77CEE247F0E22BB3ECF27FDE8BEC310A892347EC13013ABA11AA7EB5";
@ -240,7 +240,7 @@ in
adminAddr = mkDefault cfg.virtualHost.adminAddr;
extraModules = [ "proxy_fcgi" ];
virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost {
documentRoot = mkForce "${pkg}/share/limesurvey";
documentRoot = mkForce "${cfg.package}/share/limesurvey";
extraConfig = ''
Alias "/tmp" "${stateDir}/tmp"
<Directory "${stateDir}">
@ -256,7 +256,7 @@ in
Options -Indexes
</Directory>
<Directory "${pkg}/share/limesurvey">
<Directory "${cfg.package}/share/limesurvey">
<FilesMatch "\.php$">
<If "-f %{REQUEST_FILENAME}">
SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
@ -277,7 +277,7 @@ in
"d ${stateDir}/tmp/assets 0750 ${user} ${group} - -"
"d ${stateDir}/tmp/runtime 0750 ${user} ${group} - -"
"d ${stateDir}/tmp/upload 0750 ${user} ${group} - -"
"C ${stateDir}/upload 0750 ${user} ${group} - ${pkg}/share/limesurvey/upload"
"C ${stateDir}/upload 0750 ${user} ${group} - ${cfg.package}/share/limesurvey/upload"
];
systemd.services.limesurvey-init = {
@ -288,8 +288,8 @@ in
environment.LIMESURVEY_CONFIG = limesurveyConfig;
script = ''
# update or install the database as required
${pkgs.php81}/bin/php ${pkg}/share/limesurvey/application/commands/console.php updatedb || \
${pkgs.php81}/bin/php ${pkg}/share/limesurvey/application/commands/console.php install admin password admin admin@example.com verbose
${pkgs.php81}/bin/php ${cfg.package}/share/limesurvey/application/commands/console.php updatedb || \
${pkgs.php81}/bin/php ${cfg.package}/share/limesurvey/application/commands/console.php install admin password admin admin@example.com verbose
'';
serviceConfig = {
User = user;

View File

@ -286,16 +286,16 @@ in
virtualHosts.${cfg.nginx.domain} = {
# https://docs.pretalx.org/administrator/installation.html#step-7-ssl
extraConfig = ''
more_set_headers Referrer-Policy same-origin;
more_set_headers X-Content-Type-Options nosniff;
more_set_headers "Referrer-Policy: same-origin";
more_set_headers "X-Content-Type-Options: nosniff";
'';
locations = {
"/".proxyPass = "http://pretalx";
"/media/" = {
alias = "${cfg.settings.filesystem.data}/data/media/";
alias = "${cfg.settings.filesystem.data}/media/";
extraConfig = ''
access_log off;
more_set_headers Content-Disposition 'attachment; filename="$1"';
more_set_headers 'Content-Disposition: attachment; filename="$1"';
expires 7d;
'';
};

View File

@ -41,7 +41,7 @@ with lib;
kernelParams = [ "console=ttyS0" "panic=1" "boot.panic_on_fail" ];
initrd.kernelModules = [ "virtio_scsi" ];
kernelModules = [ "virtio_pci" "virtio_net" ];
loader.grub.devices = lib.mkDefault ["/dev/vda"];
loader.grub.devices = ["/dev/vda"];
};
services.openssh = {
enable = mkDefault true;

View File

@ -25,6 +25,10 @@ in {
};
};
environment.systemPackages = [
pkgs.phosh-mobile-settings
];
systemd.services.phosh = {
environment = {
# Accelerated graphics fail on phoc 0.20 (wlroots 0.15)
@ -63,8 +67,13 @@ in {
phone.screenshot("03launcher")
with subtest("Check the on-screen keyboard shows"):
phone.send_chars("setting", delay=0.2)
phone.send_chars("mobile setting", delay=0.2)
phone.wait_for_text("123") # A button on the OSK
phone.screenshot("04osk")
with subtest("Check mobile-phosh-settings starts"):
phone.send_chars("\n")
phone.wait_for_text("Tweak advanced mobile settings");
phone.screenshot("05settings")
'';
})

View File

@ -102,17 +102,34 @@ import ./make-test-python.nix ({ pkgs, lib, ...}:
test2.psk = "@PSK_SPECIAL@"; # should be replaced
test3.psk = "@PSK_MISSING@"; # should not be replaced
test4.psk = "P@ssowrdWithSome@tSymbol"; # should not be replaced
test5.psk = "@PSK_AWK_REGEX@"; # should be replaced
};
# secrets
environmentFile = pkgs.writeText "wpa-secrets" ''
PSK_VALID="S0m3BadP4ssw0rd";
# taken from https://github.com/minimaxir/big-list-of-naughty-strings
PSK_SPECIAL=",./;'[]\-= <>?:\"{}|_+ !@#$%^\&*()`~";
PSK_SPECIAL=",./;'[]\/\-= <>?:\"{}|_+ !@#$%^&*()`~";
PSK_AWK_REGEX="PassowrdWith&symbol";
'';
};
};
imperative = { ... }: {
imports = [ ../modules/profiles/minimal.nix ];
# add a virtual wlan interface
boot.kernelModules = [ "mac80211_hwsim" ];
# wireless client
networking.wireless = {
enable = lib.mkOverride 0 true;
userControlled.enable = true;
allowAuxiliaryImperativeNetworks = true;
interfaces = [ "wlan1" ];
};
};
# Test connecting to the SAE-only hotspot using SAE
machineSae = machineWithHostapd {
networking.wireless = {
@ -171,6 +188,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...}:
basic.fail(f"grep -q @PSK_SPECIAL@ {config_file}")
basic.succeed(f"grep -q @PSK_MISSING@ {config_file}")
basic.succeed(f"grep -q P@ssowrdWithSome@tSymbol {config_file}")
basic.succeed(f"grep -q 'PassowrdWith&symbol' {config_file}")
with subtest("WPA2 fallbacks have been generated"):
assert int(basic.succeed(f"grep -c sae-only {config_file}")) == 1
@ -185,6 +203,15 @@ import ./make-test-python.nix ({ pkgs, lib, ...}:
assert "Failed to connect" not in status, \
"Failed to connect to the daemon"
with subtest("Daemon can be configured imperatively"):
imperative.wait_for_unit("wpa_supplicant-wlan1.service")
imperative.wait_until_succeeds("wpa_cli -i wlan1 status")
imperative.succeed("wpa_cli -i wlan1 add_network")
imperative.succeed("wpa_cli -i wlan1 set_network 0 ssid '\"nixos-test\"'")
imperative.succeed("wpa_cli -i wlan1 set_network 0 psk '\"reproducibility\"'")
imperative.succeed("wpa_cli -i wlan1 save_config")
imperative.succeed("grep -q nixos-test /etc/wpa_supplicant.conf")
machineSae.wait_for_unit("hostapd.service")
machineSae.copy_from_vm("/run/hostapd/wlan0.hostapd.conf")
with subtest("Daemon can connect to the SAE access point using SAE"):

View File

@ -1,6 +1,10 @@
{ lib
, rustPlatform
, fetchFromSourcehut
, autoPatchelfHook
, gcc-unwrapped
, wayland
, libxkbcommon
}:
rustPlatform.buildRustPackage rec {
@ -16,6 +20,15 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-1ugExUtrzqyd9dTlBHcc44UrtEfYrfUryuG79IkTv2Y=";
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [ gcc-unwrapped ];
runtimeDependencies = map lib.getLib [
gcc-unwrapped
wayland
libxkbcommon
];
meta = with lib; {
description = "Raw wayland greeter for greetd, to be run under sway or similar";
mainProgram = "wlgreet";

View File

@ -48,7 +48,7 @@
"new": "sqlite-lua"
},
"vim-fsharp": {
"date": "2024-04-03",
"date": "2024-04-21",
"new": "zarchive-vim-fsharp"
},
"vim-jade": {

File diff suppressed because it is too large Load Diff

View File

@ -321,12 +321,12 @@
codeium-nvim = let
# Update according to https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json
codeiumVersion = "1.6.7";
codeiumVersion = "1.8.25";
codeiumHashes = {
x86_64-linux = "sha256-z1cZ6xmP25iPezeLpz4xRh7czgx1JLwsYwGAEUA6//I=";
aarch64-linux = "sha256-8cSdCiIVbqv91lUMOLV1Xld8KuIzJA5HCIDbhyyc404=";
x86_64-darwin = "sha256-pjW7tNyO0cIFdIm69H6I3HDBpFwnJIRmIN7WRi1OfLw=";
aarch64-darwin = "sha256-DgE4EVNCM9+YdTVJeVYnrDGAXOJV1VrepiVeX3ziwfg=";
x86_64-linux = "sha256-6sIYDI6+1/p54Af+E/GmRAFlfDYJVwxhn0qF47ZH+Zg=";
aarch64-linux = "sha256-1ImcjAqCZm5KZZYHWhG1eO7ipAdrP4Qjj2eBxTst++s=";
x86_64-darwin = "sha256-yHthItxZYFejJlwJJ7BrM2csnLsZXjy/IbzF1iaCCyI=";
aarch64-darwin = "sha256-GIx0yABISj/rH/yVkkx6NBs5qF0P8nhpMyvnzXJ92mA=";
};
codeium' = codeium.overrideAttrs rec {
@ -1038,7 +1038,7 @@
inherit (old) version src;
sourceRoot = "${old.src.name}/spectre_oxi";
cargoHash = "sha256-tWJyVBYYQWr3ofYnbvfQZdzPQ9o//7XEbdjN5b2frPo=";
cargoHash = "sha256-UxOAIyVlJWlp5RUFVU3Ib539D5pm6Z+3edjHLerkIRU=";
preCheck = ''

View File

@ -21,7 +21,7 @@ index d6d4b4c..9853877 100644
else
call v:lua.vim.health.ok("htop is installed")
diff --git a/lua/openscad.lua b/lua/openscad.lua
index 7475f29..832c895 100644
index 0a26d08..1264989 100644
--- a/lua/openscad.lua
+++ b/lua/openscad.lua
@@ -101,7 +101,7 @@ end
@ -33,12 +33,12 @@ index 7475f29..832c895 100644
end
function M.help()
@@ -125,7 +125,7 @@ function M.exec_openscad()
jobCommand = '/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD ' .. vim.fn.expand('%:p')
@@ -126,7 +126,7 @@ function M.exec_openscad()
jobCommand = '/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD ' .. filename
else
-- TODO: What about Windows?
- jobCommand = 'openscad ' .. vim.fn.expand('%:p')
+ jobCommand = '@openscad@ ' .. vim.fn.expand('%:p')
- jobCommand = 'openscad ' .. filename
+ jobCommand = '@openscad@ ' .. filename
end
vim.fn.jobstart(jobCommand)

View File

@ -361,6 +361,7 @@ https://github.com/morhetz/gruvbox/,,
https://github.com/luisiacc/gruvbox-baby/,HEAD,
https://github.com/eddyekofo94/gruvbox-flat.nvim/,,
https://github.com/sainnhe/gruvbox-material/,,
https://github.com/f4z3r/gruvbox-material.nvim/,HEAD,
https://github.com/ellisonleao/gruvbox.nvim/,,
https://github.com/nvimdev/guard-collection/,HEAD,
https://github.com/nvimdev/guard.nvim/,HEAD,

View File

@ -3365,13 +3365,18 @@ let
mktplcRef = {
name = "java";
publisher = "redhat";
version = "1.17.2023032504";
hash = "sha256-ni1jzCPjwtcdJTEORn0vYzLRbQ/wseTZmrETJ8QPW58=";
version = "1.30.2024041908";
hash = "sha256-2VaB7duzDmoQYxLHIuC9yghJvmVnWJIBfH75xq5ljPg=";
};
buildInputs = [ jdk ];
meta = {
description = "Java language support for VS Code via the Eclipse JDT Language Server";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=redhat.java";
homepage = "https://github.com/redhat-developer/vscode-java";
changelog = "https://marketplace.visualstudio.com/items/redhat.java/changelog";
license = lib.licenses.epl20;
broken = lib.versionOlder jdk.version "11";
maintainers = [ lib.maintainers.wackbyte ];
broken = lib.versionOlder jdk.version "17";
};
};
@ -4063,8 +4068,8 @@ let
mktplcRef = {
name = "vscode-nushell-lang";
publisher = "thenuprojectcontributors";
version = "1.1.0";
hash = "sha256-7v4q0OEqv7q2ejHp4lph2Dsqg0GWE65pxyz9goQEm8g=";
version = "1.9.0";
hash = "sha256-E9CK/GChd/yZT+P3ttROjL2jHtKPJ0KZzc32/nbuE4w=";
};
meta.license = lib.licenses.mit;
};

View File

@ -12,8 +12,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
publisher = "myriad-dreamin";
# Please update the corresponding binary (tinymist) when updating
# this extension.
version = "0.11.4";
hash = "sha256-VR+vl6mctwq9oSIgnfutvPFwfGUdEco8fCOjzMvPtII=";
version = "0.11.5";
hash = "sha256-p97RREGKhTeXO5s4jP8qUsLtYxOj91ddQhsk6Q+50jc=";
};
nativeBuildInputs = [

View File

@ -2,7 +2,7 @@
# libs
librsvg, sane-backends, sane-frontends,
# runtime dependencies
imagemagick, libtiff_4_5, djvulibre, poppler_utils, ghostscript, unpaper, pdftk,
imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper, pdftk,
# test dependencies
xvfb-run, liberation_ttf, file, tesseract }:
@ -82,7 +82,7 @@ perlPackages.buildPerlPackage rec {
wrapProgram "$out/bin/gscan2pdf" \
--prefix PATH : "${sane-backends}/bin" \
--prefix PATH : "${imagemagick}/bin" \
--prefix PATH : "${libtiff_4_5}/bin" \
--prefix PATH : "${libtiff}/bin" \
--prefix PATH : "${djvulibre}/bin" \
--prefix PATH : "${poppler_utils}/bin" \
--prefix PATH : "${ghostscript}/bin" \
@ -98,10 +98,7 @@ perlPackages.buildPerlPackage rec {
nativeCheckInputs = [
imagemagick
# Needs older libtiff version, because it stopped packageing tools like
# tiff2pdf and others in version 4.6. These tools are necessary for gscan2pdf.
# See commit f57a4b0ac1b954eec0c8def2a99e2a464ac6ff7a for in-depth explanation.
libtiff_4_5
libtiff
djvulibre
poppler_utils
ghostscript

View File

@ -53,7 +53,7 @@ dependencies = [
"actix-service",
"actix-utils",
"ahash",
"base64",
"base64 0.21.7",
"bitflags 2.4.1",
"brotli",
"bytes",
@ -261,6 +261,12 @@ dependencies = [
"mp4parse 0.10.1",
]
[[package]]
name = "aligned-vec"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1"
[[package]]
name = "alloc-no-stdlib"
version = "2.0.4"
@ -345,12 +351,35 @@ version = "1.0.75"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
[[package]]
name = "arbitrary"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
[[package]]
name = "arbitrary-int"
version = "1.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe8e2a586ecd6eb29477a0c25b19742acca4fa5e39c92e127656616810c20579"
[[package]]
name = "arg_enum_proc_macro"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.48",
]
[[package]]
name = "arrayvec"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
[[package]]
name = "atomic-polyfill"
version = "0.1.11"
@ -377,6 +406,29 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "av1-grain"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf"
dependencies = [
"anyhow",
"arrayvec",
"log",
"nom",
"num-rational",
"v_frame",
]
[[package]]
name = "avif-serialize"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "876c75a42f6364451a033496a14c44bffe41f5f4a8236f697391f11024e596d2"
dependencies = [
"arrayvec",
]
[[package]]
name = "az"
version = "1.2.1"
@ -404,6 +456,12 @@ version = "0.21.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
[[package]]
name = "base64"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
[[package]]
name = "base64ct"
version = "1.6.0"
@ -446,6 +504,12 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "bitstream-io"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06c9989a51171e2e81038ab168b6ae22886fe9ded214430dbb4f41c28cf176da"
[[package]]
name = "block-buffer"
version = "0.10.4"
@ -476,6 +540,12 @@ dependencies = [
"alloc-stdlib",
]
[[package]]
name = "built"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53"
[[package]]
name = "bumpalo"
version = "3.14.0"
@ -546,6 +616,16 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
[[package]]
name = "cfg-expr"
version = "0.15.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d"
dependencies = [
"smallvec",
"target-lexicon",
]
[[package]]
name = "cfg-if"
version = "1.0.0"
@ -554,9 +634,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
version = "0.4.33"
version = "0.4.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb"
checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e"
dependencies = [
"android-tzdata",
"iana-time-zone",
@ -579,9 +659,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.4.18"
version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c"
checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
dependencies = [
"clap_builder",
"clap_derive",
@ -589,9 +669,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.4.18"
version = "4.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7"
checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
dependencies = [
"anstream",
"anstyle",
@ -601,9 +681,9 @@ dependencies = [
[[package]]
name = "clap_derive"
version = "4.4.7"
version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
dependencies = [
"heck",
"proc-macro2",
@ -613,9 +693,9 @@ dependencies = [
[[package]]
name = "clap_lex"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
[[package]]
name = "claxon"
@ -822,8 +902,8 @@ dependencies = [
[[package]]
name = "enolib"
version = "0.4.1"
source = "git+https://codeberg.org/simonrepp/enolib-rs?tag=0.4.1#1ca85dc8af9f74f65b199b2ab6c5c94f5b119b93"
version = "0.4.2"
source = "git+https://codeberg.org/simonrepp/enolib-rs?tag=0.4.2#b97102e1890d91f184469f9c778d07df7d117adc"
[[package]]
name = "equivalent"
@ -849,12 +929,12 @@ dependencies = [
[[package]]
name = "faircamp"
version = "0.13.0"
version = "0.14.0"
dependencies = [
"actix-files",
"actix-web",
"alac",
"base64",
"base64 0.22.0",
"bincode",
"chrono",
"clap",
@ -1010,9 +1090,9 @@ dependencies = [
[[package]]
name = "gif"
version = "0.12.0"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2"
dependencies = [
"color_quant",
"weezl",
@ -1092,9 +1172,9 @@ dependencies = [
[[package]]
name = "heck"
version = "0.4.1"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "hermit-abi"
@ -1186,9 +1266,9 @@ dependencies = [
[[package]]
name = "id3"
version = "1.12.0"
version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ba0a11a3cf6f08d58a5629531bdb4e7c3b8b595e9812a31a7058b1176c4631e"
checksum = "79f41f7e5ad125c63d55b112a98afb753742fa7f97692bfbbc52544b89e1ff1f"
dependencies = [
"bitflags 2.4.1",
"byteorder",
@ -1207,22 +1287,43 @@ dependencies = [
[[package]]
name = "image"
version = "0.24.8"
version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11"
dependencies = [
"bytemuck",
"byteorder",
"color_quant",
"exr",
"gif",
"jpeg-decoder",
"image-webp",
"num-traits",
"png",
"qoi",
"ravif",
"rayon",
"rgb",
"tiff",
"zune-core",
"zune-jpeg",
]
[[package]]
name = "image-webp"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a84a25dcae3ac487bc24ef280f9e20c79c9b1a3e5e32cbed3041d1c514aa87c"
dependencies = [
"byteorder",
"thiserror",
]
[[package]]
name = "imgref"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44feda355f4159a7c757171a77de25daf6411e217b4cabd03bd6650690468126"
[[package]]
name = "indexmap"
version = "2.1.0"
@ -1235,9 +1336,9 @@ dependencies = [
[[package]]
name = "indoc"
version = "2.0.4"
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
[[package]]
name = "inout"
@ -1248,6 +1349,17 @@ dependencies = [
"generic-array",
]
[[package]]
name = "interpolate_name"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.48",
]
[[package]]
name = "iso_country"
version = "0.1.4"
@ -1266,6 +1378,15 @@ dependencies = [
"iso_country",
]
[[package]]
name = "itertools"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
dependencies = [
"either",
]
[[package]]
name = "itoa"
version = "1.0.9"
@ -1308,9 +1429,6 @@ name = "jpeg-decoder"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
dependencies = [
"rayon",
]
[[package]]
name = "js-sys"
@ -1356,13 +1474,24 @@ version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
[[package]]
name = "libfuzzer-sys"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7"
dependencies = [
"arbitrary",
"cc",
"once_cell",
]
[[package]]
name = "libvips"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfedc1cd1634c8bc74e91653646f4be7ec7630fcd828ae35a35272a0bbfd9e8d"
dependencies = [
"num-derive",
"num-derive 0.3.3",
"num-traits",
]
@ -1399,6 +1528,15 @@ version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
name = "loop9"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062"
dependencies = [
"imgref",
]
[[package]]
name = "malloc_buf"
version = "0.0.6"
@ -1408,6 +1546,16 @@ dependencies = [
"libc",
]
[[package]]
name = "maybe-rayon"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519"
dependencies = [
"cfg-if",
"rayon",
]
[[package]]
name = "memchr"
version = "2.6.4"
@ -1528,6 +1676,12 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
[[package]]
name = "new_debug_unreachable"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
[[package]]
name = "nom"
version = "7.1.3"
@ -1538,6 +1692,23 @@ dependencies = [
"minimal-lexical",
]
[[package]]
name = "noop_proc_macro"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8"
[[package]]
name = "num-bigint"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
dependencies = [
"autocfg",
"num-integer",
"num-traits",
]
[[package]]
name = "num-derive"
version = "0.3.3"
@ -1549,6 +1720,38 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "num-derive"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.48",
]
[[package]]
name = "num-integer"
version = "0.1.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
dependencies = [
"num-traits",
]
[[package]]
name = "num-rational"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
dependencies = [
"autocfg",
"num-bigint",
"num-integer",
"num-traits",
]
[[package]]
name = "num-traits"
version = "0.2.17"
@ -1606,9 +1809,9 @@ dependencies = [
[[package]]
name = "once_cell"
version = "1.18.0"
version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
[[package]]
name = "opus"
@ -1769,6 +1972,25 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "profiling"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58"
dependencies = [
"profiling-procmacros",
]
[[package]]
name = "profiling-procmacros"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd"
dependencies = [
"quote",
"syn 2.0.48",
]
[[package]]
name = "pulldown-cmark"
version = "0.10.0"
@ -1796,6 +2018,12 @@ dependencies = [
"bytemuck",
]
[[package]]
name = "quick-error"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
[[package]]
name = "quote"
version = "1.0.35"
@ -1835,6 +2063,56 @@ dependencies = [
"getrandom",
]
[[package]]
name = "rav1e"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9"
dependencies = [
"arbitrary",
"arg_enum_proc_macro",
"arrayvec",
"av1-grain",
"bitstream-io",
"built",
"cfg-if",
"interpolate_name",
"itertools",
"libc",
"libfuzzer-sys",
"log",
"maybe-rayon",
"new_debug_unreachable",
"noop_proc_macro",
"num-derive 0.4.2",
"num-traits",
"once_cell",
"paste",
"profiling",
"rand",
"rand_chacha",
"simd_helpers",
"system-deps",
"thiserror",
"v_frame",
"wasm-bindgen",
]
[[package]]
name = "ravif"
version = "0.11.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc13288f5ab39e6d7c9d501759712e6969fcc9734220846fc9ed26cae2cc4234"
dependencies = [
"avif-serialize",
"imgref",
"loop9",
"quick-error",
"rav1e",
"rayon",
"rgb",
]
[[package]]
name = "raw-window-handle"
version = "0.5.2"
@ -1899,6 +2177,15 @@ version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "rgb"
version = "0.8.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8"
dependencies = [
"bytemuck",
]
[[package]]
name = "rmp3"
version = "0.3.1"
@ -1963,18 +2250,18 @@ checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
[[package]]
name = "serde"
version = "1.0.196"
version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.196"
version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [
"proc-macro2",
"quote",
@ -1992,6 +2279,15 @@ dependencies = [
"serde",
]
[[package]]
name = "serde_spanned"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
dependencies = [
"serde",
]
[[package]]
name = "serde_urlencoded"
version = "0.7.1"
@ -2041,6 +2337,15 @@ version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
[[package]]
name = "simd_helpers"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6"
dependencies = [
"quote",
]
[[package]]
name = "slab"
version = "0.4.9"
@ -2099,9 +2404,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "strsim"
version = "0.10.0"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
[[package]]
name = "subtle"
@ -2131,6 +2436,25 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "system-deps"
version = "6.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349"
dependencies = [
"cfg-expr",
"heck",
"pkg-config",
"toml",
"version-compare",
]
[[package]]
name = "target-lexicon"
version = "0.12.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
[[package]]
name = "thiserror"
version = "1.0.50"
@ -2208,9 +2532,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
version = "1.36.0"
version = "1.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
dependencies = [
"backtrace",
"bytes",
@ -2250,6 +2574,40 @@ dependencies = [
"tracing",
]
[[package]]
name = "toml"
version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
"toml_edit",
]
[[package]]
name = "toml_datetime"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
version = "0.22.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
dependencies = [
"indexmap",
"serde",
"serde_spanned",
"toml_datetime",
"winnow",
]
[[package]]
name = "tracing"
version = "0.1.40"
@ -2329,12 +2687,29 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
name = "v_frame"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b"
dependencies = [
"aligned-vec",
"num-traits",
"wasm-bindgen",
]
[[package]]
name = "v_htmlescape"
version = "0.15.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c"
[[package]]
name = "version-compare"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
[[package]]
name = "version_check"
version = "0.9.4"
@ -2423,9 +2798,9 @@ dependencies = [
[[package]]
name = "webbrowser"
version = "0.8.12"
version = "0.8.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71"
checksum = "d1b04c569c83a9bb971dd47ec6fd48753315f4bf989b9b04a2e7ca4d7f0dc950"
dependencies = [
"core-foundation",
"home",
@ -2440,9 +2815,9 @@ dependencies = [
[[package]]
name = "weezl"
version = "0.1.7"
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
[[package]]
name = "winapi"
@ -2673,6 +3048,15 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
[[package]]
name = "winnow"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
dependencies = [
"memchr",
]
[[package]]
name = "zerocopy"
version = "0.7.27"
@ -2760,6 +3144,12 @@ dependencies = [
"pkg-config",
]
[[package]]
name = "zune-core"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a"
[[package]]
name = "zune-inflate"
version = "0.2.54"
@ -2768,3 +3158,12 @@ checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
dependencies = [
"simd-adler32",
]
[[package]]
name = "zune-jpeg"
version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448"
dependencies = [
"zune-core",
]

View File

@ -16,20 +16,20 @@
rustPlatform.buildRustPackage rec {
pname = "faircamp";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "simonrepp";
repo = "faircamp";
rev = version;
hash = "sha256-Q0jsqOWeXEfekegxYvq3oIIuVMGyeKL1no2Jh4JByD0=";
hash = "sha256-gHlm5ZQ5u+gOSBERlg6iYJxGTfs/+L4y2TY+ZOsVYh8=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"enolib-0.4.1" = "sha256-Uz9AXksD3YO6PjSr29RZCQjdoPiFBTXecbE0fluA0LU=";
"enolib-0.4.2" = "sha256-FJuWKcwjoi/wKfTzxghobNWblhnKRdUvHOejhpCF7kY=";
};
};

View File

@ -1,43 +1,76 @@
{ lib, stdenv, fetchurl, jdk, jre, ant }:
{
lib,
stdenv,
fetchurl,
ant,
jdk,
jre,
makeWrapper,
stripJavaArchivesHook,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "freemind";
version = "1.0.1";
src = fetchurl {
url = "mirror://sourceforge/freemind/freemind-src-${version}.tar.gz";
sha256 = "06c6pm7hpwh9hbmyah3lj2wp1g957x8znfwc5cwygsi7dc98b0h1";
url = "mirror://sourceforge/freemind/freemind-src-${finalAttrs.version}.tar.gz";
hash = "sha256-AYKFEmsn6uc5K4w7+1E/Jb1wuZB0QOXrggnyC0+9hhk=";
};
buildInputs = [ jdk ant ];
nativeBuildInputs = [
ant
jdk
makeWrapper
stripJavaArchivesHook
];
postPatch = ''
# disable the <buildnumer> task because it would edit version.properties
# and add a "last edited" header to it, which is non-deterministic
sed -i '/<buildnumber/d' build.xml
# replace dependency on `which`
substituteInPlace freemind.sh \
--replace-fail "which" "type -p"
'';
preConfigure = ''
chmod +x check_for_duplicate_resources.sh
sed 's,/bin/bash,${stdenv.shell},' -i check_for_duplicate_resources.sh
## work around javac encoding errors
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
chmod +x *.sh
patchShebangs *.sh
'';
buildPhase = "ant dist";
# Workaround for javac encoding errors
# Note: not sure if this is still needed
env.JAVA_TOOL_OPTIONS = "-Dfile.encoding=UTF8";
buildPhase = ''
runHook preBuild
ant build
runHook postBuild
'';
installPhase = ''
mkdir -p $out/{bin,nix-support}
cp -r ../bin/dist $out/nix-support
sed -i 's/which/type -p/' $out/nix-support/dist/freemind.sh
cat >$out/bin/freemind <<EOF
#! ${stdenv.shell}
JAVA_HOME=${jre} $out/nix-support/dist/freemind.sh
EOF
chmod +x $out/{bin/freemind,nix-support/dist/freemind.sh}
runHook preInstall
ant dist -Ddist=$out/share/freemind
runHook postInstall
'';
meta = with lib; {
postFixup = ''
makeWrapper $out/share/freemind/freemind.sh $out/bin/freemind \
--set JAVA_HOME ${jre}
'';
meta = {
description = "Mind-mapping software";
mainProgram = "freemind";
homepage = "https://freemind.sourceforge.net/wiki/index.php/Main_Page";
license = licenses.gpl2Plus;
platforms = platforms.linux;
mainProgram = "freemind";
maintainers = with lib.maintainers; [ tomasajt ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode # source bundles dependencies as jars
];
};
}
})

View File

@ -7,10 +7,10 @@
, desktopToDarwinBundle
, webkitgtk_6_0
, sqlite
, gi-crystal
, libadwaita
, gtk4
, pango
, substituteAll
}:
let
gtk4' = gtk4.override { x11Support = true; };
@ -18,42 +18,40 @@ let
in
crystal.buildCrystalPackage rec {
pname = "rtfm";
version = "0.2.4";
version = "0.4.1";
src = fetchFromGitHub {
owner = "hugopl";
repo = "rtfm";
rev = "v${version}";
name = "rtfm";
hash = "sha256-IfI7jYM1bsrCq2NiANv/SWkCjPyT/HYUofJMUYy0Sbk=";
hash = "sha256-cloaGlHjtwrjuPGzAG55B58w307R+TO+MixAWTw2ags=";
};
patches = [
# 1) fixed gi-crystal binding generator command
# 2) removed `-v` arg to `cp` command to prevent build failure due to stdout buffer overflow
# 2) fixed docset generator command
# 3) added commands to build gschemas and update icon-cache
./patches/make.patch
# fixed docset path and gi libs directory names
./patches/friendly-docs-path.patch
(substituteAll {
src = ./make.patch;
inherit crystal;
})
# added chmod +w for copied docs to prevent error:
# `Error opening file with mode 'wb': '.../style.css': Permission denied`
./patches/enable-write-permissions.patch
./enable-write-permissions.patch
];
postPatch = ''
substituteInPlace Makefile \
--replace "crystal run src/create_crystal_docset.cr" "crystal src/create_crystal_docset.cr ${crystal}/share/doc/crystal/api/" \
--replace "crystal run src/create_gtk_docset.cr" "crystal src/create_gtk_docset.cr gtk-doc/"
substituteInPlace src/doc2dash/create_gtk_docset.cr \
--replace-fail 'basedir = Path.new("/usr/share/doc")' 'basedir = Path.new(ARGV[0]? || "gtk-docs")'
'';
shardsFile = ./shards.nix;
copyShardDeps = true;
nativeBuildInputs = [
wrapGAppsHook4
gobject-introspection
gi-crystal
] ++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ];
buildInputs = [
@ -86,6 +84,7 @@ crystal.buildCrystalPackage rec {
description = "Dash/docset reader with built in documentation for Crystal and GTK APIs";
homepage = "https://github.com/hugopl/rtfm/";
license = licenses.mit;
mainProgram = "rtfm";
maintainers = with maintainers; [ sund3RRR ];
};
}

View File

@ -1,5 +1,5 @@
--- a/src/doc2dash/doc_set_builder.cr 2023-07-19 14:00:06.864770147 +0300
+++ b/src/doc2dash/doc_set_builder.cr 2023-07-19 13:59:35.440707740 +0300
--- a/src/doc2dash/docset_builder.cr 2024-04-20 10:45:32.000673168 +0300
+++ b/src/doc2dash/docset_builder.cr 2024-04-20 10:45:56.072895349 +0300
@@ -44,6 +44,7 @@
real_dest = @html_dest.join(dest || source)
Dir.mkdir_p(Path.new(real_dest).dirname)

View File

@ -0,0 +1,39 @@
--- a/Makefile 2024-04-20 10:28:36.697545022 +0300
+++ b/Makefile 2024-04-20 10:37:55.591657540 +0300
@@ -7,8 +7,10 @@
shards build --debug -Dpreview_mt
configure:
- shards install
- ./bin/gi-crystal
+ mkdir bin/
+ cd lib/gi-crystal && shards build -Dpreview_mt --release --no-debug
+ cd ../..
+ cp lib/gi-crystal/bin/gi-crystal bin/ && ./bin/gi-crystal
rtfm:
shards build --release -Dpreview_mt rtfm
@@ -16,10 +18,10 @@
docsets: crystal-docset gtk-docset
crystal-docset:
- crystal run src/doc2dash/create_crystal_docset.cr
+ crystal src/doc2dash/create_crystal_docset.cr "@crystal@/share/doc/crystal/api"
gtk-docset:
- crystal run src/doc2dash/create_gtk_docset.cr
+ crystal src/doc2dash/create_gtk_docset.cr "gtk-doc/"
test: crystal-docset gtk-docset
crystal spec
@@ -28,8 +30,10 @@
install -D -m 0755 bin/rtfm $(DESTDIR)$(PREFIX)/bin/rtfm
install -D -m 0644 data/io.github.hugopl.rtfm.desktop $(DESTDIR)$(PREFIX)/share/applications/io.github.hugopl.rtfm.desktop
install -D -m 0644 data/icons/hicolor/scalable/apps/io.github.hugopl.rtfm.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/io.github.hugopl.rtfm.svg
+ gtk4-update-icon-cache --ignore-theme-index $(PREFIX)/share/icons/hicolor
# Settings schema
install -D -m644 data/io.github.hugopl.rtfm.gschema.xml $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas/io.github.hugopl.rtfm.gschema.xml
+ glib-compile-schemas $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas
# docsets
mkdir -p $(DESTDIR)$(PREFIX)/share/rtfm/docsets/
cp -r data/Crystal.docset $(DESTDIR)$(PREFIX)/share/rtfm/docsets/

View File

@ -1,11 +0,0 @@
--- a/src/create_gtk_docset.cr 2023-07-17 14:28:04.882620660 +0300
+++ b/src/create_gtk_docset.cr 2023-07-17 14:27:09.660643747 +0300
@@ -136,7 +136,7 @@
end
def find_modules : Array(Path)
- basedir = Path.new("/usr/share/doc")
+ basedir = Path.new(ARGV[0]? || "gtk-docs")
MODULES.compact_map do |mod|
print "#{mod.ljust(20, '.')}"
mod_dir = basedir.join(mod)

View File

@ -1,21 +0,0 @@
--- a/Makefile 2023-12-07 23:37:38.984501858 +0300
+++ b/Makefile 2023-12-07 23:47:52.884456064 +0300
@@ -4,8 +4,7 @@
all: configure .WAIT rtfm docsets
configure:
- shards install
- ./bin/gi-crystal
+ gi-crystal
rtfm:
shards build --release -s rtfm
@@ -36,6 +35,8 @@
# Changelog
install -D -m0644 CHANGELOG.md $(DESTDIR)$(PREFIX)/share/doc/rtfm/CHANGELOG.md
gzip -9fn $(DESTDIR)$(PREFIX)/share/doc/rtfm/CHANGELOG.md
+ gtk4-update-icon-cache --ignore-theme-index $(PREFIX)/share/icons/hicolor
+ glib-compile-schemas $(DESTDIR)$(PREFIX)/share/glib-2.0/schemas
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/rtfm

View File

@ -6,18 +6,18 @@
};
fzy = {
url = "https://github.com/hugopl/fzy.git";
rev = "v0.5.5";
sha256 = "1zk95m43ymx9ilwr6iw9l44nkmp4sas28ib0dkr07hkhgrkw68sv";
rev = "6c2395bcdea1889969d0d08c16163c276fe4e473";
sha256 = "0vpradafkwckfsq7wqrgkpsli7bfmgc27d38q06l1jzq0z0j92rw";
};
gio = {
url = "https://github.com/hugopl/gio.cr.git";
rev = "v0.2.1";
sha256 = "0vl5lpvhhdi9pvyl12smag0i3dwj1jjz1zzilc8ai0wjrnbnwlxs";
gi-crystal = {
url = "https://github.com/hugopl/gi-crystal.git";
rev = "v0.22.2";
sha256 = "0bpa1f8iaf97z2kbgjc7nc8km7nd7bppiwna319lm2hvm8m5pw15";
};
gtk4 = {
url = "https://github.com/hugopl/gtk4.cr.git";
rev = "v0.16.0";
sha256 = "1bnnfy07246vwbjfwhziv2yw1g52pzhhrr25660fp3qcnw8q513w";
rev = "v0.16.1";
sha256 = "1cqkbh072y70l8g0p040vf50k920p32ry1larnwn9mqabd74jwaj";
};
harfbuzz = {
url = "https://github.com/hugopl/harfbuzz.cr.git";
@ -31,8 +31,8 @@
};
pango = {
url = "https://github.com/hugopl/pango.cr.git";
rev = "v0.3.0";
sha256 = "1dg5bcbq11zww4xh68dq4ivnsz89yqsnxz81ggp4j9c9d6dhx0m4";
rev = "v0.3.1";
sha256 = "0xlf127flimnll875mcq92q7xsi975rrgdpcpmnrwllhdhfx9qmv";
};
sqlite3 = {
url = "https://github.com/crystal-lang/crystal-sqlite3.git";

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kubevpn";
version = "2.2.5";
version = "2.2.6";
src = fetchFromGitHub {
owner = "KubeNetworks";
repo = "kubevpn";
rev = "v${version}";
hash = "sha256-I4szQNRBW3M+QNwsfkJZlrZL3jJXcXmD2KnFF/E+jaE=";
hash = "sha256-Z+IXSmN1V0xRnhE/PpWv9dQIwfTztJRYaftY9KCIucc=";
};
vendorHash = null;

View File

@ -27,14 +27,14 @@
buildPythonApplication rec {
pname = "protonvpn-gui";
version = "4.1.10";
version = "4.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "proton-vpn-gtk-app";
rev = "refs/tags/v${version}";
hash = "sha256-D06dMMjzFE7gIGFpIH/+0xmVCckqAWLkb3lc2ZmxNZs=";
hash = "sha256-H4m4u9zksab47W5aIsQZPQTPEYiXbmrVCnT67b+A5Tc=";
};
nativeBuildInputs = [

View File

@ -44,6 +44,11 @@ rustPlatform.buildRustPackage rec {
etc/completion/completion.{bash,fish,zsh}
'';
# test_env_parsing_with_pager_set_to_bat sets environment variables,
# which can be flaky with multiple threads:
# https://github.com/dandavison/delta/issues/1660
dontUseCargoParallelTests = true;
checkFlags = lib.optionals stdenv.isDarwin [
"--skip=test_diff_same_non_empty_file"
];

View File

@ -12,10 +12,9 @@ rustPlatform.buildRustPackage rec {
};
postPatch = ''
# unknown lint: `ffi_unwind_calls`
# note: the `ffi_unwind_calls` lint is unstable
substituteInPlace src/main.rs src/{config,core,display,input,git,runtime,todo_file,testutils,view}/src/lib.rs \
--replace "ffi_unwind_calls," ""
# error: lint `unused_tuple_struct_fields` has been renamed to `dead_code`
substituteInPlace scripts/data/lints.rs src/main.rs src/{config,core,display,git,input,runtime,testutils,todo_file,view}/src/lib.rs \
--replace-fail "unused_tuple_struct_fields," ""
'';
cargoLock = {

View File

@ -23,13 +23,13 @@
stdenv.mkDerivation rec {
pname = "advanced-scene-switcher";
version = "1.25.4";
version = "1.25.5";
src = fetchFromGitHub {
owner = "WarmUpTill";
repo = "SceneSwitcher";
rev = version;
hash = "sha256-d/utejwSazepkIMzd1tRrJSrKRFhFRZsQBGiOkt5pYk=";
hash = "sha256-ROR+R1Zak8XkhFk1+Pyi0lB+JZI4SVtKGin4vem7NEE=";
};
nativeBuildInputs = [

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchurl
, nixosTests
, directoryListingUpdater
, meson
, ninja
@ -59,7 +60,10 @@ stdenv.mkDerivation rec {
ln -s '${phosh}/lib/phosh' "$out/lib/phosh"
'';
passthru.updateScript = directoryListingUpdater { };
passthru = {
tests.phosh = nixosTests.phosh;
updateScript = directoryListingUpdater { };
};
meta = with lib; {
description = "A settings app for mobile specific things";

View File

@ -315,6 +315,7 @@
# D DUB
dub = [
"https://code.dlang.org/packages/"
"https://codemirror.dlang.org/packages/"
];
# Haskell Hackage

View File

@ -7,7 +7,7 @@
telegram-desktop.overrideAttrs (old: rec {
pname = "64gram";
version = "1.1.18";
version = "1.1.19";
src = fetchFromGitHub {
owner = "TDesktop-x64";
@ -15,7 +15,7 @@ telegram-desktop.overrideAttrs (old: rec {
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-sURnKOcg+pwU1Nw6yqtoPaRD1kpg93/VNh7UYi2IIwU=";
hash = "sha256-9QCh7/eNPWqsOF+cjO61EnqqhAdy6+4UxZhWjfJc5gQ=";
};
passthru.updateScript = nix-update-script {};

View File

@ -0,0 +1,33 @@
{ lib, rustPlatform, fetchFromGitHub, installShellFiles }:
rustPlatform.buildRustPackage rec {
pname = "ab-av1";
version = "0.7.14";
src = fetchFromGitHub {
owner = "alexheretic";
repo = "ab-av1";
rev = "v${version}";
hash = "sha256-cDabGXNzusVnp4exINqUitEL1HnzSgpcRtYXU5pSRhY=";
};
cargoHash = "sha256-sW/673orvK+mIUqTijpNh4YGd9ZrgSveGT6F1O5OYfI=";
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion --cmd ab-av1 \
--bash <($out/bin/ab-av1 print-completions bash) \
--fish <($out/bin/ab-av1 print-completions fish) \
--zsh <($out/bin/ab-av1 print-completions zsh)
'';
meta = with lib; {
description = "AV1 re-encoding using ffmpeg, svt-av1 & vmaf";
homepage = "https://github.com/alexheretic/ab-av1";
changelog = "https://github.com/alexheretic/ab-av1/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = [ maintainers.marsam ];
mainProgram = "ab-av1";
};
}

View File

@ -0,0 +1,35 @@
<?php
namespace nixos {
function adminer_object() {
require_once(__DIR__ . '/plugins/plugin.php');
$plugins = [];
if (file_exists(__DIR__ . '/plugins.json')) {
$names = json_decode(file_get_contents(__DIR__ . '/plugins.json'), true);
foreach ($names as $name) {
$plugin = __DIR__ . '/plugins/' . $name . '.php';
if (is_readable($plugin)) {
require($plugin);
preg_match_all('/(\w+)/', $name, $matches);
$className = 'Adminer'. implode('', array_map('ucfirst', $matches[1]));
$plugins[] = new $className;
}
}
}
return new \AdminerPlugin($plugins);
}
}
namespace {
function adminer_object() {
return \nixos\adminer_object();
}
require(__DIR__ . '/adminer.php');
}

View File

@ -0,0 +1,73 @@
{ lib
, pkgs
, stdenvNoCC
, fetchFromGitHub
, php
, nix-update-script
, theme ? null
, plugins ? []
}:
stdenvNoCC.mkDerivation (finalAttrs: {
version = "4.8.4";
pname = "adminerevo";
src = fetchFromGitHub {
owner = "adminerevo";
repo = "adminerevo";
rev = "v${finalAttrs.version}";
hash = "sha256-cyKSwzoVbS/0Fiv02kFIF4MTOqzpKSEFwwUwS4yqL6Q=";
fetchSubmodules = true;
};
nativeBuildInputs = [
php
];
buildPhase = ''
runHook preBuild
php compile.php
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir $out
cp adminer-${finalAttrs.version}.php $out/adminer.php
cp ${./index.php} $out/index.php
${lib.optionalString (theme != null) ''
cp designs/${theme}/adminer.css $out/adminer.css
''}
# Copy base plugin
mkdir -p $out/plugins
cp plugins/plugin.php $out/plugins/plugin.php
${lib.optionalString (plugins != []) ''
cp plugins/*.php $out/plugins/
cp ${pkgs.writeText "$out/plugins.json" ''
${toString (builtins.toJSON plugins)}
''} $out/plugins.json
''}
runHook postInstall
'';
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Database management in a single PHP file";
homepage = "https://docs.adminerevo.org";
license = with licenses; [ asl20 gpl2Only ];
maintainers = with maintainers; [
shyim
];
platforms = platforms.all;
};
})

View File

@ -0,0 +1,63 @@
{ lib
, stdenv
, fetchFromGitHub
, makeWrapper
, perl
, perlPackages
, tayga
, iproute2
, iptables
}:
stdenv.mkDerivation rec {
pname = "clatd";
version = "1.6";
src = fetchFromGitHub {
owner = "toreanderson";
repo = "clatd";
rev = "v${version}";
hash = "sha256-ZUGWQTXXgATy539NQxkZSvQA7HIWkIPsw1NJrz0xKEg=";
};
strictDeps = true;
nativeBuildInputs = [
makeWrapper
perl # for pod2man
];
buildInputs = with perlPackages; [
perl
NetIP
NetDNS
];
makeFlags = [ "PREFIX=$(out)" ];
preBuild = ''
mkdir -p $out/{sbin,share/man/man8}
'';
postFixup = ''
patchShebangs $out/bin/clatd
wrapProgram $out/bin/clatd \
--set PERL5LIB $PERL5LIB \
--prefix PATH : ${
lib.makeBinPath [
tayga
iproute2
iptables
]
}
'';
meta = with lib; {
description = "A 464XLAT CLAT implementation for Linux";
homepage = "https://github.com/toreanderson/clatd";
license = licenses.mit;
maintainers = with maintainers; [ jmbaur ];
mainProgram = "clatd";
platforms = platforms.linux;
};
}

View File

@ -217,9 +217,9 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
[[package]]
name = "chrono"
version = "0.4.37"
version = "0.4.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e"
checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
dependencies = [
"android-tzdata",
"iana-time-zone",
@ -354,7 +354,7 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
[[package]]
name = "crunchy-cli"
version = "3.4.3"
version = "3.5.0"
dependencies = [
"chrono",
"clap",
@ -367,7 +367,7 @@ dependencies = [
[[package]]
name = "crunchy-cli-core"
version = "3.4.3"
version = "3.5.0"
dependencies = [
"anyhow",
"async-speed-limit",
@ -404,9 +404,9 @@ dependencies = [
[[package]]
name = "crunchyroll-rs"
version = "0.10.7"
version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3eaf93641a3697ba4cd6845b3a741089f4b4c692a91ed40dece6d7376c419ef9"
checksum = "ccd0a624f3f8ec3fb7af8d83b907142aaee1858579ab697f24f05d00736e5bb2"
dependencies = [
"async-trait",
"chrono",
@ -430,9 +430,9 @@ dependencies = [
[[package]]
name = "crunchyroll-rs-internal"
version = "0.10.7"
version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48daba6fe0296c2b400cd6545cf2e8ee23870f1a5a35291fa2d61987098a5692"
checksum = "85c3614a871ec25ab17425405b08aea3c5869597e2348302b922c2a077aa9c3a"
dependencies = [
"darling",
"quote",
@ -486,9 +486,9 @@ dependencies = [
[[package]]
name = "dash-mpd"
version = "0.16.0"
version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6cafa2c33eff2857e1a14c38aa9a432aa565a01e77804a541fce7aec3affb8f8"
checksum = "79b4bdd5f1c0c7493d780c645f0bff5b9361e6408210fa88910adb181efca64c"
dependencies = [
"base64 0.22.0",
"base64-serde",
@ -831,9 +831,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
[[package]]
name = "hyper"
version = "1.2.0"
version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a"
checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d"
dependencies = [
"bytes",
"futures-channel",
@ -1375,9 +1375,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
version = "1.0.79"
version = "1.0.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
dependencies = [
"unicode-ident",
]
@ -1459,9 +1459,9 @@ checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
[[package]]
name = "reqwest"
version = "0.12.3"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19"
checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
dependencies = [
"base64 0.22.0",
"bytes",
@ -1576,9 +1576,9 @@ dependencies = [
[[package]]
name = "rustls"
version = "0.22.3"
version = "0.22.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c"
checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
dependencies = [
"log",
"ring",
@ -1668,18 +1668,18 @@ dependencies = [
[[package]]
name = "serde"
version = "1.0.197"
version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.197"
version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
dependencies = [
"proc-macro2",
"quote",
@ -1688,9 +1688,9 @@ dependencies = [
[[package]]
name = "serde_json"
version = "1.0.115"
version = "1.0.116"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
dependencies = [
"itoa",
"ryu",
@ -1838,9 +1838,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
[[package]]
name = "syn"
version = "2.0.58"
version = "2.0.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
dependencies = [
"proc-macro2",
"quote",

View File

@ -10,13 +10,13 @@
rustPlatform.buildRustPackage rec {
pname = "crunchy-cli";
version = "3.4.3";
version = "3.5.0";
src = fetchFromGitHub {
owner = "crunchy-labs";
repo = "crunchy-cli";
rev = "v${version}";
hash = "sha256-/7zJbmMPoHEpcsDPe1eVenxGenPCU6CcHE8nTBTHil8=";
hash = "sha256-ykE4TqsBv6VEOgwKixo8IvgJt8CwCSTl5DcKfNGycdI=";
};
cargoLock = {

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "doublecmd";
version = "1.1.12";
version = "1.1.13";
src = fetchFromGitHub {
owner = "doublecmd";
repo = "doublecmd";
rev = "v${finalAttrs.version}";
hash = "sha256-8wwYyZ9Uq65jEmgA1yO001YSZuDLnXLrFjK6WIsppwU=";
hash = "sha256-QJPLDqdXttUSeCm1QpQ7oFgvDmzStz9maW0c5xhOLtg=";
};
nativeBuildInputs = [

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation {
pname = "dublin-traceroute";
version = "0.4.2-unstable-2024-01-09";
version = "0.4.2-unstable-2024-04-11";
src = fetchFromGitHub {
owner = "insomniacslk";
repo = "dublin-traceroute";
rev = "b136db81cfbb30d5fd324dfccc97fca49a5ecee1";
hash = "sha256-FsolpeQGaLDjDE5Yk58t2hFQJgM58zafIx6s5ejYKnY=";
rev = "a92118d93fd1fa7bdb827e741dd848b7f7083a1e";
hash = "sha256-UJeFPVi3423Jh72fVk8QbLX1tTNAQ504xYs9HwVCkZc=";
};
nativeBuildInputs = [ cmake pkg-config ];
@ -37,5 +37,6 @@ stdenv.mkDerivation {
maintainers = with maintainers; [ baloo ];
platforms = platforms.unix;
mainProgram = "dublin-traceroute";
broken = stdenv.isDarwin;
};
}

View File

@ -22,7 +22,7 @@
, zlib
}:
let
version = "2.82.0";
version = "2.82.1";
fakeGit = writeShellApplication {
name = "git";
@ -41,7 +41,7 @@ stdenv.mkDerivation {
owner = "etlegacy";
repo = "etlegacy";
rev = "refs/tags/v${version}";
hash = "sha256-yNVVEa+3+Swm3hgwm9cSLV0K88E37TgVVjh1uUl8O2o=";
hash = "sha256-DA5tudbehXIU+4hX3ggcxWZ7AAOa8LUkIvUHbgMgDY8=";
};
nativeBuildInputs = [

View File

@ -7,7 +7,7 @@
symlinkJoin {
name = "etlegacy";
version = "2.82.0";
version = "2.82.1";
paths = [
etlegacy-assets
etlegacy-unwrapped

View File

@ -0,0 +1,70 @@
{ stdenv
, lib
, fetchFromGitea
, godot3-headless
, godot3-export-templates
, godot3
, makeWrapper
, just
, inkscape
, imagemagick
}:
stdenv.mkDerivation rec {
pname = "find-billy";
version = "0.37.3";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "annaaurora";
repo = "Find-Billy";
rev = "v${version}";
hash = "sha256-z1GR5W67LJb5z+u/qeFZreMK4B6PjB18coecLCYFHy8=";
};
strictDeps = true;
nativeBuildInputs = [ godot3-headless makeWrapper just inkscape imagemagick ];
postPatch = ''
substituteInPlace export_presets.cfg --replace 'res://build/icons/usr/share/icons/hicolor' $out/share/icons/hicolor
substituteInPlace project.godot --replace 'res://build/icons/usr/share/icons/hicolor' $out/share/icons/hicolor
substituteInPlace justfile --replace '{{build_icons_dir}}/usr' $out
'';
buildPhase = ''
runHook preBuild
# Cannot create file `/homeless-shelter/.config/godot/projects/...`
export HOME=$TMPDIR
# Link the export-templates to the expected location. The `--export` option expects the templates in the home directory.
mkdir -p $HOME/.local/share/godot
ln -s ${godot3-export-templates}/share/godot/templates $HOME/.local/share/godot
mkdir -p $out/share/find-billy
godot3-headless --export-pack 'Linux/X11' $out/share/${pname}/${pname}.pck
makeWrapper ${godot3}/bin/godot3 $out/bin/${pname} \
--add-flags "--main-pack" \
--add-flags "$out/share/${pname}/${pname}.pck"
runHook postBuild
'';
installPhase = ''
runHook preInstall
just build-icons
install -D ${pname}.desktop -t $out/share/applications
runHook postInstall
'';
meta = with lib; {
description = "A 2 dimensional Pixel Art Jump & Run";
homepage = "https://codeberg.org/annaaurora/Find-Billy";
license = licenses.gpl3Plus;
platforms = [ "x86_64-linux" ];
maintainers = [ maintainers.annaaurora ];
};
}

View File

@ -1,22 +1,26 @@
{ lib
, rustPlatform
, fetchFromGitHub
, makeWrapper
, pkg-config
, installShellFiles
, firefox-unwrapped
, openssl
, stdenv
, udev
, libva
, mesa
, libnotify
, xorg
, cups
, pciutils
, libcanberra-gtk3
, extraLibs ? [ ]
, nixosTests
{
extraLibs ? [ ],
lib,
fetchFromGitHub,
installShellFiles,
makeWrapper,
rustPlatform,
cups,
firefox-unwrapped,
libcanberra-gtk3,
libglvnd,
libnotify,
libva,
mesa,
nixosTests,
openssl,
pciutils,
pkg-config,
stdenv,
udev,
xorg,
}:
rustPlatform.buildRustPackage rec {
@ -47,7 +51,11 @@ rustPlatform.buildRustPackage rec {
sed -i $'s;DISTRIBUTION_VERSION = \'0.0.0\';DISTRIBUTION_VERSION = \'${version}\';' userchrome/profile/chrome/pwa/chrome.jsm
'';
nativeBuildInputs = [ makeWrapper pkg-config installShellFiles ];
nativeBuildInputs = [
installShellFiles
makeWrapper
pkg-config
];
buildInputs = [ openssl ];
FFPWA_EXECUTABLES = ""; # .desktop entries generated without any store path references
@ -55,7 +63,23 @@ rustPlatform.buildRustPackage rec {
completions = "target/${stdenv.targetPlatform.config}/release/completions";
gtk_modules = map (x: x + x.gtkModule) [ libcanberra-gtk3 ];
libs = let libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver cups pciutils ] ++ gtk_modules ++ extraLibs; in lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutput "lib" "lib64" libs;
libs =
let
libs =
lib.optionals stdenv.isLinux [
cups
libglvnd
libnotify
libva
mesa
pciutils
udev
xorg.libXScrnSaver
]
++ gtk_modules
++ extraLibs;
in
lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutput "lib" "lib64" libs;
postInstall = ''
# Runtime
@ -127,7 +151,11 @@ rustPlatform.buildRustPackage rec {
changelog = "https://github.com/filips123/PWAsForFirefox/releases/tag/v${version}";
license = licenses.mpl20;
platforms = platforms.unix;
maintainers = with maintainers; [ camillemndn pasqui23 ];
maintainers = with maintainers; [
adamcstephens
camillemndn
pasqui23
];
mainProgram = "firefoxpwa";
};
}

View File

@ -43,14 +43,14 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "gamescope";
version = "3.14.3";
version = "3.14.4";
src = fetchFromGitHub {
owner = "ValveSoftware";
repo = "gamescope";
rev = "refs/tags/${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-+6RyrdHRDk9aeM52wcgLo966jP70EAiXSMR3sffNeZM=";
hash = "sha256-kmi+3EH5h5kQeyTB3RnnndPn+akHFAF0N7Gt/aCOdcs=";
};
patches = [

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "go-camo";
version = "2.4.11";
version = "2.4.12";
src = fetchFromGitHub {
owner = "cactus";
repo = pname;
rev = "v${version}";
sha256 = "sha256-wgneDCBiHg9M1PtLHFxEXRhK9fBNKPWQwV0fwUFxEgQ=";
sha256 = "sha256-rlzAx6xjV4JR3RDL+Kr2ghN3qpfIRqVZ5z/SyDBBaIc=";
};
vendorHash = "sha256-duTW42UL8EtnxUvPr2GXHKcaGQ3d0u2maMzSIOHIxxI=";
vendorHash = "sha256-iyZNOooPH1jvT+S9/ETRoXsTwXUIUi1UKmDzhB7NRuE=";
ldflags = [ "-s" "-w" "-X=main.ServerVersion=${version}" ];

View File

@ -16,7 +16,6 @@ in
buildGoModule {
inherit
meta
patches
pname
src
@ -39,4 +38,8 @@ buildGoModule {
# don't run the full incus test suite
doCheck = false;
meta = meta // {
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}

View File

@ -11,14 +11,17 @@ maven.buildMavenPackage rec {
hash = "sha256-vdvKHTTD84OAQacv/VE/5BxYdW4n3bxPUHF2MdH+sQQ=";
};
mvnHash = "sha256-Cl7P2i4VFJ/yk7700u62YPcacfKkhBztFvcDkYBfZEA=";
patches = [ ./pin-default-maven-plugin-versions.patch ];
mvnHash = "sha256-iw28HS0WMFC9BKQKr0v33D77rMQeIMKjXduqPcYU1XA=";
mvnParameters = "-Dproject.build.outputTimestamp=1980-01-01T00:00:02Z";
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -Dm644 core/target/ktfmt-*-jar-with-dependencies.jar $out/share/ktfmt/ktfmt.jar
makeWrapper ${jre_headless}/bin/java $out/bin/ktfmt \

View File

@ -0,0 +1,60 @@
diff --git a/core/pom.xml b/core/pom.xml
index 267689e..6b6e04d 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -34,6 +34,55 @@
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>3.4.1</version>
+ <executions>
+ <execution>
+ <id>require-all-plugin-versions-to-be-set</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requirePluginVersions />
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>3.2.5</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>3.3.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>3.1.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>4.0.0-M13</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>3.3.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>3.1.1</version>
+ </plugin>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>

View File

@ -0,0 +1,48 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, makeWrapper
, bash
, coreutils
, diffutils
, gawk
, gnugrep
, gnused
, host
, netcat-openbsd
}:
stdenvNoCC.mkDerivation {
pname = "lbd";
version = "0-unstable-2024-02-17";
src = fetchFromGitHub {
owner = "D3vil0p3r";
repo = "lbd";
rev = "73baaaecddcd834d43d79f50f0808b779c9a97c3";
hash = "sha256-NHY3NoPigsmfRjOx9Lt3/fGsyeq1/bzKHIXMDBJiI6c=";
};
nativeBuildInputs = [
makeWrapper
];
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share/lbd}
cp lbd $out/share/lbd/
makeWrapper ${lib.getExe bash} $out/bin/lbd \
--prefix PATH : "${lib.makeBinPath [ coreutils diffutils gawk gnugrep gnused host netcat-openbsd ]}" \
--add-flags "$out/share/lbd/lbd"
runHook postInstall
'';
meta = with lib; {
description = "Detect if a domain uses DNS and/or HTTP Load-Balancing";
mainProgram = "lbd";
homepage = "https://github.com/D3vil0p3r/lbd";
maintainers = with maintainers; [ d3vil0p3r ];
platforms = platforms.unix;
license = licenses.gpl2Plus;
};
}

View File

@ -12,7 +12,7 @@
}:
let
version = "7.3.1";
version = "7.4.0";
in
# The output of the derivation is a tool to create bootable images using Limine
# as bootloader for various platforms and corresponding binary and helper files.
@ -24,7 +24,7 @@ stdenv.mkDerivation {
# Packaging that in Nix is very cumbersome.
src = fetchurl {
url = "https://github.com/limine-bootloader/limine/releases/download/v${version}/limine-${version}.tar.gz";
sha256 = "sha256-xlOBBb281W9QT5Fv2Hgw/eyh7K3oyaNY1yU6WktbFro=";
sha256 = "sha256-lPesgQENZkMbxl/4sh+wTR21QfPJg57CDmqTwcy4b2k=";
};
nativeBuildInputs = [
@ -58,6 +58,7 @@ stdenv.mkDerivation {
# The platforms on that the Liminine binary and helper tools can run, not
# necessarily the platforms for that bootable images can be created.
platforms = platforms.unix;
badPlatforms = platforms.darwin;
maintainers = [
maintainers._48cf
maintainers.phip1611

View File

@ -0,0 +1,24 @@
{
"dependencies": {
"arsd-official": {
"version": "7.2.0",
"sha256": "1m546r6l0pkk80y5f3ff8im08hp59nwzjb5ikjhfiswvdizpwjlh"
},
"fuzzyd": {
"version": "2.2.0-beta",
"sha256": "0wzih4yrlrrj12ls9hd27gnxrj4j4c0ha9xprdfc7azszlv16j6g"
},
"ncurses": {
"version": "1.0.0",
"sha256": "0ivl88vp2dy9rpv6x3f9jlyqa7aps2x1kkyx80w2d4vcs31pzmb2"
},
"riverd-loader": {
"version": "1.0.2",
"sha256": "0c94551bscnia7vpixaq4xd2anprkd7pkf0q0anyadv5kqa8xgip"
},
"riverd-ncurses": {
"version": "1.0.5",
"sha256": "1wgdschv6hpdjykf5bblxphnhnpy2kvw8hq8h5iaygi9zr7jf286"
}
}
}

View File

@ -0,0 +1,44 @@
{
lib,
buildDubPackage,
fetchFromGitHub,
ncurses,
}:
buildDubPackage rec {
pname = "luneta";
version = "0.7.4";
src = fetchFromGitHub {
owner = "fbeline";
repo = "luneta";
rev = "v${version}";
hash = "sha256-pYE8hccXT87JIMh71PtXzVQBegTzU7bdpVEaV2VkaEk=";
};
# not sure why, but this alias does not resolve
postPatch = ''
substituteInPlace source/luneta/keyboard.d \
--replace-fail "wint_t" "dchar"
'';
# ncurses dub package version is locked to 1.0.0 instead of using ~master
dubLock = ./dub-lock.json;
buildInputs = [ ncurses ];
installPhase = ''
runHook preInstall
install -Dm755 luneta -t $out/bin
runHook postInstall
'';
meta = {
changelog = "https://github.com/fbeline/luneta/releases/tag/${src.rev}";
description = "An interactive filter and fuzzy finder for the command-line";
homepage = "https://github.com/fbeline/luneta";
license = lib.licenses.gpl2Only;
mainProgram = "luneta";
maintainers = with lib.maintainers; [ tomasajt ];
};
}

View File

@ -141,7 +141,7 @@ symlinkJoin {
'';
passthru = {
inherit (lxd-unwrapped-lts) tests ui;
inherit (lxd-unwrapped-lts) tests;
};
inherit (lxd-unwrapped-lts) meta pname version;

View File

@ -1,10 +1,10 @@
{
"stable": {
"version": "5.2.0",
"hash": "sha256-vxGJHm1StQNN+0IVlGMqKVKW56LH6KUC94utDn7FcNo="
"version": "5.2.1",
"hash": "sha256-pyvHhFfwgozaTP3AhqWPKOuXdC23stXiUW2PpdYRR7M="
},
"beta": {
"version": "5.2.0",
"hash": "sha256-vxGJHm1StQNN+0IVlGMqKVKW56LH6KUC94utDn7FcNo="
"version": "5.2.1",
"hash": "sha256-pyvHhFfwgozaTP3AhqWPKOuXdC23stXiUW2PpdYRR7M="
}
}

View File

@ -10,7 +10,7 @@
, nix-output-monitor
}:
let
version = "3.5.10";
version = "3.5.13";
runtimeDeps = [ nvd nix-output-monitor ];
in
rustPlatform.buildRustPackage {
@ -21,7 +21,7 @@ rustPlatform.buildRustPackage {
owner = "viperML";
repo = "nh";
rev = "refs/tags/v${version}";
hash = "sha256-uEVd15WsX+Wti9PXW724puFcsFO72VTiJyBwW2WXT9M=";
hash = "sha256-lTy5gmB3dJZJKag2uuuxXvZCAt/RhLnI0jbIicBJfCo=";
};
strictDeps = true;
@ -47,7 +47,7 @@ rustPlatform.buildRustPackage {
--prefix PATH : ${lib.makeBinPath runtimeDeps}
'';
cargoHash = "sha256-/aqs/l+Qi2b8zxHXqxdHLBpSr5+vVsd6pY/QnHbkmb0=";
cargoHash = "sha256-X8+GmPFxvgeNxMuOacoCUCgdZ/+N4mwQFMUtvO1E998=";
passthru.updateScript = nix-update-script { };

View File

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "novops";
version = "0.12.1";
version = "0.13.0";
src = fetchFromGitHub {
owner = "PierreBeucher";
repo = pname;
rev = "v${version}";
hash = "sha256-iQFw3m7dpAii/Nc1UQ/ZXTuHvj5vGsp3SOqd14uHUpc=";
hash = "sha256-LrEPdEVWgbZ6WyEqdfAhUjKXPuk8Xx7kmLA2ZsPFf1U=";
};
cargoHash = "sha256-mQ7Vm80S4FALWiEsV+68pNrah36aYu7PediRlJUXLAk=";
cargoHash = "sha256-kI836Z0fgpmPPoX0HtWkZG731xaVWgWkXF0eCaQfM28=";
buildInputs = [
openssl # required for openssl-sys

View File

@ -5,20 +5,21 @@
, darwin
, pkg-config
, libiconv
, nrxAlias ? true
}:
rustPlatform.buildRustPackage rec {
pname = "nrr";
version = "0.8.0";
version = "0.9.0";
src = fetchFromGitHub {
owner = "ryanccn";
repo = "nrr";
rev = "v${version}";
hash = "sha256-4zQi7kQxcRXpYuSjolSZoDqX+CcGmq4dvChPlZZZVso=";
hash = "sha256-94BeBCYCxZBoOp6xo4I/uxd6ULjIfmF4nw/vUWoaEpo=";
};
cargoHash = "sha256-XNnyEFEzKQ5N0xtskaUudcb2LtAiEsd6h3D/FdyIbHc=";
cargoHash = "sha256-DTQTIAk914XC+LecQTXk1TdBc/5sMFG8KiD9lO5HLiM=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreFoundation
@ -31,8 +32,10 @@ rustPlatform.buildRustPackage rec {
pkg-config
];
postInstall = lib.optionalString nrxAlias "ln -s $out/bin/nr{r,x}";
meta = with lib; {
description = "Minimal, blazing fast Node.js script runner";
description = "Minimal, blazing fast npm scripts runner";
maintainers = with maintainers; [ ryanccn ];
license = licenses.gpl3Only;
mainProgram = "nrr";

View File

@ -18,13 +18,13 @@
rustPlatform.buildRustPackage rec {
pname = "open-scq30";
version = "1.11.0";
version = "1.12.0";
src = fetchFromGitHub {
owner = "Oppzippy";
repo = "OpenSCQ30";
rev = "v${version}";
hash = "sha256-yls7F6ou0TsoY6CDi694fJrq30Y3B6d96T1VWl47K0w=";
hash = "sha256-DL2hYm1j27K0nnBvE3iGnguqm0m1k56bkuG+6+u4u4c=";
};
nativeBuildInputs = [
@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
darwin.apple_sdk.frameworks.Foundation
];
cargoHash = "sha256-VxweKzXNWOrBrzLzId8D6O0tZG8bI7HjhD+GJ3vRyhk=";
cargoHash = "sha256-YBJd43xOCumQbrvzfV/+F63McYzHg1bGI3icgGzGZrQ=";
INSTALL_PREFIX = placeholder "out";

View File

@ -0,0 +1,32 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "pingtunnel";
version = "2.8";
src = fetchFromGitHub {
owner = "esrrhs";
repo = "pingtunnel";
rev = version;
hash = "sha256-qkIeE6gNBUUd5/IhcKhDmXZbzeSTR0r6qCAK/Nz7Kew=";
};
vendorHash = "sha256-SkBHFvQn3Q6fl/d1npEspTYhq1YrnusXNWr/Ky4bv64=";
ldflags = [ "-s" "-w" ];
postInstall = ''
mv $out/bin/cmd $out/bin/pingtunnel
'';
meta = with lib; {
description = "A tool that send TCP/UDP traffic over ICMP";
homepage = "https://github.com/esrrhs/pingtunnel";
license = licenses.mit;
maintainers = with maintainers; [ oluceps ];
mainProgram = "pingtunnel";
};
}

View File

@ -0,0 +1,50 @@
{ fetchFromGitHub
, lib
, stdenvNoCC
, # build deps
clickgen
, python3Packages
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "pokemon-cursor";
version = "2.0.0";
src = fetchFromGitHub {
owner = "ful1e5";
repo = "pokemon-cursor";
rev = "v${finalAttrs.version}";
sha256 = "sha256-EL6Ztbzjm1YuQP+8ZbrhbuBXn+GFiJGG0iGNWzU/rBY=";
};
nativeBuildInputs = [
clickgen
python3Packages.attrs
];
buildPhase = ''
runHook preBuild
ctgen build.toml -p x11 -o $out
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/icons
mv $out/Pokemon $out/share/icons
runHook postInstall
'';
meta = with lib; {
description = "An unofficial open-source Pokemon cursor theme";
homepage = "https://github.com/ful1e5/pokemon-cursor";
license = licenses.gpl3Plus;
maintainers = [ maintainers.getpsyched ];
platforms = platforms.linux;
};
})

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "primecount";
version = "7.12";
version = "7.13";
src = fetchFromGitHub {
owner = "kimwalisch";
repo = "primecount";
rev = "v${finalAttrs.version}";
hash = "sha256-GjLLJLGMzFAN75zFAwIfFvaTm8sSC0J20HtH8tn52h8=";
hash = "sha256-VjsJjG2pSnDMVg3lY3cmpdnASeqClPjHUGY5wqupf2w=";
};
outputs = [ "out" "dev" "lib" "man" ];

View File

@ -5,11 +5,11 @@
renode.overrideAttrs (finalAttrs: _: {
pname = "renode-unstable";
version = "1.15.0+20240404gitbfa16ba07";
version = "1.15.0+20240418git228a25674";
src = fetchurl {
url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-portable.tar.gz";
hash = "sha256-pXA6sGYBlLU2EnhFvUwRWkYirMi5BTgzyUbQ33sIMrg=";
hash = "sha256-v8fWQQM2NZkE+Wsg8pyww6esYLggJzehavqIhzI+EaQ=";
};
passthru.updateScript =

View File

@ -9,18 +9,18 @@
buildGoModule rec {
pname = "shopware-cli";
version = "0.4.35";
version = "0.4.36";
src = fetchFromGitHub {
repo = "shopware-cli";
owner = "FriendsOfShopware";
rev = version;
hash = "sha256-RJKne2Nq8mrVBgiOkXoM1HKIJ/BU0MQckbequ/0THGk=";
hash = "sha256-14Za64G/UpFa6Dfyx7EAQqXMmCWyl5MIQEdutqMQrxE=";
};
nativeBuildInputs = [ installShellFiles makeWrapper ];
nativeCheckInputs = [ git dart-sass ];
vendorHash = "sha256-jQCTdvJVe99sL8C9AkJZDsQV9tUoAXY18ar3+FNXEdM=";
vendorHash = "sha256-Zl84hA2YPG4p3t0V8ZPnLYGz4ggoTSln/koC40nbNZ4=";
postInstall = ''
export HOME="$(mktemp -d)"

View File

@ -3,6 +3,7 @@
, fetchFromGitHub
, pkg-config
, wrapGAppsHook
, brightnessctl
, cargo
, coreutils
, gtk-layer-shell
@ -12,25 +13,26 @@
, meson
, ninja
, rustc
, sassc
, stdenv
, udev
}:
stdenv.mkDerivation rec {
pname = "swayosd";
version = "unstable-2023-09-26";
version = "0-unstable-2024-04-15";
src = fetchFromGitHub {
owner = "ErikReider";
repo = "SwayOSD";
rev = "1c7d2f5b3ee262f25bdd3c899eadf17efb656d26";
hash = "sha256-Y22O6Ktya/WIhidnoyxnZu5YvXWNmSS6vecDU8zDD34=";
rev = "11271760052c4a4a4057f2d287944d74e8fbdb58";
hash = "sha256-qOxnl2J+Ivx/TIqodv3a8nP0JQsYoKIrhqnbD9IxU8g=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-tqbMlygX+n14oR1t+0ngjiSG2mHUk/NbiWHk4yEAb2o=";
hash = "sha256-exbVanUvGp0ub4WE3VcsN8hkcK0Ipf0tNfd92UecICg=";
};
nativeBuildInputs = [
@ -49,12 +51,19 @@ stdenv.mkDerivation rec {
libinput
libpulseaudio
udev
sassc
];
patches = [
./swayosd_systemd_paths.patch
];
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : ${lib.makeBinPath [ brightnessctl ]}
)
'';
postPatch = ''
substituteInPlace data/udev/99-swayosd.rules \
--replace /bin/chgrp ${coreutils}/bin/chgrp \
@ -65,7 +74,7 @@ stdenv.mkDerivation rec {
description = "A GTK based on screen display for keyboard shortcuts";
homepage = "https://github.com/ErikReider/SwayOSD";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ aleksana barab-i ];
maintainers = with maintainers; [ aleksana barab-i sergioribera ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,73 @@
{ lib
, python3
, fetchFromGitHub
}:
python3.pkgs.buildPythonApplication rec {
pname = "syncall";
version = "1.8.5";
format = "pyproject";
src = fetchFromGitHub {
owner = "bergercookie";
repo = "syncall";
rev = "v${version}";
hash = "sha256-f9WVZ1gpVG0wvIqoAkeaYBE4QsGXSqrYS4KyHy6S+0Q=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'loguru = "^0.5.3"' 'loguru = "^0.7"' \
--replace-fail 'PyYAML = "~5.3.1"' 'PyYAML = "^6.0"' \
--replace-fail 'bidict = "^0.21.2"' 'bidict = "^0.23"' \
--replace-fail 'typing = "^3.7.4"' '''
'';
nativeBuildInputs = [
python3.pkgs.poetry-core
python3.pkgs.poetry-dynamic-versioning
];
propagatedBuildInputs = with python3.pkgs; [
bidict
bubop
click
item-synchronizer
loguru
python-dateutil
pyyaml
rfc3339
typing
# asana optional-dep
asana
# caldav optional-dep
caldav
icalendar
# fs optional-dep
xattr
# gkeep optional-dep
# gkeepapi is unavailable in nixpkgs
# google optional-dep
google-api-python-client
google-auth-oauthlib
# notion optional-dep
# FIXME: notion-client -- broken, doesn't build.
# taskwarrior optional-dep
taskw-ng
];
postInstall = ''
# We do not support gkeep
rm $out/bin/tw_gkeep_sync
'';
pythonImportsCheck = [ "syncall" ];
meta = with lib; {
description = "Bi-directional synchronization between services such as Taskwarrior, Google Calendar, Notion, Asana, and more";
homepage = "https://github.com/bergercookie/syncall";
license = licenses.mit;
maintainers = with maintainers; [ raitobezarius ];
};
}

View File

@ -0,0 +1,44 @@
{ lib
, stdenv
, fetchFromGitHub
, rustc
}:
stdenv.mkDerivation {
pname = "ternimal";
version = "0.1.0-unstable-2017-12-31";
src = fetchFromGitHub {
owner = "p-e-w";
repo = "ternimal";
rev = "e7953b4f80e514899e0920f0e36bb3141b685122";
hash = "sha256-uIxuwRvStvlC/YiolOvWZd45Qg3b86jsZQ000zZMo3M=";
};
nativeBuildInputs = [ rustc ];
buildPhase = ''
runHook preBuild
rustc -O $src/ternimal.rs
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp ternimal $out/bin
runHook postInstall
'';
meta = {
description = "Simulate a lifeform in the terminal";
homepage = "https://github.com/p-e-w/ternimal";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ anomalocaris ];
platforms = with lib.platforms; linux ++ darwin;
mainProgram = "ternimal";
};
}

View File

@ -16,7 +16,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "vlc-bittorrent";
version = "2.15.0";
version = "2.15";
src = fetchFromGitHub {
owner = "johang";

View File

@ -5,12 +5,12 @@
let
pname = "wtfis";
version = "0.8.0";
version = "0.9.0";
src = fetchFromGitHub {
owner = "pirxthepilot";
repo = "wtfis";
rev = "refs/tags/v${version}";
hash = "sha256-eSmvyDr8PbB15UWIl67Qp2qHeOq+dmnP8eMsvcGypVw=";
hash = "sha256-LeIb2MLxulDsgQepNr7I81u8gG4HQC6PsszKZKVjFkw=";
};
in python3.pkgs.buildPythonApplication {
inherit pname version src;

View File

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec {
pname = "numix-icon-theme-circle";
version = "24.03.12";
version = "24.04.16";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
sha256 = "sha256-WWgppmMIXa7AtMu8Tu3TOt4JvsAkpufZva1reE+UaWg=";
sha256 = "sha256-1SBIEqbgJwRcoCPWDL5YoapNHsrqWcpjFo0xp+GSXXs=";
};
nativeBuildInputs = [ gtk3 ];

View File

@ -7,6 +7,7 @@
, libmpc
, mpfr
, stdenv
, darwin
}:
rustPlatform.buildRustPackage rec {
@ -23,12 +24,15 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "sha256-q8s6HAJhKnMhsgZk5plR+ar3CpLKNqjrD14roDWLwfo=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl gmp libmpc mpfr ];
buildInputs = [ openssl gmp libmpc mpfr ]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.SystemConfiguration
];
CARGO_FEATURE_USE_SYSTEM_LIBS = true;
meta = with lib; {
broken = stdenv.isDarwin;
description = "A modern Prolog implementation written mostly in Rust";
mainProgram = "scryer-prolog";
homepage = "https://github.com/mthom/scryer-prolog";

View File

@ -1,47 +1,54 @@
{ stdenv, lib, fetchFromGitHub, cmake
, libGL, libXrandr, libXinerama, libXcursor, libX11, libXi, libXext
, Carbon, Cocoa, Kernel, OpenGL, fixDarwinDylibNames
, waylandSupport ? false, extra-cmake-modules, wayland
, wayland-protocols, libxkbcommon
, extra-cmake-modules, wayland
, wayland-scanner, wayland-protocols, libxkbcommon
}:
stdenv.mkDerivation rec {
version = "3.3.10";
version = "3.4";
pname = "glfw";
src = fetchFromGitHub {
owner = "glfw";
repo = "GLFW";
rev = version;
sha256 = "sha256-kTRXsfQ+9PFurG3ffz0lwnITAYAXtNl3h/3O6FSny5o=";
sha256 = "sha256-FcnQPDeNHgov1Z07gjFze0VMz2diOrpbKZCsI96ngz0=";
};
# Fix linkage issues on X11 (https://github.com/NixOS/nixpkgs/issues/142583)
patches = lib.optional (!waylandSupport) ./x11.patch;
patches = ./x11.patch;
propagatedBuildInputs =
lib.optionals stdenv.isDarwin [ OpenGL ]
++ lib.optionals stdenv.isLinux [ libGL ];
nativeBuildInputs = [ cmake ]
nativeBuildInputs = [ cmake extra-cmake-modules ]
++ lib.optional stdenv.isDarwin fixDarwinDylibNames
++ lib.optional waylandSupport extra-cmake-modules;
++ lib.optionals stdenv.isLinux [ wayland-scanner ];
buildInputs =
lib.optionals stdenv.isDarwin [ Carbon Cocoa Kernel ]
++ lib.optionals (stdenv.isLinux && waylandSupport) [ wayland wayland-protocols libxkbcommon ]
++ lib.optionals (stdenv.isLinux && !waylandSupport) [ libX11 libXrandr libXinerama libXcursor libXi libXext ];
++ lib.optionals stdenv.isLinux [
wayland
wayland-protocols
libxkbcommon
libX11
libXrandr
libXinerama
libXcursor
libXi
libXext
];
cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON"
] ++ lib.optionals (!stdenv.isDarwin && !stdenv.hostPlatform.isWindows) [
"-DCMAKE_C_FLAGS=-D_GLFW_GLX_LIBRARY='\"${lib.getLib libGL}/lib/libGL.so.1\"'"
] ++ lib.optionals waylandSupport [
"-DGLFW_USE_WAYLAND=ON"
"-DCMAKE_C_FLAGS=-D_GLFW_EGL_LIBRARY='\"${lib.getLib libGL}/lib/libEGL.so.1\"'"
];
postPatch = lib.optionalString waylandSupport ''
postPatch = lib.optionalString stdenv.isLinux ''
substituteInPlace src/wl_init.c \
--replace "libxkbcommon.so.0" "${lib.getLib libxkbcommon}/lib/libxkbcommon.so.0"
'';

View File

@ -1,86 +0,0 @@
{ lib
, stdenv
, fetchFromGitLab
, fetchpatch
, autoreconfHook
, pkg-config
, sphinx
, libdeflate
, libjpeg
, xz
, zlib
}:
stdenv.mkDerivation rec {
pname = "libtiff";
version = "4.5.1";
src = fetchFromGitLab {
owner = "libtiff";
repo = "libtiff";
rev = "v${version}";
hash = "sha256-qQEthy6YhNAQmdDMyoCIvK8f3Tx25MgqhJZW74CB93E=";
};
patches = [
# cf. https://bugzilla.redhat.com/2224974
(fetchpatch {
name = "CVE-2023-40745.patch";
url = "https://gitlab.com/libtiff/libtiff/-/commit/bdf7b2621c62e04d0408391b7d5611502a752cd0.diff";
hash = "sha256-HdU02YJ1/T3dnCT+yG03tUyAHkgeQt1yjZx/auCQxyw=";
})
# cf. https://bugzilla.redhat.com/2224971
(fetchpatch {
name = "CVE-2023-41175.patch";
url = "https://gitlab.com/libtiff/libtiff/-/commit/965fa243004e012adc533ae8e38db3055f101a7f.diff";
hash = "sha256-Pvg6JfJWOIaTrfFF0YSREZkS9saTG9IsXnsXtcyKILA=";
})
# FreeImage needs this patch
./headers-4.5.patch
# libc++abi 11 has an `#include <version>`, this picks up files name
# `version` in the project's include paths
./rename-version-4.5.patch
];
postPatch = ''
mv VERSION VERSION.txt
'';
outputs = [ "bin" "dev" "dev_private" "out" "man" "doc" ];
postFixup = ''
moveToOutput include/tif_config.h $dev_private
moveToOutput include/tif_dir.h $dev_private
moveToOutput include/tif_hash_set.h $dev_private
moveToOutput include/tiffiop.h $dev_private
'';
# If you want to change to a different build system, please make
# sure cross-compilation works first!
nativeBuildInputs = [ autoreconfHook pkg-config sphinx ];
propagatedBuildInputs = [
libdeflate
libjpeg
xz
zlib
];
enableParallelBuilding = true;
doCheck = true;
meta = with lib; {
description = "Library and utilities for working with the TIFF image file format";
homepage = "https://libtiff.gitlab.io/libtiff";
changelog = "https://libtiff.gitlab.io/libtiff/v${version}.html";
# XXX not enabled for now to keep hydra builds running,
# but we have to keep an eye on security updates in supported version
#knownVulnerabilities = [ "support for version 4.5 ended in Sept 2023" ];
maintainers = with maintainers; [ yarny ];
license = licenses.libtiff;
platforms = platforms.unix;
};
}

View File

@ -28,9 +28,6 @@ stdenv.mkDerivation (finalAttrs: {
pname = "libtiff";
version = "4.6.0";
# if you update this, please consider adding patches and/or
# setting `knownVulnerabilities` in libtiff `4.5.nix`
src = fetchFromGitLab {
owner = "libtiff";
repo = "libtiff";
@ -93,7 +90,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
description = "Library and utilities for working with the TIFF image file format";
homepage = "https://libtiff.gitlab.io/libtiff";
changelog = "https://libtiff.gitlab.io/libtiff/v${finalAttrs.version}.html";
changelog = "https://libtiff.gitlab.io/libtiff/releases/v${finalAttrs.version}.html";
license = licenses.libtiff;
platforms = platforms.unix ++ platforms.windows;
pkgConfigModules = [ "libtiff-4" ];

View File

@ -1,16 +0,0 @@
export private headers for freeimage
--- i/libtiff/Makefile.am
+++ w/libtiff/Makefile.am
@@ -36,8 +36,12 @@ EXTRA_DIST = \
tiffconf.h.cmake.in
libtiffinclude_HEADERS = \
+ tif_config.h \
+ tif_dir.h \
+ tif_hash_set.h \
tiff.h \
tiffio.h \
+ tiffiop.h \
tiffvers.h
if HAVE_CXX

View File

@ -0,0 +1,73 @@
{ lib
, stdenv
, fetchzip
, autoreconfHook
, pkg-config
, sphinx
, libdeflate
, libjpeg
, xz
, zlib
}:
# This is a fork created by the hylafaxplus developer to
# restore tools dropped by original libtiff in version 4.6.0.
stdenv.mkDerivation (finalAttrs: {
pname = "libtiff_t";
version = "4.6.0t";
src = fetchzip {
url = "http://www.libtiff.org/downloads/tiff-${finalAttrs.version}.tar.xz";
hash = "sha256-9ov4w2jw4LtKr82/4jWMAGhc5GEdviJ7bT+y0+U/Ac4=";
};
patches = [
# FreeImage needs this patch
./headers.patch
# libc++abi 11 has an `#include <version>`, this picks up files name
# `version` in the project's include paths
./rename-version.patch
];
postPatch = ''
mv VERSION VERSION.txt
'';
outputs = [ "bin" "dev" "dev_private" "out" "man" "doc" ];
postFixup = ''
moveToOutput include/tif_config.h $dev_private
moveToOutput include/tif_dir.h $dev_private
moveToOutput include/tif_hash_set.h $dev_private
moveToOutput include/tiffiop.h $dev_private
'';
# If you want to change to a different build system, please make
# sure cross-compilation works first!
nativeBuildInputs = [ autoreconfHook pkg-config sphinx ];
# TODO: opengl support (bogus configure detection)
propagatedBuildInputs = [
libdeflate
libjpeg
xz
zlib
];
enableParallelBuilding = true;
doCheck = true;
meta = with lib; {
description = "Library and utilities for working with the TIFF image file format (fork containing tools dropped in original libtiff version)";
homepage = "http://www.libtiff.org";
changelog = "http://www.libtiff.org/releases/v${finalAttrs.version}.html";
maintainers = with maintainers; [ yarny ];
license = licenses.libtiff;
platforms = platforms.unix ++ platforms.windows;
pkgConfigModules = [ "libtiff-4" ];
};
})

View File

@ -1,21 +0,0 @@
fix case-insensitive build
--- a/Makefile.am
+++ b/Makefile.am
@@ -34,7 +34,7 @@ docfiles = \
README.md \
RELEASE-DATE \
TODO \
- VERSION
+ VERSION.txt
EXTRA_DIST = \
cmake \
@@ -61,7 +61,7 @@ SUBDIRS = port libtiff tools build contrib test doc
release:
(rm -f $(top_srcdir)/RELEASE-DATE && echo $(LIBTIFF_RELEASE_DATE) > $(top_srcdir)/RELEASE-DATE)
- (rm -f $(top_srcdir)/VERSION && echo $(LIBTIFF_VERSION) > $(top_srcdir)/VERSION)
+ (rm -f $(top_srcdir)/VERSION.txt && echo $(LIBTIFF_VERSION) > $(top_srcdir)/VERSION.txt)
(rm -f $(top_srcdir)/libtiff/tiffvers.h && sed 's,LIBTIFF_VERSION,$(LIBTIFF_VERSION),;s,LIBTIFF_RELEASE_DATE,$(LIBTIFF_RELEASE_DATE),;s,LIBTIFF_MAJOR_VERSION,$(LIBTIFF_MAJOR_VERSION),;s,LIBTIFF_MINOR_VERSION,$(LIBTIFF_MINOR_VERSION),;s,LIBTIFF_MICRO_VERSION,$(LIBTIFF_MICRO_VERSION),' $(top_srcdir)/libtiff/tiffvers.h.in > $(top_srcdir)/libtiff/tiffvers.h)
pkgconfigdir = $(libdir)/pkgconfig

View File

@ -25,13 +25,13 @@ let
in
stdenv.mkDerivation rec {
pname = "libucl";
version = "0.9.1";
version = "0.9.2";
src = fetchFromGitHub {
owner = "vstakhov";
repo = pname;
rev = version;
sha256 = "sha256-udgsgo6bT7WnUYnAzqHxOtdDg6av3XplptS8H5ukxjo=";
sha256 = "sha256-esNEVBa660rl3Oo2SLaLrFThFkjbqtZ1r0tjMq3h6cM=";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];

View File

@ -13,36 +13,15 @@
stdenv.mkDerivation rec {
pname = "zziplib";
version = "0.13.72";
version = "0.13.74";
src = fetchFromGitHub {
owner = "gdraheim";
repo = pname;
rev = "v${version}";
hash = "sha256-Ht3fBgdrTm4mCi5uhgQPNtpGzADoRVOpSuGPsIS6y0Q=";
hash = "sha256-MjqGHzb+dsAq2PrcBhU3sv4eMX3afkgFWUbhDp+5o/s=";
};
patches = [
# apply https://github.com/gdraheim/zziplib/pull/113
(fetchpatch {
url = "https://github.com/gdraheim/zziplib/commit/82a7773cd17828a3b0a4f5f552ae80c1cc8777c7.diff";
sha256 = "0ifqdzxwb5d19mziy9j6lhl8wj95jpxzm0d2c6y3bgwa931avd3y";
})
(fetchpatch {
url = "https://github.com/gdraheim/zziplib/commit/1cd611514c5f9559eb9dfc191d678dfc991f66db.diff";
sha256 = "11w9qa46xq49l113k266dnv8izzdk1fq4y54yy5w8zps8zd3xfny";
})
(fetchpatch {
url = "https://github.com/gdraheim/zziplib/commit/e47b1e1da952a92f917db6fb19485b8a0b1a42f3.diff";
sha256 = "0d032hkmi3s3db12z2zbppl2swa3gdpbj0c6w13ylv2g2ixglrwg";
})
# Fixes invalid pointer conversions that cause compilation to fail with clang 15+
(fetchpatch {
url = "https://github.com/gdraheim/zziplib/commit/38e4d5f561318fa825e6544c2ef55ac5899c81b0.diff";
sha256 = "sha256-VJuFyiPhuAZlDxmNHBty+JbYwG85ea5u2sv7HZRHMwo=";
})
];
nativeBuildInputs = [
cmake
perl

View File

@ -480,6 +480,16 @@ in
};
});
haskell-tools-nvim = prev.haskell-tools-nvim.overrideAttrs(oa: {
doCheck = lua.luaversion == "5.1";
nativeCheckInputs = [ final.nlua final.busted ];
checkPhase = ''
runHook preCheck
export HOME=$(mktemp -d)
busted --lua=nlua
runHook postCheck
'';
});
plenary-nvim = prev.plenary-nvim.overrideAttrs (oa: {
postPatch = ''
@ -585,6 +595,15 @@ in
};
});
nlua = prev.nlua.overrideAttrs(oa: {
# patchShebang removes the nvim in nlua's shebang so we hardcode one
postFixup = ''
sed -i -e "1 s|.*|#\!${coreutils}/bin/env -S ${neovim-unwrapped}/bin/nvim -l|" "$out/bin/nlua"
'';
dontPatchShebangs = true;
});
rapidjson = prev.rapidjson.overrideAttrs (oa: {
preBuild = ''
sed -i '/set(CMAKE_CXX_FLAGS/d' CMakeLists.txt

View File

@ -49,5 +49,9 @@ buildDunePackage rec {
and de-serialization function from a .proto file.
'';
maintainers = [ lib.maintainers.GirardR1006 ];
# Broken with Dune 3.15.1:
# Error: Dependency cycle between:
# %{read:config/support_proto3_optional.conf} at test/dune:16
broken = true;
};
}

View File

@ -16,7 +16,7 @@ php.buildComposerProject (finalAttrs: {
# use together with the version from this package to keep the
# bootstrap phar file up-to-date together with the end user composer
# package.
passthru.pharHash = "sha256-BJuODtnyZNdwoFEIWM/7w1QBUQdZ7cmnhLOlxuAgvKw=";
passthru.pharHash = "sha256-/MAv8ES1oE++z/AVjLYEHCXo94rElAmHNv7NK7TzgeQ=";
composer = callPackage ../../../build-support/php/pkgs/composer-phar.nix {
inherit (finalAttrs) version;
@ -24,13 +24,13 @@ php.buildComposerProject (finalAttrs: {
};
pname = "composer";
version = "2.7.2";
version = "2.7.3";
src = fetchFromGitHub {
owner = "composer";
repo = "composer";
rev = finalAttrs.version;
hash = "sha256-Rev3OW1G+LVgJmHLwuV5u0s7F7lKrvtI43eS7y9SAYA=";
hash = "sha256-4cQ/p6lC8qgba/GSKuP2rFc0mZrUc+HuwvBMXnVERoU=";
};
nativeBuildInputs = [ makeBinaryWrapper ];
@ -40,7 +40,7 @@ php.buildComposerProject (finalAttrs: {
--prefix PATH : ${lib.makeBinPath [ _7zz cacert curl git unzip xz ]}
'';
vendorHash = "sha256-JLMhjOradyo64mPNos0qtM5bTnAYTRvSWnFUQrLQNjw=";
vendorHash = "sha256-dNNV9fTyGyRoGeDV/vBjn0aMgkaUMsrKQv5AOoiYokQ=";
meta = {
changelog = "https://github.com/composer/composer/releases/tag/${finalAttrs.version}";

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "aranet4";
version = "2.2.3";
version = "2.3.3";
pyproject = true;
disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "Anrijs";
repo = "Aranet4-Python";
rev = "refs/tags/v${version}";
hash = "sha256-Jd7yuddxwRrO7XFQsVGy5vRQxwIUZdwFSjiZZHdkE3g=";
hash = "sha256-j53d2Ki9xVWGHWkAu1wkjYE56Xq7kfMmqQrQiKrBg2I=";
};
nativeBuildInputs = [

View File

@ -6,7 +6,7 @@
}:
if !(pythonOlder "3.3") then null else buildPythonPackage {
pname = "backports.shutil_get_terminal_size";
pname = "backports-shutil-get-terminal-size";
version = "unstable-2016-02-21";
# there have been numerous fixes committed since the initial release.

View File

@ -4,6 +4,7 @@
, click
, click-log
, fetchFromGitHub
, fetchpatch2
, pure-pcapy3
, pyserial-asyncio
, pytest-asyncio
@ -29,6 +30,13 @@ buildPythonPackage rec {
hash = "sha256-oxPzjDb+FdHeHsgeGKH3SVvKb0vCB9dIhT7lGzhDcBw=";
};
patches = [
(fetchpatch2 {
url = "https://github.com/zigpy/bellows/commit/7833647083f27f55b7ad345f4aaa7dffaa369abc.patch";
hash = "sha256-v+BOPqikWoyNtZ1qRWe3RwraG6nQnfZqoV6yj9PpGX8=";
})
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail '"setuptools-git-versioning<2"' "" \

View File

@ -0,0 +1,52 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, loguru
, python-dateutil
, pyyaml
, tqdm
, click
}:
buildPythonPackage rec {
pname = "bubop";
version = "0.1.12";
format = "pyproject";
src = fetchFromGitHub {
owner = "bergercookie";
repo = "bubop";
rev = "v${version}";
hash = "sha256-p4Mv73oX5bsYKby7l0nGon89KyAMIUhDAEKSTNB++Cw=";
};
postPatch = ''
# Those versions seems to work with `bubop`.
substituteInPlace pyproject.toml \
--replace-fail 'loguru = "^0.5.3"' 'loguru = "^0.7"' \
--replace-fail 'PyYAML = "~5.3.1"' 'PyYAML = "^6.0"'
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
loguru
python-dateutil
pyyaml
tqdm
click
];
pythonImportsCheck = [ "bubop" ];
meta = with lib; {
description = "Bergercookie's Useful Bits Of Python; helper libraries for Bergercookie's programs";
homepage = "https://github.com/bergercookie/bubop";
changelog = "https://github.com/bergercookie/bubop/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ raitobezarius ];
};
}

View File

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "cachelib";
version = "0.12.0";
version = "0.13.0";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -16,7 +16,7 @@ buildPythonPackage rec {
owner = "pallets";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-gSBY8zMGVn5Ndu4OexMP1v7bhXAAdl2UcEjjKFa21rE=";
hash = "sha256-8jg+zfdIATvu/GSFvqHl4cNMu+s2IFWC22vPZ7Q3WYI=";
};
nativeCheckInputs = [

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