0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-14 06:00:33 +03:00

Merge staging-next-24.11 into staging-24.11

This commit is contained in:
github-actions[bot] 2024-12-31 00:17:56 +00:00 committed by GitHub
commit 9e62b94e42
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 492 additions and 8843 deletions

View file

@ -109,6 +109,7 @@ in
"AF_INET"
"AF_INET6"
"AF_NETLINK"
"AF_UNIX"
];
RestrictNamespaces = true;
RestrictRealtime = true;

View file

@ -53,171 +53,8 @@ in {
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
# units are in reverse sort order if you ls $out/lib/systemd/system
# all these units are basically verbatim translated from upstream
# Translation from $out/lib/systemd/system/systemd-cockpithttps.slice
systemd.slices.system-cockpithttps = {
description = "Resource limits for all cockpit-ws-https@.service instances";
sliceConfig = {
TasksMax = 200;
MemoryHigh = "75%";
MemoryMax = "90%";
};
};
# Translation from $out/lib/systemd/system/cockpit-wsinstance-https@.socket
systemd.sockets."cockpit-wsinstance-https@" = {
unitConfig = {
Description = "Socket for Cockpit Web Service https instance %I";
BindsTo = [ "cockpit.service" "cockpit-wsinstance-https@%i.service" ];
# clean up the socket after the service exits, to prevent fd leak
# this also effectively prevents a DoS by starting arbitrarily many sockets, as
# the services are resource-limited by system-cockpithttps.slice
Documentation = "man:cockpit-ws(8)";
};
socketConfig = {
ListenStream = "/run/cockpit/wsinstance/https@%i.sock";
SocketUser = "root";
SocketMode = "0600";
};
};
# Translation from $out/lib/systemd/system/cockpit-wsinstance-https@.service
systemd.services."cockpit-wsinstance-https@" = {
description = "Cockpit Web Service https instance %I";
bindsTo = [ "cockpit.service"];
path = [ cfg.package ];
documentation = [ "man:cockpit-ws(8)" ];
serviceConfig = {
Slice = "system-cockpithttps.slice";
ExecStart = "${cfg.package}/libexec/cockpit-ws --for-tls-proxy --port=0";
User = "root";
Group = "";
};
};
# Translation from $out/lib/systemd/system/cockpit-wsinstance-http.socket
systemd.sockets.cockpit-wsinstance-http = {
unitConfig = {
Description = "Socket for Cockpit Web Service http instance";
BindsTo = "cockpit.service";
Documentation = "man:cockpit-ws(8)";
};
socketConfig = {
ListenStream = "/run/cockpit/wsinstance/http.sock";
SocketUser = "root";
SocketMode = "0600";
};
};
# Translation from $out/lib/systemd/system/cockpit-wsinstance-https-factory.socket
systemd.sockets.cockpit-wsinstance-https-factory = {
unitConfig = {
Description = "Socket for Cockpit Web Service https instance factory";
BindsTo = "cockpit.service";
Documentation = "man:cockpit-ws(8)";
};
socketConfig = {
ListenStream = "/run/cockpit/wsinstance/https-factory.sock";
Accept = true;
SocketUser = "root";
SocketMode = "0600";
};
};
# Translation from $out/lib/systemd/system/cockpit-wsinstance-https-factory@.service
systemd.services."cockpit-wsinstance-https-factory@" = {
description = "Cockpit Web Service https instance factory";
documentation = [ "man:cockpit-ws(8)" ];
path = [ cfg.package ];
serviceConfig = {
ExecStart = "${cfg.package}/libexec/cockpit-wsinstance-factory";
User = "root";
};
};
# Translation from $out/lib/systemd/system/cockpit-wsinstance-http.service
systemd.services."cockpit-wsinstance-http" = {
description = "Cockpit Web Service http instance";
bindsTo = [ "cockpit.service" ];
path = [ cfg.package ];
documentation = [ "man:cockpit-ws(8)" ];
serviceConfig = {
ExecStart = "${cfg.package}/libexec/cockpit-ws --no-tls --port=0";
User = "root";
Group = "";
};
};
# Translation from $out/lib/systemd/system/cockpit.socket
systemd.sockets."cockpit" = {
unitConfig = {
Description = "Cockpit Web Service Socket";
Documentation = "man:cockpit-ws(8)";
Wants = "cockpit-motd.service";
};
socketConfig = {
ListenStream = cfg.port;
ExecStartPost = [
"-${cfg.package}/share/cockpit/motd/update-motd \"\" localhost"
"-${pkgs.coreutils}/bin/ln -snf active.motd /run/cockpit/motd"
];
ExecStopPost = "-${pkgs.coreutils}/bin/ln -snf inactive.motd /run/cockpit/motd";
};
wantedBy = [ "sockets.target" ];
};
# Translation from $out/lib/systemd/system/cockpit.service
systemd.services."cockpit" = {
description = "Cockpit Web Service";
documentation = [ "man:cockpit-ws(8)" ];
restartIfChanged = true;
path = with pkgs; [ coreutils cfg.package ];
requires = [ "cockpit.socket" "cockpit-wsinstance-http.socket" "cockpit-wsinstance-https-factory.socket" ];
after = [ "cockpit-wsinstance-http.socket" "cockpit-wsinstance-https-factory.socket" ];
environment = {
G_MESSAGES_DEBUG = "cockpit-ws,cockpit-bridge";
};
serviceConfig = {
RuntimeDirectory="cockpit/tls";
ExecStartPre = [
# cockpit-tls runs in a more constrained environment, these + means that these commands
# will run with full privilege instead of inside that constrained environment
# See https://www.freedesktop.org/software/systemd/man/systemd.service.html#ExecStart= for details
"+${cfg.package}/libexec/cockpit-certificate-ensure --for-cockpit-tls"
];
ExecStart = "${cfg.package}/libexec/cockpit-tls";
User = "root";
Group = "";
NoNewPrivileges = true;
ProtectSystem = "strict";
ProtectHome = true;
PrivateTmp = true;
PrivateDevices = true;
ProtectKernelTunables = true;
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
MemoryDenyWriteExecute = true;
};
};
# Translation from $out/lib/systemd/system/cockpit-motd.service
# This part basically implements a motd state machine:
# - If cockpit.socket is enabled then /run/cockpit/motd points to /run/cockpit/active.motd
# - If cockpit.socket is disabled then /run/cockpit/motd points to /run/cockpit/inactive.motd
# - As cockpit.socket is disabled by default, /run/cockpit/motd points to /run/cockpit/inactive.motd
# /run/cockpit/active.motd is generated dynamically by cockpit-motd.service
systemd.services."cockpit-motd" = {
path = with pkgs; [ nettools ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${cfg.package}/share/cockpit/motd/update-motd";
};
description = "Cockpit motd updater service";
documentation = [ "man:cockpit-ws(8)" ];
wants = [ "network.target" ];
after = [ "network.target" "cockpit.socket" ];
};
systemd.packages = [ cfg.package ];
systemd.sockets.cockpit.wantedBy = [ "multi-user.target" ];
systemd.tmpfiles.rules = [ # From $out/lib/tmpfiles.d/cockpit-tmpfiles.conf
"C /run/cockpit/inactive.motd 0640 root root - ${cfg.package}/share/cockpit/motd/inactive.motd"

View file

@ -326,26 +326,41 @@ in
# We use `mkAfter` to ensure that LUKS password prompt would be shown earlier than the splash screen.
boot.initrd.preLVMCommands = mkIf (!config.boot.initrd.systemd.enable) (mkAfter ''
mkdir -p /etc/plymouth
mkdir -p /run/plymouth
ln -s $extraUtils/etc/plymouth/logo.png /etc/plymouth/logo.png
ln -s ${configFile} /etc/plymouth/plymouthd.conf
ln -s $extraUtils/share/plymouth/plymouthd.defaults /run/plymouth/plymouthd.defaults
ln -s $extraUtils/share/plymouth/themes /run/plymouth/themes
ln -s $extraUtils/lib/plymouth /run/plymouth/plugins
ln -s $extraUtils/etc/fonts /etc/fonts
plymouth_enabled=1
for o in $(cat /proc/cmdline); do
case $o in
plymouth.enable=0)
plymouth_enabled=0
;;
esac
done
plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session
plymouth show-splash
if [ "$plymouth_enabled" != 0 ]; then
mkdir -p /etc/plymouth
mkdir -p /run/plymouth
ln -s $extraUtils/etc/plymouth/logo.png /etc/plymouth/logo.png
ln -s ${configFile} /etc/plymouth/plymouthd.conf
ln -s $extraUtils/share/plymouth/plymouthd.defaults /run/plymouth/plymouthd.defaults
ln -s $extraUtils/share/plymouth/themes /run/plymouth/themes
ln -s $extraUtils/lib/plymouth /run/plymouth/plugins
ln -s $extraUtils/etc/fonts /etc/fonts
plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session
plymouth show-splash
fi
'');
boot.initrd.postMountCommands = mkIf (!config.boot.initrd.systemd.enable) ''
plymouth update-root-fs --new-root-dir="$targetRoot"
if [ "$plymouth_enabled" != 0 ]; then
plymouth update-root-fs --new-root-dir="$targetRoot"
fi
'';
# `mkBefore` to ensure that any custom prompts would be visible.
boot.initrd.preFailCommands = mkIf (!config.boot.initrd.systemd.enable) (mkBefore ''
plymouth quit --wait
if [ "$plymouth_enabled" != 0 ]; then
plymouth quit --wait
fi
'');
};

