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:
commit
9e62b94e42
23 changed files with 492 additions and 8843 deletions
|
@ -109,6 +109,7 @@ in
|
|||
"AF_INET"
|
||||
"AF_INET6"
|
||||
"AF_NETLINK"
|
||||
"AF_UNIX"
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
'');
|
||||
|
||||
};
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
8457
pkgs/by-name/gi/gitbutler/Cargo.lock
generated
8457
pkgs/by-name/gi/gitbutler/Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
91
pkgs/by-name/in/intel-compute-runtime-legacy1/package.nix
Normal file
91
pkgs/by-name/in/intel-compute-runtime-legacy1/package.nix
Normal 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 ];
|
||||
};
|
||||
}
|
79
pkgs/by-name/li/libsignal-ffi/Cargo.lock
generated
79
pkgs/by-name/li/libsignal-ffi/Cargo.lock
generated
|
@ -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"
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
24
pkgs/by-name/rd/rdesktop/rdesktop-configure-c99.patch
Normal file
24
pkgs/by-name/rd/rdesktop/rdesktop-configure-c99.patch
Normal 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));
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
19
pkgs/by-name/ve/vesktop/fix_read_only_settings.patch
Normal file
19
pkgs/by-name/ve/vesktop/fix_read_only_settings.patch
Normal 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;
|
|
@ -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;
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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 = [
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue