Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-05-20 06:06:08 +00:00
committed by GitHub
40 changed files with 466 additions and 1038 deletions
+21 -1
View File
@@ -34,7 +34,27 @@ $ nix-build doc
If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.html`.
### devmode
### Development environment
In order to reduce repetition, consider using tools from the provided development environment:
Load it from the Nixpkgs documentation directory with
```ShellSession
$ cd /path/to/nixpkgs/doc
$ nix-shell
```
To load the development utilities automatically when entering that directory, [set up `nix-direnv`](https://nix.dev/guides/recipes/direnv).
Make sure that your local files aren't added to Git history by adding the following lines to `.git/info/exclude` at the root of the Nixpkgs repository:
```
/**/.envrc
/**/.direnv
```
#### `devmode`
The shell in the manual source directory makes available a command, `devmode`.
It is a daemon, that:
+3
View File
@@ -14,6 +14,7 @@
nixpkgs ? { },
markdown-code-runner,
roboto,
treefmt,
}:
stdenvNoCC.mkDerivation (
@@ -47,6 +48,8 @@ stdenvNoCC.mkDerivation (
postPatch = ''
ln -s ${optionsJSON}/share/doc/nixos/options.json ./config-options.json
ln -s ${treefmt.functionsDoc.markdown} ./packages/treefmt-functions.section.md
ln -s ${treefmt.optionsDoc.optionsJSON}/share/doc/nixos/options.json ./treefmt-options.json
'';
buildPhase = ''
+1
View File
@@ -25,6 +25,7 @@ nginx.section.md
opengl.section.md
shell-helpers.section.md
python-tree-sitter.section.md
treefmt.section.md
steam.section.md
cataclysm-dda.section.md
urxvt.section.md
+23
View File
@@ -0,0 +1,23 @@
# treefmt {#treefmt}
[treefmt](https://github.com/numtide/treefmt) streamlines the process of applying formatters to your project, making it a breeze with just one command line.
The [`treefmt` package](https://search.nixos.org/packages?channel=unstable&show=treefmt)
provides functions for configuring treefmt using the module system, which are [documented below](#sec-functions-library-treefmt), along with [their options](#sec-treefmt-options-reference).
Alternatively, treefmt can be configured using [treefmt-nix](https://github.com/numtide/treefmt-nix).
```{=include=} sections auto-id-prefix=auto-generated-treefmt-functions
treefmt-functions.section.md
```
## Options Reference {#sec-treefmt-options-reference}
The following attributes can be passed to [`withConfig`](#pkgs.treefmt.withConfig) or [`evalConfig`](#pkgs.treefmt.evalConfig):
```{=include=} options
id-prefix: opt-treefmt-
list-id: configuration-variable-list
source: ../treefmt-options.json
```
+18
View File
@@ -72,6 +72,15 @@
"part-toolchains": [
"index.html#part-toolchains"
],
"pkgs.treefmt.buildConfig": [
"index.html#pkgs.treefmt.buildConfig"
],
"pkgs.treefmt.evalConfig": [
"index.html#pkgs.treefmt.evalConfig"
],
"pkgs.treefmt.withConfig": [
"index.html#pkgs.treefmt.withConfig"
],
"preface": [
"index.html#preface"
],
@@ -111,6 +120,9 @@
"sec-building-packages-with-llvm-using-clang-stdenv": [
"index.html#sec-building-packages-with-llvm-using-clang-stdenv"
],
"sec-functions-library-treefmt": [
"index.html#sec-functions-library-treefmt"
],
"sec-inkscape": [
"index.html#sec-inkscape"
],
@@ -408,6 +420,9 @@
"sec-tools-of-stdenv": [
"index.html#sec-tools-of-stdenv"
],
"sec-treefmt-options-reference": [
"index.html#sec-treefmt-options-reference"
],
"ssec-cosmic-common-issues": [
"index.html#ssec-cosmic-common-issues"
],
@@ -483,6 +498,9 @@
"tester-testEqualArrayOrMap-return": [
"index.html#tester-testEqualArrayOrMap-return"
],
"treefmt": [
"index.html#treefmt"
],
"typst": [
"index.html#typst",
"doc/languages-frameworks/typst.section.md#typst"
+9
View File
@@ -24620,6 +24620,15 @@
githubId = 1220572;
name = "Christian Theune";
};
thevar1able = {
email = "var1able+nixpkgs@var1able.network";
github = "thevar1able";
githubId = 875885;
name = "Konstantin Bogdanov";
keys = [
{ fingerprint = "3221 7A73 EB95 0E9E E550 36A3 DB39 9448 D9FE 52F1"; }
];
};
theverygaming = {
name = "theverygaming";
github = "theverygaming";
@@ -17,6 +17,28 @@ There's also [a convenient development daemon](https://nixos.org/manual/nixpkgs/
The above instructions don't deal with the appendix of available `configuration.nix` options, and the manual pages related to NixOS. These are built, and written in a different location and in a different format, as explained in the next sections.
## Development environment {#sec-contributing-development-env}
In order to reduce repetition, consider using tools from the provided development environment:
Load it from the NixOS documentation directory with
```ShellSession
$ cd /path/to/nixpkgs/nixos/doc/manual
$ nix-shell
```
To load the development utilities automatically when entering that directory, [set up `nix-direnv`](https://nix.dev/guides/recipes/direnv).
Make sure that your local files aren't added to Git history by adding the following lines to `.git/info/exclude` at the root of the Nixpkgs repository:
```
/**/.envrc
/**/.direnv
```
You might want to also use [`devmode`](https://github.com/NixOS/nixpkgs/blob/master/doc/README.md#devmode) while editing the manual.
## Testing redirects {#sec-contributing-redirects}
Once you have a successful build, you can open the relevant HTML (path mentioned above) in a browser along with the anchor, and observe the redirection.
+3
View File
@@ -71,6 +71,9 @@
"ch-installation": [
"index.html#ch-installation"
],
"sec-contributing-development-env": [
"index.html#sec-contributing-development-env"
],
"sec-mattermost": [
"index.html#sec-mattermost"
],
@@ -10,7 +10,7 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- Create the first release note entry in this section!
- [gtklock](https://github.com/jovanlanik/gtklock), a GTK-based lockscreen for Wayland. Available as [programs.gtklock](#opt-programs.gtklock.enable).
## Backward Incompatibilities {#sec-release-25.11-incompatibilities}
+1 -1
View File
@@ -331,6 +331,7 @@
./programs/vivid.nix
./programs/wavemon.nix
./programs/wayland/cardboard.nix
./programs/wayland/gtklock.nix
./programs/wayland/hyprland.nix
./programs/wayland/hyprlock.nix
./programs/wayland/labwc.nix
@@ -603,7 +604,6 @@
./services/games/archisteamfarm.nix
./services/games/armagetronad.nix
./services/games/crossfire-server.nix
./services/games/deliantra-server.nix
./services/games/factorio.nix
./services/games/freeciv.nix
./services/games/mchprs.nix
@@ -0,0 +1,78 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.programs.gtklock;
configFormat = pkgs.formats.ini {
listToValue = builtins.concatStringsSep ";";
};
inherit (lib)
types
mkOption
mkEnableOption
mkPackageOption
;
in
{
options.programs.gtklock = {
enable = mkEnableOption "gtklock, a GTK-based lockscreen for Wayland";
package = mkPackageOption pkgs "gtklock" { };
config = mkOption {
type = configFormat.type;
example = lib.literalExpression ''
{
main = {
idle-hide = true;
idle-timeout = 10;
};
}'';
description = ''
Configuration for gtklock.
See [`gtklock(1)`](https://github.com/jovanlanik/gtklock/blob/master/man/gtklock.1.scd) man page for details.
'';
};
style = mkOption {
type = with types; nullOr str;
default = null;
description = ''
CSS Stylesheet for gtklock.
See [gtklock's wiki](https://github.com/jovanlanik/gtklock/wiki#Styling) for details.
'';
};
modules = mkOption {
type = with types; listOf package;
default = [ ];
example = lib.literalExpression ''
with pkgs; [
gtklock-playerctl-module
gtklock-powerbar-module
gtklock-userinfo-module
]'';
description = "gtklock modules to load.";
};
};
config = lib.mkIf cfg.enable {
programs.gtklock.config.main = {
style = lib.mkIf (cfg.style != null) "${pkgs.writeText "style.css" cfg.style}";
modules = lib.mkIf (cfg.modules != [ ]) (
map (pkg: "${pkg}/lib/gtklock/${lib.removePrefix "gtklock-" pkg.pname}.so") cfg.modules
);
};
environment.etc."xdg/gtklock/config.ini".source = configFormat.generate "config.ini" cfg.config;
environment.systemPackages = [ cfg.package ];
security.pam.services.gtklock = { };
};
}
@@ -1,182 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.deliantra-server;
serverPort = 13327;
in
{
options.services.deliantra-server = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
If enabled, the Deliantra game server will be started at boot.
'';
};
package = lib.mkPackageOption pkgs "deliantra-server" {
extraDescription = ''
::: {.note}
This will also be used for map/arch data, if you don't change {option}`dataDir`
:::
'';
};
dataDir = lib.mkOption {
type = lib.types.str;
default = "${pkgs.deliantra-data}";
defaultText = lib.literalExpression ''"''${pkgs.deliantra-data}"'';
description = ''
Where to store readonly data (maps, archetypes, sprites, etc).
Note that if you plan to use the live map editor (rather than editing
the maps offline and then nixos-rebuilding), THIS MUST BE WRITEABLE --
copy the deliantra-data someplace writeable (say,
/var/lib/deliantra/data) and update this option accordingly.
'';
};
stateDir = lib.mkOption {
type = lib.types.str;
default = "/var/lib/deliantra";
description = ''
Where to store runtime data (save files, persistent items, etc).
If left at the default, this will be automatically created on server
startup if it does not already exist. If changed, it is the admin's
responsibility to make sure that the directory exists and is writeable
by the `crossfire` user.
'';
};
openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to open ports in the firewall for the server.
'';
};
configFiles = lib.mkOption {
type = lib.types.attrsOf lib.types.str;
description = ''
Contents of the server configuration files. These will be appended to
the example configurations the server comes with and overwrite any
default settings defined therein.
The example here is not comprehensive. See the files in
/etc/deliantra-server after enabling this module for full documentation.
'';
example = lib.literalExpression ''
{
dm_file = '''
admin:secret_password:localhost
alice:xyzzy:*
''';
motd = "Welcome to Deliantra!";
settings = '''
# Settings for game mechanics.
stat_loss_on_death true
armor_max_enchant 7
''';
config = '''
# Settings for the server daemon.
hiscore_url https://deliantra.example.net/scores/
max_map_reset 86400
''';
}
'';
default = {
motd = "";
};
};
};
config = lib.mkIf cfg.enable {
users.users.deliantra = {
description = "Deliantra server daemon user";
home = cfg.stateDir;
createHome = false;
isSystemUser = true;
group = "deliantra";
};
users.groups.deliantra = { };
# Merge the cfg.configFiles setting with the default files shipped with
# Deliantra.
# For most files this consists of reading
# ${deliantra}/etc/deliantra-server/${name} and appending the user setting
# to it.
environment.etc =
lib.attrsets.mapAttrs'
(
name: value:
lib.attrsets.nameValuePair "deliantra-server/${name}" {
mode = "0644";
text =
# Deliantra doesn't come with a motd file, but respects it if present
# in /etc.
(lib.optionalString (name != "motd") (
lib.fileContents "${cfg.package}/etc/deliantra-server/${name}"
))
+ "\n${value}";
}
)
(
{
motd = "";
settings = "";
config = "";
dm_file = "";
}
// cfg.configFiles
);
systemd.services.deliantra-server = {
description = "Deliantra Server Daemon";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
environment = {
DELIANTRA_DATADIR = "${cfg.dataDir}";
DELIANTRA_LOCALDIR = "${cfg.stateDir}";
DELIANTRA_CONFDIR = "/etc/deliantra-server";
};
serviceConfig = lib.mkMerge [
{
ExecStart = "${cfg.package}/bin/deliantra-server";
Restart = "always";
User = "deliantra";
Group = "deliantra";
WorkingDirectory = cfg.stateDir;
}
(lib.mkIf (cfg.stateDir == "/var/lib/deliantra") {
StateDirectory = "deliantra";
})
];
# The deliantra server needs access to a bunch of files at runtime that
# are not created automatically at server startup; they're meant to be
# installed in $PREFIX/var/deliantra-server by `make install`. And those
# files need to be writeable, so we can't just point at the ones in the
# nix store. Instead we take the approach of copying them out of the store
# on first run. If `bookarch` already exists, we assume the rest of the
# files do as well, and copy nothing -- otherwise we risk ovewriting
# server state information every time the server is upgraded.
preStart = ''
if [ ! -e "${cfg.stateDir}"/bookarch ]; then
${pkgs.rsync}/bin/rsync -a --chmod=u=rwX,go=rX \
"${cfg.package}/var/deliantra-server/" "${cfg.stateDir}/"
fi
'';
};
networking.firewall = lib.mkIf cfg.openFirewall {
allowedTCPPorts = [ serverPort ];
};
};
}
@@ -71,7 +71,7 @@ let
in
stdenv.mkDerivation rec {
pname = "vivaldi";
version = "7.3.3635.11";
version = "7.3.3635.12";
suffix =
{
@@ -84,8 +84,8 @@ stdenv.mkDerivation rec {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
hash =
{
aarch64-linux = "sha256-w1/wWP3lZUQ5tBvv6XOCkoR1OCoByURBEvaaemsY19U=";
x86_64-linux = "sha256-kJNFPXiZekjofGtKFbGc85c8yQymhntkCBuhylwQBpE=";
aarch64-linux = "sha256-Gplg0QD7DcibaOv1Q8RUnefACZdNnM8yKYYiP1dpY58=";
x86_64-linux = "sha256-qcV4n9/nAbb0Gw8azorDSjpjy4cXe2XlR94WwuwUEyc=";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
+3 -3
View File
@@ -12,13 +12,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ast-grep";
version = "0.37.0";
version = "0.38.2";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
tag = finalAttrs.version;
hash = "sha256-X2FTIyvpz4nEBc7zrPNAq/yTdOlVupwSoDQzvZGDjo8=";
hash = "sha256-mUqjD/otB891kJ8aIF3NP9ewo7yAuGE3yPK+gIIrm2w=";
};
# error: linker `aarch64-linux-gnu-gcc` not found
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
'';
useFetchCargoVendor = true;
cargoHash = "sha256-0PUXj9LSFFC10H3LHVuiOHCREwFz8AkgkzJDUAGI+V0=";
cargoHash = "sha256-s2h2Zt0cRW6V0VAKNuTL8WkHdfkLvuZA/bnSkQKcr9w=";
nativeBuildInputs = [ installShellFiles ];
+8 -12
View File
@@ -26,13 +26,12 @@
vulkan-loader,
systemd,
libGL,
writeShellScript,
nix-update,
krb5,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "beekeeper-studio";
version = "5.1.5";
version = "5.2.9";
src =
let
@@ -45,8 +44,8 @@ stdenv.mkDerivation (finalAttrs: {
fetchurl {
url = "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${finalAttrs.version}/beekeeper-studio_${finalAttrs.version}_${arch}.deb";
hash = selectSystem {
x86_64-linux = "sha256-ClKD5OnNhEBo1O3E3rXOGu9X8vVGZAOrfXQFppuEnbU=";
aarch64-linux = "sha256-64ID+psuwfiVTfBayILeotJ3en21Hsv8FMQj+IQjjyE=";
x86_64-linux = "sha256-iooZSiIkHfd3jSk+Pk0E7s/g51UzbyqyP8qnfes3mts=";
aarch64-linux = "sha256-zLkEMOJhckIM0qPCKBNUgFwYiF1YjJU4wKmiLJ1pzNg=";
};
};
@@ -84,11 +83,10 @@ stdenv.mkDerivation (finalAttrs: {
expat
libgbm
vulkan-loader
krb5
];
runtimeDependencies = map lib.getLib [
systemd
];
runtimeDependencies = map lib.getLib [ systemd ];
installPhase = ''
runHook preInstall
@@ -106,6 +104,7 @@ stdenv.mkDerivation (finalAttrs: {
preFixup = ''
patchelf --add-needed libGL.so.1 \
--add-needed libEGL.so.1 \
--add-rpath ${
lib.makeLibraryPath [
libGL
@@ -113,10 +112,7 @@ stdenv.mkDerivation (finalAttrs: {
} $out/opt/beekeeper-studio/beekeeper-studio-bin
'';
passthru.updateScript = writeShellScript "beekeeper-studio-update-script" ''
${lib.getExe nix-update} beekeeper-studio --system x86_64-linux
${lib.getExe nix-update} beekeeper-studio --system aarch64-linux --version "skip"
'';
passthru.updateScript = ./update.sh;
meta = {
description = "Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more";
+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused jq nix bash coreutils nix-update common-updater-scripts
set -eou pipefail
PACKAGE_DIR=$(realpath $(dirname $0))
latestVersion=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/beekeeper-studio/beekeeper-studio/releases/latest | jq --raw-output .tag_name | sed 's/^v//')
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; beekeeper-studio.version or (lib.getVersion beekeeper-studio)" | tr -d '"')
if [[ "$currentVersion" == "$latestVersion" ]]; then
echo "package is up-to-date: $currentVersion"
exit 0
fi
nix-update beekeeper-studio --version "$latestVersion" || true
hash=$(nix hash convert --to sri --hash-algo sha256 $(nix-prefetch-url "$(nix eval -f . --raw beekeeper-studio.src.url --system aarch64-linux)"))
update-source-version beekeeper-studio $latestVersion $hash --system=aarch64-linux --ignore-same-version
+2 -2
View File
@@ -13,14 +13,14 @@
python3Packages.buildPythonPackage rec {
pname = "boxflat";
version = "1.30.0";
version = "1.30.1";
pyproject = true;
src = fetchFromGitHub {
owner = "Lawstorant";
repo = "boxflat";
tag = "v${version}";
hash = "sha256-6fzz3pq9fHoeGMT1Vz5Y8pKLdrprQEV5kLiZt7uJ1KI=";
hash = "sha256-5P6To0VRnvdu316bPIL7gDRuZLRjXLFbOpB9wZKs/t8=";
};
build-system = [ python3Packages.setuptools ];
+4 -455
View File
@@ -5,18 +5,15 @@
"packages": {
"": {
"dependencies": {
"@anthropic-ai/claude-code": "^0.2.109"
"@anthropic-ai/claude-code": "^0.2.122"
}
},
"node_modules/@anthropic-ai/claude-code": {
"version": "0.2.109",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-0.2.109.tgz",
"integrity": "sha512-dxOUgATehMCBZHzC47H3i6CCAf2YlXQMcTxrfzl0XEkwqEhbT8EzwWVbqDVc7n/eLykY2SK7xf5hD1iK8kr/dw==",
"version": "0.2.122",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-0.2.122.tgz",
"integrity": "sha512-q9XnW6a4btqHM2XYxkcl2d7dDNRTX8pvaeisiNWYzAOSKC+wUfOrkioUUS3BG+i6sNtJB03jPKJdqvEvtXbZjw==",
"hasInstallScript": true,
"license": "SEE LICENSE IN README.md",
"dependencies": {
"better-sqlite3": "^11.9.1"
},
"bin": {
"claude": "cli.js"
},
@@ -162,454 +159,6 @@
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT"
},
"node_modules/better-sqlite3": {
"version": "11.9.1",
"resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-11.9.1.tgz",
"integrity": "sha512-Ba0KR+Fzxh2jDRhdg6TSH0SJGzb8C0aBY4hR8w8madIdIzzC6Y1+kx5qR6eS1Z+Gy20h6ZU28aeyg0z1VIrShQ==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"bindings": "^1.5.0",
"prebuild-install": "^7.1.1"
}
},
"node_modules/bindings": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
"license": "MIT",
"dependencies": {
"file-uri-to-path": "1.0.0"
}
},
"node_modules/bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"license": "MIT",
"dependencies": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"node_modules/buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT",
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"node_modules/chownr": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
"license": "ISC"
},
"node_modules/decompress-response": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
"integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
"license": "MIT",
"dependencies": {
"mimic-response": "^3.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/deep-extend": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"license": "MIT",
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/detect-libc": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
"license": "Apache-2.0",
"engines": {
"node": ">=8"
}
},
"node_modules/end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"license": "MIT",
"dependencies": {
"once": "^1.4.0"
}
},
"node_modules/expand-template": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
"license": "(MIT OR WTFPL)",
"engines": {
"node": ">=6"
}
},
"node_modules/file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
"license": "MIT"
},
"node_modules/fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"license": "MIT"
},
"node_modules/github-from-package": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
"integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
"license": "MIT"
},
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "BSD-3-Clause"
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"license": "ISC"
},
"node_modules/ini": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"license": "ISC"
},
"node_modules/mimic-response": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
"integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
"license": "MIT",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/mkdirp-classic": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
"license": "MIT"
},
"node_modules/napi-build-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz",
"integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==",
"license": "MIT"
},
"node_modules/node-abi": {
"version": "3.74.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz",
"integrity": "sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==",
"license": "MIT",
"dependencies": {
"semver": "^7.3.5"
},
"engines": {
"node": ">=10"
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"license": "ISC",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/prebuild-install": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
"integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==",
"license": "MIT",
"dependencies": {
"detect-libc": "^2.0.0",
"expand-template": "^2.0.3",
"github-from-package": "0.0.0",
"minimist": "^1.2.3",
"mkdirp-classic": "^0.5.3",
"napi-build-utils": "^2.0.0",
"node-abi": "^3.3.0",
"pump": "^3.0.0",
"rc": "^1.2.7",
"simple-get": "^4.0.0",
"tar-fs": "^2.0.0",
"tunnel-agent": "^0.6.0"
},
"bin": {
"prebuild-install": "bin.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/pump": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz",
"integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==",
"license": "MIT",
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"node_modules/rc": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
"dependencies": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
},
"bin": {
"rc": "cli.js"
}
},
"node_modules/readable-stream": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT"
},
"node_modules/semver": {
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
"integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/simple-concat": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT"
},
"node_modules/simple-get": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
"integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT",
"dependencies": {
"decompress-response": "^6.0.0",
"once": "^1.3.1",
"simple-concat": "^1.0.0"
}
},
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"license": "MIT",
"dependencies": {
"safe-buffer": "~5.2.0"
}
},
"node_modules/strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/tar-fs": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.2.tgz",
"integrity": "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==",
"license": "MIT",
"dependencies": {
"chownr": "^1.1.1",
"mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
"tar-stream": "^2.1.4"
}
},
"node_modules/tar-stream": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"license": "MIT",
"dependencies": {
"bl": "^4.0.3",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
},
"engines": {
"node": ">=6"
}
},
"node_modules/tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"license": "Apache-2.0",
"dependencies": {
"safe-buffer": "^5.0.1"
},
"engines": {
"node": "*"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"license": "MIT"
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"license": "ISC"
}
}
}
+3 -3
View File
@@ -7,16 +7,16 @@
buildNpmPackage rec {
pname = "claude-code";
version = "0.2.109";
version = "0.2.122";
nodejs = nodejs_20; # required for sandboxed Nix builds on Darwin
src = fetchzip {
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
hash = "sha256-XANo3GKiD5n66GZrB+gZ15o2zTAOKkjcFNbGE3TT1NA=";
hash = "sha256-9w1wjuOTSphEfgKfNJhDFiTKuIJqfV6Bz4XEYXMIaGE=";
};
npmDepsHash = "sha256-u5AZXNlN/NAag+35uz3rzLh6ItbKAdV8RSSjzCGk6uA=";
npmDepsHash = "sha256-71YPsgeI8bmb+wwFHS5XOXKJXsagWZj+hBf2T/+GYMU=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
@@ -1,9 +1,8 @@
{
lib,
llvmPackages,
llvmPackages_16,
stdenv,
llvmPackages_19,
fetchFromGitHub,
fetchpatch,
cmake,
ninja,
python3,
@@ -14,30 +13,23 @@
darwin,
findutils,
libiconv,
rustSupport ? true,
rustc,
cargo,
rustPlatform,
}:
let
inherit (llvmPackages) stdenv;
mkDerivation =
(if stdenv.hostPlatform.isDarwin then llvmPackages_16.stdenv else llvmPackages.stdenv).mkDerivation;
in
mkDerivation rec {
llvmPackages_19.stdenv.mkDerivation (finalAttrs: {
pname = "clickhouse";
version = "24.3.7.30";
version = "25.3.3.42";
src = fetchFromGitHub rec {
owner = "ClickHouse";
repo = "ClickHouse";
rev = "v${version}-lts";
tag = "v${finalAttrs.version}-lts";
fetchSubmodules = true;
name = "clickhouse-${rev}.tar.gz";
hash = "sha256-xIqn1cRbuD3NpUC2c7ZzvC8EAmg+XOXCkp+g/HTdIc0=";
name = "clickhouse-${tag}.tar.gz";
hash = "sha256-VYT6Rnq7LaV9fZc4LJ9YtbWQDgEARYok8MjVfg8itIg=";
postFetch = ''
# delete files that make the source too big
rm -rf $out/contrib/llvm-project/llvm/test
@@ -62,20 +54,6 @@ mkDerivation rec {
'';
};
patches = [
# They updated the Cargo.toml without updating the Cargo.lock :/
(fetchpatch {
url = "https://github.com/ClickHouse/ClickHouse/commit/bccd33932b5fe17ced2dc2f27813da0b1c034afa.patch";
revert = true;
hash = "sha256-4idwr+G8WGuT/VILKtDIJIvbCvi6pZokJFze4dP6ExE=";
})
(fetchpatch {
url = "https://github.com/ClickHouse/ClickHouse/commit/b6bd5ecb199ef8a10e3008a4ea3d96087db8a8c1.patch";
revert = true;
hash = "sha256-nbb/GV2qWEZ+BEfT6/9//yZf4VWdhOdJCI3PLeh6o0M=";
})
];
strictDeps = true;
nativeBuildInputs =
[
@@ -83,14 +61,14 @@ mkDerivation rec {
ninja
python3
perl
llvmPackages.lld
llvmPackages_19.lld
]
++ lib.optionals stdenv.hostPlatform.isx86_64 [
nasm
yasm
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
llvmPackages.bintools
llvmPackages_19.bintools
findutils
darwin.bootstrap_cmds
]
@@ -102,101 +80,38 @@ mkDerivation rec {
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
# their vendored version is too old and missing this patch: https://github.com/corrosion-rs/corrosion/pull/205
corrosionSrc =
if rustSupport then
fetchFromGitHub {
owner = "corrosion-rs";
repo = "corrosion";
rev = "v0.3.5";
hash = "sha256-r/jrck4RiQynH1+Hx4GyIHpw/Kkr8dHe1+vTHg+fdRs=";
}
else
null;
corrosionDeps =
if rustSupport then
rustPlatform.fetchCargoVendor {
src = corrosionSrc;
name = "corrosion-deps";
preBuild = "cd generator";
hash = "sha256-ok1QLobiGBccmbEEWQxHz3ivvuT6FrOgG6wLK4gIbgU=";
}
else
null;
rustDeps =
if rustSupport then
rustPlatform.fetchCargoVendor {
inherit src;
name = "rust-deps";
preBuild = "cd rust";
hash = "sha256-nX5wBM8rVMbaf/IrPsqkdT2KQklQbBIGomeWSTjclR4=";
}
else
null;
dontCargoSetupPostUnpack = true;
postUnpack = lib.optionalString rustSupport ''
pushd source
rm -rf contrib/corrosion
cp -r --no-preserve=mode $corrosionSrc contrib/corrosion
pushd contrib/corrosion/generator
cargoDeps="$corrosionDeps" cargoSetupPostUnpackHook
corrosionDepsCopy="$cargoDepsCopy"
popd
pushd rust
cargoDeps="$rustDeps" cargoSetupPostUnpackHook
rustDepsCopy="$cargoDepsCopy"
cat .cargo/config.toml >> .cargo/config.toml.in
cat .cargo/config.toml >> skim/.cargo/config.toml.in
rm .cargo/config.toml
popd
popd
'';
postPatch =
''
patchShebangs src/
patchShebangs utils/
sed -i 's|/usr/bin/env perl|"${lib.getExe perl}"|' contrib/openssl-cmake/CMakeLists.txt
substituteInPlace src/Storages/System/StorageSystemLicenses.sh \
--replace 'git rev-parse --show-toplevel' '$src'
substituteInPlace utils/check-style/check-duplicate-includes.sh \
--replace 'git rev-parse --show-toplevel' '$src'
--replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot"
substituteInPlace utils/check-style/check-ungrouped-includes.sh \
--replace 'git rev-parse --show-toplevel' '$src'
--replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot"
substituteInPlace utils/list-licenses/list-licenses.sh \
--replace 'git rev-parse --show-toplevel' '$src'
substituteInPlace utils/check-style/check-style \
--replace 'git rev-parse --show-toplevel' '$src'
--replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot"
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
sed -i 's|gfind|find|' cmake/tools.cmake
sed -i 's|ggrep|grep|' cmake/tools.cmake
''
+ lib.optionalString rustSupport ''
pushd contrib/corrosion/generator
cargoDepsCopy="$corrosionDepsCopy" cargoSetupPostPatchHook
popd
pushd rust
cargoDepsCopy="$rustDepsCopy" cargoSetupPostPatchHook
popd
cargoSetupPostPatchHook() { true; }
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
# Make sure Darwin invokes lld.ld64 not lld.
substituteInPlace cmake/tools.cmake \
--replace '--ld-path=''${LLD_PATH}' '-fuse-ld=lld'
''
+ lib.optionalString rustSupport ''
cargoSetupPostPatchHook() { true; }
'';
cmakeFlags =
[
"-DENABLE_TESTS=OFF"
"-DENABLE_DELTA_KERNEL_RS=0"
"-DCOMPILER_CACHE=disabled"
"-DENABLE_EMBEDDED_COMPILER=ON"
]
@@ -205,6 +120,7 @@ mkDerivation rec {
) "-DNO_ARMV81_OR_HIGHER=1";
env = {
CARGO_HOME = "$PWD/../.cargo/";
NIX_CFLAGS_COMPILE =
# undefined reference to '__sync_val_compare_and_swap_16'
lib.optionalString stdenv.hostPlatform.isx86_64 " -mcx16"
@@ -224,9 +140,9 @@ mkDerivation rec {
sed -i -e '\!<log>/var/log/clickhouse-server/clickhouse-server\.log</log>!d' \
$out/etc/clickhouse-server/config.xml
substituteInPlace $out/etc/clickhouse-server/config.xml \
--replace "<errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>" "<console>1</console>"
--replace-fail "<errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>" "<console>1</console>"
substituteInPlace $out/etc/clickhouse-server/config.xml \
--replace "<level>trace</level>" "<level>warning</level>"
--replace-fail "<level>trace</level>" "<level>warning</level>"
'';
# Builds in 7+h with 2 cores, and ~20m with a big-parallel builder.
@@ -241,10 +157,11 @@ mkDerivation rec {
maintainers = with maintainers; [
orivej
mbalatsko
thevar1able
];
# not supposed to work on 32-bit https://github.com/ClickHouse/ClickHouse/pull/23959#issuecomment-835343685
platforms = lib.filter (x: (lib.systems.elaborate x).is64bit) (platforms.linux ++ platforms.darwin);
broken = stdenv.buildPlatform != stdenv.hostPlatform;
};
}
})
+3 -3
View File
@@ -31,13 +31,13 @@ let
in
buildGoModule rec {
pname = "frankenphp";
version = "1.5.0";
version = "1.6.0";
src = fetchFromGitHub {
owner = "dunglas";
repo = "frankenphp";
tag = "v${version}";
hash = "sha256-VOvH4Ma7IRDL2U6ihC620g9hvBcbt4VKP9SQxV1n3RM=";
hash = "sha256-y1S1oPBuXpu2ApCxv9ENqzD2wjSeMzwqnBldmVLEIsM=";
};
sourceRoot = "${src.name}/caddy";
@@ -45,7 +45,7 @@ buildGoModule rec {
# frankenphp requires C code that would be removed with `go mod tidy`
# https://github.com/golang/go/issues/26366
proxyVendor = true;
vendorHash = "sha256-ltT6RHGcEMJjCkqWWwtVrCUpPs2F8U0yBx+YbzGwfSo=";
vendorHash = "sha256-M1z9Yv+WomKA+UACOUT8xcWdw+SD1MY2jfaDO4zYUQg=";
buildInputs = [
phpUnwrapped
+92
View File
@@ -0,0 +1,92 @@
{
lib,
buildGoModule,
fetchFromGitHub,
symlinkJoin,
versionCheckHook,
makeWrapper,
wrapGAppsHook4,
cairo,
gdk-pixbuf,
glib,
graphene,
gtk4,
libadwaita,
pango,
}:
buildGoModule (finalAttrs: {
pname = "geteduroam";
version = "0.10";
src = fetchFromGitHub {
owner = "geteduroam";
repo = "linux-app";
tag = finalAttrs.version;
hash = "sha256-Mtzt6i8vJ5M8T0vrAOxXhawlhCmCMEnDQz0Jo6uV88A=";
};
vendorHash = "sha256-b06wnqT88J7etNTFJ6nE9Uo0gOQOGvvs0vPNnJr6r4Q=";
subPackages = [
"cmd/geteduroam-gui"
"cmd/geteduroam-notifcheck"
];
postInstall = ''
wrapProgram $out/bin/geteduroam-gui \
--set-default PUREGOTK_LIB_FOLDER ${finalAttrs.passthru.libraryPath}/lib \
''${gappsWrapperArgs[@]}
# copy notifcheck service
mkdir -p $out/lib/systemd/system/
cp -v systemd/user/geteduroam/* $out/lib/systemd/system/
substituteInPlace $out/lib/systemd/system/geteduroam-notifs.service \
--replace-fail \
"ExecStart=/usr/bin/geteduroam-notifcheck" \
"ExecStart=$out/bin/geteduroam-notifcheck"
# copy icons and desktop entries
cp -r cmd/geteduroam-gui/resources/share $out/
'';
nativeBuildInputs = [
wrapGAppsHook4
makeWrapper
];
dontWrapGApps = true;
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgram = "${placeholder "out"}/bin/geteduroam-gui";
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
libraryPath = symlinkJoin {
name = "eduroam-gui-puregotk-lib";
# based on https://github.com/jwijenbergh/puregotk/blob/bc1a52f44fd4c491947f7af85296c66173da17ba/internal/core/core.go#L41
paths = [
cairo
gdk-pixbuf
glib.out
graphene
gtk4
libadwaita
pango.out
];
};
};
meta = {
description = "GUI client to configure eduroam";
homepage = "https://eduroam.app";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ pbsds ];
platforms = lib.platforms.linux;
changelog = "https://github.com/geteduroam/linux-app/releases/tag/${finalAttrs.version}";
mainProgram = "geteduroam-gui";
};
})
+1
View File
@@ -16,6 +16,7 @@ rustPlatform.buildRustPackage rec {
sha256 = "sha256-+sSooE0KJqvWFdR63qazOMmSS8dV7MirYZ+sk7BnGQ4=";
};
buildNoDefaultFeatures = true;
useFetchCargoVendor = true;
cargoHash = "sha256-Yf8fAW65K7SLaRpvegjWBLVDV33sMGV+I1rqlWvx5Ss=";
+3 -3
View File
@@ -8,19 +8,19 @@
let
pname = "pinact";
version = "3.0.5";
version = "3.1.2";
src = fetchFromGitHub {
owner = "suzuki-shunsuke";
repo = "pinact";
tag = "v${version}";
hash = "sha256-p8GOXx++wcUrQATlojx0D4ymlPFw9TCqL6YGSTOaRDo=";
hash = "sha256-5jJzlMMpfk9fFDoqR0NJNacquZ4Zma0YF/pi80Miv0Y=";
};
mainProgram = "pinact";
in
buildGoModule {
inherit pname version src;
vendorHash = "sha256-+iYNducL+tX34L5VlisqeNwvJUcuOAkEWDk/2JbfC0Q=";
vendorHash = "sha256-kK4r0mCktlbhJr6iHD0Q/k1DralieN2AUg+zREZ06DA=";
env.CGO_ENABLED = 0;
+2 -2
View File
@@ -10,14 +10,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "snac2";
version = "2.75";
version = "2.77";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "grunfink";
repo = "snac2";
tag = finalAttrs.version;
hash = "sha256-xy608ks9Z3eCjpE1M4U5r/Xi3ou8BuA4ljUDWgfTtoU=";
hash = "sha256-QUPFD7x1ZDnDxediA+oqYC8CotmGeAr36xSZ3STOK9Y=";
};
buildInputs = [
+2 -2
View File
@@ -31,13 +31,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "swayimg";
version = "3.9";
version = "4.0";
src = fetchFromGitHub {
owner = "artemsen";
repo = "swayimg";
tag = "v${finalAttrs.version}";
hash = "sha256-QPTODuVVDQCP7Ix63F0J0tOzfg5Q9B4GXaxjuTerkI0=";
hash = "sha256-2UmaU60+5NNj2CVJt4oJXyBPjVeA0zBfEqZOOSI2vvk=";
};
strictDeps = true;
+57
View File
@@ -0,0 +1,57 @@
{
lib,
writers,
nixdoc,
runCommand,
treefmt,
}:
let
root = toString ./.;
revision = lib.trivial.revisionWithDefault "master";
removeRoot = file: lib.removePrefix "/" (lib.removePrefix root file);
# Import and apply `./lib.nix`, which contains treefmt's public functions
#
# NOTE: we cannot access them via `treefmt.passthru` or `callPackages ./lib.nix { }`,
# because that would be opaque to `unsafeGetAttrPos`.
attrs =
let
fn = import ./lib.nix;
args = builtins.mapAttrs (_: _: null) (builtins.functionArgs fn);
in
fn args;
in
{
locations = lib.pipe attrs [
builtins.attrNames
(builtins.map (
name:
let
pos = builtins.unsafeGetAttrPos name attrs;
file = removeRoot pos.file;
line = toString pos.line;
subpath = "pkgs/by-name/tr/treefmt/${file}";
url = "https://github.com/NixOS/nixpkgs/blob/${revision}/${subpath}#L${line}";
in
assert lib.hasPrefix root pos.file;
lib.nameValuePair "pkgs.treefmt.${name}" "[${subpath}:${line}](${url}) in `<nixpkgs>`"
))
builtins.listToAttrs
(writers.writeJSON "treefmt-function-locations")
];
markdown =
runCommand "treefmt-functions-doc"
{
nativeBuildInputs = [ nixdoc ];
}
''
nixdoc --file ${./lib.nix} \
--locs ${treefmt.functionsDoc.locations} \
--description "Functions Reference" \
--prefix "pkgs" \
--category "treefmt" \
--anchor-prefix "" \
> $out
'';
}
+4 -9
View File
@@ -16,10 +16,7 @@
# Inputs
`module`
: A treefmt module, configuring options that include:
- `name`: `String` (default `"treefmt-with-config"`)
- `settings`: `Module` (default `{ }`)
- `runtimeInputs`: `[Derivation]` (default `[ ]`)
: A treefmt module. See [options reference](#sec-treefmt-options-reference).
*/
evalConfig =
module:
@@ -52,10 +49,7 @@
# Inputs
`module`
: A treefmt module, configuring options that include:
- `name`: `String` (default `"treefmt-with-config"`)
- `settings`: `Module` (default `{ }`)
- `runtimeInputs`: `[Derivation]` (default `[ ]`)
: A treefmt module. See [options reference](#sec-treefmt-options-reference).
*/
withConfig =
module:
@@ -79,7 +73,8 @@
# Inputs
`settings`
: A settings module, used to build a treefmt config file
: A settings module, used to build a treefmt config file.
See [`settings` option reference](#opt-treefmt-settings).
*/
buildConfig =
module:
+31
View File
@@ -0,0 +1,31 @@
# To build this derivation, run `nix-build -A treefmt.optionsDoc`
{
lib,
treefmt,
nixosOptionsDoc,
}:
let
configuration = treefmt.evalConfig [ ];
root = toString configuration._module.specialArgs.modulesPath;
revision = lib.trivial.revisionWithDefault "master";
removeRoot = file: lib.removePrefix "/" (lib.removePrefix root file);
transformDeclaration =
file:
let
fileStr = toString file;
subpath = "pkgs/by-name/tr/treefmt/modules/" + removeRoot fileStr;
in
assert lib.hasPrefix root fileStr;
{
url = "https://github.com/NixOS/nixpkgs/blob/${revision}/${subpath}";
name = subpath;
};
in
nixosOptionsDoc {
documentType = "none";
options = builtins.removeAttrs configuration.options [ "_module" ];
transformOptions = opt: opt // { declarations = map transformDeclaration opt.declarations; };
}
+19
View File
@@ -36,10 +36,29 @@ buildGoModule rec {
;
tests = callPackages ./tests.nix { };
# Documentation for functions defined in `./lib.nix`
functionsDoc = callPackages ./functions-doc.nix { };
# Documentation for options declared in `treefmt.evalConfig` configurations
optionsDoc = callPackages ./options-doc.nix { };
};
meta = {
description = "one CLI to format the code tree";
longDescription = ''
[treefmt](${meta.homepage}) streamlines the process of applying formatters
to your project, making it a breeze with just one command line.
The `treefmt` package provides functions for configuring treefmt using
the module system, which are documented in the [treefmt section] of the
Nixpkgs Manual.
Alternatively, treefmt can be configured using [treefmt-nix].
[treefmt section]: https://nixos.org/manual/nixpkgs/unstable#treefmt
[treefmt-nix]: https://github.com/numtide/treefmt-nix
'';
homepage = "https://github.com/numtide/treefmt";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
@@ -1,9 +1,9 @@
{ lib, buildDotnetGlobalTool }:
buildDotnetGlobalTool {
pname = "upgrade-assistant";
version = "0.5.1073";
version = "0.5.1084";
nugetHash = "sha256-kk3SIv1gp9xtof0MkGkNUiqGuXgy1+YMGxLFZPFsw+0=";
nugetHash = "sha256-O+HHLqou6hRAQ8vUzq+VfX0vRM+nZGPnfCg8niYX2gE=";
meta = {
homepage = "https://github.com/dotnet/upgrade-assistant";
+3 -3
View File
@@ -14,7 +14,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "yabai";
version = "7.1.14";
version = "7.1.15";
src =
finalAttrs.passthru.sources.${stdenv.hostPlatform.system}
@@ -66,13 +66,13 @@ stdenv.mkDerivation (finalAttrs: {
# See the comments on https://github.com/NixOS/nixpkgs/pull/188322 for more information.
"aarch64-darwin" = fetchzip {
url = "https://github.com/koekeishiya/yabai/releases/download/v${finalAttrs.version}/yabai-v${finalAttrs.version}.tar.gz";
hash = "sha256-cDONHrNPBTzEkVqxN1cHDqVumfyfcHrTYGZxn4s/mEA=";
hash = "sha256-QDGt/v5t7g6+y6ijpLRF7YkqF8bISfxk684m7uUg4eM=";
};
"x86_64-darwin" = fetchFromGitHub {
owner = "koekeishiya";
repo = "yabai";
rev = "v${finalAttrs.version}";
hash = "sha256-YbEx1CzuvSFYFD3HgiZrrAd1x9cOQF6fGdgsOlkmUGU=";
hash = "sha256-HvaMPmXNlFVOezqWxqXaAUq8E8O2ZkXMQPwkKXCAOcY=";
};
};
-17
View File
@@ -1,17 +0,0 @@
--- a/utils/cfhq2xa.C
+++ b/utils/cfhq2xa.C
@@ -182,10 +182,10 @@ static inline bool Diff (pixel w1, pixel w2)
pixel YUV1 = RGBAtoYUVA (w1);
pixel YUV2 = RGBAtoYUVA (w2);
- return ((abs (((YUV1 >> Rshift) & Cmask) - ((YUV2 >> Rshift) & Cmask)) > trY) ||
- (abs (((YUV1 >> Gshift) & Cmask) - ((YUV2 >> Gshift) & Cmask)) > trU) ||
- (abs (((YUV1 >> Bshift) & Cmask) - ((YUV2 >> Bshift) & Cmask)) > trV) ||
- (abs (((YUV1 >> Ashift) & Cmask) - ((YUV2 >> Ashift) & Cmask)) > trA) );
+ return ((abs ((signed int)((YUV1 >> Rshift) & Cmask) - (signed int)((YUV2 >> Rshift) & Cmask)) > trY) ||
+ (abs ((signed int)((YUV1 >> Gshift) & Cmask) - (signed int)((YUV2 >> Gshift) & Cmask)) > trU) ||
+ (abs ((signed int)((YUV1 >> Bshift) & Cmask) - (signed int)((YUV2 >> Bshift) & Cmask)) > trV) ||
+ (abs ((signed int)((YUV1 >> Ashift) & Cmask) - (signed int)((YUV2 >> Ashift) & Cmask)) > trA) );
}
static void
-11
View File
@@ -1,11 +0,0 @@
--- a/utils/cfutil.in
+++ b/utils/cfutil.in
@@ -27,7 +27,7 @@ use common::sense;
my $prefix = "@prefix@";
my $exec_prefix = "@exec_prefix@";
my $datarootdir = "@datarootdir@";
-my $DATADIR = "@datadir@/@PACKAGE@";
+my $DATADIR = $ENV{'DELIANTRA_DATADIR'} || "@datadir@/@PACKAGE@";
my $CONVERT = "@CONVERT@";
my $IDENTIFY = "@IDENTIFY@";
-14
View File
@@ -1,14 +0,0 @@
--- a/include/util.h
+++ b/include/util.h
@@ -449,6 +449,11 @@ struct slice_allocator
{
p->~Tp ();
}
+
+ bool operator ==(const slice_allocator &) const
+ {
+ return true;
+ }
};
// basically a memory area, but refcounted
-33
View File
@@ -1,33 +0,0 @@
{
stdenv,
lib,
fetchurl,
deliantra-server,
}:
stdenv.mkDerivation rec {
pname = "deliantra-arch";
version = "3.1";
src = fetchurl {
url = "http://dist.schmorp.de/deliantra/${pname}-${version}.tar.xz";
sha256 = "1xzhv48g90hwkzgx9nfjm81ivg6hchkik9ldimi8ijb4j393kvsz";
};
installPhase = ''
mkdir -p "$out"
export DELIANTRA_DATADIR="$out"
${deliantra-server}/bin/cfutil --install-arch .
'';
meta = with lib; {
description = "Archetype data for the Deliantra free MMORPG";
homepage = "http://www.deliantra.net/";
license = with licenses; [
gpl2Plus
agpl3Plus
];
platforms = platforms.linux;
maintainers = with maintainers; [ ToxicFrog ];
};
}
-30
View File
@@ -1,30 +0,0 @@
{
lib,
deliantra-maps,
deliantra-arch,
deliantra-server,
symlinkJoin,
}:
symlinkJoin rec {
name = "deliantra-data-${version}";
version = "M${deliantra-maps.version}+A${deliantra-arch.version}";
paths = [
deliantra-maps
deliantra-arch
"${deliantra-server}/share/deliantra-server"
];
meta = with lib; {
description = "Combined game data (maps + archetypes) for the Deliantra free MMORPG";
homepage = "http://www.deliantra.net/";
license = with licenses; [
gpl2Plus
agpl3Plus
];
platforms = platforms.linux;
maintainers = with maintainers; [ ToxicFrog ];
hydraPlatforms = [ ];
};
}
-33
View File
@@ -1,33 +0,0 @@
{
stdenv,
lib,
fetchurl,
deliantra-server,
}:
stdenv.mkDerivation rec {
pname = "deliantra-maps";
version = "3.1";
src = fetchurl {
url = "http://dist.schmorp.de/deliantra/${pname}-${version}.tar.xz";
sha256 = "0zbwzya28s1xpnbrmqkqvfrzns03zdjd8a9w9nk665aif6rw2zbz";
};
installPhase = ''
mkdir -p "$out/maps"
export DELIANTRA_DATADIR="$out"
${deliantra-server}/bin/cfutil --install-maps .
'';
meta = with lib; {
description = "Map data for the Deliantra free MMORPG";
homepage = "http://www.deliantra.net/";
license = with licenses; [
gpl2Plus
agpl3Plus
];
platforms = platforms.linux;
maintainers = with maintainers; [ ToxicFrog ];
};
}
-93
View File
@@ -1,93 +0,0 @@
{
stdenv,
lib,
fetchurl,
perlPackages,
autoconf,
perl,
gperf,
optipng,
pngnq,
rsync,
imagemagick,
blitz,
pkg-config,
glib,
boost,
makeWrapper,
}:
let
perl-deps = with perlPackages; [
AnyEvent
AnyEventAIO
AnyEventBDB
AnyEventIRC
CompressLZF
commonsense
Coro
CoroEV
Deliantra
DigestSHA1
EV
PodPOM
SafeHole
URI
YAMLLibYAML
];
in
stdenv.mkDerivation rec {
pname = "deliantra-server";
version = "3.1";
src = fetchurl {
url = "http://dist.schmorp.de/deliantra/${pname}-${version}.tar.xz";
sha256 = "0v0m2m9fxq143aknh7jb3qj8bnpjrs3bpbbx07c18516y3izr71d";
};
nativeBuildInputs = [
autoconf
perl
gperf
optipng
pngnq
rsync
imagemagick
pkg-config
makeWrapper
];
propagatedBuildInputs = perl-deps;
buildInputs = [
blitz
boost
glib
];
hardeningDisable = [ "format" ];
patches = [
./0001-abs.patch
./0002-datadir.patch
./0003-swap.patch
];
env.CXXFLAGS = "-std=c++11";
postFixup = ''
wrapProgram $out/bin/cfutil --prefix PERL5LIB : $PERL5LIB
wrapProgram $out/bin/deliantra-server --prefix PERL5LIB : $PERL5LIB
'';
meta = with lib; {
description = "Server for the Deliantra free MMORPG";
homepage = "http://www.deliantra.net/";
license = with licenses; [
gpl2Plus
agpl3Plus
];
platforms = platforms.linux;
maintainers = with maintainers; [ ToxicFrog ];
};
}
-13
View File
@@ -10274,10 +10274,6 @@ with pkgs;
autoreconfHook = buildPackages.autoreconfHook269;
};
clickhouse = callPackage ../servers/clickhouse {
llvmPackages = llvmPackages_16;
};
clickhouse-cli = with python3Packages; toPythonApplication clickhouse-cli;
couchdb3 = callPackage ../servers/http/couchdb/3.nix { };
@@ -14935,15 +14931,6 @@ with pkgs;
cutemaze = qt6Packages.callPackage ../games/cutemaze { };
deliantra-server = callPackage ../games/deliantra/server.nix {
# perl538 defines 'struct object' in sv.h. many conflicts result
perl = perl540;
perlPackages = perl540Packages;
};
deliantra-arch = callPackage ../games/deliantra/arch.nix { };
deliantra-maps = callPackage ../games/deliantra/maps.nix { };
deliantra-data = callPackage ../games/deliantra/data.nix { };
ddnet-server = ddnet.override { buildClient = false; };
duckmarines = callPackage ../games/duckmarines { love = love_0_10; };