diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index df81fa95aca2..3347adb1d145 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -957,6 +957,7 @@ ./services/misc/servarr/sonarr.nix ./services/misc/servarr/whisparr.nix ./services/misc/serviio.nix + ./services/misc/shelfmark.nix ./services/misc/shoko.nix ./services/misc/sickbeard.nix ./services/misc/snapper.nix diff --git a/nixos/modules/services/misc/shelfmark.nix b/nixos/modules/services/misc/shelfmark.nix new file mode 100644 index 000000000000..ebdaf812dbf1 --- /dev/null +++ b/nixos/modules/services/misc/shelfmark.nix @@ -0,0 +1,131 @@ +{ + lib, + pkgs, + config, + ... +}: +let + cfg = config.services.shelfmark; +in +{ + options.services.shelfmark = { + + enable = lib.mkEnableOption "Shelfmark, a self-hosted book and audiobook search and download interface"; + + package = lib.mkPackageOption pkgs "shelfmark" { }; + + openFirewall = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Open the appropriate ports in the firewall for Shelfmark."; + }; + + environment = lib.mkOption { + type = lib.types.submodule { + freeformType = lib.types.attrsOf lib.types.str; + options = { + FLASK_HOST = lib.mkOption { + type = lib.types.str; + default = "127.0.0.1"; + example = "0.0.0.0"; + description = "The IP address to bind the Shelfmark server to."; + }; + + FLASK_PORT = lib.mkOption { + type = lib.types.port; + default = 8084; + apply = toString; + description = "TCP port for the Shelfmark web interface."; + }; + + ENABLE_LOGGING = lib.mkOption { + type = lib.types.bool; + apply = toString; + default = false; + description = "Whether to enable file logging. Disabled by default since systemd captures console output via journald."; + }; + + CONFIG_DIR = lib.mkOption { + type = lib.types.path; + default = "/var/lib/shelfmark"; + description = "Directory for Shelfmark configuration, database, and artwork cache."; + }; + }; + }; + default = { }; + example = { + SEARCH_MODE = "universal"; + LOG_LEVEL = "DEBUG"; + }; + description = '' + Environment variables to pass to the Shelfmark service. + See + for available options. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + + systemd.services.shelfmark = { + description = "Shelfmark - book and audiobook search and download interface"; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + inherit (cfg) environment; + serviceConfig = { + DynamicUser = true; + ExecStart = "${lib.getExe cfg.package} -b ${cfg.environment.FLASK_HOST}:${cfg.environment.FLASK_PORT}"; + StateDirectory = "shelfmark"; + + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + PrivateDevices = true; + PrivateMounts = true; + ProtectControlGroups = true; + ProtectKernelTunables = true; + RestrictSUIDSGID = true; + RemoveIPC = true; + UMask = "0077"; + + CapabilityBoundingSet = [ "" ]; + NoNewPrivileges = true; + + ProtectKernelModules = true; + ProtectKernelLogs = true; + ProtectClock = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; + + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + + PrivateUsers = true; + + LockPersonality = true; + ProtectHostname = true; + RestrictRealtime = true; + RestrictNamespaces = true; + ProtectProc = "invisible"; + ProcSubset = "pid"; + DeviceAllow = [ "" ]; + }; + }; + + networking.firewall = lib.mkIf cfg.openFirewall { + allowedTCPPorts = [ (lib.toInt cfg.environment.FLASK_PORT) ]; + }; + }; + + meta = { + maintainers = with lib.maintainers; [ jamiemagee ]; + }; +} diff --git a/nixos/modules/virtualisation/incus.nix b/nixos/modules/virtualisation/incus.nix index 1b8908d0d3d6..cd49fc870e0f 100644 --- a/nixos/modules/virtualisation/incus.nix +++ b/nixos/modules/virtualisation/incus.nix @@ -7,6 +7,9 @@ let cfg = config.virtualisation.incus; + + acmeHostDir = config.security.acme.certs."${cfg.useACMEHost}".directory; + preseedFormat = pkgs.formats.yaml { }; nvidiaEnabled = (lib.elem "nvidia" config.services.xserver.videoDrivers); @@ -292,6 +295,17 @@ in package = lib.mkPackageOption pkgs [ "incus-ui-canonical" ] { }; }; + useACMEHost = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "incus.example.com"; + description = '' + Host of an existing Let's Encrypt certificate to use for TLS. + *Note that this option does not create any certificates and it + doesn't add subdomains to existing ones – you will need to create + them manually using {option}`security.acme.certs`.* + ''; + }; }; }; @@ -391,6 +405,10 @@ in ''; }; + security.acme.certs = lib.mkIf (cfg.useACMEHost != null) { + "${cfg.useACMEHost}".reloadServices = [ "incus.service" ]; + }; + systemd.services.incus = { description = "Incus Container and Virtual Machine Management Daemon"; @@ -402,7 +420,8 @@ in "lxcfs.service" "incus.socket" ] - ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ]; + ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ] + ++ lib.optionals (cfg.useACMEHost != null) [ "acme-${cfg.useACMEHost}.service" ]; requires = [ "lxcfs.service" @@ -410,7 +429,10 @@ in ] ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ]; - wants = [ "network-online.target" ]; + wants = [ + "network-online.target" + ] + ++ lib.optionals (cfg.useACMEHost != null) [ "acme-${cfg.useACMEHost}.service" ]; serviceConfig = { ExecStart = "${cfg.package}/bin/incusd --group incus-admin"; @@ -427,6 +449,11 @@ in Restart = "on-failure"; TimeoutStartSec = "${cfg.startTimeout}s"; TimeoutStopSec = "30s"; + + BindReadOnlyPaths = lib.mkIf (cfg.useACMEHost != null) [ + "${acmeHostDir}/fullchain.pem:/var/lib/incus/server.crt" + "${acmeHostDir}/key.pem:/var/lib/incus/server.key" + ]; }; }; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index acffee05ab8b..531b14567665 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1461,6 +1461,7 @@ in shadps4 = runTest ./shadps4.nix; sharkey = runTest ./web-apps/sharkey.nix; shattered-pixel-dungeon = runTest ./shattered-pixel-dungeon.nix; + shelfmark = runTest ./shelfmark.nix; shiori = runTest ./shiori.nix; shoko = import ./shoko.nix { inherit runTest; }; signal-desktop = runTest ./signal-desktop.nix; diff --git a/nixos/tests/mitmproxy.nix b/nixos/tests/mitmproxy.nix index 1a3d98d7fcf2..334085463a20 100644 --- a/nixos/tests/mitmproxy.nix +++ b/nixos/tests/mitmproxy.nix @@ -86,7 +86,7 @@ in '' def curl(command: str, proxy: bool = False): if proxy: - command = "curl --proxy 127.0.0.1:8080 --cacert ~/.mitmproxy/mitmproxy-ca-cert.pem " + command + command = "curl --proxy 127.0.0.1:8080 --cacert ~/.mitmproxy/mitmproxy-ca.pem " + command else: command = "curl " + command return machine.succeed(command) diff --git a/nixos/tests/shelfmark.nix b/nixos/tests/shelfmark.nix new file mode 100644 index 000000000000..da91edce5f97 --- /dev/null +++ b/nixos/tests/shelfmark.nix @@ -0,0 +1,20 @@ +{ lib, ... }: +{ + name = "shelfmark"; + meta.maintainers = with lib.maintainers; [ jamiemagee ]; + + nodes.machine = { + services.shelfmark = { + enable = true; + environment.FLASK_HOST = "0.0.0.0"; + }; + }; + + testScript = '' + machine.wait_for_unit("shelfmark.service") + machine.wait_for_open_port(8084) + + with subtest("Health endpoint responds"): + machine.succeed("curl --fail http://localhost:8084/api/health") + ''; +} diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index f8e831c0bb03..44916dd4f2fe 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -219,13 +219,13 @@ "vendorHash": "sha256-6MKWpiDq4yI3mfIJyzEsWLa7gi0+DScI5jKcOcM6Qs0=" }, "cloudposse_utils": { - "hash": "sha256-Fjb+9NG+p+oTvKziRYHaNdAZaUv8Rs/FYLXmtwrfkOI=", + "hash": "sha256-Pf2UHxGEacmtIlSIKACC0MULAZMj5EGKq2q8Tsv79F8=", "homepage": "https://registry.terraform.io/providers/cloudposse/utils", "owner": "cloudposse", "repo": "terraform-provider-utils", - "rev": "v2.4.0", + "rev": "v2.5.0", "spdx": "Apache-2.0", - "vendorHash": "sha256-LNsJygeBSpY4xawhWfIcYOB0TEVK4DMeyiSgyn8PJ2A=" + "vendorHash": "sha256-F4vFlhpPQUa1q7cFfjRooK4krISfpPxdj8uhvDmZQuY=" }, "cloudscale-ch_cloudscale": { "hash": "sha256-Ynuyn0L5B7d81WXEHoTI03zFzlEP3LGY4yQIl/WBr/8=", diff --git a/pkgs/by-name/aa/aasvg-rs/package.nix b/pkgs/by-name/aa/aasvg-rs/package.nix new file mode 100644 index 000000000000..1331b8135e05 --- /dev/null +++ b/pkgs/by-name/aa/aasvg-rs/package.nix @@ -0,0 +1,26 @@ +{ + lib, + rustPlatform, + fetchCrate, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "aasvg-rs"; + version = "1.0.0"; + + src = fetchCrate { + inherit (finalAttrs) version; + pname = "aasvg-cli"; + hash = "sha256-0qGCXHSCTg2yXLxREOfY7lOA3ZQCNFvST6GTBIsG/f4="; + }; + + cargoHash = "sha256-zl3IPKKG738cr1Au4Vw9SRstgOp57hM/JhPRNl0VsII="; + + meta = { + description = "CLI tool to convert ASCII art diagrams to SVG"; + homepage = "https://github.com/bearcove/aasvg-rs"; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ chillcicada ]; + mainProgram = "aasvg"; + }; +}) diff --git a/pkgs/by-name/ca/cadabra2/package.nix b/pkgs/by-name/ca/cadabra2/package.nix index 772f78309549..8f2db33d4b22 100644 --- a/pkgs/by-name/ca/cadabra2/package.nix +++ b/pkgs/by-name/ca/cadabra2/package.nix @@ -41,14 +41,14 @@ assert lib.assertMsg ( stdenv.mkDerivation (finalAttrs: { pname = "cadabra2"; - version = "2.5.14"; + version = "2.5.14-p1"; src = fetchFromGitHub { owner = "kpeeters"; repo = "cadabra2"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-lQ/xGxWa126EzxDIsXoi3brnECcXLXxzzUizLpRjZOg="; + hash = "sha256-Pbk9SmJ64CZ+yxMj53JpxULBQye2ETDi8xNKw38cC9k="; }; postPatch = '' @@ -118,7 +118,8 @@ stdenv.mkDerivation (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "--version"; - doInstallCheck = !enableBuildAsCppLibrary; + #doInstallCheck = !enableBuildAsCppLibrary; + doInstallCheck = false; # FIXME: remove this line and uncomment the above after next release passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/do/dosbox-x/package.nix b/pkgs/by-name/do/dosbox-x/package.nix index 402e0f6b927c..11e401c74bee 100644 --- a/pkgs/by-name/do/dosbox-x/package.nix +++ b/pkgs/by-name/do/dosbox-x/package.nix @@ -27,13 +27,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "dosbox-x"; - version = "2026.01.02"; + version = "2026.03.29"; src = fetchFromGitHub { owner = "joncampbell123"; repo = "dosbox-x"; rev = "dosbox-x-v${finalAttrs.version}"; - hash = "sha256-/1DACDf530rzxeLVMLGkB3n6d3d8sN/ci8Q3kHAtZJo="; + hash = "sha256-hOP+hmvVCdFSqXnD6+6OVIQ7allEidKt9W9AT704htA="; }; # sips is unavailable in sandbox, replacing with imagemagick breaks build due to wrong Foundation propagation(?) so don't generate resolution variants diff --git a/pkgs/by-name/fc/fceux/0001-fix-build-with-minizip-1.3.2.patch b/pkgs/by-name/fc/fceux/0001-fix-build-with-minizip-1.3.2.patch new file mode 100644 index 000000000000..3701c37f0fee --- /dev/null +++ b/pkgs/by-name/fc/fceux/0001-fix-build-with-minizip-1.3.2.patch @@ -0,0 +1,39 @@ +From 8c648b4a68e5ebadb4d0f08728e44078954cebae Mon Sep 17 00:00:00 2001 +From: kuflierl <41301536+kuflierl@users.noreply.github.com> +Date: Fri, 27 Mar 2026 01:28:17 +0100 +Subject: [PATCH] fix: build with minizip 1.3.2 + +--- + src/drivers/Qt/AboutWindow.cpp | 2 +- + src/drivers/Qt/fceuWrapper.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/drivers/Qt/AboutWindow.cpp b/src/drivers/Qt/AboutWindow.cpp +index 025cf360..5638a3c1 100644 +--- a/src/drivers/Qt/AboutWindow.cpp ++++ b/src/drivers/Qt/AboutWindow.cpp +@@ -23,7 +23,7 @@ + #include + #include + #include +-#include ++#include + + #ifdef _S9XLUA_H + #include +diff --git a/src/drivers/Qt/fceuWrapper.cpp b/src/drivers/Qt/fceuWrapper.cpp +index 8d241258..5e48eaf7 100644 +--- a/src/drivers/Qt/fceuWrapper.cpp ++++ b/src/drivers/Qt/fceuWrapper.cpp +@@ -23,7 +23,7 @@ + #include + #include + #include +-#include ++#include + + #include + #include +-- +2.51.2 + diff --git a/pkgs/by-name/fc/fceux/package.nix b/pkgs/by-name/fc/fceux/package.nix index bc75054d3b11..efae4a449559 100644 --- a/pkgs/by-name/fc/fceux/package.nix +++ b/pkgs/by-name/fc/fceux/package.nix @@ -40,6 +40,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-2QDiAk2HO9oQ1gNvc7QFZSCbWkCDYW5OJWT8f4bmXyg="; }; + patches = [ + ./0001-fix-build-with-minizip-1.3.2.patch + ]; + nativeBuildInputs = [ cmake pkg-config diff --git a/pkgs/by-name/ft/ft2-clone/package.nix b/pkgs/by-name/ft/ft2-clone/package.nix index 0a67b87541e6..977bd9b44dff 100644 --- a/pkgs/by-name/ft/ft2-clone/package.nix +++ b/pkgs/by-name/ft/ft2-clone/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ft2-clone"; - version = "2.12"; + version = "2.13"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${finalAttrs.version}"; - hash = "sha256-Ca4vp2uEF7rZJ+0lAmVqC/6F+2CgbDLK2GkbG5Tn//0="; + hash = "sha256-Ieu7dxNEPz2DVKTfo2sitvtvAeKMCu3EiF6/PKrgETs="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/ge/gendef/package.nix b/pkgs/by-name/ge/gendef/package.nix index 93144d850708..0c1a0f70ce92 100644 --- a/pkgs/by-name/ge/gendef/package.nix +++ b/pkgs/by-name/ge/gendef/package.nix @@ -6,12 +6,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "gendef"; - version = "11.0.1"; + version = "14.0.0"; src = fetchgit { url = "https://git.code.sf.net/p/mingw-w64/mingw-w64.git"; rev = "v${finalAttrs.version}"; - hash = "sha256-0vbAHSN+uwxoXXZtbuycP67PxjcB8Ftxd/Oij1gqE3Y="; + hash = "sha256-ZhbY/RvTBI8ELSe0D7uzWi13sspgNZhdYg4LLK0JRng="; }; sourceRoot = "${finalAttrs.src.name}/mingw-w64-tools/gendef"; diff --git a/pkgs/by-name/ho/homebridge/package.nix b/pkgs/by-name/ho/homebridge/package.nix index da43e6534191..06c9b8eb95b8 100644 --- a/pkgs/by-name/ho/homebridge/package.nix +++ b/pkgs/by-name/ho/homebridge/package.nix @@ -7,16 +7,16 @@ buildNpmPackage (finalAttrs: { pname = "homebridge"; - version = "1.11.3"; + version = "1.11.4"; src = fetchFromGitHub { owner = "homebridge"; repo = "homebridge"; tag = "v${finalAttrs.version}"; - hash = "sha256-Hr4pwWsISj4zde5DNOVSciZr1xJmL7M0wG2GU62ZDk4="; + hash = "sha256-usp7zszkEfGsWXApywAolFhG0i59Pr/IvvaBMeU7YHc="; }; - npmDepsHash = "sha256-LPCaqJGMeX8PaGwxfLnxQ5hdNycaE9nUMIU3LM6PHkg="; + npmDepsHash = "sha256-Ci5aIDIEchB0niORK2cRy06qObLplCSogo6wRVXv9Vs="; # Homebridge's clean phase attempts to install rimraf directly, which fails in nix builds # rimraf is already in the declared dependencies, so we just don't need to do it. diff --git a/pkgs/by-name/ow/owi/package.nix b/pkgs/by-name/ow/owi/package.nix index 5d55e5f57e2b..e707ef8698af 100644 --- a/pkgs/by-name/ow/owi/package.nix +++ b/pkgs/by-name/ow/owi/package.nix @@ -11,18 +11,18 @@ }: let - ocamlPackages = ocaml-ng.ocamlPackages_5_3; + ocamlPackages = ocaml-ng.ocamlPackages_5_4; in ocamlPackages.buildDunePackage { pname = "owi"; - version = "0.2-unstable-2026-01-29"; + version = "0.2-unstable-2026-03-16"; src = fetchFromGitHub { owner = "ocamlpro"; repo = "owi"; - rev = "07b96ef58021810352caceffbadf2d614785bb0d"; + rev = "7fb7af27025501c732d8dda903865b47bc5d4901"; fetchSubmodules = true; - hash = "sha256-vVTAoPWfjbX4c3AXxh4C2igig5LiMLZMpLmLSjLcxgo="; + hash = "sha256-aRNJiW6UTcpJU3fIcEQB3gujmAxsp2dwR1hFeWJrhzs="; }; nativeBuildInputs = with ocamlPackages; [ @@ -39,11 +39,15 @@ ocamlPackages.buildDunePackage { ]; buildInputs = with ocamlPackages; [ + dune-build-info + dune-site + ]; + + propagatedBuildInputs = with ocamlPackages; [ bos cmdliner digestif - dune-build-info - dune-site + domainpc menhirLib ocaml_intrinsics ocamlgraph @@ -52,11 +56,11 @@ ocamlPackages.buildDunePackage { scfg sedlex smtml + symex synchronizer uutf xmlm yojson - z3 ]; postInstall = '' diff --git a/pkgs/by-name/pa/pay-respects/package.nix b/pkgs/by-name/pa/pay-respects/package.nix index c5fde5b4aaf9..197d964065f0 100644 --- a/pkgs/by-name/pa/pay-respects/package.nix +++ b/pkgs/by-name/pa/pay-respects/package.nix @@ -17,6 +17,23 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-dCZGPIipSotcA7DT3VvTCYq8+DxWHi5cp/fwh/44Jwc="; + env = { + _DEF_PR_AI_API_KEY = ""; + _DEF_PR_AI_URL = ""; + _DEF_PR_AI_MODEL = ""; + }; + + cargoBuildFlags = [ + "-p pay-respects" + "-p pay-respects-module-runtime-rules" + "-p pay-respects-module-request-ai" + ]; + cargoTestFlags = [ + "-p pay-respects" + "-p pay-respects-module-runtime-rules" + "-p pay-respects-module-request-ai" + ]; + nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; diff --git a/pkgs/by-name/po/poetry/package.nix b/pkgs/by-name/po/poetry/package.nix index f31d862dd5b3..6e9ad66cb18c 100644 --- a/pkgs/by-name/po/poetry/package.nix +++ b/pkgs/by-name/po/poetry/package.nix @@ -18,12 +18,12 @@ let # We keep the override around even when the versions match, as # it's likely to become relevant again after the next Poetry update. poetry-core = super.poetry-core.overridePythonAttrs (old: rec { - version = "2.3.1"; + version = "2.3.2"; src = fetchFromGitHub { owner = "python-poetry"; repo = "poetry-core"; tag = version; - hash = "sha256-gGXAPdFnrS/T7xvw8rpzI/7nW0bXdUiZnPeEwDgtWuQ="; + hash = "sha256-Rv6JCHsqu5rRvihGaUFcRk/NUT90bnIUM01QxUUkxh4="; }; }); } diff --git a/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix b/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix index 2e7ed72134c2..f1d0c2b50e52 100644 --- a/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix +++ b/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "poetry-plugin-export"; - version = "1.9.0-unstable-2025-09-14"; + version = "1.10.0"; pyproject = true; src = fetchFromGitHub { owner = "python-poetry"; repo = "poetry-plugin-export"; - rev = "70a2f386a52687adee7353b51e59dd45aa319ee7"; + tag = version; hash = "sha256-KsvkM4hjG+jrdPVauXYdc6E87Gp7srMg/mJHpWRjaEs="; }; @@ -36,7 +36,7 @@ buildPythonPackage rec { ]; meta = { - changelog = "https://github.com/python-poetry/poetry-plugin-export/blob/${src.rev}/CHANGELOG.md"; + changelog = "https://github.com/python-poetry/poetry-plugin-export/blob/${src.tag}/CHANGELOG.md"; description = "Poetry plugin to export the dependencies to various formats"; license = lib.licenses.mit; homepage = "https://github.com/python-poetry/poetry-plugin-export"; diff --git a/pkgs/by-name/po/poetry/unwrapped.nix b/pkgs/by-name/po/poetry/unwrapped.nix index 950ffddc7302..cbea33c31a17 100644 --- a/pkgs/by-name/po/poetry/unwrapped.nix +++ b/pkgs/by-name/po/poetry/unwrapped.nix @@ -35,14 +35,14 @@ buildPythonPackage rec { pname = "poetry"; - version = "2.3.2"; + version = "2.3.3"; pyproject = true; src = fetchFromGitHub { owner = "python-poetry"; repo = "poetry"; tag = version; - hash = "sha256-zJ7HA/NNBh9gy0WUXTxKBUsC74Yt+ANZuBxMrQrS6XU="; + hash = "sha256-+8zVe2JeQbbqmKOydQw1tZM2PYa5H/5ImBcVpoxYC5w="; }; build-system = [ diff --git a/pkgs/by-name/qi/qidi-studio/package.nix b/pkgs/by-name/qi/qidi-studio/package.nix index dea95d34063b..78e70b4c62cd 100644 --- a/pkgs/by-name/qi/qidi-studio/package.nix +++ b/pkgs/by-name/qi/qidi-studio/package.nix @@ -7,11 +7,11 @@ }: let pname = "qidi-studio"; - version = "2.04.01.11"; + version = "2.05.01.52"; src = fetchurl { url = "https://github.com/QIDITECH/QIDIStudio/releases/download/v${version}/QIDIStudio_v0${version}_Ubuntu24.AppImage"; - hash = "sha256-+Uj0S4BOASST+3MqcFNdW1dBQeMxNC5btMUiNVxFs3g="; + hash = "sha256-ikLqTei2smj++AbzNOOwW5PGy2zxmdAvXUQJ1YQ4zMU="; }; appimageContents = appimageTools.extract { diff --git a/pkgs/by-name/re/redumper/package.nix b/pkgs/by-name/re/redumper/package.nix index ede24baca36a..f3eadcedd86a 100644 --- a/pkgs/by-name/re/redumper/package.nix +++ b/pkgs/by-name/re/redumper/package.nix @@ -9,13 +9,13 @@ # redumper is using C++ modules, this requires latest C++20 compiler and build tools llvmPackages.libcxxStdenv.mkDerivation (finalAttrs: { pname = "redumper"; - version = "705"; + version = "706"; src = fetchFromGitHub { owner = "superg"; repo = "redumper"; tag = "b${finalAttrs.version}"; - hash = "sha256-g824KEdIK/B1DtNPe09AL839DTKeE3xy+NbI1DOkm+U="; + hash = "sha256-RPs5zfDMeXqOKsldlvdAbHM3XO36ezXou5YYxpw7jAo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ru/ruffle/package.nix b/pkgs/by-name/ru/ruffle/package.nix index 371e39805b12..4217f00b0a57 100644 --- a/pkgs/by-name/ru/ruffle/package.nix +++ b/pkgs/by-name/ru/ruffle/package.nix @@ -27,13 +27,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruffle"; - version = "0.2.0-nightly-2026-03-20"; + version = "0.2.0-nightly-2026-03-29"; src = fetchFromGitHub { owner = "ruffle-rs"; repo = "ruffle"; tag = lib.strings.removePrefix "0.2.0-" finalAttrs.version; - hash = "sha256-CONx48SDjHu22AXasIMwCpD+s6+6Tsr8+XtderuQzpM="; + hash = "sha256-QJorW1H0pmaa546L0Qk0EayjegA9ObhLwbBgPOccUOM="; }; postPatch = @@ -49,7 +49,7 @@ rustPlatform.buildRustPackage (finalAttrs: { "OpenH264Version(${major}, ${minor}, ${patch})" ''; - cargoHash = "sha256-LfGZuTDkfz0Wn9O8t474Y9US85ewWMPx7qPBjK9gFg8="; + cargoHash = "sha256-WsygyqL8o+cRiHhrVj51F2hOws9wLDr/g0werSXv/i4="; cargoBuildFlags = lib.optional withRuffleTools "--workspace"; env = diff --git a/pkgs/by-name/sh/shelfmark-frontend/package.nix b/pkgs/by-name/sh/shelfmark-frontend/package.nix new file mode 100644 index 000000000000..d8f448281fe8 --- /dev/null +++ b/pkgs/by-name/sh/shelfmark-frontend/package.nix @@ -0,0 +1,25 @@ +{ + buildNpmPackage, + shelfmark, +}: + +buildNpmPackage (finalAttrs: { + pname = "shelfmark-frontend"; + inherit (shelfmark) version src; + + sourceRoot = "${finalAttrs.src.name}/src/frontend"; + + npmDepsHash = "sha256-RAzotFGj0FGpfF7iyB5f2fdKFvMLcpJx142yplRwboU="; + + installPhase = '' + runHook preInstall + cp -r dist $out + runHook postInstall + ''; + + meta = { + description = "Shelfmark frontend"; + homepage = "https://github.com/calibrain/shelfmark/tree/main/src/frontend"; + inherit (shelfmark.meta) changelog license maintainers; + }; +}) diff --git a/pkgs/by-name/sh/shelfmark/package.nix b/pkgs/by-name/sh/shelfmark/package.nix new file mode 100644 index 000000000000..464e4755bef4 --- /dev/null +++ b/pkgs/by-name/sh/shelfmark/package.nix @@ -0,0 +1,96 @@ +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, + makeWrapper, + nixosTests, + shelfmark-frontend, + unrar-free, +}: + +let + pythonDeps = with python3Packages; [ + flask + flask-cors + flask-socketio + python-socketio + requests + pysocks + defusedxml + beautifulsoup4 + tqdm + dnspython + gunicorn + gevent + gevent-websocket + psutil + emoji + rarfile + qbittorrent-api + transmission-rpc + authlib + apprise + ]; +in +stdenv.mkDerivation (finalAttrs: { + pname = "shelfmark"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "calibrain"; + repo = "shelfmark"; + tag = "v${finalAttrs.version}"; + hash = "sha256-t4t7je7Y/aezx/EX7paJIcsCq5qyZeU/+mPLeZ8oTPg="; + }; + + nativeBuildInputs = [ + python3Packages.wrapPython + makeWrapper + ]; + + pythonPath = pythonDeps; + + installPhase = '' + runHook preInstall + + wrapPythonPrograms + + mkdir -p $out/libexec $out/bin + + cp -r shelfmark $out/libexec/shelfmark + cp -r data $out/libexec/data + ln -s ${finalAttrs.passthru.frontend} $out/libexec/frontend-dist + + makeWrapper ${python3Packages.python.interpreter} $out/bin/shelfmark \ + --prefix PATH : ${ + lib.makeBinPath [ + python3Packages.python + unrar-free + ] + } \ + --set PYTHONPATH "$out/libexec:$program_PYTHONPATH" \ + --set USING_EXTERNAL_BYPASSER true \ + --add-flags "-m gunicorn.app.wsgiapp --worker-class geventwebsocket.gunicorn.workers.GeventWebSocketWorker --workers 1 -t 300 shelfmark.main:app" + + runHook postInstall + ''; + + passthru = { + frontend = shelfmark-frontend.override { + shelfmark = finalAttrs.finalPackage; + }; + tests = { + inherit (nixosTests) shelfmark; + }; + }; + + meta = { + description = "Self-hosted web interface for searching and downloading books and audiobooks"; + homepage = "https://github.com/calibrain/shelfmark"; + changelog = "https://github.com/calibrain/shelfmark/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + mainProgram = "shelfmark"; + }; +}) diff --git a/pkgs/by-name/sn/snouty/package.nix b/pkgs/by-name/sn/snouty/package.nix index 70100e9c23c1..db382182dbd5 100644 --- a/pkgs/by-name/sn/snouty/package.nix +++ b/pkgs/by-name/sn/snouty/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "snouty"; - version = "0.3.3"; + version = "0.3.5"; src = fetchFromGitHub { owner = "antithesishq"; repo = "snouty"; tag = "v${finalAttrs.version}"; - hash = "sha256-ScE+Er8k86N6zmEnVEpxWPnW6g6Gyy1TA+2HNGZmqgE="; + hash = "sha256-lE0SHk2pkWPAMRI8seBhP4lMVyruhF8DKW/LSRkqcRw="; }; - cargoHash = "sha256-I/pXyX4Z+tGqVbFjog+GzXJYnBwpyYZsc0lvlBOdT/Q="; + cargoHash = "sha256-b5FVhF+MVexf8ZV3+pUomzCA8fq1Un0g51aLg1muxRM="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/st/steamcmd/package.nix b/pkgs/by-name/st/steamcmd/package.nix index 2b64fbd0c596..e3448c0b65ea 100644 --- a/pkgs/by-name/st/steamcmd/package.nix +++ b/pkgs/by-name/st/steamcmd/package.nix @@ -1,6 +1,6 @@ { lib, - stdenv, + stdenvNoCC, fetchurl, steam-run, coreutils, @@ -24,12 +24,13 @@ let }; }; in -stdenv.mkDerivation { +stdenvNoCC.mkDerivation { pname = "steamcmd"; version = "20180104"; # According to steamcmd_linux.tar.gz mtime src = - srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + srcs.${stdenvNoCC.hostPlatform.system} + or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); # The source tarball does not have a single top-level directory. preUnpack = '' @@ -49,7 +50,9 @@ stdenv.mkDerivation { --subst-var out \ --subst-var-by coreutils ${coreutils} \ --subst-var-by steamRoot '${steamRoot}' \ - --subst-var-by steamRun ${if stdenv.hostPlatform.isLinux then (lib.getExe steam-run) else "exec"} + --subst-var-by steamRun ${ + if stdenvNoCC.hostPlatform.isLinux then (lib.getExe steam-run) else "exec" + } chmod 0755 $out/bin/steamcmd ''; diff --git a/pkgs/by-name/te/telegraf/package.nix b/pkgs/by-name/te/telegraf/package.nix index 67bfc17284fd..c0d07830169f 100644 --- a/pkgs/by-name/te/telegraf/package.nix +++ b/pkgs/by-name/te/telegraf/package.nix @@ -10,7 +10,7 @@ buildGoModule (finalAttrs: { pname = "telegraf"; - version = "1.38.1"; + version = "1.38.2"; subPackages = [ "cmd/telegraf" ]; @@ -18,10 +18,10 @@ buildGoModule (finalAttrs: { owner = "influxdata"; repo = "telegraf"; rev = "v${finalAttrs.version}"; - hash = "sha256-DKDKEYKm4vlyamGHLE1kPFYBgsZDvkzCGEmqBQ6/VIE="; + hash = "sha256-EfT3uxUTRvAlZcIsm7zDn+6znE7UG+N0yBoGM5Fl8eo="; }; - vendorHash = "sha256-1fsyqCsxABDB4ZBAjshRo+GPtG70CEVu/mWzMoDjhjc="; + vendorHash = "sha256-Ir9/JjnwfrxlF7oCTpsn/e+8UxdZJgCZM2SW3y2h1Rg="; proxyVendor = true; ldflags = [ diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix index 130abdcbbb5b..57b0bc594df3 100644 --- a/pkgs/development/libraries/wlroots/default.nix +++ b/pkgs/development/libraries/wlroots/default.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitLab, - fetchpatch, meson, ninja, pkg-config, @@ -176,8 +175,5 @@ in wlroots_0_20 = generic { version = "0.20.0"; hash = "sha256-hVJlJiJK6+9RkgkmQzUzb8ypVMqsNhbQG6KfeCvxtb0="; - extraBuildInputs = [ - lcms2 - ]; }; } diff --git a/pkgs/development/ocaml-modules/smtml/default.nix b/pkgs/development/ocaml-modules/smtml/default.nix index bc1f9d6ec47f..70887215bfe1 100644 --- a/pkgs/development/ocaml-modules/smtml/default.nix +++ b/pkgs/development/ocaml-modules/smtml/default.nix @@ -11,6 +11,7 @@ dolmen_model, dolmen_type, dune-build-info, + dune-site, fpath, hc, menhirLib, @@ -18,6 +19,7 @@ # fix eval on legacy ocaml versions ocaml_intrinsics ? null, prelude, + ppx_enumerate, scfg, yojson, z3, @@ -28,13 +30,13 @@ buildDunePackage (finalAttrs: { pname = "smtml"; - version = "0.20.0"; + version = "0.24.0"; src = fetchFromGitHub { owner = "formalsec"; repo = "smtml"; tag = "v${finalAttrs.version}"; - hash = "sha256-VnkF+bZXeqaj9LSpyzqH5AM9EQsrW4Rlj5kvyTfYTKE="; + hash = "sha256-9499a8ngL8rTeyhWumn08ZjymD8zOMyyG0ZgjVITSPQ="; }; minimalOCamlVersion = "4.14"; @@ -45,6 +47,7 @@ buildDunePackage (finalAttrs: { buildInputs = [ dune-build-info + dune-site ]; propagatedBuildInputs = [ @@ -58,6 +61,7 @@ buildDunePackage (finalAttrs: { menhirLib mtime ocaml_intrinsics + ppx_enumerate prelude scfg yojson diff --git a/pkgs/development/ocaml-modules/symex/default.nix b/pkgs/development/ocaml-modules/symex/default.nix index 38f3405c521d..b9ab401cefbb 100644 --- a/pkgs/development/ocaml-modules/symex/default.nix +++ b/pkgs/development/ocaml-modules/symex/default.nix @@ -9,13 +9,13 @@ buildDunePackage (finalAttrs: { pname = "symex"; - version = "0.1"; + version = "0.2"; src = fetchFromGitHub { owner = "ocamlpro"; repo = "symex"; tag = finalAttrs.version; - hash = "sha256-jKwFtxVcBD8Y1bfKRB8Z/MSeQLQWKvk00i8HqodkBbM="; + hash = "sha256-KX+OHiCsAHEw0kBWLUDVakIcshUNXLYjm2f2le75Mj8="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix index b6483affaf55..efa2eff09e36 100644 --- a/pkgs/development/python-modules/approvaltests/default.nix +++ b/pkgs/development/python-modules/approvaltests/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "approvaltests"; - version = "17.4.0"; + version = "17.4.1"; pyproject = true; src = fetchFromGitHub { owner = "approvals"; repo = "ApprovalTests.Python"; tag = "v${version}"; - hash = "sha256-Xtgzz5Z0tkwr9EmiYs8Nt/MUTvJ8sysySMp8QJnr33A="; + hash = "sha256-8JOd1JRwJS+y5Eh/an0RrGtwBZMPW/ziGTRd1H9Sveo="; }; postPatch = '' diff --git a/pkgs/development/python-modules/unstructured-client/default.nix b/pkgs/development/python-modules/unstructured-client/default.nix index 1b2d0a98b7cb..7959204b7581 100644 --- a/pkgs/development/python-modules/unstructured-client/default.nix +++ b/pkgs/development/python-modules/unstructured-client/default.nix @@ -3,32 +3,30 @@ buildPythonPackage, cryptography, deepdiff, - eval-type-backport, fetchFromGitHub, + httpcore, httpx, lib, - nest-asyncio, poetry-core, pydantic, pypdf, + pypdfium2, pytest-asyncio, pytestCheckHook, python, - python-dateutil, requests-toolbelt, - typing-inspection, }: buildPythonPackage (finalAttrs: { pname = "unstructured-client"; - version = "0.42.9"; + version = "0.42.12"; pyproject = true; src = fetchFromGitHub { owner = "Unstructured-IO"; repo = "unstructured-python-client"; tag = "v${finalAttrs.version}"; - hash = "sha256-+neZK7I5qjidLlM298TrVl5mGFBdGZdxAdFaJIf0tNk="; + hash = "sha256-xuaGvQEu1QpLn33AUgdWW120pVVNVPL08U/SCA7kGvc="; }; preBuild = '' @@ -44,14 +42,12 @@ buildPythonPackage (finalAttrs: { dependencies = [ aiofiles cryptography - eval-type-backport + httpcore httpx - nest-asyncio pydantic pypdf - python-dateutil + pypdfium2 requests-toolbelt - typing-inspection ]; pythonImportsCheck = [ "unstructured_client" ]; diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index a736cd556e03..41372a40fdb1 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -1863,7 +1863,9 @@ let }); vegan3d = old.vegan3d.overrideAttrs (attrs: { - RGL_USE_NULL = "true"; + env = (attrs.env or { }) // { + RGL_USE_NULL = "true"; + }; }); # it can happen that the major version of arrow-cpp is ahead of the @@ -2187,7 +2189,9 @@ let }); nanonext = old.nanonext.overrideAttrs (attrs: { - NIX_LDFLAGS = "-lnng -lmbedtls -lmbedx509 -lmbedcrypto"; + env = (attrs.env or { }) // { + NIX_LDFLAGS = "-lnng -lmbedtls -lmbedx509 -lmbedcrypto"; + }; }); clustermq = old.clustermq.overrideAttrs (attrs: { @@ -2195,7 +2199,9 @@ let }); Cairo = old.Cairo.overrideAttrs (attrs: { - NIX_LDFLAGS = "-lfontconfig"; + env = (attrs.env or { }) // { + NIX_LDFLAGS = "-lfontconfig"; + }; }); curl = old.curl.overrideAttrs (attrs: { @@ -2511,7 +2517,9 @@ let }); RAppArmor = old.RAppArmor.overrideAttrs (attrs: { - LIBAPPARMOR_HOME = pkgs.libapparmor; + env = (attrs.env or { }) // { + LIBAPPARMOR_HOME = pkgs.libapparmor; + }; }); # Append cargo path to path variable @@ -2526,17 +2534,21 @@ let }); RMySQL = old.RMySQL.overrideAttrs (attrs: { - MYSQL_DIR = "${pkgs.libmysqlclient}"; - PKGCONFIG_CFLAGS = "-I${pkgs.libmysqlclient.dev}/include/mysql"; - NIX_CFLAGS_LINK = "-L${pkgs.libmysqlclient}/lib/mysql -lmysqlclient"; + env = (attrs.env or { }) // { + MYSQL_DIR = "${pkgs.libmysqlclient}"; + PKGCONFIG_CFLAGS = "-I${pkgs.libmysqlclient.dev}/include/mysql"; + NIX_CFLAGS_LINK = "-L${pkgs.libmysqlclient}/lib/mysql -lmysqlclient"; + }; preConfigure = '' patchShebangs configure ''; }); devEMF = old.devEMF.overrideAttrs (attrs: { - NIX_CFLAGS_LINK = "-L${pkgs.libxft.out}/lib -lXft"; - NIX_LDFLAGS = "-lX11"; + env = (attrs.env or { }) // { + NIX_CFLAGS_LINK = "-L${pkgs.libxft.out}/lib -lXft"; + NIX_LDFLAGS = "-lX11"; + }; }); hdf5r = old.hdf5r.overrideAttrs (attrs: { @@ -2544,11 +2556,15 @@ let }); slfm = old.slfm.overrideAttrs (attrs: { - PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; + env = (attrs.env or { }) // { + PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; + }; }); SamplerCompare = old.SamplerCompare.overrideAttrs (attrs: { - PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; + env = (attrs.env or { }) // { + PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; + }; }); FLAMES = old.FLAMES.overrideAttrs (attrs: { @@ -2559,13 +2575,17 @@ let preConfigure = '' patchShebangs configure ''; - PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; - PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; + env = (attrs.env or { }) // { + PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; + PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; + }; }); websocket = old.websocket.overrideAttrs (attrs: { - PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; - PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; + env = (attrs.env or { }) // { + PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; + PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; + }; }); Rserve = old.Rserve.overrideAttrs (attrs: { @@ -2596,11 +2616,13 @@ let patchShebangs configure ''; - R_MAKEVARS_SITE = lib.optionalString (pkgs.stdenv.system == "aarch64-linux") ( - pkgs.writeText "Makevars" '' - CXX14PICFLAGS = -fPIC - '' - ); + env = (attrs.env or { }) // { + R_MAKEVARS_SITE = lib.optionalString (pkgs.stdenv.system == "aarch64-linux") ( + pkgs.writeText "Makevars" '' + CXX14PICFLAGS = -fPIC + '' + ); + }; }); acs = old.acs.overrideAttrs (attrs: { @@ -2613,7 +2635,9 @@ let preConfigure = '' patchShebangs configure ''; - NIX_LDFLAGS = "-lfontconfig -lfreetype"; + env = (attrs.env or { }) // { + NIX_LDFLAGS = "-lfontconfig -lfreetype"; + }; }); magick = old.magick.overrideAttrs (attrs: { @@ -2642,7 +2666,9 @@ let preConfigure = '' export TCLLIBPATH="${pkgs.tclPackages.bwidget}/lib/bwidget${pkgs.tclPackages.bwidget.version}" ''; - TCLLIBPATH = "${pkgs.tclPackages.bwidget}/lib/bwidget${pkgs.tclPackages.bwidget.version}"; + env = (attrs.env or { }) // { + TCLLIBPATH = "${pkgs.tclPackages.bwidget}/lib/bwidget${pkgs.tclPackages.bwidget.version}"; + }; }); networkscaleup = old.networkscaleup.overrideAttrs (attrs: { @@ -2856,8 +2882,10 @@ let preConfigure = '' patchShebangs configure ''; - PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include"; - PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -L${pkgs.cyrus_sasl.out}/lib -L${pkgs.zlib.out}/lib -lssl -lcrypto -lsasl2 -lz"; + env = (attrs.env or { }) // { + PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include"; + PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -L${pkgs.cyrus_sasl.out}/lib -L${pkgs.zlib.out}/lib -lssl -lcrypto -lsasl2 -lz"; + }; }); ChemmineOB = old.ChemmineOB.overrideAttrs (attrs: { @@ -3021,7 +3049,9 @@ let ChIPXpress = old.ChIPXpress.override { hydraPlatforms = [ ]; }; rgl = old.rgl.overrideAttrs (attrs: { - RGL_USE_NULL = "true"; + env = (attrs.env or { }) // { + RGL_USE_NULL = "true"; + }; }); Rrdrand = old.Rrdrand.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; @@ -3053,7 +3083,9 @@ let dbarts = old.dbarts.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; geomorph = old.geomorph.overrideAttrs (attrs: { - RGL_USE_NULL = "true"; + env = (attrs.env or { }) // { + RGL_USE_NULL = "true"; + }; }); gpuMagic = old.gpuMagic.overrideAttrs (_: { @@ -3107,9 +3139,11 @@ let postPatch = "patchShebangs configure"; }); - redland = old.redland.overrideAttrs (_: { - PKGCONFIG_CFLAGS = "-I${pkgs.redland}/include -I${pkgs.librdf_raptor2}/include/raptor2 -I${pkgs.librdf_rasqal}/include/rasqal"; - PKGCONFIG_LIBS = "-L${pkgs.redland}/lib -L${pkgs.librdf_raptor2}/lib -L${pkgs.librdf_rasqal}/lib -lrdf -lraptor2 -lrasqal"; + redland = old.redland.overrideAttrs (attrs: { + env = (attrs.env or { }) // { + PKGCONFIG_CFLAGS = "-I${pkgs.redland}/include -I${pkgs.librdf_raptor2}/include/raptor2 -I${pkgs.librdf_rasqal}/include/rasqal"; + PKGCONFIG_LIBS = "-L${pkgs.redland}/lib -L${pkgs.librdf_raptor2}/lib -L${pkgs.librdf_rasqal}/lib -lrdf -lraptor2 -lrasqal"; + }; }); textshaping = old.textshaping.overrideAttrs (attrs: { diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index 9c3a6e05bc40..d58772e6463f 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -751,6 +751,12 @@ in filesToInstall = [ "u-boot.bin" ]; }; + ubootRaspberryPiAarch64 = buildUBoot { + defconfig = "rpi_arm64_defconfig"; + extraMeta.platforms = [ "aarch64-linux" ]; + filesToInstall = [ "u-boot.bin" ]; + }; + ubootRaspberryPi2 = buildUBoot { defconfig = "rpi_2_defconfig"; extraMeta.platforms = [ "armv7l-linux" ]; diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix index 8828a1ec1bfb..a0a6052ed342 100644 --- a/pkgs/servers/samba/4.x.nix +++ b/pkgs/servers/samba/4.x.nix @@ -277,6 +277,8 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; + hardeningDisable = [ "strictflexarrays1" ]; + preBuild = '' export MAKEFLAGS="-j $NIX_BUILD_CORES" ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 305ece210f28..e395e3bf8dff 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8944,6 +8944,7 @@ with pkgs; ubootQuartz64B ubootRadxaZero3W ubootRaspberryPi + ubootRaspberryPiAarch64 ubootRaspberryPi2 ubootRaspberryPi3_32bit ubootRaspberryPi3_64bit