Merge staging-next into staging

Changed files
+530 -160
maintainers
nixos
modules
services
misc
monitoring
prometheus
exporters
networking
pkgs
applications
emulators
libretro
misc
by-name
bi
cb
cl
closurecompiler
ct
ctags-lsp
gh
gh-signoff
go
gotify-server
jr
jreleaser-cli
la
ladybird
me
mergiraf
na
nt
ntfs2btrfs
pe
peergos
po
portmidi
re
redis
sn
snapcraft
te
tevent
ti
tigerbeetle
ze
zed-editor
development
coq-modules
parseque
haskell-modules
libraries
qt-6
modules
qtbase
python-modules
control
craft-parts
rocq-modules
parseque
games
path-of-building
servers
top-level
+14
maintainers/maintainer-list.nix
···
githubId = 59240843;
name = "Mahyar Mirrashed";
+
maikotan = {
+
email = "maiko.tan.coding@gmail.com";
+
github = "MaikoTan";
+
githubId = 19927330;
+
name = "Maiko Tan";
+
keys = [
+
{ fingerprint = "9C68 989F ECF9 8993 3225 96DD 970A 6794 990C 52AE"; }
+
];
+
};
majesticmullet = {
email = "hoccthomas@gmail.com.au";
github = "MajesticMullet";
···
email = "pete.perickson@gmail.com";
github = "petee";
githubId = 89916;
+
};
+
Peter3579 = {
+
github = "Peter3579";
+
githubId = 170885528;
+
name = "Peter3579";
peterhoeg = {
email = "peter@hoeg.com";
+2
nixos/modules/services/misc/nix-gc.nix
···
script = "exec ${config.nix.package.out}/bin/nix-collect-garbage ${cfg.options}";
serviceConfig.Type = "oneshot";
startAt = lib.optionals cfg.automatic cfg.dates;
+
# do not start and delay when switching
+
restartIfChanged = false;
};
systemd.timers.nix-gc = lib.mkIf cfg.automatic {
+2
nixos/modules/services/misc/nix-optimise.nix
···
unitConfig.ConditionPathIsReadWrite = "/nix/var/nix/daemon-socket";
serviceConfig.ExecStart = "${config.nix.package}/bin/nix-store --optimise";
startAt = lib.optionals cfg.automatic cfg.dates;
+
# do not start and delay when switching
+
restartIfChanged = false;
};
timers.nix-optimise = lib.mkIf cfg.automatic {
+25 -3
nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
···
mkEnableOption
optionalString
escapeShellArg
+
concatStringsSep
+
concatMapStringsSep
;
in
{
port = 9586;
imports = [
(mkRenamedOptionModule [ "addr" ] [ "listenAddress" ])
-
({
+
{
options.warnings = options.warnings;
options.assertions = options.assertions;
-
})
+
}
];
extraOpts = {
verbose = mkEnableOption "verbose logging mode for prometheus-wireguard-exporter";
···
'';
};
+
interfaces = mkOption {
+
type = types.listOf types.str;
+
default = [ ];
+
description = ''
+
Specifies the interface(s) passed to the wg show <interface> dump parameter.
+
By default all interfaces are used.
+
'';
+
};
+
singleSubnetPerField = mkOption {
type = types.bool;
default = false;
···
Adds the `wireguard_latest_handshake_delay_seconds` metric that automatically calculates the seconds passed since the last handshake.
'';
};
+
+
prependSudo = mkOption {
+
type = types.bool;
+
default = false;
+
description = ''
+
Whether or no to prepend sudo to wg commands.
+
'';
+
};
};
serviceOpts = {
path = [ pkgs.wireguard-tools ];
···
${optionalString cfg.singleSubnetPerField "-s true"} \
${optionalString cfg.withRemoteIp "-r true"} \
${optionalString cfg.latestHandshakeDelay "-d true"} \
-
${optionalString (cfg.wireguardConfig != null) "-n ${escapeShellArg cfg.wireguardConfig}"}
+
${optionalString cfg.prependSudo "-a true"} \
+
${optionalString (cfg.wireguardConfig != null) "-n ${escapeShellArg cfg.wireguardConfig}"} \
+
${concatMapStringsSep " " (i: "-i ${i}") cfg.interfaces} \
+
${concatStringsSep " " cfg.extraFlags}
'';
RestrictAddressFamilies = [
# Need AF_NETLINK to collect data
+11 -11
nixos/modules/services/networking/xrdp.nix
···
chmod +x $out/startwm.sh
substituteInPlace $out/xrdp.ini \
-
--replace "#rsakeys_ini=" "rsakeys_ini=/run/xrdp/rsakeys.ini" \
-
--replace "certificate=" "certificate=${cfg.sslCert}" \
-
--replace "key_file=" "key_file=${cfg.sslKey}" \
-
--replace LogFile=xrdp.log LogFile=/dev/null \
-
--replace EnableSyslog=true EnableSyslog=false
+
--replace-fail "#rsakeys_ini=" "rsakeys_ini=/run/xrdp/rsakeys.ini" \
+
--replace-fail "certificate=" "certificate=${cfg.sslCert}" \
+
--replace-fail "key_file=" "key_file=${cfg.sslKey}" \
+
--replace-fail LogFile=xrdp.log LogFile=/dev/null \
+
--replace-fail EnableSyslog=true EnableSyslog=false
substituteInPlace $out/sesman.ini \
-
--replace LogFile=xrdp-sesman.log LogFile=/dev/null \
-
--replace EnableSyslog=1 EnableSyslog=0 \
-
--replace startwm.sh $out/startwm.sh \
-
--replace reconnectwm.sh $out/reconnectwm.sh \
+
--replace-fail LogFile=xrdp-sesman.log LogFile=/dev/null \
+
--replace-fail EnableSyslog=true EnableSyslog=false \
+
--replace-fail startwm.sh $out/startwm.sh \
+
--replace-fail reconnectwm.sh $out/reconnectwm.sh \
# Ensure that clipboard works for non-ASCII characters
sed -i -e '/.*SessionVariables.*/ a\
···
'';
example = ''
substituteInPlace $out/sesman.ini \
-
--replace LogLevel=INFO LogLevel=DEBUG \
-
--replace LogFile=/dev/null LogFile=/var/log/xrdp.log
+
--replace-fail LogLevel=INFO LogLevel=DEBUG \
+
--replace-fail LogFile=/dev/null LogFile=/var/log/xrdp.log
'';
};
};
+3 -3
pkgs/applications/emulators/libretro/cores/beetle-psx.nix
···
}:
mkLibretroCore {
core = "mednafen-psx" + lib.optionalString withHw "-hw";
-
version = "0-unstable-2025-06-20";
+
version = "0-unstable-2025-06-27";
src = fetchFromGitHub {
owner = "libretro";
repo = "beetle-psx-libretro";
-
rev = "22ba62e8a2e0fb7a8d05b4eec039e58de46924de";
-
hash = "sha256-Z+TMWxPWedZuqpGIfyN7hYC/S5RG1ENnWD2nUDDYDFU=";
+
rev = "27aa688076606a272d024fcad67b330fe434ff0d";
+
hash = "sha256-omr5k1NOB3RZVeQJj2hbK53hiQbJwu7utEnxqfFPqbU=";
};
extraBuildInputs = lib.optionals withHw [
+9 -2
pkgs/applications/misc/input-leap/default.nix
···
fetchFromGitHub,
cmake,
-
withLibei ? true,
+
withLibei ? !stdenv.hostPlatform.isDarwin,
avahi,
curl,
···
libei,
libportal,
openssl,
+
pkgsStatic,
pkg-config,
qtbase,
qttools,
···
fetchSubmodules = true;
};
+
patches = [ ./macos-no-dmg.patch ];
+
nativeBuildInputs = [
pkg-config
cmake
···
wrapQtAppsHook
qttools
];
+
buildInputs =
[
curl
···
++ lib.optionals withLibei [
libei
libportal
+
]
+
++ lib.optionals stdenv.hostPlatform.isDarwin [
+
pkgsStatic.openssl
];
cmakeFlags = [
···
twey
shymega
];
-
platforms = lib.platforms.linux;
+
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}
+22
pkgs/applications/misc/input-leap/macos-no-dmg.patch
···
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
+
index ab4e56f2..d01d946d 100644
+
--- a/CMakeLists.txt
+
+++ b/CMakeLists.txt
+
@@ -289,17 +289,6 @@ endmacro (configure_files)
+
# Make a bundle for mac os
+
if (APPLE)
+
set (CMAKE_INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks")
+
- set(INPUTLEAP_BUNDLE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dist/macos/bundle)
+
- set(INPUTLEAP_BUNDLE_DIR ${CMAKE_BINARY_DIR}/bundle)
+
- set(INPUTLEAP_BUNDLE_APP_DIR ${INPUTLEAP_BUNDLE_DIR}/InputLeap.app)
+
- set(INPUTLEAP_BUNDLE_BINARY_DIR ${INPUTLEAP_BUNDLE_APP_DIR}/Contents/MacOS)
+
-
+
- configure_files(${INPUTLEAP_BUNDLE_SOURCE_DIR} ${INPUTLEAP_BUNDLE_DIR})
+
-
+
- add_custom_target(InputLeap_MacOS ALL
+
- bash build_dist.sh
+
- DEPENDS input-leap input-leaps input-leapc
+
- WORKING_DIRECTORY ${INPUTLEAP_BUNDLE_DIR})
+
elseif (UNIX AND NOT APPLE)
+
install(FILES doc/input-leapc.1 doc/input-leaps.1 DESTINATION share/man/man1)
+
+2 -2
pkgs/by-name/bi/bind/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "bind";
-
version = "9.20.9";
+
version = "9.20.10";
src = fetchurl {
url = "https://downloads.isc.org/isc/bind9/${finalAttrs.version}/bind-${finalAttrs.version}.tar.xz";
-
hash = "sha256-PSaQDtnJqFkHP/6puX4pLBJI2tGCebF7BfyyPDCR+G0=";
+
hash = "sha256-D7O6LDN7tIjKaPXfKWxDXNJVBY+2PQgi6R2wI1yQVxY=";
};
outputs = [
+2 -2
pkgs/by-name/cb/cbmc/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "cbmc";
-
version = "6.6.0";
+
version = "6.7.0";
src = fetchFromGitHub {
owner = "diffblue";
repo = "cbmc";
tag = "cbmc-${finalAttrs.version}";
-
hash = "sha256-ot0vVBgiSVru/RE7KeyTsXzDfs0CSa5vaFsON+PCZZo=";
+
hash = "sha256-a2Lc4Vou+tND/d8bRw9MpjWrPgdE9gwisfT+xbHUMjY=";
};
srcglucose = fetchFromGitHub {
+2 -2
pkgs/by-name/cl/closurecompiler/package.nix
···
stdenv.mkDerivation rec {
pname = "closure-compiler";
-
version = "20250407";
+
version = "20250528";
src = fetchurl {
url = "mirror://maven/com/google/javascript/closure-compiler/v${version}/closure-compiler-v${version}.jar";
-
sha256 = "sha256-T9qZBdjeV+pa5d+wRGSAwmP1Kn7laZTuFuDOxqadhVQ=";
+
sha256 = "sha256-P7NzTMgMdvG4LMKcmJx+x2LsPvmjtrr+RC6Oy/CVvD0=";
};
dontUnpack = true;
+2 -2
pkgs/by-name/ct/ctags-lsp/package.nix
···
}:
buildGoModule rec {
pname = "ctags-lsp";
-
version = "0.6.1";
+
version = "0.7.0";
vendorHash = null;
src = fetchFromGitHub {
owner = "netmute";
repo = "ctags-lsp";
tag = "v${version}";
-
hash = "sha256-wSccfhVp1PDn/gj46r8BNskEuBuRIx1wydYAW1PV4cg=";
+
hash = "sha256-yueT8Q/mJTvQ3fqE4237E93W4ToEi0IzSus/xoto6vA=";
};
nativeBuildInputs = [ makeWrapper ];
+61
pkgs/by-name/gh/gh-signoff/package.nix
···
+
{
+
lib,
+
stdenvNoCC,
+
fetchFromGitHub,
+
+
bash,
+
gh,
+
git,
+
jq,
+
+
makeWrapper,
+
nix-update-script,
+
}:
+
+
stdenvNoCC.mkDerivation (finalAttrs: {
+
pname = "gh-signoff";
+
version = "0.2.1"; # version is in the script
+
+
src = fetchFromGitHub {
+
owner = "basecamp";
+
repo = "gh-signoff";
+
rev = "24f274070c9dfbb3916347dbf6f9d38d4fb64eca"; # Repo didn't have a valid Git tag for specific version
+
hash = "sha256-jqRbh4To6uHoohkNZrzgmGWOBp/Mahmjm5NwXjmshhM=";
+
};
+
+
nativeBuildInputs = [
+
makeWrapper
+
];
+
+
buildInputs = [ bash ];
+
+
strictDeps = true;
+
+
runtimeDeps = [
+
gh
+
git
+
jq
+
];
+
+
installPhase = ''
+
runHook preInstall
+
install -D -m755 "gh-signoff" "$out/bin/gh-signoff"
+
runHook postInstall
+
'';
+
+
postFixup = ''
+
wrapProgram "$out/bin/gh-signoff" \
+
--prefix PATH : "${lib.makeBinPath finalAttrs.runtimeDeps}"
+
'';
+
+
passthru.updateScript = nix-update-script { };
+
+
meta = {
+
description = "GitHub CLI extension for local CI to sign off on your own work";
+
homepage = "https://github.com/basecamp/gh-signoff";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ maikotan ];
+
mainProgram = "gh-signoff";
+
inherit (gh.meta) platforms;
+
};
+
})
+23 -23
pkgs/by-name/go/gotify-server/package.nix
···
nix-update-script,
}:
-
buildGoModule rec {
+
buildGoModule (finalAttrs: {
pname = "gotify-server";
version = "2.6.3";
src = fetchFromGitHub {
owner = "gotify";
repo = "server";
-
rev = "v${version}";
+
tag = "v${finalAttrs.version}";
hash = "sha256-9vIReA29dWf3QwUYEW8JhzF9o74JZqG4zGobgI+gIWE=";
};
-
# With `allowGoReference = true;`, `buildGoModule` adds the `-trimpath`
-
# argument for Go builds which apparently breaks the UI like this:
-
#
-
# server[780]: stat /var/lib/private/ui/build/index.html: no such file or directory
-
allowGoReference = true;
-
vendorHash = "sha256-rs6EfnJT6Jgif2TR5u5Tp5/Ozn+4uhSapksyKFnQiCo=";
+
# No test
doCheck = false;
buildInputs = [
sqlite
];
-
ui = callPackage ./ui.nix { };
+
ui = callPackage ./ui.nix { inherit (finalAttrs) src version; };
-
preBuild = ''
-
if [ -n "$ui" ] # to make the preBuild a no-op inside the goModules fixed-output derivation, where it would fail
-
then
-
cp -r $ui ui/build
-
fi
+
# Use preConfigure instead of preBuild to keep goModules independent from ui
+
preConfigure = ''
+
cp -r ${finalAttrs.ui} ui/build
'';
passthru = {
-
# For nix-update to detect the location of this attribute from this
-
# derivation.
-
inherit (ui) offlineCache;
-
updateScript = nix-update-script { };
+
updateScript = nix-update-script {
+
extraArgs = [
+
"--subpackage"
+
"ui"
+
];
+
};
tests = {
nixos = nixosTests.gotify-server;
};
···
# produce binaries which panic when executed and are not interesting at all
subPackages = [ "." ];
+
# Based on LD_FLAGS in upstream's .github/workflows/build.yml:
+
# https://github.com/gotify/server/blob/v2.6.3/.github/workflows/build.yml#L33
ldflags = [
-
"-X main.Version=${version}"
+
"-s"
+
"-X main.Version=${finalAttrs.version}"
"-X main.Mode=prod"
+
"-X main.Commit=refs/tags/v${finalAttrs.version}"
+
"-X main.BuildDate=unknown"
];
-
meta = with lib; {
+
meta = {
description = "Simple server for sending and receiving messages in real-time per WebSocket";
homepage = "https://gotify.net";
-
license = licenses.mit;
-
maintainers = with maintainers; [ doronbehar ];
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ doronbehar ];
mainProgram = "server";
};
-
}
+
})
+13 -27
pkgs/by-name/go/gotify-server/ui.nix
···
{
+
src,
+
version,
stdenv,
-
yarn,
-
fixup-yarn-lock,
+
yarnConfigHook,
+
yarnBuildHook,
nodejs-slim,
fetchYarnDeps,
-
gotify-server,
}:
-
stdenv.mkDerivation rec {
+
stdenv.mkDerivation (finalAttrs: {
pname = "gotify-ui";
-
inherit (gotify-server) version;
+
inherit version;
-
src = gotify-server.src + "/ui";
+
src = src + "/ui";
-
offlineCache = fetchYarnDeps {
-
yarnLock = "${src}/yarn.lock";
+
yarnOfflineCache = fetchYarnDeps {
+
yarnLock = "${finalAttrs.src}/yarn.lock";
hash = "sha256-ejHzo6NHCMlNiYePWvfMY9Blb58pj3UQ5PFI0V84flI=";
};
nativeBuildInputs = [
-
yarn
-
fixup-yarn-lock
+
yarnConfigHook
+
yarnBuildHook
nodejs-slim
];
-
postPatch = ''
-
export HOME=$NIX_BUILD_TOP/fake_home
-
yarn config --offline set yarn-offline-mirror $offlineCache
-
fixup-yarn-lock yarn.lock
-
yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive
-
patchShebangs node_modules/
-
'';
-
-
buildPhase = ''
-
runHook preBuild
-
-
export NODE_OPTIONS=--openssl-legacy-provider
-
yarn --offline build
-
-
runHook postBuild
-
'';
+
env.NODE_OPTIONS = "--openssl-legacy-provider";
installPhase = ''
runHook preInstall
···
runHook postInstall
'';
-
}
+
})
+2 -2
pkgs/by-name/jr/jreleaser-cli/package.nix
···
}:
stdenv.mkDerivation rec {
pname = "jreleaser-cli";
-
version = "1.18.0";
+
version = "1.19.0";
src = fetchurl {
url = "https://github.com/jreleaser/jreleaser/releases/download/v${version}/jreleaser-tool-provider-${version}.jar";
-
hash = "sha256-rJYFoPPz1tR7LgcVfiRPFJHf1tMLhlxNQXsmutHZs3Q=";
+
hash = "sha256-tUliZBRHAXgv+FR5z298IAG3egTTqwhRYt8r96gdtdM=";
};
nativeBuildInputs = [ makeWrapper ];
+5 -4
pkgs/by-name/la/ladybird/package.nix
···
let
# Note: The cacert version is synthetic and must match the version in the package's CMake
-
cacert_version = "2023-12-12";
+
cacert_version = "2025-05-20";
in
stdenv.mkDerivation (finalAttrs: {
pname = "ladybird";
-
version = "0-unstable-2025-06-18";
+
version = "0-unstable-2025-06-27";
src = fetchFromGitHub {
owner = "LadybirdWebBrowser";
repo = "ladybird";
-
rev = "86c8dbbf902d5c84bdc90cd35d19cc167d5848bd";
-
hash = "sha256-CUVKrbpwPDMHPMHQfNSOQLQmRv7Fy4H/xsglZJaPZlI=";
+
rev = "831ba5d6550fd9dfaf90153876ff42396f7165ac";
+
hash = "sha256-7feXPFKExjuOGbitlAkSEEzYNEZb6hGSDUZW1EJGIW8=";
};
postPatch = ''
···
"aarch64-darwin"
];
mainProgram = "Ladybird";
+
broken = stdenv.hostPlatform.isDarwin;
};
})
+3 -3
pkgs/by-name/me/mergiraf/package.nix
···
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mergiraf";
-
version = "0.10.0";
+
version = "0.11.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "mergiraf";
repo = "mergiraf";
tag = "v${finalAttrs.version}";
-
hash = "sha256-wnXOl7KzSvvxQP4CebOJ+fEIn7fQDKTmO2PkGMRA4t4=";
+
hash = "sha256-nzWRMCIeZ1RmZO4v5UqX1JrbN1UjBHkl/bYaERCzfew=";
};
useFetchCargoVendor = true;
-
cargoHash = "sha256-jShWfd3m9g6YlUFLOzlMPFtuXAAfjh+sBujCJ9F2Uj0=";
+
cargoHash = "sha256-9OjcEmed9nLM/fp6Qk/Gh9hTVnn5cqCxTUpAJUkI4/M=";
nativeCheckInputs = [ git ];
+3 -3
pkgs/by-name/na/nak/package.nix
···
buildGoModule (finalAttrs: {
pname = "nak";
-
version = "0.14.2";
+
version = "0.14.4";
src = fetchFromGitHub {
owner = "fiatjaf";
repo = "nak";
tag = "v${finalAttrs.version}";
-
hash = "sha256-+91warH+uvQ5jkPIxkJxsS9R83cZ1u+FKMy3xgjHIAQ=";
+
hash = "sha256-MoH1jQP4X3DYri5+TfmjBh3+5jkyItgcS7+nOBSnRGI=";
};
-
vendorHash = "sha256-HGZwcg8C9UuYu0+oPfJG4LEXIHqt+IRrDQdXtIjg0Hg=";
+
vendorHash = "sha256-5W7uqHT9iP5NbE3EFiFBSdjsINIWv5lIkz3K6yMcgrM=";
ldflags = [
"-s"
+2 -2
pkgs/by-name/nt/ntfs2btrfs/package.nix
···
stdenv.mkDerivation rec {
pname = "ntfs2btrfs";
-
version = "20240115";
+
version = "20250616";
src = fetchFromGitHub {
owner = "maharmstone";
repo = "ntfs2btrfs";
tag = version;
-
hash = "sha256-sZ8AWREe2jasy3hqLTjaLcOMCNsrDjz2eIuknA2TsEs=";
+
hash = "sha256-hRPidvpBVm42Rg+acwHQ6b8WHGMPbE6SHwlrQrB+fD8=";
};
nativeBuildInputs = [
+2 -2
pkgs/by-name/pe/peergos/package.nix
···
in
stdenv.mkDerivation rec {
pname = "peergos";
-
version = "1.6.0";
+
version = "1.7.1";
src = fetchFromGitHub {
owner = "Peergos";
repo = "web-ui";
rev = "v${version}";
-
hash = "sha256-Y2oGvYqLEAuF732DAOFLmXqwDX48/ZeYW0kPc17Z+oU=";
+
hash = "sha256-gafFkHgTDBBon5fxjZwDGhEPyk6bp2XL4DxAWKtpWzo=";
fetchSubmodules = true;
};
+2 -2
pkgs/by-name/po/portmidi/package.nix
···
stdenv.mkDerivation rec {
pname = "portmidi";
-
version = "2.0.4";
+
version = "2.0.6";
src = fetchFromGitHub {
owner = "portmidi";
repo = "portmidi";
rev = "v${version}";
-
sha256 = "sha256-uqBeh9vBP6+V+FN4lfeGxePQcpZMDYUuAo/d9a5rQxU=";
+
sha256 = "sha256-ou+zN4XnR+QaWC/hzgtThVbeZ/3UVLTpZ9O+eQSGVBs=";
};
cmakeFlags = [
+21 -12
pkgs/by-name/re/redis/package.nix
···
systemd,
openssl,
python3,
-
+
nix-update-script,
+
versionCheckHook,
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
tlsSupport ? true,
# Using system jemalloc fixes cross-compilation and various setups.
···
stdenv.mkDerivation (finalAttrs: {
pname = "redis";
-
version = "7.2.7";
+
version = "8.0.2";
src = fetchFromGitHub {
owner = "redis";
repo = "redis";
-
rev = finalAttrs.version;
-
hash = "sha256-WZ89BUm3zz6n0dZKyODHCyMGExbqaPJJ1qxLvJKUSDI=";
+
tag = finalAttrs.version;
+
hash = "sha256-BZJEBp3M7Gw/6/fZjfaMfU777dFmMzAS4bDI06ErkSc=";
};
patches = lib.optional useSystemJemalloc (fetchpatch2 {
···
hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ];
-
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ "-std=c11" ]);
env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isFreeBSD "-lexecinfo";
# darwin currently lacks a pure `pgrep` which is extensively used here
···
# disable test "Connect multiple replicas at the same time": even
# upstream find this test too timing-sensitive
substituteInPlace tests/integration/replication.tcl \
-
--replace 'foreach mdl {no yes}' 'foreach mdl {}'
+
--replace-fail 'foreach sdl {disabled swapdb} {' 'foreach sdl {} {'
substituteInPlace tests/support/server.tcl \
-
--replace 'exec /usr/bin/env' 'exec env'
+
--replace-fail 'exec /usr/bin/env' 'exec env'
-
sed -i '/^proc wait_load_handlers_disconnected/{n ; s/wait_for_condition 50 100/wait_for_condition 50 500/; }' \
+
sed -i -e '/^proc wait_load_handlers_disconnected/{n ; s/wait_for_condition 50 100/wait_for_condition 50 500/; }' \
+
-e '/^proc wait_for_ofs_sync/{n ; s/wait_for_condition 50 100/wait_for_condition 50 500/; }' \
tests/support/util.tcl
./runtest \
···
runHook postCheck
'';
-
passthru.tests.redis = nixosTests.redis;
-
passthru.serverBin = "redis-server";
+
doInstallCheck = true;
+
nativeInstallCheckInputs = [ versionCheckHook ];
+
versionCheckProgram = "${placeholder "out"}/bin/redis-server";
+
versionCheckProgramArg = "--version";
+
+
passthru = {
+
tests.redis = nixosTests.redis;
+
serverBin = "redis-server";
+
updateScript = nix-update-script { };
+
};
meta = {
homepage = "https://redis.io";
description = "Open source, advanced key-value store";
-
license = lib.licenses.bsd3;
+
license = lib.licenses.agpl3Only;
platforms = lib.platforms.all;
-
changelog = "https://github.com/redis/redis/raw/${finalAttrs.version}/00-RELEASENOTES";
+
changelog = "https://github.com/redis/redis/releases/tag/${finalAttrs.version}";
maintainers = with lib.maintainers; [
berdario
globin
+2 -2
pkgs/by-name/sn/snapcraft/package.nix
···
python312Packages.buildPythonApplication rec {
pname = "snapcraft";
-
version = "8.9.5";
+
version = "8.10.0";
pyproject = true;
···
owner = "canonical";
repo = "snapcraft";
tag = version;
-
hash = "sha256-bwk9wK8fIXhhmj4XdtpTzZfzZkAtETpfMleTrbYt6Ww=";
+
hash = "sha256-k48OgHg0Pm3WfjPex27UvMZBOq9708vGJy/rZvCZdbg=";
};
patches = [
+2 -2
pkgs/by-name/te/tevent/package.nix
···
stdenv.mkDerivation rec {
pname = "tevent";
-
version = "0.16.2";
+
version = "0.17.0";
src = fetchurl {
url = "mirror://samba/tevent/${pname}-${version}.tar.gz";
-
sha256 = "sha256-8LvSnfq7y7zp9HGPwWVBDN1PfY7h89/FRhjUwDGZzqM=";
+
sha256 = "sha256-dwL7Nztp2ilguGE0tqnsb6C5SaAXVv7ACkpqQ1dcg2E=";
};
nativeBuildInputs = [
+4 -4
pkgs/by-name/ti/tigerbeetle/package.nix
···
platform =
if stdenvNoCC.hostPlatform.isDarwin then "universal-macos" else stdenvNoCC.hostPlatform.system;
hash = builtins.getAttr platform {
-
"universal-macos" = "sha256-muEoLk6pL0hobpdzalXs/SjlB+eRJgbt7rPHbgs0IZo=";
-
"x86_64-linux" = "sha256-TP7pqXZceqboMuQGkO2/yyPH4K2YWEpNIzREKQDY2is=";
-
"aarch64-linux" = "sha256-GGbCJVqBud+Fh1aasEEupmRF3B/sYntBkC8B5mGxnWI=";
+
"universal-macos" = "sha256-8RyNDE8br4fPjCE38MVci7eatiEHIMUtVGa0pCTKj1k=";
+
"x86_64-linux" = "sha256-18dj7GNXYhsjECIp4oqGbBSLWZhQjPORm3ohNL/jXmg=";
+
"aarch64-linux" = "sha256-u4JIJtEu7+YtfIpTxqmSb2xTBA57YtNtQCCNkkoEURg=";
};
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tigerbeetle";
-
version = "0.16.45";
+
version = "0.16.47";
src = fetchzip {
url = "https://github.com/tigerbeetle/tigerbeetle/releases/download/${finalAttrs.version}/tigerbeetle-${platform}.zip";
+3 -3
pkgs/by-name/ze/zed-editor/package.nix
···
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zed-editor";
-
version = "0.192.7";
+
version = "0.192.8";
outputs =
[ "out" ]
···
owner = "zed-industries";
repo = "zed";
tag = "v${finalAttrs.version}";
-
hash = "sha256-OjqJAb7IlFpSd7+i5QAkpsBDAbM6tZ8x/Y1HWiyDkPI=";
+
hash = "sha256-SvfxveVgi2GvnG4d3YUFSn0LY92YrNmwXAicQP5mivk=";
};
patches = [
···
'';
useFetchCargoVendor = true;
-
cargoHash = "sha256-qi3V6qGbb6kKecSTCbDMqfUKdgIliBJG1RaI5v+W9yY=";
+
cargoHash = "sha256-H7IgJJsdL7UsAWavdzrMQAc8SZqErJSINaLkzh+0Qic=";
nativeBuildInputs =
[
+23 -4
pkgs/development/coq-modules/parseque/default.nix
···
{
lib,
mkCoqDerivation,
+
rocqPackages,
which,
coq,
version ? null,
}:
with lib;
-
mkCoqDerivation {
+
(mkCoqDerivation {
pname = "parseque";
repo = "parseque";
owner = "rocq-community";
···
[ coq.coq-version ]
[
{
-
cases = [ (range "8.16" "8.20") ];
+
cases = [ (range "8.16" "9.0") ];
out = "0.2.2";
}
]
···
releaseRev = v: "v${v}";
meta = {
-
description = "Total parser combinators in Rocq";
+
description = "Total parser combinators in Coq/Rocq";
maintainers = with maintainers; [ womeier ];
license = licenses.mit;
};
-
}
+
}).overrideAttrs
+
(
+
o:
+
# this is just a wrapper for rocPackages.parseque for Rocq >= 9.0
+
lib.optionalAttrs
+
(coq.version != null && (coq.version == "dev" || lib.versions.isGe "9.0" coq.version))
+
{
+
configurePhase = ''
+
echo no configuration
+
'';
+
buildPhase = ''
+
echo building nothing
+
'';
+
installPhase = ''
+
echo installing nothing
+
'';
+
propagatedBuildInputs = [ rocqPackages.parseque ];
+
}
+
)
+15
pkgs/development/haskell-modules/configuration-common.nix
···
VulkanMemoryAllocator = addExtraLibrary pkgs.vulkan-headers super.VulkanMemoryAllocator;
vulkan-utils = addExtraLibrary pkgs.vulkan-headers super.vulkan-utils;
+
# Support for vulkan-headers 1.4.313.0
+
# https://github.com/YoshikuniJujo/gpu-vulkan-middle/issues/10
+
gpu-vulkan-middle = overrideCabal (drv: {
+
version =
+
let
+
fixed = "0.1.0.76";
+
in
+
lib.warnIf (lib.versionAtLeast drv.version fixed)
+
"haskellPackages.gpu-vulkan-middle: default version ${drv.version} >= ${fixed}, consider dropping override"
+
fixed;
+
sha256 = "sha256-VQAVo/84qPBFkQSmY3pT4WXOK9zrFMpK7WN9/UdED6E=";
+
revision = null;
+
editedCabalFile = null;
+
}) super.gpu-vulkan-middle;
+
# Generate cli completions for dhall.
dhall = self.generateOptparseApplicativeCompletions [ "dhall" ] super.dhall;
# 2025-01-27: allow aeson >= 2.2, 9.8 versions of text and bytestring
+4
pkgs/development/libraries/qt-6/modules/qtbase/default.nix
···
++ lib.optionals stdenv.hostPlatform.isDarwin [
"-DQT_FEATURE_rpath=OFF"
"-DQT_NO_XCODE_MIN_VERSION_CHECK=ON"
+
# This is only used for the min version check, which we disabled above.
+
# When this variable is not set, cmake tries to execute xcodebuild
+
# to query the version.
+
"-DQT_INTERNAL_XCODE_VERSION=0.1"
]
++ lib.optionals isCrossBuild [
"-DQT_HOST_PATH=${pkgsBuildBuild.qt6.qtbase}"
+7 -1
pkgs/development/libraries/qt-6/qtModule.nix
···
# don't leak OS version into the final output
# https://bugreports.qt.io/browse/QTBUG-136060
[ "-DCMAKE_SYSTEM_VERSION=" ]
-
++ lib.optional stdenv.hostPlatform.isDarwin "-DQT_NO_XCODE_MIN_VERSION_CHECK=ON"
+
++ lib.optionals stdenv.hostPlatform.isDarwin [
+
"-DQT_NO_XCODE_MIN_VERSION_CHECK=ON"
+
# This is only used for the min version check, which we disabled above.
+
# When this variable is not set, cmake tries to execute xcodebuild
+
# to query the version.
+
"-DQT_INTERNAL_XCODE_VERSION=0.1"
+
]
++ args.cmakeFlags or [ ];
moveToDev = false;
+59
pkgs/development/python-modules/control/default.nix
···
+
{
+
lib,
+
fetchFromGitHub,
+
buildPythonPackage,
+
numpy,
+
scipy,
+
matplotlib,
+
setuptools,
+
setuptools-scm,
+
cvxopt,
+
pytest-timeout,
+
pytestCheckHook,
+
}:
+
+
buildPythonPackage rec {
+
pname = "control";
+
version = "0.10.1";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "python-control";
+
repo = "python-control";
+
tag = version;
+
hash = "sha256-wLDYPuLnsZ2+cXf7j3BxUbn4IjHPt09LE9cjQGXWrO0=";
+
};
+
+
build-system = [
+
setuptools
+
setuptools-scm
+
];
+
+
dependencies = [
+
numpy
+
scipy
+
matplotlib
+
];
+
+
optional-dependencies = {
+
# slycot is not in nixpkgs
+
# slycot = [ slycot ];
+
cvxopt = [ cvxopt ];
+
};
+
+
pythonImportsCheck = [ "control" ];
+
+
nativeCheckInputs = [
+
cvxopt
+
pytest-timeout
+
pytestCheckHook
+
];
+
+
meta = {
+
changelog = "https://github.com/python-control/python-control/releases/tag/${src.tag}";
+
description = "Python Control Systems Library";
+
homepage = "https://github.com/python-control/python-control";
+
license = lib.licenses.bsd3;
+
maintainers = with lib.maintainers; [ Peter3579 ];
+
};
+
}
+2 -2
pkgs/development/python-modules/craft-parts/default.nix
···
buildPythonPackage rec {
pname = "craft-parts";
-
version = "2.12.0";
+
version = "2.14.0";
pyproject = true;
···
owner = "canonical";
repo = "craft-parts";
tag = version;
-
hash = "sha256-mm5s7lHbU9SJsS9wTkXkJpmVsGG0qVXIeaQ+TiGz/7o=";
+
hash = "sha256-NJTueawkjoYPVnDSODgU/JlTG5yLow+4wiHQzNWHNbA=";
};
patches = [ ./bash-path.patch ];
+40
pkgs/development/rocq-modules/parseque/default.nix
···
+
{
+
lib,
+
mkRocqDerivation,
+
which,
+
stdlib,
+
rocq-core,
+
version ? null,
+
}:
+
+
with lib;
+
mkRocqDerivation {
+
pname = "parseque";
+
repo = "parseque";
+
owner = "rocq-community";
+
+
inherit version;
+
defaultVersion =
+
with versions;
+
switch
+
[ rocq-core.rocq-version ]
+
[
+
{
+
cases = [ (range "9.0" "9.0") ];
+
out = "0.3.0";
+
}
+
]
+
null;
+
+
release."0.3.0".sha256 = "sha256-W2eenv5Q421eVn2ubbninFmmdT875f3w/Zs7yGHUKP4=";
+
+
propagatedBuildInputs = [ stdlib ];
+
+
releaseRev = v: "v${v}";
+
+
meta = {
+
description = "Total parser combinators in Rocq";
+
maintainers = with maintainers; [ womeier ];
+
license = licenses.mit;
+
};
+
}
+2 -2
pkgs/games/path-of-building/default.nix
···
let
data = stdenv.mkDerivation (finalAttrs: {
pname = "path-of-building-data";
-
version = "2.55.1";
+
version = "2.55.2";
src = fetchFromGitHub {
owner = "PathOfBuildingCommunity";
repo = "PathOfBuilding";
rev = "v${finalAttrs.version}";
-
hash = "sha256-O3XD52UdkjxtWdsXs6QbXzfik3ZT9TEc2PPZCIGJdCQ=";
+
hash = "sha256-i+9WeASdOj9QSB0HjDMP7qM7wQh3tyHuh74QlVWhi1c=";
};
nativeBuildInputs = [ unzip ];
-10
pkgs/servers/nextcloud/packages/30.json
···
"agpl"
]
},
-
"memories": {
-
"hash": "sha256-BfxJDCGsiRJrZWkNJSQF3rSFm/G3zzQn7C6DCETSzw4=",
-
"url": "https://github.com/pulsejet/memories/releases/download/v7.5.2/memories.tar.gz",
-
"version": "7.5.2",
-
"description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **📸 Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **⏪ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **🤖 AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **📱 Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **📹 Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **🗺️ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **📦 Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚡️ Performance**: Do all this very fast.\n\n## 🚀 Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos.",
-
"homepage": "https://memories.gallery",
-
"licenses": [
-
"agpl"
-
]
-
},
"music": {
"hash": "sha256-h83Xc292/NQPWOTRIbUSgqHUH/Sp4fYJ8GAHSiJWHP0=",
"url": "https://github.com/owncloud/music/releases/download/v2.1.4/music_2.1.4_for_nextcloud.tar.gz",
-10
pkgs/servers/nextcloud/packages/31.json
···
"agpl"
]
},
-
"memories": {
-
"hash": "sha256-BfxJDCGsiRJrZWkNJSQF3rSFm/G3zzQn7C6DCETSzw4=",
-
"url": "https://github.com/pulsejet/memories/releases/download/v7.5.2/memories.tar.gz",
-
"version": "7.5.2",
-
"description": "# Memories: Photo Management for Nextcloud\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **📸 Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **⏪ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **🤖 AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).\n- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **📱 Mobile Support**: Work from any device, of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.\n- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **📹 Video Transcoding**: Transcode videos and use HLS for maximal performance.\n- **🗺️ Map**: View your photos on a map, tagged with accurate reverse geocoding.\n- **📦 Migration**: Migrate easily from Nextcloud Photos and Google Takeout.\n- **⚡️ Performance**: Do all this very fast.\n\n## 🚀 Installation\n\n1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).\n1. Perform the recommended [configuration steps](https://memories.gallery/config/).\n1. Run `php occ memories:index` to generate metadata indices for existing photos.\n1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos.",
-
"homepage": "https://memories.gallery",
-
"licenses": [
-
"agpl"
-
]
-
},
"music": {
"hash": "sha256-h83Xc292/NQPWOTRIbUSgqHUH/Sp4fYJ8GAHSiJWHP0=",
"url": "https://github.com/owncloud/music/releases/download/v2.1.4/music_2.1.4_for_nextcloud.tar.gz",
+32
pkgs/servers/nextcloud/packages/apps/memories-paths.diff
···
+
diff --git a/lib/Settings/SystemConfig.php b/lib/Settings/SystemConfig.php
+
index 7814f071..bb1309fa 100644
+
--- a/lib/Settings/SystemConfig.php
+
+++ b/lib/Settings/SystemConfig.php
+
@@ -124,6 +125,14 @@ class SystemConfig
+
*/
+
public static function get(string $key, mixed $default = null): mixed
+
{
+
+ switch ($key) {
+
+ case "memories.exiftool": return "@exiftool@";
+
+ case "memories.exiftool_no_local": return false;
+
+ case "memories.vod.ffmpeg": return "@ffmpeg@";
+
+ case "memories.vod.ffprobe": return "@ffprobe@";
+
+ case "memories.vod.path": return "@go-vod@";
+
+ }
+
+
+
if (!\array_key_exists($key, self::DEFAULTS)) {
+
throw new \InvalidArgumentException("Invalid system config key: {$key}");
+
}
+
@@ -154,6 +161,12 @@ public static function get(string $key, mixed $default = null): mixed
+
*/
+
public static function set(string $key, mixed $value): void
+
{
+
+ // Ignore those paths and always use the nix paths.
+
+ // We cannot return a proper error message except a 500 here without changing the code to much.
+
+ if (in_array($key, array("memories.exiftool", "memories.exiftool_no_local", "memories.vod.ffmpeg", "memories.vod.ffprobe", "memories.vod.path"))) {
+
+ throw new \InvalidArgumentException("Cannot set nix-managed key: {$key}");
+
+ }
+
+
+
// Check if the key is valid
+
if (!\array_key_exists($key, self::DEFAULTS)) {
+
throw new \InvalidArgumentException("Invalid system config key: {$key}");
+91
pkgs/servers/nextcloud/packages/apps/memories.nix
···
+
{
+
stdenv,
+
buildGoModule,
+
exiftool,
+
fetchurl,
+
ffmpeg-headless,
+
fetchFromGitHub,
+
lib,
+
replaceVars,
+
+
ncVersion,
+
}:
+
let
+
latestVersionForNc = {
+
"31" = latestVersionForNc."30";
+
"30" = {
+
version = "7.5.2";
+
appHash = "sha256-BfxJDCGsiRJrZWkNJSQF3rSFm/G3zzQn7C6DCETSzw4=";
+
srcHash = "sha256-imBO/64NW5MiozpufbMRcTI9WCaN8grnHlVo+fsUNlU=";
+
};
+
};
+
currentVersionInfo =
+
latestVersionForNc.${ncVersion}
+
or (throw "memories currently does not support nextcloud version ${ncVersion}");
+
+
commonMeta = with lib; {
+
homepage = "https://apps.nextcloud.com/apps/memories";
+
changelog = "https://github.com/pulsejet/memories/blob/v${currentVersionInfo.version}/CHANGELOG.md";
+
license = licenses.agpl3Only;
+
maintainers = with maintainers; [ SuperSandro2000 ];
+
};
+
+
go-vod = buildGoModule rec {
+
pname = "go-vod";
+
inherit (currentVersionInfo) version;
+
+
src = fetchFromGitHub {
+
owner = "pulsejet";
+
repo = "memories";
+
tag = "v${version}";
+
hash = currentVersionInfo.srcHash;
+
};
+
+
sourceRoot = "${src.name}/go-vod";
+
+
vendorHash = null;
+
+
meta = commonMeta // {
+
description = "Extremely minimal on-demand video transcoding server in go";
+
mainProgram = "go-vod";
+
};
+
};
+
in
+
stdenv.mkDerivation rec {
+
pname = "nextcloud-app-memories";
+
inherit (currentVersionInfo) version;
+
+
src = fetchurl {
+
url = "https://github.com/pulsejet/memories/releases/download/v${version}/memories.tar.gz";
+
hash = currentVersionInfo.appHash;
+
};
+
+
patches = [
+
(replaceVars ./memories-paths.diff {
+
exiftool = lib.getExe exiftool;
+
ffmpeg = lib.getExe ffmpeg-headless;
+
ffprobe = lib.getExe' ffmpeg-headless "ffprobe";
+
go-vod = lib.getExe go-vod;
+
})
+
];
+
+
postPatch = ''
+
rm appinfo/signature.json
+
rm -rf bin-ext/
+
+
substituteInPlace lib/Service/BinExt.php \
+
--replace-fail "EXIFTOOL_VER = '12.70'" "EXIFTOOL_VER = '${exiftool.version}'"
+
'';
+
+
installPhase = ''
+
mkdir -p $out
+
cp -r ./* $out/
+
'';
+
+
meta = commonMeta // {
+
description = "Fast, modern and advanced photo management suite";
+
longDescription = ''
+
All settings related to required packages and installed programs are hardcoded in program code and cannot be changed.
+
'';
+
};
+
}
+5 -10
pkgs/servers/nextcloud/packages/apps/recognize.nix
···
srcs =
[
(fetchurl {
-
inherit version;
url = "https://github.com/nextcloud/recognize/releases/download/v${version}/recognize-${version}.tar.gz";
hash = currentVersionInfo.appHash;
})
(fetchurl {
-
inherit version;
url = "https://github.com/nextcloud/recognize/archive/refs/tags/v${version}.tar.gz";
hash = currentVersionInfo.modelHash;
})
]
++ lib.optionals useLibTensorflow [
-
(fetchurl rec {
+
(fetchurl {
# For version see LIBTENSORFLOW_VERSION in https://github.com/tensorflow/tfjs/blob/master/tfjs-node/scripts/deps-constants.js
-
version = "2.9.1";
-
url = "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-${version}.tar.gz";
+
url = "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.9.1.tar.gz";
hash = "sha256-f1ENJUbj214QsdEZRjaJAD1YeEKJKtPJW8pRz4KCAXM=";
})
];
···
unpackPhase =
''
# Merge the app and the models from github
-
tar -xzpf "${builtins.elemAt srcs 0}" recognize;
+
tar -xzpf "${builtins.elemAt srcs 0}" recognize
tar -xzpf "${builtins.elemAt srcs 1}" -C recognize --strip-components=1 recognize-${version}/models
''
+ lib.optionalString useLibTensorflow ''
···
--replace-quiet "\$this->config->getAppValueString('node_binary', '""')" "'${lib.getExe nodejs}'" \
--replace-quiet "\$this->config->getAppValueString('node_binary')" "'${lib.getExe nodejs}'"
test "$(grep "get[a-zA-Z]*('node_binary'" recognize/lib/**/*.php | wc -l)" -eq 0
-
-
# Skip trying to install it... (less warnings in the log)
sed -i '/public function run/areturn ; //skip' recognize/lib/Migration/InstallDeps.php
···
node src/test_libtensorflow.js
cd ..
'';
+
installPhase = ''
approot="$(dirname $(dirname $(find -path '*/appinfo/info.xml' | head -n 1)))"
-
if [ -d "$approot" ];
-
then
+
if [ -d "$approot" ]; then
mv "$approot/" $out
chmod -R a-w $out
fi
-1
pkgs/servers/nextcloud/packages/nextcloud-apps.json
···
, "integration_paperless": "agpl3Plus"
, "mail": "agpl3Plus"
, "maps": "agpl3Plus"
-
, "memories": "agpl3Plus"
, "music": "agpl3Plus"
, "news": "agpl3Plus"
, "nextpod": "agpl3Only"
+3 -2
pkgs/servers/nextcloud/packages/thirdparty.nix
···
apps = apps.extend (
self: super: {
+
hmr_enabler = callPackage ./apps/hmr_enabler.nix { };
+
+
memories = callPackage ./apps/memories.nix { inherit ncVersion; };
-
hmr_enabler = callPackage ./apps/hmr_enabler.nix { };
recognize = callPackage ./apps/recognize.nix { inherit ncVersion; };
-
}
);
}
+2
pkgs/top-level/python-packages.nix
···
controku = callPackage ../development/python-modules/controku { };
+
control = callPackage ../development/python-modules/control { };
+
convertdate = callPackage ../development/python-modules/convertdate { };
convertertools = callPackage ../development/python-modules/convertertools { };
+1
pkgs/top-level/rocq-packages.nix
···
bignums = callPackage ../development/rocq-modules/bignums { };
hierarchy-builder = callPackage ../development/rocq-modules/hierarchy-builder { };
+
parseque = callPackage ../development/rocq-modules/parseque { };
rocq-elpi = callPackage ../development/rocq-modules/rocq-elpi { };
stdlib = callPackage ../development/rocq-modules/stdlib { };