Merge staging-next into staging
This commit is contained in:
@@ -1067,11 +1067,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"ovh_ovh": {
|
||||
"hash": "sha256-xjSGnukY76k6xalVMBfXikuI2MyXvROVoA91wB8AXnI=",
|
||||
"hash": "sha256-rNJ6ibD8VbvUopKYc6Ao6I7lJqTw6gw8A71YzW8OYJE=",
|
||||
"homepage": "https://registry.terraform.io/providers/ovh/ovh",
|
||||
"owner": "ovh",
|
||||
"repo": "terraform-provider-ovh",
|
||||
"rev": "v2.13.1",
|
||||
"rev": "v2.14.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "allure";
|
||||
version = "2.42.1";
|
||||
version = "2.43.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/allure-framework/allure2/releases/download/${finalAttrs.version}/allure-${finalAttrs.version}.tgz";
|
||||
hash = "sha256-+Pc79LvSz1uO7lHSdIeu9VydLyZQ2xEaUvqBCIZrqGw=";
|
||||
hash = "sha256-Hrp4vTrtdPNSRpMVCdQKBg9v8He6VyhHiThGiPMQdsg=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitLab,
|
||||
fetchFromGitHub,
|
||||
systemd,
|
||||
coreutils,
|
||||
gnugrep,
|
||||
@@ -20,8 +20,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "asusctl";
|
||||
version = "6.3.8";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "asus-linux";
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenGamingCollective";
|
||||
repo = "asusctl";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-DXpuKZmjYKiQp8ULH39EYtY75muZ77YzwYmE/yF1wEY=";
|
||||
@@ -103,7 +103,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
description = "Control daemon, CLI tools, and a collection of crates for interacting with ASUS ROG laptops";
|
||||
homepage = "https://gitlab.com/asus-linux/asusctl";
|
||||
homepage = "https://github.com/OpenGamingCollective/asusctl";
|
||||
license = lib.licenses.mpl20;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with lib.maintainers; [
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "cc-switch";
|
||||
version = "3.16.1";
|
||||
version = "3.16.3";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
owner = "farion1231";
|
||||
repo = "cc-switch";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-9X7/5/6YPDGr31ZUwx+ZzujFCRiTlKN8Y/qOTtj7OyE=";
|
||||
hash = "sha256-jj7FHJtXn127hqpjCe6buxvJNCtWxRe5HZPY8NRcglM=";
|
||||
};
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
@@ -57,7 +57,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
cargoRoot = "src-tauri";
|
||||
buildAndTestSubdir = finalAttrs.cargoRoot;
|
||||
|
||||
cargoHash = "sha256-Uy85VwcPv3NVxGDe4ojfArHg5kgOe4cjrHdmgnD/eiM=";
|
||||
cargoHash = "sha256-PfTkrD3ts/OugZ5qM82tTfWwSOcSddgDYzQhr6wLvOg=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
jq
|
||||
|
||||
@@ -7,18 +7,18 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "dolt";
|
||||
version = "2.1.4";
|
||||
version = "2.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dolthub";
|
||||
repo = "dolt";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-0AyKwejOvTMgt53B22D0EIWuAwB/6QxxTHd0S77Fu1M=";
|
||||
hash = "sha256-ZMK0XiVaSZObr23mQ3OKA5t8wDV8l8SN2Rhh3VjJo1w=";
|
||||
};
|
||||
|
||||
modRoot = "./go";
|
||||
subPackages = [ "cmd/dolt" ];
|
||||
vendorHash = "sha256-tKkXZdbNFxyVK76aNkNDM3/s3e6J7aqLvAnA+jQBSNg=";
|
||||
vendorHash = "sha256-l0SHq3WTajqGTE5sV6RgLgVLS+i7AhAxfJkJmAvv2ok=";
|
||||
proxyVendor = true;
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "ec";
|
||||
version = "0.3.2";
|
||||
version = "0.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chojs23";
|
||||
repo = "ec";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Oltl23Ihv2p1sTW62nGUt+oH6E2DB38fIuNiXRaghBU=";
|
||||
hash = "sha256-ZG4y5GS/33hHhM1OwgcwF13CfzjxT93cGUfkB8j09cY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-bV5y8zKculYULkFl9J95qebLOzdTT/LuYycqMmHKZ+g=";
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
apple-sdk_15,
|
||||
chafa,
|
||||
cmake,
|
||||
dbus,
|
||||
dconf,
|
||||
ddcutil,
|
||||
enlightenment,
|
||||
glib,
|
||||
hwdata,
|
||||
imagemagick,
|
||||
libdrm,
|
||||
libelf,
|
||||
libglvnd,
|
||||
libpulseaudio,
|
||||
libselinux,
|
||||
libsepol,
|
||||
libsysprof-capture,
|
||||
libva,
|
||||
libvdpau,
|
||||
libxau,
|
||||
libxcb,
|
||||
libxdmcp,
|
||||
libxext,
|
||||
libxrandr,
|
||||
moltenvk,
|
||||
nix-update-script,
|
||||
ocl-icd,
|
||||
opencl-headers,
|
||||
pcre2,
|
||||
pkg-config,
|
||||
python3,
|
||||
rpm,
|
||||
sqlite,
|
||||
util-linux,
|
||||
versionCheckHook,
|
||||
vulkan-loader,
|
||||
wayland,
|
||||
xfconf,
|
||||
yyjson,
|
||||
zfs,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fastfetch-unwrapped";
|
||||
version = "2.64.2";
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fastfetch-cli";
|
||||
repo = "fastfetch";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-isSVcmtNglHy7+F3yemGyY8Jnsy3h5mjOnl159CyJ2Q=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
chafa
|
||||
imagemagick
|
||||
sqlite
|
||||
yyjson
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
dbus
|
||||
dconf
|
||||
ddcutil
|
||||
enlightenment.efl
|
||||
glib
|
||||
libdrm
|
||||
libelf
|
||||
libglvnd
|
||||
libpulseaudio
|
||||
libselinux
|
||||
libsepol
|
||||
libsysprof-capture
|
||||
libva
|
||||
libvdpau
|
||||
libxau
|
||||
libxcb
|
||||
libxdmcp
|
||||
libxext
|
||||
libxrandr
|
||||
ocl-icd
|
||||
opencl-headers
|
||||
pcre2
|
||||
rpm
|
||||
util-linux
|
||||
vulkan-loader
|
||||
wayland
|
||||
xfconf
|
||||
zfs
|
||||
zlib
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_15
|
||||
moltenvk
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeOptionType "filepath" "CMAKE_INSTALL_SYSCONFDIR" "${placeholder "out"}/etc")
|
||||
(lib.cmakeBool "ENABLE_DIRECTX_HEADERS" false)
|
||||
(lib.cmakeBool "ENABLE_SYSTEM_YYJSON" true)
|
||||
|
||||
# Upstream defaults optional feature support to on when the platform allows it.
|
||||
(lib.cmakeBool "ENABLE_IMAGEMAGICK6" false)
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
# Embed these databases instead of referring to hwdata and libdrm at runtime.
|
||||
(lib.cmakeBool "ENABLE_EMBEDDED_PCIIDS" true)
|
||||
(lib.cmakeBool "ENABLE_EMBEDDED_AMDGPUIDS" true)
|
||||
];
|
||||
|
||||
# Upstream completions run Python when shells expand options from
|
||||
# `fastfetch --help-raw`. Keep this runtime dependency explicit until
|
||||
# upstream generates static completions at build time.
|
||||
postPatch = ''
|
||||
substituteInPlace completions/fastfetch.{bash,fish,zsh} --replace-fail python3 '${python3.interpreter}'
|
||||
'';
|
||||
|
||||
preConfigure = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
buildDir="''${cmakeBuildDir:-build}"
|
||||
mkdir -p "$buildDir"
|
||||
cp ${hwdata}/share/hwdata/pci.ids "$buildDir/pci.ids"
|
||||
cp ${libdrm}/share/libdrm/amdgpu.ids "$buildDir/amdgpu.ids"
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Actively maintained, feature-rich and performance oriented, neofetch like system information tool";
|
||||
homepage = "https://github.com/fastfetch-cli/fastfetch";
|
||||
changelog = "https://github.com/fastfetch-cli/fastfetch/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
defelo
|
||||
khaneliman
|
||||
luftmensch-luftmensch
|
||||
];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "fastfetch";
|
||||
longDescription = ''
|
||||
Fast and highly customizable system info script.
|
||||
|
||||
This unwrapped build compiles optional feature support but does not wrap
|
||||
runtime libraries into its closure.
|
||||
'';
|
||||
};
|
||||
})
|
||||
@@ -1,53 +1,36 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
runCommand,
|
||||
apple-sdk_15,
|
||||
chafa,
|
||||
cmake,
|
||||
dbus,
|
||||
dconf,
|
||||
ddcutil,
|
||||
enlightenment,
|
||||
glib,
|
||||
hwdata,
|
||||
imagemagick,
|
||||
libxrandr,
|
||||
libdrm,
|
||||
libelf,
|
||||
libglvnd,
|
||||
libpulseaudio,
|
||||
libselinux,
|
||||
libsepol,
|
||||
libsysprof-capture,
|
||||
libxcb,
|
||||
libva,
|
||||
libvdpau,
|
||||
libxcb,
|
||||
libxrandr,
|
||||
makeBinaryWrapper,
|
||||
moltenvk,
|
||||
nix-update-script,
|
||||
ocl-icd,
|
||||
opencl-headers,
|
||||
pcre2,
|
||||
pkg-config,
|
||||
python3,
|
||||
rpm,
|
||||
sqlite,
|
||||
util-linux,
|
||||
versionCheckHook,
|
||||
vulkan-loader,
|
||||
wayland,
|
||||
xfconf,
|
||||
libxext,
|
||||
libxdmcp,
|
||||
libxau,
|
||||
yyjson,
|
||||
zlib,
|
||||
zfs,
|
||||
zlib,
|
||||
fastfetch-unwrapped,
|
||||
|
||||
fastfetch,
|
||||
|
||||
# Feature flags
|
||||
# Runtime dependency selectors. fastfetch-unwrapped is always built with support enabled.
|
||||
audioSupport ? true,
|
||||
brightnessSupport ? true,
|
||||
codecSupport ? true,
|
||||
@@ -67,280 +50,168 @@
|
||||
x11Support ? true,
|
||||
xfceSupport ? true,
|
||||
zfsSupport ? false,
|
||||
|
||||
runtimeDependencies ? null,
|
||||
extraRuntimeDependencies ? [ ],
|
||||
runtimePrograms ? [ ],
|
||||
extraRuntimePrograms ? [ ],
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fastfetch";
|
||||
version = "2.64.2";
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
let
|
||||
unwrapped = fastfetch-unwrapped;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fastfetch-cli";
|
||||
repo = "fastfetch";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-isSVcmtNglHy7+F3yemGyY8Jnsy3h5mjOnl159CyJ2Q=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
makeBinaryWrapper
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
let
|
||||
commonDeps = [ yyjson ];
|
||||
|
||||
# Cross-platform optional dependencies
|
||||
imageDeps = lib.optionals imageSupport [
|
||||
# Image output as ascii art.
|
||||
chafa
|
||||
# Images in terminal using sixel or kitty graphics protocol
|
||||
imagemagick
|
||||
];
|
||||
|
||||
sqliteDeps = lib.optionals sqliteSupport [
|
||||
# linux - Needed for pkg & rpm package count.
|
||||
# darwin - Used for fast wallpaper detection before macOS Sonoma
|
||||
sqlite
|
||||
];
|
||||
|
||||
linuxCoreDeps = lib.optionals stdenv.hostPlatform.isLinux (
|
||||
[ hwdata ]
|
||||
# Fallback if both `wayland` and `x11` are not available. AMD GPU properties detection
|
||||
++ lib.optional (!x11Support && !waylandSupport) libdrm
|
||||
);
|
||||
|
||||
linuxFeatureDeps = lib.optionals stdenv.hostPlatform.isLinux (
|
||||
lib.optionals audioSupport [
|
||||
# Sound device detection
|
||||
libpulseaudio
|
||||
]
|
||||
++ lib.optionals brightnessSupport [
|
||||
# Brightness detection of external displays
|
||||
ddcutil
|
||||
]
|
||||
++ lib.optionals codecSupport [
|
||||
# Hardware-accelerated video codec detection
|
||||
libva
|
||||
libvdpau
|
||||
]
|
||||
++ lib.optionals dbusSupport [
|
||||
# Bluetooth, wifi, player & media detection
|
||||
dbus
|
||||
]
|
||||
++ lib.optionals enlightenmentSupport [
|
||||
# Eet support for reading Enlightenment window manager configuration.
|
||||
enlightenment.efl
|
||||
]
|
||||
++ lib.optionals gnomeSupport [
|
||||
# Needed for values that are only stored in DConf + Fallback for GSettings.
|
||||
dconf
|
||||
glib
|
||||
# Required by glib messages
|
||||
libsysprof-capture
|
||||
pcre2
|
||||
# Required by gio messages
|
||||
libselinux
|
||||
util-linux
|
||||
# Required by selinux
|
||||
libsepol
|
||||
]
|
||||
++ lib.optionals imageSupport [
|
||||
# Faster image output when using kitty graphics protocol.
|
||||
zlib
|
||||
]
|
||||
++ lib.optionals openclSupport [
|
||||
# OpenCL module
|
||||
ocl-icd
|
||||
opencl-headers
|
||||
]
|
||||
++ lib.optionals openglSupport [
|
||||
# OpenGL module
|
||||
libglvnd
|
||||
]
|
||||
++ lib.optionals rpmSupport [
|
||||
# Slower fallback for rpm package count. Needed on openSUSE.
|
||||
rpm
|
||||
]
|
||||
++ lib.optionals terminalSupport [
|
||||
# Needed for st terminal font detection.
|
||||
libelf
|
||||
]
|
||||
++ lib.optionals vulkanSupport [
|
||||
# Vulkan module & fallback for GPU output
|
||||
vulkan-loader
|
||||
]
|
||||
++ lib.optionals waylandSupport [
|
||||
# Better display performance and output in wayland sessions. Supports different refresh rates per monitor.
|
||||
wayland
|
||||
]
|
||||
++ lib.optionals x11Support [
|
||||
# At least one of them sould be present in X11 sessions for better display detection and faster WM detection.
|
||||
# The *randr ones provide multi monitor support The libxcb* ones usually have better performance.
|
||||
libxrandr
|
||||
libxcb
|
||||
# Required by libxcb messages
|
||||
libxau
|
||||
libxdmcp
|
||||
libxext
|
||||
]
|
||||
++ lib.optionals xfceSupport [
|
||||
# Needed for XFWM theme and XFCE Terminal font.
|
||||
xfconf
|
||||
]
|
||||
++ lib.optionals zfsSupport [
|
||||
# Needed for zpool module
|
||||
zfs
|
||||
]
|
||||
);
|
||||
|
||||
macosDeps = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_15
|
||||
moltenvk
|
||||
];
|
||||
in
|
||||
commonDeps ++ imageDeps ++ sqliteDeps ++ linuxCoreDeps ++ linuxFeatureDeps ++ macosDeps;
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeOptionType "filepath" "CMAKE_INSTALL_SYSCONFDIR" "${placeholder "out"}/etc")
|
||||
(lib.cmakeBool "ENABLE_DIRECTX_HEADERS" false)
|
||||
(lib.cmakeBool "ENABLE_SYSTEM_YYJSON" true)
|
||||
|
||||
# Feature flags
|
||||
(lib.cmakeBool "BUILD_FLASHFETCH" flashfetchSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_IMAGEMAGICK6" false)
|
||||
(lib.cmakeBool "ENABLE_IMAGEMAGICK7" imageSupport)
|
||||
(lib.cmakeBool "ENABLE_CHAFA" imageSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_SQLITE3" sqliteSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_LIBZFS" zfsSupport)
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
(lib.cmakeBool "ENABLE_PULSE" audioSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_VA" codecSupport)
|
||||
(lib.cmakeBool "ENABLE_VDPAU" codecSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_DDCUTIL" brightnessSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_DBUS" dbusSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_EET" enlightenmentSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_ELF" terminalSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_GIO" gnomeSupport)
|
||||
(lib.cmakeBool "ENABLE_DCONF" gnomeSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_ZLIB" imageSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_OPENCL" openclSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_EGL" openglSupport)
|
||||
(lib.cmakeBool "ENABLE_GLX" openglSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_RPM" rpmSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_DRM" (!x11Support && !waylandSupport))
|
||||
(lib.cmakeBool "ENABLE_DRM_AMDGPU" (!x11Support && !waylandSupport))
|
||||
|
||||
(lib.cmakeBool "ENABLE_VULKAN" vulkanSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_WAYLAND" waylandSupport)
|
||||
|
||||
(lib.cmakeBool "ENABLE_XCB_RANDR" x11Support)
|
||||
(lib.cmakeBool "ENABLE_XRANDR" x11Support)
|
||||
|
||||
(lib.cmakeBool "ENABLE_XFCONF" xfceSupport)
|
||||
|
||||
(lib.cmakeOptionType "filepath" "CUSTOM_PCI_IDS_PATH" "${hwdata}/share/hwdata/pci.ids")
|
||||
(lib.cmakeOptionType "filepath" "CUSTOM_AMDGPU_IDS_PATH" "${libdrm}/share/libdrm/amdgpu.ids")
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace completions/fastfetch.{bash,fish,zsh} --replace-fail python3 '${python3.interpreter}'
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/fastfetch \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}"
|
||||
''
|
||||
+ lib.optionalString flashfetchSupport ''
|
||||
wrapProgram $out/bin/flashfetch \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath finalAttrs.buildInputs}"
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
# finalAttrs.finalPackage.override doesn’t exist
|
||||
minimal = fastfetch.override {
|
||||
audioSupport = false;
|
||||
brightnessSupport = false;
|
||||
codecSupport = false;
|
||||
dbusSupport = false;
|
||||
enlightenmentSupport = false;
|
||||
flashfetchSupport = false;
|
||||
gnomeSupport = false;
|
||||
imageSupport = false;
|
||||
openclSupport = false;
|
||||
openglSupport = false;
|
||||
rpmSupport = false;
|
||||
sqliteSupport = false;
|
||||
terminalSupport = false;
|
||||
vulkanSupport = false;
|
||||
waylandSupport = false;
|
||||
x11Support = false;
|
||||
xfceSupport = false;
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Actively maintained, feature-rich and performance oriented, neofetch like system information tool";
|
||||
homepage = "https://github.com/fastfetch-cli/fastfetch";
|
||||
changelog = "https://github.com/fastfetch-cli/fastfetch/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
luftmensch-luftmensch
|
||||
khaneliman
|
||||
defelo
|
||||
defaultRuntimeDependencies =
|
||||
lib.optionals imageSupport [
|
||||
# Image output as ascii art.
|
||||
chafa
|
||||
# Images in terminal using sixel or kitty graphics protocol
|
||||
imagemagick
|
||||
]
|
||||
++ lib.optionals sqliteSupport [
|
||||
# linux - Needed for pkg & rpm package count.
|
||||
# darwin - Used for fast wallpaper detection before macOS Sonoma
|
||||
sqlite
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux (
|
||||
[
|
||||
# DRM display and AMD GPU detection.
|
||||
libdrm
|
||||
]
|
||||
++ lib.optionals audioSupport [
|
||||
# Sound device detection
|
||||
libpulseaudio
|
||||
]
|
||||
++ lib.optionals brightnessSupport [
|
||||
# Brightness detection of external displays
|
||||
ddcutil
|
||||
]
|
||||
++ lib.optionals codecSupport [
|
||||
# Hardware-accelerated video codec detection
|
||||
libva
|
||||
libvdpau
|
||||
]
|
||||
++ lib.optionals dbusSupport [
|
||||
# Bluetooth, wifi, player & media detection
|
||||
dbus
|
||||
]
|
||||
++ lib.optionals enlightenmentSupport [
|
||||
# Eet support for reading Enlightenment window manager configuration.
|
||||
enlightenment.efl
|
||||
]
|
||||
++ lib.optionals gnomeSupport [
|
||||
# Needed for values that are only stored in DConf + Fallback for GSettings.
|
||||
dconf
|
||||
glib
|
||||
]
|
||||
++ lib.optionals imageSupport [
|
||||
# Faster image output when using kitty graphics protocol.
|
||||
zlib
|
||||
]
|
||||
++ lib.optionals openclSupport [
|
||||
# OpenCL module
|
||||
ocl-icd
|
||||
]
|
||||
++ lib.optionals openglSupport [
|
||||
# OpenGL module
|
||||
libglvnd
|
||||
]
|
||||
++ lib.optionals rpmSupport [
|
||||
# Slower fallback for rpm package count. Needed on openSUSE.
|
||||
rpm
|
||||
]
|
||||
++ lib.optionals terminalSupport [
|
||||
# Needed for st terminal font detection.
|
||||
libelf
|
||||
]
|
||||
++ lib.optionals vulkanSupport [
|
||||
# Vulkan module & fallback for GPU output
|
||||
vulkan-loader
|
||||
]
|
||||
++ lib.optionals waylandSupport [
|
||||
# Better display performance and output in wayland sessions.
|
||||
wayland
|
||||
]
|
||||
++ lib.optionals x11Support [
|
||||
# Better display detection and faster WM detection in X11 sessions.
|
||||
libxrandr
|
||||
libxcb
|
||||
]
|
||||
++ lib.optionals xfceSupport [
|
||||
# Needed for XFWM theme and XFCE Terminal font.
|
||||
xfconf
|
||||
]
|
||||
++ lib.optionals zfsSupport [
|
||||
# Needed for zpool module
|
||||
zfs
|
||||
]
|
||||
)
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
apple-sdk_15
|
||||
moltenvk
|
||||
];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "fastfetch";
|
||||
longDescription = ''
|
||||
Fast and highly customizable system info script.
|
||||
|
||||
Feature flags (all default to 'true' except rpmSupport, flashfetchSupport and zfsSupport):
|
||||
* audioSupport: PulseAudio functionality
|
||||
* brightnessSupport: External display brightness detection via DDCUtil
|
||||
* codecSupport: Hardware-accelerated video codec detection
|
||||
* dbusSupport: DBus functionality for Bluetooth, WiFi, player & media detection
|
||||
* enlightenmentSupport: Enlightenment configuration detection via EFL's Eet
|
||||
* flashfetchSupport: Build the flashfetch utility (default: false)
|
||||
* gnomeSupport: GNOME integration (dconf, dbus, gio)
|
||||
* imageSupport: Image rendering (chafa and imagemagick)
|
||||
* openclSupport: OpenCL features
|
||||
* openglSupport: OpenGL features
|
||||
* rpmSupport: RPM package detection (default: false)
|
||||
* sqliteSupport: Package counting via SQLite
|
||||
* terminalSupport: Terminal font detection
|
||||
* vulkanSupport: Vulkan GPU information and DRM features
|
||||
* waylandSupport: Wayland display detection
|
||||
* x11Support: X11 display information
|
||||
* xfceSupport: XFCE integration for theme and terminal font detection
|
||||
* zfsSupport: zpool information
|
||||
'';
|
||||
};
|
||||
})
|
||||
resolvedRuntimeDependencies =
|
||||
(if runtimeDependencies == null then defaultRuntimeDependencies else runtimeDependencies)
|
||||
++ extraRuntimeDependencies;
|
||||
|
||||
resolvedRuntimePrograms = runtimePrograms ++ extraRuntimePrograms;
|
||||
|
||||
runtimeLibraryPath = lib.makeLibraryPath resolvedRuntimeDependencies;
|
||||
runtimeProgramPath = lib.makeBinPath resolvedRuntimePrograms;
|
||||
in
|
||||
runCommand "fastfetch-${unwrapped.version}"
|
||||
{
|
||||
pname = "fastfetch";
|
||||
inherit (unwrapped) version;
|
||||
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ makeBinaryWrapper ];
|
||||
|
||||
passthru = (removeAttrs unwrapped.passthru [ "updateScript" ]) // {
|
||||
inherit unwrapped;
|
||||
runtimeDependencies = resolvedRuntimeDependencies;
|
||||
runtimePrograms = resolvedRuntimePrograms;
|
||||
minimal = lib.warnOnInstantiate "`fastfetch.minimal` has been renamed to `fastfetch-unwrapped`" unwrapped;
|
||||
};
|
||||
|
||||
meta = unwrapped.meta // {
|
||||
priority = (unwrapped.meta.priority or lib.meta.defaultPriority) - 1;
|
||||
longDescription = ''
|
||||
Fast and highly customizable system info script.
|
||||
|
||||
This wrapped package makes optional runtime libraries available to the
|
||||
full-featured fastfetch-unwrapped binary.
|
||||
'';
|
||||
};
|
||||
|
||||
preferLocalBuild = true;
|
||||
}
|
||||
''
|
||||
makeWrapperArgs=(--inherit-argv0)
|
||||
|
||||
if [ -n "${runtimeLibraryPath}" ]; then
|
||||
makeWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}")
|
||||
fi
|
||||
|
||||
if [ -n "${runtimeProgramPath}" ]; then
|
||||
makeWrapperArgs+=(--prefix PATH : "${runtimeProgramPath}")
|
||||
fi
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
makeWrapper ${unwrapped}/bin/fastfetch "$out/bin/fastfetch" "''${makeWrapperArgs[@]}"
|
||||
|
||||
${lib.optionalString flashfetchSupport ''
|
||||
makeWrapper ${unwrapped}/bin/flashfetch "$out/bin/flashfetch" "''${makeWrapperArgs[@]}"
|
||||
''}
|
||||
|
||||
ln -s ${unwrapped}/share "$out/share"
|
||||
|
||||
ln -s ${unwrapped.man} "$man"
|
||||
''
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "glances";
|
||||
version = "4.5.4";
|
||||
version = "4.5.5";
|
||||
pyproject = true;
|
||||
|
||||
disabled = python3Packages.isPyPy;
|
||||
@@ -20,7 +20,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
owner = "nicolargo";
|
||||
repo = "glances";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-oIuvVI1vXPrtJjWie/iDoCBM++Z7i4IQ5DPE6Yi3npA=";
|
||||
hash = "sha256-RiAt797YS468lmwH68O9/KlbV46DAqd25O8J0wNIDsU=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [ setuptools ];
|
||||
|
||||
@@ -6,15 +6,18 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "gs1200-exporter";
|
||||
version = "2.11.12";
|
||||
version = "2.11.13";
|
||||
__structuredAttrs = true;
|
||||
src = fetchFromGitHub {
|
||||
owner = "robinelfrink";
|
||||
repo = "gs1200-exporter";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-8s2VgaqYXp9PN2oNU/sWpjQjDPSWolbWEVSZcx9Lh3M=";
|
||||
hash = "sha256-s+CdJBa9k4DBYBiwEAtWJz1r6DvDQtZR+dEB3FBSu3g=";
|
||||
};
|
||||
vendorHash = "sha256-204bFaywOolKVNoeH/w72Ba1PYAVgQawEmlaEXgRaRY=";
|
||||
vendorHash = "sha256-R8is2TM2npCY1eOTRsL1spTJWf/KiBqHpjr4EjraLeU=";
|
||||
postPatch = ''
|
||||
substituteInPlace go.mod --replace-fail "go 1.26.4" "go 1.26.3"
|
||||
'';
|
||||
passthru.tests = {
|
||||
inherit (nixosTests) gs1200-exporter;
|
||||
};
|
||||
|
||||
@@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
homepage = "https://github.com/artoh/kitupiikki";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "kitsas";
|
||||
maintainers = [ ];
|
||||
maintainers = [ lib.maintainers.lajp ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
let
|
||||
pname = "mongodb-compass";
|
||||
version = "1.49.8";
|
||||
version = "1.49.9";
|
||||
|
||||
selectSystem =
|
||||
attrs:
|
||||
@@ -67,9 +67,9 @@ let
|
||||
}
|
||||
}";
|
||||
hash = selectSystem {
|
||||
x86_64-linux = "sha256-5SmMFzQploo1EkXYmLDL4XdM+vKlIWkaIh1fFrIgrqY=";
|
||||
x86_64-darwin = "sha256-2GgyiH7Bhm1MbjmgMvo8CuLQEsVCZkALiy1mtH/Zl1Q=";
|
||||
aarch64-darwin = "sha256-a1nWzTR1dZhm/rVURl0kK2qTyHEnAZeQKiYKzRO6MqY=";
|
||||
x86_64-linux = "sha256-Fx//NMDHqVaLwthOM7FeSgUXkvLOSbw5EH1qp1dgPcM=";
|
||||
x86_64-darwin = "sha256-l5Jx0BUQR++tkF0cpctxhku6lB2rHEydp7roJy9AGFc=";
|
||||
aarch64-darwin = "sha256-HCKt1rq6P7Uy6NJiFRBBp4YdpAdhwQQjEGT5h7IcyWE=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "opencode";
|
||||
version = "1.17.7";
|
||||
version = "1.17.8";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
@@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
owner = "anomalyco";
|
||||
repo = "opencode";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-rTeJuwqc11r6Xiksfg5IoTezK2ZtG3GlenQCxTW04P4=";
|
||||
hash = "sha256-iReCFIJeJIOIs95v0ReVR/X1PnT5dSnR9O0TniyvPR8=";
|
||||
};
|
||||
|
||||
node_modules = stdenvNoCC.mkDerivation {
|
||||
@@ -78,7 +78,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
# NOTE: Required else we get errors that our fixed-output derivation references store paths
|
||||
dontFixup = true;
|
||||
|
||||
outputHash = "sha256-DntnRo2N32nhjv8YxedIbRMtEkSsXAOrpFmK6six/g4=";
|
||||
outputHash = "sha256-ERywlcNEF9EUW3JDGH8987g+GAj76RylUtegqMvStyg=";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
};
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "polkadot";
|
||||
version = "2603";
|
||||
version = "2603-3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paritytech";
|
||||
repo = "polkadot-sdk";
|
||||
rev = "polkadot-stable${finalAttrs.version}";
|
||||
hash = "sha256-vm8WUeIkgulCq9nwqQZsA5VHVv3vMEo66UNdHEhtmHY=";
|
||||
hash = "sha256-uNyB7N9M4wQTKQOSFMMOzqhRVwxCJfS+YYE04D3OACQ=";
|
||||
|
||||
# the build process of polkadot requires a .git folder in order to determine
|
||||
# the git commit hash that is being built and add it to the version string.
|
||||
@@ -46,7 +46,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
./picosimd-0.9.3.patch
|
||||
];
|
||||
|
||||
cargoHash = "sha256-Da18rlsU8s045AzI3dZ6EhYm+CCAQFygrvVCZhudVaY=";
|
||||
cargoHash = "sha256-Y0D7M01fAgDrXKOXsyi4qsyb/2cLRWUcuo0Za01yD8k=";
|
||||
|
||||
buildType = "production";
|
||||
buildAndTestSubdir = "polkadot";
|
||||
|
||||
@@ -7,34 +7,38 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "prmt";
|
||||
version = "0.2.6";
|
||||
version = "0.6.0";
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "prmt";
|
||||
owner = "3axap4eHko";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-/B+Z+m9xpCK04f3/p2URzM0J66OGDX6mB/Zcede+XSo=";
|
||||
hash = "sha256-pLxWArZzGU1vjS2DOJ6PyrhYC2XbkAD5SfiFjHTaQfI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Oui5po+She93GmcTNjHMt3syYULBVchcndOuDYgWwME=";
|
||||
cargoHash = "sha256-hmtKmnSnSGgivY+dmC4WlMuCJGTVM6GI5k0pZcfzYso=";
|
||||
|
||||
# Fail to run in sandbox environment
|
||||
checkFlags = map (t: "--skip=${t}") [
|
||||
"modules::path::tests::relative_path_inside_home_renders_tilde"
|
||||
"modules::path::tests::relative_path_with_shared_prefix_is_not_tilde"
|
||||
"test_git_module"
|
||||
"modules::git::tests::empty_dir_tree_not_reported_as_untracked"
|
||||
"modules::git::tests::empty_repo_has_no_untracked_status_in_gix_path"
|
||||
"modules::git::tests::empty_repo_has_no_untracked_status_in_slow_path"
|
||||
"modules::git::tests::untracked_file_sets_untracked_status_in_gix_path"
|
||||
"modules::git::tests::xdg_ignored_progress_dir_does_not_set_untracked_status"
|
||||
"modules::git::tests::xdg_ignored_progress_dir_stays_clean_in_gix_path"
|
||||
];
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Ultra-fast, customizable shell prompt generator";
|
||||
homepage = "https://github.com/3axap4eHko/prmt";
|
||||
changelog = "https://github.com/3axap4eHko/prmt/releases/tag/v${finalAttrs.version}";
|
||||
changelog = "https://github.com/3axap4eHko/prmt/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ nartsiss ];
|
||||
mainProgram = "prmt";
|
||||
|
||||
@@ -12,16 +12,16 @@ buildGoModule (
|
||||
in
|
||||
{
|
||||
pname = "rqlite";
|
||||
version = "10.2.0";
|
||||
version = "10.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rqlite";
|
||||
repo = "rqlite";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-XpdI3OFkMHlnUQ6LXo/NDagRwaRkQMq2UmFg4MOKNJ4=";
|
||||
hash = "sha256-SQH/dkirdsIMf/GyteqyxI/b7t2QbfUJc5DAevsKklE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-7f9A9BnENKF7kRftB/ii1EQeHMsYp9ZSb5T474ngs6E=";
|
||||
vendorHash = "sha256-rWyDyypKbettuwL8tfXmkvKtIg5fm5EzZud2/5RL0kY=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/rqlite"
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
systemd,
|
||||
udev,
|
||||
libGL,
|
||||
libglvnd,
|
||||
fontconfig,
|
||||
freetype,
|
||||
openssl,
|
||||
@@ -173,6 +174,44 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
wemeet-camera-fix = stdenv.mkDerivation {
|
||||
pname = "wemeet-camera-fix";
|
||||
version = "0-unstable-2026-05-20";
|
||||
|
||||
src = ./wemeet-camera-fix.c;
|
||||
|
||||
dontUnpack = true;
|
||||
dontWrapQtApps = true;
|
||||
|
||||
buildInputs = [
|
||||
libglvnd
|
||||
libx11
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
$CC $CFLAGS -Wall -Wextra -fPIC -shared \
|
||||
-o libwemeet-camera-fix.so $src \
|
||||
-ldl -lEGL -lX11
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 ./libwemeet-camera-fix.so $out/lib/libwemeet-camera-fix.so
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Fix for WeMeet Wayland camera preview rendering";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
};
|
||||
|
||||
selectSystem =
|
||||
attrs:
|
||||
attrs.${stdenv.hostPlatform.system}
|
||||
@@ -284,7 +323,7 @@ stdenv.mkDerivation {
|
||||
"--prefix QT_PLUGIN_PATH : $out/app/wemeet/plugins"
|
||||
];
|
||||
commonWrapperArgs = baseWrapperArgs ++ [
|
||||
"--prefix LD_PRELOAD : ${libwemeetwrap}/lib/libwemeetwrap.so:${wemeet-x11-fix}/lib/libwemeet-x11-fix.so"
|
||||
"--prefix LD_PRELOAD : ${libwemeetwrap}/lib/libwemeetwrap.so:${wemeet-x11-fix}/lib/libwemeet-x11-fix.so:${wemeet-camera-fix}/lib/libwemeet-camera-fix.so"
|
||||
"--run 'if [[ $XDG_SESSION_TYPE == \"wayland\" ]]; then export LD_PRELOAD=${wemeet-wayland-screenshare}/lib/wemeet/libhook.so\${LD_PRELOAD:+:$LD_PRELOAD}; fi'"
|
||||
];
|
||||
xwaylandWrapperArgs = baseWrapperArgs ++ [
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
/*
|
||||
* LD_PRELOAD shim for WeMeet's camera preview on Wayland.
|
||||
*
|
||||
* WeMeet's libxcast.so uses EGL to render the local camera preview. It links
|
||||
* against libEGL and libX11, and later passes X11 native windows to EGL. In a
|
||||
* Wayland session, Mesa can choose the Wayland EGL platform for
|
||||
* eglGetDisplay(NULL), which makes libxcast.so hand an X11 XID to the Wayland
|
||||
* platform path when creating its window surface. The camera still opens and
|
||||
* remote participants can see it, but the local preview fails to render or may
|
||||
* crash.
|
||||
*
|
||||
* Only for calls originating in libxcast.so, force EGL display creation through
|
||||
* the X11 platform. Qt/QtWebEngine and other callers continue to use their
|
||||
* normal EGL path.
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE
|
||||
#include <dlfcn.h>
|
||||
#include <pthread.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
#ifndef EGL_PLATFORM_X11_KHR
|
||||
#define EGL_PLATFORM_X11_KHR 0x31D5
|
||||
#endif
|
||||
|
||||
typedef EGLDisplay (*pfn_eglGetDisplay)(EGLNativeDisplayType);
|
||||
typedef EGLDisplay (*pfn_eglGetPlatformDisplay)(EGLenum, void *, const EGLAttrib *);
|
||||
typedef EGLDisplay (*pfn_eglGetPlatformDisplayEXT)(EGLenum, void *, const EGLint *);
|
||||
|
||||
static pfn_eglGetDisplay real_eglGetDisplay;
|
||||
static pfn_eglGetPlatformDisplay real_eglGetPlatformDisplay;
|
||||
static pfn_eglGetPlatformDisplayEXT real_eglGetPlatformDisplayEXT;
|
||||
|
||||
static EGLDisplay x11_egl_display = EGL_NO_DISPLAY;
|
||||
static Display *x_display;
|
||||
static pthread_once_t once_resolve = PTHREAD_ONCE_INIT;
|
||||
static pthread_once_t once_x11 = PTHREAD_ONCE_INIT;
|
||||
|
||||
static int debug_enabled(void)
|
||||
{
|
||||
static int value = -1;
|
||||
if (value < 0) {
|
||||
value = getenv("WEMEET_CAMERA_FIX_DEBUG") != NULL;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
#define LOG(...) \
|
||||
do { \
|
||||
if (debug_enabled()) { \
|
||||
fprintf(stderr, "[wemeet-camera-fix] " __VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
static void resolve_real_symbols(void)
|
||||
{
|
||||
real_eglGetDisplay = (pfn_eglGetDisplay)dlsym(RTLD_NEXT, "eglGetDisplay");
|
||||
real_eglGetPlatformDisplay =
|
||||
(pfn_eglGetPlatformDisplay)dlsym(RTLD_NEXT, "eglGetPlatformDisplay");
|
||||
real_eglGetPlatformDisplayEXT =
|
||||
(pfn_eglGetPlatformDisplayEXT)dlsym(RTLD_NEXT, "eglGetPlatformDisplayEXT");
|
||||
}
|
||||
|
||||
static void init_x11_egl_display(void)
|
||||
{
|
||||
pthread_once(&once_resolve, resolve_real_symbols);
|
||||
|
||||
x_display = XOpenDisplay(NULL);
|
||||
if (!x_display) {
|
||||
fprintf(stderr, "[wemeet-camera-fix] XOpenDisplay(NULL) failed; DISPLAY=%s\n",
|
||||
getenv("DISPLAY") ? getenv("DISPLAY") : "(unset)");
|
||||
return;
|
||||
}
|
||||
|
||||
if (real_eglGetPlatformDisplay) {
|
||||
x11_egl_display =
|
||||
real_eglGetPlatformDisplay(EGL_PLATFORM_X11_KHR, x_display, NULL);
|
||||
} else if (real_eglGetPlatformDisplayEXT) {
|
||||
x11_egl_display =
|
||||
real_eglGetPlatformDisplayEXT(EGL_PLATFORM_X11_KHR, x_display, NULL);
|
||||
} else if (real_eglGetDisplay) {
|
||||
x11_egl_display = real_eglGetDisplay((EGLNativeDisplayType)x_display);
|
||||
}
|
||||
|
||||
LOG("initialized X11 EGLDisplay=%p for X Display*=%p\n",
|
||||
(void *)x11_egl_display, (void *)x_display);
|
||||
}
|
||||
|
||||
static int caller_is_xcast(void *caller)
|
||||
{
|
||||
Dl_info info;
|
||||
|
||||
if (!caller) {
|
||||
return 0;
|
||||
}
|
||||
memset(&info, 0, sizeof(info));
|
||||
if (!dladdr(caller, &info) || !info.dli_fname) {
|
||||
return 0;
|
||||
}
|
||||
return strstr(info.dli_fname, "libxcast.so") != NULL;
|
||||
}
|
||||
|
||||
EGLDisplay eglGetDisplay(EGLNativeDisplayType display_id)
|
||||
{
|
||||
pthread_once(&once_resolve, resolve_real_symbols);
|
||||
|
||||
if (caller_is_xcast(__builtin_return_address(0))) {
|
||||
pthread_once(&once_x11, init_x11_egl_display);
|
||||
LOG("eglGetDisplay from libxcast.so -> %p\n", (void *)x11_egl_display);
|
||||
return x11_egl_display;
|
||||
}
|
||||
|
||||
return real_eglGetDisplay ? real_eglGetDisplay(display_id) : EGL_NO_DISPLAY;
|
||||
}
|
||||
|
||||
EGLDisplay eglGetPlatformDisplay(EGLenum platform, void *native_display,
|
||||
const EGLAttrib *attrib_list)
|
||||
{
|
||||
pthread_once(&once_resolve, resolve_real_symbols);
|
||||
|
||||
if (caller_is_xcast(__builtin_return_address(0))) {
|
||||
pthread_once(&once_x11, init_x11_egl_display);
|
||||
LOG("eglGetPlatformDisplay from libxcast.so -> %p\n",
|
||||
(void *)x11_egl_display);
|
||||
return x11_egl_display;
|
||||
}
|
||||
|
||||
return real_eglGetPlatformDisplay
|
||||
? real_eglGetPlatformDisplay(platform, native_display, attrib_list)
|
||||
: EGL_NO_DISPLAY;
|
||||
}
|
||||
|
||||
EGLDisplay eglGetPlatformDisplayEXT(EGLenum platform, void *native_display,
|
||||
const EGLint *attrib_list)
|
||||
{
|
||||
pthread_once(&once_resolve, resolve_real_symbols);
|
||||
|
||||
if (caller_is_xcast(__builtin_return_address(0))) {
|
||||
pthread_once(&once_x11, init_x11_egl_display);
|
||||
LOG("eglGetPlatformDisplayEXT from libxcast.so -> %p\n",
|
||||
(void *)x11_egl_display);
|
||||
return x11_egl_display;
|
||||
}
|
||||
|
||||
return real_eglGetPlatformDisplayEXT
|
||||
? real_eglGetPlatformDisplayEXT(platform, native_display, attrib_list)
|
||||
: EGL_NO_DISPLAY;
|
||||
}
|
||||
@@ -32,13 +32,13 @@ backendStdenv.mkDerivation (finalAttrs: {
|
||||
name = "${cudaNamePrefix}-${finalAttrs.pname}-${finalAttrs.version}";
|
||||
|
||||
pname = "cudnn-frontend";
|
||||
version = "1.24.0";
|
||||
version = "1.25.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NVIDIA";
|
||||
repo = "cudnn-frontend";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-I6el8e6Jo1l/S5eqxWiH2KksNxw4hJ+av5qj/yqJjI8=";
|
||||
hash = "sha256-zUCrLJvkqw2FUgBR2mDwaqnmyQ21xuexNJb1omgbJRw=";
|
||||
};
|
||||
|
||||
# nlohmann_json should be the only vendored dependency.
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "blinkpy";
|
||||
version = "0.25.5";
|
||||
version = "0.25.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fronzbot";
|
||||
repo = "blinkpy";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-wtuegaYB7/lh9d5kKgSEwCztLpaKcwHi9+ryMvGXVg8=";
|
||||
hash = "sha256-OAa5sYuFGsxiS5r+v69dnXCQs7rmAFAHbmNXm3S6cgY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "eheimdigital";
|
||||
version = "1.6.0";
|
||||
version = "1.7.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "autinerd";
|
||||
repo = "eheimdigital";
|
||||
tag = version;
|
||||
hash = "sha256-BXezA2wFP3KeAVwnZC9WYIIXeADHUmSJHTRfZE6Rk48=";
|
||||
hash = "sha256-aAV63mdgBQ1kbLGOERkUm67S4A+Fyq+0ihllTTGe1mc=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
@@ -23,8 +23,8 @@ let
|
||||
[ ];
|
||||
in
|
||||
buildNodejs {
|
||||
version = "22.22.3";
|
||||
sha256 = "f3e6a578db1ab335a4a72785c1e87ad18a2cf6d2fc25747a1d741fb34af0bd0f";
|
||||
version = "22.23.0";
|
||||
sha256 = "3acfae100c7b855a4c76520ee0f95cadcace3f4254f16b7d4887f178fc95d4a0";
|
||||
patches =
|
||||
(
|
||||
if (stdenv.hostPlatform.emulatorAvailable buildPackages) then
|
||||
@@ -64,26 +64,5 @@ buildNodejs {
|
||||
url = "https://github.com/nodejs/node/commit/ff3a028f8bf88da70dc79e1d7b7947a8d5a8548a.patch?full_index=1";
|
||||
hash = "sha256-LJcO3RXVPnpbeuD87fiJ260m3BQXNk3+vvZkBMFUz5w=";
|
||||
})
|
||||
# update tests for nghttp2 1.65
|
||||
./deprecate-http2-priority-signaling.patch
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/nodejs/node/commit/a63126409ad4334dd5d838c39806f38c020748b9.diff?full_index=1";
|
||||
hash = "sha256-lfq8PMNvrfJjlp0oE3rJkIsihln/Gcs1T/qgI3wW2kQ=";
|
||||
includes = [ "test/*" ];
|
||||
})
|
||||
# Patch for nghttp2 1.69 support
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/nodejs/node/commit/ecbc22dc3709290dcaadf634a28d8307a75952ee.diff?full_index=1";
|
||||
hash = "sha256-LwniqgKlG1IiqSzdP7UgBw3/9cn1jyz/jtx45yb6RWM=";
|
||||
includes = [
|
||||
"test/parallel/test-http2-misbehaving-flow-control-paused.js"
|
||||
"test/parallel/test-http2-misbehaving-flow-control.js"
|
||||
];
|
||||
})
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/nodejs/node/commit/4a32c00fb8dbe55c3bcf9ef43343968c9fe449e6.diff?full_index=1";
|
||||
hash = "sha256-pex8ruwa4b/vWvfGA+nyN3JJP8NOturmwAQe4Rkd6nU=";
|
||||
excludes = [ "tools/nix/*" ];
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -23,8 +23,8 @@ let
|
||||
[ ];
|
||||
in
|
||||
buildNodejs {
|
||||
version = "26.3.0";
|
||||
sha256 = "319ad5d7d20cc622e55eb75b9f1a2546b77a08bd462b67030d0c89316c2c2349";
|
||||
version = "26.3.1";
|
||||
sha256 = "979b9b8308a8d2d4a27c662ed50448c85f970c0fd4f5ce8b98e8da78c441f2bc";
|
||||
patches =
|
||||
(
|
||||
if (stdenv.hostPlatform.emulatorAvailable buildPackages) then
|
||||
|
||||
@@ -742,7 +742,7 @@ mapAliases {
|
||||
falcon = throw "'falcon' has been removed as it is unmaintained and depends on pcre, which is deprecated"; # Added 2026-06-16
|
||||
fancontrol-gui = throw "'fancontrol-gui' has been removed due to outdated KF5 dependencies"; # Added 2026-05-01
|
||||
fast-cli = throw "'fast-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
|
||||
fastfetchMinimal = warnAlias "'fastfetchMinimal' has been renamed to 'fastfetch.minimal'" fastfetch.minimal; # Added 2026-05-18
|
||||
fastfetchMinimal = warnAlias "'fastfetchMinimal' has been renamed to 'fastfetch-unwrapped'" fastfetch-unwrapped; # Added 2026-05-18
|
||||
fastJson = warnAlias "'fastJson' has been renamed to 'libfastjson'" libfastjson; # Added 2026-02-08
|
||||
fastnlo_toolkit = throw "'fastnlo_toolkit' has been renamed to/replaced by 'fastnlo-toolkit'"; # Converted to throw 2025-10-27
|
||||
faustPhysicalModeling = warnAlias "'faustPhysicalModeling' has been renamed to 'faust-physicalmodeling'" faust-physicalmodeling; # Added 2026-02-08
|
||||
|
||||
Reference in New Issue
Block a user