Merge remote-tracking branch 'origin/master' into staging-next
This commit is contained in:
@@ -10850,12 +10850,6 @@
|
||||
githubId = 2332070;
|
||||
name = "Serge Baltic";
|
||||
};
|
||||
hyphon81 = {
|
||||
email = "zero812n@gmail.com";
|
||||
github = "hyphon81";
|
||||
githubId = 12491746;
|
||||
name = "Masato Yonekawa";
|
||||
};
|
||||
hyshka = {
|
||||
name = "Bryan Hyshka";
|
||||
email = "bryan@hyshka.com";
|
||||
@@ -10905,10 +10899,11 @@
|
||||
keys = [ { fingerprint = "DF90 9D58 BEE4 E73A 1B8C 5AF3 35D3 9F9A 9A1B C8DA"; } ];
|
||||
};
|
||||
iamanaws = {
|
||||
email = "nixpkgs.yjzaw@slmail.me";
|
||||
github = "Iamanaws";
|
||||
email = "iamanaws@httpd.dev";
|
||||
github = "iamanaws";
|
||||
githubId = 78835633;
|
||||
name = "Angel J";
|
||||
keys = [ { fingerprint = "CF10 DCBB 9318 BE1D 6040 4222 272C 61AB 190D ED28"; } ];
|
||||
};
|
||||
iammrinal0 = {
|
||||
email = "nixpkgs@mrinalpurohit.in";
|
||||
@@ -26129,6 +26124,7 @@
|
||||
};
|
||||
thegu5 = {
|
||||
name = "Gus";
|
||||
matrix = "@gus:gu5.org";
|
||||
github = "thegu5";
|
||||
githubId = 58223632;
|
||||
};
|
||||
|
||||
@@ -62,6 +62,12 @@
|
||||
"module-boot-plymouth-tpm2-totp-quick-start-enable": [
|
||||
"index.html#module-boot-plymouth-tpm2-totp-quick-start-enable"
|
||||
],
|
||||
"module-services-tandoor-recipes-migrating-media-option-1": [
|
||||
"index.html#module-services-tandoor-recipes-migrating-media-option-1"
|
||||
],
|
||||
"module-services-tandoor-recipes-migrating-media-option-2": [
|
||||
"index.html#module-services-tandoor-recipes-migrating-media-option-2"
|
||||
],
|
||||
"sec-override-nixos-test": [
|
||||
"index.html#sec-override-nixos-test"
|
||||
],
|
||||
@@ -1122,6 +1128,12 @@
|
||||
"module-services-samba-configuring-file-share": [
|
||||
"index.html#module-services-samba-configuring-file-share"
|
||||
],
|
||||
"module-services-tandoor-recipes": [
|
||||
"index.html#module-services-tandoor-recipes"
|
||||
],
|
||||
"module-services-tandoor-recipes-migrating-media": [
|
||||
"index.html#module-services-tandoor-recipes-migrating-media"
|
||||
],
|
||||
"module-services-litestream": [
|
||||
"index.html#module-services-litestream"
|
||||
],
|
||||
|
||||
@@ -42,6 +42,8 @@
|
||||
|
||||
- `services.crabfit` was removed because its upstream packages are unmaintained and insecure.
|
||||
|
||||
- `services.tandoor-recipes` now uses a sub-directory for media files by default starting with `26.05`. Existing setups should move media files out of the data directory and adjust `services.tandoor-recipes.extraConfig.MEDIA_ROOT` accordingly. See [Migrating media files for pre 26.05 installations](#module-services-tandoor-recipes-migrating-media).
|
||||
|
||||
- `services.kubernetes.addons.dns.coredns` has been renamed to `services.kubernetes.addons.dns.corednsImage` and now expects a
|
||||
package instead of attrs. Now, by default, nixpkgs.coredns in conjunction with dockerTools.buildImage is used, instead
|
||||
of pulling the upstream container image from Docker Hub. If you want the old behavior, you can set:
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# Tandoor Recipes {#module-services-tandoor-recipes}
|
||||
|
||||
## Dealing with `MEDIA_ROOT` for installations prior 26.05 {#module-services-tandoor-recipes-migrating-media}
|
||||
|
||||
See https://github.com/NixOS/nixpkgs/issues/338339 for some background.
|
||||
|
||||
### Option 1: Migrate media to new `MEDIA_ROOT` {#module-services-tandoor-recipes-migrating-media-option-1}
|
||||
|
||||
1. Stop the currently running service: `systemctl stop tandoor-recipes.service`
|
||||
2. Create a media folder. NixOS `26.05` creates the media path at `/var/lib/tandoor-recipes/media` by default, but you may choose any other path as well. `mkdir -p /var/lib/tandoor-recipes/media`
|
||||
3. Move existing media to the new path: `mv /var/lib/tandoor-recipes/{files,recipes} /var/lib/tandoor-recipes/media`
|
||||
4. Set `services.tandoor-recipes.extraConfig.MEDIA_ROOT = "/var/lib/tandoor-recipes/media";` in your NixOS configuration (not needed if `system.stateVersion >= 26.05`).
|
||||
5. Rebuild and switch!
|
||||
|
||||
These changes can be reverted by moving the files back into the state directory.
|
||||
|
||||
### Option 2: Keep existing directory (may be insecure) {#module-services-tandoor-recipes-migrating-media-option-2}
|
||||
|
||||
To keep the existing directory, set `services.tandoor-recipes.extraConfig.MEDIA_ROOT = "/var/lib/tandoor-recipes";`.
|
||||
@@ -7,13 +7,15 @@
|
||||
let
|
||||
cfg = config.services.tandoor-recipes;
|
||||
pkg = cfg.package;
|
||||
stateDir = "/var/lib/tandoor-recipes";
|
||||
useNewMediaRoot = lib.versionAtLeast config.system.stateVersion "26.05";
|
||||
|
||||
# SECRET_KEY through an env file
|
||||
env = {
|
||||
GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}";
|
||||
DEBUG = "0";
|
||||
DEBUG_TOOLBAR = "0";
|
||||
MEDIA_ROOT = "/var/lib/tandoor-recipes";
|
||||
MEDIA_ROOT = "${stateDir}${lib.optionalString useNewMediaRoot "/media"}";
|
||||
}
|
||||
// lib.optionalAttrs (config.time.timeZone != null) {
|
||||
TZ = config.time.timeZone;
|
||||
@@ -26,12 +28,15 @@ let
|
||||
# UID is a read-only shell variable
|
||||
eval "$(${config.systemd.package}/bin/systemctl show -pUID,GID,MainPID tandoor-recipes.service | tr '[:upper:]' '[:lower:]')"
|
||||
exec ${pkgs.util-linux}/bin/nsenter \
|
||||
-t $mainpid -m -S $uid -G $gid --wdns=${env.MEDIA_ROOT} \
|
||||
-t $mainpid -m -S $uid -G $gid --wdns=${stateDir} \
|
||||
${pkg}/bin/tandoor-recipes "$@"
|
||||
'';
|
||||
in
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [ jvanbruegge ];
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ jvanbruegge ];
|
||||
doc = ./tandoor-recipes.md;
|
||||
};
|
||||
|
||||
options.services.tandoor-recipes = {
|
||||
enable = lib.mkOption {
|
||||
@@ -101,6 +106,10 @@ in
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
warnings = lib.mkIf (!useNewMediaRoot && !(cfg.extraConfig ? MEDIA_ROOT)) [
|
||||
"`services.tandoor-recipes.extraConfig.MEDIA_ROOT` is unset. This is considered insecure for `system.stateVersion` < 26.05. See https://nixos.org/manual/nixos/unstable/#module-services-tandoor-recipes-migrating-media for migration instructions."
|
||||
];
|
||||
|
||||
users.users = lib.mkIf (cfg.user == "tandoor_recipes") {
|
||||
tandoor_recipes = {
|
||||
inherit (cfg) group;
|
||||
@@ -126,8 +135,11 @@ in
|
||||
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = "tandoor-recipes";
|
||||
WorkingDirectory = env.MEDIA_ROOT;
|
||||
StateDirectory = [
|
||||
"tandoor-recipes"
|
||||
]
|
||||
++ lib.optional (env.MEDIA_ROOT == "/var/lib/tandoor-recipes/media") "tandoor-recipes/media";
|
||||
WorkingDirectory = stateDir;
|
||||
RuntimeDirectory = "tandoor-recipes";
|
||||
|
||||
BindReadOnlyPaths = [
|
||||
|
||||
@@ -571,16 +571,6 @@ in
|
||||
services.prometheus.exporters.postfix.group = mkDefault config.services.postfix.setgidGroup;
|
||||
})
|
||||
]
|
||||
++ [
|
||||
(mkIf config.services.prometheus.exporters.deluge.enable {
|
||||
system.activationScripts = {
|
||||
deluge-exported.text = ''
|
||||
mkdir -p /etc/deluge-exporter
|
||||
echo "DELUGE_PASSWORD=$(cat ${config.services.prometheus.exporters.deluge.delugePasswordFile})" > /etc/deluge-exporter/password
|
||||
'';
|
||||
};
|
||||
})
|
||||
]
|
||||
++ (mapAttrsToList (
|
||||
name: conf:
|
||||
mkExporterConf {
|
||||
|
||||
@@ -68,10 +68,20 @@ in
|
||||
};
|
||||
};
|
||||
serviceOpts = {
|
||||
script = ''
|
||||
passwordfile="$CREDENTIALS_DIRECTORY/password-file"
|
||||
if [ -e "$passwordfile" ]; then
|
||||
export DELUGE_PASSWORD="$(cat "$passwordfile")"
|
||||
fi
|
||||
|
||||
exec ${pkgs.prometheus-deluge-exporter}/bin/deluge-exporter
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.prometheus-deluge-exporter}/bin/deluge-exporter
|
||||
'';
|
||||
LoadCredential = lib.mkIf (config.services.prometheus.exporters.deluge.delugePasswordFile != null) [
|
||||
"password-file:${config.services.prometheus.exporters.deluge.delugePasswordFile}"
|
||||
];
|
||||
|
||||
Environment = [
|
||||
"LISTEN_PORT=${toString cfg.port}"
|
||||
"LISTEN_ADDRESS=${toString cfg.listenAddress}"
|
||||
@@ -86,9 +96,6 @@ in
|
||||
++ lib.optionals cfg.exportPerTorrentMetrics [
|
||||
"PER_TORRENT_METRICS=1"
|
||||
];
|
||||
EnvironmentFile = lib.optionalString (
|
||||
cfg.delugePasswordFile != null
|
||||
) "/etc/deluge-exporter/password";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1294,7 +1294,10 @@ in
|
||||
privatebin = runTest ./privatebin.nix;
|
||||
privoxy = runTest ./privoxy.nix;
|
||||
prometheus = import ./prometheus { inherit runTest; };
|
||||
prometheus-exporters = handleTest ./prometheus-exporters.nix { };
|
||||
prometheus-exporters = import ./prometheus-exporters.nix {
|
||||
inherit runTest;
|
||||
inherit (pkgs) lib;
|
||||
};
|
||||
prosody = runTest ./xmpp/prosody.nix;
|
||||
prosody-mysql = handleTest ./xmpp/prosody-mysql.nix { };
|
||||
prowlarr = runTest ./prowlarr.nix;
|
||||
@@ -1552,6 +1555,7 @@ in
|
||||
szurubooru = handleTest ./szurubooru.nix { };
|
||||
taler = handleTest ./taler { };
|
||||
tandoor-recipes = runTest ./tandoor-recipes.nix;
|
||||
tandoor-recipes-media = runTest ./tandoor-recipes-media.nix;
|
||||
tandoor-recipes-script-name = runTest ./tandoor-recipes-script-name.nix;
|
||||
tang = runTest ./tang.nix;
|
||||
taskchampion-sync-server = runTest ./taskchampion-sync-server.nix;
|
||||
|
||||
+1815
-1695
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,91 @@
|
||||
{ ... }:
|
||||
{
|
||||
name = "tandoor-recipes-media";
|
||||
|
||||
nodes.machine = {
|
||||
services.tandoor-recipes = {
|
||||
enable = true;
|
||||
# This setting is not recommended, but it's an easy way serve the media
|
||||
# folder in this test.
|
||||
extraConfig = {
|
||||
GUNICORN_MEDIA = true;
|
||||
};
|
||||
};
|
||||
|
||||
specialisation.oldVersion.configuration = {
|
||||
system.stateVersion = "25.11";
|
||||
services.tandoor-recipes = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
GUNICORN_MEDIA = true;
|
||||
# Explicitly set insecure value (skips warning)
|
||||
MEDIA_ROOT = "/var/lib/tandoor-recipes";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
specialisation.oldVersionOverrideMedia.configuration = {
|
||||
system.stateVersion = "25.11";
|
||||
services.tandoor-recipes = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
GUNICORN_MEDIA = true;
|
||||
MEDIA_ROOT = "/var/lib/tandoor-recipes/media";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
{ nodes, ... }:
|
||||
let
|
||||
specBase = "${nodes.machine.system.build.toplevel}/specialisation";
|
||||
oldVersion = "${specBase}/oldVersion";
|
||||
oldVersionOverrideMedia = "${specBase}/oldVersionOverrideMedia";
|
||||
in
|
||||
# python
|
||||
''
|
||||
def wait_for_tandoor():
|
||||
machine.wait_for_unit("tandoor-recipes.service")
|
||||
machine.wait_for_open_port(8080)
|
||||
|
||||
|
||||
def stop_and_rm():
|
||||
machine.systemctl("stop tandoor-recipes")
|
||||
machine.succeed("rm -r /var/lib/tandoor-recipes")
|
||||
|
||||
|
||||
db_path = "http://localhost:8080/media/db.sqlite3"
|
||||
|
||||
|
||||
# The media folder shouldn't contain the database. Subsequently it
|
||||
# should **not** get served, resulting in a 404. Previously the
|
||||
# database was located in the media folder. Therefore serving the media
|
||||
# folder would expose the database. See #338339.
|
||||
wait_for_tandoor()
|
||||
machine.succeed(f"curl --head {db_path} | grep \"HTTP/1.1 404 Not Found\"")
|
||||
|
||||
|
||||
# Switch to NixOS 24.11 to check if the setup still functions the same
|
||||
# as before.
|
||||
stop_and_rm()
|
||||
machine.succeed("${oldVersion}/bin/switch-to-configuration test")
|
||||
|
||||
# With the old setup the media folder should contain the database.
|
||||
# Subsequently it should get served, resulting in a 200.
|
||||
wait_for_tandoor()
|
||||
machine.succeed(f"curl --head {db_path} | grep \"HTTP/1.1 200 OK\"")
|
||||
|
||||
|
||||
# Switch to NixOS 24.11 with the MEDIA_ROOT already set to
|
||||
# /var/lib/tandoor-recipes/media.
|
||||
stop_and_rm()
|
||||
machine.succeed("${oldVersionOverrideMedia}/bin/switch-to-configuration test")
|
||||
|
||||
# With MEDIA_ROOT being set to /var/lib/tandoor-recipes/media the media
|
||||
# folder shouldn't contain the database. Subsequently it should **not**
|
||||
# get served, resulting in a 404.
|
||||
wait_for_tandoor()
|
||||
machine.succeed(f"curl --head {db_path} | grep \"HTTP/1.1 404 Not Found\"")
|
||||
'';
|
||||
}
|
||||
@@ -57,6 +57,7 @@
|
||||
ripgrep,
|
||||
hasVsceSign ? false,
|
||||
patchVSCodePath ? true,
|
||||
imagemagick,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (
|
||||
@@ -249,6 +250,7 @@ stdenv.mkDerivation (
|
||||
|
||||
nativeBuildInputs = [
|
||||
unzip
|
||||
imagemagick
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
autoPatchelfHook
|
||||
@@ -289,7 +291,13 @@ stdenv.mkDerivation (
|
||||
# These are named vscode.png, vscode-insiders.png, etc to match the name in upstream *.deb packages.
|
||||
+ ''
|
||||
mkdir -p "$out/share/pixmaps"
|
||||
cp "$out/lib/${libraryName}/resources/app/resources/linux/code.png" "$out/share/pixmaps/${iconName}.png"
|
||||
icon_file="$out/lib/${libraryName}/resources/app/resources/linux/code.png"
|
||||
cp "$icon_file" "$out/share/pixmaps/${iconName}.png"
|
||||
|
||||
# Dynamically determine size of icon and place in appropriate directory
|
||||
size=$(identify -format "%wx%h" "$icon_file")
|
||||
mkdir -p "$out/share/icons/hicolor/$size/apps"
|
||||
cp "$icon_file" "$out/share/icons/hicolor/$size/apps/${iconName}.png"
|
||||
''
|
||||
)
|
||||
# Override the previously determined VSCODE_PATH with the one we know to be correct
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule {
|
||||
pname = "agneyastra";
|
||||
version = "0-unstable-2025-11-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "JA3G3R";
|
||||
repo = "agneyastra";
|
||||
# https://github.com/JA3G3R/agneyastra/issues/1
|
||||
rev = "16a90ecc7189e12261a24b88e6d6ac24b7f3b216";
|
||||
hash = "sha256-I3BzHS7D8ZVRLzx8TlUmebw96wTVwSkAAKsDqJ2Ekj8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-urAw78X6mY2O+rLdQvA6eubFk7XmzEzPQPKc/QudVTQ=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Firebase Misconfiguration Detection Toolkit";
|
||||
homepage = "https://github.com/JA3G3R/agneyastra";
|
||||
# https://github.com/JA3G3R/agneyastra/issues/2
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
mainProgram = "agneyastra";
|
||||
};
|
||||
}
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cargo-expand";
|
||||
version = "1.0.118";
|
||||
version = "1.0.119";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dtolnay";
|
||||
repo = "cargo-expand";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-+n4eiwcToXtWMPmvE41kOcZHzgugjekxQkodDagDjhI=";
|
||||
hash = "sha256-N48BUPnVnMJSiM3EzpSiDNLGZNWFW05toHRhokNO5gI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Di7Nnp8qYqpTkKmmUYoKxSkntepG80vVF2AkaN5yW+U=";
|
||||
cargoHash = "sha256-a8swmPQ+JuE/tqRYbV+kekZV8TloxszYq9k8VOGRBrM=";
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-leptos";
|
||||
version = "0.3.1";
|
||||
version = "0.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "leptos-rs";
|
||||
repo = "cargo-leptos";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-vQZpw0hnBQRXmt4KsThcVwLtRwSpbjaGfojCIgfOn7E=";
|
||||
hash = "sha256-aH7b9Dbz4vbh9X4RuhFdmu2U1sgGgbLUZxmwhVxW248=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-WlzkTZHWDkE2rhH+fi8+aa/mkjBEVwQK8cTxd2JUuZ8=";
|
||||
cargoHash = "sha256-P+mavyLehmujVKBRLmK80T/o7Lu8rl8E0LzV23c6fJA=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -33,13 +33,13 @@ lib.checkListOfEnum "${pname}: theme accent"
|
||||
stdenvNoCC.mkDerivation
|
||||
{
|
||||
inherit pname;
|
||||
version = "0-unstable-2025-11-15";
|
||||
version = "0-unstable-2025-12-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "Kvantum";
|
||||
rev = "1156e5437435282b47ac6856acd9d0feef1ed929";
|
||||
hash = "sha256-V5Upqkil9Q2MeEPtEAemirbJxnEyYcM3Z8jiyz//ccw=";
|
||||
rev = "71105d224fef95dd023691303477ce3eea487457";
|
||||
hash = "sha256-gcvCVZjVbj5fRZWaM+mZTwH/g158MH36JmMuMgCBuqQ=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
circt,
|
||||
llvm,
|
||||
python3,
|
||||
zstd,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = circt.pname + "-llvm";
|
||||
@@ -19,21 +20,27 @@ stdenv.mkDerivation {
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# This is needed for darwin builds
|
||||
zstd
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
cd llvm/llvm
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
"-DLLVM_ENABLE_BINDINGS=OFF"
|
||||
"-DLLVM_ENABLE_OCAMLDOC=OFF"
|
||||
"-DLLVM_BUILD_EXAMPLES=OFF"
|
||||
"-DLLVM_OPTIMIZED_TABLEGEN=ON"
|
||||
"-DLLVM_ENABLE_PROJECTS=mlir"
|
||||
"-DLLVM_TARGETS_TO_BUILD=Native"
|
||||
|
||||
# This option is needed to install llvm-config
|
||||
"-DLLVM_INSTALL_UTILS=ON"
|
||||
# Based on utils/build-llvm.sh
|
||||
(lib.cmakeBool "BUILD_SHARED_LIBS" true)
|
||||
(lib.cmakeBool "LLVM_BUILD_EXAMPLES" false)
|
||||
(lib.cmakeBool "LLVM_ENABLE_ASSERTIONS" true)
|
||||
(lib.cmakeBool "LLVM_ENABLE_BINDINGS" false)
|
||||
(lib.cmakeBool "LLVM_ENABLE_OCAMLDOC" false)
|
||||
(lib.cmakeFeature "LLVM_ENABLE_PROJECTS" "mlir")
|
||||
(lib.cmakeBool "LLVM_INSTALL_UTILS" true)
|
||||
(lib.cmakeBool "LLVM_INSTALL_GTEST" true)
|
||||
(lib.cmakeBool "LLVM_OPTIMIZED_TABLEGEN" true)
|
||||
(lib.cmakeFeature "LLVM_TARGETS_TO_BUILD" "host")
|
||||
];
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -9,8 +9,16 @@
|
||||
ninja,
|
||||
lit,
|
||||
z3,
|
||||
sv-lang,
|
||||
fmt,
|
||||
boost,
|
||||
mimalloc,
|
||||
gitUpdater,
|
||||
callPackage,
|
||||
versionCheckHook,
|
||||
|
||||
# sv-lang (slang) build is broken on darwin
|
||||
enableSlangFrontend ? stdenv.hostPlatform.isLinux,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -19,12 +27,12 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "circt";
|
||||
version = "1.131.0";
|
||||
version = "1.138.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "llvm";
|
||||
repo = "circt";
|
||||
rev = "firtool-${version}";
|
||||
hash = "sha256-im+w6vYsLdJ/i88mG/anFjPYgE1HfvJIemLEse0pzco=";
|
||||
hash = "sha256-yx6sk6FO7MHNuRFBMhOXTSjtDQ0B6XyhGHb4uHSXx/8=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@@ -36,16 +44,28 @@ stdenv.mkDerivation rec {
|
||||
git
|
||||
pythonEnv
|
||||
z3
|
||||
versionCheckHook
|
||||
];
|
||||
buildInputs = [
|
||||
circt-llvm
|
||||
]
|
||||
++ lib.optionals enableSlangFrontend [
|
||||
boost
|
||||
fmt
|
||||
mimalloc
|
||||
sv-lang
|
||||
];
|
||||
buildInputs = [ circt-llvm ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
"-DMLIR_DIR=${circt-llvm.dev}/lib/cmake/mlir"
|
||||
|
||||
# Based on .github/workflows/buildAndTest.yml:211
|
||||
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
|
||||
(lib.cmakeBool "LLVM_ENABLE_ASSERTIONS" false)
|
||||
(lib.cmakeFeature "MLIR_DIR" "${circt-llvm.dev}/lib/cmake/mlir")
|
||||
(lib.cmakeFeature "LLVM_DIR" "${circt-llvm.dev}/lib/cmake/llvm")
|
||||
# LLVM_EXTERNAL_LIT is executed by python3, the wrapped bash script will not work
|
||||
"-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped"
|
||||
"-DCIRCT_LLHD_SIM_ENABLED=OFF"
|
||||
(lib.cmakeFeature "LLVM_EXTERNAL_LIT" "${lit}/bin/.lit-wrapped")
|
||||
(lib.cmakeBool "CIRCT_SLANG_FRONTEND_ENABLED" enableSlangFrontend)
|
||||
(lib.cmakeBool "CIRCT_SLANG_BUILD_FROM_SOURCE" false)
|
||||
];
|
||||
|
||||
# cannot use lib.optionalString as it creates an empty string, disabling all tests
|
||||
@@ -76,6 +96,7 @@ stdenv.mkDerivation rec {
|
||||
"CIRCT :: circt-reduce/.*\\.mlir"
|
||||
"CIRCT :: circt-test/basic.mlir"
|
||||
"CIRCT :: firld/.*\\.mlir"
|
||||
"CIRCT :: Tools/domaintool/clock-spec-json.mlir"
|
||||
]
|
||||
++ [
|
||||
# Temporarily disable for bump: https://github.com/llvm/circt/issues/8000
|
||||
@@ -88,6 +109,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs tools/circt-test
|
||||
|
||||
substituteInPlace \
|
||||
lib/Tools/circt-verilog-lsp-server/VerilogServerImpl/CMakeLists.txt \
|
||||
lib/Conversion/ImportVerilog/CMakeLists.txt \
|
||||
--replace-fail "slang_slang" "slang::slang"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
@@ -103,7 +129,11 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
checkTarget = "check-circt check-circt-integration";
|
||||
checkTarget = "check-circt check-circt-unit";
|
||||
|
||||
doInstallCheck = true;
|
||||
versionCheckProgram = "${placeholder "out"}/bin/firtool";
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ddns-go";
|
||||
version = "6.14.0";
|
||||
version = "6.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jeessy2";
|
||||
repo = "ddns-go";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-jx9Mvb40lDWxZp47fbHs0M+f8VQCBnzHb0bQiLRby1M=";
|
||||
hash = "sha256-c+V+EgJvElL/Ga0z6420E50c59cmjn/IlkfyeATLDFs=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-CtbbyI7sL1Ej4WDWkEZoRFngiwWpzSwvAKAWQwiMD1E=";
|
||||
vendorHash = "sha256-vpdT1apjuMvM6MmQfx1XBQtQznK7oxUjIdkgOXjUF6g=";
|
||||
|
||||
ldflags = [
|
||||
"-X main.version=${version}"
|
||||
|
||||
@@ -12,20 +12,20 @@
|
||||
}:
|
||||
let
|
||||
pname = "dependabot-cli";
|
||||
version = "1.79.0";
|
||||
version = "1.80.0";
|
||||
|
||||
# `tag` is what `dependabot` uses to find the relevant docker images.
|
||||
tag = "nixpkgs-dependabot-cli-${version}";
|
||||
|
||||
# Get these hashes from
|
||||
# nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy --image-tag latest --final-image-name dependabot-update-job-proxy --final-image-tag ${tag}
|
||||
updateJobProxy.imageDigest = "sha256:e3361d9ba33ffcb1c72b2ac9feba766f0e941b0bf2b692029948f60262708ffa";
|
||||
updateJobProxy.hash = "sha256-1TPyyD2a4IN9UoAEZJCHFiOhsP/vIowuy0WfgSmRHpI=";
|
||||
updateJobProxy.imageDigest = "sha256:3a7868b09318bef45224e475c3a018deba34f65f451f3ddd5b852b440c65fb83";
|
||||
updateJobProxy.hash = "sha256-PVFo/PT7l3iR5FTt+jDrGVupc6zPoDpiw9Pxqp3yprU=";
|
||||
|
||||
# Get these hashes from
|
||||
# nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/dependabot/dependabot-updater-github-actions --image-tag latest --final-image-name dependabot-updater-github-actions --final-image-tag ${tag}
|
||||
updaterGitHubActions.imageDigest = "sha256:01cad8bab547d5041cf11cb2f0287f091695d5971d3f7fb93b97817727093a2c";
|
||||
updaterGitHubActions.hash = "sha256-whFMv7MeyKeFmCDaoG6CxxENcHDC4HNmuNuA3AQTJJI=";
|
||||
updaterGitHubActions.imageDigest = "sha256:a791d0ef463a059dc371ef62c6d1ac341a7e1197ed871a0a6451371a8710cd0e";
|
||||
updaterGitHubActions.hash = "sha256-uNqif7HesnXeiGOrc4sC2fgSAHNFJwVwrA3iIv8fVYc=";
|
||||
in
|
||||
buildGoModule {
|
||||
inherit pname version;
|
||||
@@ -34,7 +34,7 @@ buildGoModule {
|
||||
owner = "dependabot";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-JHuqgurzEO5XA7OHP32X9DcFpZbjbn/h5fZJXCUmOdE=";
|
||||
hash = "sha256-5SD4VIa11r2P9YbURby6Sgi58lv03UB9X5UDOZxjVLQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-dD48OKpuGAJAro7qV4tqpf/uENV2X1VQ2kUvAuJLXc0=";
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "diylc";
|
||||
version = "5.6.0";
|
||||
version = "5.7.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/bancika/diy-layout-creator/releases/download/v${finalAttrs.version}/diylc-${finalAttrs.version}-universal.zip";
|
||||
hash = "sha256-y47md9kaiqpmx+ZNTm5PCHiNMMR9zjsvjc2xpVD6FAk=";
|
||||
hash = "sha256-0402HeOQrLJSor4bERyAkIO65kUYMLq2wo1ZgKLcMn4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,15 +8,15 @@
|
||||
|
||||
python3Packages.buildPythonPackage {
|
||||
pname = "edl";
|
||||
version = "3.52.1-unstable-2025-09-10";
|
||||
version = "3.52.1-unstable-2025-12-17";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bkerler";
|
||||
repo = "edl";
|
||||
rev = "334028cd887a2960867750c403dbcad9cbe8c46b";
|
||||
rev = "dffc6833ad51fb7e561c7c2bd26057edd18d9f7a";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-OYrncVbCJkeONeztfj7cB3QW1Q0tlF1b/LeuMqKiblk=";
|
||||
hash = "sha256-wdcA+pw7kUA7kSWIv6Wi+vmFFWGuC5LLds1oeEeGpOE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
|
||||
@@ -33,14 +33,14 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fcft";
|
||||
version = "3.3.2";
|
||||
version = "3.3.3";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "dnkl";
|
||||
repo = "fcft";
|
||||
rev = version;
|
||||
hash = "sha256-a+lELkEjMtqeBYGj6yl+OoQ+I6neyJt6a1T83B2KWOk=";
|
||||
hash = "sha256-MkGlph9WpqH4daov5ZZPO2ua2mUbrsuo8Xk6GoKhoxg=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [ pkg-config ];
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "github-backup";
|
||||
version = "0.58.0";
|
||||
version = "0.60.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "josegonzalez";
|
||||
repo = "python-github-backup";
|
||||
tag = version;
|
||||
hash = "sha256-i1o8GX3xxWft04sLspq9Oy2a46ldJeFqs5OgEjTti4E=";
|
||||
hash = "sha256-dK6qkso5GOV/eZRGcwOCKn8faMuTr7czTvISLioKgVs=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "hexdino";
|
||||
version = "0.1.3";
|
||||
version = "0.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Luz";
|
||||
repo = "hexdino";
|
||||
rev = version;
|
||||
hash = "sha256-glbyftCJiP0/5trW7DOcVCU2q4ZH3zFK96eyGuYR8eY=";
|
||||
hash = "sha256-M1lUm8rJj9c+9MgU7AJvk/ZVuTC1QYPsHRQxCQTc3WI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-NfVtNoTDGx3MGOe+bUOCgjSs8ZTfxMSCTp09sXOfUPs=";
|
||||
cargoHash = "sha256-IZhQ80iDO6l1FLAbq2l7QLpjoenkri3wBdQ6Mnz+BOI=";
|
||||
|
||||
meta = {
|
||||
description = "Hex editor with vim like keybindings written in Rust";
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "homebank";
|
||||
version = "5.9.6";
|
||||
version = "5.9.7";
|
||||
src = fetchurl {
|
||||
url = "https://www.gethomebank.org/public/sources/homebank-${version}.tar.gz";
|
||||
hash = "sha256-8DIL/gTysY/e1DcuuJ5qY6vXUBY4uUWNoSzUaCQ+t3o=";
|
||||
hash = "sha256-K4/fUSQpow7XpFfPWvR2dWwM/dyfznYA2rlcfwO+JuQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "hugo";
|
||||
version = "0.152.2";
|
||||
version = "0.153.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gohugoio";
|
||||
repo = "hugo";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-nSWeCRhbaEgr54VDstBKnouUeWR1JjLXEqtYUcEMdyQ=";
|
||||
hash = "sha256-EJYBIElh1akj8/cYzd/5hUNJtmFK/BxgWTg5jo2/xS4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-3cIz3SWV/3vYhCgFEGAa+mOaUCzsJurkI2rPtVANE38=";
|
||||
vendorHash = "sha256-cTrqnZdRCLthZCpXqbfIS1quySyB2lWxbxP/4k2nASQ=";
|
||||
|
||||
checkFlags =
|
||||
let
|
||||
|
||||
Generated
+117
-117
@@ -709,13 +709,13 @@
|
||||
"jar": "sha256-bNkZkTI917L7KMqT16wSr1qGovUyeeKzWCezAxP9C58=",
|
||||
"pom": "sha256-rECp8tDB7mMfw7CO+OLwvRS6IgEcp2/xvPZftWnq3zU="
|
||||
},
|
||||
"org/gradle/kotlin#gradle-kotlin-dsl-plugins/6.2.0": {
|
||||
"jar": "sha256-i/+sU1wrfiY/wwPwhdbgg9LZpE0nXWCmJbalFpmEDUs=",
|
||||
"module": "sha256-BC5gnbaQwxZ7aeWaIjNMWrASYYMeOMwILjch0KxdYcI=",
|
||||
"pom": "sha256-w/TTKxfHro5uyElSHN78u8uHwdBW4ISlrnzziO1rkqs="
|
||||
"org/gradle/kotlin#gradle-kotlin-dsl-plugins/6.4.1": {
|
||||
"jar": "sha256-JolZk48cG8O1VeIihdIEVdoPOrCAaEuSfBvK5VTZFNM=",
|
||||
"module": "sha256-QfjCNSMXc2dWDubRXMC9a8GqRP6x2BjXihzt2+IMC40=",
|
||||
"pom": "sha256-G9F/hR9bve0OCz16YZzBdxKrmEXqpFu8ypBxX86jEF8="
|
||||
},
|
||||
"org/gradle/kotlin/kotlin-dsl#org.gradle.kotlin.kotlin-dsl.gradle.plugin/6.2.0": {
|
||||
"pom": "sha256-tIUcmutueaoXqVKIMVxU+is1F8TNu8LaC38bcQwdLXE="
|
||||
"org/gradle/kotlin/kotlin-dsl#org.gradle.kotlin.kotlin-dsl.gradle.plugin/6.4.1": {
|
||||
"pom": "sha256-9FhdUWKX7VtEyA0nq82/XKA0aCx1B4E+8UAHLhDYts4="
|
||||
},
|
||||
"org/gradle/toolchains#foojay-resolver/1.0.0": {
|
||||
"jar": "sha256-eLhqR9/fdpfJvRXaeJg/2A2nJH1uAvwQa98H4DiLYKg=",
|
||||
@@ -819,146 +819,146 @@
|
||||
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
|
||||
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
|
||||
},
|
||||
"org/jetbrains/kotlin#abi-tools-api/2.2.0": {
|
||||
"jar": "sha256-hxeDiGZkLjvdR+yeAmC70wdujH6GvgXirahoMesq+Qo=",
|
||||
"pom": "sha256-UwmmvuGytgrDtfXTXMS2zDiKFzOA17jeqgIJ6wgUnpA="
|
||||
"org/jetbrains/kotlin#abi-tools-api/2.2.20": {
|
||||
"jar": "sha256-8chm6sXcCI8/0IEQCENAm/TxYSu7mY+6ofaFMlyuDVU=",
|
||||
"pom": "sha256-HOL7NczYP8vJCuXFmN/bsilS0IVHgElEpbIfLEbKwL0="
|
||||
},
|
||||
"org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.2.0": {
|
||||
"module": "sha256-5d0u34ivdW30d1ra13xS0AkDUav1EZLPGdP+YsZnyrg=",
|
||||
"pom": "sha256-Qejc6FcbX7TuAzURlYL+IoBQqP8ZPiRg1SmMX5Dj1nU="
|
||||
"org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.2.20": {
|
||||
"module": "sha256-n+aVWzf+KQtlFiXPnGgea6IKjxLEZYzOUCblk1BaMSk=",
|
||||
"pom": "sha256-P6gmRiy9hG0YAgLyLFGTQYy5zan2lcmUEjWpsbXBQdk="
|
||||
},
|
||||
"org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.2.0/gradle813": {
|
||||
"jar": "sha256-0M+f8jrTjCEO7QzCWlExWjhOYf3BWlP+uGwAvuaRqug="
|
||||
"org/jetbrains/kotlin#fus-statistics-gradle-plugin/2.2.20/gradle813": {
|
||||
"jar": "sha256-OmlZW2x1+/ktMgFodFxpj/cRS4YHhBBQ1ISYgjAG6HE="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-assignment-compiler-plugin-embeddable/2.2.0": {
|
||||
"jar": "sha256-caw8dQsO5FH6zdSYInQLKIi5f8rzMWruOxfTpMTvUro=",
|
||||
"pom": "sha256-Ge0cc5y8KCJVINrxd/QcDFq3ROAE1GjPMZRZI5t8MD8="
|
||||
"org/jetbrains/kotlin#kotlin-assignment-compiler-plugin-embeddable/2.2.20": {
|
||||
"jar": "sha256-07TapcbMI1Zfj7k2NI84xCGgRhFjdF02rt9E096UJQo=",
|
||||
"pom": "sha256-L/XBHfd+t6JZdmzdqed47WW6SFxYxhO7ppAoauzi3H0="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-assignment/2.2.0": {
|
||||
"module": "sha256-SBPTUS68DvnmX+RkM9IZ5dSSKw2TPc2FKySPpT+FNtA=",
|
||||
"pom": "sha256-At2wWVzbi4VkYars5gKXiASNycM52OYtZcotqU4CaZA="
|
||||
"org/jetbrains/kotlin#kotlin-assignment/2.2.20": {
|
||||
"module": "sha256-xbfmG95gHQM75qCyXhkxfc9u434wVC/XRsRr/3gBj1o=",
|
||||
"pom": "sha256-fh3mglHYFXQXuKIXn2YlW8m5zzFTPdkDukFVZlwwXGs="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-assignment/2.2.0/gradle813": {
|
||||
"jar": "sha256-d3zNZXeiOZfkssjiezjCQ6oCzQrsmYB8nLOdWnsJ4sQ="
|
||||
"org/jetbrains/kotlin#kotlin-assignment/2.2.20/gradle813": {
|
||||
"jar": "sha256-MYCcvl5312WyQRFT6huuR2cQQGoXfjmhC/ZKYSOgRfI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-bom/2.0.21": {
|
||||
"pom": "sha256-1Ufg3iVCLZY+IsepRPO13pQ8akmClbUtv/49KJXNm+g="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-statistics/2.2.0": {
|
||||
"jar": "sha256-klfy37x4iCf2AnUPrijX6UWTLq2QQVP3f09sTE2Y5RE=",
|
||||
"pom": "sha256-8Uct+ZZDqe4VJrFEka0vaNz8Zunr9WywFuSFzaj69sI="
|
||||
"org/jetbrains/kotlin#kotlin-build-statistics/2.2.20": {
|
||||
"jar": "sha256-+2VKT1vFY2h1kXMSnfSRB60J3FtBcrAXda+z+nJXndU=",
|
||||
"pom": "sha256-tdU2T1fSH/FBgiBei2lf1oZNnYqleApu3EIJWEBHwRU="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-api/2.2.0": {
|
||||
"jar": "sha256-HezZmyKUN3QfNqAIxnip2PrjBxbodyFRMI9W9owQ844=",
|
||||
"pom": "sha256-I6QFgttMPijHq6X8fpZHvI1e/d+dAFWp5CyaCJbVzjM="
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-api/2.2.20": {
|
||||
"jar": "sha256-/ZlHs6F2Iahvq9lTr4fzS9K7f4sm2uksHte+dHL0TDs=",
|
||||
"pom": "sha256-AtR9SHfsMktJbZMTMkXNTTSLZSMDzyfvpj44ry+zzyo="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-impl/2.2.0": {
|
||||
"jar": "sha256-SofzwCcvFyhdYOmGQ+whn1Ppta1aI/O8TFQ6hkT4bxc=",
|
||||
"pom": "sha256-6DgEIFq2l7pyL0YiprG1GS70ejDL35ApdwFJQ3hQTv8="
|
||||
"org/jetbrains/kotlin#kotlin-build-tools-impl/2.2.20": {
|
||||
"jar": "sha256-ZHiafwBWWSfy8/LRCfIwV009kwjtXW6Gv8qEPaZIfPc=",
|
||||
"pom": "sha256-4vQ157rwHeL/kNCoc3r4+b+X/BUuWVuGp2C6ZOjmnfY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-embeddable/2.2.0": {
|
||||
"jar": "sha256-svdD6luhL2ng815djUYGnXTI4oYQh1SKfg4Up4S8TPE=",
|
||||
"pom": "sha256-FqFd0ZfPJBNJT3iMuWFE2aFGJnw9b38cFbejweBSNGo="
|
||||
"org/jetbrains/kotlin#kotlin-compiler-embeddable/2.2.20": {
|
||||
"jar": "sha256-HGw/gQv+akGry8NLOi72OfHj9K7tOpU6Swl07qT0GIk=",
|
||||
"pom": "sha256-Bf8CX3+wky+xH6HhzK71KPdgJ9lWaA+INdQ4VCdi4go="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-runner/2.2.0": {
|
||||
"jar": "sha256-kHBq6Gcd77oBQI3RxUG6MJEskHDN8d3aGMUero1nkwQ=",
|
||||
"pom": "sha256-iQfZfcaLv0CgrmZ5RZAvDtwWYdvPdDuuDf2nw7mp1Mg="
|
||||
"org/jetbrains/kotlin#kotlin-compiler-runner/2.2.20": {
|
||||
"jar": "sha256-+vloNPogBNeL2ORCD1go3j1CckJ9ZHR5gCTqbpz4XN0=",
|
||||
"pom": "sha256-kbsVJI9OqUS2Mw8xA/HrVF0TvditSuxDe3R6WG57F6k="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-client/2.2.0": {
|
||||
"jar": "sha256-ISk9oBbkuhKhKKwm/ZIKdOi4f1dM+bxDxgo9LnZFp64=",
|
||||
"pom": "sha256-HESKBvDKmGiVi+CHesnof8TgG8uTaHp8rBLTxNCd7uY="
|
||||
"org/jetbrains/kotlin#kotlin-daemon-client/2.2.20": {
|
||||
"jar": "sha256-cO983NwwEHe5s7ohqp6cVadq+z/73+9KtWKmd9GN+kw=",
|
||||
"pom": "sha256-ihNtDxPrmDpr40/x4WPJznmFXkuiF09Fy0KqpnVT91Q="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-embeddable/2.2.0": {
|
||||
"jar": "sha256-omzI4thhkZfMTRFb6ndm6aqODx54duoETuG58wVlRgE=",
|
||||
"pom": "sha256-vSrk4skWBWVKilUn2nV/KyJ2WA0fXq6+q9M0OvjVxGc="
|
||||
"org/jetbrains/kotlin#kotlin-daemon-embeddable/2.2.20": {
|
||||
"jar": "sha256-fFyM0vi+rdMoMjm7nKIZoMr6GvAmgrQHsYHhF5cY8vc=",
|
||||
"pom": "sha256-9Yhmv7yYZ8bWR1ec/3DUKHeZctvd2N5MJXh5y0N0FIk="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/2.2.0": {
|
||||
"jar": "sha256-nRsH2uVVnD/JwtzhW9hcNtwedt/zd/ExJIm9ZmDBZUQ=",
|
||||
"pom": "sha256-uvxt1O1fRcLhvCgXfCxkDie/t8WQEZ6GW7nkCZOLrEA="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/2.2.20": {
|
||||
"jar": "sha256-T8MqG+ZFynQE4hskRSCI+T6OmT6v/Sbza9Ndv3XGB1I=",
|
||||
"pom": "sha256-sbbgEXktfKkv7K+/+sSlCPdvA5yfeuijI9GJKIgl9P4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.2.0": {
|
||||
"jar": "sha256-u6au4h0YX3LfiW80jw6nsRdcEc1mNzeZid+JnLSMl+E=",
|
||||
"module": "sha256-AmOgtdQFEGmmFjJYOK5CGmxNAG3JsVWnpCkmYIiAC6c=",
|
||||
"pom": "sha256-iG8sRJ+dvmQc0kPxk3FNegQlNrMCrEHHLVYOWmZmDIg="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.2.20": {
|
||||
"jar": "sha256-dgfuXHoMpT+lku58VA7oCJYqe62P7p7Xj+Z0hBRj2V0=",
|
||||
"module": "sha256-T8vx/H5Uzr/pC5peD7RpYv7Vwi03I52iNfXi37xtUog=",
|
||||
"pom": "sha256-C5E9oNIYhCAmOpBLtApkD9s1pTWnLwWC/llkHjoMSi4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.2.0/gradle813": {
|
||||
"jar": "sha256-u6au4h0YX3LfiW80jw6nsRdcEc1mNzeZid+JnLSMl+E="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/2.2.20/gradle813": {
|
||||
"jar": "sha256-dgfuXHoMpT+lku58VA7oCJYqe62P7p7Xj+Z0hBRj2V0="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/2.2.0": {
|
||||
"jar": "sha256-QY4hdjJ20qlGFr6ZCCanRdWdTF2WY48LviERDSxWSTs=",
|
||||
"pom": "sha256-w5AgQre9S2t3oY8+4f6ol9N7vroloD0Uqe7//hWCXn0="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/2.2.20": {
|
||||
"jar": "sha256-dtFu5ZzeHmpwVWtdQEhu+fEcFkOodJPBnE3zMWU4N9k=",
|
||||
"pom": "sha256-xRuhScfyk1nSWk7RIS4otpNOGkdW9VLAAHvxFE0onB0="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea/2.2.0": {
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea/2.2.20": {
|
||||
"jar": "sha256-7JacXwsJn4I4RiMiOPm9ZPPTdB5i6pBQrS5DL6150KA=",
|
||||
"module": "sha256-r+m2AUJwBIVJuyAySjGdYkoFoLnmtBfmm2kHldfPDUs=",
|
||||
"pom": "sha256-/ewxpJDZDsNuf5qj12xVDgqVq9Otg3lTvUn6E9pwFQ0="
|
||||
"module": "sha256-/IW7KUlsw/X5DHjHonejkw7xFg8IQ/iu1ke3TGejtJQ=",
|
||||
"pom": "sha256-NkQjJURfF7rCH1OGu0k4+D53K4NOWGBT1BRbGnXZ4oU="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-model/2.2.0": {
|
||||
"jar": "sha256-Z6FKxCSqGWo0ax3Jn0QqbVc0WCrXt+epzN8oqc0rIJs=",
|
||||
"module": "sha256-LC4w2DDqdpq6iX9PlvGeHoLY1qI/UzaJugn0GTMASYY=",
|
||||
"pom": "sha256-bBzMOzcGY8KHIUn12briW/fpLqcVFepzxSlwlzbKMYk="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-model/2.2.20": {
|
||||
"jar": "sha256-U6MhUoJjIGAYUgSaC291OMqLtX/QnYeszRGLxo1D+OQ=",
|
||||
"module": "sha256-EZdKVPSOCCXpdxML9u9qyZp/216yr53iZa9iTHY2g+U=",
|
||||
"pom": "sha256-3uDjB7pub1GQPH5DPehSZ10eMOfyLPJGWxglVSZR7fs="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/2.2.0": {
|
||||
"module": "sha256-Y3w/yuVyOnQnAmwO2z3GeW3T/nmQ3CKG1PdJbt9dKYU=",
|
||||
"pom": "sha256-E2FqOVx9n8Xc7iclKn9ocX2MaZTNEldL0dsxelGG1yE="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/2.2.20": {
|
||||
"module": "sha256-3CS/pH4EQigykOIfBpoFYUHR8IjWy57Kouqs4bR7a4w=",
|
||||
"pom": "sha256-ucP9Lr1UhNYMX+DbeqEIeDA+7d/JP5Qvc1wHupmBh8w="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/2.2.0/gradle813": {
|
||||
"jar": "sha256-g1xNwYoHMl9XkwUMfy52XSNcWWdJVo5HtZe0Sdhnlo0="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/2.2.20/gradle813": {
|
||||
"jar": "sha256-XTJbXCxdS8i/RBRdJOtNS+sGDRPRHr5IiYk27VzRVk4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugins-bom/2.2.0": {
|
||||
"module": "sha256-ur08SXopcd/GjlAlT/lwZak6Ixg+jto8OY+E9gzsErI=",
|
||||
"pom": "sha256-2cRaL1cw6E6bhPpCxkoYdNy6ZmjyEsT+KXvqJdwAeHg="
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugins-bom/2.2.20": {
|
||||
"module": "sha256-P7tFda43xKd2rrhtj/k8aqEbDPLadXScUyDiWFCwIp4=",
|
||||
"pom": "sha256-PG1GnpFfuzCWrEy4wvRsedAnw8WQ5lihBoihVx61eNg="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-klib-commonizer-api/2.2.0": {
|
||||
"jar": "sha256-8FcCw6bq725+hCNTvmT1jTMHGX4Vp/F5gE08VQcZ7mk=",
|
||||
"pom": "sha256-6R0DUNf9G+4pyP9OP9bxcZBS7P6V98wXZtnVwnD3iQk="
|
||||
"org/jetbrains/kotlin#kotlin-klib-commonizer-api/2.2.20": {
|
||||
"jar": "sha256-OYK+RbEpMOIYGbWJ2zcHyOhM4le/Ks5/xi/I3zaPWz4=",
|
||||
"pom": "sha256-CzAJtJQmv6F3qtlLSBCbjKVMck6i5sUGgmo6lc9ZEOE="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-metadata-jvm/2.2.20": {
|
||||
"jar": "sha256-hSTqyQ9+jg8TZog/LGyCDJO/ph3z12hXyNPoA89nMV0=",
|
||||
"pom": "sha256-e2qAtqLSZ2oEIvaWg4EyMVQlUfYbMgxochz7nh9ZCdA="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-native-utils/2.2.0": {
|
||||
"jar": "sha256-pOlvczba6EnznPK2NKU20CoqvfARS3M5Wty4yIGFDp4=",
|
||||
"pom": "sha256-DafPXrsb0m4u/IkRhLzqM8tPKxwpNYEnr1MGHNataZY="
|
||||
"org/jetbrains/kotlin#kotlin-native-utils/2.2.20": {
|
||||
"jar": "sha256-UBd3SirqQf+HEhNxFs1NgAP+mroSAMEG5lcw/rW7dEI=",
|
||||
"pom": "sha256-U+++4FpxIhiQYPXuXspodjnOr+KfXlmW3phiopxnJyU="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-reflect/1.6.10": {
|
||||
"jar": "sha256-MnesECrheq0QpVq+x1/1aWyNEJeQOWQ0tJbnUIeFQgM=",
|
||||
"pom": "sha256-V5BVJCdKAK4CiqzMJyg/a8WSWpNKBGwcxdBsjuTW1ak="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-reflect/2.2.0": {
|
||||
"jar": "sha256-Iw2RwuQQ48/KOk3HPSVUVfYv9SqsCRozOXpuML3pG/c=",
|
||||
"pom": "sha256-3u2DHvy2Y+TPPVEh5a55byAeN7gT0sfWB7Xx+Khv5S4="
|
||||
"org/jetbrains/kotlin#kotlin-reflect/2.2.20": {
|
||||
"jar": "sha256-ggkIOkp8TkdtmEKweDCPqWqW8Hpr2Z8F81hu4TKJqyY=",
|
||||
"pom": "sha256-TidHQGbbg/uixZB0KJunEr6MhRV83guQUCmkRcJ19bo="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver-compiler-plugin-embeddable/2.2.0": {
|
||||
"jar": "sha256-nLzhQvhBilqrEZuD7Css9EMrWEgXAh2agVONB+o1RjE=",
|
||||
"pom": "sha256-C0K3d+h9Gx9pJ1VCnsAivFYv2Mbm1T9HgbFajVzSNqo="
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver-compiler-plugin-embeddable/2.2.20": {
|
||||
"jar": "sha256-WRNzsEtDtom0HgvIYqlslEx+DDHSMIH0aooe48a6Edc=",
|
||||
"pom": "sha256-iSompWD3bch9NVEw9Akk2ZtL1gB212R0Ff6YkYjSLA4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver/2.2.0": {
|
||||
"module": "sha256-3uEJzwqU5jg9Kg7ur6nJJod92jgW1mhHQAqKFRdONzU=",
|
||||
"pom": "sha256-iqdjHKBnUr+DOPHNP4Uwf5oovoZu9xsyOUMM4XWukVo="
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver/2.2.20": {
|
||||
"module": "sha256-c7Eee8xPZZeWcN8Vx1aADHOiHaH9EJL56sWfON+cVjE=",
|
||||
"pom": "sha256-LhNnvGXeGLQPpn2H9+JGXj4dYUviuLCdOQZRZ8JwK+M="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver/2.2.0/gradle813": {
|
||||
"jar": "sha256-enrIy8I3Z8g9uGk9v10g6RN7Qz2zBFbbAvK2CkmoSyc="
|
||||
"org/jetbrains/kotlin#kotlin-sam-with-receiver/2.2.20/gradle813": {
|
||||
"jar": "sha256-YZ6b4NCK9+W0TRIkJQ0jXiLvimiKzISPO4kC+mZAQws="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-script-runtime/2.2.0": {
|
||||
"jar": "sha256-Ttl/0eDJux0JSO1eY8yRRWMTpZUYKVuSssFRSu9VYVA=",
|
||||
"pom": "sha256-5QdIv0Z09lRgPnsbuDBjTsmevZwzDeukytzuwHZ8u1Y="
|
||||
"org/jetbrains/kotlin#kotlin-script-runtime/2.2.20": {
|
||||
"jar": "sha256-XIvV3Xrh6i7rJ3j9vqoZpWIYSXX2yrigu2d55BkHMa4=",
|
||||
"pom": "sha256-IpOhQenagKfpjYXtKkkuldsMAWW86rC3Klzp4tkrCAc="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-common/2.2.0": {
|
||||
"jar": "sha256-fJrISZ+pGyAep4NlN8Yl3VKoJUnlfms/F1zAx56atgQ=",
|
||||
"pom": "sha256-1M1vjH2tiOZ9iVzT23qNTH3I6N3Y6WeOH1619gHZsO0="
|
||||
"org/jetbrains/kotlin#kotlin-scripting-common/2.2.20": {
|
||||
"jar": "sha256-+5n/fwzZUtpo1UjT89ZErlB4sLlvybrwZewUZqKTuAU=",
|
||||
"pom": "sha256-iTjGIFKXW7uW3OotqaeNS2sk2vLwnTWMGnqEHxaMtzo="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/2.2.0": {
|
||||
"jar": "sha256-ksfW7HxfBdisAcN+dHrGd9iS6ZusDeXlFmg7jzZAdys=",
|
||||
"pom": "sha256-VjapUSxI/NqPgm+ypKwXPCnW6zV0ZHE9VNJaTUbsbBM="
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/2.2.20": {
|
||||
"jar": "sha256-2GJhDAAzQuUIjKIcRAQix9ijcA4ZnWA/ehAnjESIR2E=",
|
||||
"pom": "sha256-PW9vFZH6P3r14jFlxowu4BclFYZFQ09eMBdF5kfHVhE="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/2.2.0": {
|
||||
"jar": "sha256-HSbL3a7rb/1FgIU5bs6gsID8Io/gBtz4MD2ldxHzN0U=",
|
||||
"pom": "sha256-oeMpM4wq8LRweB0ECGnpsZdS+KTesi9D9qiR68dPH4I="
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/2.2.20": {
|
||||
"jar": "sha256-e3kSNZL//r81xhag/xBDMscc3mN6ZX4JrbXfbD+cA84=",
|
||||
"pom": "sha256-+l+wJ+4qSbPb/zh3VBtC+3CuzMN7oC4dOthipcZyVLc="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-jvm/2.2.0": {
|
||||
"jar": "sha256-YKjHQtYfRPIxH73IqGt2fRcboJ2XvnLWukUNN/fj/b8=",
|
||||
"pom": "sha256-dii0nV53BennadESYAZtmmlXPW2Av4Iw0FRvWo54yJ4="
|
||||
"org/jetbrains/kotlin#kotlin-scripting-jvm/2.2.20": {
|
||||
"jar": "sha256-qR+5BJY0oyum09LpGgy5mD4KpOccDC4bKDg4qOBhYx8=",
|
||||
"pom": "sha256-0df8RWSBne6v6OvdcfbyGBf/xVjr0U9HpW6NyTaW3Rk="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.8.21": {
|
||||
"jar": "sha256-M9FI2w4R3r0NkGd9KCQrztkH+cd3MAAP1ZeGcIkDnYY=",
|
||||
@@ -976,26 +976,26 @@
|
||||
"jar": "sha256-FcjArLMRSDwGjRaXUBllR0tw39gKx5WA7KOgPPUeSh0=",
|
||||
"pom": "sha256-MQ1tXGVBPjEQuUAr2AdfyuP0vlGdH9kHMTahj+cnvFc="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.2.0": {
|
||||
"jar": "sha256-ZdEthaO4ZcFg25FHhRcSpksQ2t1osi7qIqlb+KhnDco=",
|
||||
"module": "sha256-pbmP3NnbAX1ULhlyJdzuGNZYpW3h2yzEHhMZbWsXaaQ=",
|
||||
"pom": "sha256-jDyCEAfBNBFVhzm589U4LrgVUds4lc/7iVYeVsD03BY="
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/2.2.20": {
|
||||
"jar": "sha256-iDbM/9NYX63amQEkSyDUKQHS881YEFjYQ04v+rzzo+c=",
|
||||
"module": "sha256-yRj1IU0CGnLjdn8nVul9EDpSbgTxQj2jZj79+1hH25U=",
|
||||
"pom": "sha256-SosIbmQxvPYjY39Ssv8ZLhrbkTg4dC5cDupwqN7kKcQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-tooling-core/2.2.0": {
|
||||
"org/jetbrains/kotlin#kotlin-tooling-core/2.2.20": {
|
||||
"jar": "sha256-dAFOxPPveM59p+Pmlk8sUmoxIdXFj++MopeeXzRFgvQ=",
|
||||
"pom": "sha256-Fiq+zmN9Egvzs1mfJIETV3zey68Q1bInq3cFLmYykpM="
|
||||
"pom": "sha256-jvep2QYs59w/xlVxXdAoqZRLeElhPgEYR8XWs7mSgXE="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-io/2.2.0": {
|
||||
"jar": "sha256-h//zwBlwqqkBGr3lZbtSoXmqbckDjFh4koHtK2jVji0=",
|
||||
"pom": "sha256-NcfaTe0E3/GCIeDzgPo/NhIOvq2hOYOmEQtGWWaKbr0="
|
||||
"org/jetbrains/kotlin#kotlin-util-io/2.2.20": {
|
||||
"jar": "sha256-1DGva+puLcmInE/iawc84VfxEchgj+laGL/gi4F8/3Q=",
|
||||
"pom": "sha256-xqXQGEjNBAz8j3uuYjLXktcFwpOi2nJmrmJszbNdagM="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-klib-metadata/2.2.0": {
|
||||
"jar": "sha256-nOOw3gU8uf8HoPcXyhQvKQp05NGdkzLbImq+D+thyB4=",
|
||||
"pom": "sha256-XVJ2wbYor7xCBZ80CoTe/Uv7XroYJm3zdDYH5XftX4c="
|
||||
"org/jetbrains/kotlin#kotlin-util-klib-metadata/2.2.20": {
|
||||
"jar": "sha256-vuSQHKU6WiHA22RZAdKwcK/2gkAkF91XiODjWTZFcTs=",
|
||||
"pom": "sha256-vtAGUSIGX65328DEb/xBRqaFy7GLijApq9XaO/qhECc="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-klib/2.2.0": {
|
||||
"jar": "sha256-FPB+vZrfvk6F+06/MSJSULL8P1Qo7OQ31O1j7D+prE0=",
|
||||
"pom": "sha256-NU7YchvXXwfcCyQbiFg+7oLCTZIdN+lrctmNpi1ISEo="
|
||||
"org/jetbrains/kotlin#kotlin-util-klib/2.2.20": {
|
||||
"jar": "sha256-7XyAlrK75HetF8MXjeuoyDr1MourNr/iEJEL1bQZI0w=",
|
||||
"pom": "sha256-2mwiR3qvQt2hbYWa2unj7Yq8khzLp/9RYTTMi9NZqpI="
|
||||
},
|
||||
"org/jetbrains/kotlinx#kotlinx-coroutines-bom/1.8.0": {
|
||||
"pom": "sha256-Ejnp2+E5fNWXE0KVayURvDrOe2QYQuQ3KgiNz6i5rVU="
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
fetchPnpmDeps,
|
||||
nodejs,
|
||||
writableTmpDirAsHomeHook,
|
||||
pnpmConfigHook,
|
||||
pnpm,
|
||||
unzip,
|
||||
patchelf,
|
||||
ripgrep,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "kilocode-cli";
|
||||
version = "0.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kilo-Org";
|
||||
repo = "kilocode";
|
||||
tag = "cli-v${finalAttrs.version}";
|
||||
hash = "sha256-zEhv/tcKMR9D+aTVxaw3LBjbEBpuy4o0cpV/vowOFSY=";
|
||||
};
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
fetcherVersion = 2;
|
||||
hash = "sha256-fTCuTAEYNyqitBvOafQyi3BDqI/O7u7yEhSPH7FVDUg=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
nodejs
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
writableTmpDirAsHomeHook
|
||||
pnpmConfigHook
|
||||
pnpm
|
||||
nodejs
|
||||
unzip
|
||||
patchelf
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
env.npm_config_manage_package_manager_versions = "false";
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
node --run cli:bundle
|
||||
touch ./cli/dist/.env
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin/ $out/lib/node_modules/@kilocode/
|
||||
mv ./cli/dist $out/lib/node_modules/@kilocode/cli
|
||||
ln -s $out/lib/node_modules/@kilocode/cli/index.js $out/bin/kilocode
|
||||
chmod +x $out/bin/kilocode
|
||||
|
||||
pushd $out/lib/node_modules/@kilocode/cli
|
||||
rm node_modules/@vscode/ripgrep/bin/rg
|
||||
ln -s ${ripgrep}/bin/rg node_modules/@vscode/ripgrep/bin/rg
|
||||
popd
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { extraArgs = [ "--version-regex=^cli-v(.+)$" ]; };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Terminal User Interface for Kilo Code";
|
||||
homepage = "https://kilocode.ai/cli";
|
||||
downloadPage = "https://www.npmjs.com/package/@kilocode/cli";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
xiaoxiangmoe
|
||||
];
|
||||
mainProgram = "kilocode";
|
||||
};
|
||||
})
|
||||
@@ -27,13 +27,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libucl";
|
||||
version = "0.9.2";
|
||||
version = "0.9.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vstakhov";
|
||||
repo = "libucl";
|
||||
rev = version;
|
||||
sha256 = "sha256-esNEVBa660rl3Oo2SLaLrFThFkjbqtZ1r0tjMq3h6cM=";
|
||||
sha256 = "sha256-dub829xZ10sJ5qwegYUiGoyAVLiwg44GKSzz+BMLJis=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "matcha-rss-digest";
|
||||
version = "0.8.0";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "piqoni";
|
||||
repo = "matcha";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-AhXr9T2pvCuTTSU8vHhHELyNiU5EC4KR0fpOGrY02Zo=";
|
||||
hash = "sha256-ezwZmJVJjbrrWJAsZ3+CUZ7K4WpA1HLKL9V+kTZTfj8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-CURFy92K4aNF9xC8ik6RDadRAvlw8p3Xc+gWE2un6cc=";
|
||||
|
||||
@@ -1,35 +1,122 @@
|
||||
{
|
||||
buildGoModule,
|
||||
curl,
|
||||
dbmate,
|
||||
fetchFromGitHub,
|
||||
go,
|
||||
lib,
|
||||
minio,
|
||||
minio-client,
|
||||
python3,
|
||||
}:
|
||||
|
||||
let
|
||||
finalAttrs = {
|
||||
pname = "ncps";
|
||||
version = "0.4.0";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kalbasit";
|
||||
repo = "ncps";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-A2HLbob9MHHCUNIC1OBwyFeE6KuEIdXW75hPSZMgicI=";
|
||||
hash = "sha256-3ncDDJ0vqmM6Aer/qnEgGZ/eglFmY0oAnMsLJseMQg8=";
|
||||
};
|
||||
|
||||
ldflags = [
|
||||
"-X github.com/kalbasit/ncps/cmd.Version=v${finalAttrs.version}"
|
||||
];
|
||||
|
||||
vendorHash = "sha256-Plc1L23qOYj1evVIG+O3OxVAKVeEIA+Z6sP4Z/T1SxU=";
|
||||
# XXX: ncps is built with Go 1.25.5 that is available in release-25.11 but
|
||||
# master is currently still using 1.25.4 (update waiting in the
|
||||
# staging/staging-next branches.) This is a workaround for this issue and
|
||||
# will automatically becomes no-op once Go is updated.
|
||||
preBuild = lib.optionalString (go.version == "1.25.4") ''
|
||||
sed -e 's:go 1.25.5:go 1.25.4:g' -i go.mod
|
||||
'';
|
||||
|
||||
vendorHash = "sha256-3YPKlz7+x7nYCqKmOroaiUyZGKIQMGFxcNyPnrA9Tio=";
|
||||
|
||||
doCheck = true;
|
||||
checkFlags = [ "-race" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
curl # used for checking MinIO health check
|
||||
dbmate # used for testing
|
||||
minio # S3-compatible storage for integration tests
|
||||
minio-client # mc CLI for MinIO setup
|
||||
python3 # used for generating the ports
|
||||
];
|
||||
|
||||
# Start MinIO before running tests to enable S3 integration tests
|
||||
preCheck = ''
|
||||
echo "🚀 Starting MinIO for S3 integration tests..."
|
||||
|
||||
# Create temporary directories for MinIO data and config
|
||||
export MINIO_DATA_DIR=$(mktemp -d)
|
||||
export HOME=$(mktemp -d)
|
||||
|
||||
# Configure MinIO credentials (must be set before starting MinIO)
|
||||
export MINIO_ROOT_USER=admin
|
||||
export MINIO_ROOT_PASSWORD=password
|
||||
export MINIO_REGION=us-east-1
|
||||
|
||||
# Generate random free ports using python
|
||||
# We bind to port 0, get the assigned port, and close the socket immediately.
|
||||
# In a Nix sandbox, the race condition risk (port being stolen between check and use) is negligible.
|
||||
export MINIO_PORT=$(python3 -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()')
|
||||
export CONSOLE_PORT=$(python3 -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()')
|
||||
|
||||
# Export S3 test environment variables
|
||||
export NCPS_TEST_S3_BUCKET="test-bucket"
|
||||
export NCPS_TEST_S3_ENDPOINT="http://127.0.0.1:$MINIO_PORT"
|
||||
export NCPS_TEST_S3_REGION="us-east-1"
|
||||
export NCPS_TEST_S3_ACCESS_KEY_ID="test-access-key"
|
||||
export NCPS_TEST_S3_SECRET_ACCESS_KEY="test-secret-key"
|
||||
|
||||
# Start MinIO server in background
|
||||
minio server "$MINIO_DATA_DIR" \
|
||||
--address "127.0.0.1:$MINIO_PORT" \
|
||||
--console-address "127.0.0.1:$CONSOLE_PORT" &
|
||||
export MINIO_PID=$!
|
||||
|
||||
# Wait for MinIO to be ready
|
||||
echo "⏳ Waiting for MinIO to be ready..."
|
||||
for i in {1..30}; do
|
||||
if curl -sf "$NCPS_TEST_S3_ENDPOINT/minio/health/live"; then
|
||||
echo "✅ MinIO is ready"
|
||||
break
|
||||
fi
|
||||
if [ $i -eq 30 ]; then
|
||||
echo "❌ MinIO failed to start"
|
||||
kill $MINIO_PID 2>/dev/null || true
|
||||
exit 1
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# Setup admin alias
|
||||
mc alias set local "$NCPS_TEST_S3_ENDPOINT" "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD"
|
||||
|
||||
# Create test bucket
|
||||
mc mb "local/$NCPS_TEST_S3_BUCKET" || true
|
||||
|
||||
# Create service account for tests
|
||||
mc admin user svcacct add \
|
||||
--access-key "$NCPS_TEST_S3_ACCESS_KEY_ID" \
|
||||
--secret-key "$NCPS_TEST_S3_SECRET_ACCESS_KEY" \
|
||||
local admin || true
|
||||
|
||||
echo "✅ MinIO configured for S3 integration tests"
|
||||
'';
|
||||
|
||||
# Stop MinIO after tests complete
|
||||
postCheck = ''
|
||||
echo "🛑 Stopping MinIO..."
|
||||
kill $MINIO_PID 2>/dev/null || true
|
||||
rm -rf "$MINIO_DATA_DIR"
|
||||
echo "✅ MinIO stopped and cleaned up"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/ncps
|
||||
cp -r db $out/share/ncps/db
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nfs-ganesha";
|
||||
version = "9.2";
|
||||
version = "9.4";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "nfs-ganesha";
|
||||
repo = "nfs-ganesha";
|
||||
tag = "V${version}";
|
||||
hash = "sha256-2EAkr+zu7Jc2j/8BrJ/+Skv/D3rTSbh4A5JTRhWafEk=";
|
||||
hash = "sha256-Adax64aaioYfPg7SMtylS2wpYV52l8KgXBA8eJefGkY=";
|
||||
};
|
||||
|
||||
patches = lib.optional useDbus ./allow-bypassing-dbus-pkg-config-test.patch;
|
||||
|
||||
@@ -16,16 +16,16 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "onefetch";
|
||||
version = "2.25.0";
|
||||
version = "2.26.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "o2sh";
|
||||
repo = "onefetch";
|
||||
rev = version;
|
||||
hash = "sha256-ZaaSuHWkhJx0q1CBAiRhwoLeeyyoAj6/vP3AJwybjAo=";
|
||||
hash = "sha256-JT7iQRKOK/2Zh/IDMv1FM1szITeBaaMy+WuXHjpPkfY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-56Net4nNRndePhdsQPbmqiPHpOUGMmnQt6BuplQpvSU=";
|
||||
cargoHash = "sha256-VBbiOA/+SPcIvmhNQ71gUBOIWEWV1A86rljBfdAfhZM=";
|
||||
|
||||
cargoPatches = [
|
||||
# enable pkg-config feature of zstd
|
||||
|
||||
@@ -156,7 +156,8 @@ clangStdenv.mkDerivation rec {
|
||||
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mkdir $out/Applications
|
||||
mv $out/bin/*.app $out/Applications
|
||||
rmdir $out/bin
|
||||
rm $out/bin/* || true
|
||||
ln -s $out/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD $out/bin/openscad-unstable
|
||||
'';
|
||||
|
||||
nativeCheckInputs = [
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "prometheus-borgmatic-exporter";
|
||||
version = "0.3.0";
|
||||
version = "0.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "maxim-mityutko";
|
||||
repo = "borgmatic-exporter";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-QbpHSpcXJdmi6oiPTFT6XwNLtaXSAGavHeEoz3IV73I=";
|
||||
hash = "sha256-fhsGpQolZxX5VAAEV3hiLF7bo4pbVt9GWyertf2oeO0=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "prometheus-client" ];
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pspg";
|
||||
version = "5.8.13";
|
||||
version = "5.8.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "okbob";
|
||||
repo = "pspg";
|
||||
rev = version;
|
||||
sha256 = "sha256-swsVxhvfLfK8QQfsL68f/bL3OThOZiqM/ceD7kjOghU=";
|
||||
sha256 = "sha256-DZsMZZO5NMutlzLT+wwtPNdnzAnka32ZMqgMvEuw9ag=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication {
|
||||
pname = "pywhisker";
|
||||
version = "0.1.0-unstable-2025-09-16";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ShutdownRepo";
|
||||
repo = "pywhisker";
|
||||
rev = "dc35dba57bb4ad594f052d6598a855d192a37a3f";
|
||||
hash = "sha256-dXr/Vb7h+ZiO5VeOEx3tfXUq8sldrRofK5ENJDZcAb0=";
|
||||
};
|
||||
|
||||
build-system = with python3.pkgs; [ setuptools ];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
cryptography
|
||||
dsinternals
|
||||
impacket
|
||||
ldap3
|
||||
ldapdomaindump
|
||||
pyasn1
|
||||
rich
|
||||
six
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "pywhisker" ];
|
||||
|
||||
# Project has no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Tool for Shadow Credentials attacks";
|
||||
homepage = "https://github.com/ShutdownRepo/pywhisker";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
mainProgram = "pywhisker";
|
||||
};
|
||||
}
|
||||
@@ -24,7 +24,7 @@ let
|
||||
in
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "rcu";
|
||||
version = "4.0.31";
|
||||
version = "4.0.32";
|
||||
|
||||
format = "other";
|
||||
|
||||
@@ -32,7 +32,7 @@ python3Packages.buildPythonApplication rec {
|
||||
let
|
||||
src-tarball = requireFile {
|
||||
name = "rcu-${version}-source.tar.gz";
|
||||
hash = "sha256-gOf6CaLqoGqJuTcyARdLnKiovPDFRtsABJgEEF7fx+A=";
|
||||
hash = "sha256-0sJyCRDV76HUy78RBO27AgkXGroL217GNwHp8HMSKx8=";
|
||||
url = "https://www.davisr.me/projects/rcu/";
|
||||
};
|
||||
in
|
||||
|
||||
@@ -28,11 +28,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "reqable";
|
||||
version = "2.33.12";
|
||||
version = "3.0.30";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/reqable/reqable-app/releases/download/${finalAttrs.version}/reqable-app-linux-x86_64.deb";
|
||||
hash = "sha256-LCHeJUzTRjl/lh3PWygZV0Rd3AxJEGlTkVrI/5l+Go4=";
|
||||
hash = "sha256-tqeTcM0+RClOgWY72NJAFJAe62zbqAtdsIe//nZ3Kjs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -75,7 +75,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
preFixup = ''
|
||||
mkdir $out/bin
|
||||
makeWrapper $out/share/reqable/reqable $out/bin/reqable \
|
||||
--prefix LD_LIBRARY_PATH : $out/share/reqable/lib
|
||||
--prefix LD_LIBRARY_PATH : $out/share/reqable/lib \
|
||||
--set GIO_MODULE_DIR "${glib.out}/lib/gio/modules"
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
@@ -83,10 +84,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meta = {
|
||||
description = "Generation API debugging and testing one-stop solution";
|
||||
homepage = "https://reqable.com";
|
||||
downloadPage = "https://github.com/reqable/reqable-app/releases";
|
||||
changelog = "https://github.com/reqable/reqable-app/releases/tag/${finalAttrs.version}";
|
||||
mainProgram = "reqable";
|
||||
license = lib.licenses.unfree;
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
maintainers = [ ];
|
||||
maintainers = with lib.maintainers; [ chillcicada ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rnr";
|
||||
version = "0.5.0";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ismaelgv";
|
||||
repo = "rnr";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-uuM8zh0wFSsySedXmdm8WGGR4HmUc5TCZ6socdztrZI=";
|
||||
sha256 = "sha256-vuYFh7k7dNCOnB5jqP8MIBIWFOVxRmv0+qvCXkJchtA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-lXo3BECHpiNMRMgd4XZy+b8QHbE0TZ5/P4cz+SgwqsY=";
|
||||
cargoHash = "sha256-2YvpO8K5Y8Ul2k0sJXWMgrHnGY8e1sEcIZNWIEpKfqs=";
|
||||
|
||||
meta = {
|
||||
description = "Command-line tool to batch rename files and directories";
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
buildGoModule {
|
||||
pname = "starlark";
|
||||
version = "0-unstable-2025-11-09";
|
||||
version = "0-unstable-2025-12-22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "starlark-go";
|
||||
rev = "be02852a5e1f2f07f08e887a191e725154c029b8";
|
||||
hash = "sha256-Njq60qM+2AigXZB3AAWV5mpN2uxDXJSsjJTPlMvYw5k=";
|
||||
rev = "15019ee33dea8b618e081116e29a613c9aa050ea";
|
||||
hash = "sha256-BIWOmJwtTxjXTc48Mamm6uqPTNd7DMeURfQ2rYX4Ecs=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-8drlCBy+KROyqXzm/c+HBe/bMVOyvwRoLHxOApJhMfo=";
|
||||
|
||||
@@ -16,13 +16,13 @@ let
|
||||
in
|
||||
buildNpmPackage rec {
|
||||
pname = "super-productivity";
|
||||
version = "16.6.1";
|
||||
version = "16.7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "johannesjo";
|
||||
repo = "super-productivity";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-8FTgwyZOc/klAis+h5GG0lb1Rk/tvZpMeLuqWhAL4gI=";
|
||||
hash = "sha256-nr1umVoOQ9uzswgU16hpcTpaM6W8C3CZMG/O44WFtnw=";
|
||||
|
||||
postFetch = ''
|
||||
find $out -name package-lock.json -exec ${lib.getExe npm-lockfile-fix} -r {} \;
|
||||
@@ -65,7 +65,7 @@ buildNpmPackage rec {
|
||||
dontInstall = true;
|
||||
|
||||
outputHashMode = "recursive";
|
||||
hash = "sha256-BM1l3V1vDIbm0GGc5pc66Nsx3fqhqZLE9xI+LuI5KWA=";
|
||||
hash = "sha256-t22mdvx1rJFzXKFscnweggFCqTKheTAzElA4ksUQQ5k=";
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "talosctl";
|
||||
version = "1.11.6";
|
||||
version = "1.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "siderolabs";
|
||||
repo = "talos";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-RPmveQ52PqpD/OG/7SsJbKlZjggRU8uBqJyNmOszWtg=";
|
||||
hash = "sha256-u8/T01PWBGH3bJCNoC+FIzp8aH05ci4Kr3eHHWPDRkI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-tGlGlTMIsBLQGvIYU/zEE0devM0j31ER8L8hacXvTz4=";
|
||||
vendorHash = "sha256-LLtbdKq028EEs8lMt3uiwMo2KMJ6nJKf6xFyLJlg+oM=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -62,7 +62,7 @@ let
|
||||
stdenv.cc.cc
|
||||
stdenv.cc.libc
|
||||
];
|
||||
version = "1.0.51";
|
||||
version = "1.498.21";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "tana";
|
||||
@@ -70,7 +70,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/tanainc/tana-desktop-releases/releases/download/v${version}/tana_${version}_amd64.deb";
|
||||
hash = "sha256-ApRfy+aD4lp53HtShDTQGKuAsQnKdwFMDd19Np9/b9g=";
|
||||
hash = "sha256-6rX6UxOdSk29SYLwyVX6zkLuIxeKVfQfap1Q2zGpN7g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -166,7 +166,7 @@ python.pkgs.buildPythonPackage {
|
||||
updateScript = ./update.sh;
|
||||
|
||||
tests = {
|
||||
inherit (nixosTests) tandoor-recipes tandoor-recipes-script-name;
|
||||
inherit (nixosTests) tandoor-recipes tandoor-recipes-script-name tandoor-recipes-media;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
ffmpeg,
|
||||
ffmpeg_6,
|
||||
libui,
|
||||
pkg-config,
|
||||
unstableGitUpdater,
|
||||
wrapGAppsHook3,
|
||||
}:
|
||||
@@ -19,13 +20,27 @@ stdenv.mkDerivation {
|
||||
hash = "sha256-4GIPj8so7POEwxKZzFBoJTu76XKbGHYmXC/ILeo0dVE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook3 ];
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
ffmpeg
|
||||
# Uses ffmpeg internals; keep ffmpeg_6 until upstream supports newer API.
|
||||
# Upstream fix: https://github.com/anthwlock/untrunc/pull/249
|
||||
ffmpeg_6
|
||||
libui
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "-isystem/usr/include/ffmpeg" "\$(shell pkg-config --cflags libavformat libavcodec libavutil libui)" \
|
||||
--replace "-lavformat -lavcodec -lavutil" "\$(shell pkg-config --libs libavformat libavcodec libavutil)" \
|
||||
--replace "-lui -lpthread" "\$(shell pkg-config --libs libui) -lpthread"
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
make IS_RELEASE=1 untrunc
|
||||
@@ -50,6 +65,7 @@ stdenv.mkDerivation {
|
||||
description = "Restore a truncated mp4/mov (improved version of ponchio/untrunc)";
|
||||
homepage = "https://github.com/anthwlock/untrunc";
|
||||
license = lib.licenses.gpl2Only;
|
||||
mainProgram = "untrunc";
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = [ lib.maintainers.romildo ];
|
||||
};
|
||||
|
||||
@@ -7,17 +7,17 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "vacuum-go";
|
||||
version = "0.21.2";
|
||||
version = "0.21.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "daveshanley";
|
||||
repo = "vacuum";
|
||||
# using refs/tags because simple version gives: 'the given path has multiple possibilities' error
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-8hrKAfDeV5PUagjwKSEAYazuL/PZMXu7kqdsttGuUy0=";
|
||||
hash = "sha256-eTwoK/AysxoTId6IM76b/euyYEE/9cwXcbDcm4wLjM0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-dc1c21JUld9PqOKh4QzEppU/sp7FCPV14P0EYmPYR1k=";
|
||||
vendorHash = "sha256-aTQEt1vBdzwOE99CHmCkodvGReR30Jq7iWkMtwK3620=";
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
ldflags = [
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "wasm-language-tools";
|
||||
version = "0.7.1";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "g-plane";
|
||||
repo = "wasm-language-tools";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ySY1AIgr5HwSrfebfDkKZvl/1LQpU64nCF6TEi//JuM=";
|
||||
hash = "sha256-4PnagT1pufsEy1ROvhYYtkuSsU+irGpYV9iffwIQPmk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-veBxrnTRSI6kRy0bREBWCLEkbkPUWM7jGwlcFhG6FjU=";
|
||||
cargoHash = "sha256-h+HEOzS93XFuDm5luODAzzGtxxaxTTdxTWIKm41Sw6s=";
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgram = "${placeholder "out"}/bin/wat_server";
|
||||
|
||||
@@ -53,13 +53,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "wivrn";
|
||||
version = "25.11.1";
|
||||
version = "25.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wivrn";
|
||||
repo = "wivrn";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-pEKMeRdI9UhdZ+NksRBcF7yPC7Ys2haE+B4PPGQ4beE=";
|
||||
hash = "sha256-gadfW3/PXi9SEztaHbi4U29Vj7ik/ia8BVDTy8P5aJE=";
|
||||
};
|
||||
|
||||
monado = applyPatches {
|
||||
@@ -67,8 +67,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "monado";
|
||||
repo = "monado";
|
||||
rev = "06e62fc7d9c5cbcbc43405bb86dfde3bf01ce043";
|
||||
hash = "sha256-0ALB9eLY4NAUqNOYZMwpvYnLxVpHsQDJc1er8Txdezs=";
|
||||
rev = "20e0dacbdd2de863923790326beec76e848b056a";
|
||||
hash = "sha256-wiXdMgp3bKW17KqLnSn6HHhz7xbQtjp4c3aU7qp+2BE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
rev = "1.3.0";
|
||||
rev = "1.3.1";
|
||||
in
|
||||
buildDotnetModule rec {
|
||||
pname = "XIVLauncher";
|
||||
@@ -27,7 +27,7 @@ buildDotnetModule rec {
|
||||
owner = "goatcorp";
|
||||
repo = "XIVLauncher.Core";
|
||||
inherit rev;
|
||||
hash = "sha256-tPziHwHK4B+LJ8xNWEBmpFStkczZF3G5jhjxYYG59m0=";
|
||||
hash = "sha256-a5lxQFNJjC4LVlokLeEEiPAXPTK9KkgboqjlEc+Viw0=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bthome-ble";
|
||||
version = "3.17.0";
|
||||
version = "3.19.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = "bthome-ble";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-So4EGO46FOrUZ+RNFimanUDBP5tgZBjXc5eb9KAvYjQ=";
|
||||
hash = "sha256-x82SiZT1NEKlHiAcwcbj/IVcXszXbbOF4ngXVg6bDZ4=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
@@ -131,6 +131,6 @@ buildPythonPackage rec {
|
||||
"aarch64-linux"
|
||||
"x86_64-linux"
|
||||
];
|
||||
maintainers = with lib.maintainers; [ hyphon81 ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -36,14 +36,14 @@
|
||||
let
|
||||
dm-haiku = buildPythonPackage rec {
|
||||
pname = "dm-haiku";
|
||||
version = "0.0.15";
|
||||
version = "0.0.16";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "deepmind";
|
||||
repo = "dm-haiku";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-phJ0f+effHQzuAVtPBR0bY3C0p//LBY7k1ci4mXBGfU=";
|
||||
hash = "sha256-XugzzHapnqXD8w17k6HaNeqWcxRe49r7OIb8v5LI2NM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -34,6 +34,6 @@ buildPythonPackage rec {
|
||||
description = "RLock implementation for CPython";
|
||||
homepage = "https://github.com/scoder/fastrlock";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ hyphon81 ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -44,6 +44,6 @@ buildPythonPackage rec {
|
||||
description = "Platform independent file lock for Python";
|
||||
homepage = "https://github.com/benediktschmitt/py-filelock";
|
||||
license = lib.licenses.unlicense;
|
||||
maintainers = with lib.maintainers; [ hyphon81 ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "iamdata";
|
||||
version = "0.1.202512271";
|
||||
version = "0.1.202512281";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloud-copilot";
|
||||
repo = "iam-data-python";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-kOSs5HyJcTip0Tc9VHiRrJQcQ+hEJYSdAqEi5aSfmRA=";
|
||||
hash = "sha256-gv3E+bIZiWqSBB5zXjSz5RicZY9aGY+EVtMbcUNpDNU=";
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "plugwise";
|
||||
version = "1.11.0";
|
||||
version = "1.11.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.12";
|
||||
@@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||
owner = "plugwise";
|
||||
repo = "python-plugwise";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-fgUIyI9akQbVhcff413gIPzviGNZlQJztFTnW5+n9wU=";
|
||||
hash = "sha256-4d9AK2sT0KVKU0oDfskOiSq7g2BuZksPL0wVJN0LbzY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "publicsuffixlist";
|
||||
version = "1.0.2.20251222";
|
||||
version = "1.0.2.20251223";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-AH9okvxG0VBeh6tM1BStIKyWhd1OjfiNmVlX8s8sykU=";
|
||||
hash = "sha256-ENje3AleagrKul/SGRvjUG04nBuucap675+HW2oXigo=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -28,25 +28,16 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyglossary";
|
||||
version = "5.1.1";
|
||||
version = "5.2.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ilius";
|
||||
repo = "pyglossary";
|
||||
tag = version;
|
||||
hash = "sha256-OrySbbStVSz+WF8D+ODK++lKfYJOm9KCfOxDP3snuKY=";
|
||||
hash = "sha256-kxCJ5Sv/v7LOIgNrhpv2Q3ooWx/eciWOVV5YhjOWf70=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fixes a few install issues, can be removed in the next release. See:
|
||||
# https://github.com/ilius/pyglossary/pull/684
|
||||
(fetchpatch {
|
||||
url = "https://github.com/ilius/pyglossary/commit/f86c91ed987579cd8a1c7f7f278452901ce725ac.patch";
|
||||
hash = "sha256-ewYeNwD3/aSsNbMazgW/3tBpYAPBZdnVu9LCh7tQZjg=";
|
||||
})
|
||||
];
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
]
|
||||
@@ -78,10 +69,6 @@ buildPythonPackage rec {
|
||||
nativeCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
env = {
|
||||
# The default --help creates permission errors that may be confusing when
|
||||
# observed in the build log.
|
||||
};
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pyglossary"
|
||||
|
||||
@@ -44,6 +44,6 @@ buildPythonPackage rec {
|
||||
description = "Wrapper for Speech Signal Processing Toolkit (SPTK)";
|
||||
homepage = "https://pysptk.readthedocs.io/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ hyphon81 ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "robotframework";
|
||||
version = "7.3.2";
|
||||
version = "7.4.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "robotframework";
|
||||
repo = "robotframework";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-JxZI0i9Aj/TX4BkIi+jeBdTy0ckv5Fdy5tHRI9vQ8Ss=";
|
||||
hash = "sha256-AnYIdRRwYUsgaOZw+vcpDB69DOg13kU1jA3ObRDLyWk=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "simsimd";
|
||||
version = "6.5.10";
|
||||
version = "6.5.12";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ashvardanian";
|
||||
repo = "SimSIMD";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-tiKU8vxcTYA/9J0uUb9Q4NGCDNeBkF/g4PL69rZezCs=";
|
||||
hash = "sha256-4mgWm4FcTGf9DNc39GOjK9jnyev7hIeODjpnuIz6f1k=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sphinx-reredirects";
|
||||
version = "1.0.0";
|
||||
version = "1.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "sphinx_reredirects";
|
||||
inherit version;
|
||||
hash = "sha256-fJutqfEzBIn89Mcpei1toqScpId9P0LROIrh3hAZv1w=";
|
||||
hash = "sha256-+5sZUzWrFLQ/gnMofQx+62N7psVsZlgcEbRyAvZxiyk=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "tencentcloud-sdk-python";
|
||||
version = "3.1.19";
|
||||
version = "3.1.20";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TencentCloud";
|
||||
repo = "tencentcloud-sdk-python";
|
||||
tag = version;
|
||||
hash = "sha256-l7XgDcHo1PfsjdpTg71wur1Cy8m9Fuqqv86GeHxmnQ4=";
|
||||
hash = "sha256-ihuxIw3FUmZDyvIMkjhAgMIkZP+PFji33b21l9LaaI0=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
+2
-2
@@ -6,11 +6,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "advanced-camera-card";
|
||||
version = "7.25.4";
|
||||
version = "7.26.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/dermotduffy/advanced-camera-card/releases/download/v${version}/advanced-camera-card.zip";
|
||||
hash = "sha256-IpuZfHUrIxyDTcQcKv6+xApiXO3eNgwgJ5rZvpCMs3s=";
|
||||
hash = "sha256-2f+peUfhvreJPZfZt9dOvf0pItWCgzcNfH0iRLsRwGE=";
|
||||
};
|
||||
|
||||
# TODO: build from source once yarn berry support lands in nixpkgs
|
||||
|
||||
Reference in New Issue
Block a user