Merge staging-next-26.05 into staging-26.05

This commit is contained in:
nixpkgs-ci[bot]
2026-06-20 00:52:31 +00:00
committed by GitHub
65 changed files with 1756 additions and 1237 deletions

View File

@@ -6195,7 +6195,7 @@
name = "Daniel Șerbănescu";
};
daskladas = {
email = "xvzrsm@tutanota.de";
email = "mail@daskladas.de";
github = "daskladas";
githubId = 155686186;
name = "Eric Heinemann";
@@ -24192,6 +24192,7 @@
};
ryand56 = {
email = "git@ryand.ca";
matrix = "@ryan:ryand.ca";
github = "ryand56";
githubId = 22267679;
name = "Ryan Omasta";
@@ -26974,6 +26975,12 @@
githubId = 6064962;
name = "TakWolf";
};
talal = {
email = "noreply@talal.ch";
github = "talal";
githubId = 3526562;
name = "Muhammad Talal Anwar";
};
talhaHavadar = {
email = "havadartalha@gmail.com";
github = "talhaHavadar";

View File

@@ -62,6 +62,7 @@ let
"domain"
"dovecot"
"ebpf"
"elasticsearch"
"fail2ban"
"fastly"
"flow"

View File

@@ -0,0 +1,62 @@
{
config,
lib,
pkgs,
utils,
...
}:
let
inherit (lib)
mkIf
mkOption
types
;
inherit (utils) escapeSystemdExecArgs;
cfg = config.services.prometheus.exporters.elasticsearch;
in
{
port = 9114;
extraOpts = {
package = lib.mkPackageOption pkgs "prometheus-elasticsearch-exporter" { };
url = mkOption {
type = types.str;
default = "http://localhost:9200";
example = "https://localhost:9200";
description = ''
URI of the Elasticsearch (or OpenSearch) node to scrape, passed as
`--es.uri`. Any credentials embedded here are overridden by the
`ES_USERNAME`/`ES_PASSWORD` or `ES_API_KEY` environment variables when
{option}`environmentFile` is set.
'';
};
environmentFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/secrets/elasticsearch-exporter.env";
description = ''
Path to an environment file, as defined in {manpage}`systemd.exec(5)`,
used to pass credentials to the exporter without exposing them in the
process arguments. It should contain either `ES_USERNAME` and
`ES_PASSWORD`, or `ES_API_KEY`.
'';
};
};
serviceOpts = {
serviceConfig = {
EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile;
ExecStart = escapeSystemdExecArgs (
[
(lib.getExe cfg.package)
"--web.listen-address=${cfg.listenAddress}:${toString cfg.port}"
"--es.uri=${cfg.url}"
]
++ cfg.extraFlags
);
};
};
}

View File

@@ -50,6 +50,7 @@ in
serviceConfig = {
User = "sing-box";
Group = "sing-box";
ConfigurationDirectory = "sing-box";
StateDirectory = "sing-box";
StateDirectoryMode = "0700";
RuntimeDirectory = "sing-box";
@@ -62,11 +63,15 @@ in
chown --reference=/run/sing-box /run/sing-box/config.json
'';
in
"+${script}";
ExecStart = [
""
"${lib.getExe cfg.package} -D \${STATE_DIRECTORY} -C \${RUNTIME_DIRECTORY} run"
];
lib.mkIf (cfg.settings != { }) "+${script}";
ExecStart =
let
configDir = if cfg.settings != { } then "RUNTIME_DIRECTORY" else "CONFIGURATION_DIRECTORY";
in
[
""
"${lib.getExe cfg.package} -D \${STATE_DIRECTORY} -C \${${configDir}} run"
];
};
# After= is specified by upstream
requires = [ "network-online.target" ];

View File

@@ -1100,7 +1100,9 @@ in
}
{
assertion = config.boot.initrd.systemd.enable -> all (dev: dev.preLVM) (attrValues luks.devices);
message = "boot.initrd.luks.devices.<name>.preLVM is not used by systemd stage 1.";
message = ''
boot.initrd.luks.devices.<name>.preLVM has no effect with systemd stage 1. It can be safely removed from your configuration, and systemd will discover LVM devices automatically at runtime, whether they come before or after LUKS. The preLVM option will be removed in 26.11 along with scripted stage 1.
'';
}
{
assertion =

View File

@@ -436,6 +436,30 @@ let
'';
};
elasticsearch =
{ ... }:
{
exporterConfig = {
enable = true;
url = "http://localhost:9200";
};
metricProvider = {
# `services.elasticsearch` is unmaintained; OpenSearch is the same
# engine class and is explicitly supported by the exporter.
services.opensearch.enable = true;
virtualisation.memorySize = 2048;
};
exporterTest = ''
wait_for_unit("opensearch.service")
wait_for_open_port(9200)
wait_for_unit("prometheus-elasticsearch-exporter.service")
wait_for_open_port(9114)
succeed(
"curl -sSf localhost:9114/metrics | grep 'elasticsearch_cluster_health_status'"
)
'';
};
fail2ban =
{ ... }:
{

View File

@@ -511,6 +511,31 @@ in
};
};
};
empty_settings =
{ ... }:
{
environment.etc."sing-box/config.json".text = builtins.toJSON {
inbounds = [
{
type = "mixed";
listen = "127.0.0.1";
listen_port = 1088;
}
];
outbounds = [
{
type = "direct";
tag = "outbound:direct";
}
];
};
services.sing-box = {
enable = true;
settings = { };
};
};
};
testScript = ''
@@ -558,6 +583,9 @@ in
fakeip.wait_for_unit("sing-box.service")
fakeip.wait_until_succeeds("ip route get ${hosts."${target_host}"} | grep 'dev ${tunInbound.interface_name}'")
fakeip.succeed("dig +short A ${target_host} @${target_host} | grep '^198.18.'")
with subtest("empty settings"):
empty_settings.wait_for_unit("sing-box.service")
'';
}

View File

@@ -43,6 +43,19 @@ let
server.serve_forever()
'';
# Per-connection (Accept=yes) socket-activated service that requires the
# connection socket to be passed via socket activation and fails when started
# without one. It greets the client and stays alive for as long as the
# connection is held open.
acceptSocketTest = pkgs.writeShellScript "accept-socket-test.sh" ''
if [ "''${LISTEN_FDS:-0}" -lt 1 ]; then
echo "Expected exactly one socket, got 0" >&2
exit 4
fi
printf hello >&3
exec ${lib.getExe' pkgs.coreutils "cat"} <&3 >/dev/null
'';
in
{
name = "switch-test";
@@ -508,6 +521,26 @@ in
};
};
accept-socket.configuration = {
systemd.sockets.accept-socket = {
wantedBy = [ "sockets.target" ];
listenStreams = [ "/run/accept-test.sock" ];
socketConfig = {
Accept = "yes";
SocketMode = "0777";
};
};
systemd.services."accept-socket@" = {
description = "A per-connection socket-activated service";
serviceConfig.ExecStart = acceptSocketTest;
};
};
accept-socket-service-modified.configuration = {
imports = [ accept-socket.configuration ];
systemd.services."accept-socket@".serviceConfig.X-Test = "test";
};
mount.configuration = {
systemd.mounts = [
{
@@ -1587,6 +1620,37 @@ in
if machine.succeed("socat - UNIX-CONNECT:/run/test.sock") != "hello":
raise Exception("Socket was not properly activated after the service was restarted")
with subtest("socket-activated services with Accept=yes"):
# Socket-activated services don't get started, just the socket
machine.fail("[ -S /run/accept-test.sock ]")
out = switch_to_specialisation("${machine}", "accept-socket")
assert_contains(out, "the following new units were started: accept-socket.socket\n")
machine.succeed("[ -S /run/accept-test.sock ]")
# Hold a connection open so a per-connection instance keeps running
machine.succeed("socat EXEC:'sleep infinity' UNIX-CONNECT:/run/accept-test.sock >&2 &")
instance = machine.wait_until_succeeds(
"systemctl list-units --no-legend --state=running 'accept-socket@*.service' "
+ "| grep -m1 -o 'accept-socket@[^ ]*\\.service'"
).strip()
# Changing the templated service must stop the running instance and
# restart the socket instead of (re)starting the per-connection
# instance, which cannot be started without a connection socket
out = switch_to_specialisation("${machine}", "accept-socket-service-modified")
assert_contains(out, "stopping the following units:")
assert_contains(out, instance)
assert_contains(out, "accept-socket.socket")
assert_contains(out, "\nstarting the following units: accept-socket.socket\n")
assert_lacks(out, "NOT restarting the following changed units:")
assert_lacks(out, "\nrestarting the following units:")
# The per-connection instance must not be (re)started
starting = out[out.index("\nstarting the following units:") :]
assert instance not in starting, f"instance {instance} should not be (re)started"
# Socket-activation of the unit still works
if machine.succeed("socat - UNIX-CONNECT:/run/accept-test.sock </dev/null") != "hello":
raise Exception("Socket was not properly activated after the service was changed")
with subtest("mounts"):
switch_to_specialisation("${machine}", "mount")
out = machine.succeed("mount | grep 'on /testmount'")

View File

@@ -1,54 +0,0 @@
{
cmake,
pkg-config,
callPackage,
gobject-introspection,
wrapGAppsHook3,
python3Packages,
libxml2,
gnuplot,
adwaita-icon-theme,
gdk-pixbuf,
intltool,
libmirage,
}:
python3Packages.buildPythonApplication {
inherit
(callPackage ./common-drv-attrs.nix {
version = "3.2.6";
pname = "image-analyzer";
hash = "sha256-7I8RUgd+k3cEzskJGbziv1f0/eo5QQXn62wGh/Y5ozc=";
})
pname
version
src
meta
;
buildInputs = [
libxml2
gnuplot
libmirage
adwaita-icon-theme
gdk-pixbuf
];
propagatedBuildInputs = with python3Packages; [
pygobject3
matplotlib
];
nativeBuildInputs = [
cmake
pkg-config
wrapGAppsHook3
intltool
gobject-introspection
];
pyproject = false;
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
}

View File

@@ -1,42 +0,0 @@
{
callPackage,
python3Packages,
cmake,
pkg-config,
intltool,
wrapGAppsNoGuiHook,
gobject-introspection,
}:
python3Packages.buildPythonApplication {
inherit
(callPackage ./common-drv-attrs.nix {
version = "3.2.5";
pname = "cdemu-client";
hash = "sha256-py2F61v8vO0BCM18GCflAiD48deZjbMM6wqoCDZsOd8=";
})
pname
version
src
meta
;
nativeBuildInputs = [
cmake
pkg-config
intltool
wrapGAppsNoGuiHook
gobject-introspection
];
propagatedBuildInputs = with python3Packages; [
dbus-python
pygobject3
];
pyproject = false;
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
}

View File

@@ -1,33 +0,0 @@
{
lib,
fetchurl,
pname,
version,
hash,
}:
{
inherit pname version;
src = fetchurl {
url = "mirror://sourceforge/cdemu/${pname}-${version}.tar.xz";
inherit hash;
};
meta = {
description = "Suite of tools for emulating optical drives and discs";
longDescription = ''
CDEmu consists of:
- a kernel module implementing a virtual drive-controller
- libmirage which is a software library for interpreting optical disc images
- a daemon which emulates the functionality of an optical drive+disc
- textmode and GTK clients for controlling the emulator
- an image analyzer to view the structure of image files
Optical media emulated by CDemu can be mounted within Linux. Automounting is also allowed.
'';
homepage = "https://cdemu.sourceforge.io/";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ bendlas ];
};
}

View File

@@ -1,59 +0,0 @@
{
stdenv,
callPackage,
cmake,
pkg-config,
glib,
libao,
intltool,
libmirage,
coreutils,
}:
let
inherit
(callPackage ./common-drv-attrs.nix {
version = "3.2.7";
pname = "cdemu-daemon";
hash = "sha256-EKh2G6RA9Yq46BpTAqN2s6TpLJb8gwDuEpGiwdGcelc=";
})
pname
version
src
meta
;
in
stdenv.mkDerivation {
inherit pname version src;
nativeBuildInputs = [
cmake
pkg-config
intltool
];
buildInputs = [
glib
libao
libmirage
];
postInstall = ''
mkdir -p $out/share/dbus-1/services
cp -R ../service-example $out/share/cdemu
substitute \
$out/share/cdemu/net.sf.cdemu.CDEmuDaemon.service \
$out/share/dbus-1/services/net.sf.cdemu.CDEmuDaemon.service \
--replace /bin/true ${coreutils}/bin/true
'';
meta = {
inherit (meta)
description
license
longDescription
maintainers
platforms
;
homepage = "https://cdemu.sourceforge.io/about/daemon/";
mainProgram = "cdemu-daemon";
};
}

View File

@@ -1,49 +0,0 @@
{
callPackage,
cmake,
pkg-config,
wrapGAppsHook3,
gobject-introspection,
python3Packages,
libnotify,
intltool,
adwaita-icon-theme,
gdk-pixbuf,
libappindicator-gtk3,
}:
python3Packages.buildPythonApplication {
inherit
(callPackage ./common-drv-attrs.nix {
version = "3.2.6";
pname = "gcdemu";
hash = "sha256-w4vzKoSotL5Cjfr4Cu4YhNSWXJqS+n/vySrwvbhR1zA=";
})
pname
version
src
meta
;
nativeBuildInputs = [
cmake
pkg-config
wrapGAppsHook3
intltool
gobject-introspection
];
buildInputs = [
libnotify
adwaita-icon-theme
gdk-pixbuf
libappindicator-gtk3
];
propagatedBuildInputs = with python3Packages; [ pygobject3 ];
pyproject = false;
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
}

View File

@@ -1,73 +0,0 @@
{
stdenv,
callPackage,
cmake,
pkg-config,
gobject-introspection,
vala,
glib,
libsndfile,
zlib,
bzip2,
xz,
libsamplerate,
intltool,
pcre,
util-linux,
libselinux,
libsepol,
}:
let
inherit
(callPackage ./common-drv-attrs.nix {
version = "3.2.10";
pname = "libmirage";
hash = "sha256-+T5Gu3VcprCkSJcq/kTySRnNI7nc+GbRtctLkzPhgK4=";
})
pname
version
src
meta
;
in
stdenv.mkDerivation {
inherit pname version src;
env = {
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "out"}/share/gir-1.0";
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0";
};
buildInputs = [
glib
libsndfile
zlib
bzip2
xz
libsamplerate
];
nativeBuildInputs = [
cmake
pkg-config
intltool
gobject-introspection
vala
];
propagatedBuildInputs = [
pcre
util-linux
libselinux
libsepol
];
meta = {
inherit (meta)
maintainers
license
platforms
;
description = "CD-ROM image access library";
homepage = "https://cdemu.sourceforge.io/about/libmirage/";
};
}

View File

@@ -9,10 +9,10 @@
buildMozillaMach rec {
pname = "firefox";
version = "152.0";
version = "152.0.1";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "2c7adf367004063ee9f3385e692f612d8e5c0c10662bf294996c118001e43dec12ca8cb4fd70e67a25a903dbf5adf83d22e487f04bf3f930da2a815c80378ceb";
sha512 = "9b2595148ed977040ea2b21e7d6ece70f0e53fac9b96b3115b113bea76ead6c0422f6e94b1540283b430fed5e8e9a227771a6357bf16f56d530a7fae7dc7553a";
};
meta = {

View File

@@ -332,6 +332,17 @@
"https://test.pypi.io/packages/source/"
];
# TeX historic archive (see https://tug.org/historic/)
texhistoric = [
"https://ftp.math.utah.edu/pub/tex/historic/"
"https://texlive.info/historic/"
"https://ftp.tu-chemnitz.de/pub/tug/historic/"
"https://pi.kwarc.info/historic/"
"https://mirrors.tuna.tsinghua.edu.cn/tex-historic-archive/"
"https://mirror.nju.edu.cn/tex-historic/"
"ftp://tug.org/texlive/historic/"
];
### Linux distros
# CentOS

View File

@@ -155,8 +155,6 @@ crate_:
lib.makeOverridable
(
# The rust compiler to use.
#
# Default: pkgs.rustc
{
rust ? rustc,
# The cargo package to use for getting some metadata.

View File

@@ -0,0 +1,73 @@
{
python3Packages,
cmake,
pkg-config,
intltool,
wrapGAppsNoGuiHook,
gobject-introspection,
fetchurl,
lib,
writeScript,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "cdemu-client";
version = "3.3.1";
src = fetchurl {
url = "mirror://sourceforge/cdemu/cdemu-client-${finalAttrs.version}.tar.xz";
hash = "sha256-26KMd2NtoMHG2AJgPGSJTgcshfSyJzW0dUipmA3NGlw=";
};
nativeBuildInputs = [
cmake
pkg-config
intltool
wrapGAppsNoGuiHook
gobject-introspection
];
propagatedBuildInputs = with python3Packages; [
dbus-python
pygobject3
];
pyproject = false;
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
passthru = {
updateScript = writeScript "update-cdemu-client" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre2 common-updater-scripts
set -eu -o pipefail
# Fetch the latest version from the SourceForge RSS feed for cdemu-client
newVersion="$(curl -s "https://sourceforge.net/projects/cdemu/rss?path=/cdemu-client" | pcre2grep -o1 'cdemu-client-([0-9.]+)\.tar\.xz' | head -n 1)"
update-source-version cdemu-client "$newVersion"
'';
};
meta = {
description = "Suite of tools for emulating optical drives and discs";
longDescription = ''
CDEmu consists of:
- a kernel module implementing a virtual drive-controller
- libmirage which is a software library for interpreting optical disc images
- a daemon which emulates the functionality of an optical drive+disc
- textmode and GTK clients for controlling the emulator
- an image analyzer to view the structure of image files
Optical media emulated by CDemu can be mounted within Linux. Automounting is also allowed.
'';
homepage = "https://cdemu.sourceforge.io/";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ bendlas ];
};
})

View File

@@ -0,0 +1,78 @@
{
stdenv,
cmake,
pkg-config,
glib,
libao,
intltool,
libmirage,
coreutils,
fetchurl,
lib,
writeScript,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "cdemu-daemon";
version = "3.3.0";
src = fetchurl {
url = "mirror://sourceforge/cdemu/cdemu-daemon-${finalAttrs.version}.tar.xz";
hash = "sha256-AYHjiOAQdu685gc6p0j2QNtCmTYTWix1kzWQZYvGPWU=";
};
nativeBuildInputs = [
cmake
pkg-config
intltool
];
buildInputs = [
glib
libao
libmirage
];
postInstall = ''
mkdir -p $out/share/dbus-1/services
cp -R ../service-example $out/share/cdemu
substitute \
$out/share/cdemu/net.sf.cdemu.CDEmuDaemon.service \
$out/share/dbus-1/services/net.sf.cdemu.CDEmuDaemon.service \
--replace /bin/true ${coreutils}/bin/true
'';
passthru = {
updateScript = writeScript "update-cdemu-daemon" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre2 common-updater-scripts
set -eu -o pipefail
# Fetch the latest version from the SourceForge RSS feed for cdemu-daemon
newVersion="$(curl -s "https://sourceforge.net/projects/cdemu/rss?path=/cdemu-daemon" | pcre2grep -o1 'cdemu-daemon-([0-9.]+)\.tar\.xz' | head -n 1)"
update-source-version cdemu-daemon "$newVersion"
'';
};
meta = {
description = "Suite of tools for emulating optical drives and discs";
longDescription = ''
CDEmu consists of:
- a kernel module implementing a virtual drive-controller
- libmirage which is a software library for interpreting optical disc images
- a daemon which emulates the functionality of an optical drive+disc
- textmode and GTK clients for controlling the emulator
- an image analyzer to view the structure of image files
Optical media emulated by CDemu can be mounted within Linux. Automounting is also allowed.
'';
homepage = "https://cdemu.sourceforge.io/about/daemon/";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ bendlas ];
mainProgram = "cdemu-daemon";
};
})

View File

@@ -0,0 +1,84 @@
{
cmake,
pkg-config,
wrapGAppsHook3,
gobject-introspection,
python3Packages,
libnotify,
intltool,
adwaita-icon-theme,
gdk-pixbuf,
libappindicator-gtk3,
fetchurl,
lib,
writeScript,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "gcdemu";
version = "3.3.1";
src = fetchurl {
url = "mirror://sourceforge/cdemu/gcdemu-${finalAttrs.version}.tar.xz";
hash = "sha256-zBRZxbT+J85pMTYaTRxrV3ua61m6KYU6aStpeghYdvY=";
};
nativeBuildInputs = [
cmake
pkg-config
wrapGAppsHook3
intltool
gobject-introspection
];
buildInputs = [
libnotify
adwaita-icon-theme
gdk-pixbuf
libappindicator-gtk3
];
propagatedBuildInputs = with python3Packages; [
pygobject3
];
pyproject = false;
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
passthru = {
updateScript = writeScript "update-gcdemu" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre2 common-updater-scripts
set -eu -o pipefail
# Fetch the latest version from the SourceForge RSS feed for gcdemu
newVersion="$(curl -s "https://sourceforge.net/projects/cdemu/rss?path=/gcdemu" | pcre2grep -o1 'gcdemu-([0-9.]+)\.tar\.xz' | head -n 1)"
update-source-version gcdemu "$newVersion"
'';
};
meta = {
description = "Suite of tools for emulating optical drives and discs";
longDescription = ''
CDEmu consists of:
- a kernel module implementing a virtual drive-controller
- libmirage which is a software library for interpreting optical disc images
- a daemon which emulates the functionality of an optical drive+disc
- textmode and GTK clients for controlling the emulator
- an image analyzer to view the structure of image files
Optical media emulated by CDemu can be mounted within Linux. Automounting is also allowed.
'';
homepage = "https://cdemu.sourceforge.io/";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ bendlas ];
};
})

View File

@@ -86,6 +86,11 @@ rustPlatform.buildRustPackage {
cp -r packaging/files/usr/lib $out/lib
substituteInPlace $out/lib/NetworkManager/dispatcher.d/pre-down.d/gpclient.down \
--replace-fail /usr/bin/gpclient $out/bin/gpclient
install -Dm644 packaging/files/usr/share/applications/gpgui.desktop \
$out/share/applications/gpgui.desktop
substituteInPlace $out/share/applications/gpgui.desktop \
--replace-fail /usr/bin/gpclient $out/bin/gpclient
'';
postFixup = ''

View File

@@ -0,0 +1,86 @@
{
cmake,
pkg-config,
gobject-introspection,
wrapGAppsHook3,
python3Packages,
libxml2,
gnuplot,
adwaita-icon-theme,
gdk-pixbuf,
intltool,
libmirage,
fetchurl,
lib,
writeScript,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "image-analyzer";
version = "3.3.0";
src = fetchurl {
url = "mirror://sourceforge/cdemu/image-analyzer-${finalAttrs.version}.tar.xz";
hash = "sha256-N2aufwYEBVx7z2Vo7Qi4DP2MsDXXr5LrQdeNYOtNGnU=";
};
buildInputs = [
libxml2
gnuplot
libmirage
adwaita-icon-theme
gdk-pixbuf
];
propagatedBuildInputs = with python3Packages; [
pygobject3
matplotlib
];
nativeBuildInputs = [
cmake
pkg-config
wrapGAppsHook3
intltool
gobject-introspection
];
pyproject = false;
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
passthru = {
updateScript = writeScript "update-image-analyzer" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre2 common-updater-scripts
set -eu -o pipefail
# Fetch the latest version from the SourceForge RSS feed for image-analyzer
newVersion="$(curl -s "https://sourceforge.net/projects/cdemu/rss?path=/image-analyzer" | pcre2grep -o1 'image-analyzer-([0-9.]+)\.tar\.xz' | head -n 1)"
update-source-version image-analyzer "$newVersion"
'';
};
meta = {
description = "Suite of tools for emulating optical drives and discs";
longDescription = ''
CDEmu consists of:
- a kernel module implementing a virtual drive-controller
- libmirage which is a software library for interpreting optical disc images
- a daemon which emulates the functionality of an optical drive+disc
- textmode and GTK clients for controlling the emulator
- an image analyzer to view the structure of image files
Optical media emulated by CDemu can be mounted within Linux. Automounting is also allowed.
'';
homepage = "https://cdemu.sourceforge.io/";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ bendlas ];
};
})

View File

@@ -17,18 +17,18 @@ assert lib.asserts.assertMsg (
stdenv.mkDerivation (finalAttrs: {
pname = "ketesa";
version = "1.2.1";
version = "1.3.0";
src = fetchFromGitHub {
owner = "etkecc";
repo = "ketesa";
tag = "v${finalAttrs.version}";
hash = "sha256-Yg5M3D4etEVwLXT5+QSLqebJwBIpRKV43nYycKSi/tw=";
hash = "sha256-0YNCPOkWIzXMfs6Jptn+PBRHxuees6zVh7RpTXZKywQ=";
};
yarnOfflineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/yarn.lock";
hash = "sha256-mLFCVt2LsF4/evlVyTXEdSSk4aDU2tF2m3v8j8eX8ng=";
hash = "sha256-NJGAchoEVgIOjQyH9mNh7h4BZmq4HV2FjHOBhL88ZWw=";
};
nativeBuildInputs = [

View File

@@ -36,11 +36,11 @@ let
# TODO: we could cut the `let` short here, but it would de-indent everything.
unwrapped = stdenv.mkDerivation (finalAttrs: {
pname = "knot-resolver_6";
version = "6.3.0";
version = "6.4.0";
src = fetchurl {
url = "https://secure.nic.cz/files/knot-resolver/knot-resolver-${finalAttrs.version}.tar.xz";
hash = "sha256-uHMGGX90NrSQecYzNkvF33GjkyNvsl6fzn0ESAvHUY4=";
hash = "sha256-T0v+CfjXOw7n1nDdHJD18qwOkGD5sUeDVfJvJzdGrIA=";
};
outputs = [

View File

@@ -8,11 +8,11 @@
let
pname = "ledger-live-desktop";
version = "4.6.1";
version = "4.8.0";
src = fetchurl {
url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
hash = "sha256-OXzxOraDgOBNpsbDAPpf5dGERiK/pkfsVtpzTZkXPQA=";
hash = "sha256-9S2Iuxqe6YpuV3lXqirO4b1J71EkTZW1wSmxv7Qg3uY=";
};
appimageContents = appimageTools.extractType2 {

View File

@@ -0,0 +1,82 @@
{
stdenv,
cmake,
pkg-config,
gobject-introspection,
vala,
glib,
libsndfile,
zlib,
bzip2,
xz,
libsamplerate,
intltool,
pcre,
util-linux,
libselinux,
libsepol,
fetchurl,
lib,
writeScript,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libmirage";
version = "3.3.2";
src = fetchurl {
url = "mirror://sourceforge/cdemu/libmirage-${finalAttrs.version}.tar.xz";
hash = "sha256-wMAzJpEue1QnDllWheFk3ZX+8pSkYw13s+GU0G/AOfs=";
};
env = {
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "out"}/share/gir-1.0";
PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0";
};
buildInputs = [
glib
libsndfile
zlib
bzip2
xz
libsamplerate
];
nativeBuildInputs = [
cmake
pkg-config
intltool
gobject-introspection
vala
];
propagatedBuildInputs = [
pcre
util-linux
libselinux
libsepol
];
passthru = {
updateScript = writeScript "update-libmirage" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre2 common-updater-scripts
set -eu -o pipefail
# Fetch the latest version from the SourceForge RSS feed for libmirage
newVersion="$(curl -s "https://sourceforge.net/projects/cdemu/rss?path=/libmirage" | pcre2grep -o1 'libmirage-([0-9.]+)\.tar\.xz' | head -n 1)"
update-source-version libmirage "$newVersion"
'';
};
meta = {
maintainers = with lib.maintainers; [ bendlas ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
description = "CD-ROM image access library";
homepage = "https://cdemu.sourceforge.io/about/libmirage/";
};
})

View File

@@ -108,14 +108,12 @@ stdenv.mkDerivation {
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [
azahi
eclairevoyant
dwrege
];
platforms = builtins.attrNames mozillaPlatforms;
mainProgram = "librewolf";
hydraPlatforms = [ ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
knownVulnerabilities = [
"librewolf-bin lacks maintenance in nixpkgs, consider using an alternative"
];
};
}

View File

@@ -35,6 +35,7 @@ in
hythera
mBornand
thbemme
wolfgangwalther
];
platforms = lib.platforms.unix;
broken = stdenv.buildPlatform.is32bit;

View File

@@ -1,11 +1,11 @@
{
"packageVersion": "152.0-1",
"packageVersion": "152.0.1-2",
"source": {
"rev": "152.0-1",
"hash": "sha256-T7ZRCmHx3jnFz7zzXS8btEepP9HRtKS8CWTehxdxIlM="
"rev": "152.0.1-2",
"hash": "sha256-qr0eO+ucXguTb2QDhbsI9jjlx9fzfZVAI++87UfXcXE="
},
"firefox": {
"version": "152.0",
"hash": "sha512-LHrfNnAEBj7p8zheaS9hLY5cDBBmK/KUmWwRgAHkPewSyoy0/XDmeiWpA9v1rfg9IuSH8Evz+TDaKoFcgDeM6w=="
"version": "152.0.1",
"hash": "sha512-myWVFI7ZdwQOorIefW7OcPDlP6yblrMRWxE76nbq1sBCL26UsVQCg7Qw/tXo6aIndxpjV78W9W1TCn+ufcdVOg=="
}
}

View File

@@ -13,14 +13,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
pname = "libsignal-ffi";
# must match the version used in mautrix-signal
# see https://github.com/mautrix/signal/issues/401
version = "0.93.2";
version = "0.94.4";
src = fetchFromGitHub {
fetchSubmodules = true;
owner = "signalapp";
repo = "libsignal";
tag = "v${finalAttrs.version}";
hash = "sha256-U32vd5TzgA1LwlFgLUJU30gUeQoYnKI7kYnhy+d8eQk=";
hash = "sha256-Uh/j8cXUWgWgSo9UBfYOFuC8i+2YdMwGHcXf55PkGgU=";
};
postPatch =
@@ -46,7 +46,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
NIX_LDFLAGS = if stdenv.hostPlatform.isDarwin then "-lc++" else "-lstdc++";
};
cargoHash = "sha256-5thq1MXL792u87fv6M5E1oi8gq6S8dnTsy3k26T7pgM=";
cargoHash = "sha256-st6zTKvxSsyMce22E8nFsJMGjQkk9sEAzSCmyZP8x20=";
cargoBuildFlags = [
"-p"

View File

@@ -0,0 +1,85 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
# buildInputs
mpv,
libadwaita,
libepoxy,
openssl,
# nativeBuildInputs
makeBinaryWrapper,
pkg-config,
wrapGAppsHook4,
glib,
# Wrapper
nodejs,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "losange";
version = "0.10.1";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "tymmesyde";
repo = "losange";
tag = "v${finalAttrs.version}";
hash = "sha256-mr54/vnaopLwG9lhFiZJGgxWH/VaGitROVEeV7GSyHM=";
};
cargoHash = "sha256-LJ8EpxEIN8wojSmQ+WVshYRxGFAC9sUk5tnh3I2J408=";
buildInputs = [
mpv
libadwaita
libepoxy
openssl
];
nativeBuildInputs = [
makeBinaryWrapper
pkg-config
wrapGAppsHook4
glib
];
postInstall = ''
install -Dm444 data/xyz.timtimtim.Losange.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas/
glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas/
install -Dm444 data/icons/xyz.timtimtim.Losange.svg -t $out/share/icons/hicolor/scalable/apps/
install -Dm444 data/xyz.timtimtim.Losange.desktop -t $out/share/applications/
install -Dm444 data/xyz.timtimtim.Losange.metainfo.xml -t $out/share/metainfo/
# The application fails if '-o' is passed without an argument (e.g. when opened using a launcher)
# therefore we match upstream's shell wrapper to handle empty URL cases.
substituteInPlace $out/share/applications/xyz.timtimtim.Losange.desktop \
--replace-fail "Exec=sh -c \"/usr/bin/losange -o '%u'\"" "Exec=sh -c \"losange -o '%u'\""
'';
# Node.js is required to run `server.js`
# Losange will automatically download the required version of `server.js` at runtime.
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [ nodejs ]}"
)
'';
passthru.updateScript = nix-update-script { };
meta = {
mainProgram = "losange";
description = "Simple Stremio client for GNOME";
homepage = "https://github.com/tymmesyde/Losange";
changelog = "https://github.com/tymmesyde/Losange/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ talal ];
};
})

View File

