Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-04-21 18:05:03 +00:00
committed by GitHub
149 changed files with 2945 additions and 2050 deletions
+4
View File
@@ -207,6 +207,8 @@
- `pnpm` was updated to version 10. If your project is incompatible, you can install the previous version from the package attribute `pnpm_9`.
- `dwarf-fortress-packages` now only contains one minor version for each major version since version 0.44. Saves should still be compatible, but you may have to change which minor version you were using if it was one other than the newest.
- `zig_0_9` and `zig_0_10` have been removed, you should upgrade to `zig_0_13` (also available as just `zig`), `zig_0_12` or `zig_0_11` instead.
- `webpack-cli` was updated to major version 6, which has breaking changes from the previous version 5.1.4. See the [upstream release notes](https://github.com/webpack/webpack-cli/releases/tag/webpack-cli%406.0.0) for details on these changes.
@@ -347,6 +349,8 @@
- Many androidenv packages are now searchable on [search.nixos.org](https://search.nixos.org).
- We now use the latest Google repositories, which should improve aarch64-darwin compatibility. The SDK now additionally evaluates on aarch64-linux, though not all packages are functional.
- `dwarf-fortress` audio now works again. Additionally, the `dfhack` and `dwarf-fortress-full` packages are now exposed at toplevel, making it easier to install and play Dwarf Fortress. Note that `dwarf-fortress-full` is the Nixpkgs equivalent of the Dwarf Fortress Lazy Pack.
- `gerbera` now has wavpack support.
- GOverlay has been updated to 1.2, please check the [upstream changelog](https://github.com/benjamimgois/goverlay/releases) for more details.
+5 -1
View File
@@ -998,7 +998,11 @@ rec {
:::
*/
escapeC = list: replaceStrings list (map (c: "\\x${toLower (lib.toHexString (charToInt c))}") list);
escapeC =
list:
replaceStrings list (
map (c: "\\x${fixedWidthString 2 "0" (toLower (lib.toHexString (charToInt c)))}") list
);
/**
Escape the `string` so it can be safely placed inside a URL
+2 -2
View File
@@ -851,8 +851,8 @@ runTests {
};
testEscapeC = {
expr = strings.escapeC [ " " ] "Hello World";
expected = "Hello\\x20World";
expr = strings.escapeC [ "\n" " " ] "Hello World\n";
expected = "Hello\\x20World\\x0a";
};
testEscapeURL = testAllTrue [
+6
View File
@@ -22455,6 +22455,12 @@
github = "sinanmohd";
githubId = 69694713;
};
sinics = {
name = "Zhifan";
email = "nonno.felice69uwu@gmail.com";
matrix = "@c3n21:matrix.org";
githubId = 37077738;
};
sioodmy = {
name = "Antoni Sokołowski";
github = "sioodmy";
+1
View File
@@ -227,6 +227,7 @@ with lib.maintainers;
pandapip1
qyliss
thefossguy
michaelBelsanti
];
githubTeams = [ "cosmic" ];
shortName = "cosmic";
@@ -222,6 +222,8 @@
- [GoDNS](https://github.com/TimothyYe/godns), a dynamic DNS client written in Go, which supports multiple DNS providers. Available as [services.godns](option.html#opt-services.godns.enable).
- [CookCLI](https://cooklang.org/cli/) Server, a web UI for cooklang recipes.
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
## Backward Incompatibilities {#sec-release-25.05-incompatibilities}
@@ -423,6 +425,7 @@
- `programs.clash-verge.tunMode` was deprecated and removed because now service mode is necessary to start program. Without `programs.clash-verge.enable`, clash-verge-rev will refuse to start.
- `services.discourse` now requires PostgreSQL 15 per default. Please update before upgrading.
- `services.homepage-dashboard` now requires the `allowedHosts` option to be set in accordance with the [documentation](https://gethomepage.dev/installation/#homepage_allowed_hosts).
+1
View File
@@ -1296,6 +1296,7 @@ in
ConditionPathExists = "!${cfg.registry.certFile}";
};
serviceConfig = {
Type = "oneshot";
Slice = "system-gitlab.slice";
};
};
@@ -4,6 +4,9 @@
pkgs,
...
}:
let
cfg = config.services.paretosecurity;
in
{
options.services.paretosecurity = {
@@ -12,9 +15,9 @@
trayIcon = lib.mkEnableOption "tray icon for ParetoSecurity";
};
config = lib.mkIf config.services.paretosecurity.enable {
environment.systemPackages = [ config.services.paretosecurity.package ];
systemd.packages = [ config.services.paretosecurity.package ];
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd.packages = [ cfg.package ];
# In traditional Linux distributions, systemd would read the [Install] section from
# unit files and automatically create the appropriate symlinks to enable services.
@@ -36,19 +39,17 @@
];
# Enable the tray icon and timer services if the trayIcon option is enabled
systemd.user = lib.mkIf config.services.paretosecurity.trayIcon {
services.paretosecurity-trayicon = {
wantedBy = [ "graphical-session.target" ];
};
services.paretosecurity-user = {
wantedBy = [ "graphical-session.target" ];
serviceConfig.Environment = [
"PATH=${config.system.path}/bin:${config.system.path}/sbin"
];
};
timers.paretosecurity-user = {
wantedBy = [ "timers.target" ];
systemd.user = lib.mkIf cfg.trayIcon {
services = {
paretosecurity-trayicon.wantedBy = [ "graphical-session.target" ];
paretosecurity-user = {
wantedBy = [ "graphical-session.target" ];
serviceConfig.Environment = [
"PATH=${config.system.path}/bin:${config.system.path}/sbin"
];
};
};
timers.paretosecurity-user.wantedBy = [ "timers.target" ];
};
};
}
@@ -0,0 +1,113 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.services.cook-cli;
inherit (lib)
mkIf
mkEnableOption
mkPackageOption
mkOption
getExe
types
;
in
{
options = {
services.cook-cli = {
enable = lib.mkEnableOption "cook-cli";
package = lib.mkPackageOption pkgs "cook-cli" { };
autoStart = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Whether to start cook-cli server automatically.
'';
};
port = lib.mkOption {
type = lib.types.port;
default = 9080;
description = ''
Which port cook-cli server will use.
'';
};
basePath = lib.mkOption {
type = lib.types.str;
default = "/var/lib/cook-cli";
description = ''
Path to the directory cook-cli will look for recipes.
'';
};
openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to open the cook-cli server port in the firewall.
'';
};
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd.tmpfiles.rules = [
"d ${cfg.basePath} 0770 cook-cli users"
];
users.users.cook-cli = {
home = "${cfg.basePath}";
group = "cook-cli";
isSystemUser = true;
};
users.groups.cook-cli.members = [
"cook-cli"
];
systemd.services.cook-cli = {
description = "cook-cli server";
serviceConfig = {
ExecStart = "${getExe cfg.package} server --host --port ${toString cfg.port} ${cfg.basePath}";
WorkingDirectory = cfg.basePath;
User = "cook-cli";
Group = "cook-cli";
# Hardening options
CapabilityBoundingSet = [ "CAP_SYS_NICE" ];
AmbientCapabilities = [ "CAP_SYS_NICE" ];
LockPersonality = true;
NoNewPrivileges = true;
PrivateTmp = true;
ProtectControlGroups = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectSystem = "strict";
ReadWritePaths = cfg.basePath;
RestrictNamespaces = true;
RestrictSUIDSGID = true;
Restart = "on-failure";
RestartSec = 5;
};
wantedBy = mkIf cfg.autoStart [ "multi-user.target" ];
wants = [ "network.target" ];
};
networking.firewall = lib.mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.port ];
};
};
meta.maintainers = [
lib.maintainers.luNeder
lib.maintainers.emilioziniades
];
}
@@ -13,8 +13,8 @@ let
cfg = config.services.discourse;
opt = options.services.discourse;
# Keep in sync with https://github.com/discourse/discourse_docker/blob/main/image/base/slim.Dockerfile#L5
upstreamPostgresqlVersion = lib.getVersion pkgs.postgresql_13;
# Keep in sync with https://github.com/discourse/discourse_docker/blob/main/image/base/Dockerfile PG_MAJOR
upstreamPostgresqlVersion = lib.getVersion pkgs.postgresql_15;
postgresqlPackage =
if config.services.postgresql.enable then config.services.postgresql.package else pkgs.postgresql;
@@ -676,6 +676,8 @@ in
dns_query_timeout_secs = null;
regex_timeout_seconds = 2;
allow_impersonation = true;
log_line_max_chars = 160000;
yjit_enabled = false;
};
services.redis.servers.discourse =
@@ -901,6 +903,9 @@ in
extraConfig
+ ''
proxy_set_header X-Request-Start "t=''${msec}";
proxy_set_header X-Sendfile-Type "";
proxy_set_header X-Accel-Mapping "";
proxy_set_header Client-Ip "";
'';
};
cache = time: ''
@@ -199,13 +199,6 @@ in
monospace = mkDefault [ "Hack" ];
};
# Qt application style.
qt = {
enable = mkDefault true;
style = mkDefault "gtk2";
platformTheme = mkDefault "gtk2";
};
environment.pathsToLink = [
"/share" # TODO: https://github.com/NixOS/nixpkgs/issues/47173
];
+1 -2
View File
@@ -59,7 +59,7 @@ import ./make-test-python.nix (
environment.systemPackages = [ pkgs.jq ];
services.postgresql.package = pkgs.postgresql_13;
services.postgresql.package = pkgs.postgresql_15;
services.discourse = {
enable = true;
@@ -104,7 +104,6 @@ import ./make-test-python.nix (
services.dovecot2 = {
enable = true;
protocols = [ "imap" ];
modules = [ pkgs.dovecot_pigeonhole ];
};
services.postfix = {
+24 -1
View File
@@ -42,6 +42,10 @@ in
environment.systemPackages = with pkgs; [ git ];
networking.hosts."127.0.0.1" = [
"registry.localhost"
"pages.localhost"
];
virtualisation.memorySize = 6144;
virtualisation.cores = 4;
virtualisation.useNixStoreImage = true;
@@ -59,6 +63,12 @@ in
localhost = {
locations."/".proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket";
};
"pages.localhost" = {
locations."/".proxyPass = "http://localhost:8090";
};
"registry.localhost" = {
locations."/".proxyPass = "http://localhost:4567";
};
};
};
@@ -78,7 +88,7 @@ in
smtp.enable = true;
pages = {
enable = true;
settings.pages-domain = "localhost";
settings.pages-domain = "pages.localhost";
};
extraConfig = {
incoming_email = {
@@ -98,6 +108,14 @@ in
jwsFile = pkgs.runCommand "oidcKeyBase" { } "${pkgs.openssl}/bin/openssl genrsa 2048 > $out";
};
registry = {
enable = true;
certFile = "/var/lib/gitlab/registry_auth_cert";
keyFile = "/var/lib/gitlab/registry_auth_key";
externalAddress = "registry.localhost";
externalPort = 443;
};
# reduce memory usage
sidekiq.concurrency = 1;
puma.workers = 2;
@@ -210,6 +228,7 @@ in
gitlab.wait_for_unit("gitlab-sidekiq.service")
gitlab.wait_for_file("${nodes.gitlab.services.gitlab.statePath}/tmp/sockets/gitlab.socket")
gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in")
gitlab.wait_for_unit("docker-registry.service")
'';
# The actual test of GitLab. Only push data to GitLab if
@@ -447,6 +466,10 @@ in
"""
)
gitlab.succeed("test -s /tmp/archive.tar.bz2")
''
+ ''
with subtest("Test docker registry http is available"):
gitlab.succeed("curl -sSf http://registry.localhost")
'';
in
+25 -34
View File
@@ -4,53 +4,45 @@
meta.maintainers = [ lib.maintainers.zupo ];
nodes.terminal =
{
config,
pkgs,
lib,
...
}:
let
# Create a patched version of the package that points to the local dashboard
# for easier testing
patchedPareto = pkgs.paretosecurity.overrideAttrs (oldAttrs: {
postPatch = ''
substituteInPlace team/report.go \
--replace-warn 'const reportURL = "https://dash.paretosecurity.com"' \
'const reportURL = "http://dashboard"'
'';
});
in
{ pkgs, ... }:
{
imports = [ ./common/user-account.nix ];
networking.firewall.enable = true;
services.paretosecurity = {
enable = true;
package = patchedPareto;
};
networking.firewall.enable = true;
# Create a patched version of the package that points to the local dashboard
# for easier testing
package = pkgs.paretosecurity.overrideAttrs (oldAttrs: {
postPatch =
oldAttrs.postPatch or ""
+ ''
substituteInPlace team/report.go \
--replace-warn 'const reportURL = "https://dash.paretosecurity.com"' \
'const reportURL = "http://dashboard"'
'';
});
};
};
nodes.dashboard =
{ config, pkgs, ... }:
{
networking.firewall.allowedTCPPorts = [ 80 ];
nodes.dashboard = {
networking.firewall.allowedTCPPorts = [ 80 ];
services.nginx = {
enable = true;
virtualHosts."dashboard" = {
locations."/api/v1/team/".extraConfig = ''
add_header Content-Type application/json;
return 200 '{"message": "Linked device."}';
'';
};
services.nginx = {
enable = true;
virtualHosts."dashboard" = {
locations."/api/v1/team/".extraConfig = ''
add_header Content-Type application/json;
return 200 '{"message": "Linked device."}';
'';
};
};
};
nodes.xfce =
{ config, pkgs, ... }:
{ pkgs, ... }:
{
imports = [ ./common/user-account.nix ];
@@ -76,7 +68,6 @@
environment.systemPackages = [ pkgs.xdotool ];
environment.variables.XAUTHORITY = "/home/alice/.Xauthority";
};
enableOCR = true;
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,26 @@
{
lib,
vimUtils,
fetchFromGitLab,
nix-update-script,
}:
vimUtils.buildVimPlugin {
pname = "sonarlint.nvim";
version = "0-unstable-2025-04-18";
src = fetchFromGitLab {
owner = "schrieveslaach";
repo = "sonarlint.nvim";
rev = "0b78f1db800f9ba76f81de773ba09ce2222bdcc2";
hash = "sha256-EUwuIFFe4tmw8u6RqEvOLL0Yi8J5cLBQx7ICxnmkT4k=";
};
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://gitlab.com/schrieveslaach/sonarlint.nvim";
description = "Extensions for the built-in Language Server Protocol support in Neovim for sonarlint-language-server";
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.sinics ];
};
}
@@ -374,6 +374,12 @@ in
'';
};
claude-code-nvim = super.claude-code-nvim.overrideAttrs {
dependencies = with self; [
plenary-nvim
];
};
clighter8 = super.clighter8.overrideAttrs {
preFixup = ''
sed "/^let g:clighter8_libclang_path/s|')$|${lib.getLib llvmPackages.clang.cc}/lib/libclang.so')|" \
@@ -2226,6 +2232,8 @@ in
"nvchad.cheatsheet.grid"
"nvchad.cheatsheet.simple"
"nvchad.blink.config"
# Circular dependency with base46
"nvchad.utils"
];
};
@@ -151,6 +151,7 @@ https://github.com/declancm/cinnamon.nvim/,HEAD,
https://github.com/projekt0n/circles.nvim/,,
https://github.com/zootedb0t/citruszest.nvim/,,
https://github.com/xavierd/clang_complete/,,
https://github.com/greggh/claude-code.nvim/,HEAD,
https://github.com/rhysd/clever-f.vim/,,
https://github.com/bbchung/clighter8/,,
https://github.com/ekickx/clipboard-image.nvim/,,
@@ -23,7 +23,7 @@ index 04b0a77f3..2330ea921 100644
protobuf>=3.12
qdarkstyle>=2.7
-aiorpcx>=0.22.0,<0.23
+aiorpcx>=0.22.0,<0.24
+aiorpcx>=0.22.0
aiohttp>=3.3.0,<4.0.0
aiohttp_socks>=0.3
certifi
@@ -31,14 +31,12 @@ diff --git a/run_electrum b/run_electrum
index a1b30f29e..cb22f8724 100755
--- a/run_electrum
+++ b/run_electrum
@@ -67,8 +67,8 @@ def check_imports():
@@ -67,8 +67,6 @@ def check_imports():
import aiorpcx
except ImportError as e:
sys.exit(f"Error: {str(e)}. Try 'sudo python3 -m pip install <module-name>'")
- if not ((0, 22, 0) <= aiorpcx._version < (0, 23)):
- raise RuntimeError(f'aiorpcX version {aiorpcx._version} does not match required: 0.22.0<=ver<0.23')
+ if not ((0, 22, 0) <= aiorpcx._version < (0, 24)):
+ raise RuntimeError(f'aiorpcX version {aiorpcx._version} does not match required: 0.22.0<=ver<0.24')
# the following imports are for pyinstaller
from google.protobuf import descriptor
from google.protobuf import message
+2 -2
View File
@@ -32,11 +32,11 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "scribus";
version = "1.6.3";
version = "1.6.4";
src = fetchurl {
url = "mirror://sourceforge/scribus/scribus-devel/scribus-${finalAttrs.version}.tar.xz";
hash = "sha256-CuWM7UEBAegmVeO0wgoHDPF2cUWtojPc73wguLpr1Ic=";
hash = "sha256-UzvnrwOs+qc27F96P8JWKr0gD+9coqfN7gK19E1hgp4=";
};
nativeBuildInputs = [
+12 -7
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
pkg-config,
kdePackages,
@@ -54,16 +55,25 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "amnezia-vpn";
version = "4.8.5.0";
version = "4.8.6.0";
src = fetchFromGitHub {
owner = "amnezia-vpn";
repo = "amnezia-client";
tag = finalAttrs.version;
hash = "sha256-k0BroQYrmJzM0+rSZMf20wHba5NbOK/xm5lbUFBNEHI=";
hash = "sha256-WQbay3dtGNPPpcK1O7bfs/HKO4ytfmQo60firU/9o28=";
fetchSubmodules = true;
};
# Temporary patch header file to fix build with QT 6.9
patches = [
(fetchpatch {
name = "add-missing-include.patch";
url = "https://github.com/amnezia-vpn/amnezia-client/commit/c44ce0d77cc3acdf1de48a12459a1a821d404a1c.patch";
hash = "sha256-Q6UMD8PlKAcI6zNolT5+cULECnxNrYrD7cifvNg1ZrY=";
})
];
postPatch =
''
substituteInPlace client/platforms/linux/daemon/wireguardutilslinux.cpp \
@@ -127,11 +137,6 @@ stdenv.mkDerivation (finalAttrs: {
runHook postInstall
'';
postFixup = ''
# Temporary unwrap non-binary executable until qt6.wrapQtAppsHook is fixed
mv $out/libexec/.update-resolv-conf.sh-wrapped $out/libexec/update-resolv-conf.sh
'';
passthru = {
inherit amnezia-tun2socks amnezia-xray;
updateScript = nix-update-script {
+48
View File
@@ -0,0 +1,48 @@
{
lib,
stdenv,
fetchFromGitHub,
rustPlatform,
pkg-config,
udev,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "asdbctl";
version = "1.0.0";
src = fetchFromGitHub {
owner = "juliuszint";
repo = "asdbctl";
tag = "v${finalAttrs.version}";
hash = "sha256-S5m1iQlchGKc0PODQNDHpNzaNXRepmk5zfK5aXdiMiM=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-OPmnGh6xN6XeREeIgyYB2aeHUpdQ5hFS5MivcTeY29E=";
nativeBuildInputs = [
pkg-config
];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
udev
];
postInstall = ''
install -Dm444 \
rules.d/20-asd-backlight.rules \
$out/lib/udev/rules.d/20-asd-backlight.rules
'';
meta = {
description = "Apple Studio Display brightness controll";
mainProgram = "asdbctl";
homepage = "https://github.com/juliuszint/asdbctl";
changelog = "https://github.com/juliuszint/asdbctl/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = [
lib.maintainers.danieldk
];
};
})
+3
View File
@@ -25,6 +25,7 @@ let
"8.1" = "sha256-oRd6PbBLOboH9EVRfZl5u71ZoVMFO4K/uftxlL/vm18=";
"8.2" = "sha256-95qBidNHIGLGCb3QbUIzBMHsRi2GTPhwAjJg+JTteDk=";
"8.3" = "sha256-8TO28o4YYFK1r2tInjXKenki/izHzZL0Dblaippekl8=";
"8.4" = "sha256-Dg+Q0W6Rh2L4J7hmxLxuM3l/dKYHT499Mix4Zpu2Vno=";
};
};
"i686-linux" = {
@@ -33,6 +34,7 @@ let
"8.1" = "sha256-mXJ1hO8NcODG7Wj3lQ+5lkSjcbkKLN5OOzcobigScKI=";
"8.2" = "sha256-P5fQTVfE/DvLD4E3kUPE+eeOM9YVNNixgWVRq3Ca5M4=";
"8.3" = "sha256-rMUv2EUlepBahMaEvs60i7RFTmaBe4P4qB1hcARqP9Y=";
"8.4" = "sha256-g7v7oN7wfrER9VPk6bGhr+l6GMh2iYHUihcXF9T4GOc=";
};
};
"aarch64-linux" = {
@@ -41,6 +43,7 @@ let
"8.1" = "sha256-Tj7LHXS4m9hF9gY/9vfOQPJVP+vHM1h8XdBY9vyRhFo=";
"8.2" = "sha256-6kfotMptfVLPL414mr6LeJZ3ODnjepYQYnKvg4fHIAg=";
"8.3" = "sha256-M/GTdinOi3Em7GJOm1iUKkuDNg8La3iQpG+wGHp0ycE=";
"8.4" = "sha256-/wwgP76liAb6//uvDLGD5l+skh4P22Q8KdZN7nlEbXI=";
};
};
"aarch64-darwin" = {
+8 -9
View File
@@ -3,30 +3,29 @@
buildNpmPackage,
fetchFromGitHub,
}:
let
buildNpmPackage (finalAttrs: {
pname = "clean-css-cli";
version = "5.6.3";
src = fetchFromGitHub {
owner = "clean-css";
repo = "clean-css-cli";
rev = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-tsFNcQg55uY2gL5xLLLS6INLlYzbsU6M3hnsYeOFGEw=";
};
in
buildNpmPackage {
pname = "clean-css-cli";
inherit version src;
npmDepsHash = "sha256-uvI9esVVOE18syHUCJpoiDY+Vh3hJO+GsMOTZSYJaxg=";
dontNpmBuild = true;
dontCheckForBrokenSymlinks = true;
meta = {
changelog = "https://github.com/clean-css/clean-css-cli/blob/${src.rev}/History.md";
description = "Command-line interface to the clean-css CSS optimization library";
homepage = "https://github.com/clean-css/clean-css-cli";
changelog = "https://github.com/clean-css/clean-css-cli/blob/v${finalAttrs.version}/History.md";
license = lib.licenses.mit;
mainProgram = "cleancss";
maintainers = with lib.maintainers; [ momeemt ];
};
}
})
@@ -45,11 +45,11 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "copilot-language-server";
version = "1.294.0";
version = "1.304.0";
src = fetchzip {
url = "https://github.com/github/copilot-language-server-release/releases/download/${finalAttrs.version}/copilot-language-server-native-${finalAttrs.version}.zip";
hash = "sha256-8nB8vlrSy+949HiJRCa9yFqu/GAaluFH1VzE63AUUs8=";
hash = "sha256-F0urL3bMlNcxHTrePYsagEx2664C7USYAcnhCCzB/rA=";
stripRoot = false;
};
+63
View File
@@ -0,0 +1,63 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "eliza";
version = "0-unstable-2025-02-21";
src = fetchFromGitHub {
owner = "anthay";
repo = "ELIZA";
rev = "27bcf6e5fb1d32812cc0aab8133fa5e395d41773";
hash = "sha256-/i8mckRQWTK1yI/MNaieSuE+dx94DMdrABkqf/bXQbM=";
};
doCheck = true;
# Unit tests are executed automatically on execution
checkPhase = ''
runHook preCheck
echo Corki is mana | ./eliza
runHook postCheck
'';
buildPhase = ''
runHook preBuild
$CXX -std=c++20 -pedantic -o eliza ./src/eliza.cpp
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm544 ./eliza $out/bin/eliza
runHook postInstall
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version=branch=master"
];
};
meta = {
description = "C++ simulation of Joseph Weizenbaums 1966 ELIZA";
longDescription = ''
This is an implementation in C++ of ELIZA that attempts to be as close
to the original as possible.
It was made to closely follow Joseph Weizenbaums description of his program
given in his January 1966 Communications of the ACM paper, and later changed
to follow the ELIZA source code found on 2021 and the SLIP programming
function HASH(D,N) found on 2022.
It is controlled by a script identical to the one given in the appendix of
the 1966 paper.
'';
license = lib.licenses.cc0;
mainProgram = "eliza";
homepage = "https://github.com/anthay/ELIZA";
maintainers = with lib.maintainers; [ EmanuelM153 ];
platforms = lib.platforms.all;
};
})
@@ -1,74 +0,0 @@
From 1d78c8bd4295262a3118f478e6b3a7c7536fa282 Mon Sep 17 00:00:00 2001
From: Johannes Altmanninger <aclopte@gmail.com>
Date: Wed, 19 Mar 2025 09:39:04 +0100
Subject: [PATCH] Fix concurrent setlocale() in string escape tests
In our C++ implementation, these tests were run serially. As pointed out in
https://github.com/fish-shell/fish-shell/issues/11254#issuecomment-2735623229
we run them in parallel now, which means that one test could be changing
the global locale used by another.
In theory this could be fine because all tests are setting setting the
global locale to the same thing but the existence of a lock suggests that
setlocale() is not guaranteed to be atomic, so it's possible that another
thread uses a temporarily-invalid locale.
Fixes #11254
---
src/tests/string_escape.rs | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/tests/string_escape.rs b/src/tests/string_escape.rs
index ba8ee7534ebf..4428d679cd35 100644
--- a/src/tests/string_escape.rs
+++ b/src/tests/string_escape.rs
@@ -1,3 +1,5 @@
+use std::sync::MutexGuard;
+
use crate::common::{
escape_string, str2wcstring, unescape_string, wcs2string, EscapeFlags, EscapeStringStyle,
UnescapeStringStyle, ENCODE_DIRECT_BASE, ENCODE_DIRECT_END,
@@ -10,21 +12,21 @@ use rand::{Rng, RngCore};
/// wcs2string is locale-dependent, so ensure we have a multibyte locale
/// before using it in a test.
-fn setlocale() {
- let _guard = LOCALE_LOCK.lock().unwrap();
+fn setlocale() -> MutexGuard<'static, ()> {
+ let guard = LOCALE_LOCK.lock().unwrap();
#[rustfmt::skip]
const UTF8_LOCALES: &[&str] = &[
"C.UTF-8", "en_US.UTF-8", "en_GB.UTF-8", "de_DE.UTF-8", "C.utf8", "UTF-8",
];
if crate::libc::MB_CUR_MAX() > 1 {
- return;
+ return guard;
}
for locale in UTF8_LOCALES {
let locale = std::ffi::CString::new(locale.to_owned()).unwrap();
unsafe { libc::setlocale(libc::LC_CTYPE, locale.as_ptr()) };
if crate::libc::MB_CUR_MAX() > 1 {
- return;
+ return guard;
}
}
panic!("No UTF-8 locale found");
@@ -100,7 +102,7 @@ fn test_escape_var() {
}
fn escape_test(escape_style: EscapeStringStyle, unescape_style: UnescapeStringStyle) {
- setlocale();
+ let _locale_guard = setlocale();
let seed: u128 = 92348567983274852905629743984572;
let mut rng = get_seeded_rng(seed);
@@ -174,7 +176,7 @@ fn str2hex(input: &[u8]) -> String {
/// string comes back through double conversion.
#[test]
fn test_convert() {
- setlocale();
+ let _locale_guard = setlocale();
let seed = get_rng_seed();
let mut rng = get_seeded_rng(seed);
let mut origin = Vec::new();
+3 -7
View File
@@ -152,13 +152,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "fish";
version = "4.0.1";
version = "4.0.2";
src = fetchFromGitHub {
owner = "fish-shell";
repo = "fish-shell";
tag = finalAttrs.version;
hash = "sha256-Mj4v2ubYr4ufs7aU/1AdY239byiCJHKXam64af/VO3U=";
hash = "sha256-UpoZPipXZbzLWCOXzDjfyTDrsKyXGbh3Rkwj5IeWeY4=";
};
env = {
@@ -169,7 +169,7 @@ stdenv.mkDerivation (finalAttrs: {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src patches;
hash = "sha256-4kqBrpeneCpF0WohP1ZArKrV3duHAE01XA5+GT9f56w=";
hash = "sha256-FkJB33vVVz7Kh23kfmjQDn61X2VkKLG9mUt8f3TrCHg=";
};
patches = [
@@ -188,10 +188,6 @@ stdenv.mkDerivation (finalAttrs: {
# * <https://github.com/LnL7/nix-darwin/issues/122>
# * <https://github.com/fish-shell/fish-shell/issues/7142>
./nix-darwin-path.patch
# remove 4.0.2
# https://github.com/fish-shell/fish-shell/issues/11254
./1d78c8bd4295262a3118f478e6b3a7c7536fa282.patch
];
# Fix FHS paths in tests
+3 -3
View File
@@ -13,17 +13,17 @@
rustPlatform.buildRustPackage rec {
pname = "gitu";
version = "0.29.0";
version = "0.30.3";
src = fetchFromGitHub {
owner = "altsem";
repo = "gitu";
rev = "v${version}";
hash = "sha256-c2YVcE+a/9Z6qTLEbcSFE6393SEeudyvdbzCRJfszcc=";
hash = "sha256-WXz8H68EpvkUEpdEbdukggbjFXUPA+FRcZTsk48W6TU=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-+tSNUtsDFKqx5W8+cuxyFsG1etm44eYgoYuoUt5tw3E=";
cargoHash = "sha256-0+KHO7CGYdifQGbtywuK5xQmS2BuxFX50eMGpo5RRYU=";
nativeBuildInputs = [
pkg-config
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "hjson-go";
version = "4.4.0";
version = "4.5.0";
src = fetchFromGitHub {
owner = "hjson";
repo = pname;
rev = "v${version}";
hash = "sha256-fonPxk/9ue8LzHTdKpuHJcucQoMl4P6gq+tbjS8Ui7Q=";
hash = "sha256-0xFTxnXMJA98+Y6gwO8zCDPQvLecG1qmbGAISCFMaPw=";
};
vendorHash = null;
+2 -2
View File
@@ -6,10 +6,10 @@
}:
let
pname = "hydralauncher";
version = "3.4.0";
version = "3.4.4";
src = fetchurl {
url = "https://github.com/hydralauncher/hydra/releases/download/v${version}/hydralauncher-${version}.AppImage";
hash = "sha256-d2ZtCAbj7xYkLhsuTPi9/ORb+Nkk5KbGvaDSaawqGcU=";
hash = "sha256-7mYwjxfef9uiBI2idLUqQxJ4hiWiPVCdMnw1MaovUEM=";
};
appimageContents = appimageTools.extractType2 { inherit pname src version; };
@@ -8,11 +8,11 @@
let
pname = "ledger-live-desktop";
version = "2.107.0";
version = "2.109.0";
src = fetchurl {
url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
hash = "sha256-PtoazbAwwG856M2HoPjN6yuTHlSiIJs5PziDrkLAEZE=";
hash = "sha256-wqY5f+A4j+KY99LulL8YS1eACvEsTSfMGV7Be6yOMqM=";
};
appimageContents = appimageTools.extractType2 {
+6 -1
View File
@@ -25,12 +25,17 @@ stdenv.mkDerivation rec {
hash = "sha256-5oJV8gr2rwvSdpX5w3gmIw/LTrWtXVnl6oLr/soNTDk=";
};
outputs = [
"out"
"dev"
];
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
propagatedBuildInputs = [
pcre2
];
-2
View File
@@ -2,7 +2,6 @@
lib,
buildNimPackage,
fetchFromGitHub,
pcre,
versionCheckHook,
}:
@@ -21,7 +20,6 @@ buildNimPackage (finalAttrs: {
lockFile = ./lock.json;
buildInputs = [ pcre ];
nativeBuildInputs = [ versionCheckHook ];
nimFlags = [ ''--passC:"-Wno-incompatible-pointer-types"'' ];
+22 -14
View File
@@ -5,49 +5,57 @@
testers,
paretosecurity,
nixosTests,
pkg-config,
gtk3,
webkitgtk_4_1,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
nativeBuildInputs = [ pkg-config ];
buildInputs = [
gtk3
webkitgtk_4_1
];
pname = "paretosecurity";
version = "0.1.3";
version = "0.1.9";
src = fetchFromGitHub {
owner = "ParetoSecurity";
repo = "agent";
rev = version;
hash = "sha256-ovyfHqLCf5U3UR1HfoA+UQhqLZ6IaILcpqptPRQsb60=";
rev = finalAttrs.version;
hash = "sha256-KJs4xC3EtGG4116UE+oIEwAMcuDWIm9gqgZY+Bv14ac=";
};
vendorHash = "sha256-7mKAFkKGpBOjXc3J/sfF3k3pJF53tFybXZgbfJInuSY=";
vendorHash = "sha256-3plpvwLe32AsGuVzdM2fSmTPkKwRFmhi651NEIRdOxw=";
proxyVendor = true;
ldflags = [
"-s"
"-X=github.com/ParetoSecurity/agent/shared.Version=${version}"
"-X=github.com/ParetoSecurity/agent/shared.Commit=${src.rev}"
"-X=github.com/ParetoSecurity/agent/shared.Version=${finalAttrs.version}"
"-X=github.com/ParetoSecurity/agent/shared.Commit=${finalAttrs.src.rev}"
"-X=github.com/ParetoSecurity/agent/shared.Date=1970-01-01T00:00:00Z"
];
postInstall = ''
# Install global systemd files
install -Dm400 ${src}/apt/paretosecurity.socket $out/lib/systemd/system/paretosecurity.socket
install -Dm400 ${src}/apt/paretosecurity.service $out/lib/systemd/system/paretosecurity.service
install -Dm400 ${finalAttrs.src}/apt/paretosecurity.socket $out/lib/systemd/system/paretosecurity.socket
install -Dm400 ${finalAttrs.src}/apt/paretosecurity.service $out/lib/systemd/system/paretosecurity.service
substituteInPlace $out/lib/systemd/system/paretosecurity.service \
--replace-fail "/usr/bin/paretosecurity" "$out/bin/paretosecurity"
# Install user systemd files
install -Dm444 ${src}/apt/paretosecurity-user.timer $out/lib/systemd/user/paretosecurity-user.timer
install -Dm444 ${src}/apt/paretosecurity-user.service $out/lib/systemd/user/paretosecurity-user.service
install -Dm444 ${finalAttrs.src}/apt/paretosecurity-user.timer $out/lib/systemd/user/paretosecurity-user.timer
install -Dm444 ${finalAttrs.src}/apt/paretosecurity-user.service $out/lib/systemd/user/paretosecurity-user.service
substituteInPlace $out/lib/systemd/user/paretosecurity-user.service \
--replace-fail "/usr/bin/paretosecurity" "$out/bin/paretosecurity"
install -Dm444 ${src}/apt/paretosecurity-trayicon.service $out/lib/systemd/user/paretosecurity-trayicon.service
install -Dm444 ${finalAttrs.src}/apt/paretosecurity-trayicon.service $out/lib/systemd/user/paretosecurity-trayicon.service
substituteInPlace $out/lib/systemd/user/paretosecurity-trayicon.service \
--replace-fail "/usr/bin/paretosecurity" "$out/bin/paretosecurity"
'';
passthru.tests = {
version = testers.testVersion {
version = "${version}";
inherit (finalAttrs) version;
package = paretosecurity;
};
integration_test = nixosTests.paretosecurity;
@@ -80,4 +88,4 @@ buildGoModule rec {
maintainers = with lib.maintainers; [ zupo ];
mainProgram = "paretosecurity";
};
}
})
+2 -2
View File
@@ -9,11 +9,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "proton-pass";
version = "1.30.1";
version = "1.31.1";
src = fetchurl {
url = "https://proton.me/download/pass/linux/x64/proton-pass_${finalAttrs.version}_amd64.deb";
hash = "sha256-0IEQAzK3Pu195kjpo9l2HdLUCySR0HKSl1M8Z9URgJA=";
hash = "sha256-OYd26KTq2uoZzqyb2ntk3bS5cKcJJ7od0VIHfSK8lqs=";
};
dontConfigure = true;
+5 -5
View File
@@ -32,18 +32,18 @@
stdenv.mkDerivation (finalAttrs: rec {
pname = "q2pro";
version = "0-unstable-2025-04-03";
version = "0-unstable-2025-04-18";
src = fetchFromGitHub {
owner = "skullernet";
repo = "q2pro";
rev = "0e00beedaa892fd5f6e50d33231978846ab2d5de";
hash = "sha256-xw09M7EtXJ7i6myj/Em0Rtg5CmZtpbyRWmkPhCApu7I=";
rev = "1cc95be8bb967f4274e54a6d7251e4cd7f5ed9c1";
hash = "sha256-7dsFzCnWiVNioyRIW0KjicfgGTxjozicUpDJG5jGvB0=";
};
# build date and rev number is displayed in the game's console
revCount = "3749"; # git rev-list --count ${src.rev}
SOURCE_DATE_EPOCH = "1743706497"; # git show -s --format=%ct ${src.rev}
revCount = "3782"; # git rev-list --count ${src.rev}
SOURCE_DATE_EPOCH = "1744997502"; # git show -s --format=%ct ${src.rev}
nativeBuildInputs =
[
+25 -39
View File
@@ -10,17 +10,20 @@
xorg,
libxkbcommon,
wayland,
# Darwin Frameworks
AppKit,
CoreGraphics,
CoreServices,
CoreText,
Foundation,
libiconv,
OpenGL,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "slint-lsp";
version = "1.10.0";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-5LDEjJx+PC6pOem06DKFkPcjpIkF20gbxi/PAVZT1ns=";
};
cargoHash = "sha256-1/4dOlhByJDpduExu9ZOjb7JYFKehnLiLCboWUnmfp8=";
let
rpathLibs =
[
fontconfig
@@ -34,52 +37,35 @@ let
libxkbcommon
wayland
];
in
rustPlatform.buildRustPackage rec {
pname = "slint-lsp";
version = "1.10.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-5LDEjJx+PC6pOem06DKFkPcjpIkF20gbxi/PAVZT1ns=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-1/4dOlhByJDpduExu9ZOjb7JYFKehnLiLCboWUnmfp8=";
nativeBuildInputs = [
cmake
pkg-config
fontconfig
];
buildInputs =
rpathLibs
++ [ xorg.libxcb.dev ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
AppKit
CoreGraphics
CoreServices
CoreText
Foundation
libiconv
OpenGL
];
buildInputs = finalAttrs.rpathLibs ++ [ xorg.libxcb.dev ];
# Tests requires `i_slint_backend_testing` which is only a dev dependency
doCheck = false;
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
patchelf --set-rpath ${lib.makeLibraryPath rpathLibs} $out/bin/slint-lsp
patchelf --set-rpath ${lib.makeLibraryPath finalAttrs.rpathLibs} $out/bin/slint-lsp
'';
dontPatchELF = true;
meta = with lib; {
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Language Server Protocol (LSP) for Slint UI language";
mainProgram = "slint-lsp";
homepage = "https://slint-ui.com/";
changelog = "https://github.com/slint-ui/slint/blob/v${version}/CHANGELOG.md";
license = with licenses; [ gpl3Plus ];
maintainers = with maintainers; [ xgroleau ];
downloadPage = "https://github.com/slint-ui/slint/";
changelog = "https://github.com/slint-ui/slint/blob/v${finalAttrs.version}/CHANGELOG.md";
license = with lib.licenses; [ gpl3Plus ];
maintainers = with lib.maintainers; [ xgroleau ];
};
}
})
@@ -5,7 +5,7 @@
cmake,
}:
let
version = "8.0.0";
version = "9.1.0";
in
stdenv.mkDerivation (finalAttrs: {
pname = "source-meta-json-schema";
@@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "sourcemeta";
repo = "jsonschema";
rev = "v${version}";
hash = "sha256-EH+wi8MAgAxTy7OPQK/faX6OVY38/Z5fXhaK92xKkyA=";
hash = "sha256-YxIRDTAAvkltT4HGUvPt/davarGRfE808OoI9UheqCA=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -10,17 +10,17 @@
rustPlatform.buildRustPackage rec {
pname = "stargazer";
version = "1.3.1";
version = "1.3.2";
src = fetchFromSourcehut {
owner = "~zethra";
repo = "stargazer";
rev = version;
hash = "sha256-0vbQDHuLrgrsWiOb2hb6lYylJm5o/wOzoDIw85H8Eh0=";
hash = "sha256-Yulm0XkVaN+yBKj8LDsn8pBYXEqTOSGLqbpIKDN0G2U=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-KdHYyuH1RMLRueqYbfADUktBx9aL8yTagB0KxEGQsCs=";
cargoHash = "sha256-MtpJTLKhlVF5AE3huL0JRWXtNCtc0Z5b/S28ekzirPA=";
passthru = {
tests.basic-functionality = nixosTests.stargazer;
@@ -1,23 +1,23 @@
{
version = "1.22.0";
version = "1.22.1";
x86_64-linux = {
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.0/linux/amd64/sysdig-cli-scanner";
hash = "sha256-qGbQRiUvoynxUeYSmjrz5r9bunthcmQWDzLtTqPu4IU=";
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.1/linux/amd64/sysdig-cli-scanner";
hash = "sha256-ogQ7NhpU0KZkcZXWSBX4VaTWwXz5WWMXhqZ9abHX6+Y=";
};
aarch64-linux = {
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.0/linux/arm64/sysdig-cli-scanner";
hash = "sha256-bfY5FRPU7rEVN0o/nf39q8qFP7zgffoEX1iPXbZ22pw=";
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.1/linux/arm64/sysdig-cli-scanner";
hash = "sha256-apj4GqN7sdZSzpk+FvqcYJLgh+UlcJgPUdXhhurFENQ=";
};
x86_64-darwin = {
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.0/darwin/amd64/sysdig-cli-scanner";
hash = "sha256-F5br4BJnB9yRWfpqEJgy79csjfYY/St1a/rPGXdvj6A=";
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.1/darwin/amd64/sysdig-cli-scanner";
hash = "sha256-o5AYd3/8Ot7+EtQ2SXaV72JbR/hI/5Pu7g2jdHZYepo=";
};
aarch64-darwin = {
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.0/darwin/arm64/sysdig-cli-scanner";
hash = "sha256-CsMZ8m9eJNcOxq77IVLuW1COOa2+mABoMGJ+xk/NARI=";
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.1/darwin/arm64/sysdig-cli-scanner";
hash = "sha256-FDkqWstWMTtF0QLWk+iadJr7aRHRnpiatqAeoHftVDk=";
};
}
+3 -3
View File
@@ -9,13 +9,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "system76-power";
version = "1.2.3";
version = "1.2.4";
src = fetchFromGitHub {
owner = "pop-os";
repo = "system76-power";
tag = finalAttrs.version;
hash = "sha256-fyatAoWw/4ORojayA90er+H5weRykg+2ZzTsGThpW5g=";
hash = "sha256-SHGfs3ZokPOM2nkd/8F/5zjxh9sPXVBtHWkCbmKwEMo=";
};
nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
];
useFetchCargoVendor = true;
cargoHash = "sha256-/dhuWgHysJ2oWgJ6jc9u4tsUOxlFt/awlK/9Jk1GHCM=";
cargoHash = "sha256-Q/6OFNbqvRDTCT1MyJ3gqd4BTXXRouvnKSM3cm1jQ1g=";
postInstall = ''
install -D -m 0644 data/com.system76.PowerDaemon.conf $out/etc/dbus-1/system.d/com.system76.PowerDaemon.conf
@@ -5,12 +5,11 @@
fetchurl,
cmake,
withQt ? true,
qtbase,
wrapQtAppsHook,
libsForQt5,
withCurses ? false,
ncurses,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
version = "12.4";
pname = "textadept";
@@ -18,13 +17,13 @@ stdenv.mkDerivation rec {
name = "textadept11";
owner = "orbitalquark";
repo = "textadept";
rev = "textadept_${version}";
sha256 = "sha256-nPgpQeBq5Stv2o0Ke4W2Ltnx6qLe5TIC5a8HSYVkmfI=";
tag = "textadept_${finalAttrs.version}";
hash = "sha256-nPgpQeBq5Stv2o0Ke4W2Ltnx6qLe5TIC5a8HSYVkmfI=";
};
nativeBuildInputs = [ cmake ] ++ lib.optionals withQt [ wrapQtAppsHook ];
nativeBuildInputs = [ cmake ] ++ lib.optionals withQt [ libsForQt5.wrapQtAppsHook ];
buildInputs = lib.optionals withQt [ qtbase ] ++ lib.optionals withCurses ncurses;
buildInputs = lib.optionals withQt [ libsForQt5.qtbase ] ++ lib.optionals withCurses ncurses;
cmakeFlags =
lib.optional withQt [ "-DQT=ON" ]
@@ -44,16 +43,18 @@ stdenv.mkDerivation rec {
) (import ./deps.nix)
);
meta = with lib; {
meta = {
description = "Extensible text editor based on Scintilla with Lua scripting";
homepage = "http://foicica.com/textadept";
license = licenses.mit;
maintainers = with maintainers; [
downloadPage = "https://github.com/orbitalquark/textadept";
changelog = "https://github.com/orbitalquark/textadept/releases/tag/textadept_${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
raskin
mirrexagon
arcuru
];
platforms = platforms.linux;
platforms = lib.platforms.linux;
mainProgram = "textadept";
};
}
})
+2 -2
View File
@@ -9,14 +9,14 @@
python3Packages.buildPythonApplication rec {
pname = "vectorcode";
version = "0.5.5";
version = "0.5.6";
pyproject = true;
src = fetchFromGitHub {
owner = "Davidyz";
repo = "VectorCode";
tag = version;
hash = "sha256-hoANo+CqGvMyFSPDVYVWJUf6UUo3n9C1Yu8xt5yrZUs=";
hash = "sha256-paFUgPf8zTtMli0qh2bXjnmny2bDQxDwWE03yn0rWUY=";
};
build-system = with python3Packages; [
+4 -3
View File
@@ -45,13 +45,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "vulkan-cts";
version = "1.3.10.0";
version = "1.4.1.3";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "VK-GL-CTS";
rev = "vulkan-cts-${finalAttrs.version}";
hash = "sha256-owa4Z/gu9+plPxeSfduS3gUk9WTOHSDoXLTBju6tTGc=";
hash = "sha256-44UGGeuKMCP4fLsZnIPdWDjozd87su9TUbFBnftVrNY=";
};
prePatch = ''
@@ -107,6 +107,7 @@ stdenv.mkDerivation (finalAttrs: {
# For vulkan-validation-layers
"-DGLSLANG_INSTALL_DIR=${glslang}"
"-DSPIRV_HEADERS_INSTALL_DIR=${spirv-headers}"
"-DSELECTED_BUILD_TARGETS=deqp-vk"
];
postInstall = ''
@@ -114,7 +115,7 @@ stdenv.mkDerivation (finalAttrs: {
! test -e $out
mkdir -p $out/bin $out/archive-dir
cp -a external/vulkancts/modules/vulkan/deqp-vk external/vulkancts/modules/vulkan/deqp-vksc $out/bin/
cp -a external/vulkancts/modules/vulkan/deqp-vk $out/bin/
cp -a external/vulkancts/modules/vulkan/vulkan $out/archive-dir/
cp -a external/vulkancts/modules/vulkan/vk-default $out/
+31 -15
View File
@@ -4,15 +4,15 @@ rec {
amber = fetchFromGitHub {
owner = "google";
repo = "amber";
rev = "67fea651b886460d7b72295e680528c059bbbe40";
hash = "sha256-oDN7UdyfNMG4r36nnRJmYdbd0wyd1titGQQNa9e/3tU=";
rev = "1ec5e96db7e0343d045a52c590e30eba154f74a8";
hash = "sha256-4LoV7PfkwLrg+7GyuB1poC/9zE/3jy8nhs+uPe2U3lA=";
};
glslang = fetchFromGitHub {
owner = "KhronosGroup";
repo = "glslang";
rev = "c5b76b78c9dec95251e9c1840a671e19bf61abe3";
hash = "sha256-N7vGPqQieWnr+mbrmdbvzz7n9q3bbRKLxkYt6OiaJvU=";
rev = "3a2834e7702651043ca9f35d022739e740563516";
hash = "sha256-hHmqvdgBS23bLGCzlKJtlElw79/WvxEbPSwpbQFHQYY=";
};
jsoncpp = fetchFromGitHub {
@@ -25,40 +25,54 @@ rec {
nvidia-video-samples = fetchFromGitHub {
owner = "Igalia";
repo = "vk_video_samples";
rev = "6821adf11eb4f84a2168264b954c170d03237699";
hash = "sha256-prshOzxUHLYi64Pbyytsp+XvmtIIyhx/3n5IVimYH64=";
rev = "45fe88b456c683120138f052ea81f0a958ff3ec4";
hash = "sha256-U5IoiRKXsdletVlnHVz8rgMEwDOZFAuld5Bzs0rvcR4=";
};
spirv-headers = fetchFromGitHub {
owner = "KhronosGroup";
repo = "SPIRV-Headers";
rev = "2a9b6f951c7d6b04b6c21fe1bf3f475b68b84801";
hash = "sha256-o1yRTvP7a+XVwendTKBJKNnelVGWLD0gH258GGeUDhQ=";
rev = "36d5e2ddaa54c70d2f29081510c66f4fc98e5e53";
hash = "sha256-8hx8/1vaY4mRnfNaBsghWqpzyzY4hkVkNFbQEFZif9g=";
};
spirv-tools = fetchFromGitHub {
owner = "KhronosGroup";
repo = "SPIRV-Tools";
rev = "44936c4a9d42f1c67e34babb5792adf5bce7f76b";
hash = "sha256-kSiP94hMlblFod2mQhlAQDAENGOvBh7v8bCxxaiYWq4=";
rev = "3fb52548bc8a68d349d31e21bd4e80e3d953e87c";
hash = "sha256-RJ3Q3U4GjqvUXDy8Jd4NWgjhKOxYMMK1Jerj19dAqno=";
};
video_generator = fetchFromGitHub {
owner = "Igalia";
repo = "video_generator";
rev = "426300e12a5cc5d4676807039a1be237a2b68187";
hash = "sha256-zdYYpX3hed7i5onY7c60LnM/e6PLa3VdrhXTV9oSlvg=";
};
vulkan-docs = fetchFromGitHub {
owner = "KhronosGroup";
repo = "Vulkan-Docs";
rev = "486e4b289053a7d64784e7ce791711843c60c235";
hash = "sha256-LGAHUeWF9X6Li1HcdD14pgnBUquWxA+bQpAL09JmwLQ=";
rev = "c7a3955e47d223c6a37fb29e2061c973eec98d0a";
hash = "sha256-dTkLzENuEfe0TVvJAgYevJNPyI/lWbjx8Pzz3Lj76PY=";
};
vulkan-validationlayers = fetchFromGitHub {
owner = "KhronosGroup";
repo = "Vulkan-ValidationLayers";
rev = "9a46ae006fa5c92e2d2af7944187f7794210844b";
hash = "sha256-qVQy3kKkZRWHjtj2YxJTZqKg1kwnmLa3bgVathisfOc=";
rev = "902f3cf8d51e76be0c0deb4be39c6223abebbae2";
hash = "sha256-p4DFlyU1jjfVFlEOE21aNHfqaTZ8QbSCFQfpsYS0KR0=";
};
vulkan-video-samples = fetchFromGitHub {
owner = "KhronosGroup";
repo = "Vulkan-Video-Samples";
rev = "0e87744edbb84c9c56c3fc8de9ea5150af5ee4ea";
hash = "sha256-CZ1zoX9gI+Ac/jf2IxWk59NXPiW6qcMhj9laoZnQfd8=";
};
prePatch = ''
mkdir -p external/amber external/glslang external/jsoncpp external/nvidia-video-samples external/spirv-headers external/spirv-tools external/vulkan-docs external/vulkan-validationlayers
mkdir -p external/amber external/glslang external/jsoncpp external/nvidia-video-samples external/spirv-headers external/spirv-tools external/video_generator external/vulkan-docs external/vulkan-validationlayers external/vulkan-video-samples
cp -r ${amber} external/amber/src
cp -r ${glslang} external/glslang/src
@@ -66,7 +80,9 @@ rec {
cp -r ${nvidia-video-samples} external/nvidia-video-samples/src
cp -r ${spirv-headers} external/spirv-headers/src
cp -r ${spirv-tools} external/spirv-tools/src
cp -r ${video_generator} external/video_generator/src
cp -r ${vulkan-docs} external/vulkan-docs/src
cp -r ${vulkan-validationlayers} external/vulkan-validationlayers/src
cp -r ${vulkan-video-samples} external/vulkan-video-samples/src
'';
}
+1 -1
View File
@@ -74,7 +74,7 @@ def main():
f.write(f" hash = \"{hash}\";\n");
f.write(f" }};\n");
f.write("\n\n prePatch = ''\n");
f.write("\n prePatch = ''\n");
f.write(" mkdir -p");
for pkg in pkgs:
if isinstance(pkg, fetch_sources.GitRepo):
+2 -2
View File
@@ -9,7 +9,7 @@
libgeotiff,
xorg,
motif,
pcre,
pcre2,
perl,
proj,
graphicsmagick,
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
xorg.libXpm
xorg.libXt
motif
pcre
pcre2
perl
proj
graphicsmagick
@@ -4,21 +4,21 @@
fetchFromGitHub,
pkg-config,
openssl,
stdenv,
Security,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zee";
version = "0.3.2";
src = fetchFromGitHub {
owner = "zee-editor";
repo = pname;
rev = "v${version}";
sha256 = "sha256-/9SogKOaXdFDB+e0//lrenTTbfmXqNFGr23L+6Pnm8w=";
repo = "zee";
tag = "v${finalAttrs.version}";
hash = "sha256-/9SogKOaXdFDB+e0//lrenTTbfmXqNFGr23L+6Pnm8w=";
};
cargoHash = "sha256-auwbpavF/WZQIE/htYXJ4di6xoRtXkBBkP/Bj4lFp6U=";
cargoPatches = [
# fixed upstream but unreleased
./update-ropey-for-rust-1.65.diff
@@ -26,21 +26,18 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] ++ lib.optional stdenv.hostPlatform.isDarwin Security;
buildInputs = [ openssl ];
# disable downloading and building the tree-sitter grammars at build time
# grammars can be configured in a config file and installed with `zee --build`
# see https://github.com/zee-editor/zee#syntax-highlighting
ZEE_DISABLE_GRAMMAR_BUILD = 1;
env.ZEE_DISABLE_GRAMMAR_BUILD = 1;
useFetchCargoVendor = true;
cargoHash = "sha256-auwbpavF/WZQIE/htYXJ4di6xoRtXkBBkP/Bj4lFp6U=";
meta = with lib; {
meta = {
description = "Modern text editor for the terminal written in Rust";
homepage = "https://github.com/zee-editor/zee";
license = licenses.mit;
maintainers = with maintainers; [ booklearner ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ booklearner ];
mainProgram = "zee";
};
}
})
@@ -26,13 +26,13 @@
stdenv.mkDerivation rec {
pname = "elementary-settings-daemon";
version = "8.2.0";
version = "8.3.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "settings-daemon";
rev = version;
sha256 = "sha256-mLchzYp2HB4QEJS/Jz9o7ZSKUJtbUUUbFCTHwHZYCEE=";
sha256 = "sha256-0/G5h1eZi3qnjesrvWF6MiMX+FmpW4ys2tRUMBiUCS0=";
};
nativeBuildInputs = [
+106 -93
View File
@@ -9,108 +9,121 @@
curses-library ? if stdenv.hostPlatform.isWindows then termcap else ncurses,
}:
stdenv.mkDerivation rec {
pname = "readline";
version = "8.2p${toString (builtins.length upstreamPatches)}";
stdenv.mkDerivation (
finalAttrs:
let
inherit (finalAttrs) upstreamPatches meta;
in
{
pname = "readline";
version = "8.2p${toString (builtins.length upstreamPatches)}";
src = fetchurl {
url = "mirror://gnu/readline/readline-${meta.branch}.tar.gz";
sha256 = "sha256-P+txcfFqhO6CyhijbXub4QmlLAT0kqBTMx19EJUAfDU=";
};
src = fetchurl {
url = "mirror://gnu/readline/readline-${meta.branch}.tar.gz";
sha256 = "sha256-P+txcfFqhO6CyhijbXub4QmlLAT0kqBTMx19EJUAfDU=";
};
outputs = [
"out"
"dev"
"man"
"doc"
"info"
];
strictDeps = true;
propagatedBuildInputs = [ curses-library ];
nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
patchFlags = [ "-p0" ];
upstreamPatches = (
let
patch =
nr: sha256:
fetchurl {
url = "mirror://gnu/readline/readline-${meta.branch}-patches/readline82-${nr}";
inherit sha256;
};
in
import ./readline-8.2-patches.nix patch
);
patches =
lib.optionals (curses-library.pname == "ncurses") [
./link-against-ncurses.patch
]
++ [
./no-arch_only-8.2.patch
]
++ upstreamPatches
++ lib.optionals stdenv.hostPlatform.isWindows [
(fetchpatch {
name = "0001-sigwinch.patch";
url = "https://github.com/msys2/MINGW-packages/raw/90e7536e3b9c3af55c336d929cfcc32468b2f135/mingw-w64-readline/0001-sigwinch.patch";
stripLen = 1;
hash = "sha256-sFK6EJrSNl0KLWqFv5zBXaQRuiQoYIZVoZfa8BZqfKA=";
})
(fetchpatch {
name = "0002-event-hook.patch";
url = "https://github.com/msys2/MINGW-packages/raw/3476319d2751a676b911f3de9e1ec675081c03b8/mingw-w64-readline/0002-event-hook.patch";
stripLen = 1;
hash = "sha256-F8ytYuIjBtH83ZCJdf622qjwSw+wZEVyu53E/mPsoAo=";
})
(fetchpatch {
name = "0003-fd_set.patch";
url = "https://github.com/msys2/MINGW-packages/raw/35830ab27e5ed35c2a8d486961ab607109f5af50/mingw-w64-readline/0003-fd_set.patch";
stripLen = 1;
hash = "sha256-UiaXZRPjKecpSaflBMCphI2kqOlcz1JkymlCrtpMng4=";
})
(fetchpatch {
name = "0004-locale.patch";
url = "https://github.com/msys2/MINGW-packages/raw/f768c4b74708bb397a77e3374cc1e9e6ef647f20/mingw-w64-readline/0004-locale.patch";
stripLen = 1;
hash = "sha256-dk4343KP4EWXdRRCs8GRQlBgJFgu1rd79RfjwFD/nJc=";
})
outputs = [
"out"
"dev"
"man"
"doc"
"info"
];
# This install error is caused by a very old libtool. We can't autoreconfHook this package,
# so this is the best we've got!
postInstall = lib.optionalString stdenv.hostPlatform.isOpenBSD ''
ln -s $out/lib/libhistory.so* $out/lib/libhistory.so
ln -s $out/lib/libreadline.so* $out/lib/libreadline.so
'';
strictDeps = true;
propagatedBuildInputs = [ curses-library ];
nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
meta = with lib; {
description = "Library for interactive line editing";
patchFlags = [ "-p0" ];
longDescription = ''
The GNU Readline library provides a set of functions for use by
applications that allow users to edit command lines as they are
typed in. Both Emacs and vi editing modes are available. The
Readline library includes additional functions to maintain a
list of previously-entered command lines, to recall and perhaps
reedit those lines, and perform csh-like history expansion on
previous commands.
upstreamPatches = (
let
patch =
nr: sha256:
fetchurl {
url = "mirror://gnu/readline/readline-${meta.branch}-patches/readline82-${nr}";
inherit sha256;
};
in
import ./readline-8.2-patches.nix patch
);
The history facilities are also placed into a separate library,
the History library, as part of the build process. The History
library may be used without Readline in applications which
desire its capabilities.
patches =
lib.optionals (curses-library.pname == "ncurses") [
./link-against-ncurses.patch
]
++ [
./no-arch_only-8.2.patch
]
++ upstreamPatches
++ lib.optionals stdenv.hostPlatform.isWindows [
(fetchpatch {
name = "0001-sigwinch.patch";
url = "https://github.com/msys2/MINGW-packages/raw/90e7536e3b9c3af55c336d929cfcc32468b2f135/mingw-w64-readline/0001-sigwinch.patch";
stripLen = 1;
hash = "sha256-sFK6EJrSNl0KLWqFv5zBXaQRuiQoYIZVoZfa8BZqfKA=";
})
(fetchpatch {
name = "0002-event-hook.patch";
url = "https://github.com/msys2/MINGW-packages/raw/3476319d2751a676b911f3de9e1ec675081c03b8/mingw-w64-readline/0002-event-hook.patch";
stripLen = 1;
hash = "sha256-F8ytYuIjBtH83ZCJdf622qjwSw+wZEVyu53E/mPsoAo=";
})
(fetchpatch {
name = "0003-fd_set.patch";
url = "https://github.com/msys2/MINGW-packages/raw/35830ab27e5ed35c2a8d486961ab607109f5af50/mingw-w64-readline/0003-fd_set.patch";
stripLen = 1;
hash = "sha256-UiaXZRPjKecpSaflBMCphI2kqOlcz1JkymlCrtpMng4=";
})
(fetchpatch {
name = "0004-locale.patch";
url = "https://github.com/msys2/MINGW-packages/raw/f768c4b74708bb397a77e3374cc1e9e6ef647f20/mingw-w64-readline/0004-locale.patch";
stripLen = 1;
hash = "sha256-dk4343KP4EWXdRRCs8GRQlBgJFgu1rd79RfjwFD/nJc=";
})
];
# This install error is caused by a very old libtool. We can't autoreconfHook this package,
# so this is the best we've got!
postInstall = lib.optionalString stdenv.hostPlatform.isOpenBSD ''
ln -s $out/lib/libhistory.so* $out/lib/libhistory.so
ln -s $out/lib/libreadline.so* $out/lib/libreadline.so
'';
homepage = "https://savannah.gnu.org/projects/readline/";
meta = with lib; {
description = "Library for interactive line editing";
license = licenses.gpl3Plus;
longDescription = ''
The GNU Readline library provides a set of functions for use by
applications that allow users to edit command lines as they are
typed in. Both Emacs and vi editing modes are available. The
Readline library includes additional functions to maintain a
list of previously-entered command lines, to recall and perhaps
reedit those lines, and perform csh-like history expansion on
previous commands.
maintainers = with maintainers; [ dtzWill ];
The history facilities are also placed into a separate library,
the History library, as part of the build process. The History
library may be used without Readline in applications which
desire its capabilities.
'';
platforms = platforms.unix ++ platforms.windows;
branch = "8.2";
};
}
homepage = "https://savannah.gnu.org/projects/readline/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dtzWill ];
platforms = platforms.unix ++ platforms.windows;
branch = "8.2";
};
}
// lib.optionalAttrs stdenv.hostPlatform.isMinGW {
# Make mingw-w64 provide a dummy alarm() function
#
# Method borrowed from
# https://github.com/msys2/MINGW-packages/commit/35830ab27e5ed35c2a8d486961ab607109f5af50
CFLAGS = "-D__USE_MINGW_ALARM -D_POSIX";
}
)
@@ -814,15 +814,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "fzf-lua";
version = "0.0.1836-1";
version = "0.0.1848-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/fzf-lua-0.0.1836-1.rockspec";
sha256 = "1q0wfck09d0449q8dyb95cyyr8z0r8292dp8vrqq3jcd7qkjcf1q";
url = "mirror://luarocks/fzf-lua-0.0.1848-1.rockspec";
sha256 = "1xvgdbzdszflhr5f846glyzag74j6z2s3g74xisjgy698gg0a5vc";
}).outPath;
src = fetchzip {
url = "https://github.com/ibhagwan/fzf-lua/archive/ba5ba606f11967e08165aeeb9d7abe04d0835f58.zip";
sha256 = "1r66yrpzzzazasmb450xpr11f0sjg8ckrf91x4c66ypsanz2z2ws";
url = "https://github.com/ibhagwan/fzf-lua/archive/ea2bda8a9717307affd921e1b540dc06acdf8ea8.zip";
sha256 = "0ba9ncwjv9kcnw7nimifyad54xdf1cacbdlc7hjyy2zlivf4pm3g";
};
disabled = luaOlder "5.1";
@@ -880,8 +880,8 @@ final: prev: {
src = fetchFromGitHub {
owner = "lewis6991";
repo = "gitsigns.nvim";
rev = "fcfa7a989cd6fed10abf02d9880dc76d7a38167d";
hash = "sha256-cg8r0yuuSE8G5MTj0pET8MzJ+VQf+HsXDJx5FzriM78=";
rev = "2149fc2009d1117d58e86e56836f70c969f60a82";
hash = "sha256-7WQ428oPr43z01HvNpArZJcUov61/pDtLqJtkEKnBAY=";
};
disabled = lua.luaversion != "5.1";
@@ -903,15 +903,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "grug-far.nvim";
version = "1.6.6-1";
version = "1.6.9-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/grug-far.nvim-1.6.6-1.rockspec";
sha256 = "1axdj580nv078d4rh7q9rqd5rd46cvd3gfif0cbqys2kpv0xx53d";
url = "mirror://luarocks/grug-far.nvim-1.6.9-1.rockspec";
sha256 = "1svzjpgig2vbjc2hr4wh5k6rbdpw0c2bvd08v5kay73nlkyqz6zm";
}).outPath;
src = fetchzip {
url = "https://github.com/MagicDuck/grug-far.nvim/archive/d6c682af0033b4fbb3645a997e3b4a9189ed1ed6.zip";
sha256 = "0v1nfyiymb17p3fkk6ih1pxiib25f8vg74k79vp9r5wr56l9ja9c";
url = "https://github.com/MagicDuck/grug-far.nvim/archive/1c9325f6ab18fc8ac4d4c57e765aa845af148277.zip";
sha256 = "0rcnl4lfcg4lxlbix0v5r19vmbnn6j4pzi6k1fg4k6200yfghnzq";
};
disabled = luaOlder "5.1";
@@ -1979,17 +1979,17 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "lua-resty-openssl";
version = "1.6.0-1";
version = "1.6.1-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/lua-resty-openssl-1.6.0-1.rockspec";
sha256 = "108a53210khinpwk88pcz6s8n2f6hhaib3jfrgi9kjp0r4s14c4q";
url = "mirror://luarocks/lua-resty-openssl-1.6.1-1.rockspec";
sha256 = "179rc1n1zn0995zfdcl6a97v7ld95p55cppvj20lssrjkq93rk9z";
}).outPath;
src = fetchFromGitHub {
owner = "fffonion";
repo = "lua-resty-openssl";
rev = "1.6.0";
hash = "sha256-TqBRTFV1255Ct2mm2T8bLJNdSWZTEB6wOOHGRZczcVk=";
rev = "1.6.1";
hash = "sha256-8LxembMadP+I4jvjNBLn+OHxhzB+R8qSCHxk+mFL4WE=";
};
meta = {
@@ -2011,17 +2011,17 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "lua-resty-session";
version = "4.1.0-1";
version = "4.1.1-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/lua-resty-session-4.1.0-1.rockspec";
sha256 = "0cmx2rwiwiprg1112chxrfvp7gs2jg0grdnkb5n7yhd5rnp0bhhw";
url = "mirror://luarocks/lua-resty-session-4.1.1-1.rockspec";
sha256 = "1ndkivmrrcdd1qm762ajkkzvncyyssfq1zpkinqkj6qqydjvpzws";
}).outPath;
src = fetchFromGitHub {
owner = "bungle";
repo = "lua-resty-session";
rev = "v4.1.0";
hash = "sha256-MXB7Z/0drMOcTwJBHNwZx4iqem1XfG6uwozW+RxL588=";
rev = "v4.1.1";
hash = "sha256-rsMUnszo0QnK4dYWDrHMue9Nsyf6jOMMYh6VdH3mXPM=";
};
disabled = luaOlder "5.1";
@@ -3213,7 +3213,7 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "luasystem";
version = "0.6.0-1";
version = "0.6.2-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/luasystem-0.6.2-1.rockspec";
@@ -3625,15 +3625,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "lzextras";
version = "0.4.0-1";
version = "0.4.2-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/lzextras-0.4.0-1.rockspec";
sha256 = "12s4jy3xqzb1dcan0gmgza6c9wyh44h348f4m3zzj29icffx4vyv";
url = "mirror://luarocks/lzextras-0.4.2-1.rockspec";
sha256 = "1awxr7bmf5hfgvn5vjra1rdn57dcsmv9v33b5pgp13q6yjhr750s";
}).outPath;
src = fetchzip {
url = "https://github.com/BirdeeHub/lzextras/archive/v0.4.0.zip";
sha256 = "1c92vm5q9vrr1imc3h9z9vvpkhlayywgk1n3wfkqbfi37ni066kw";
url = "https://github.com/BirdeeHub/lzextras/archive/v0.4.2.zip";
sha256 = "1apgv3g9blwh25hqjhz1b7la3m2c3pfzalg42kg7y0x66ga78qf0";
};
disabled = luaOlder "5.1";
@@ -4649,15 +4649,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "rustaceanvim";
version = "6.0.2-1";
version = "6.0.3-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/rustaceanvim-6.0.2-1.rockspec";
sha256 = "1z2s2f91mnc9fxr5ykffajpj2c92rjgnwipfvi2lhhl2p5hpgf9f";
url = "mirror://luarocks/rustaceanvim-6.0.3-1.rockspec";
sha256 = "1x0wh2nxf2g2kkbfyb9yspi5psvdra521ii01dn4chy9zp77br65";
}).outPath;
src = fetchzip {
url = "https://github.com/mrcjkb/rustaceanvim/archive/v6.0.2.zip";
sha256 = "09wrfmzbk81xax5p4wzczsvv1x28nv54mayi12fvzv6c3bmcsbvj";
url = "https://github.com/mrcjkb/rustaceanvim/archive/v6.0.3.zip";
sha256 = "0g40qj67pazf428wdgzijvf1a4xr2l1nimxisyka52fpwi1rah4y";
};
disabled = luaOlder "5.1";
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "flametree";
version = "0.1.12";
version = "0.2.0";
format = "setuptools";
src = fetchFromGitHub {
owner = "Edinburgh-Genome-Foundry";
repo = "Flametree";
tag = "v${version}";
hash = "sha256-oyiuhsYouGDKRssKc0aYIoG32H7GS6Bn4RtI7/9N158=";
hash = "sha256-4yU4u5OmVP3adz9DNsU0BtuQ7LZYqbOLxbuS48lksHM=";
};
nativeCheckInputs = [
@@ -33,11 +33,12 @@
# tests
pytestCheckHook,
psutil,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
pname = "jupysql";
version = "0.10.17";
version = "0.11.1";
pyproject = true;
@@ -45,7 +46,7 @@ buildPythonPackage rec {
owner = "ploomber";
repo = "jupysql";
tag = version;
hash = "sha256-0lrcNKDKmM3Peodc9ZzgqkzwPHPLMxxXHAj4OOKWZxA=";
hash = "sha256-7wfKvKqDf8LlUiLoevNRxmq8x5wLheOgIeWz72oFcuw=";
};
pythonRelaxDeps = [ "sqlalchemy" ];
@@ -80,12 +81,14 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytestCheckHook
psutil
writableTmpDirAsHomeHook
] ++ optional-dependencies.dev;
disabledTests =
[
# AttributeError: 'DataFrame' object has no attribute 'frame_equal'
"test_resultset_polars_dataframe"
# all of these are broken with later versions of duckdb; see
# https://github.com/ploomber/jupysql/issues/1030
"test_resultset_getitem"
@@ -99,11 +102,12 @@ buildPythonPackage rec {
"test_resultset_repr_html_with_reduced_feedback"
"test_invalid_operation_error"
"test_resultset_config_autolimit_dict"
# fails due to strict warnings
"test_calling_legacy_plotting_functions_displays_warning"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Fatal Python error: Aborted (in matplotlib)
# RuntimeError: *** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[1]
"test_no_errors_with_stored_query"
];
@@ -122,11 +126,6 @@ buildPythonPackage rec {
"src/tests/test_widget.py"
];
preCheck = ''
# tests need to write temp data
export HOME=$(mktemp -d)
'';
pythonImportsCheck = [ "sql" ];
meta = {
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "pyytlounge";
version = "3.1.0";
version = "3.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "FabioGNR";
repo = "pyytlounge";
tag = "v${version}";
hash = "sha256-87m1lrI5ryqaMgtuFtWUVUiKzM7J8u1mkR9l98tU1I0=";
hash = "sha256-8cdahP1u8Rf4m/167ie9aKcELLiWNvZOx7tV9YLK4nU=";
};
build-system = [ hatchling ];
@@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "rq";
version = "2.2";
version = "2.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "rq";
repo = "rq";
tag = "v${version}";
hash = "sha256-RuqLfPEwdwfJo+mdY4vB3lpyGkbP/GQDfRU+TmUur3s=";
hash = "sha256-RnnYO6gKhbcft61EhTFbfvhC+9SsVfDsu64GuNfGKvE=";
};
build-system = [ hatchling ];
@@ -2,38 +2,47 @@
lib,
stdenv,
buildPythonPackage,
callPackage,
catalogue,
fetchFromGitHub,
# build-system
cymem,
cython_0,
fetchPypi,
git,
hypothesis,
murmurhash,
numpy,
preshed,
thinc,
# dependencies
catalogue,
jinja2,
langcodes,
mock,
murmurhash,
nix-update,
nix,
numpy,
packaging,
preshed,
pydantic,
pytestCheckHook,
pythonOlder,
requests,
setuptools,
spacy-legacy,
spacy-loggers,
spacy-lookups-data,
spacy-transformers,
srsly,
thinc,
tqdm,
typer,
wasabi,
weasel,
# optional-dependencies
spacy-transformers,
spacy-lookups-data,
# tests
pytestCheckHook,
hypothesis,
mock,
# passthru
writeScript,
git,
nix,
nix-update,
callPackage,
}:
buildPythonPackage rec {
@@ -41,17 +50,13 @@ buildPythonPackage rec {
version = "3.8.5";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-OLyLh3+yT0FJBf8XliADFgfNMf5vkA1noGcwFCcVZRw=";
src = fetchFromGitHub {
owner = "explosion";
repo = "spaCy";
tag = "release-v${version}";
hash = "sha256-rgMstGSscUBACA5+veXD9H/lHuvWKs7hJ6hz6aKOB/0=";
};
postPatch = ''
# unpin numpy, cannot use pythonRelaxDeps because it's in build-system
substituteInPlace pyproject.toml setup.cfg \
--replace-fail ",<2.1.0" ""
'';
build-system = [
cymem
cython_0
@@ -85,17 +90,17 @@ buildPythonPackage rec {
weasel
];
optional-dependencies = {
transformers = [ spacy-transformers ];
lookups = [ spacy-lookups-data ];
};
nativeCheckInputs = [
pytestCheckHook
hypothesis
mock
];
optional-dependencies = {
transformers = [ spacy-transformers ];
lookups = [ spacy-lookups-data ];
};
# Fixes ModuleNotFoundError when running tests on Cythonized code. See #255262
preCheck = ''
cd $out
@@ -118,8 +123,8 @@ buildPythonPackage rec {
set -eou pipefail
PATH=${
lib.makeBinPath [
nix
git
nix
nix-update
]
}
@@ -132,12 +137,14 @@ buildPythonPackage rec {
tests.annotation = callPackage ./annotation-test { };
};
meta = with lib; {
meta = {
description = "Industrial-strength Natural Language Processing (NLP)";
homepage = "https://github.com/explosion/spaCy";
changelog = "https://github.com/explosion/spaCy/releases/tag/release-v${version}";
license = licenses.mit;
license = lib.licenses.mit;
maintainers = [ ];
mainProgram = "spacy";
# Cython.Compiler.Errors.CompileError: spacy/ml/parser_model.pyx
broken = true;
};
}
+9
View File
@@ -0,0 +1,9 @@
# dwarf-fortress
Maintainers, please read me!
The policy for updates is currently keeping one major version of DF around since 0.44.
See [Save Compatibility](https://dwarffortresswiki.org/index.php/Save_compatibility)
on the DF wiki. Note that saves are backwards compatible, but not forwards-compatible.
This policy has been in effect since Nixpkgs 25.05.
+44 -31
View File
@@ -7,8 +7,6 @@
libsForQt5,
newScope,
perlPackages,
jdk8,
jre8,
}:
# To whomever it may concern:
@@ -61,12 +59,14 @@ let
# out, ensure that (unfuck|dfhack|twbt) are all up to date before changing
# this. Note that unfuck and twbt are not required for 50.
latestVersion =
if stdenv.hostPlatform.isLinux then
"50.13"
else if stdenv.hostPlatform.isDarwin then
"0.47.05"
else
throw "Unsupported system";
self.dfVersions.game.latest.${
if stdenv.hostPlatform.isLinux then
"linux"
else if stdenv.hostPlatform.isDarwin then
"darwin"
else
throw "Unsupported system"
};
# Converts a version to a package name.
versionToName = version: "dwarf-fortress_${replaceStrings [ "." ] [ "_" ] version}";
@@ -96,33 +96,48 @@ let
stdenv = gccStdenv;
};
dwarf-therapist = libsForQt5.callPackage ./dwarf-therapist/wrapper.nix {
inherit dwarf-fortress;
dwarf-therapist = (libsForQt5.callPackage ./dwarf-therapist { }).override (
optionalAttrs (!isAtLeast50) {
# 41.2.5 is the last version to support Dwarf Fortress 0.47.
version = "41.2.5";
hash = "sha256-xfYBtnO1n6OcliVt07GsQ9alDJIfWdVhtuyWwuvXSZs=";
mkDfWrapper =
{
dwarf-fortress,
dfhack,
dwarf-therapist ? null,
...
}@args:
callPackage ./wrapper (
{
inherit (self) themes;
inherit
dwarf-fortress
twbt
dfhack
dwarf-therapist
;
}
// args
);
dwarf-therapist = libsForQt5.callPackage ./dwarf-therapist/wrapper.nix {
inherit dwarf-fortress dfhack mkDfWrapper;
dwarf-therapist =
(libsForQt5.callPackage ./dwarf-therapist {
inherit (self) dfVersions;
}).override
(
optionalAttrs (!isAtLeast50) {
# 41.2.5 is the last version to support Dwarf Fortress 0.47.
version = "41.2.5";
maxDfVersion = "0.47.05";
hash = "sha256-xfYBtnO1n6OcliVt07GsQ9alDJIfWdVhtuyWwuvXSZs=";
}
);
};
in
callPackage ./wrapper {
inherit (self) themes;
inherit
dwarf-fortress
twbt
dfhack
dwarf-therapist
;
jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
};
}) (attrNames self.df-hashes)
mkDfWrapper { inherit dwarf-fortress dfhack dwarf-therapist; };
}) (attrNames self.dfVersions.game.versions)
);
self = rec {
df-hashes = importJSON ./game.json;
dfVersions = importJSON ./df.lock.json;
# Aliases for the latest Dwarf Fortress and the selected Therapist install
dwarf-fortress = getAttr (versionToName latestVersion) df-games;
@@ -135,9 +150,7 @@ let
soundSense = callPackage ./soundsense.nix { };
legends-browser = callPackage ./legends-browser {
jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
};
legends-browser = callPackage ./legends-browser { };
themes = recurseIntoAttrs (
callPackage ./themes {
+107
View File
@@ -0,0 +1,107 @@
{
"game": {
"latest": {
"linux": "51.10",
"darwin": "0.47.05"
},
"versions": {
"51.10": {
"df": {
"version": "51.10",
"urls": {
"linux": {
"url": "https://www.bay12games.com/dwarves/df_51_10_linux.tar.bz2",
"outputHash": "sha256-r4dadc/nch2smNHt4Ixa2FG2Sc1NFmY88iSnFFeMcz0="
}
}
},
"hack": {
"version": "51.10-r1",
"git": {
"url": "https://github.com/DFHack/dfhack.git",
"revision": "51.10-r1",
"outputHash": "sha256-TsgafCiLX/IZXgBdqQaRt7hmATwKz80x2xclCwdE3fM="
},
"xmlRev": "ec3ab067aef716817d9c5b84a6fb85bc22516caa"
}
},
"50.15": {
"df": {
"version": "50.15",
"urls": {
"linux": {
"url": "https://www.bay12games.com/dwarves/df_50_15_linux.tar.bz2",
"outputHash": "sha256-KkKcXfXjD7dUjQDfKtXiaKfoieRN8wJSYxyN6liBwU4="
}
}
},
"hack": {
"version": "50.15-r2",
"git": {
"url": "https://github.com/DFHack/dfhack.git",
"revision": "50.15-r2",
"outputHash": "sha256-6T1RXdBJdo/tvHXwYATS8emLIfDg7/0cGL4i982iHdY="
},
"xmlRev": "c6c8f15afec05d457813c003a869509901993af4"
}
},
"0.47.05": {
"df": {
"version": "0.47.05",
"urls": {
"linux": {
"url": "https://www.bay12games.com/dwarves/df_47_05_linux.tar.bz2",
"outputHash": "sha256-rHSm27fX2WIfQwQFCAMiq1DDX2YyNS/y6pI/bcWv/KM="
},
"darwin": {
"url": "https://www.bay12games.com/dwarves/df_47_05_osx.tar.bz2",
"outputHash": "sha256-vHmpKtuWSX1ZVGN46MmrLvZ8oiq/vZdjYW3pwuAOXyQ="
}
}
},
"hack": {
"version": "0.47.05-r8",
"git": {
"url": "https://github.com/DFHack/dfhack.git",
"revision": "0.47.05-r8",
"outputHash": "sha256-y5XluaNU0ewUg2uAd77+h80CYDwNr1rsxB8IslZWip8="
},
"xmlRev": "afe7e908e9e7e863412e8983f9feb2b999fae498"
}
},
"0.44.12": {
"df": {
"version": "0.44.12",
"urls": {
"linux": {
"url": "https://www.bay12games.com/dwarves/df_44_12_linux.tar.bz2",
"outputHash": "sha256-Wi0Vcw0htBpo2gnOPDtww+Km/RW5XGy/toV47S0tuXk="
},
"darwin": {
"url": "https://www.bay12games.com/dwarves/df_44_12_osx.tar.bz2",
"outputHash": "sha256-IY1TGZ9+ufWMA146XUTYgvG2ngfvY/mKZZDWGm/IptU="
}
}
},
"hack": {
"version": "0.44.12-r3",
"git": {
"url": "https://github.com/DFHack/dfhack.git",
"revision": "0.44.12-r3",
"outputHash": "sha256-8ChD4P7SpSNlhhOsrbIxoJ/T/CWobwvOY7QswxP0KK0="
},
"xmlRev": "4053321b202a29f667d64d824ba8339ec1b1df4f"
}
}
}
},
"therapist": {
"version": "42.1.12",
"maxDfVersion": "51.10",
"git": {
"url": "https://github.com/Dwarf-Therapist/Dwarf-Therapist.git",
"revision": "v42.1.12",
"outputHash": "sha256-/6tiFjfrAziw7XeEzPoNFgrsXk8Z7ea2PGjCvJlRt+A="
}
}
}
+7 -63
View File
@@ -24,6 +24,7 @@
binutils,
gnused,
dfVersion,
dfVersions,
}:
let
@@ -40,77 +41,20 @@ let
versionAtLeast
;
dfhack-releases = {
"0.44.10" = {
dfHackRelease = "0.44.10-r2";
hash = "sha256-0RikMwFv/eJk26Hptnam6J97flekapQhjWvw3+HTfaU=";
xmlRev = "321bd48b10c4c3f694cc801a7dee6be392c09b7b";
};
"0.44.11" = {
dfHackRelease = "0.44.11-beta2.1";
hash = "sha256-Yi/8BdoluickbcQQRbmuhcfrvrl02vf12MuHmh5m/Mk=";
xmlRev = "f27ebae6aa8fb12c46217adec5a812cd49a905c8";
prerelease = true;
};
"0.44.12" = {
dfHackRelease = "0.44.12-r1";
hash = "sha256-3j83wgRXbfcrwPRrJVHFGcLD+tXy1M3MR2dwIw2mA0g=";
xmlRev = "23500e4e9bd1885365d0a2ef1746c321c1dd5094";
};
"0.47.02" = {
dfHackRelease = "0.47.02-alpha0";
hash = "sha256-ScrFcfyiimuLgEaFjN5DKKRaFuKfdJjaTlGDit/0j6Y=";
xmlRev = "23500e4e9bd1885365d0a2ef1746c321c1dd509a";
prerelease = true;
};
"0.47.04" = {
dfHackRelease = "0.47.04-r5";
hash = "sha256-0s+/LKbqsS/mrxKPDeniqykE5+Gy3ZzCa8yEDzMyssY=";
xmlRev = "be0444cc165a1abff053d5893dc1f780f06526b7";
};
"0.47.05" = {
dfHackRelease = "0.47.05-r7";
hash = "sha256-vBKUTSjfCnalkBzfjaIKcxUuqsGGOTtoJC1RHJIDlNc=";
xmlRev = "f5019a5c6f19ef05a28bd974c3e8668b78e6e2a4";
};
"50.10" = {
dfHackRelease = "50.10-r1.1";
hash = "sha256-k2j8G4kJ/RYE8W0YDOxcsRb5qjjn4El+rigf0v3AqZU=";
xmlRev = "041493b221e0799c106abeac1f86df4535ab80d3";
needsPatches = true;
};
"50.11" = {
dfHackRelease = "50.11-r7";
hash = "sha256-3KsFc0i4XkzoeRvcl5GUlx/fJB1HyqfZm+xL6T4oT/A=";
xmlRev = "cca87907c1cbfcf4af957b0bea3a961a345b1581";
needsPatches = true;
};
"50.12" = {
dfHackRelease = "50.12-r3";
hash = "sha256-2mO8DpNmZRCV7IRY0arf3SMvlO4Pxs61Kxfh3q3k3HU=";
xmlRev = "980b1af13acc31660dce632f913c968f52e2b275";
};
"50.13" = {
dfHackRelease = "50.13-r3";
hash = "sha256-WbkJ8HmLT5GdZgDmcuFh+1uzhloKM9um0b9YO//uR7Y=";
xmlRev = "f0530a22149606596e97e3e17d941df3aafe29b9";
};
};
release =
if isAttrs dfVersion then
dfVersion
else if hasAttr dfVersion dfhack-releases then
getAttr dfVersion dfhack-releases
else if hasAttr dfVersion dfVersions.game.versions then
(getAttr dfVersion dfVersions.game.versions).hack
else
throw "[DFHack] Unsupported Dwarf Fortress version: ${dfVersion}";
version = release.dfHackRelease;
inherit (release) version;
isAtLeast50 = versionAtLeast version "50.0";
needs50Patches = isAtLeast50 && (release.needsPatches or false);
# revision of library/xml submodule
xmlRev = release.xmlRev;
inherit (release) xmlRev;
arch =
if stdenv.hostPlatform.system == "x86_64-linux" then
@@ -149,8 +93,8 @@ stdenv.mkDerivation {
src = fetchFromGitHub {
owner = "DFHack";
repo = "dfhack";
rev = release.dfHackRelease;
inherit (release) hash;
tag = release.git.revision;
hash = release.git.outputHash;
fetchSubmodules = true;
};
@@ -6,8 +6,12 @@
qtdeclarative,
cmake,
ninja,
version ? "42.1.6",
hash ? "sha256-VjCXT4sl3HsFILrqTc3JJSeRedZaOXUbf4KvSzTo0uc=",
dfVersions,
# see: https://github.com/Dwarf-Therapist/Dwarf-Therapist/releases
version ? dfVersions.therapist.version,
maxDfVersion ? dfVersions.therapist.maxDfVersion,
hash ? dfVersions.therapist.git.outputHash,
}:
stdenv.mkDerivation rec {
@@ -18,7 +22,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "Dwarf-Therapist";
repo = "Dwarf-Therapist";
rev = "v${version}";
tag = "v${version}";
inherit hash;
};
@@ -46,6 +50,10 @@ stdenv.mkDerivation rec {
dontWrapQtApps = true;
passthru = {
inherit maxDfVersion;
};
meta = with lib; {
mainProgram = "dwarftherapist";
description = "Tool to manage dwarves in a running game of Dwarf Fortress";
@@ -1,10 +1,16 @@
{
lib,
stdenv,
writeText,
dwarf-therapist,
dwarf-fortress,
dfhack,
mkDfWrapper,
replaceVars,
coreutils,
wrapQtAppsHook,
expect,
xvfb-run,
}:
let
@@ -15,12 +21,26 @@ let
in
prefix + base;
inifile = "linux/v0.${builtins.toString dwarf-fortress.baseVersion}.${dwarf-fortress.patchVersion}${platformSlug}.ini";
unsupportedVersion = lib.versionOlder dwarf-therapist.maxDfVersion dwarf-fortress.dfVersion;
# Used to run dfhack to produce a Therapist ini file for the current memory map.
# See: http://www.bay12forums.com/smf/index.php?topic=168411.msg8532557#msg8532557
dfHackExpectScript = writeText "dfhack.exp" ''
spawn xvfb-run dfhack +devel/export-dt-ini
expect "DFHack is ready. Have a nice day!"
send "die\r"
'';
dfHackWrapper = mkDfWrapper {
inherit dwarf-fortress dfhack;
enableDFHack = true;
};
in
stdenv.mkDerivation {
pname = "dwarf-therapist";
inherit (dwarf-therapist) version meta;
inherit (dwarf-therapist) version meta maxDfVersion;
inherit (dwarf-fortress) dfVersion;
wrapper = replaceVars ./dwarf-therapist.in {
stdenv_shell = "${stdenv.shell}";
@@ -36,37 +56,79 @@ stdenv.mkDerivation {
paths = [ dwarf-therapist ];
nativeBuildInputs = [ wrapQtAppsHook ];
nativeBuildInputs =
[ wrapQtAppsHook ]
++ lib.optionals unsupportedVersion [
expect
xvfb-run
dfHackWrapper
];
passthru = { inherit dwarf-fortress dwarf-therapist; };
buildCommand = ''
mkdir -p $out/bin
buildCommand =
lib.optionalString unsupportedVersion ''
fixupMemoryMaps() (
local output="$1"
local orig_md5="$2"
local patched_md5="$3"
echo "It doesn't support DF $dfVersion out of the box, so we're doing it the hard way."
export NIXPKGS_DF_HOME="$(mktemp -dt dfhack.XXXXXX)"
expect ${dfHackExpectScript}
local ini="$NIXPKGS_DF_HOME/therapist.ini"
if [ -f "$ini" ]; then
if grep -q "$patched_md5" "$ini"; then
cp -v "$ini" "$output"
else
echo "Couldn't find MD5 ($patched_md5) in $ini"
exit 1
fi
else
echo "Couldn't find $ini!"
exit 1
fi
)
''
+ lib.optionalString (!unsupportedVersion) ''
fixupMemoryMaps() {
echo "It should support DF $dfVersion, but we couldn't find any memory maps."
echo "This is a nixpkgs bug, please report it!"
exit 1
}
''
+ ''
mkdir -p $out/bin
install -Dm755 $wrapper $out/bin/dwarftherapist
ln -s $out/bin/dwarftherapist $out/bin/DwarfTherapist
install -Dm755 $wrapper $out/bin/dwarftherapist
ln -s $out/bin/dwarftherapist $out/bin/DwarfTherapist
substituteInPlace $out/bin/dwarftherapist \
--subst-var-by install $out
wrapQtApp $out/bin/dwarftherapist
substituteInPlace $out/bin/dwarftherapist \
--subst-var-by install $out
wrapQtApp $out/bin/dwarftherapist
# Fix up memory layouts
ini_path="$out/share/dwarftherapist/memory_layouts/${inifile}"
rm -f "$ini_path"
mkdir -p "$(dirname -- "$ini_path")"
orig_md5=$(cat "${dwarf-fortress}/hash.md5.orig" | cut -c1-8)
patched_md5=$(cat "${dwarf-fortress}/hash.md5" | cut -c1-8)
input_file="${dwarf-therapist}/share/dwarftherapist/memory_layouts/${inifile}"
output_file="$out/share/dwarftherapist/memory_layouts/${inifile}"
# Fix up memory layouts
input_file="${dwarf-therapist}/share/dwarftherapist/memory_layouts/${inifile}"
output_file="$out/share/dwarftherapist/memory_layouts/${inifile}"
rm -f "$output_file"
mkdir -p "$(dirname -- "$output_file")"
echo "[Dwarf Therapist Wrapper] Fixing Dwarf Fortress MD5 prefix:"
echo " Input: $input_file"
echo " Search: $orig_md5"
echo " Output: $output_file"
echo " Replace: $patched_md5"
orig_md5=$(cat "${dwarf-fortress}/hash.md5.orig" | cut -c1-8)
patched_md5=$(cat "${dwarf-fortress}/hash.md5" | cut -c1-8)
substitute "$input_file" "$output_file" --replace-fail "$orig_md5" "$patched_md5"
'';
if [ -f "$input_file" ]; then
echo "[Dwarf Therapist Wrapper] Fixing Dwarf Fortress MD5 prefix:"
echo " Input: $input_file"
echo " Search: $orig_md5"
echo " Output: $output_file"
echo " Replace: $patched_md5"
substitute "$input_file" "$output_file" --replace-fail "$orig_md5" "$patched_md5"
else
echo "[Dwarf Therapist Wrapper] OH NO! No memory maps found!"
echo "This version of Therapist ($dfVersion) has max DF version $maxDfVersion."
fixupMemoryMaps "$output_file" "$orig_md5" "$patched_md5"
fi
'';
preferLocalBuild = true;
}
-151
View File
@@ -1,151 +0,0 @@
{
"0.43.05": {
"linux": "1r0b96yrdf24m9476k5x7rmp3faxr0kfwwdf35agpvlb1qbi6v45",
"linux32": "16l1lydpkbnl3zhz4i2snmjk7pps8vmw3zv0bjgr8dncbsrycd03",
"osx": "1j2zdkjnmxy8yn599pm0qmbi4zjp1m8h4ggqjxhyzp135h0lqqf9",
"osx32": "09ym4mflp5z78pk5mvj7b44xihnsvrxmh0b5kix6h1m6z3cc90l4",
"win": "0m337wh4c47ij1f3zrimvy7baff7nzrmgjbmrwdy89d0z90xpnx8",
"win_s": "0bjk5m1qkn3ldhqiwbq24y2m9fz9r574d54ngdb8b4ri2xfl1fbp",
"win32": "162rl9ygpj66pis87bqc5bwc0mk75hxv6ianhn87pbl4rh7g8ax8",
"win32_s": "0gv1jyw5fdskjjs27pr41grbmkk7ipqn0ry615f5g79k3mhl200i",
"legacy": "09lvbmg1gq257qchlbmq7hxc5nl9r39jpf73zhmwb5xfbpprn0zs",
"legacy_s": "023a5b27fm65w7gmzjssyyci70fdjk2zbv965y4n0f23kc4rj9gl",
"legacy32": "1m75arxj1q82l2dkk8qcargm3xczxlqi8krwvg3iimddky34gipq",
"legacy32_s": "1hgzsk66isfr5vcraxwgl7cvycl14kwf8w9kzxr8jyp5z7k24q29"
},
"0.44.05": {
"linux": "18bjyhjp5458bfbizm8vq4s00pqpfs097qp6pv76m84kgbc4ghg3",
"linux32": "1b9i4kf4c8s6bhqwn8jx100mg7fqp8nmswrai5w8dsma01py4amr",
"osx": "1ssc8vq3ad38x9c04j8gg96kxv0g2npi3jwcg40676byx5nrx7b6",
"osx32": "12i7x8idcbvp5h62jyc7b7j98jf4lrisnwglvnrms6jclj0b3g0q",
"win": "1kaifarjx0akg7s5a2ngfw0vm0vyr4jnax5rrbv96dliqn5knddz",
"win_s": "1a1xikrjdv4b0yfgnp5s8d6xn0njylynsqd8zixdc01vccl5kqm6",
"win32": "1j3cq0h7jdvxbsbpfxa7bli45smvy9m4fji0j6849kj7x0vcpwq4",
"win32_s": "10cw1n48ffkrv9ms07ka5b5370d9k2fm051cnnq03lkcvlwrq145",
"legacy": "0y7xpgmwn4nshhc7apyf8mj5ycl0q5vckdaviwzz6w1x31s3dp6n",
"legacy_s": "0j8rbw9ww1avmh8zhyzljjj6in87q4qffpffdl394fsi74n8px0d",
"legacy32": "0d3l4jvx53a01fjf1lf20ar9lfyykfhk05dlrfwz3w4k7vj4vvlf",
"legacy32_s": "1c5x9x44bblz7anhmk4y9a7p1b39b9k7gzvj4pi55jzfq0k60kl7"
},
"0.44.09": {
"linux": "1haikynkg1pqyrzzqk1qxm19p36ww58qp8brh3fjxssp4x71rcdy",
"linux32": "0lmbrdf7wjdwj5yx0khnq871yxvhfwqxjjyfkqcdy5ik18lvlkj8",
"osx": "01dss8g9lmi8majp6lxcfw166ydz4himkz6am5pi29gixaf4vfqs",
"osx32": "1iwlvmz1ir9k0kzn6726frmkznvsg9a99bbqnxvwcnq3nnnjxw3s",
"win": "08g5irgp59dfjgj3jxc8ixwzgnz2wghcl8cg1b1g4088dsf2x3x8",
"win_s": "1xyb4msn9wfrh7x136r8xn3sjz6z8c4zksbzifa0z0bpa3pdviap",
"win32": "0m8bs2mnyi1r4x84fwnfgd1ijdcf08xsq5zy84476svci932g5kz",
"win32_s": "0pl319qmyy96ibzlgj4wfj19dv1wzyg8ig6q11l4c7rivzc9286i",
"legacy": "0l8nrvppfzazhjsfkd5nd0bxnc6ljk8fs6yg8qh69g7q7zvzgnd3",
"legacy_s": "1c49z539a31czzq0rnhg6yrv1zbaja35sd0ssr4k7lsghjv84k1z",
"legacy32": "155xg6dpb8frlw7d9h7m1y0spw55wl4nkn7zrm70bpyp39pydlqp",
"legacy32_s": "05qkzjfx1ybrv96wya1dirdfxdkhj6a440sjpzwbqpkqgr8z57a3"
},
"0.44.10": {
"linux": "1cqm43hn3ar9d8a7y7dwq48ajp72cirn1gclh8r2fykkypprxmp2",
"linux32": "0gdb6sq8725nwdisxwha8f5b6arq570s73aj4gdrh611gxh13r6n",
"osx": "1wpa45d81q8f5mhqmaxvdkz93k6cm3pg7vpsqjjjsp5s961gd74g",
"osx32": "0rsy1n19n12gh8rddgi3db32in488f2nizq8kw25hga03hsh4r6x",
"win": "04i0ka12hmn3chsyfmk2pbknr1pdf3p8yaz7kv82ri4g6dvsjfv6",
"win_s": "01m6nqcrz4rhdc8wb31azj3vmjid8bdpqaf9wkz4g4vvjyy7xiyz",
"win32": "1nymin8wbzbh8gm2702dy7h5spdijdxnysdz71ldyl0xx4vw68d9",
"win32_s": "1skz0jpfm6j9bins04kn96f3v3k0kvjqlh25x3129r3hh8xacnd3",
"legacy": "0s84vpfr2b5y1kda9allqjrpkaxw15mkblk9dq08syhsj19vspa7",
"legacy_s": "18b7ikp7xy2y071h3ydfh5mq9hw9y303rdqyikvra5ji3n5p96cm",
"legacy32": "1yh2fl3qwpy6wrxavhn75grbjygymnfh746hxbmc60la7y5flrpy",
"legacy32_s": "0j65w2hxgpccg9qsaz14r82qvnvfd0pbl2gyx9fv8d77kxhkc4pw"
},
"0.44.11": {
"linux": "1qizfkxl2k6pn70is4vz94q4k55bc3pm13b2r6yqi6lw1cnna4sf",
"linux32": "11m39lfyrsxlw1g7f269q7fzwichg06l21fxhqzgvlvmzmxsf8q5",
"osx": "073hmcj7bm323m3xqi42605rkvmgmv83bnxz1byymgs8aqyfykkx",
"osx32": "0w5avnj86wprk8q0rb5qm9kxbigzk6dk0akqbw4m76jgg2jdmir7",
"win": "1yxyv1sycn5jc3g1y02d82154xydg3kbghis7l3xi28n3bh8387b",
"win_s": "1xzwl6c362wqgps911y9q8vndp8zyd20fc2p7pkzzmw2hrgfqi6q",
"win32": "16x2rg3gm3lh2akg7n057kkxxigb2ljz0nk685lmn4j0adq8l31p",
"win32_s": "1a2y220111d94mzj5y3jwpy062k8fw25akyp7yn3fwa17vwvn8zq",
"legacy": "0gfjmsfqj21hs4d1hm7fvppbdjspc4r2qnnp6mwcbgh67i5p5rdb",
"legacy_s": "1wr4hpzmhgl8haric3jpfd3kwqv1fi4vkb1gvaax5f7kplvfqfac",
"legacy32": "1cpzckwvqkxqn0c498mmh4papsjdi3mcvcp2vzlvj46kvdl3n0f0",
"legacy32_s": "024vzwfcrx7ms4dip0ccwd0vizzck2pwz2ryyvlz4rpjzhswj5gi"
},
"0.44.12": {
"win32": "0bxrc7zj4vgcgdwc130g6f5jnp13vgx9a2kn2l1jcc958x8a367g",
"linux32": "0fmr8diskmbh12s0bpfn5gky9lmrc7xxj6va5adjm6ahxv9jwr06",
"osx": "1md6r1pimmlhcn5gjqzg0ygbdwc2v125sfjy0f6gbfbykwcm7391",
"osx32": "1dbg7pavxw20r8iqc566fn558avgj5glsycvi6ggbvsh0rpw6n5v",
"win": "0zb5ximqi5j7vyvgjzfz7ycadh5sgb7jlyaa68x0sjlbybdr1min",
"win_s": "1ncf5zr1fggr5knf30l0wh7spp376v1jcc6m9c86zim8azcfx0y7",
"linux": "0ydr5lnysy45nsznqp5r2pysdqn3f0xkrkh9v9l1md111mriabas",
"win32_s": "1mxbjkikf010skrpng51r86jmv4nal51j5n1y9kyhv344bq6chr9",
"legacy": "11a212ynhx18p3k8hvdjx199din14wggxiwz191b4309fznzpprz",
"legacy_s": "05madj529y18ndxrih96mivbzng1vz2zbzicrcnj58i2084zm23f",
"legacy32": "0rapcydiic2nq6idjf7fg53xsxk8dxzyi1vflpz554ghdrnsmwjv",
"legacy32_s": "16fgbd3lx4r270dxqj6gr1g1iqjj8cv389h2hw1l646xx28g8d2m"
},
"0.47.01": {
"linux": "1wbybkfpgvpd2yliy8mfgddnz806ac4rv4j0lhlsqwpk8jj0mx81",
"linux32": "1fnz1mydqgybcm8kzranvjzc2x9g6bcalxv3fsjngvpv13x6izzv",
"osx": "18wdffidasbrsbhqjwds08ckbrjhcw0759aynz7zggyy5is9q8iw",
"osx32": "1b4kf3vg0zd5w5s0rdhzfz0rswkl6sq0j1f8qmimnw7qd09h43wx",
"win": "1v3v2z7g67d6926h9lxakznvbddyxyr85i1ym34y2wywnc886z7r",
"win_s": "0yahynimhz4nvdi5qp5a612vf7ikg87w2aj2r8s1lhdw6xwdkpyc",
"win32": "07mqhm64c1ddjc3vpyhf9qf14lp19xwz3pgg4c2pvcwy4yyrys22",
"win32_s": "07acbxai8g04yxg7n68nyx4jwcqqkgjn7n96q2lzxdvc988kiivz",
"legacy32_s": "1gxmc3rsl9glai3wb4wzsda3qyhdimd8s5kbr5m753n8lmzasafx"
},
"0.47.02": {
"linux": "1zbsygbfiqxxs767qxkxjp3ayywi5q0d8xlrqlbd0l8a3ccg5avw",
"linux32": "1ddc9s4n408j8gidgign51bgv2wgy5z4cy74jzx00pvnhsfp2mpy",
"osx": "1mwy88yxip1wys1kxpfsbg7wlvfrkc4lg04gqw0d266a88dj7a30",
"osx32": "08ssnzl52gqqgcqhl0ynyikbxz76825kpcg1d6yx8g7ifjndf19n",
"win": "08g7fy18y8q32l0158314bny0qg57xz37qj9fri9r4xbhci67ldk",
"win_s": "0x56s1md62yk661aqcdgnz8k0zir0zr8qwan5vrqc0q9yh069yl1",
"win32": "0ww64mymbilb235n93d7w4c9axq3ww2mxa0f7bl4x8yrxwc8k942",
"win32_s": "0r801vip807v88icf47i3s82v7lshx67q4ilzfjirqfslh1x00bs",
"legacy": "14f4d6r7swfjnlaalg4l5916ihj6wvhlsgjp7cygamzp4c2wgng8",
"legacy_s": "1jxf52kaijf4crwxj30a4f6z7rzs6xa91y6vn5s8jr0cvbr5pz64",
"legacy32": "0j7shqdv3gimacj03cil2y0fmr0j0fp57cwmdjwnxwx3m96k3xwm",
"legacy32_s": "1wc7pcp9dwz0q1na3i5pbqknya595qdkmr7hsmgh2kk8rsp3g9g2"
},
"0.47.04": {
"linux": "1ri82c5hja6n0wv538srf2nbcyb8ip49w4l201m90cmcycmqgr8x",
"linux32": "00yz8gl75sbx15d7vl22ij0a5qd325kpc9mgm1lh5g7i065vgzn8",
"osx": "0c1g655bn5n4pbzxw3v83gmy54va5y87m7ksi6iryfal0m9lshhv",
"osx32": "1knfgqbwa7v9va1w6i8yzz6xp3dj633dbs50izx6ldszm0ra42pg",
"win": "0j7ixr3rf9900zzfw3nd3vg97kdkspm530cmf9dkwhf6klmpks7s",
"win_s": "11amw5gjhi753mvf17wifcjiyikjx0qwa16787gfhj9jfp0yw764",
"win32": "1xw9f49n85c31kbzkm5zh81kccjx9msjyy3xwr0klak5w398a59l",
"win32_s": "0s26hrgfk2b5wg4dvg90wgw1mvrrvbyjhmsys9f5fl7zn1pjbxxr",
"legacy": "103bcnn8gxi2rkpjmjfgv5a5kxmh1zd7vagrsscv55sppd7fcl7n",
"legacy_s": "19ai7lvxx0y3iha9qrbl5krric547rzs6vm4ibk8x61vv97jrbd8",
"legacy32": "0lli6s1g7yj3p3h26ajgq3h619n88qn6s7amyz6z8w7hyzfi7wij",
"legacy32_s": "1wzxbzgln9pmsk2nchrl94d2yd09xdgynmjl4qwcaqzkrnf3sfqc"
},
"0.47.05": {
"linux": "18zwmz2nsgwjxbr2yd9jcrgw6l5b481hh1848cgn5nfpnzdscx5c",
"linux32": "1jbav7ghsjsxd6cdp6f2x5qn83zc8707dqan5sp73fp6mbj2jasl",
"osx": "092z1vhc5sbdc5irggdz5ai7rxifmg4yhy33aicpsjcnvcmajydw",
"osx32": "0lpbwfiagp0zp280aw3fmj8938w5fc5r9gibzk2h86jy63ps29ww",
"win": "0bbk7j3d4h2wn9hmbsbbbbr0ajf3ddlprxfaajfbnbiyv72cpn9s",
"win_s": "0nl7c9dpfx7jjpy7y52z8h3kiy4cpax1m58apbcfyy95an4jz8s4",
"win32": "08ka1lklly82h4mr770y9p0a21x9dx6jqvjgxdsxj5979f26il1v",
"win32_s": "06w844zxzx3lfykibgkk4gbg4xymnqraj1ikv4mzlv31l727a1x4",
"legacy": "042a0gbad3cp5dwhnrzg3vr9w48b8ybqgxgw5i9rk4c1i0gjjpw2",
"legacy_s": "1rb7h8lzlsjs08rvhhl3nwbrpj54zijijp4y0qdp4vyzsig6nisk",
"legacy32": "0ayw09x9smihh8qp5pdvr6vvhwkvcqz36h3lh4g1b5kzxj7g9cyf",
"legacy32_s": "10gfxlysfs9gyi1mv52idp5xk45g9h517g2jq4a8cqp2j7594v9c"
},
"50.10": {
"linux": "13s5p7205r9ha2j5n7carrwd0y7krq34bcdl08khp0kh2v4470a3"
},
"50.11": {
"linux": "0iz2d88gzvn0vjxlr99f13j4awhvh2lggjmipdwpbxhfsqih7dx0"
},
"50.12": {
"linux": "070014fzwszfgjyxjyij0k0hadah6s62lpi91ykp3vs220azya1m"
},
"50.13": {
"linux": "19wzgsdgv0vq7v2dxhypr9hayky3nm3lbra1kk9vn8ri96jdkfkw"
}
}

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