Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-11-16 18:13:43 +00:00
committed by GitHub
74 changed files with 939 additions and 465 deletions
+13
View File
@@ -1230,6 +1230,19 @@
githubId = 3017212;
name = "Alex S. Kaye";
};
alexstaeding = {
email = "alex@staeding.com";
github = "alexstaeding";
githubId = 24614463;
keys = [
# Primary key
{ fingerprint = "AE72 51E3 A241 ECDA FB6B F59D 4399 191B 9DD5 FABA"; }
# Subkey
{ fingerprint = "F352 C405 5653 B943 0FE0 341A E4B4 7D6A 9A56 73CD"; }
];
matrix = "@alexstaeding:matrix.org";
name = "Alexander Städing";
};
alexvorobiev = {
email = "alexander.vorobiev@gmail.com";
github = "alexvorobiev";
@@ -37,6 +37,7 @@ writeScriptBin "nvidia-cdi-generator" ''
}
--discovery-mode ${discovery-mode} \
--device-name-strategy ${device-name-strategy} \
--disable-hook create-symlinks \
--ldconfig-path ${lib.getExe' glibc "ldconfig"} \
--library-search-path ${lib.getLib nvidia-driver}/lib \
--nvidia-cdi-hook-path ${lib.getOutput "tools" nvidia-container-toolkit}/bin/nvidia-cdi-hook \
@@ -188,6 +188,10 @@
])
];
services.udev.extraRules = ''
KERNEL=="nvidia", RUN+="${lib.getExe' config.systemd.package "systemctl"} restart nvidia-container-toolkit-cdi-generator.service'"
'';
virtualisation = {
containers.containersConf.settings = {
engine = {
@@ -232,12 +236,8 @@
containerPath = pkgs.addDriverRunpath.driverLink;
}
{
hostPath = "${lib.getLib nvidia-driver}/etc";
containerPath = "${lib.getLib nvidia-driver}/etc";
}
{
hostPath = "${lib.getLib nvidia-driver}/share";
containerPath = "${lib.getLib nvidia-driver}/share";
hostPath = "${lib.getLib nvidia-driver}";
containerPath = "${lib.getLib nvidia-driver}";
}
{
hostPath = "${lib.getLib pkgs.glibc}/lib";
@@ -289,11 +289,52 @@
systemd.services.nvidia-container-toolkit-cdi-generator = {
description = "Container Device Interface (CDI) for Nvidia generator";
requiredBy = lib.mkMerge [
(lib.mkIf config.virtualisation.docker.enable [ "docker.service" ])
(lib.mkIf config.virtualisation.podman.enable [ "podman.service" ])
];
wantedBy = [ "multi-user.target" ];
after = [ "systemd-udev-settle.service" ];
serviceConfig = {
RuntimeDirectory = "cdi";
RemainAfterExit = true;
ExecStartPre = pkgs.writeShellScript "wait-for-nvidia-devices" ''
set -eu
gpus_dir="/proc/driver/nvidia/gpus"
max_wait_seconds=60
if [ ! -d "$gpus_dir" ]; then
echo "wait-for-nvidia-devices: $gpus_dir does not exist; nothing to wait for."
exit 0
fi
gpu_count=$(find "$gpus_dir" -mindepth 1 -maxdepth 1 -type d 2>/dev/null | wc -l | tr -d ' ')
if [ "$gpu_count" -eq 0 ]; then
echo "wait-for-nvidia-devices: no GPU entries found in $gpus_dir; nothing to wait for."
exit 0
fi
echo "wait-for-nvidia-devices: expecting $gpu_count /dev/nvidiaN device node(s)."
elapsed=0
while true; do
dev_count=$(find /dev -mindepth 1 -maxdepth 1 -type c -regex '.*/nvidia[0-9]+' 2>/dev/null | wc -l | tr -d ' ')
if [ "$dev_count" -eq "$gpu_count" ]; then
echo "wait-for-nvidia-devices: found $dev_count matching device node(s)."
exit 0
fi
if [ "$elapsed" -ge "$max_wait_seconds" ]; then
echo "wait-for-nvidia-devices: timed out after $max_wait_seconds seconds; expected $gpu_count node(s) but found $dev_count." >&2
exit 1
fi
sleep 1
elapsed=$((elapsed + 1))
done
'';
ExecStart =
let
script = pkgs.callPackage ./cdi-generate.nix {
+23 -154
View File
@@ -4,6 +4,7 @@
fetchurl,
fetchzip,
unzip,
config,
}:
rec {
@@ -145,13 +146,13 @@ rec {
version = "1.3.5.201612301822";
srcFeature = fetchurl {
url = "https://mihnita.github.io/ansi-econsole/install/features/net.mihai-nita.ansicon_${version}.jar";
sha256 = "086ylxpsrlpbvwv5mw7v6b44j63cwzgi8apg2mq058ydr5ak6hxs";
url = "https://github.com/mihnita/ansi-econsole/raw/refs/heads/main/AnsiConSitePublished/features/net.mihai-nita.ansicon_${version}.jar";
hash = "sha256-o9hnMuZeohU+AKS+ueU8dWS9HomrnqaKpWYMG5vMeJs=";
};
srcPlugin = fetchurl {
url = "https://mihnita.github.io/ansi-econsole/install/plugins/net.mihai-nita.ansicon.plugin_${version}.jar";
sha256 = "1j42l0xxzs89shqkyn91lb0gia10mifzy0i73c3n7gj7sv2ddbjq";
url = "https://github.com/mihnita/ansi-econsole/raw/refs/heads/main/AnsiConSitePublished/plugins/net.mihai-nita.ansicon.plugin_${version}.jar";
hash = "sha256-WK7WxNZHvmMHGycC/12sIKj4wKIhWT8x1Anp3zuggsg=";
};
meta = with lib; {
@@ -211,16 +212,16 @@ rec {
anyedittools = buildEclipsePlugin rec {
name = "anyedit-${version}";
version = "2.7.2.202006062100";
version = "2.7.3.202502241151";
srcFeature = fetchurl {
url = "https://github.com/iloveeclipse/plugins/blob/latest/features/AnyEditTools_${version}.jar";
sha256 = "0dwwwvz8by10f5gnws1ahmg02g6v4xbaqcwc0cydvv1h52cyb40g";
url = "https://github.com/iloveeclipse/plugins/raw/refs/heads/latest/features/AnyEditTools_${version}.jar";
hash = "sha256-liEw+H8yTCrYQMe3gVQhJuxPXlSpEs4QwB2yv8n/CiE=";
};
srcPlugin = fetchurl {
url = "https://github.com/iloveeclipse/plugins/blob/latest/plugins/de.loskutov.anyedit.AnyEditTools_${version}.jar";
sha256 = "1ip8dk92ka7bczw1bkbs3zkclmwr28ds5q1wrzh525wb70x8v6fi";
url = "https://github.com/iloveeclipse/plugins/raw/refs/heads/latest/plugins/de.loskutov.anyedit.AnyEditTools_${version}.jar";
hash = "sha256-LrWCWJWZxsnMiBnTwXdWaXUoyXMYpLqXMUkHEOna2kk=";
};
meta = with lib; {
@@ -255,29 +256,6 @@ rec {
};
};
bytecode-outline = buildEclipsePlugin rec {
name = "bytecode-outline-${version}";
version = "1.0.1.202006062100";
srcFeature = fetchurl {
url = "https://github.com/iloveeclipse/plugins/blob/latest/features/org.eclipse.jdt.bcoview.feature_${version}.jar";
sha256 = "0zbcph72lgv8cb5n4phcl3qsybc5q5yviwbv8yjv4v12m4l15wpk";
};
srcPlugin = fetchurl {
url = "https://github.com/iloveeclipse/plugins/blob/latest/plugins/org.eclipse.jdt.bcoview_${version}.jar";
sha256 = "1bx860k4haqcnhy8825kn4df0pyzd680qbnvjmxfrlxrqhr66fbb";
};
meta = with lib; {
homepage = "https://github.com/iloveeclipse/plugins";
description = "Shows disassembled bytecode of current java editor or class file";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.bsd2;
platforms = platforms.all;
};
};
cdt = buildEclipseUpdateSite rec {
name = "cdt-${version}";
# find current version at https://github.com/eclipse-cdt/cdt/releases
@@ -588,24 +566,6 @@ rec {
};
};
scala = buildEclipseUpdateSite rec {
name = "scala-${version}";
version = "4.4.1.201605041056";
src = fetchzip {
url = "http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/base-20160504-1321.zip";
sha256 = "13xgx2rwlll0l4bs0g6gyvrx5gcc0125vzn501fdj0wv2fqxn5lw";
};
meta = with lib; {
homepage = "http://scala-ide.org/";
description = "Scala IDE for Eclipse";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.bsd3;
platforms = platforms.all;
};
};
spotbugs = buildEclipseUpdateSite rec {
name = "spotbugs-${version}";
version = "3.1.11";
@@ -630,13 +590,13 @@ rec {
version = "6.9.13.201609291640";
srcFeature = fetchurl {
url = "http://beust.com/eclipse-old/eclipse_${version}/features/org.testng.eclipse_${version}.jar";
sha256 = "02wzcysl7ga3wnvnwp6asl8d77wgc547c5qqawixw94lw6fn1a15";
url = "https://github.com/testng-team/testng-eclipse-update-site/raw/refs/heads/main/updatesites/${version}/features/org.testng.eclipse_${version}.jar";
hash = "sha256-JahgneGUJN4jVxgXdkhhj5/TENXKXG635UO9Q7Vnnws=";
};
srcPlugin = fetchurl {
url = "http://beust.com/eclipse-old/eclipse_${version}/plugins/org.testng.eclipse_${version}.jar";
sha256 = "1j4zw6392q3q6z3pcy803k3g0p220gk1x19fs99p0rmmdz83lc8d";
url = "https://github.com/testng-team/testng-eclipse-update-site/raw/refs/heads/main/updatesites/${version}/plugins/org.testng.eclipse_${version}.jar";
hash = "sha256-DTE60G+1ZnBT0i6FHuYDQlzwxhwAeXbHN3hgkYbhn8g=";
};
meta = with lib; {
@@ -711,104 +671,13 @@ rec {
maintainers = [ maintainers.romildo ];
};
};
ivyde = buildEclipsePlugin rec {
name = "ivyde-${version}";
version = "2.2.0.final-201311091524-RELEASE";
srcFeature = fetchurl {
url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/features/org.apache.ivyde.feature_${version}.jar";
hash = "sha256-iKe7oOPjy6th0HmKt6NXexOHN60EDpQe1r+n6K+uoyw=";
};
srcPlugin = fetchurl {
url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/plugins/org.apache.ivyde.eclipse_${version}.jar";
hash = "sha256-lhwFwdMDwCIUrQjdWfe5ZSutCIsKtZSBT6FWthUipdk=";
};
meta = with lib; {
homepage = "https://ant.apache.org/ivy/ivyde/index.html";
description = "Plugin which integrates Apache Ivy's dependency management";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.asl20;
platforms = platforms.all;
maintainers = [ maintainers.r3dl3g ];
};
};
ivyderv = buildEclipsePlugin rec {
name = "ivyderv-${version}";
version = "2.2.0.final-201311091524-RELEASE";
srcFeature = fetchurl {
url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/features/org.apache.ivyde.eclipse.resolvevisualizer.feature_${version}.jar";
hash = "sha256-PSH5NtE7hN2hHoHUhVK1CLkHN7YSDdTTqBP7711X4rU=";
};
srcPlugin = fetchurl {
url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/plugins/org.apache.ivyde.eclipse.resolvevisualizer_${version}.jar";
hash = "sha256-qjTvn1j7viSfzLkWnYjyS9Pj2ExqsiFGLzot3+oB0Tw=";
};
meta = with lib; {
homepage = "https://ant.apache.org/ivy/ivyde/index.html";
description = "Graph viewer of the resolved dependencies";
longDescription = ''
Apache IvyDE Resolve Visualizer is an optional dependency of Apache IvyDE since
it requires additional plugins to be installed (Zest).
'';
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.asl20;
platforms = platforms.all;
maintainers = [ maintainers.r3dl3g ];
};
};
ivy = buildEclipsePlugin rec {
name = "ivy-${version}";
version = "2.5.0.final_20191020104435";
srcFeature = fetchurl {
url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/features/org.apache.ivy.eclipse.ant.feature_${version}.jar";
sha256 = "de6134171a0edf569bb9b4c3a91639d469f196e86804d218adfdd60a5d7fa133";
};
srcPlugin = fetchurl {
url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/plugins/org.apache.ivy.eclipse.ant_${version}.jar";
sha256 = "9e8ea20480cf73d0f0f3fb032d263c7536b24fd2eef71beb7d62af4e065f9ab5";
};
meta = with lib; {
homepage = "https://ant.apache.org/ivy/index.html";
description = "Popular dependency manager focusing on flexibility and simplicity";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.asl20;
platforms = platforms.all;
maintainers = [ maintainers.r3dl3g ];
};
};
ivyant = buildEclipsePlugin rec {
name = "ivyant-${version}";
version = "2.5.0.final_20191020104435";
srcFeature = fetchurl {
url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/features/org.apache.ivy.eclipse.ant.feature_${version}.jar";
sha256 = "de6134171a0edf569bb9b4c3a91639d469f196e86804d218adfdd60a5d7fa133";
};
srcPlugin = fetchurl {
url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/plugins/org.apache.ivy.eclipse.ant_${version}.jar";
sha256 = "9e8ea20480cf73d0f0f3fb032d263c7536b24fd2eef71beb7d62af4e065f9ab5";
};
meta = with lib; {
homepage = "https://ant.apache.org/ivy/ivyde/index.html";
description = "Ant Tasks integrated into Eclipse's Ant runtime";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.asl20;
platforms = platforms.all;
maintainers = [ maintainers.r3dl3g ];
};
};
}
// lib.optionalAttrs config.allowAliases {
# Added 2025-11-16
bytecode-outline = throw "eclipses.plugins.bytecode-outline has been removed due to being removed upstream.";
ivyde = throw "eclipses.plugins.ivyde has been removed due to being archived upstream.";
ivyderv = throw "eclipses.plugins.inyderv has been removed due to being archived upstream.";
ivy = throw "eclipses.plugins.ivy has been removed due to being archived upstream.";
ivyant = throw "eclipses.plugins.ivyant has been removed due to being archived upstream.";
scala = throw "eclipses.plugins.scala has been removed due to being deprecated upstream.";
}
@@ -8,13 +8,13 @@
melpaBuild {
pname = "edraw";
version = "1.2.0-unstable-2025-02-21";
version = "1.2.0-unstable-2025-05-23";
src = fetchFromGitHub {
owner = "misohena";
repo = "el-easydraw";
rev = "f6b0f43138693b73cb65327d28bd2a4ee1b6caa7";
hash = "sha256-IU+DMw8q1Si3CJ4FhJVkaRsjkh1Oc3psmbzdUgh0YMI=";
rev = "8007f50c1c1734325c47939904f486753c7dd8ee";
hash = "sha256-YESpl+gSSC1eIOEQ8QevfTZ0Ar9wO4pzC12wVmDpDOA=";
};
propagatedUserEnvPkgs = [ gzip ];
@@ -2800,6 +2800,8 @@ let
};
};
leanprover.lean4 = callPackage ./leanprover.lean4 { };
leonardssh.vscord = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscord";
@@ -0,0 +1,21 @@
{
lib,
vscode-utils,
}:
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "lean4";
publisher = "leanprover";
version = "0.0.221";
hash = "sha256-OoDM9PuhQBRln41OHdVbI8EcXaqIQPArnqgFt+63aJg=";
};
meta = {
description = "This extension provides VS Code support for the Lean 4 theorem prover and programming language";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=leanprover.lean4";
homepage = "https://github.com/leanprover/vscode-lean4";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ alexstaeding ];
};
}
+1 -1
View File
@@ -209,7 +209,7 @@ stdenv.mkDerivation (
# LD_LIBRARY_PATH.
NIX_LDFLAGS = toString (
map (path: "-rpath " + path) (
map (x: "${lib.getLib x}/lib") [ stdenv.cc.cc ]
map (x: "${lib.getLib x}/lib") ([ stdenv.cc.cc ] ++ finalAttrs.buildInputs)
# libpulsecommon.so is linked but not found otherwise
++ lib.optionals supportFlags.pulseaudioSupport (
map (x: "${lib.getLib x}/lib/pulseaudio") (toBuildInputs pkgArches (pkgs: [ pkgs.libpulseaudio ]))
@@ -100,8 +100,8 @@ rec {
thunderbird-140 = common {
applicationName = "Thunderbird ESR";
version = "140.4.0esr";
sha512 = "23a7c99f51a346f9df6e0da257040a78da0b9afd70966a0fd5c0f5a4dcd4806520f8d510a382cf5d76a099aa889219a5eec185b774a6a9b65c4ccdcb75662554";
version = "140.5.0esr";
sha512 = "ce0d0ab4715831656e6c841d75a69109db6d64b4151ab69ecc954f1d3a045abf64e641e0fa46113cc7f3149bfe237687d4c11de1c14d013ce76e55679cadb1c5";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-140";
@@ -3,7 +3,7 @@
stdenv,
fetchFromGitHub,
obs-studio,
ffmpeg,
ffmpeg_7,
libjpeg,
libimobiledevice,
libusbmuxd,
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
libusbmuxd
libplist
obs-studio
ffmpeg
ffmpeg_7
];
nativeBuildInputs = [
@@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
"IMOBILEDEV_DIR=${lib.getDev libimobiledevice}"
"IMOBILEDEV_DIR=${lib.getLib libimobiledevice}"
"LIBOBS_INCLUDES=${obs-studio}/include/obs"
"FFMPEG_INCLUDES=${lib.getLib ffmpeg}"
"FFMPEG_INCLUDES=${lib.getLib ffmpeg_7}"
"LIBUSBMUXD=libusbmuxd-2.0"
"LIBIMOBILEDEV=libimobiledevice-1.0"
];
+4 -1
View File
@@ -38,7 +38,10 @@ stdenv.mkDerivation rec {
''
+ (lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace src/Makefile.in \
--replace-fail "gfortran -print-file-name=libgfortran.a" "gfortran -print-file-name=libgfortran.dylib"
--replace-fail "gfortran -print-file-name=libgfortran.a" "gfortran -print-file-name=libgfortran.dylib" \
--replace-fail 'libfAPPLgrid_la_LIBADD =' 'libfAPPLgrid_la_LIBADD = $(FRTLLIB)' \
--replace-fail '$(CXXLINK) -rpath $(libdir) $(libfAPPLgrid_la_OBJECTS) $(libfAPPLgrid_la_LIBADD) $(LIBS)' \
'$(CXXLINK) -rpath $(libdir) $(libfAPPLgrid_la_OBJECTS) $(libfAPPLgrid_la_LIBADD) $(LIBS) -Wl,-undefined,dynamic_lookup'
'');
enableParallelBuilding = false; # broken
+12
View File
@@ -4,6 +4,7 @@
callPackage,
cmake,
espeak-ng,
fetchpatch2,
ffmpeg,
file,
freetype,
@@ -163,6 +164,17 @@ stdenv.mkDerivation (finalAttrs: {
popd
'';
patches = [
# Upstream patch to support ffmpeg 8
(fetchpatch2 {
name = "0001-build-fix-build-with-latest-ffmpeg.patch";
url = "https://chiselapp.com/user/letoram/repository/arcan/vpatch?from=cc6f24de2134282a&to=25bbde5eec7033d3";
hash = "sha256-i8d/X/xmEGWpO9fG6BerW//JnosPwDolXvMFsuv39IM=";
stripLen = 1;
extraPrefix = "src/";
})
];
postPatch = ''
substituteInPlace ./src/platform/posix/paths.c \
--replace-fail "/usr/bin" "$out/bin" \
@@ -83,9 +83,9 @@
containerapp = mkAzExtension rec {
pname = "containerapp";
version = "1.2.0b4";
version = "1.3.0b1";
url = "https://azcliprod.blob.core.windows.net/cli-extensions/containerapp-${version}-py2.py3-none-any.whl";
hash = "sha256-v2Mu46qVpDKjGARgGkKzQm5QcK4Msj4XgdgWZwI8fS0=";
hash = "sha256-gEFo2qBqQ19SSIMx1BWPoc19xv7lCUkuZMSUz9qPqrE=";
description = "Microsoft Azure Command-Line Tools Containerapp Extension";
propagatedBuildInputs = with python3Packages; [
docker
+4 -4
View File
@@ -11,7 +11,7 @@
stdenv.mkDerivation rec {
pname = "bloop";
version = "2.0.16";
version = "2.0.17";
platform =
if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then
@@ -42,11 +42,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}";
sha256 =
if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then
"sha256-66TYu/2HMvd58z2hDdOfQ51feZ/yYvzVfMmjD9U7lHs="
"sha256-pvqIotxcKVtrCQlMdbMGNkPvrMcNyw8CmtnUkQjAF8Y="
else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 then
"sha256-k8mUKcQcJZuqlEfphOIhXSTU4ny5WD0zHEhUsbtpVg0="
"sha256-W54MoUGEQ48ju+h1PVUxlJZ0RxV2NLjYhlq6QacBEto="
else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
"sha256-eYKjT5k3UeSt/FUddzaYQ1xbYaC9Rf/HCEbYxkLaz50="
"sha256-7FtS1dlDK5v/zlwFA5rPSkyLaEVbKhAaKdOhZkZcFPg="
else
throw "unsupported platform";
};
+11 -10
View File
@@ -4,18 +4,19 @@
fetchFromGitHub,
autoAddDriverRunpath,
installShellFiles,
writableTmpDirAsHomeHook,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "bottom";
version = "0.11.3";
src = fetchFromGitHub {
owner = "ClementTsang";
repo = "bottom";
tag = version;
tag = finalAttrs.version;
hash = "sha256-7rVvKAqK8hqICnSr/Ax9ndsIZAdTaUyOAoVZ13W5BJs=";
};
@@ -26,6 +27,10 @@ rustPlatform.buildRustPackage rec {
installShellFiles
];
env = {
BTM_GENERATE = true;
};
postInstall = ''
installManPage target/tmp/bottom/manpage/btm.1
installShellCompletion \
@@ -35,24 +40,20 @@ rustPlatform.buildRustPackage rec {
install -Dm444 desktop/bottom.desktop -t $out/share/applications
'';
preCheck = ''
HOME=$(mktemp -d)
'';
doInstallCheck = true;
nativeInstallCheckInputs = [
versionCheckHook
writableTmpDirAsHomeHook
];
versionCheckProgram = "${placeholder "out"}/bin/btm";
BTM_GENERATE = true;
versionCheckProgramArg = "--version";
passthru = {
updateScript = nix-update-script { };
};
meta = {
changelog = "https://github.com/ClementTsang/bottom/blob/${version}/CHANGELOG.md";
changelog = "https://github.com/ClementTsang/bottom/blob/${finalAttrs.version}/CHANGELOG.md";
description = "Cross-platform graphical process/system monitor with a customizable interface";
homepage = "https://github.com/ClementTsang/bottom";
license = lib.licenses.mit;
@@ -62,4 +63,4 @@ rustPlatform.buildRustPackage rec {
gepbird
];
};
}
})
+3 -3
View File
@@ -20,20 +20,20 @@
buildNpmPackage rec {
pname = "bruno";
version = "2.14.0";
version = "2.14.2";
src = fetchFromGitHub {
owner = "usebruno";
repo = "bruno";
tag = "v${version}";
hash = "sha256-fmT+KA8v/fdVQu7KUkZNOkNtcl5uPxzHVKplml2HbSM=";
hash = "sha256-YJosHQ2NQAXijPj+6OQJ7zTAOXGNPBqRrhBYQ8moLQ8=";
postFetch = ''
${lib.getExe npm-lockfile-fix} $out/package-lock.json
'';
};
npmDepsHash = "sha256-H2v9dm4VCRQrhs9g/D1QOu1L5AeN+Vqhez4qrBdd9Gs=";
npmDepsHash = "sha256-w/LcSiRi4iHEu3gzitqtwfmdyyPIO2ZsLa9bhvEqkRQ=";
npmFlags = [ "--legacy-peer-deps" ];
nativeBuildInputs = [
@@ -0,0 +1,96 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 16b26eac8..7bbdab0c7 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,13 +1,13 @@
################################################################################
# Top-level CMakeLists.txt file for Crazy Eddie's GUI System
################################################################################
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.10)
if (POLICY CMP0017)
- cmake_policy(SET CMP0017 OLD)
+ cmake_policy(SET CMP0017 NEW)
endif()
if (POLICY CMP0045)
- cmake_policy(SET CMP0045 OLD)
+ cmake_policy(SET CMP0045 NEW)
endif()
if (APPLE AND NOT CMAKE_OSX_ARCHITECTURES)
@@ -112,7 +112,7 @@ if(NOT ${OGRE_FOUND})
endif()
if(${OGRE_FOUND})
if (${OGRE_VERSION} VERSION_GREATER 1.11)
- set(CMAKE_CXX_STANDARD 11)
+ set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
diff --git a/cmake/CEGUIMacros.cmake b/cmake/CEGUIMacros.cmake
index 2aca3ff3d..6c3384d63 100644
--- a/cmake/CEGUIMacros.cmake
+++ b/cmake/CEGUIMacros.cmake
@@ -51,17 +51,15 @@ endmacro()
macro (cegui_target_link_libraries _TARGET_NAME)
target_link_libraries(${_TARGET_NAME} ${ARGN})
- get_target_property(_TARGET_EXISTS ${_TARGET_NAME}_Static TYPE)
- if (_TARGET_EXISTS)
+ if (TARGET ${_TARGET_NAME}_Static)
foreach(_LIB ${ARGN})
if (${_LIB} STREQUAL optimized OR ${_LIB} STREQUAL debug OR ${_LIB} STREQUAL general)
set (_BUILD ${_LIB})
else()
- get_target_property(_LIB_IS_IN_PROJECT ${_LIB}_Static TYPE)
-
- if (_LIB_IS_IN_PROJECT)
+ if (TARGET ${_LIB}_Static)
target_link_libraries(${_TARGET_NAME}_Static ${_BUILD} ${_LIB}_Static)
else()
+ # Fall back to the provided dependency if it is not a CMake target
target_link_libraries(${_TARGET_NAME}_Static ${_BUILD} ${_LIB})
endif()
endif()
@@ -73,9 +71,7 @@ endmacro()
# add dynamic dependency libraries to a target
#
macro (cegui_add_dependency_dynamic_libs _TARGET_NAME _DEP_NAME)
- get_target_property(_TARGET_EXISTS ${_TARGET_NAME} TYPE)
-
- if (_TARGET_EXISTS)
+ if (TARGET ${_TARGET_NAME})
if (${_DEP_NAME}_LIBRARIES)
if (${_DEP_NAME}_LIBRARIES_DBG)
foreach(_LIB ${${_DEP_NAME}_LIBRARIES})
@@ -98,9 +94,7 @@ endmacro()
# if static do not exist)
#
macro (cegui_add_dependency_static_libs _TARGET_NAME _DEP_NAME)
- get_target_property(_TARGET_EXISTS ${_TARGET_NAME} TYPE)
-
- if (_TARGET_EXISTS)
+ if (TARGET ${_TARGET_NAME})
if (${_DEP_NAME}_LIBRARIES_STATIC)
if (${_DEP_NAME}_LIBRARIES_STATIC_DBG)
foreach(_LIB ${${_DEP_NAME}_LIBRARIES_STATIC})
@@ -137,8 +131,16 @@ endmacro()
#
macro (cegui_add_dependency _TARGET_NAME _DEP_NAME)
# Optional additional arguments: "SCOPE" "IS_SYSTEM"
- get_target_property(_DYNAMIC_EXISTS ${_TARGET_NAME} TYPE)
- get_target_property(_STATIC_EXISTS ${_TARGET_NAME}_Static TYPE)
+ if (TARGET ${_TARGET_NAME})
+ set(_DYNAMIC_EXISTS TRUE)
+ else()
+ set(_DYNAMIC_EXISTS FALSE)
+ endif()
+ if (TARGET ${_TARGET_NAME}_Static)
+ set(_STATIC_EXISTS TRUE)
+ else()
+ set(_STATIC_EXISTS FALSE)
+ endif()
if ("${ARGC}" GREATER 2)
if (("${ARGC}" GREATER 3) AND "${ARGV3}")
if (_DYNAMIC_EXISTS)
+4
View File
@@ -22,6 +22,10 @@ stdenv.mkDerivation {
hash = "sha256-9lZ7eBwmxZ33XNDJXQ2lbCcH5JyH0KoY1mj/g+2HOJs=";
};
patches = [
./cmake-minimum-required.patch
];
strictDeps = true;
nativeBuildInputs = [
@@ -0,0 +1,25 @@
From 96ec13b49ee2fcb2869f87b1f9e8c6cfc92275df Mon Sep 17 00:00:00 2001
From: Tom van Dijk <18gatenmaker6@gmail.com>
Date: Fri, 14 Nov 2025 18:55:40 +0100
Subject: [PATCH] rust 2024 fixes
---
src/main.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main.rs b/src/main.rs
index 127f649..5ef526e 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -103,7 +103,7 @@ fn main() {
}
} else {
// Set `RUST_BACKTRACE` so we get a better backtrace for reporting.
- env::set_var("RUST_BACKTRACE", "1");
+ unsafe { env::set_var("RUST_BACKTRACE", "1"); }
// Run the command and get the stderr, checking for a backtrace.
let mut args = vec!["run-gui"];
--
2.51.0
+7
View File
@@ -31,6 +31,9 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-OBGDnhpVLOPdYhofWfeaueklt7KBkLhM02JNvuvUQ2Q=";
# rust 2024 requires that you put an unsafe block around std::env::set_var
patches = [ ./missing-unsafe-block.patch ];
postPatch = ''
pushd $cargoDepsCopy/librclone-sys-*
oldHash=$(sha256sum build.rs | cut -d " " -f 1)
@@ -45,6 +48,10 @@ rustPlatform.buildRustPackage rec {
--replace "{{ env_var('DESTDIR') }}/usr" "${placeholder "out"}"
# buildRustPackage takes care of installing the binary
sed -i "#/bin/celeste#d" justfile
# fix: as of rust 1.85, it is required that you specify edition 2024 for let chains
substituteInPlace Cargo.toml \
--replace-warn 'edition = "2021"' 'edition = "2024"'
'';
RUSTC_BOOTSTRAP = 1;
+3
View File
@@ -1,5 +1,6 @@
{
lib,
bash,
buildGoModule,
fetchFromGitHub,
nix-update-script,
@@ -26,6 +27,8 @@ buildGoModule rec {
updateScript = nix-update-script { };
};
buildInputs = [ bash ];
meta = with lib; {
description = "Wayland clipboard manager";
homepage = "https://github.com/sentriz/cliphist";
+2 -2
View File
@@ -6,7 +6,7 @@
pkg-config,
bzip2,
feather-tk,
ffmpeg,
ffmpeg_7,
freetype,
glfw,
imath,
@@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
bzip2
feather-tk
ffmpeg
ffmpeg_7
freetype
glfw
imath
+2 -2
View File
@@ -15,14 +15,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "door-knocker";
version = "0.7.0";
version = "0.8.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "tytan652";
repo = "door-knocker";
rev = finalAttrs.version;
hash = "sha256-6QHjmjR2ioR0I6JXtJ0Q+9Dl1fcTnQCGgWlcyFt9WoA=";
hash = "sha256-Yz/HVffOJNpu0D8SE32ehwI3UQ7yPKMqR6yYIAVuBDc=";
};
nativeBuildInputs = [
+2 -1
View File
@@ -10,8 +10,8 @@
udev,
gtk3,
wrapGAppsHook3,
xz, # for liblzma
}:
stdenv.mkDerivation rec {
pname = "firmware-manager";
version = "0.1.5";
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
pkg-config
rustPlatform.cargoSetupHook
wrapGAppsHook3
xz
];
buildInputs = [
+2 -2
View File
@@ -8,11 +8,11 @@
stdenvNoCC.mkDerivation rec {
pname = "gerrit";
version = "3.12.3";
version = "3.13.1";
src = fetchurl {
url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war";
hash = "sha256-egPuxGfRk8uB+7hzdrrEOT9wfBxlkaSjRpw2z9RYXAI=";
hash = "sha256-4+Z1q1cHEM5IaG+SAS7JgiCypfjM8W2Zaa25/KGaoqw=";
};
buildCommand = ''
@@ -10,11 +10,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "github-copilot-cli";
version = "0.0.354";
version = "0.0.358";
src = fetchzip {
url = "https://registry.npmjs.org/@github/copilot/-/copilot-${finalAttrs.version}.tgz";
hash = "sha256-W0KiqTThHv/G69X35Sma0KBGH0JAdZhC4/goosSZUDs=";
hash = "sha256-+OjC5m5KnZrp0qquMT/Nf4xFoXS/Dz7XBG8djwktYMk=";
};
nativeBuildInputs = [ makeBinaryWrapper ];
@@ -15,7 +15,7 @@ index 6eb58f1..28e1195 100644
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
+GIRepository.Repository.prepend_search_path('@gmenu_path@');
+GIRepository.Repository.dup_default().prepend_search_path('@gmenu_path@');
+const {default: GMenu} = await import('gi://GMenu');
const appSys = Shell.AppSystem.get_default();
@@ -17,7 +17,7 @@ index 37d2eb1..232d0d5 100644
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
+GIRepository.Repository.prepend_search_path('@gtop_path@');
+GIRepository.Repository.dup_default().prepend_search_path('@gtop_path@');
+const GTop = (await import("gi://GTop")).default;
+
const THRESHOLD_HIGH = 0.80;
+6
View File
@@ -34,6 +34,12 @@ stdenv.mkDerivation rec {
patches = [ ./no-loader-test.patch ];
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail \
'cmake_minimum_required(VERSION 2.6 FATAL_ERROR)' \
'cmake_minimum_required(VERSION 4.0)'
'';
meta = with lib; {
description = "Hot patching executables on Linux using .so file injection";
mainProgram = "hotpatcher";
+4 -8
View File
@@ -17,14 +17,6 @@ let
hash = "sha256-MoEee4He7iBj6m0ulPiBmobR84EeSdI2I6QfqDK+8D8=";
};
});
urllib3 = super.urllib3.overridePythonAttrs (old: rec {
version = "1.26.20";
src = fetchPypi {
pname = "urllib3";
inherit version;
hash = "sha256-QMLcDGgeR+uPkOfie/b/ffLmd0If1GdW2hFhw5ynDTI=";
};
});
};
in
python3.override {
@@ -64,6 +56,10 @@ python.pkgs.buildPythonApplication rec {
chardet
];
pythonRelaxDeps = [
"urllib3"
];
meta = {
homepage = "https://github.com/RicterZ/nhentai";
description = "CLI tool for downloading doujinshi from adult site(s)";
+2 -2
View File
@@ -86,13 +86,13 @@ buildGoModule (
{
pname = "olivetin";
version = "2025.11.06";
version = "2025.11.11";
src = fetchFromGitHub {
owner = "OliveTin";
repo = "OliveTin";
tag = finalAttrs.version;
hash = "sha256-81AcegFKG5TacKAv9kZgbSOKcAx+ZmK3rqrk3ia/res=";
hash = "sha256-dyApBkhtlPu3TjgjrTu0sY9VqMzMJc+kbGaylwtUCv4=";
};
modRoot = "service";
+58
View File
@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
opencl-headers,
spirv-headers,
spirv-tools,
ocl-icd,
python3,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "opencl-cts";
version = "2025-08-21-00";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "OpenCL-CTS";
rev = "v${finalAttrs.version}";
hash = "sha256-/VVT7Q45OvVivbZvULInXf78//Tb3EeV8zqbcDR2Pf4=";
};
nativeBuildInputs = [
cmake
pkg-config
python3
];
buildInputs = [
opencl-headers
spirv-headers
spirv-tools
ocl-icd
];
# Build errors when format hardening is enabled:
# cc1: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]
hardeningDisable = [ "format" ];
cmakeFlags = [
(lib.cmakeFeature "CL_INCLUDE_DIR" "${lib.getInclude opencl-headers}/include")
# Intentionally no suffix, CMakeLists adds for SPIRV and not for CL ¯\_(ツ)_/¯
(lib.cmakeFeature "SPIRV_INCLUDE_DIR" "${lib.getInclude spirv-headers}")
(lib.cmakeFeature "CL_LIB_DIR" "${lib.getLib ocl-icd}/lib")
(lib.cmakeFeature "SPIRV_TOOLS_DIR" "${lib.getBin spirv-tools}/bin")
(lib.cmakeFeature "OPENCL_LIBRARIES" "OpenCL")
];
meta = {
description = "OpenCL Conformance Test Suite";
homepage = "https://github.com/KhronosGroup/OpenCL-CTS";
license = lib.licenses.asl20;
platforms = lib.platforms.unix;
teams = [ lib.teams.rocm ];
};
})
+8 -3
View File
@@ -46,9 +46,14 @@ stdenv.mkDerivation {
];
# source/utils/StackTraceUnix.cpp:122:2: error: #error Unsupported architecture.
postPatch = lib.optionalString (!stdenv.hostPlatform.isx86_64) ''
cp source/utils/StackTrace{Stub,Unix}.cpp
'';
postPatch =
lib.optionalString (!stdenv.hostPlatform.isx86_64) ''
cp source/utils/StackTrace{Stub,Unix}.cpp
''
+ ''
substituteInPlace CMakeLists.txt \
--replace-fail "cmake_minimum_required(VERSION 2.8)" "cmake_minimum_required(VERSION 3.10)"
'';
strictDeps = true;
+2 -2
View File
@@ -5,9 +5,9 @@
},
"osquery": {
"fetchSubmodules": true,
"hash": "sha256-O5FfbPZt0cxl7Zia8gSn4xLhLyTlA9Z0SDDvGSgTTyw=",
"hash": "sha256-VWe4dh5Y+9Umzt+MXL/eIqSGhGq7X6UWqDUBsBLSudE=",
"owner": "osquery",
"repo": "osquery",
"rev": "5.19.0"
"rev": "5.20.0"
}
}
@@ -90,6 +90,11 @@ else
extraPkgs = pkgs: with pkgs; [ icu ];
# fix OpenGL renderer on nvidia + wayland
extraBwrapArgs = [
"--ro-bind-try /etc/egl/egl_external_platform.d /etc/egl/egl_external_platform.d"
];
extraInstallCommands =
let
contents = appimageTools.extract { inherit pname version src; };
+1 -1
View File
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
};
"aarch64-linux" = fetchurl {
url = "https://github.com/PhotonVision/photonvision/releases/download/v${version}/photonvision-v${version}-linuxarm64.jar";
hash = "sha256-mNQk8gaTASsmyJUpLLIbG7QRMjbdSN2LMCXx6j3gbCU=";
hash = "sha256-YG9wyh+MCsv/RBdiFvgrF6Fw/6AnN7OEi4ofkMptfT0=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
@@ -65,7 +65,11 @@ stdenv.mkDerivation rec {
# Silence "incompatible integer to pointer conversion passing 'gsize'" when building with Clang.
lib.optionals stdenv.cc.isClang [ "-Wno-int-conversion" ]
# Silence fprintf format errors when building for Windows.
++ lib.optionals stdenv.hostPlatform.isWindows [ "-Wno-error=format" ]
++ lib.optionals stdenv.hostPlatform.isWindows [
"-Wno-incompatible-pointer-types"
"-Wno-int-conversion"
"-Wno-error=format"
]
);
enableParallelBuilding = true;
+2 -2
View File
@@ -21,13 +21,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "shader-slang";
version = "2025.22";
version = "2025.22.1";
src = fetchFromGitHub {
owner = "shader-slang";
repo = "slang";
tag = "v${finalAttrs.version}";
hash = "sha256-D3XB6mf3tKTH6t4jG5kYgE9sNAhFwZyi8Ynrh+4A9v8=";
hash = "sha256-aLiJXEnk3YoTYG9y64bFs4R0wukE7dXZOkdN70GGm2M=";
fetchSubmodules = true;
};
+1
View File
@@ -23,6 +23,7 @@ python3.pkgs.buildPythonApplication rec {
"typer"
"instructor"
"jinja2"
"openai"
];
build-system = with python3.pkgs; [ hatchling ];
+2 -2
View File
@@ -21,13 +21,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "slade";
version = "3.2.8";
version = "3.2.9";
src = fetchFromGitHub {
owner = "sirjuddington";
repo = "SLADE";
tag = finalAttrs.version;
hash = "sha256-skJpcxLSInAzBHGtxdTWAqocXQKKQY7vJfUx8ZAlMqc=";
hash = "sha256-N+rCtrfvVJnkfj8kU4ahzF6o7lp1VWJbVmkvaZoxBv8=";
};
nativeBuildInputs = [
+102
View File
@@ -0,0 +1,102 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
nix-update-script,
testers,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "temporal_capi";
version = "0.1.2";
src = fetchFromGitHub {
owner = "boa-dev";
repo = "temporal";
tag = "v${finalAttrs.version}";
hash = "sha256-JmNYoskoQZewmWAU/SUBdjKdN+pnpMdLZUVv+jysS5A=";
};
cargoHash = "sha256-jIPbroAtS7D/l4QJtGCgXNa7QaQLdsF4Gh9O4NaRBCw=";
postPatch = ''
# Force crate-type to include staticlib
echo '
[lib]
crate-type = ["${if stdenv.hostPlatform.isStatic then "staticlib" else "cdylib"}"]
' >> temporal_capi/Cargo.toml
'';
cargoBuildFlags = [
"--package"
"temporal_capi"
"--features"
"zoneinfo64,compiled_data"
];
installPhase = ''
runHook preInstall
install -Dm644 target/*/release/libtemporal_capi.* -t $out/lib
install -Dm644 -t $out/include/temporal_rs \
temporal_capi/bindings/cpp/temporal_rs/*.hpp
install -Dm644 -t $out/include \
temporal_capi/bindings/c/*.h
runHook postInstall
'';
postInstall = ''
mkdir $out/lib/pkgconfig
cat -> $out/lib/pkgconfig/temporal_capi.pc <<EOF
prefix=$out
exec_prefix=''${prefix}
libdir=''${exec_prefix}/lib
includedir=''${prefix}/include
Name: temporal_capi
Description: C API for temporal_rs
Version: ${finalAttrs.version}
Libs: -L''${libdir} -ltemporal_capi
Cflags: -I''${includedir}
EOF
'';
postFixup = lib.optional (stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isStatic) ''
${stdenv.cc.targetPrefix}install_name_tool -id "$out/lib/libtemporal_capi.dylib" "$out/lib/libtemporal_capi.dylib"
'';
# We don't want to run Rust checks, we only check the resulting lib using C/C++ in the installCheckPhase.
doCheck = false;
doInstallCheck = true;
nativeInstallCheckInputs = [ stdenv.cc ];
installCheckPhase = ''
runHook preInstallCheck
cc -L $out/lib -I $out/include temporal_capi/tests/c/simple.c -ltemporal_capi -lm -o c_test
./c_test
c++ -L $out/lib -I $out/include temporal_capi/tests/cpp/simple.cpp -ltemporal_capi -lm -o cpp_test
./cpp_test
runHook postInstallCheck
'';
passthru.tests = {
pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
moduleNames = [ "temporal_capi" ];
};
updateScript = nix-update-script { };
};
meta = with lib; {
description = "A Rust implementation of ECMAScript's Temporal API";
homepage = "https://github.com/boa-dev/temporal";
changelog = "https://github.com/boa-dev/temporal/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = with licenses; [
asl20
mit
];
maintainers = with maintainers; [ aduh95 ];
};
})
+3 -4
View File
@@ -8,20 +8,19 @@
buildGoModule (finalAttrs: {
pname = "tofu-ls";
version = "0.1.1";
version = "0.2.0";
src = fetchFromGitHub {
owner = "opentofu";
repo = "tofu-ls";
tag = "v${finalAttrs.version}";
hash = "sha256-VVfr7N3yv/cNtgyJNlzZDyPAioMhQbSgY0+KDkl3SIM=";
hash = "sha256-CfaF8HNG1O5clTDZcSMUwAda2hbJbOQJ34GzUSBYqoQ=";
};
vendorHash = "sha256-5g0gOexGRGcLfA2XzeD2LlFtwMN92WA4MsdXDObIe/Q=";
vendorHash = "sha256-CwfkDqmdG77OojyCM0nLPA8d8ma1+pzIyeQUeQMkXEY=";
ldflags = [
"-s"
"-w"
];
checkFlags =
+2 -2
View File
@@ -7,7 +7,7 @@
cmake,
cmakerc,
curl,
fmt,
fmt_11,
git,
gzip,
meson,
@@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
cmakerc
fmt
fmt_11
];
patches = [
+6 -2
View File
@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "world-wall-clock";
version = "0.1.4";
version = "0.1.5";
pyproject = true;
src = fetchFromGitHub {
owner = "ddelabru";
repo = "world-wall-clock";
tag = "v${version}";
hash = "sha256-OTBYSStCFBrZ8JutrhyyJpi7vRvBAUK0EKTtjvbi13I=";
hash = "sha256-gwJvoXSq8H+sMTyBEA1N+KxnkGxyt5Ev+V3awCBiILg=";
};
build-system = with python3.pkgs; [ poetry-core ];
@@ -24,6 +24,10 @@ python3.pkgs.buildPythonApplication rec {
xdg-base-dirs
];
pythonRelaxDeps = [
"urwid"
];
nativeCheckInputs = with python3.pkgs; [ pytestCheckHook ];
enabledTestPaths = [ "tests/*" ];
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-arcmenu";
version = "65";
version = "67.2";
src = fetchFromGitLab {
owner = "arcmenu";
repo = "ArcMenu";
rev = "v${version}";
hash = "sha256-EEK600DwIQAPWR07IMPNZFiWWkiG0blp/D0VKAcc7ns=";
hash = "sha256-MqzxHETxfifsIhoWv0xgUM1DvmrYn3ICoggZhjhqaRo=";
};
patches = [
@@ -1,5 +1,5 @@
--- a/menuWidgets.js
+++ b/menuWidgets.js
--- a/src/menuWidgets.js
+++ b/src/menuWidgets.js
@@ -3,7 +3,11 @@
import Atk from 'gi://Atk';
import Clutter from 'gi://Clutter';
@@ -8,14 +8,14 @@
-import GMenu from 'gi://GMenu';
+
+import GIRepository from 'gi://GIRepository';
+GIRepository.Repository.prepend_search_path('@gmenu_path@');
+GIRepository.Repository.dup_default().prepend_search_path('@gmenu_path@');
+const {default: GMenu} = await import('gi://GMenu');
+
import GObject from 'gi://GObject';
import Graphene from 'gi://Graphene';
import Pango from 'gi://Pango';
--- a/menulayouts/baseMenuLayout.js
+++ b/menulayouts/baseMenuLayout.js
--- a/src/menulayouts/baseMenuLayout.js
+++ b/src/menulayouts/baseMenuLayout.js
@@ -1,7 +1,11 @@
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
@@ -23,7 +23,7 @@
-import GMenu from 'gi://GMenu';
+
+import GIRepository from 'gi://GIRepository';
+GIRepository.Repository.prepend_search_path('@gmenu_path@');
+GIRepository.Repository.dup_default().prepend_search_path('@gmenu_path@');
+const {default: GMenu} = await import('gi://GMenu');
+
import GObject from 'gi://GObject';
@@ -37,8 +37,8 @@
"persian-calendar@iamrezamousavi.gmail.com"
],
"system-monitor": [
"system-monitor@gnome-shell-extensions.gcampax.github.com",
"System_Monitor@bghome.gmail.com",
"system-monitor@axet.github.com",
"system-monitor@gnome-shell-extensions.gcampax.github.com"
"system-monitor@axet.github.com"
]
}
@@ -4,7 +4,7 @@
// Author: Stéphane Démurget <stephane.demurget@free.fr>
+imports.gi.GIRepository.Repository.prepend_search_path('@vte@/lib/girepository-1.0')
+imports.gi.GIRepository.Repository.dup_default().prepend_search_path('@vte@/lib/girepository-1.0')
+
const Lang = imports.lang;
const Gettext = imports.gettext.domain("drop-down-terminal");
@@ -25,7 +25,7 @@
// Author: Stéphane Démurget <stephane.demurget@free.fr>
+
+imports.gi.GIRepository.Repository.prepend_search_path('@vte@/lib/girepository-1.0')
+imports.gi.GIRepository.Repository.dup_default().prepend_search_path('@vte@/lib/girepository-1.0')
+
const Lang = imports.lang;
@@ -9,7 +9,7 @@ index c608441..2b25335 100644
-import GMenu from 'gi://GMenu';
+
+import GIRepository from 'gi://GIRepository';
+GIRepository.Repository.prepend_search_path('@gmenu_path@');
+GIRepository.Repository.dup_default().prepend_search_path('@gmenu_path@');
+const {default: GMenu} = await import('gi://GMenu');
+
import GObject from 'gi://GObject';
@@ -22,7 +22,7 @@ index ee8c3a9..ca72885 100644
import * as Util from "resource:///org/gnome/shell/misc/util.js";
+GIRepository.Repository.prepend_search_path('@gtop_path@');
+GIRepository.Repository.dup_default().prepend_search_path('@gtop_path@');
+const GTop = (await import("gi://GTop")).default;
+
const NetworkManager = NM;
@@ -17,7 +17,7 @@ index 37d2eb1..232d0d5 100644
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
+GIRepository.Repository.prepend_search_path('@gtop_path@');
+GIRepository.Repository.dup_default().prepend_search_path('@gtop_path@');
+const GTop = (await import("gi://GTop")).default;
+
const THRESHOLD_HIGH = 0.80;
@@ -6,7 +6,7 @@ index 39d175a..9815b77 100644
import { gettext as _ } from 'resource:///org/gnome/shell/extensions/extension.js';
import NM from 'gi://NM';
+imports.gi.GIRepository.Repository.prepend_search_path('@gtop_path@');
+imports.gi.GIRepository.Repository.dup_default().prepend_search_path('@gtop_path@');
+
let GTop, hasGTop = true;
try {
@@ -12,6 +12,7 @@
"system-monitor@gnome-shell-extensions.gcampax.github.com" = "system-monitor";
"System_Monitor@bghome.gmail.com" = "system-monitor-2";
"system-monitor@axet.github.com" = "system-monitor-3";
"FuzzyClock@fire-man-x" = "fuzzy-clock-3";
"FuzzyClock@johngoetz" = "fuzzy-clock";
@@ -68,14 +68,14 @@ stdenv.mkDerivation (finalAttrs: {
];
mesonFlags = [
"-Dgnome_shell_libdir=${gnome-shell}/lib"
"-Dchrome_nmhdir=${placeholder "out"}/etc/opt/chrome/native-messaging-hosts"
"-Dchromium_nmhdir=${placeholder "out"}/etc/chromium/native-messaging-hosts"
"-Dopenssl_path=${openssl}/bin/openssl"
"-Dsshadd_path=${openssh}/bin/ssh-add"
"-Dsshkeygen_path=${openssh}/bin/ssh-keygen"
"-Dsession_bus_services_dir=${placeholder "out"}/share/dbus-1/services"
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
(lib.mesonOption "gnome_shell_libdir" "${gnome-shell}/lib")
(lib.mesonOption "chrome_nmhdir" "${placeholder "out"}/etc/opt/chrome/native-messaging-hosts")
(lib.mesonOption "chromium_nmhdir" "${placeholder "out"}/etc/chromium/native-messaging-hosts")
(lib.mesonOption "openssl_path" "${openssl}/bin/openssl")
(lib.mesonOption "sshadd_path" "${openssh}/bin/ssh-add")
(lib.mesonOption "sshkeygen_path" "${openssh}/bin/ssh-keygen")
(lib.mesonOption "session_bus_services_dir" "${placeholder "out"}/share/dbus-1/services")
(lib.mesonOption "installed_test_prefix" "${placeholder "installedTests"}")
];
postPatch = ''
@@ -18,7 +18,7 @@ index 00000000..d009dfd9
+++ b/src/__nix-prepend-search-paths.js
@@ -0,0 +1,2 @@
+import GIRepository from 'gi://GIRepository';
+'@typelibPath@'.split(':').forEach(path => GIRepository.Repository.prepend_search_path(path));
+'@typelibPath@'.split(':').forEach(path => GIRepository.Repository.dup_default().prepend_search_path(path));
diff --git a/src/extension.js b/src/extension.js
index 53ecd5fc..78782357 100644
--- a/src/extension.js
@@ -40,12 +40,15 @@
bottleneck,
fsspec,
s3fs,
uncompresspy,
# testing
hypothesis,
pytestCheckHook,
pytest-xdist,
pytest-astropy-header,
pytest-astropy,
pytest-doctestplus,
pytest-remotedata,
threadpoolctl,
}:
@@ -112,6 +115,7 @@ buildPythonPackage rec {
bottleneck
fsspec
s3fs
uncompresspy
]
++ self.recommended
++ self.ipython
@@ -121,11 +125,16 @@ buildPythonPackage rec {
});
nativeCheckInputs = [
hypothesis
pytestCheckHook
pytest-xdist
pytest-astropy-header
pytest-astropy
pytest-doctestplus
pytest-remotedata
threadpoolctl
# FIXME remove in 7.2.0
# see https://github.com/astropy/astropy/pull/18882
uncompresspy
]
++ optional-dependencies.recommended;
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "azure-cosmos";
version = "4.9.0";
version = "4.14.2";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "azure_cosmos";
inherit version;
hash = "sha256-xw20y/VbD/Jh7Xu4qjJaXfpWXTxuqkPXXSauXirW108=";
hash = "sha256-f7dGRJ7xWTBMWvb+aHVI5WHB8eJX/WUF1gFY0AEB7G4=";
};
build-system = [ setuptools ];
@@ -3,18 +3,17 @@
buildPythonPackage,
cherrypy,
fetchFromGitHub,
flit-core,
filelock,
mock,
msgpack,
pytestCheckHook,
redis,
requests,
uv-build,
}:
buildPythonPackage rec {
pname = "cachecontrol";
version = "0.14.3";
version = "0.14.4";
pyproject = true;
__darwinAllowLocalNetworking = true;
@@ -23,10 +22,10 @@ buildPythonPackage rec {
owner = "ionrock";
repo = "cachecontrol";
tag = "v${version}";
hash = "sha256-V8RWTDxhKCvf5bz2j6anp8bkCzkicTRY+Kd6eHu1peg=";
hash = "sha256-627SqJocVOO0AfI8vswPqOr15MA/Lx7RLAdRAXzWu84=";
};
build-system = [ flit-core ];
build-system = [ uv-build ];
dependencies = [
msgpack
@@ -40,9 +39,7 @@ buildPythonPackage rec {
nativeCheckInputs = [
cherrypy
mock
pytestCheckHook
requests
]
++ lib.flatten (builtins.attrValues optional-dependencies);
@@ -0,0 +1,168 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
hatch-vcs,
hatchling,
# dependencies
jinja2,
openai,
orjson,
pydantic,
requests,
rich,
# tests
anthropic,
google-genai,
htmltools,
matplotlib,
pillow,
pytest-asyncio,
pytest-snapshot,
pytestCheckHook,
tenacity,
}:
buildPythonPackage rec {
pname = "chatlas";
version = "0.13.2";
pyproject = true;
src = fetchFromGitHub {
owner = "posit-dev";
repo = "chatlas";
tag = "v${version}";
hash = "sha256-uCgpNvDJZKwxX4HYF8tyvJ1AiQLmybuxrZkYK/u5xlg=";
};
build-system = [
hatch-vcs
hatchling
];
dependencies = [
jinja2
openai
orjson
pydantic
requests
rich
];
pythonImportsCheck = [ "chatlas" ];
nativeCheckInputs = [
anthropic
google-genai
htmltools
matplotlib
pillow
pytest-asyncio
pytest-snapshot
pytestCheckHook
tenacity
];
disabledTestPaths = [
# Require an Openai API key and/or internet access
"tests/test_batch_chat.py"
"tests/test_content.py"
"tests/test_provider_anthropic.py"
"tests/test_provider_azure.py"
"tests/test_provider_databricks.py"
"tests/test_provider_google.py"
"tests/test_provider_openai.py"
"tests/test_provider_snowflake.py"
"tests/test_register_tool_models.py"
];
disabledTests = [
# Require an Openai API key
"test_async_tool_yielding_multiple_results"
"test_basic_export"
"test_basic_repr"
"test_basic_str"
"test_chat_callbacks"
"test_chat_structured"
"test_chat_structured_async"
"test_chat_tool_request_reject"
"test_chat_tool_request_reject2"
"test_compute_cost"
"test_content_tool_request_serializable"
"test_cross_provider_compatibility"
"test_deepcopy_chat"
"test_get_token_prices"
"test_get_tools_after_registration"
"test_get_tools_empty"
"test_google_provider_model_params"
"test_google_provider_parameter_mapping"
"test_invoke_tool_returns_tool_result"
"test_json_serialize"
"test_last_turn_retrieval"
"test_model_params_integration_with_provider"
"test_model_params_kwargs_priority"
"test_model_params_preserved_across_calls"
"test_modify_system_prompt"
"test_old_style_tool_invocation_still_works"
"test_parameter_validation_edge_cases"
"test_provider_parameter_differences"
"test_register_tool"
"test_register_tool_duplicate_name_error"
"test_register_tool_force_overwrite"
"test_register_tool_instance_basic"
"test_register_tool_instance_force_overwrite"
"test_register_tool_instance_with_custom_name"
"test_register_tool_instance_with_model_override"
"test_register_tool_with_complex_parameters"
"test_register_tool_with_custom_name"
"test_register_tool_with_same_name_different_function"
"test_set_model_params_all_parameters"
"test_set_model_params_basic"
"test_set_model_params_empty_call"
"test_set_model_params_incremental_updates"
"test_set_model_params_invalid_temperature"
"test_set_model_params_invalid_top_p"
"test_set_model_params_kwargs"
"test_set_model_params_kwargs_replacement"
"test_set_model_params_missing_values"
"test_set_model_params_multiple_unsupported"
"test_set_model_params_none_reset"
"test_set_model_params_reset_specific_param"
"test_set_model_params_type_validation"
"test_set_model_params_unsupported_parameter"
"test_set_model_params_updates_existing"
"test_set_model_params_with_stop_sequences"
"test_set_tools_mixed"
"test_set_tools_replaces_existing"
"test_set_tools_with_functions"
"test_set_tools_with_tool_objects"
"test_simple_async_batch_chat"
"test_simple_batch_chat"
"test_simple_streaming_chat"
"test_simple_streaming_chat_async"
"test_supported_model_params_openai"
"test_system_prompt_retrieval"
"test_token_count_method"
"test_tokens_method"
"test_tool_custom_result"
"test_tool_yielding_content_tool_results"
"test_tool_yielding_multiple_results"
"test_tool_yielding_single_result_still_works"
"test_tool_yielding_with_error"
"test_translate_model_params_openai"
"test_unknown_tool_error_format_updated"
];
meta = {
description = "Friendly guide to building LLM chat apps in Python with less effort and more clarity";
homepage = "https://posit-dev.github.io/chatlas";
downloadPage = "https://github.com/posit-dev/chatlas";
changelog = "https://github.com/posit-dev/chatlas/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
@@ -39,12 +39,12 @@
buildPythonPackage rec {
pname = "coiled";
version = "1.129.1";
version = "1.129.2";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-aPAcYgui6AfM9bjaNsHTtKUNEG+3RZ/p9rHNEWw+MRc=";
hash = "sha256-lzjJfIQbEZjrjf4GClkgaW+r4yl34uvCudgt7DK4Y8w=";
};
build-system = [
@@ -3,31 +3,31 @@
buildPythonPackage,
fetchPypi,
pytestCheckHook,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "jsonpath";
version = "0.82.2";
format = "setuptools";
disabled = pythonOlder "3.7";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-2H7yvLze1o7pa8NMGAm2lFfs7JsMTdRxZYoSvTkQAtE=";
};
build-system = [ setuptools ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "jsonpath" ];
enabledTestPaths = [ "test/test*.py" ];
meta = with lib; {
meta = {
description = "XPath for JSON";
homepage = "https://github.com/json-path/JsonPath";
license = licenses.mit;
maintainers = with maintainers; [ mic92 ];
homepage = "https://www.ultimate.com/phil/python/#jsonpath";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ mic92 ];
};
}
@@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "libcst";
version = "1.8.5";
version = "1.8.6";
pyproject = true;
src = fetchFromGitHub {
owner = "Instagram";
repo = "LibCST";
tag = "v${version}";
hash = "sha256-4FFkxy8UrLOXuZwvGvGQNZGtY27yLtiTWAzTbxLm3Eo=";
hash = "sha256-AJm3grS+I/NXZ8ame4rmHPOxRHGO0Ofo35RtSDO2tyI=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
@@ -39,7 +39,7 @@ buildPythonPackage rec {
src
cargoRoot
;
hash = "sha256-eFdcyqzH7meF4kIVT2qhbKVxEB6KtZVEONMgYw4sBew=";
hash = "sha256-7/Yf2yn7wjW0CDG1Ha3SsvOIytbU1bJCpR9WFAFiPEA=";
};
cargoRoot = "native";
@@ -77,6 +77,8 @@ buildPythonPackage rec {
"TypeInferenceProviderTest"
# we'd need to run `python -m libcst.codegen.generate all` but shouldn't modify $out
"test_codegen_clean_visitor_functions"
"test_codegen_clean_matcher_classes"
"test_codegen_clean_return_types"
];
# circular dependency on hypothesmith and ufmt
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "pyezvizapi";
version = "1.0.4.3";
version = "1.0.4.4";
pyproject = true;
src = fetchFromGitHub {
owner = "RenierM26";
repo = "pyEzvizApi";
tag = version;
hash = "sha256-uvEDaA7UFIugh0PiNhMid+hV1vqVjuY5VtqB9zBQ/9Q=";
hash = "sha256-ReGGyB7qxiBK5zNQJP2oCzTF3IeQDu1ljM5IF7vZcXk=";
};
build-system = [ setuptools ];
@@ -47,14 +47,14 @@
buildPythonPackage rec {
pname = "pymobiledevice3";
version = "5.1.2";
version = "5.1.4";
pyproject = true;
src = fetchFromGitHub {
owner = "doronz88";
repo = "pymobiledevice3";
tag = "v${version}";
hash = "sha256-HKkLkkPCu9d7iBy7FEPWR6cnNuYFgxSGN6beMCCiuyo=";
hash = "sha256-O7GGOYdwzArjVWkURQvNXHDcRRGaph7cUyytcuZ1WgM=";
};
build-system = [
@@ -26,20 +26,16 @@
}:
buildPythonPackage rec {
pname = "pytask";
version = "0.5.5";
version = "0.5.6";
pyproject = true;
src = fetchFromGitHub {
owner = "pytask-dev";
repo = "pytask";
tag = "v${version}";
hash = "sha256-0e1pJzoszTW8n+uFJlEeYstvHf4v+I2Is7oEHJ1qV7o=";
hash = "sha256-mWjuXfH0u3MCG9RpmDin0buXyLPofXgEllzF5M8y6Jo=";
};
patches = [
./dont-use-uv-in-tests.patch
];
build-system = [
hatchling
hatch-vcs
@@ -1,155 +0,0 @@
diff --git a/tests/test_capture.py b/tests/test_capture.py
index ba37be8..8f70c9e 100644
--- a/tests/test_capture.py
+++ b/tests/test_capture.py
@@ -87,7 +87,7 @@ def test_show_capture_with_build(tmp_path, show_capture):
"""
tmp_path.joinpath("workflow.py").write_text(textwrap.dedent(source))
- result = run_in_subprocess(("uv", "run", "python", "workflow.py"), cwd=tmp_path)
+ result = run_in_subprocess(("python", "workflow.py"), cwd=tmp_path)
assert result.exit_code == ExitCode.FAILED
@@ -128,7 +128,7 @@ def test_wrong_capture_method(tmp_path):
"""
tmp_path.joinpath("workflow.py").write_text(textwrap.dedent(source))
- result = run_in_subprocess(("uv", "run", "python", "workflow.py"), cwd=tmp_path)
+ result = run_in_subprocess(("python", "workflow.py"), cwd=tmp_path)
assert result.exit_code == ExitCode.CONFIGURATION_FAILED
assert "Value 'a' is not a valid" in result.stdout
assert "Traceback" not in result.stdout
@@ -255,7 +255,7 @@ def test_capturing_unicode_with_build(tmp_path, method):
tmp_path.joinpath("workflow.py").write_text(
textwrap.dedent(source), encoding="utf-8"
)
- result = run_in_subprocess(("uv", "run", "python", "workflow.py"), cwd=tmp_path)
+ result = run_in_subprocess(("python", "workflow.py"), cwd=tmp_path)
assert result.exit_code == ExitCode.OK
assert "1 Succeeded" in result.stdout
diff --git a/tests/test_config.py b/tests/test_config.py
index c46f5ed..eaa0934 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -114,7 +114,7 @@ def test_paths_are_relative_to_configuration_file(tmp_path):
session = build(paths=[Path("src")])
"""
tmp_path.joinpath("script.py").write_text(textwrap.dedent(source))
- result = run_in_subprocess(("uv", "run", "python", "script.py"), cwd=tmp_path)
+ result = run_in_subprocess(("python", "script.py"), cwd=tmp_path)
assert result.exit_code == ExitCode.OK
assert "1 Succeeded" in result.stdout
diff --git a/tests/test_dag_command.py b/tests/test_dag_command.py
index 3ca41ba..7c0c4fc 100644
--- a/tests/test_dag_command.py
+++ b/tests/test_dag_command.py
@@ -92,7 +92,7 @@ def test_create_graph_via_task(tmp_path, format_, layout, rankdir):
tmp_path.joinpath("input.txt").touch()
result = subprocess.run(
- ("uv", "run", "python", "task_example.py"),
+ ("python", "task_example.py"),
cwd=tmp_path,
check=True,
capture_output=True,
diff --git a/tests/test_execute.py b/tests/test_execute.py
index 1a23316..6532b48 100644
--- a/tests/test_execute.py
+++ b/tests/test_execute.py
@@ -26,7 +26,7 @@ from tests.conftest import run_in_subprocess
def test_python_m_pytask(tmp_path):
tmp_path.joinpath("task_module.py").write_text("def task_example(): pass")
result = run_in_subprocess(
- ("uv", "run", "python", "-m", "pytask", tmp_path.as_posix())
+ ("python", "-m", "pytask", tmp_path.as_posix())
)
assert result.exit_code == ExitCode.OK
@@ -602,7 +602,7 @@ def test_execute_tasks_via_functional_api(tmp_path):
"""
tmp_path.joinpath("task_module.py").write_text(textwrap.dedent(source))
result = subprocess.run(
- ("uv", "run", "python", tmp_path.joinpath("task_module.py").as_posix()),
+ ("python", tmp_path.joinpath("task_module.py").as_posix()),
check=False,
)
assert result.returncode == ExitCode.OK
@@ -632,7 +632,7 @@ def test_execute_tasks_multiple_times_via_api(tmp_path):
"""
tmp_path.joinpath("task_module.py").write_text(textwrap.dedent(source))
result = run_in_subprocess(
- ("uv", "run", "python", tmp_path.joinpath("task_module.py").as_posix())
+ ("python", tmp_path.joinpath("task_module.py").as_posix())
)
assert result.exit_code == ExitCode.OK
diff --git a/tests/test_hook_module.py b/tests/test_hook_module.py
index eba4868..e26288a 100644
--- a/tests/test_hook_module.py
+++ b/tests/test_hook_module.py
@@ -25,8 +25,6 @@ def test_add_new_hook_via_cli(tmp_path, module_name):
if module_name:
args = (
- "uv",
- "run",
"python",
"-m",
"pytask",
@@ -37,8 +35,6 @@ def test_add_new_hook_via_cli(tmp_path, module_name):
)
else:
args = (
- "uv",
- "run",
"pytask",
"build",
"--hook-module",
@@ -70,9 +66,6 @@ def test_add_new_hook_via_config(tmp_path, module_name):
if module_name:
args = (
- "uv",
- "run",
- "--no-project",
"python",
"-m",
"pytask",
@@ -80,7 +73,7 @@ def test_add_new_hook_via_config(tmp_path, module_name):
"--help",
)
else:
- args = ("uv", "run", "--no-project", "pytask", "build", "--help")
+ args = ("pytask", "build", "--help")
result = run_in_subprocess(args, cwd=tmp_path)
assert result.exit_code == ExitCode.OK
diff --git a/tests/test_task.py b/tests/test_task.py
index a2f70ad..510619e 100644
--- a/tests/test_task.py
+++ b/tests/test_task.py
@@ -667,7 +667,7 @@ def test_task_will_be_executed_after_another_one_with_function_session(
tmp_path.joinpath("task_example.py").write_text(textwrap.dedent(source))
result = subprocess.run(
- ("uv", "run", "python", "task_example.py"),
+ ("python", "task_example.py"),
cwd=tmp_path,
capture_output=True,
check=False,
diff --git a/tests/test_warnings.py b/tests/test_warnings.py
index 8811018..5aae724 100644
--- a/tests/test_warnings.py
+++ b/tests/test_warnings.py
@@ -148,7 +148,7 @@ def test_deprecation_warnings_are_not_captured(tmp_path, warning):
path_to_warn_module.write_text(textwrap.dedent(warn_module))
# Cannot use runner since then warnings are not ignored by default.
- result = run_in_subprocess(("uv", "run", "pytask"), cwd=tmp_path)
+ result = run_in_subprocess(("pytask"), cwd=tmp_path)
assert result.exit_code == ExitCode.OK
assert "Warnings" not in result.stdout
assert "warning!!!" not in result.stdout
@@ -2,7 +2,6 @@
lib,
buildPythonPackage,
fetchPypi,
attrs,
hypothesis,
pytest,
pytest-arraydiff,
@@ -14,7 +13,6 @@
pytest-remotedata,
setuptools,
setuptools-scm,
pythonOlder,
}:
buildPythonPackage rec {
@@ -22,22 +20,19 @@ buildPythonPackage rec {
version = "0.11.0";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-Tq6qme2RFj7Y+arBMscKgfJbxMEvPNVNujKfwmxnObU=";
};
nativeBuildInputs = [
build-system = [
setuptools
setuptools-scm
];
buildInputs = [ pytest ];
propagatedBuildInputs = [
attrs
dependencies = [
hypothesis
pytest-arraydiff
pytest-astropy-header
@@ -51,10 +46,11 @@ buildPythonPackage rec {
# pytest-astropy is a meta package that only propagates requirements
doCheck = false;
meta = with lib; {
meta = {
changelog = "https://github.com/astropy/pytest-astropy/releases/tag/v${version}";
description = "Meta-package containing dependencies for testing";
homepage = "https://astropy.org";
license = licenses.bsd3;
homepage = "https://github.com/astropy/pytest-astropy";
license = lib.licenses.bsd3;
maintainers = [ ];
};
}
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "python-xapp";
version = "2.4.2";
version = "3.0.0";
format = "other";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "linuxmint";
repo = "python-xapp";
rev = version;
hash = "sha256-Gbm4YT9ZyrROOAbKz5xYd9J9YG9cUL2Oo6dDCPciaBs=";
hash = "sha256-OvYbMu/2cQLTHHbHh4zESf1X22AfZe8ZEfzeOBDcU90=";
};
nativeBuildInputs = [
@@ -43,6 +43,10 @@ buildPythonPackage rec {
postPatch = ''
substituteInPlace "xapp/os.py" \
--replace-fail "/usr/bin/pkexec" "${polkit}/bin/pkexec"
# We actually want the localedir provided by the caller.
substituteInPlace "xapp/util/__init__.py" \
--replace-fail "/usr/share/locale" "/run/current-system/sw/share/locale"
'';
doCheck = false;
@@ -8,7 +8,6 @@
setuptools-scm,
# dependencies
appdirs,
asgiref,
click,
htmltools,
@@ -19,9 +18,11 @@
narwhals,
orjson,
packaging,
platformdirs,
prompt-toolkit,
python-multipart,
questionary,
shinychat,
starlette,
typing-extensions,
uvicorn,
@@ -47,14 +48,14 @@
buildPythonPackage rec {
pname = "shiny";
version = "1.4.0";
version = "1.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "posit-dev";
repo = "py-shiny";
tag = "v${version}";
hash = "sha256-SsMZ+aiGFtP6roTiuBZWnHqPso3ZiWLgBToaTLiC2ko=";
hash = "sha256-zRKfSY0rE+jzwYUcrRTIFW3OVmavhMDbAQEpry46zCI=";
};
build-system = [
@@ -63,7 +64,6 @@ buildPythonPackage rec {
];
dependencies = [
appdirs
asgiref
click
htmltools
@@ -73,10 +73,12 @@ buildPythonPackage rec {
narwhals
orjson
packaging
platformdirs
prompt-toolkit
python-multipart
questionary
setuptools
shinychat
starlette
typing-extensions
uvicorn
@@ -110,6 +112,14 @@ buildPythonPackage rec {
]
++ lib.flatten (lib.attrValues optional-dependencies);
pytestFlags = [
# ERROR: 'fixture' is not a valid asyncio_default_fixture_loop_scope.
# Valid scopes are: function, class, module, package, session.
# https://github.com/pytest-dev/pytest-asyncio/issues/924
"-o asyncio_mode=auto"
"-o asyncio_default_fixture_loop_scope=function"
];
env.SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
disabledTests = [
@@ -0,0 +1,129 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
hatch-vcs,
hatchling,
# dependencies
htmltools,
# optional-dependencies
anthropic,
chatlas,
google-generativeai,
langchain-core,
ollama,
openai,
pydantic,
tokenizers,
# tests
pillow,
playwright,
pytest-playwright,
pytestCheckHook,
shiny,
shinychat,
}:
buildPythonPackage rec {
pname = "shinychat";
version = "0.2.8";
pyproject = true;
src = fetchFromGitHub {
owner = "posit-dev";
repo = "shinychat";
tag = "py/v${version}";
hash = "sha256-thdLaZ+rnD8yumxhjXOLhufcSBD0oNKOWSxxDdJ9tNU=";
};
build-system = [
hatch-vcs
hatchling
];
pythonRemoveDeps = [
"shiny" # circular dependency
];
dependencies = [
htmltools
];
optional-dependencies = {
providers = [
anthropic
chatlas
google-generativeai
langchain-core
ollama
openai
pydantic
tokenizers
];
};
pythonImportsCheck = [
# ImportError: cannot import name 'Chat' from partially initialized module 'shinychat' (most likely due to a circular import)
# "shinychat"
];
nativeCheckInputs = [
pillow
playwright
pytest-playwright
pytestCheckHook
shiny
]
++ lib.flatten (lib.attrValues optional-dependencies);
disabledTests = [
# AssertionError: assert False
"test_as_langchain_message"
# AssertionError: assert 'AIMessage' == 'BaseMessage'
"test_langchain_normalization"
# RuntimeError: Failed to download a default tokenizer
"test_chat_message_trimming"
# Require running a headless chromium browser
"test_latest_stream_result"
"test_validate_chat"
"test_validate_chat_append_user_message"
"test_validate_chat_append_user_message"
"test_validate_chat_basic"
"test_validate_chat_basic"
"test_validate_chat_basic"
"test_validate_chat_basic_error"
"test_validate_chat_input_suggestion"
"test_validate_chat_message_stream_context"
"test_validate_chat_shiny_output"
"test_validate_chat_shiny_output"
"test_validate_chat_stream_result"
"test_validate_chat_transform"
"test_validate_chat_transform_assistant"
"test_validate_chat_transform_assistant"
"test_validate_chat_update_user_input"
"test_validate_stream_basic"
"test_validate_stream_shiny_ui"
];
# Circular dependency with shiny
doCheck = false;
passthru.tests.pytest = shinychat.overridePythonAttrs {
doCheck = true;
};
meta = {
description = "Chat UI component for Shiny";
homepage = "https://posit-dev.github.io/shinychat";
downloadPage = "https://github.com/posit-dev/shinychat";
changelog = "https://github.com/posit-dev/shinychat/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "thermopro-ble";
version = "1.1.0";
version = "1.1.2";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "bluetooth-devices";
repo = "thermopro-ble";
tag = "v${version}";
hash = "sha256-m4koagyGOOuwFCctQK1oz5riwCbrC0I8js+bnrHxwMY=";
hash = "sha256-xn6scfK2nz2AU4DkUOVj3drku0hOzZSgeBiBudnH2bU=";
};
build-system = [ poetry-core ];
@@ -45,7 +45,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Library for Thermopro BLE devices";
homepage = "https://github.com/bluetooth-devices/thermopro-ble";
changelog = "https://github.com/Bluetooth-Devices/thermopro-ble/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/Bluetooth-Devices/thermopro-ble/releases/tag/${src.tag}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
@@ -0,0 +1,32 @@
{
lib,
buildPythonPackage,
fetchPypi,
setuptools,
}:
buildPythonPackage rec {
pname = "uncompresspy";
version = "0.4.1";
pyproject = true;
# no tags on GitHub
src = fetchPypi {
inherit pname version;
hash = "sha256-556tZurtjUI2TYB8C6PzqK7w4Ah6m+rxpg8jqAimwUc=";
};
build-system = [ setuptools ];
pythonImportsCheck = [ "uncompresspy" ];
# upstream has no tests
doCheck = false;
meta = {
description = "Pure Python package for uncompressing LZW files (.Z), such as the ones created by Unix's shell tool compress";
homepage = "https://github.com/kYwzor/uncompresspy";
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.dotlambda ];
};
}
@@ -7,13 +7,13 @@
buildHomeAssistantComponent rec {
owner = "xZetsubou";
domain = "localtuya";
version = "2025.10.0";
version = "2025.11.0";
src = fetchFromGitHub {
owner = "xZetsubou";
repo = "hass-localtuya";
tag = version;
hash = "sha256-PjxDPZK/T4meafMFX3WFoA5ur0NPJsbPOxaOuL0+NWg=";
hash = "sha256-TISiZchkLZ3AaNh622nolIyBjDgdJBQrc30oBHN/INE=";
};
meta = with lib; {
+6
View File
@@ -2569,6 +2569,8 @@ self: super: with self; {
chat-downloader = callPackage ../development/python-modules/chat-downloader { };
chatlas = callPackage ../development/python-modules/chatlas { };
check-manifest = callPackage ../development/python-modules/check-manifest { };
checkdmarc = callPackage ../development/python-modules/checkdmarc { };
@@ -16929,6 +16931,8 @@ self: super: with self; {
shiny = callPackage ../development/python-modules/shiny { };
shinychat = callPackage ../development/python-modules/shinychat { };
shippinglabel = callPackage ../development/python-modules/shippinglabel { };
shiv = callPackage ../development/python-modules/shiv { };
@@ -19699,6 +19703,8 @@ self: super: with self; {
uncertainties = callPackage ../development/python-modules/uncertainties { };
uncompresspy = callPackage ../development/python-modules/uncompresspy { };
uncompyle6 = callPackage ../development/python-modules/uncompyle6 { };
undefined = callPackage ../development/python-modules/undefined { };