Merge master into staging-next

Changed files
+609 -1181
doc
maintainers
nixos
pkgs
applications
networking
browsers
vivaldi
by-name
as
ast-grep
be
beekeeper-studio
bo
boxflat
cl
claude-code
clickhouse
fr
frankenphp
ge
geteduroam
ku
kubie
pi
pinact
sn
snac2
sw
swayimg
tr
up
upgrade-assistant
ya
yabai
games
servers
clickhouse
top-level
+21 -1
doc/README.md
···
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
doc/doc-support/package.nix
···
nixpkgs ? { },
markdown-code-runner,
roboto,
+
treefmt,
}:
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
doc/packages/index.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
doc/packages/treefmt.section.md
···
+
# 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
doc/redirects.json
···
"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"
],
···
],
"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"
···
"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"
],
···
],
"tester-testEqualArrayOrMap-return": [
"index.html#tester-testEqualArrayOrMap-return"
+
],
+
"treefmt": [
+
"index.html#treefmt"
],
"typst": [
"index.html#typst",
+9
maintainers/maintainer-list.nix
···
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";
+22
nixos/doc/manual/contributing-to-this-manual.chapter.md
···
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
nixos/doc/manual/redirects.json
···
"ch-installation": [
"index.html#ch-installation"
],
+
"sec-contributing-development-env": [
+
"index.html#sec-contributing-development-env"
+
],
"sec-mattermost": [
"index.html#sec-mattermost"
],
+1 -1
nixos/doc/manual/release-notes/rl-2511.section.md
···
<!-- 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
nixos/modules/module-list.nix
···
./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
···
./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
+78
nixos/modules/programs/wayland/gtklock.nix
···
+
{
+
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 = { };
+
};
+
}
-182
nixos/modules/services/games/deliantra-server.nix
···
-
{
-
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 ];
-
};
-
};
-
}
+3 -3
pkgs/applications/networking/browsers/vivaldi/default.nix
···
in
stdenv.mkDerivation rec {
pname = "vivaldi";
-
version = "7.3.3635.11";
+
version = "7.3.3635.12";
suffix =
{
···
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
pkgs/by-name/as/ast-grep/package.nix
···
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
···
'';
useFetchCargoVendor = true;
-
cargoHash = "sha256-0PUXj9LSFFC10H3LHVuiOHCREwFz8AkgkzJDUAGI+V0=";
+
cargoHash = "sha256-s2h2Zt0cRW6V0VAKNuTL8WkHdfkLvuZA/bnSkQKcr9w=";
nativeBuildInputs = [ installShellFiles ];
+8 -12
pkgs/by-name/be/beekeeper-studio/package.nix
···
vulkan-loader,
systemd,
libGL,
-
writeShellScript,
-
nix-update,
+
krb5,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "beekeeper-studio";
-
version = "5.1.5";
+
version = "5.2.9";
src =
let
···
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=";
};
};
···
expat
libgbm
vulkan-loader
+
krb5
];
-
runtimeDependencies = map lib.getLib [
-
systemd
-
];
+
runtimeDependencies = map lib.getLib [ systemd ];
installPhase = ''
runHook preInstall
···
preFixup = ''
patchelf --add-needed libGL.so.1 \
+
--add-needed libEGL.so.1 \
--add-rpath ${
lib.makeLibraryPath [
libGL
···
} $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
pkgs/by-name/be/beekeeper-studio/update.sh
···
+
#!/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
pkgs/by-name/bo/boxflat/package.nix
···
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
pkgs/by-name/cl/claude-code/package-lock.json
···
"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"
},
···
"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
pkgs/by-name/cl/claude-code/package.nix
···
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
+167
pkgs/by-name/cl/clickhouse/package.nix
···
+
{
+
lib,
+
stdenv,
+
llvmPackages_19,
+
fetchFromGitHub,
+
cmake,
+
ninja,
+
python3,
+
perl,
+
nasm,
+
yasm,
+
nixosTests,
+
darwin,
+
findutils,
+
libiconv,
+
rustSupport ? true,
+
rustc,
+
cargo,
+
rustPlatform,
+
}:
+
+
llvmPackages_19.stdenv.mkDerivation (finalAttrs: {
+
pname = "clickhouse";
+
version = "25.3.3.42";
+
+
src = fetchFromGitHub rec {
+
owner = "ClickHouse";
+
repo = "ClickHouse";
+
tag = "v${finalAttrs.version}-lts";
+
fetchSubmodules = true;
+
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
+
rm -rf $out/contrib/llvm-project/clang/test
+
rm -rf $out/contrib/croaring/benchmarks
+
+
# fix case insensitivity on macos https://github.com/NixOS/nixpkgs/issues/39308
+
rm -rf $out/contrib/sysroot/linux-*
+
rm -rf $out/contrib/liburing/man
+
+
# compress to not exceed the 2GB output limit
+
# try to make a deterministic tarball
+
tar -I 'gzip -n' \
+
--sort=name \
+
--mtime=1970-01-01 \
+
--owner=0 --group=0 \
+
--numeric-owner --mode=go=rX,u+rw,a-s \
+
--transform='s@^@source/@S' \
+
-cf temp -C "$out" .
+
rm -r "$out"
+
mv temp "$out"
+
'';
+
};
+
+
strictDeps = true;
+
nativeBuildInputs =
+
[
+
cmake
+
ninja
+
python3
+
perl
+
llvmPackages_19.lld
+
]
+
++ lib.optionals stdenv.hostPlatform.isx86_64 [
+
nasm
+
yasm
+
]
+
++ lib.optionals stdenv.hostPlatform.isDarwin [
+
llvmPackages_19.bintools
+
findutils
+
darwin.bootstrap_cmds
+
]
+
++ lib.optionals rustSupport [
+
rustc
+
cargo
+
rustPlatform.cargoSetupHook
+
];
+
+
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
+
+
dontCargoSetupPostUnpack = true;
+
+
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-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot"
+
substituteInPlace utils/check-style/check-ungrouped-includes.sh \
+
--replace-fail '$(git rev-parse --show-toplevel)' "$NIX_BUILD_TOP/$sourceRoot"
+
substituteInPlace utils/list-licenses/list-licenses.sh \
+
--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
+
+
# 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"
+
]
+
++ lib.optional (
+
stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64
+
) "-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"
+
+
+
# Silence ``-Wimplicit-const-int-float-conversion` error in MemoryTracker.cpp and
+
# ``-Wno-unneeded-internal-declaration` TreeOptimizer.cpp.
+
lib.optionalString stdenv.hostPlatform.isDarwin
+
" -Wno-implicit-const-int-float-conversion -Wno-unneeded-internal-declaration";
+
};
+
+
# https://github.com/ClickHouse/ClickHouse/issues/49988
+
hardeningDisable = [ "fortify" ];
+
+
postInstall = ''
+
rm -rf $out/share/clickhouse-test
+
+
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-fail "<errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>" "<console>1</console>"
+
substituteInPlace $out/etc/clickhouse-server/config.xml \
+
--replace-fail "<level>trace</level>" "<level>warning</level>"
+
'';
+
+
# Builds in 7+h with 2 cores, and ~20m with a big-parallel builder.
+
requiredSystemFeatures = [ "big-parallel" ];
+
+
passthru.tests.clickhouse = nixosTests.clickhouse;
+
+
meta = with lib; {
+
homepage = "https://clickhouse.com";
+
description = "Column-oriented database management system";
+
license = licenses.asl20;
+
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
pkgs/by-name/fr/frankenphp/package.nix
···
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";
···
# 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
pkgs/by-name/ge/geteduroam/package.nix
···
+
{
+
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
pkgs/by-name/ku/kubie/package.nix
···
sha256 = "sha256-+sSooE0KJqvWFdR63qazOMmSS8dV7MirYZ+sk7BnGQ4=";
};
+
buildNoDefaultFeatures = true;
useFetchCargoVendor = true;
cargoHash = "sha256-Yf8fAW65K7SLaRpvegjWBLVDV33sMGV+I1rqlWvx5Ss=";
+3 -3
pkgs/by-name/pi/pinact/package.nix
···
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
pkgs/by-name/sn/snac2/package.nix
···
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
pkgs/by-name/sw/swayimg/package.nix
···
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
pkgs/by-name/tr/treefmt/functions-doc.nix
···
+
{
+
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
pkgs/by-name/tr/treefmt/lib.nix
···
# 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:
···
# 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:
···
# 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
pkgs/by-name/tr/treefmt/options-doc.nix
···
+
# 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
pkgs/by-name/tr/treefmt/package.nix
···
;
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; [
+2 -2
pkgs/by-name/up/upgrade-assistant/package.nix
···
{ 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
pkgs/by-name/ya/yabai/package.nix
···
}:
stdenv.mkDerivation (finalAttrs: {
pname = "yabai";
-
version = "7.1.14";
+
version = "7.1.15";
src =
finalAttrs.passthru.sources.${stdenv.hostPlatform.system}
···
# 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
pkgs/games/deliantra/0001-abs.patch
···
-
--- 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
pkgs/games/deliantra/0002-datadir.patch
···
-
--- 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
pkgs/games/deliantra/0003-swap.patch
···
-
--- 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
pkgs/games/deliantra/arch.nix
···
-
{
-
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
pkgs/games/deliantra/data.nix
···
-
{
-
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
pkgs/games/deliantra/maps.nix
···
-
{
-
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
pkgs/games/deliantra/server.nix
···
-
{
-
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 ];
-
};
-
}
-250
pkgs/servers/clickhouse/default.nix
···
-
{
-
lib,
-
llvmPackages,
-
llvmPackages_16,
-
fetchFromGitHub,
-
fetchpatch,
-
cmake,
-
ninja,
-
python3,
-
perl,
-
nasm,
-
yasm,
-
nixosTests,
-
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 {
-
pname = "clickhouse";
-
version = "24.3.7.30";
-
-
src = fetchFromGitHub rec {
-
owner = "ClickHouse";
-
repo = "ClickHouse";
-
rev = "v${version}-lts";
-
fetchSubmodules = true;
-
name = "clickhouse-${rev}.tar.gz";
-
hash = "sha256-xIqn1cRbuD3NpUC2c7ZzvC8EAmg+XOXCkp+g/HTdIc0=";
-
postFetch = ''
-
# delete files that make the source too big
-
rm -rf $out/contrib/llvm-project/llvm/test
-
rm -rf $out/contrib/llvm-project/clang/test
-
rm -rf $out/contrib/croaring/benchmarks
-
-
# fix case insensitivity on macos https://github.com/NixOS/nixpkgs/issues/39308
-
rm -rf $out/contrib/sysroot/linux-*
-
rm -rf $out/contrib/liburing/man
-
-
# compress to not exceed the 2GB output limit
-
# try to make a deterministic tarball
-
tar -I 'gzip -n' \
-
--sort=name \
-
--mtime=1970-01-01 \
-
--owner=0 --group=0 \
-
--numeric-owner --mode=go=rX,u+rw,a-s \
-
--transform='s@^@source/@S' \
-
-cf temp -C "$out" .
-
rm -r "$out"
-
mv temp "$out"
-
'';
-
};
-
-
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 =
-
[
-
cmake
-
ninja
-
python3
-
perl
-
llvmPackages.lld
-
]
-
++ lib.optionals stdenv.hostPlatform.isx86_64 [
-
nasm
-
yasm
-
]
-
++ lib.optionals stdenv.hostPlatform.isDarwin [
-
llvmPackages.bintools
-
findutils
-
darwin.bootstrap_cmds
-
]
-
++ lib.optionals rustSupport [
-
rustc
-
cargo
-
rustPlatform.cargoSetupHook
-
];
-
-
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/
-
-
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'
-
substituteInPlace utils/check-style/check-ungrouped-includes.sh \
-
--replace 'git rev-parse --show-toplevel' '$src'
-
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'
-
''
-
+ 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'
-
'';
-
-
cmakeFlags =
-
[
-
"-DENABLE_TESTS=OFF"
-
"-DCOMPILER_CACHE=disabled"
-
"-DENABLE_EMBEDDED_COMPILER=ON"
-
]
-
++ lib.optional (
-
stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64
-
) "-DNO_ARMV81_OR_HIGHER=1";
-
-
env = {
-
NIX_CFLAGS_COMPILE =
-
# undefined reference to '__sync_val_compare_and_swap_16'
-
lib.optionalString stdenv.hostPlatform.isx86_64 " -mcx16"
-
+
-
# Silence ``-Wimplicit-const-int-float-conversion` error in MemoryTracker.cpp and
-
# ``-Wno-unneeded-internal-declaration` TreeOptimizer.cpp.
-
lib.optionalString stdenv.hostPlatform.isDarwin
-
" -Wno-implicit-const-int-float-conversion -Wno-unneeded-internal-declaration";
-
};
-
-
# https://github.com/ClickHouse/ClickHouse/issues/49988
-
hardeningDisable = [ "fortify" ];
-
-
postInstall = ''
-
rm -rf $out/share/clickhouse-test
-
-
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>"
-
substituteInPlace $out/etc/clickhouse-server/config.xml \
-
--replace "<level>trace</level>" "<level>warning</level>"
-
'';
-
-
# Builds in 7+h with 2 cores, and ~20m with a big-parallel builder.
-
requiredSystemFeatures = [ "big-parallel" ];
-
-
passthru.tests.clickhouse = nixosTests.clickhouse;
-
-
meta = with lib; {
-
homepage = "https://clickhouse.com";
-
description = "Column-oriented database management system";
-
license = licenses.asl20;
-
maintainers = with maintainers; [
-
orivej
-
mbalatsko
-
];
-
-
# 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;
-
};
-
}
-13
pkgs/top-level/all-packages.nix
···
autoreconfHook = buildPackages.autoreconfHook269;
-
clickhouse = callPackage ../servers/clickhouse {
-
llvmPackages = llvmPackages_16;
-
};
-
clickhouse-cli = with python3Packages; toPythonApplication clickhouse-cli;
couchdb3 = callPackage ../servers/http/couchdb/3.nix { };
···
cutechess = qt5.callPackage ../games/cutechess { };
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; };