View file

@ -67,14 +67,14 @@ import ./make-test-python.nix (
log("Opening homepage")
driver.get("https://server:9090")
wait = WebDriverWait(driver, 60)
def wait_elem(by, query):
def wait_elem(by, query, timeout=10):
wait = WebDriverWait(driver, timeout)
wait.until(EC.presence_of_element_located((by, query)))
def wait_title_contains(title):
def wait_title_contains(title, timeout=10):
wait = WebDriverWait(driver, timeout)
wait.until(EC.title_contains(title))
@ -121,6 +121,12 @@ import ./make-test-python.nix (
assert "Web console is running in limited access mode" in driver.page_source
log("Clicking the sudo button")
driver.switch_to.default_content()
driver.find_element(By.CSS_SELECTOR, 'button.ct-locked').click()
log("Checking that /nonexistent is not a thing")
assert '/nonexistent' not in driver.page_source
driver.close()
'';
in
@ -136,12 +142,8 @@ import ./make-test-python.nix (
testScript = ''
start_all()
server.wait_for_unit("sockets.target")
server.wait_for_open_port(9090)
server.wait_for_unit("network.target")
server.wait_for_unit("multi-user.target")
server.systemctl("start", "polkit")
client.wait_for_unit("multi-user.target")
client.succeed("curl -k https://server:9090 -o /dev/stderr")
print(client.succeed("whoami"))

View file

@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
fetchpatch,
sane-backends,
libX11,
gtk2,
@ -18,9 +19,47 @@ stdenv.mkDerivation rec {
sha256 = "1ad4zr7rcxpda8yzvfkq1rfjgx9nl6lan5a628wvpdbh3fn9v0z7";
};
preConfigure = ''
sed -e '/SANE_CAP_ALWAYS_SETTABLE/d' -i src/gtkglue.c
'';
# add all fedora patchs. fix gcc-14 build among other things
# https://src.fedoraproject.org/rpms/sane-frontends/tree/main
patches =
let
fetchFedoraPatch =
{ name, hash }:
fetchpatch {
inherit name hash;
url = "https://src.fedoraproject.org/rpms/sane-frontends/raw/89f752d7e236e86be8d64b7ac6991a36f9e9f7d0/f/${name}";
};
in
map fetchFedoraPatch [
{
name = "0001-src-scanadf.c-Fix-segfault-when-scanadf-h-d-device.patch";
hash = "sha256-sSUWm5fL7YTebzXh3Thb/qwgr7d++1Y+74uI8R5oF0g=";
}
{
name = "frontends-scanadf-segv.patch";
hash = "sha256-VRag9nMk8ZCjg9Oq0siHdT8J6sbNjq9cU2ktOH2vkLo=";
}
{
name = "sane-frontends-1.0.14-array-out-of-bounds.patch";
hash = "sha256-a0lzbAogSrXsK5jVeNffDS+zFxpuDHXpHQlOJ5874+U=";
}
{
name = "sane-frontends-1.0.14-sane-backends-1.0.20.patch";
hash = "sha256-ViYjxXGj58P6EaZ+fIiAydrgbyS1ivn39uN3EWcvnZg=";
}
{
name = "sane-frontends-1.0.14-xcam-man.patch";
hash = "sha256-HGANgQPujn/jjOMGs9LlzYvYZphMWwbsI74NCad5ADc=";
}
{
name = "sane-frontends-c99.patch";
hash = "sha256-LPELEG11wEom05ECAMgXUDRWvrbuU4nT3apuS1eITyA=";
}
{
name = "sane-frontends-configure-c99.patch";
hash = "sha256-SPvMDCZv8VRGP+cXRFjVbqgbTeVhdLOTEQbbBgSMLvY=";
}
];
buildInputs = [
sane-backends

View file

@ -14,7 +14,6 @@
git,
glib,
glib-networking,
gnused,
gnutls,
json-glib,
krb5,
@ -31,21 +30,20 @@
pkg-config,
polkit,
python3Packages,
runtimeShell,
systemd,
udev,
xmlto,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit";
version = "328";
version = "331";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit";
rev = "refs/tags/${version}";
hash = "sha256-0iCFMwnPtbrCXZMQQB0C7xtvGHFLMPk8otgMrJmVxXw=";
tag = finalAttrs.version;
hash = "sha256-G0L1ZcvjUCSNkDvYoyConymZ4bsEye03t5K15EyI008=";
fetchSubmodules = true;
};
@ -87,29 +85,30 @@ stdenv.mkDerivation rec {
echo "#!/bin/sh" > test/node_modules
substituteInPlace src/tls/cockpit-certificate-helper.in \
--replace 'COCKPIT_CONFIG="@sysconfdir@/cockpit"' 'COCKPIT_CONFIG=/etc/cockpit'
--replace-fail 'COCKPIT_CONFIG="@sysconfdir@/cockpit"' 'COCKPIT_CONFIG=/etc/cockpit'
substituteInPlace src/tls/cockpit-certificate-ensure.c \
--replace '#define COCKPIT_SELFSIGNED_PATH PACKAGE_SYSCONF_DIR COCKPIT_SELFSIGNED_FILENAME' '#define COCKPIT_SELFSIGNED_PATH "/etc" COCKPIT_SELFSIGNED_FILENAME'
--replace-fail '#define COCKPIT_SELFSIGNED_PATH PACKAGE_SYSCONF_DIR COCKPIT_SELFSIGNED_FILENAME' '#define COCKPIT_SELFSIGNED_PATH "/etc" COCKPIT_SELFSIGNED_FILENAME'
substituteInPlace src/common/cockpitconf.c \
--replace 'const char *cockpit_config_dirs[] = { PACKAGE_SYSCONF_DIR' 'const char *cockpit_config_dirs[] = { "/etc"'
--replace-fail 'const char *cockpit_config_dirs[] = { PACKAGE_SYSCONF_DIR' 'const char *cockpit_config_dirs[] = { "/etc"'
# instruct users with problems to create a nixpkgs issue instead of nagging upstream directly
substituteInPlace configure.ac \
--replace 'devel@lists.cockpit-project.org' 'https://github.com/NixOS/nixpkgs/issues/new?assignees=&labels=0.kind%3A+bug&template=bug_report.md&title=cockpit%25'
--replace-fail 'devel@lists.cockpit-project.org' 'https://github.com/NixOS/nixpkgs/issues/new?assignees=&labels=0.kind%3A+bug&template=bug_report.md&title=cockpit%25'
patchShebangs \
build.js \
test/common/pixel-tests \
test/common/run-tests \
test/common/tap-cdp \
test/static-code \
tools/escape-to-c \
tools/make-compile-commands \
tools/node-modules \
tools/termschutz \
tools/webpack-make.js
tools/webpack-make.js \
tools/test-driver \
test/common/static-code
for f in node_modules/.bin/*; do
patchShebangs $(realpath $f)
@ -122,17 +121,23 @@ stdenv.mkDerivation rec {
for f in pkg/**/*.js pkg/**/*.jsx test/**/* src/**/*; do
# some files substituteInPlace report as missing and it's safe to ignore them
substituteInPlace "$(realpath "$f")" \
--replace '"/usr/bin/' '"' \
--replace '"/bin/' '"' || true
--replace-quiet '"/usr/bin/' '"' \
--replace-quiet '"/bin/' '"' || true
done
substituteInPlace src/common/Makefile-common.am \
--replace 'TEST_PROGRAM += test-pipe' "" # skip test-pipe because it hangs the build
--replace-warn 'TEST_PROGRAM += test-pipe' "" # skip test-pipe because it hangs the build
substituteInPlace src/ws/Makefile-ws.am \
--replace-warn 'TEST_PROGRAM += test-compat' ""
substituteInPlace test/pytest/*.py \
--replace "'bash" "'${bashInteractive}/bin/bash"
--replace-quiet "'bash" "'${bashInteractive}/bin/bash"
echo "m4_define(VERSION_NUMBER, [${version}])" > version.m4
echo "m4_define(VERSION_NUMBER, [${finalAttrs.version}])" > version.m4
# hardcode libexecdir, I am assuming that cockpit only use it to find it's binaries
printf 'def get_libexecdir() -> str:\n\treturn "%s"' "$out/libexec" >> src/cockpit/packages.py
'';
configureFlags = [
@ -140,34 +145,15 @@ stdenv.mkDerivation rec {
"--disable-pcp" # TODO: figure out how to package its dependency
"--with-default-session-path=/run/wrappers/bin:/run/current-system/sw/bin"
"--with-admin-group=root" # TODO: really? Maybe "wheel"?
"--enable-old-bridge=yes"
];
enableParallelBuilding = true;
preBuild = ''
patchShebangs \
tools/test-driver
'';
postBuild = ''
chmod +x \
src/systemd/update-motd \
src/tls/cockpit-certificate-helper \
src/ws/cockpit-desktop
patchShebangs \
src/systemd/update-motd \
src/tls/cockpit-certificate-helper \
src/ws/cockpit-desktop
substituteInPlace src/ws/cockpit-desktop \
--replace ' /bin/bash' ' ${runtimeShell}'
'';
fixupPhase = ''
runHook preFixup
patchShebangs $out/libexec/*
wrapProgram $out/libexec/cockpit-certificate-helper \
--prefix PATH : ${
lib.makeBinPath [
@ -177,41 +163,40 @@ stdenv.mkDerivation rec {
} \
--run 'cd $(mktemp -d)'
wrapProgram $out/share/cockpit/motd/update-motd \
--prefix PATH : ${lib.makeBinPath [ gnused ]}
wrapProgram $out/bin/cockpit-bridge \
--prefix PYTHONPATH : $out/${python3Packages.python.sitePackages}
substituteInPlace $out/${python3Packages.python.sitePackages}/cockpit/_vendor/systemd_ctypes/libsystemd.py \
--replace-fail libsystemd.so.0 ${systemd}/lib/libsystemd.so.0
--replace-warn libsystemd.so.0 ${systemd}/lib/libsystemd.so.0
substituteInPlace $out/share/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy \
--replace-fail /usr $out
substituteInPlace $out/lib/systemd/*/* \
--replace-warn /bin /run/current-system/sw/bin
runHook postFixup
'';
doCheck = true;
nativeCheckInputs = [ python3Packages.pytestCheckHook ];
checkInputs = [
bashInteractive
cacert
dbus
glib-networking
openssh
python3Packages.pytest
];
checkPhase = ''
preCheck = ''
export GIO_EXTRA_MODULES=$GIO_EXTRA_MODULES:${glib-networking}/lib/gio/modules
export G_DEBUG=fatal-criticals
export G_MESSAGES_DEBUG=cockpit-ws,cockpit-wrapper,cockpit-bridge
export PATH=$PATH:$(pwd)
make pytest -j$NIX_BUILD_CORES || true
make check -j$NIX_BUILD_CORES || true
test/static-code
npm run eslint
npm run stylelint || true
npm run stylelint
'';
passthru = {
@ -219,11 +204,12 @@ stdenv.mkDerivation rec {
updateScript = nix-update-script { };
};
meta = with lib; {
meta = {
description = "Web-based graphical interface for servers";
mainProgram = "cockpit-bridge";
homepage = "https://cockpit-project.org/";
license = licenses.lgpl21;
maintainers = with maintainers; [ lucasew ];
changelog = "https://cockpit-project.org/blog/cockpit-${finalAttrs.version}.html";
license = lib.licenses.lgpl21;
maintainers = [ lib.maintainers.lucasew ];
};
}
})

View file

@ -6,15 +6,15 @@
stateDir ? "/var/lib/dolibarr",
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "dolibarr";
version = "20.0.2";
version = "20.0.3";
src = fetchFromGitHub {
owner = "Dolibarr";
repo = "dolibarr";
tag = version;
hash = "sha256-5OEZpBxTYXhO27ea/GBmJI9uDLRDgMNc9ehQ7mvvSrY=";
tag = finalAttrs.version;
hash = "sha256-JqCDFdOkVQb9zH/ZCm7LsQktYDXXaB+0lS3HWqxE3YM=";
};
dontBuild = true;
@ -40,9 +40,9 @@ stdenv.mkDerivation rec {
meta = {
description = "Enterprise resource planning (ERP) and customer relationship manager (CRM) server";
changelog = "https://github.com/Dolibarr/dolibarr/releases/tag/${src.tag}";
changelog = "https://github.com/Dolibarr/dolibarr/releases/tag/${finalAttrs.version}";
homepage = "https://dolibarr.org/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
})

File diff suppressed because it is too large Load diff

View file

@ -1,93 +1,118 @@
{
lib,
rustPlatform,
buildGoModule,
stdenv,
fetchFromGitHub,
pnpm_9,
wrapGAppsHook3,
cargo-tauri_1,
darwin,
cacert,
cargo-tauri,
cmake,
curl,
desktop-file-utils,
esbuild,
fetchFromGitHub,
git,
glib-networking,
jq,
nodejs,
pkg-config,
libsoup,
libgit2,
makeBinaryWrapper,
moreutils,
openssl,
rust,
webkitgtk_4_0,
nix-update-script,
cacert,
nodejs,
openssl,
pkg-config,
pnpm_9,
rust,
rustPlatform,
turbo,
webkitgtk_4_1,
wrapGAppsHook4,
yq,
}:
let
excludeSpec = spec: [
"--exclude"
spec
];
in
rustPlatform.buildRustPackage rec {
pname = "gitbutler";
version = "0.12.16";
version = "0.14.4";
src = fetchFromGitHub {
owner = "gitbutlerapp";
repo = "gitbutler";
rev = "release/${version}";
hash = "sha256-L4PVaNb3blpLIcyA7XLc71qwUPUADclxvbOkq1Jc1no=";
tag = "release/${version}";
hash = "sha256-JeiiV7OXRI4xTTQp1dXqT1ozTrIc7cltvZ6yVOhcjGU=";
};
# deactivate the upstream updater in tauri configuration & set the version
# Deactivate the upstream updater, set the version, and merge Tauri's
# configuration files
#
# Remove references to non-existent workspaces in `gix` crates
postPatch = ''
tauri_conf="crates/gitbutler-tauri/tauri.conf.release.json"
jq '.package.version = "${version}" | .tauri.updater.active = false' "$tauri_conf" | sponge "$tauri_conf"
jq --slurp \
'.[0] * .[1]
| .version = "${version}"
| .bundle.createUpdaterArtifacts = false
| .plugins.updater.endpoints = [ ]' \
crates/gitbutler-tauri/tauri.conf{,.release}.json \
| sponge crates/gitbutler-tauri/tauri.conf.json
tomlq -ti 'del(.lints) | del(.workspace.lints)' "$cargoDepsCopy"/gix*/Cargo.toml
'';
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"tauri-plugin-context-menu-0.7.1" = "sha256-vKfq20hrFLmfoXO94D8HwAE3UdGcuqVZf3+tOBhLqj0=";
"tauri-plugin-log-0.0.0" = "sha256-gde2RS5NFA0Xap/Xb7XOeVQ/5t2Nw+j+HOwfeJmSNMU=";
};
};
useFetchCargoVendor = true;
cargoHash = "sha256-ooe9in3JfEPMbZSMjobVJpWZdqBTf2AsfEkcsQc0Fts=";
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version src;
hash = "sha256-rlEwFwN6DrOJZm1Hzy6qu7rLKQx69rRIqrScx9FExZM=";
hash = "sha256-bLuKG+7QncLwiwKDrlcHKaSrUmDaJUxdvpdv0Jc6UPo=";
};
nativeBuildInputs = [
cargo-tauri_1.hook
cacert # Required by turbo
cargo-tauri.hook
cmake # Required by `zlib-sys` crate
desktop-file-utils
jq
moreutils
nodejs
pkg-config
pnpm_9.configHook
wrapGAppsHook3
cacert
];
turbo
wrapGAppsHook4
yq # For `tomlq`
] ++ lib.optional stdenv.hostPlatform.isDarwin makeBinaryWrapper;
buildInputs =
[ openssl ]
[
libgit2
openssl
]
++ lib.optional stdenv.hostPlatform.isDarwin curl
++ lib.optionals stdenv.hostPlatform.isLinux [
glib-networking
libsoup
webkitgtk_4_0
]
++ lib.optionals stdenv.hostPlatform.isDarwin (
with darwin.apple_sdk.frameworks;
[
AppKit
CoreServices
Security
WebKit
]
);
webkitgtk_4_1
];
# extended release configuration
tauriBuildFlags = [ "--config crates/gitbutler-tauri/tauri.conf.release.json" ];
tauriBuildFlags = [
"--config"
"crates/gitbutler-tauri/tauri.conf.json"
];
nativeCheckInputs = [ git ];
# `gitbutler-git`'s checks do not support release mode
checkType = "debug";
cargoTestFlags =
[
"--workspace"
]
# Errors with "Lazy instance has previously been poisoned"
++ excludeSpec "gitbutler-branch-actions"
++ excludeSpec "gitbutler-stack";
env = {
# make sure `crates/gitbutler-tauri/inject-git-binaries.sh` can find our
# Make sure `crates/gitbutler-tauri/inject-git-binaries.sh` can find our
# target dir
# https://github.com/gitbutlerapp/gitbutler/blob/56b64d778042d0e93fa362f808c35a7f095ab1d1/crates/gitbutler-tauri/inject-git-binaries.sh#L10C10-L10C26
TRIPLE_OVERRIDE = rust.envVars.rustHostPlatformSpec;
@ -95,64 +120,30 @@ rustPlatform.buildRustPackage rec {
# `pnpm`'s `fetchDeps` and `configHook` uses a specific version of pnpm, not upstream's
COREPACK_ENABLE_STRICT = 0;
# disable turbo telemetry
TURBO_TELEMETRY_DEBUG = 1;
# we depend on nightly features
# We depend on nightly features
RUSTC_BOOTSTRAP = 1;
# we also need to have `tracing` support in `tokio` for `console-subscriber`
# We also need to have `tracing` support in `tokio` for `console-subscriber`
RUSTFLAGS = "--cfg tokio_unstable";
ESBUILD_BINARY_PATH = lib.getExe (
esbuild.override {
buildGoModule =
args:
buildGoModule (
args
// rec {
version = "0.20.2";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
hash = "sha256-h/Vqwax4B4nehRP9TaYbdixAZdb1hx373dNxNHvDrtY=";
};
TUBRO_BINARY_PATH = lib.getExe turbo;
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
}
);
}
);
# Needed to get openssl-sys to use pkgconfig.
OPENSSL_NO_VENDOR = true;
LIBGIT2_NO_VENDOR = 1;
};
preBuild = ''
pushd packages/ui
pnpm package
popd
'';
postInstall =
lib.optionalString stdenv.hostPlatform.isDarwin ''
mv $out/Applications/GitButler.app/Contents/MacOS/GitButler $out/bin/git-butler
ln -s $out/bin/git-butler $out/Applications/GitButler.app/Contents/MacOS/GitButler
makeBinaryWrapper $out/Applications/GitButler.app/Contents/MacOS/gitbutler-tauri $out/bin/gitbutler-tauri
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
desktop-file-edit \
--set-comment "A Git client for simultaneous branches on top of your existing workflow." \
--set-key="Keywords" --set-value="git;" \
--set-key="StartupWMClass" --set-value="GitButler" \
$out/share/applications/git-butler.desktop
$out/share/applications/GitButler.desktop
'';
# the `gitbutler-git` crate's checks do not support release mode
checkType = "debug";
nativeCheckInputs = [ git ];
passthru = {
updateScript = nix-update-script {
extraArgs = [
@ -166,12 +157,12 @@ rustPlatform.buildRustPackage rec {
description = "Git client for simultaneous branches on top of your existing workflow";
homepage = "https://gitbutler.com";
changelog = "https://github.com/gitbutlerapp/gitbutler/releases/tag/release/${version}";
mainProgram = "git-butler";
license = lib.licenses.fsl11Mit;
maintainers = with lib.maintainers; [
getchoo
techknowlogick
];
mainProgram = "gitbutler-tauri";
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}

View file

@ -0,0 +1,91 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
intel-gmmlib,
intel-graphics-compiler,
level-zero,
libva,
gitUpdater,
}:
let
inherit (lib) cmakeBool;
in
stdenv.mkDerivation rec {
# https://github.com/intel/compute-runtime/blob/master/LEGACY_PLATFORMS.md
pname = "intel-compute-runtime-legacy1";
version = "24.35.30872.32"; # 24.35.30872.x is the last series to support Gen8, Gen9 and Gen11 GPU support
src = fetchFromGitHub {
owner = "intel";
repo = "compute-runtime";
rev = version;
hash = "sha256-POImMopbrhVXuSx2MQ9mwPNKQx7BljyikKhu6M4hZME=";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
intel-gmmlib
intel-graphics-compiler
libva
level-zero
];
cmakeFlags = [
"-DSKIP_UNIT_TESTS=1"
"-DIGC_DIR=${intel-graphics-compiler}"
"-DOCL_ICD_VENDORDIR=${placeholder "out"}/etc/OpenCL/vendors"
# The install script assumes this path is relative to CMAKE_INSTALL_PREFIX
"-DCMAKE_INSTALL_LIBDIR=lib"
(cmakeBool "NEO_LEGACY_PLATFORMS_SUPPORT" true)
];
outputs = [
"out"
"drivers"
];
# causes redefinition of _FORTIFY_SOURCE
hardeningDisable = [ "fortify3" ];
postInstall = ''
# Avoid clash with intel-ocl
mv $out/etc/OpenCL/vendors/intel.icd $out/etc/OpenCL/vendors/intel-neo.icd
mkdir -p $drivers/lib
mv -t $drivers/lib $out/lib/libze_intel*
'';
postFixup = ''
patchelf --set-rpath ${
lib.makeLibraryPath [
intel-gmmlib
intel-graphics-compiler
libva
stdenv.cc.cc
]
} \
$out/lib/intel-opencl/libigdrcl.so
'';
passthru.updateScript = gitUpdater {
rev-prefix = "24.35.30872.";
};
meta = with lib; {
description = "Intel Graphics Compute Runtime for OpenCL with support for Gen8, Gen9 and Gen11 GPUs.d";
mainProgram = "ocloc";
homepage = "https://github.com/intel/compute-runtime";
changelog = "https://github.com/intel/compute-runtime/releases/tag/${version}";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ fleaz ];
};
}

View file

@ -421,20 +421,21 @@ dependencies = [
[[package]]
name = "boring"
version = "4.9.0"
source = "git+https://github.com/signalapp/boring?tag=signal-v4.9.0b#3d4180b232d332a86ee3b41d1a622b0f1c1c6037"
version = "4.13.0"
source = "git+https://github.com/signalapp/boring?tag=signal-v4.13.0#1af143f50937bce6a9a9c7405ec824a9153c8ba0"
dependencies = [
"bitflags",
"boring-sys",
"foreign-types",
"libc",
"once_cell",
"openssl-macros",
]
[[package]]
name = "boring-sys"
version = "4.9.0"
source = "git+https://github.com/signalapp/boring?tag=signal-v4.9.0b#3d4180b232d332a86ee3b41d1a622b0f1c1c6037"
version = "4.13.0"
source = "git+https://github.com/signalapp/boring?tag=signal-v4.13.0#1af143f50937bce6a9a9c7405ec824a9153c8ba0"
dependencies = [
"autocfg",
"bindgen",
@ -1244,6 +1245,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253"
dependencies = [
"crc32fast",
"libz-sys",
"miniz_oxide",
]
@ -1837,6 +1839,11 @@ dependencies = [
"generic-array",
]
[[package]]
name = "intmap"
version = "2.0.0"
source = "git+https://github.com/JesperAxelsson/rust-intmap?rev=e7edd6e8fb452506ca2570e91f62b14dc29a950c#e7edd6e8fb452506ca2570e91f62b14dc29a950c"
[[package]]
name = "ipnet"
version = "2.10.0"
@ -2185,7 +2192,7 @@ dependencies = [
[[package]]
name = "libsignal-ffi"
version = "0.62.0"
version = "0.64.1"
dependencies = [
"cpufeatures",
"futures-util",
@ -2200,10 +2207,11 @@ dependencies = [
[[package]]
name = "libsignal-jni"
version = "0.62.0"
version = "0.64.1"
dependencies = [
"cfg-if",
"cpufeatures",
"flate2",
"jni 0.19.0",
"jni 0.21.1",
"libsignal-bridge",
@ -2216,7 +2224,7 @@ dependencies = [
[[package]]
name = "libsignal-jni-testing"
version = "0.62.0"
version = "0.64.1"
dependencies = [
"jni 0.21.1",
"libsignal-bridge-testing",
@ -2258,15 +2266,18 @@ dependencies = [
"cbc",
"clap",
"clap-stdin",
"criterion",
"derive-where",
"dir-test",
"displaydoc",
"env_logger",
"flate2",
"futures",
"hex",
"hex-literal",
"hkdf",
"hmac",
"intmap",
"itertools 0.13.0",
"json5",
"libsignal-account-keys",
@ -2284,6 +2295,7 @@ dependencies = [
"protobuf",
"protobuf-codegen",
"protobuf-json-mapping",
"rand",
"serde",
"serde_json",
"sha2",
@ -2296,6 +2308,7 @@ dependencies = [
"thiserror",
"usernames",
"uuid",
"visibility",
"zkcredential",
"zkgroup",
]
@ -2422,12 +2435,13 @@ dependencies = [
"tokio-util",
"tungstenite 0.23.0",
"url",
"visibility",
"warp",
]
[[package]]
name = "libsignal-node"
version = "0.62.0"
version = "0.64.1"
dependencies = [
"cmake",
"futures",
@ -2510,6 +2524,17 @@ dependencies = [
"zerocopy",
]
[[package]]
name = "libz-sys"
version = "1.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472"
dependencies = [
"cc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "linkme"
version = "0.3.28"
@ -2948,6 +2973,17 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "openssl-macros"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.77",
]
[[package]]
name = "openssl-probe"
version = "0.1.5"
@ -3148,6 +3184,12 @@ dependencies = [
"spki",
]
[[package]]
name = "pkg-config"
version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
[[package]]
name = "plotters"
version = "0.3.7"
@ -4457,8 +4499,8 @@ dependencies = [
[[package]]
name = "tokio-boring"
version = "4.9.0"
source = "git+https://github.com/signalapp/boring?tag=signal-v4.9.0b#3d4180b232d332a86ee3b41d1a622b0f1c1c6037"
version = "4.13.0"
source = "git+https://github.com/signalapp/boring?tag=signal-v4.13.0#1af143f50937bce6a9a9c7405ec824a9153c8ba0"
dependencies = [
"boring",
"boring-sys",
@ -4803,12 +4845,29 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
name = "vcpkg"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "version_check"
version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]]
name = "visibility"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d674d135b4a8c1d7e813e2f8d1c9a58308aee4a680323066025e53132218bd91"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.77",
]
[[package]]
name = "wait-timeout"
version = "0.2.0"

View file

@ -22,14 +22,14 @@ rustPlatform.buildRustPackage rec {
pname = "libsignal-ffi";
# must match the version used in mautrix-signal
# see https://github.com/mautrix/signal/issues/401
version = "0.62.0";
version = "0.64.1";
src = fetchFromGitHub {
fetchSubmodules = true;
owner = "signalapp";
repo = "libsignal";
rev = "v${version}";
hash = "sha256-+tY00a5NJflVkSVESFhaP1B5qqZs72AwZM9pCIrAQRk=";
hash = "sha256-36z8Tgf3w0ZDLOS7hMTeVbZLiq/M/es6+sL8rEWtps4=";
};
buildInputs = lib.optional stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ];
@ -40,12 +40,14 @@ rustPlatform.buildRustPackage rec {
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcodebuild ];
env.BORING_BSSL_PATH = "${boringssl-wrapper}";
env.NIX_LDFLAGS = "-lstdc++";
# The Cargo.lock contains git dependencies
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"boring-4.9.0" = "sha256-zhf0sO6TV4e55k4MxAB/TlXdqd96dg6i674RbuUPrtM=";
"boring-4.13.0" = "sha256-+0LeCN4YtHe84GzkMZog8gCTvrzVNoAYXv04jQXZaUo=";
"intmap-2.0.0" = "sha256-PGlkaZl+DYS4QkpJFfUf+2unVKwd9vLNF0N+/YFg8qE=";
"curve25519-dalek-4.1.3" = "sha256-bPh7eEgcZnq9C3wmSnnYv0C4aAP+7pnwk9Io29GrI4A=";
};
};

View file

@ -2,6 +2,7 @@
lib,
python3Packages,
fetchFromGitHub,
fetchpatch2,
}:
python3Packages.buildPythonApplication {
@ -16,6 +17,25 @@ python3Packages.buildPythonApplication {
hash = "sha256-O0Zzog+5jDixFRGbqmjPYi6JDpHbxpU4hKfsqTnexS8=";
};
patches = [
# Normalization of metric names
# https://github.com/sanecz/prometheus-rasdaemon-exporter/pull/1
(fetchpatch2 {
url = "https://github.com/sanecz/prometheus-rasdaemon-exporter/commit/46d379ba205c2340a0b266bf3cd48ec88ce025d0.patch";
hash = "sha256-kqo1Tjn51M1FzArS4K0ylQ2/rFDOAiZU3OUt/oBhGhM=";
})
(fetchpatch2 {
url = "https://github.com/sanecz/prometheus-rasdaemon-exporter/commit/c9ab08e8918497edb8f1ab0f933fa270cb7860a8.patch";
hash = "sha256-QtjzXuxPG7e+cgUDVbAVNY4VyBp3W5+vQDAvFJ9t92I=";
})
# Fix sqlite3.connect URI passing
# https://github.com/sanecz/prometheus-rasdaemon-exporter/pull/2
(fetchpatch2 {
url = "https://github.com/sanecz/prometheus-rasdaemon-exporter/commit/52f6c47b77f480cd7f83853a2baffffb45f77b37.patch";
hash = "sha256-XYeWMkAhWJIOUKLeTstIJr3P37Jwt8tzRURCvlrrxVs=";
})
];
build-system = with python3Packages; [
setuptools
setuptools-scm

View file

@ -12,18 +12,19 @@
pkg-config,
autoreconfHook,
libiconv,
fetchpatch,
enableCredssp ? (!stdenv.hostPlatform.isDarwin),
}:
stdenv.mkDerivation (rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rdesktop";
version = "1.9.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "1s6k1jwd28y38ymk3lfv76ch4arpfwrbdhpkbnwwy3fc4617gb78";
owner = "rdesktop";
repo = "rdesktop";
tag = "v${finalAttrs.version}";
hash = "sha256-6Kx3giHMDc+5XfPCtjJ3NysCmTnb0TGrR8Mj0bgM0+g=";
};
nativeBuildInputs = [
@ -48,6 +49,18 @@ stdenv.mkDerivation (rec {
"--disable-smartcard"
] ++ lib.optional (!enableCredssp) "--disable-credssp";
patches = [
./rdesktop-configure-c99.patch
(fetchpatch {
url = "https://github.com/rdesktop/rdesktop/commit/105c8cb69facf26238cd48f14ca9dbc0ff6be6bd.patch";
hash = "sha256-3/y7JaKDyULhlzwP3bsA8kOq7g4AvWUi50gxkCZ8sbU=";
})
(fetchpatch {
url = "https://github.com/rdesktop/rdesktop/commit/53ba87dc174175e98332e22355ad8662c02880d6.patch";
hash = "sha256-ORGHdabSu9kVkNovweqFVS53dx6NbiryPlgi6Qp83BA=";
})
];
meta = {
description = "Open source client for Windows Terminal Services";
mainProgram = "rdesktop";

View file

@ -0,0 +1,24 @@
Avoid spurious implicit int/implicit function declaration errors in the
statvfs64 check (which still fails on Fedora; statvfs is used instead).
Submitted upstream: <https://github.com/rdesktop/rdesktop/pull/407>
diff --git a/configure.ac b/configure.ac
index 1ab12a83b01f8a47..b5092b0f8cab520f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -668,12 +668,13 @@ if test $space = no; then
# SVR4
AC_CACHE_CHECK([statvfs64 function (SVR4)], fu_cv_sys_stat_statvfs64,
[AC_TRY_RUN([
+#include <stdlib.h>
#if defined(HAVE_UNISTD_H)
#include <unistd.h>
#endif
#include <sys/types.h>
#include <sys/statvfs.h>
- main ()
+ int main (void)
{
struct statvfs64 fsd;
exit (statvfs64 (".", &fsd));

View file

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
description = "Small command-line utilities";
homepage = "https://github.com/baskerville/sutils";
maintainers = [ lib.maintainers.meisternu ];
license = "Custom";
license = lib.licenses.unlicense;
platforms = lib.platforms.linux;
};
}

View file

@ -0,0 +1,19 @@
diff --git a/src/main/settings.ts b/src/main/settings.ts
index 6fad97f..dfc64e3 100644
--- a/src/main/settings.ts
+++ b/src/main/settings.ts
@@ -26,8 +26,12 @@ function loadSettings<T extends object = any>(file: string, name: string) {
const store = new SettingsStore(settings);
store.addGlobalChangeListener(o => {
- mkdirSync(dirname(file), { recursive: true });
- writeFileSync(file, JSON.stringify(o, null, 4));
+ try {
+ mkdirSync(dirname(file), { recursive: true });
+ writeFileSync(file, JSON.stringify(o, null, 4));
+ } catch (e) {
+ console.error("Nix: Failed to write settings.", e);
+ }
});
return store;

View file

@ -24,13 +24,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "vesktop";
version = "1.5.3";
version = "1.5.4";
src = fetchFromGitHub {
owner = "Vencord";
repo = "Vesktop";
rev = "v${finalAttrs.version}";
hash = "sha256-HlT7ddlrMHG1qOCqdaYjuWhJD+5FF1Nkv2sfXLWd07o=";
hash = "sha256-zvyDKgNTRha7Z7KGAA7x9LRJrL+1zyb5TZEFFK8Ffrc=";
};
pnpmDeps = pnpm_9.fetchDeps {
@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
src
patches
;
hash = "sha256-BOVjbaDbZw6H6X8o945M0Bx6fqnRQjFBviOLkTYVJ1I=";
hash = "sha256-GSAOdvd8X4dQNTDZMnzc4oMY54TKvdPuAOMb6DRzCEM=";
};
nativeBuildInputs =
@ -69,7 +69,10 @@ stdenv.mkDerivation (finalAttrs: {
];
patches =
[ ./disable_update_checking.patch ]
[
./disable_update_checking.patch
./fix_read_only_settings.patch
]
++ lib.optional withSystemVencord (substituteAll {
inherit vencord;
src = ./use_system_vencord.patch;

View file

@ -2,45 +2,49 @@
lib,
buildPythonPackage,
fetchPypi,
requests,
urllib3,
packaging,
# build-system
setuptools,
setuptools-scm,
# dependencies
packaging,
requests,
urllib3,
}:
buildPythonPackage rec {
pname = "qbittorrent-api";
version = "2024.11.70";
version = "2024.12.71";
pyproject = true;
src = fetchPypi {
pname = "qbittorrent_api";
inherit version;
hash = "sha256-4UqOrWhZHyu39pF7aLvZUOFjFgTSpbSlXFLrPPOWrzA=";
hash = "sha256-S7YqwHWCbUdSneViiWvZf+hSfS9VhRrDYR17IhxFB+I=";
};
propagatedBuildInputs = [
requests
urllib3
packaging
];
nativeBuildInputs = [
build-system = [
setuptools
setuptools-scm
];
dependencies = [
packaging
requests
urllib3
];
# Tests require internet access
doCheck = false;
pythonImportsCheck = [ "qbittorrentapi" ];
meta = with lib; {
meta = {
description = "Python client implementation for qBittorrent's Web API";
homepage = "https://github.com/rmartin16/qbittorrent-api";
changelog = "https://github.com/rmartin16/qbittorrent-api/blob/v${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ savyajha ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ savyajha ];
};
}

View file

@ -12,8 +12,8 @@ let
hash = "sha256-2qJ6C1QbxjUyP/lsLe2ZVGf/n+bWn/ZwIVWKqa2dzDY=";
};
"9" = {
version = "9.15.1";
hash = "sha256-nlNOcK/vBjdPYSa0S9pXYJRxNc4WowrvEBDpZft+Pj4=";
version = "9.15.2";
hash = "sha256-AiMJuzE1kUK2W/qIngQG0u69Ws//ykfmlErPKdnWpms=";
};
};

View file

@ -14,12 +14,12 @@ let
# kernel config in the xanmod version commit
variants = {
lts = {
version = "6.6.67";
hash = "sha256-ePZAs+TWroyDSKx+ubZeNRr/lA8zuqp3m0Cs5yE18JE=";
version = "6.6.68";
hash = "sha256-fuPJgbDJ2PLB74fy/WFnhGdTEKJMeNwsbWm6RVM4Jes=";
};
main = {
version = "6.12.6";
hash = "sha256-Pao4tS3SjllOkRrH+k/+9JqLIEOrNqJTFlHZ4cp2OF8=";
version = "6.12.7";
hash = "sha256-sM9XINKBGRcO29o3kEIKM03t/XojG9nYLirQSBii8Y4=";
};
};

View file

@ -16,13 +16,13 @@
buildGoModule rec {
pname = "mautrix-signal";
version = "0.7.3";
version = "0.7.4";
src = fetchFromGitHub {
owner = "mautrix";
repo = "signal";
rev = "v${version}";
hash = "sha256-VU0VZkh1sjOuSI+/JXZKWQF5pZ3NebBFbDdsOgaocg4=";
hash = "sha256-1UI2oYDnmwy9+URBMA2yTBMEoFsE8qnkhn7E0l/lOTs=";
};
buildInputs =
@ -38,7 +38,7 @@ buildGoModule rec {
CGO_LDFLAGS = lib.optional withGoolm [ "-lstdc++" ];
vendorHash = "sha256-fERAigormEy6+240AOkMyrjMDj5/eU0Lo4wD0AuAn+4=";
vendorHash = "sha256-ADuW6KMNUwJeGqFlQsJ8qSI0alPQpSAFx1zrhwsAmsI=";
doCheck = true;
preCheck =

View file

@ -11,14 +11,14 @@
stdenv.mkDerivation rec {
pname = "snac2";
version = "2.66";
version = "2.67";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "grunfink";
repo = pname;
rev = version;
hash = "sha256-JArXXuWS60tXShYD4bKwHRPlbLRALZTnwn3iYBhhD2s=";
hash = "sha256-40jYkFLdEmvOUK5+Ep91NY8JVfw3OTIh0wEffjRC9wY=";
};
buildInputs = [