@@ -14,19 +14,19 @@
python3Packages.buildPythonApplication rec {
pname = "matrix-synapse";
version = "1.154.0";
version = "1.155.0";
pyproject = true;
src = fetchFromGitHub {
owner = "element-hq";
repo = "synapse";
rev = "v${version}";
hash = "sha256-4US6PPJAI0UUOmy12thjXKX3IRUCH9w/zkRD3ivQ9BE=";
hash = "sha256-ka92mJvm/7PaENPkQRWuw8c8BdzMvIuTsc3xSEmEms8=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-Cu5bXS6BprXr/dwkNXDjcP9hOfqQddoC5BxOus4rteM=";
hash = "sha256-+Z2GyHlVothtcTKHjbr+iKQG8wi5tgtoZr8+FHYJEFk=";
};
build-system =

View File

@@ -20,14 +20,14 @@ let
in
buildGoModule rec {
pname = "mautrix-signal";
version = "26.05";
tag = "v0.2605.0";
version = "26.06";
tag = "v0.2606.0";
src = fetchFromGitHub {
owner = "mautrix";
repo = "signal";
inherit tag;
hash = "sha256-IGDVfauU+zRbwEN6FdI9t5TjnKAm22NsuxiUiDPhK2Q=";
hash = "sha256-DSOf6kyNcsknwKM77vUQs6pWX8hMo4mU9dOGai62QR0=";
};
buildInputs =
@@ -46,7 +46,7 @@ buildGoModule rec {
CGO_LDFLAGS = toString [ cppStdLib ];
};
vendorHash = "sha256-Njl4kwhx+vlqQI8CeA8gfanEKClvMefoM3Sy3UUYllc=";
vendorHash = "sha256-e9Et97QEn12kkiqrQTaDtwECLhwvxwDUF6IcWoL/+Mg=";
ldflags = [
"-X"

View File

@@ -14,20 +14,20 @@
buildGoModule rec {
pname = "mautrix-whatsapp";
version = "26.05";
tag = "v0.2605.0";
version = "26.06";
tag = "v0.2606.0";
src = fetchFromGitHub {
owner = "mautrix";
repo = "whatsapp";
inherit tag;
hash = "sha256-WlVfGQoP9e/wl98hUJei8O2JMcOKijoEY8XuU/z69Qk=";
hash = "sha256-xxUsFrBX6wwANKECwL6ITDkc88XpCyGpWDPjGQlH3fI=";
};
buildInputs = lib.optional (!withGoolm) olm;
tags = lib.optional withGoolm "goolm";
vendorHash = "sha256-Hi/dZHJHoTTCnxLXgbkcYzuzis4fl5kxb5wMd9fKTY8=";
vendorHash = "sha256-H8dSwOPVJ3TofAJDupYhX6/Vm5qshhFXaMtUDWM/0mw=";
ldflags = [
"-s"

View File

@@ -31,7 +31,7 @@ assert gpgmeSupport -> sslSupport;
stdenv.mkDerivation rec {
pname = "mutt";
version = "2.3.2";
version = "2.3.3";
outputs = [
"out"
"doc"
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
hash = "sha256-m096RC5BwFd3S6fDb6Qaui7dLnoSqGAx5uuxE7qyx54=";
hash = "sha256-vOdTOZsowO/PqKRGEV8NMNnCflUatRsOU3md0MNz3MQ=";
};
patches = [

View File

@@ -54,7 +54,7 @@ let
'' allRuntimeInputs;
};
in
treefmtWithConfig.overrideAttrs {
treefmtWithConfig.overrideAttrs (prevAttrs: {
meta = {
mainProgram = "treefmt";
description = "Official Nix formatter zero-setup starter using treefmt";
@@ -118,63 +118,65 @@ treefmtWithConfig.overrideAttrs {
platforms = lib.platforms.all;
};
passthru.tests.simple =
runCommand "nixfmt-tree-test-simple"
{
nativeBuildInputs = [
git
nixfmt-tree
writableTmpDirAsHomeHook
];
}
''
git config --global user.email "nix-builder@nixos.org"
git config --global user.name "Nix Builder"
passthru = prevAttrs.passthru // {
tests.simple =
runCommand "nixfmt-tree-test-simple"
{
nativeBuildInputs = [
git
nixfmt-tree
writableTmpDirAsHomeHook
];
}
''
git config --global user.email "nix-builder@nixos.org"
git config --global user.name "Nix Builder"
cat > unformatted.nix <<EOF
let to = "be formatted"; in to
EOF
cat > unformatted.nix <<EOF
let to = "be formatted"; in to
EOF
cat > formatted.nix <<EOF
let
to = "be formatted";
in
to
EOF
mkdir -p repo
(
cd repo
mkdir dir
cp ../unformatted.nix a.nix
cp ../unformatted.nix dir/b.nix
git init
git add .
git commit -m "Initial commit"
treefmt dir
if [[ "$(<dir/b.nix)" != "$(<../formatted.nix)" ]]; then
echo "File dir/b.nix was not formatted properly after dir was requested to be formatted"
exit 1
elif [[ "$(<a.nix)" != "$(<../unformatted.nix)" ]]; then
echo "File a.nix was formatted when only dir was requested to be formatted"
exit 1
fi
cat > formatted.nix <<EOF
let
to = "be formatted";
in
to
EOF
mkdir -p repo
(
cd dir
treefmt
cd repo
mkdir dir
cp ../unformatted.nix a.nix
cp ../unformatted.nix dir/b.nix
git init
git add .
git commit -m "Initial commit"
treefmt dir
if [[ "$(<dir/b.nix)" != "$(<../formatted.nix)" ]]; then
echo "File dir/b.nix was not formatted properly after dir was requested to be formatted"
exit 1
elif [[ "$(<a.nix)" != "$(<../unformatted.nix)" ]]; then
echo "File a.nix was formatted when only dir was requested to be formatted"
exit 1
fi
(
cd dir
treefmt
)
if [[ "$(<a.nix)" != "$(<../formatted.nix)" ]]; then
echo "File a.nix was not formatted properly after running treefmt without arguments in dir"
exit 1
fi
)
if [[ "$(<a.nix)" != "$(<../formatted.nix)" ]]; then
echo "File a.nix was not formatted properly after running treefmt without arguments in dir"
exit 1
fi
)
echo "Success!"
echo "Success!"
touch $out
'';
}
touch $out
'';
};
})

View File

@@ -0,0 +1,33 @@
{
openocd,
autoreconfHook,
lib,
fetchFromGitHub,
}:
openocd.overrideAttrs (
finalAttrs: old: {
pname = "openocd-rp2040";
version = "2.2.0";
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "openocd";
tag = "sdk-${finalAttrs.version}";
hash = "sha256-ZfbZVFVncHa1MvNJb4jbnU66vnlwVLBaOXPdgLqAneM=";
# openocd disables the vendored libraries that use submodules and replaces them with nix versions.
# this works out as one of the submodule sources seems to be flakey.
fetchSubmodules = false;
};
nativeBuildInputs = old.nativeBuildInputs ++ [
autoreconfHook
];
meta = openocd.meta // {
description = "Raspberry Pi's downstream fork of OpenOCD for use with Pico-series devices";
homepage = "https://github.com/raspberrypi/openocd";
maintainers = with lib.maintainers; [
aiyion
lu15w1r7h
];
};
}
)

View File

@@ -2,6 +2,7 @@
lib,
buildGoModule,
fetchFromGitHub,
nixosTests,
}:
buildGoModule (finalAttrs: {
pname = "elasticsearch_exporter";
@@ -16,6 +17,8 @@ buildGoModule (finalAttrs: {
vendorHash = "sha256-8y0M1b34eJpuHOuXPemhB5kKwBSgU7cMFxOaIZFS/bo=";
passthru.tests = { inherit (nixosTests.prometheus-exporters) elasticsearch; };
meta = {
description = "Elasticsearch stats exporter for Prometheus";
mainProgram = "elasticsearch_exporter";

View File

@@ -21,13 +21,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ripplerx";
version = "1.5.18";
version = "1.5.19";
src = fetchFromGitHub {
owner = "tiagolr";
repo = "ripplerx";
tag = "v${finalAttrs.version}";
hash = "sha256-lHLAJ8eCmn/WFYxGl/zIq8a2xPKqzpB7tilffJcXhM4=";
hash = "sha256-YcrBJu7vLh8KZkds6OA48nhOHtZjRymxGrNmh7yTIxc=";
fetchSubmodules = true;
};

View File

@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "sdl_gamecontrollerdb";
version = "0-unstable-2026-06-07";
version = "0-unstable-2026-06-12";
src = fetchFromGitHub {
owner = "mdqinc";
repo = "SDL_GameControllerDB";
rev = "0499a01224c056cb915e9fcc1bac37aedbf2253c";
hash = "sha256-DQUg/53TVECZFHEFDfJSI8c3kKQdpNS6ivjzStMuUcc=";
rev = "998d5b08b5b33bdf3a63b2ef8f2ac4ccc664e2f6";
hash = "sha256-OdamCeHnPH0zc5Uac6KMpltIIEQMAfQwcopzg5ytUy8=";
};
dontBuild = true;

View File

@@ -12,7 +12,7 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "skim";
version = "4.0.0";
version = "4.7.0";
outputs = [
"out"
@@ -24,14 +24,15 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "skim-rs";
repo = "skim";
tag = "v${finalAttrs.version}";
hash = "sha256-1ckQ9ZWf4PWgRxE8jtQL7yuitPGvgebNJFPMWQ3xdrU=";
hash = "sha256-ek+h/MWxvUZKfUKSYL501+qqwFKHifopj2PicvnEr0Y=";
};
postPatch = ''
sed -i -e "s|expand('<sfile>:h:h')|'$out'|" plugin/skim.vim
substituteInPlace plugin/skim.vim \
--replace-fail "expand('<sfile>:h:h')" "'$out'"
'';
cargoHash = "sha256-AIMmgspcj40Ktw5THk2p/bOcPBsqjD0/9jfpOJEm23w=";
cargoHash = "sha256-n+fLtinvMchjsztH5GmPIjG+2spUu0Ayw9yqHTJRxAQ=";
nativeBuildInputs = [ installShellFiles ];
nativeCheckInputs = [
@@ -65,7 +66,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
useNextest = true;
checkPhase = ''
cargo nextest run --features test-utils --release --offline --lib --bins --examples --tests
cargo nextest run --release --offline --lib --bins --examples --tests
'';
passthru = {

View File

@@ -6,6 +6,7 @@
lib,
makeWrapper,
monkeys-audio,
nix-update-script,
nixosTests,
perlPackages,
sox,
@@ -34,13 +35,13 @@ let
in
perlPackages.buildPerlPackage rec {
pname = "slimserver";
version = "9.1.0";
version = "9.1.1";
src = fetchFromGitHub {
owner = "LMS-Community";
repo = "slimserver";
tag = version;
hash = "sha256-Df7v1oxc1NYiVApU5p1CzB0UxlLqia1RtytgttKdSJo=";
hash = "sha256-+GvP4+DdJs7NLB/V2uLq28Pa3K3M9u1Ni86k+PYECOo=";
};
nativeBuildInputs = [ makeWrapper ];
@@ -128,7 +129,12 @@ perlPackages.buildPerlPackage rec {
inherit (nixosTests) slimserver;
};
updateScript = ./update.nu;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"(9\\.[0-9.]+)"
];
};
};
meta = {
@@ -143,7 +149,6 @@ perlPackages.buildPerlPackage rec {
adamcstephens
jecaro
];
platforms = lib.platforms.unix;
broken = stdenv.hostPlatform.isDarwin;
platforms = lib.platforms.linux;
};
}

View File

@@ -1,14 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i nu -p nushell common-updater-scripts
# get latest tag, but drop versions 10.0 tags since they are 10+ years old
let latest_tag = list-git-tags --url=https://github.com/LMS-Community/slimserver | lines | find --invert 10.0 | sort --natural | last
let current_version = nix eval --raw -f default.nix slimserver | str trim
if $latest_tag != $current_version {
update-source-version slimserver $latest_tag $"--file=(pwd)/pkgs/by-name/sl/slimserver/package.nix"
{before: $current_version, after: $latest_tag}
} else {
"No new version"
}

View File

@@ -11,7 +11,7 @@
stdenv.mkDerivation {
inherit pname;
version = "1.2.89.539";
version = "1.2.92.147";
src =
# WARNING: This Wayback Machine URL redirects to the closest timestamp.
@@ -20,13 +20,13 @@ stdenv.mkDerivation {
# https://web.archive.org/web/*/https://download.scdn.co/Spotify.dmg
if stdenv.hostPlatform.isAarch64 then
(fetchurl {
url = "https://web.archive.org/web/20260510001507/https://download.scdn.co/SpotifyARM64.dmg";
hash = "sha256-m7Wbcl1ewIa92n/eCTgF62EN63KJyWPRW2ZF71/8btk=";
url = "https://web.archive.org/web/20260607203830/https://download.scdn.co/SpotifyARM64.dmg";
hash = "sha256-rQuvF7LWHBR3q8GJQWO671n1NRDKinQps+zYfXPktrU=";
})
else
(fetchurl {
url = "https://web.archive.org/web/20260510001458/https://download.scdn.co/Spotify.dmg";
hash = "sha256-BjZ0WT00QvLQvLBWnHzE/POf82cUxZUW4BIJsk2hAaw=";
url = "https://web.archive.org/web/20260607203705/https://download.scdn.co/Spotify.dmg";
hash = "sha256-jX7nBPiwxnKXWpN4/XiXKBl6Eg01954+VDwWRoJfdbk=";
});
nativeBuildInputs = [ undmg ];

View File

@@ -123,7 +123,7 @@ stdenv.mkDerivation (finalAttrs: {
# If an update breaks things, one of those might have valuable info:
# https://aur.archlinux.org/packages/spotify/
# https://community.spotify.com/t5/Desktop-Linux
version = "1.2.86.502.g8cd7fb22";
version = "1.2.90.451.gb094aab0";
# To get the latest stable revision:
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
@@ -131,7 +131,7 @@ stdenv.mkDerivation (finalAttrs: {
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
# More examples of api usage:
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
rev = "94";
rev = "96";
# fetch from snapcraft instead of the debian repository most repos fetch from.
# That is a bit more cumbersome. But the debian repository only keeps the last
@@ -144,7 +144,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
name = "spotify-${finalAttrs.version}-${finalAttrs.rev}.snap";
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${finalAttrs.rev}.snap";
hash = "sha512-wp+DHLFJM1yWhp2WNCnvUrLJUhdWqB7OvkIuljLNmmlDm0T+0Vt+/zYyx/pGCVqhv5zzMl6e+32hPD/elHMADA==";
hash = "sha512-rdffEwzlUf/kmxcO79+TzF0OKszWQhTdJgqQp/zhy+O5Ov+JhhjW2hXoltkhJbpQ2pJD9l4nuVDpTjQAc3VzAA==";
};
nativeBuildInputs = [

View File

@@ -11,11 +11,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "strace";
version = "7.0";
version = "7.1";
src = fetchurl {
url = "https://strace.io/files/${finalAttrs.version}/strace-${finalAttrs.version}.tar.xz";
hash = "sha256-bJJBm+Py7FYLMXKKRlIhfFmGTIZCunsbN3GxsBOtB0s=";
hash = "sha256-gXQ+zypbRBhrL1A4r9yL7aflxwrtFbT7+8xuns4kSQ8=";
};
separateDebugInfo = true;

View File

@@ -769,7 +769,11 @@ fn handle_modified_unit(
};
if sockets.is_empty() {
sockets.push(format!("{base_name}.socket"));
// For a templated instance (`foo@bar.service`), `base_name`
// includes the trailing `@`; the implicitly-associated socket
// is `foo.socket`, so strip it.
let socket_base = base_name.strip_suffix('@').unwrap_or(base_name);
sockets.push(format!("{socket_base}.socket"));
}
for socket in &sockets {

View File

@@ -0,0 +1,44 @@
{
lib,
stdenvNoCC,
fetchurl,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "v2ray-rules-dat";
version = "202606172318";
__structuredAttrs = true;
strictDeps = true;
src = null;
dontUnpack = true;
installPhase = ''
runHook preInstall
install -Dm444 ${finalAttrs.passthru.geoipDat} $out/share/v2ray/geoip.dat
install -Dm444 ${finalAttrs.passthru.geositeDat} $out/share/v2ray/geosite.dat
runHook postInstall
'';
passthru = {
geoipDat = fetchurl {
url = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/${finalAttrs.version}/geoip.dat";
hash = "sha256-iGGpeUaWtIH7AEPueCssQOgL/Ia7nkLFvWnAj1SDsbU=";
};
geositeDat = fetchurl {
url = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/${finalAttrs.version}/geosite.dat";
hash = "sha256-DEhEZP7ijNudb6qhIArpRhUqzEzmG0OxJaoBuMFVacM=";
};
updateScript = ./update.sh;
};
meta = {
description = "Enhanced edition of V2Ray rules dat files";
homepage = "https://github.com/Loyalsoldier/v2ray-rules-dat";
changelog = "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/tag/${finalAttrs.version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ nix-julia ];
};
})

View File

@@ -0,0 +1,35 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq nix common-updater-scripts
set -euo pipefail
version="$(
curl -fsSL ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/Loyalsoldier/v2ray-rules-dat/releases/latest" \
| jq -r .tag_name
)"
if [[ "$UPDATE_NIX_OLD_VERSION" == "$version" ]]; then
echo "Already up to date!"
exit 0
fi
prefetch_hash() {
local name="$1"
nix --extra-experimental-features nix-command \
store prefetch-file \
--json \
--hash-type sha256 \
"https://github.com/Loyalsoldier/v2ray-rules-dat/releases/download/$version/$name" \
| jq -r .hash
}
geoip_hash="$(prefetch_hash geoip.dat)"
geosite_hash="$(prefetch_hash geosite.dat)"
update-source-version "v2ray-rules-dat" "$version" "$geoip_hash" \
--source-key=passthru.geoipDat \
--ignore-same-version --ignore-same-hash
update-source-version "v2ray-rules-dat" "$version" "$geosite_hash" \
--source-key=passthru.geositeDat \
--ignore-same-version --ignore-same-hash

View File

@@ -1,13 +1,6 @@
import ./generic.nix {
major_version = "4";
minor_version = "14";
patch_version = "3";
sha256 = "sha256-pdWDuPurnqe/bPly75w45/7ay/9tt6NOMQURXTQ+sGk=";
patches = [
{
url = "https://github.com/ocaml/ocaml/commit/929f9aa7c00b45acf2d42f3f127b4ee28f926407.patch";
hash = "sha256-zeYT+JM71aUcl0sOG2ByjMpp3JPs7kDJ6BKcrZjzoDM=";
}
];
patch_version = "4";
sha256 = "sha256-Ux32KA7PPTAp7UQEhY03wSJHCgTJpBBOa0juT3YvF1w=";
}

View File

@@ -2,19 +2,21 @@ diff --git a/tools/compiler_version.ml b/tools/compiler_version.ml
index f675a20..c3e7912 100644
--- a/tools/compiler_version.ml
+++ b/tools/compiler_version.ml
@@ -81,6 +81,7 @@ let v4_13_1 = mk 4 13 1
@@ -81,6 +81,8 @@ let v4_13_1 = mk 4 13 1
let v4_14_0 = mk 4 14 0
let v4_14_1 = mk 4 14 1
let v4_14_2 = mk 4 14 2
+let v4_14_3 = mk 4 14 3
+let v4_14_4 = mk 4 14 4
let v5_0_0 = mk 5 0 0
let v5_1_0 = mk 5 1 0
let v5_1_1 = mk 5 1 1
@@ -127,6 +128,7 @@ let known_versions =
@@ -127,6 +129,8 @@ let known_versions =
v4_14_0;
v4_14_1;
v4_14_2;
+ v4_14_3;
+ v4_14_4;
v5_0_0;
v5_1_0;
v5_1_1;

View File

@@ -69,6 +69,13 @@ buildPythonPackage rec {
"test_update_docs"
];
disabledTestPaths = [
# unexpected exit code afer nodejs_24 24.16.0 update
"test/integration/test_quickstart_templates.py::TestQuickStartTemplates::test_templates"
"test/integration/test_quickstart_templates_non_strict.py::TestQuickStartTemplates::test_module_integration"
"test/integration/test_quickstart_templates_non_strict.py::TestQuickStartTemplates::test_templates"
];
pythonImportsCheck = [ "cfnlint" ];
meta = {

View File

@@ -56,6 +56,7 @@ buildDunePackage {
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.vbgl ];
mainProgram = "js_of_ocaml";
broken = ocaml.version == "4.14.3" && !lib.versionAtLeast version "6.0.0";
broken =
(ocaml.version == "4.14.3" || ocaml.version == "4.14.4") && !lib.versionAtLeast version "6.0.0";
};
}

View File

@@ -25,6 +25,7 @@
"4.14.1" = "4.19-414";
"4.14.2" = "4.19-414";
"4.14.3" = "4.19-414";
"4.14.4" = "4.19-414";
"5.0.0" = "4.14-500";
"5.1.0" = "4.17.1-501";
"5.1.1" = "4.17.1-501";

View File

@@ -1403,13 +1403,10 @@ let
DRM_AMDGPU_USERPTR = yes;
# We want to prefer PREEMPT_LAZY when available, and fall back on PREEMPT_VOLUNTARY.
# It just so happens that kconfig asks for PREEMPT_LAZY first, so doing it like this
# does what we want.
# FIXME: This is stupid and bad.
# See: https://github.com/torvalds/linux/commit/7dadeaa6e851e7d67733f3e24fc53ee107781d0f
# The version cutoff is arbitrary, the real cutoff is somewhere around 6.13 depending on target.
PREEMPT = no;
PREEMPT_LAZY = option yes;
PREEMPT_VOLUNTARY = option yes;
PREEMPT_LAZY = whenAtLeast "6.18" yes;
PREEMPT_VOLUNTARY = whenOlder "6.18" yes;
X86_AMD_PLATFORM_DEVICE = lib.mkIf stdenv.hostPlatform.isx86 yes;
X86_PLATFORM_DRIVERS_DELL = lib.mkIf stdenv.hostPlatform.isx86 (whenAtLeast "5.12" yes);

View File

@@ -100,7 +100,13 @@ sub runConfig {
elsif ($line =~ /choice\[(.*)\]: ###$/) {
my $answer = "";
foreach my $name (keys %choices) {
$answer = $choices{$name} if ($answers{$name} || "") eq "y";
if (($answers{$name} || "") eq "y") {
if ($answer eq "") {
$answer = $choices{$name};
} else {
die "conflicting answers!"
}
}
}
print STDERR "CHOICE: $1, ANSWER: $answer\n" if $debug;
print OUT "$answer\n" if $1 =~ /-/;

View File

@@ -5,38 +5,43 @@
"lts": false
},
"6.1": {
"version": "6.1.175",
"hash": "sha256:11fapr04y96p9ja6mfzm7bcd3zb4dzyw6qrh7c11bss9wjlq9s9p",
"version": "6.1.176",
"hash": "sha256:1xj4ms4gd8ghd0l0dzsyi762dgpdrmqhc3f0arrp7sa0p8npf6da",
"lts": true
},
"5.15": {
"version": "5.15.209",
"hash": "sha256:1d0yhbpqlkr1znahky15dfavr6dzb3wb8c15k9qqvkf2xb3pfv9l",
"version": "5.15.210",
"hash": "sha256:008a55av0x9fa3fspcz43sycik143gqxg2agcalrax2yw5ma82wi",
"lts": true
},
"5.10": {
"version": "5.10.258",
"hash": "sha256:1rdldzb3g33v6zvcmxafqpkjgqpp4n5qlxwb77wfd5jpzhgcnz4y",
"version": "5.10.259",
"hash": "sha256:02dn8rf9p0afkl8kbdv28ijq974zfnv8zdsqcqbmapjm19c8wpma",
"lts": true
},
"6.6": {
"version": "6.6.142",
"hash": "sha256:0w1bdzp9x1sqcr9xlk7dvylhs7kycghjabfgd3iv49ydfmx61xmj",
"version": "6.6.143",
"hash": "sha256:0ci9b6kjp7r2xwqifs2963l9ihk2rllk4zpl2kgzbny0r66izkns",
"lts": true
},
"6.12": {
"version": "6.12.93",
"hash": "sha256:18sg154hqw8l98pfim2hjm1y604h5dwn9gj3gyncas8bgjl4h9j9",
"version": "6.12.94",
"hash": "sha256:1ln83ljmc7wr1nrjjq1hp1m1vx54j7i6i15m3hqb73a1p4ra5679",
"lts": true
},
"6.18": {
"version": "6.18.35",
"hash": "sha256:0dpjprjzc4w44kw49jcgx1ffrm6gxn2gsnsz3hhmw4hr4a9h51pp",
"version": "6.18.36",
"hash": "sha256:0kn4r43lnd5nb5c298b30030qyaxv05s7k40n9si1j3iyk4qdazv",
"lts": true
},
"7.0": {
"version": "7.0.12",
"hash": "sha256:1nk5lans9qg1avmmcwyadfps43d3hyjz9a5gjyvsc77w3sjckvap",
"version": "7.0.13",
"hash": "sha256:04wrz38ldls7pv1yxa1m7p2hqn1731l93xnz93fs7b0nyz8fv09w",
"lts": false
},
"7.1": {
"version": "7.1.1",
"hash": "sha256:0z8x6wafxzc5vkim9jh8wpycdkk9y5bpxgsirmdpyznw84szl5aj",
"lts": false
}
}

View File

@@ -1,8 +1,8 @@
{
"bookmarks": {
"hash": "sha256-Q4NwDrCuex5e2sGEG4Gu00Ne3UeojrSRlGPKQ8R2+/0=",
"url": "https://github.com/nextcloud/bookmarks/releases/download/v16.1.4/bookmarks-16.1.4.tar.gz",
"version": "16.1.4",
"hash": "sha256-wf3t7qwxFAJBnPP3PYfa3Q/LrUaoONY47/So2w2fDww=",
"url": "https://github.com/nextcloud/bookmarks/releases/download/v16.2.1/bookmarks-16.2.1.tar.gz",
"version": "16.2.1",
"description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- ☠ Find broken links and duplicates\n- 📲 Synchronize with all your browsers and devices\n- 📔 Store archived versions of your links in case they are depublished\n- 🔍 Full-text search on site contents\n- 👪 Share bookmarks with other users, groups and teams or via public links\n- ⚛ Generate RSS feeds of your collections\n- 📈 Stats on how often you access which links\n- 🔒 Automatic backups of your bookmarks collection\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP extensions:\n - intl: *\n - mbstring: *\n - when using MySQL, use at least v8.0",
"homepage": "https://github.com/nextcloud/bookmarks",
"licenses": [
@@ -10,9 +10,9 @@
]
},
"calendar": {
"hash": "sha256-PAf/8YBhE87bfW0IZgDw6OsneafFvJADzqwjNp+M6wE=",
"url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.4.2/calendar-v6.4.2.tar.gz",
"version": "6.4.2",
"hash": "sha256-k7A38geyX6PS2j2t5iIXMMZMJsPKIiySVRKxcPAj+pM=",
"url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.5.0/calendar-v6.5.0.tar.gz",
"version": "6.5.0",
"description": "A Calendar app for Nextcloud. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Like Contacts, Talk, Tasks, Deck and Circles\n* 🌐 **WebCal Support!** Want to see your favorite team's matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 **Search!** Find your events at ease\n* ☑️ **Tasks!** See tasks or Deck cards with a due date directly in the calendar\n* 🔈 **Talk rooms!** Create an associated Talk room when booking a meeting with just one click\n* 📆 **Appointment booking** Send people a link so they can book an appointment with you [using this app](https://apps.nextcloud.com/apps/appointments)\n* 📎 **Attachments!** Add, upload and view event attachments\n* 🙈 **Were not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
"homepage": "https://github.com/nextcloud/calendar/",
"licenses": [
@@ -40,9 +40,9 @@
]
},
"contacts": {
"hash": "sha256-sfArxNncF+zIqCYHMZk+EpRjiMy7/O6yYSeUtNMX5/I=",
"url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.3.12/contacts-v8.3.12.tar.gz",
"version": "8.3.12",
"hash": "sha256-F2FomaYzrpOBvD2sxKjV7prGN+INKP8eJO2t/Z0J9YE=",
"url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.3.13/contacts-v8.3.13.tar.gz",
"version": "8.3.13",
"description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **Were not reinventing the wheel!** Based on the great and open SabreDAV library.",
"homepage": "https://github.com/nextcloud/contacts#readme",
"licenses": [
@@ -80,9 +80,9 @@
]
},
"deck": {
"hash": "sha256-OtB8QJ+x4QfLA1EXqXVm3SmvkzQZUsg+8DR+++C8blU=",
"url": "https://github.com/nextcloud-releases/deck/releases/download/v1.16.5/deck-v1.16.5.tar.gz",
"version": "1.16.5",
"hash": "sha256-t/9nWA3e2WBkMjevWMpzmhjBY8OaQS4nwryto4WJwtw=",
"url": "https://github.com/nextcloud-releases/deck/releases/download/v1.16.6/deck-v1.16.6.tar.gz",
"version": "1.16.6",
"description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
"homepage": "https://github.com/nextcloud/deck",
"licenses": [
@@ -110,9 +110,9 @@
]
},
"files_linkeditor": {
"hash": "sha256-yT3b0K31PfK8ApI23yQAZRfTiWyFZnBVlTi+/sZCv+Y=",
"url": "https://github.com/te-online/nextcloud-app-releases/raw/main/files_linkeditor/v1.1.24/files_linkeditor.tar.gz",
"version": "1.1.24",
"hash": "sha256-WIOLA1J2aqMr5v3bZB3pRnF9bH1V0asGsMNTcetRsx8=",
"url": "https://github.com/te-online/nextcloud-app-releases/raw/main/files_linkeditor/v1.1.25/files_linkeditor.tar.gz",
"version": "1.1.25",
"description": "### External web links in Nextcloud!\n* ✍️ **create and edit** .URL and .webloc links in the file view\n* 🌍 **open links** by clicking them and confirming you want to go to the external site\n* 📤 **works in public shares** so you can share links easily with others\n* 🔄 **sync your links** as .URL and .webloc are web links as created on most operating systems.\n\n_[View changelog](https://github.com/te-online/files_linkeditor/blob/main/CHANGELOG.md)_",
"homepage": "https://github.com/te-online/files_linkeditor",
"licenses": [
@@ -130,13 +130,13 @@
]
},
"forms": {
"hash": "sha256-Lj4jNqIAAXGoaztpb1iXNak3mqKQzpm30VTQf5S4cOw=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v5.2.9/forms-v5.2.9.tar.gz",
"version": "5.2.9",
"hash": "sha256-r570gxd4j/AEMzT3vul6qxJsJ/bTEW459LONUOYA8ZM=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v5.3.2/forms-v5.3.2.tar.gz",
"version": "5.3.2",
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API_v3.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
"homepage": "https://github.com/nextcloud/forms",
"licenses": [
"agpl"
"AGPL-3.0-or-later"
]
},
"gpoddersync": {
@@ -150,9 +150,9 @@
]
},
"groupfolders": {
"hash": "sha256-EVOIWjsgd/6j34GfrJ8YHxQP6JO84AdxvlPkqleeDyw=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v20.1.14/groupfolders-v20.1.14.tar.gz",
"version": "20.1.14",
"hash": "sha256-/29wB6jwECzMsRvp5dXNuKodoMmYjD2gO9xiQX3Bg18=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v20.1.15/groupfolders-v20.1.15.tar.gz",
"version": "20.1.15",
"description": "Team Folders (formerly \"Group Folders\") allows administrators to create and manage shared\nfolders for selected teams within Nextcloud.\n\nAdmins can grant one or more teams access to a folder, configure permissions (such as read,\nwrite, and sharing rights), and assign storage quotas from the Team Folders section (under\nadmin settings). The app also supports advanced permissions and integration with Nextclouds\ntrash and versioning systems.\n\nAs of Hub 10 / Nextcloud 31, admins must be members of a team to assign that team to a Team\nFolder.",
"homepage": "https://github.com/nextcloud/groupfolders",
"licenses": [
@@ -210,15 +210,25 @@
]
},
"mail": {
"hash": "sha256-SYe8BEC4v9ivl2iGVCkORHy5yn9wN4o2mrqJYGqzVRw=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v5.9.0/mail-v5.9.0.tar.gz",
"version": "5.9.0",
"hash": "sha256-K6sJ3XJOq9MoO0lGgqn3iBYuDqqhOMeHWD1DLVY5HaU=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v5.10.1/mail-v5.10.1.tar.gz",
"version": "5.10.1",
"description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 Were not reinventing the wheel!** Based on the great [Horde](https://www.horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
"homepage": "https://github.com/nextcloud/mail#readme",
"licenses": [
"agpl"
]
},
"maps": {
"hash": "sha256-Rwtzouz4NEFZVO6V8YvIc9Cyn/KBZ+gAYy5CcFDvRvc=",
"url": "https://github.com/nextcloud-releases/maps/releases/download/v1.7.1/maps-v1.7.1.tar.gz",
"version": "1.7.1",
"description": "**The whole world fits inside your cloud!**\n\n- **🗺 Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **🖼 Photos on the map:** No more boring slideshows, just show directly where you were!\n- **🙋 Contacts on the map:** See where your friends live and plan your next visit.\n- **📱 Devices:** Lost your phone? Check the map!\n- **〰 Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.",
"homepage": "https://github.com/nextcloud/maps",
"licenses": [
"agpl"
]
},
"music": {
"hash": "sha256-bQ9NBo5R/en3f68ag+mAsVWuhREjr/ajlKrfLn4Tvtg=",
"url": "https://github.com/nc-music/music/releases/download/v3.1.0/nc-music-3.1.0.tar.gz",
@@ -230,9 +240,9 @@
]
},
"news": {
"hash": "sha256-T3UBQcNxte18J/yyIucGb/X105t3lh97KWn0joTTuDw=",
"url": "https://github.com/nextcloud/news/releases/download/28.5.1/news.tar.gz",
"version": "28.5.1",
"hash": "sha256-25VyIvV7d5/hvWuT0IXzpgygLYHRrmqHg2pa+QQpK90=",
"url": "https://github.com/nextcloud/news/releases/download/28.6.0/news.tar.gz",
"version": "28.6.0",
"description": "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)",
"homepage": "https://github.com/nextcloud/news",
"licenses": [
@@ -280,9 +290,9 @@
]
},
"onlyoffice": {
"hash": "sha256-est6QHoBQRX1ounlwifjgELJ4f0wHz+FCMc8pMQ///s=",
"url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.13.0/onlyoffice.tar.gz",
"version": "9.13.0",
"hash": "sha256-+phzZA410n9QQsba26OUf7XR+x24XMnmHamhqsqlcVo=",
"url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v9.14.0/onlyoffice.tar.gz",
"version": "9.14.0",
"description": "The ONLYOFFICE app for Nextcloud brings powerful document editing and collaboration tools directly to your Nextcloud environment. With this integration, you can seamlessly create, edit, and co-author text documents, spreadsheets, presentations, and PDFs, as well as build and fill out PDF forms.\n\nCollaborate with your team in real time, make use of Track Changes, version history, comments, integrated chat, and more. Work together on files with federated cloud sharing. Flexible access permissions allow you to control who can view, edit, or comment, ensuring secure role-based collaboration tailored to your needs. Documents can also be protected with watermarks, password settings, and encryption for added security.\n\nThe app offers support for over 50 file formats, including DOCX, XLSX, PPTX, PDF, RTF, TXT, CSV, ODT, ODS, ODP, EPUB, FB2, HTML, HWP, HWPX, Pages, Numbers, Keynote, etc. Seamless desktop and mobile app integration means you'll have access to your Nextcloud files wherever you go.\n\nFurthermore, you can seamlessly connect any AI assistant, including local ones, directly to the editors to work faster and more efficient. This allows you to leverage various AI models for tasks like chatbot interactions, translations, OCR, and more.\n\nWhether youre working with internal teams or external collaborators, the ONLYOFFICE app for Nextcloud enhances productivity, simplifies workflows, and ensures your files remain secure.",
"homepage": "https://www.onlyoffice.com",
"licenses": [
@@ -330,9 +340,9 @@
]
},
"quota_warning": {
"hash": "sha256-OgFXI7FD7skHcot0Fb636ScCimL1ArzD/3FDjRB7iCA=",
"url": "https://github.com/nextcloud-releases/quota_warning/releases/download/v1.23.0/quota_warning-v1.23.0.tar.gz",
"version": "1.23.0",
"hash": "sha256-bX9f6Zu53lZfG8zpfEwRxvIFVxARs4y6NLNNAK3DhUI=",
"url": "https://github.com/nextcloud-releases/quota_warning/releases/download/v1.24.0/quota_warning-v1.24.0.tar.gz",
"version": "1.24.0",
"description": "This app sends notifications to users when they reached 85, 90 and 95% of their quota (checked once a day).\nIn addition an email can be sent to the users. The three percentages can be changed in the admin settings.\nIt is also possible to have a link in the email and the notification for upsell options.",
"homepage": "https://github.com/nextcloud/quota_warning",
"licenses": [
@@ -340,9 +350,9 @@
]
},
"registration": {
"hash": "sha256-EzKIk9o4+i9+6oa3B4ZP1tAnXnL6zO6LjSXmPEzvbGE=",
"url": "https://github.com/nextcloud-releases/registration/releases/download/v2.9.0/registration-v2.9.0.tar.gz",
"version": "2.9.0",
"hash": "sha256-mXsG5SfMrOp/G/4w9dbcwk41bLRUyrzWGTkoNeE0E88=",
"url": "https://github.com/nextcloud-releases/registration/releases/download/v3.0.0/registration-v3.0.0.tar.gz",
"version": "3.0.0",
"description": "User registration\n\nThis app allows users to register a new account.\n\n# Features\n\n- Add users to a given group\n- Allow-list with email domains (including wildcard) to register with\n- Administrator will be notified via email for new user creation or require approval\n- Supports Nextcloud's Client Login Flow v1 and v2 - allowing registration in the mobile Apps and Desktop clients\n\n# Web form registration flow\n\n1. User enters their email address\n2. Verification link is sent to the email address\n3. User clicks on the verification link\n4. User is lead to a form where they can choose their username and password\n5. New account is created and is logged in automatically",
"homepage": "https://github.com/nextcloud/registration",
"licenses": [
@@ -350,9 +360,9 @@
]
},
"repod": {
"hash": "sha256-9JqXxPbuaOGgYvocqXdP+Cy1qs43LC4FTXPxcZIZ6Zk=",
"url": "https://git.crystalyx.net/Xefir/repod/releases/download/4.2.0/repod.tar.gz",
"version": "4.2.0",
"hash": "sha256-wLglJfhATgmHjagwClZHtXm8HQ8vSE0DUG4KXTHRapI=",
"url": "https://git.crystalyx.net/Xefir/repod/releases/download/4.2.1/repod.tar.gz",
"version": "4.2.1",
"description": "## Features\n- 🔍 Browse and subscribe huge collection of podcasts\n- 🔊 Listen to episodes directly in Nextcloud\n- 🌐 Sync your activity with [AntennaPod](https://antennapod.org/) and [other apps](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 Mobile friendly interface\n- 📡 Import and export your subscriptions\n- ➡️ Full features comparison [here](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Requirements\nYou need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!",
"homepage": "https://git.crystalyx.net/Xefir/repod",
"licenses": [
@@ -360,9 +370,9 @@
]
},
"richdocuments": {
"hash": "sha256-n/cJi5eFsyIISwy8k6fLAzN8tgRIKCCaaoTPD6B3mKU=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v9.0.6/richdocuments-v9.0.6.tar.gz",
"version": "9.0.6",
"hash": "sha256-oLV1AFCGt/ukZ06TkOpEBGxOPQ3Z66dY2rpDj0tXiP4=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v9.1.0/richdocuments-v9.1.0.tar.gz",
"version": "9.1.0",
"description": "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.",
"homepage": "https://collaboraoffice.com/",
"licenses": [
@@ -430,9 +440,9 @@
]
},
"twofactor_webauthn": {
"hash": "sha256-21lUwF1uC7vJKqpC144jbtKaX25UhVDzgU/E7XoMSos=",
"url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.6.0/twofactor_webauthn-v2.6.0.tar.gz",
"version": "2.6.0",
"hash": "sha256-cpjn8Md2MaVv063A2HwklgtGtPIkzyF/KgE/OzzP0bA=",
"url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.7.0/twofactor_webauthn-v2.7.0.tar.gz",
"version": "2.7.0",
"description": "A two-factor provider for WebAuthn devices",
"homepage": "https://github.com/nextcloud/twofactor_webauthn#readme",
"licenses": [
@@ -450,9 +460,9 @@
]
},
"uppush": {
"hash": "sha256-MFOZqCQRyzICFPMyJGJIr366QpF47GZM/SpzqiY0HWQ=",
"url": "https://codeberg.org/NextPush/uppush/archive/2.4.1.tar.gz",
"version": "2.4.0",
"hash": "sha256-5+Knec2Ix8291UcQFipmqh3C9wheYH4+Smmmt3q3wFE=",
"url": "https://codeberg.org/NextPush/uppush/archive/2.5.0.tar.gz",
"version": "2.5.0",
"description": "Once the mobile phone is connected with NextPush, push notifications can be forwarded to applications implementing UnifiedPush.\n\nMore information about UnifiedPush at https://unifiedpush.org",
"homepage": "",
"licenses": [
@@ -476,7 +486,7 @@
"description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\t* Authentik\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
"homepage": "https://github.com/nextcloud/user_saml",
"licenses": [
"agpl"
"AGPL-3.0-or-later"
]
},
"whiteboard": {

View File

@@ -1,8 +1,8 @@
{
"bookmarks": {
"hash": "sha256-Q4NwDrCuex5e2sGEG4Gu00Ne3UeojrSRlGPKQ8R2+/0=",
"url": "https://github.com/nextcloud/bookmarks/releases/download/v16.1.4/bookmarks-16.1.4.tar.gz",
"version": "16.1.4",
"hash": "sha256-wf3t7qwxFAJBnPP3PYfa3Q/LrUaoONY47/So2w2fDww=",
"url": "https://github.com/nextcloud/bookmarks/releases/download/v16.2.1/bookmarks-16.2.1.tar.gz",
"version": "16.2.1",
"description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- ☠ Find broken links and duplicates\n- 📲 Synchronize with all your browsers and devices\n- 📔 Store archived versions of your links in case they are depublished\n- 🔍 Full-text search on site contents\n- 👪 Share bookmarks with other users, groups and teams or via public links\n- ⚛ Generate RSS feeds of your collections\n- 📈 Stats on how often you access which links\n- 🔒 Automatic backups of your bookmarks collection\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP extensions:\n - intl: *\n - mbstring: *\n - when using MySQL, use at least v8.0",
"homepage": "https://github.com/nextcloud/bookmarks",
"licenses": [
@@ -10,9 +10,9 @@
]
},
"calendar": {
"hash": "sha256-PAf/8YBhE87bfW0IZgDw6OsneafFvJADzqwjNp+M6wE=",
"url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.4.2/calendar-v6.4.2.tar.gz",
"version": "6.4.2",
"hash": "sha256-k7A38geyX6PS2j2t5iIXMMZMJsPKIiySVRKxcPAj+pM=",
"url": "https://github.com/nextcloud-releases/calendar/releases/download/v6.5.0/calendar-v6.5.0.tar.gz",
"version": "6.5.0",
"description": "A Calendar app for Nextcloud. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Like Contacts, Talk, Tasks, Deck and Circles\n* 🌐 **WebCal Support!** Want to see your favorite team's matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 **Search!** Find your events at ease\n* ☑️ **Tasks!** See tasks or Deck cards with a due date directly in the calendar\n* 🔈 **Talk rooms!** Create an associated Talk room when booking a meeting with just one click\n* 📆 **Appointment booking** Send people a link so they can book an appointment with you [using this app](https://apps.nextcloud.com/apps/appointments)\n* 📎 **Attachments!** Add, upload and view event attachments\n* 🙈 **Were not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
"homepage": "https://github.com/nextcloud/calendar/",
"licenses": [
@@ -40,9 +40,9 @@
]
},
"contacts": {
"hash": "sha256-SyBJBSxNe1JM8l9AHgYy8AQ3v3hlZhEgUiiTb6xCk70=",
"url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.5.1/contacts-v8.5.1.tar.gz",
"version": "8.5.1",
"hash": "sha256-XrXzGAJe+Zu3pon7sDbBbV73u2fKKD4fdfN24X6QdIM=",
"url": "https://github.com/nextcloud-releases/contacts/releases/download/v8.7.1/contacts-v8.7.1.tar.gz",
"version": "8.7.1",
"description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **Were not reinventing the wheel!** Based on the great and open SabreDAV library.",
"homepage": "https://github.com/nextcloud/contacts#readme",
"licenses": [
@@ -60,9 +60,9 @@
]
},
"cospend": {
"hash": "sha256-fxIC0gEYCek1LZ0rxmRAbWyYSfuHt6Bs/JCLYPR7ZFM=",
"url": "https://github.com/julien-nc/cospend-nc/releases/download/v4.0.0/cospend-4.0.0.tar.gz",
"version": "4.0.0",
"hash": "sha256-3uphQHtKlW8kXeLA5hMDpT14lEf+tnJyy4hfKioBDSw=",
"url": "https://github.com/julien-nc/cospend-nc/releases/download/v4.0.2/cospend-4.0.2.tar.gz",
"version": "4.0.2",
"description": "# Nextcloud Cospend 💰\n\nNextcloud Cospend is a group/shared budget manager. It was inspired by the great [IHateMoney](https://github.com/spiral-project/ihatemoney/).\n\nYou can use it when you share a house, when you go on vacation with friends, whenever you share expenses with a group of people.\n\nIt lets you create projects with members and bills. Each member has a balance computed from the project bills. Balances are not an absolute amount of money at members disposal but rather a relative information showing if a member has spent more for the group than the group has spent for her/him, independently of exactly who spent money for whom. This way you can see who owes the group and who the group owes. Ultimately you can ask for a settlement plan telling you which payments to make to reset members balances.\n\nProject members are independent from Nextcloud users. Projects can be shared with other Nextcloud users or via public links.\n\n[MoneyBuster](https://gitlab.com/eneiluj/moneybuster) Android client is [available in F-Droid](https://f-droid.org/packages/net.eneiluj.moneybuster/) and on the [Play store](https://play.google.com/store/apps/details?id=net.eneiluj.moneybuster).\n\n[PayForMe](https://github.com/mayflower/PayForMe) iOS client is currently under developpement!\n\nThe private and public APIs are documented using [the Nextcloud OpenAPI extractor](https://github.com/nextcloud/openapi-extractor/). This documentation can be accessed directly in Nextcloud. All you need is to install Cospend (>= v1.6.0) and use the [the OCS API Viewer app](https://apps.nextcloud.com/apps/ocs_api_viewer) to browse the OpenAPI documentation.\n\n## Features\n\n* ✎ Create/edit/delete projects, members, bills, bill categories, currencies\n* ⚖ Check member balances\n* 🗠 Display project statistics\n* ♻ Display settlement plan\n* Move bills from one project to another\n* Move bills to trash before actually deleting them\n* Archive old projects before deleting them\n* 🎇 Automatically create reimbursement bills from settlement plan\n* 🗓 Create recurring bills (day/week/month/year)\n* 📊 Optionally provide custom amount for each member in new bills\n* 🔗 Link personal files to bills (picture of physical receipt for example)\n* 👩 Public links for people outside Nextcloud (can be password protected)\n* 👫 Share projects with Nextcloud users/groups/circles\n* 🖫 Import/export projects as csv (compatible with csv files from IHateMoney and SplitWise)\n* 🔗 Generate link/QRCode to easily add projects in MoneyBuster\n* 🗲 Implement Nextcloud notifications and activity stream\n\nThis app usually support the 2 or 3 last major versions of Nextcloud.\n\nThis app is under development.\n\n🌍 Help us to translate this app on [Nextcloud-Cospend/MoneyBuster Crowdin project](https://crowdin.com/project/moneybuster).\n\n⚒ Check out other ways to help in the [contribution guidelines](https://github.com/julien-nc/cospend-nc/blob/master/CONTRIBUTING.md).\n\n## Documentation\n\n* [User documentation](https://github.com/julien-nc/cospend-nc/blob/master/docs/user.md)\n* [Admin documentation](https://github.com/julien-nc/cospend-nc/blob/master/docs/admin.md)\n* [Developer documentation](https://github.com/julien-nc/cospend-nc/blob/master/docs/dev.md)\n* [CHANGELOG](https://github.com/julien-nc/cospend-nc/blob/master/CHANGELOG.md#change-log)\n* [AUTHORS](https://github.com/julien-nc/cospend-nc/blob/master/AUTHORS.md#authors)\n\n## Known issues\n\n* It does not make you rich\n\nAny feedback will be appreciated.\n\n\n\n## Donation\n\nI develop this app during my free time.\n\n* [Donate with Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66PALMY8SF5JE) (you don't need a paypal account)\n* [Donate with Liberapay : ![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/eneiluj/donate)",
"homepage": "https://github.com/julien-nc/cospend-nc",
"licenses": [
@@ -80,9 +80,9 @@
]
},
"deck": {
"hash": "sha256-e3IGes5CUIlSn1W47V4f4X0XOAbeA1y3RPpw9w++hMU=",
"url": "https://github.com/nextcloud-releases/deck/releases/download/v1.17.2/deck-v1.17.2.tar.gz",
"version": "1.17.2",
"hash": "sha256-n0q700fSmqZ9tvsfSquXwh4ujtiBsW3wUaLnohu1MFg=",
"url": "https://github.com/nextcloud-releases/deck/releases/download/v1.17.3/deck-v1.17.3.tar.gz",
"version": "1.17.3",
"description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
"homepage": "https://github.com/nextcloud/deck",
"licenses": [
@@ -110,9 +110,9 @@
]
},
"files_linkeditor": {
"hash": "sha256-yT3b0K31PfK8ApI23yQAZRfTiWyFZnBVlTi+/sZCv+Y=",
"url": "https://github.com/te-online/nextcloud-app-releases/raw/main/files_linkeditor/v1.1.24/files_linkeditor.tar.gz",
"version": "1.1.24",
"hash": "sha256-WIOLA1J2aqMr5v3bZB3pRnF9bH1V0asGsMNTcetRsx8=",
"url": "https://github.com/te-online/nextcloud-app-releases/raw/main/files_linkeditor/v1.1.25/files_linkeditor.tar.gz",
"version": "1.1.25",
"description": "### External web links in Nextcloud!\n* ✍️ **create and edit** .URL and .webloc links in the file view\n* 🌍 **open links** by clicking them and confirming you want to go to the external site\n* 📤 **works in public shares** so you can share links easily with others\n* 🔄 **sync your links** as .URL and .webloc are web links as created on most operating systems.\n\n_[View changelog](https://github.com/te-online/files_linkeditor/blob/main/CHANGELOG.md)_",
"homepage": "https://github.com/te-online/files_linkeditor",
"licenses": [
@@ -130,13 +130,13 @@
]
},
"forms": {
"hash": "sha256-Lj4jNqIAAXGoaztpb1iXNak3mqKQzpm30VTQf5S4cOw=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v5.2.9/forms-v5.2.9.tar.gz",
"version": "5.2.9",
"hash": "sha256-r570gxd4j/AEMzT3vul6qxJsJ/bTEW459LONUOYA8ZM=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v5.3.2/forms-v5.3.2.tar.gz",
"version": "5.3.2",
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API_v3.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
"homepage": "https://github.com/nextcloud/forms",
"licenses": [
"agpl"
"AGPL-3.0-or-later"
]
},
"gpoddersync": {
@@ -150,9 +150,9 @@
]
},
"groupfolders": {
"hash": "sha256-yLcyZCI3IHEiZJDAH/vb7uqi5UmNMHFsRedK2pN88mc=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v21.0.7/groupfolders-v21.0.7.tar.gz",
"version": "21.0.7",
"hash": "sha256-2jy9p4pu2OXdi8JENFCBcPSDHnGIQkpzuyKkjxALAE4=",
"url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v21.0.8/groupfolders-v21.0.8.tar.gz",
"version": "21.0.8",
"description": "Team Folders (formerly \"Group Folders\") allows administrators to create and manage shared\nfolders for selected teams within Nextcloud.\n\nAdmins can grant one or more teams access to a folder, configure permissions (such as read,\nwrite, and sharing rights), and assign storage quotas from the Team Folders section (under\nadmin settings). The app also supports advanced permissions and integration with Nextclouds\ntrash and versioning systems.\n\nAs of Hub 10 / Nextcloud 31, admins must be members of a team to assign that team to a Team\nFolder.",
"homepage": "https://github.com/nextcloud/groupfolders",
"licenses": [
@@ -210,15 +210,25 @@
]
},
"mail": {
"hash": "sha256-SYe8BEC4v9ivl2iGVCkORHy5yn9wN4o2mrqJYGqzVRw=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v5.9.0/mail-v5.9.0.tar.gz",
"version": "5.9.0",
"hash": "sha256-K6sJ3XJOq9MoO0lGgqn3iBYuDqqhOMeHWD1DLVY5HaU=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v5.10.1/mail-v5.10.1.tar.gz",
"version": "5.10.1",
"description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 Were not reinventing the wheel!** Based on the great [Horde](https://www.horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
"homepage": "https://github.com/nextcloud/mail#readme",
"licenses": [
"agpl"
]
},
"maps": {
"hash": "sha256-Rwtzouz4NEFZVO6V8YvIc9Cyn/KBZ+gAYy5CcFDvRvc=",
"url": "https://github.com/nextcloud-releases/maps/releases/download/v1.7.1/maps-v1.7.1.tar.gz",
"version": "1.7.1",
"description": "**The whole world fits inside your cloud!**\n\n- **🗺 Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **🖼 Photos on the map:** No more boring slideshows, just show directly where you were!\n- **🙋 Contacts on the map:** See where your friends live and plan your next visit.\n- **📱 Devices:** Lost your phone? Check the map!\n- **〰 Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.",
"homepage": "https://github.com/nextcloud/maps",
"licenses": [
"agpl"
]
},
"music": {
"hash": "sha256-bQ9NBo5R/en3f68ag+mAsVWuhREjr/ajlKrfLn4Tvtg=",
"url": "https://github.com/nc-music/music/releases/download/v3.1.0/nc-music-3.1.0.tar.gz",
@@ -230,9 +240,9 @@
]
},
"news": {
"hash": "sha256-T3UBQcNxte18J/yyIucGb/X105t3lh97KWn0joTTuDw=",
"url": "https://github.com/nextcloud/news/releases/download/28.5.1/news.tar.gz",
"version": "28.5.1",
"hash": "sha256-25VyIvV7d5/hvWuT0IXzpgygLYHRrmqHg2pa+QQpK90=",
"url": "https://github.com/nextcloud/news/releases/download/28.6.0/news.tar.gz",
"version": "28.6.0",
"description": "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)",
"homepage": "https://github.com/nextcloud/news",
"licenses": [
@@ -280,9 +290,9 @@
]
},
"onlyoffice": {
"hash": "sha256-YBg/rrXPZyd0pqaOez/GjfraCqS7kwNTAXjIwBvExLM=",
"url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v10.0.0/onlyoffice.tar.gz",
"version": "10.0.0",
"hash": "sha256-ktKopFpHmtRulOQN3XO5BW5QyhURhOv+G77dSn6Nv08=",
"url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v10.1.0/onlyoffice.tar.gz",
"version": "10.1.0",
"description": "The ONLYOFFICE app for Nextcloud brings powerful document editing and collaboration tools directly to your Nextcloud environment. With this integration, you can seamlessly create, edit, and co-author text documents, spreadsheets, presentations, and PDFs, as well as build and fill out PDF forms.\n\nCollaborate with your team in real time, make use of Track Changes, version history, comments, integrated chat, and more. Work together on files with federated cloud sharing. Flexible access permissions allow you to control who can view, edit, or comment, ensuring secure role-based collaboration tailored to your needs. Documents can also be protected with watermarks, password settings, and encryption for added security.\n\nThe app offers support for over 50 file formats, including DOCX, XLSX, PPTX, PDF, RTF, TXT, CSV, ODT, ODS, ODP, EPUB, FB2, HTML, HWP, HWPX, Pages, Numbers, Keynote, etc. Seamless desktop and mobile app integration means you'll have access to your Nextcloud files wherever you go.\n\nFurthermore, you can seamlessly connect any AI assistant, including local ones, directly to the editors to work faster and more efficient. This allows you to leverage various AI models for tasks like chatbot interactions, translations, OCR, and more.\n\nWhether youre working with internal teams or external collaborators, the ONLYOFFICE app for Nextcloud enhances productivity, simplifies workflows, and ensures your files remain secure.",
"homepage": "https://www.onlyoffice.com",
"licenses": [
@@ -330,9 +340,9 @@
]
},
"quota_warning": {
"hash": "sha256-OgFXI7FD7skHcot0Fb636ScCimL1ArzD/3FDjRB7iCA=",
"url": "https://github.com/nextcloud-releases/quota_warning/releases/download/v1.23.0/quota_warning-v1.23.0.tar.gz",
"version": "1.23.0",
"hash": "sha256-bX9f6Zu53lZfG8zpfEwRxvIFVxARs4y6NLNNAK3DhUI=",
"url": "https://github.com/nextcloud-releases/quota_warning/releases/download/v1.24.0/quota_warning-v1.24.0.tar.gz",
"version": "1.24.0",
"description": "This app sends notifications to users when they reached 85, 90 and 95% of their quota (checked once a day).\nIn addition an email can be sent to the users. The three percentages can be changed in the admin settings.\nIt is also possible to have a link in the email and the notification for upsell options.",
"homepage": "https://github.com/nextcloud/quota_warning",
"licenses": [
@@ -340,9 +350,9 @@
]
},
"registration": {
"hash": "sha256-EzKIk9o4+i9+6oa3B4ZP1tAnXnL6zO6LjSXmPEzvbGE=",
"url": "https://github.com/nextcloud-releases/registration/releases/download/v2.9.0/registration-v2.9.0.tar.gz",
"version": "2.9.0",
"hash": "sha256-mXsG5SfMrOp/G/4w9dbcwk41bLRUyrzWGTkoNeE0E88=",
"url": "https://github.com/nextcloud-releases/registration/releases/download/v3.0.0/registration-v3.0.0.tar.gz",
"version": "3.0.0",
"description": "User registration\n\nThis app allows users to register a new account.\n\n# Features\n\n- Add users to a given group\n- Allow-list with email domains (including wildcard) to register with\n- Administrator will be notified via email for new user creation or require approval\n- Supports Nextcloud's Client Login Flow v1 and v2 - allowing registration in the mobile Apps and Desktop clients\n\n# Web form registration flow\n\n1. User enters their email address\n2. Verification link is sent to the email address\n3. User clicks on the verification link\n4. User is lead to a form where they can choose their username and password\n5. New account is created and is logged in automatically",
"homepage": "https://github.com/nextcloud/registration",
"licenses": [
@@ -350,9 +360,9 @@
]
},
"repod": {
"hash": "sha256-9JqXxPbuaOGgYvocqXdP+Cy1qs43LC4FTXPxcZIZ6Zk=",
"url": "https://git.crystalyx.net/Xefir/repod/releases/download/4.2.0/repod.tar.gz",
"version": "4.2.0",
"hash": "sha256-wLglJfhATgmHjagwClZHtXm8HQ8vSE0DUG4KXTHRapI=",
"url": "https://git.crystalyx.net/Xefir/repod/releases/download/4.2.1/repod.tar.gz",
"version": "4.2.1",
"description": "## Features\n- 🔍 Browse and subscribe huge collection of podcasts\n- 🔊 Listen to episodes directly in Nextcloud\n- 🌐 Sync your activity with [AntennaPod](https://antennapod.org/) and [other apps](https://git.crystalyx.net/Xefir/repod#clients-supporting-sync-of-gpoddersync)\n- 📱 Mobile friendly interface\n- 📡 Import and export your subscriptions\n- ➡️ Full features comparison [here](https://git.crystalyx.net/Xefir/repod#comparaison-with-similar-apps-for-nextcloud)\n\n## Requirements\nYou need to have [GPodderSync](https://apps.nextcloud.com/apps/gpoddersync) installed to use this app!",
"homepage": "https://git.crystalyx.net/Xefir/repod",
"licenses": [
@@ -360,9 +370,9 @@
]
},
"richdocuments": {
"hash": "sha256-opa/fyrCtnaK6eiHqQ49cNfs3Nl0pi7L1IizLyfy+Co=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v10.1.3/richdocuments-v10.1.3.tar.gz",
"version": "10.1.3",
"hash": "sha256-HGNCueLlZuauHi/0dltApMDj8FBZ4Ruj2T2F+/4qWY4=",
"url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v10.2.0/richdocuments-v10.2.0.tar.gz",
"version": "10.2.0",
"description": "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.",
"homepage": "https://collaboraoffice.com/",
"licenses": [
@@ -430,9 +440,9 @@
]
},
"twofactor_webauthn": {
"hash": "sha256-21lUwF1uC7vJKqpC144jbtKaX25UhVDzgU/E7XoMSos=",
"url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.6.0/twofactor_webauthn-v2.6.0.tar.gz",
"version": "2.6.0",
"hash": "sha256-cpjn8Md2MaVv063A2HwklgtGtPIkzyF/KgE/OzzP0bA=",
"url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v2.7.0/twofactor_webauthn-v2.7.0.tar.gz",
"version": "2.7.0",
"description": "A two-factor provider for WebAuthn devices",
"homepage": "https://github.com/nextcloud/twofactor_webauthn#readme",
"licenses": [
@@ -450,9 +460,9 @@
]
},
"uppush": {
"hash": "sha256-MFOZqCQRyzICFPMyJGJIr366QpF47GZM/SpzqiY0HWQ=",
"url": "https://codeberg.org/NextPush/uppush/archive/2.4.1.tar.gz",
"version": "2.4.0",
"hash": "sha256-5+Knec2Ix8291UcQFipmqh3C9wheYH4+Smmmt3q3wFE=",
"url": "https://codeberg.org/NextPush/uppush/archive/2.5.0.tar.gz",
"version": "2.5.0",
"description": "Once the mobile phone is connected with NextPush, push notifications can be forwarded to applications implementing UnifiedPush.\n\nMore information about UnifiedPush at https://unifiedpush.org",
"homepage": "",
"licenses": [
@@ -476,7 +486,7 @@
"description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\t* Authentik\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
"homepage": "https://github.com/nextcloud/user_saml",
"licenses": [
"agpl"
"AGPL-3.0-or-later"
]
},
"whiteboard": {

View File

@@ -143,10 +143,7 @@ let
common = {
# initial TeX Live 2025 release
# src = fetchurl {
# urls = [
# "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0308-source.tar.xz"
# "ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0308-source.tar.xz"
# ];
# url = "mirror://texhistoric/systems/texlive/${year}/texlive-${year}0308-source.tar.xz";
# hash = "sha256-//2xo9FDwXekOYoiKaQNaojxgJjl9tz9V2SMnyQXSQ8=";
# };

View File

@@ -156,8 +156,7 @@ let
[
# tlnet-final snapshot; used when texlive.tlpdb is frozen
# the TeX Live yearly freeze typically happens in mid-March
"http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${toString version.texliveYear}/tlnet-final"
"ftp://tug.org/texlive/historic/${toString version.texliveYear}/tlnet-final"
"mirror://texhistoric/systems/texlive/${toString version.texliveYear}/tlnet-final"
]
else
[

View File

@@ -1243,6 +1243,7 @@ mapAliases {
linux_6_18 = linuxKernel.kernels.linux_6_18;
linux_6_19 = linuxKernel.kernels.linux_6_19;
linux_7_0 = linuxKernel.kernels.linux_7_0;
linux_7_1 = linuxKernel.kernels.linux_7_1;
linux_ham = throw "linux_ham has been removed in favour of the standard kernel packages"; # Added 2025-06-24
linux_hardened = throw "linux_hardened has been removed due to lack of maintenance"; # Added 2026-03-18
linux_latest-libre = throw "linux_latest_libre has been removed due to lack of maintenance"; # Added 2025-10-01
@@ -1278,6 +1279,7 @@ mapAliases {
linuxPackages_6_18 = linuxKernel.packages.linux_6_18;
linuxPackages_6_19 = linuxKernel.packages.linux_6_19;
linuxPackages_7_0 = linuxKernel.packages.linux_7_0;
linuxPackages_7_1 = linuxKernel.packages.linux_7_1;
linuxPackages_ham = throw "linux_ham has been removed in favour of the standard kernel packages"; # Added 2025-06-24
linuxPackages_hardened = throw "linuxPackages_hardened has been removed due to lack of maintenance"; # Added 2026-03-18
linuxPackages_latest-libre = throw "linux_latest_libre has been removed due to lack of maintenance"; # Added 2025-10-01

View File

@@ -1223,21 +1223,11 @@ with pkgs;
else
throw "Don't know 32-bit platform for cross from: ${stdenv.hostPlatform.stdenv}";
cdemu-client = callPackage ../applications/emulators/cdemu/client.nix { };
cdemu-daemon = callPackage ../applications/emulators/cdemu/daemon.nix { };
fceux-qt5 = fceux.override { ___qtVersion = "5"; };
fceux-qt6 = fceux.override { ___qtVersion = "6"; };
gcdemu = callPackage ../applications/emulators/cdemu/gui.nix { };
image-analyzer = callPackage ../applications/emulators/cdemu/analyzer.nix { };
kega-fusion = pkgsi686Linux.callPackage ../applications/emulators/kega-fusion { };
libmirage = callPackage ../applications/emulators/cdemu/libmirage.nix { };
mame-tools = lib.addMetaAttrs {
description = mame.meta.description + " (tools only)";
} (lib.getOutput "tools" mame);
@@ -4365,11 +4355,20 @@ with pkgs;
);
in
callPackage ../build-support/rust/build-rust-crate (
{ }
// lib.optionalAttrs (stdenv.hostPlatform.libc == null) {
lib.optionalAttrs (stdenv.hostPlatform.libc == null) {
stdenv = stdenvNoCC; # Some build targets without libc will fail to evaluate with a normal stdenv.
}
// lib.optionalAttrs targetAlreadyIncluded { inherit (pkgsBuildBuild) rustc cargo; } # Optimization.
// (
if targetAlreadyIncluded then
# Optimization
{
inherit (pkgsBuildBuild) rustc cargo;
}
else
{
inherit (pkgsBuildHost) rustc cargo;
}
)
);
buildRustCrateHelpers = callPackage ../build-support/rust/build-rust-crate/helpers.nix { };
@@ -5557,22 +5556,6 @@ with pkgs;
openai-whisper = with python3.pkgs; toPythonApplication openai-whisper;
openocd-rp2040 = openocd.overrideAttrs (old: {
pname = "openocd-rp2040";
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "openocd";
rev = "4d87f6dcae77d3cbcd8ac3f7dc887adf46ffa504";
hash = "sha256-bBqVoHsnNoaC2t8hqcduI8GGlO0VDMUovCB0HC+rxvc=";
# openocd disables the vendored libraries that use submodules and replaces them with nix versions.
# this works out as one of the submodule sources seems to be flakey.
fetchSubmodules = false;
};
nativeBuildInputs = old.nativeBuildInputs ++ [
autoreconfHook
];
});
oprofile = callPackage ../development/tools/profiling/oprofile {
libiberty_static = libiberty.override { staticBuild = true; };
};

View File

@@ -100,6 +100,14 @@ in
];
};
linux_7_1 = callPackage ../os-specific/linux/kernel/mainline.nix {
branch = "7.1";
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
];
};
linux_testing =
let
testing = callPackage ../os-specific/linux/kernel/mainline.nix {
@@ -667,6 +675,7 @@ in
linux_6_12 = recurseIntoAttrs (packagesFor kernels.linux_6_12);
linux_6_18 = recurseIntoAttrs (packagesFor kernels.linux_6_18);
linux_7_0 = recurseIntoAttrs (packagesFor kernels.linux_7_0);
linux_7_1 = recurseIntoAttrs (packagesFor kernels.linux_7_1);
}
// lib.optionalAttrs config.allowAliases {
linux_4_19 = throw "linux 4.19 was removed because it will reach its end of life within 24.11"; # Added 2024-09-21
@@ -735,7 +744,7 @@ in
packageAliases = {
linux_default = packages.linux_6_18;
# Update this when adding the newest kernel major version!
linux_latest = packages.linux_7_0;
linux_latest = packages.linux_7_1;
}
// lib.optionalAttrs config.allowAliases {
linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake";