Merge master into staging-nixos

This commit is contained in:
nixpkgs-ci[bot]
2026-04-27 06:56:09 +00:00
committed by GitHub
52 changed files with 448 additions and 497 deletions
+4
View File
@@ -168,6 +168,10 @@
- the `xorg` package set has been deprecated, packages have moved to the top level.
- `python3Packages.buildPythonPackage` and `python3Packages.buildPythonApplication` now throw errors in the presence of `pytestFlagsArray`.
Please use [`pytestFlags` and `(enabled|disabled)(TestPaths|Tests|TestMarks)`](#using-pytestcheckhook) instead.
If modifying the Nix expression is not feasible, users can remediate the error by overriding `pytestFlagsArray` with `null` or `[ ]`.
- `python3Packages.pygame` has been been renamed to `python3Packages.pygame-original`, the attribute `python3Packages.pygame` will from python 3.14 default to the more actively maintained `python3Packages.pygame-ce`
- `fastly` has been updated to major version 14. For more information, you can check the [release notes](https://github.com/fastly/cli/releases/tag/v14.0.0)
@@ -182,6 +182,9 @@
- `services.uptime` has been removed because the package it relies on does not exist anymore in nixpkgs.
- `services.mattermost` now defaults to version 11, which has dropped support for MySQL in favor of Postgres. As a result, all support for MySQL has been removed from the module.
See the [migration steps](https://docs.mattermost.com/deployment-guide/manual-postgres-migration.html) if you were not running Postgres.
- `post-resume.target` has been removed. See {manpage}`systemd.special(7)` about `sleep.target` for instructions on ordering a process after resume with `ExecStop=`.
- `services.kubernetes.addons.dns.coredns` has been renamed to `services.kubernetes.addons.dns.corednsImage` and now expects a
@@ -271,6 +274,8 @@ See <https://github.com/NixOS/nixpkgs/issues/481673>.
- `ceph` has been upgraded to v20. See the [Ceph "tentacle" release notes](https://docs.ceph.com/en/latest/releases/tentacle/#v20-2-0-tentacle) for details and recommended upgrade procedure.
Note that **upgrades of server-side components are one-way**, and downgrading e.g. an OSD from *Tentacle* to *Squid* is not just not supported but is known to break.
- `services.unifi`'s `jrePackage` option now defaults to `jdk25_headless` instead of `jdk17_headless`, in order to be compatible with new versions of `unifi`.
- The `networking.wireless` module has been security hardened by default: the `wpa_supplicant` daemon now runs under an unprivileged user with restricted access to the system.
As part of these changes, `/etc/wpa_supplicant.conf` has been deprecated: the NixOS-generated configuration file is now linked to `/etc/wpa_supplicant/nixos.conf` and `/etc/wpa_supplicant/imperative.conf` has been added for imperatively configuring `wpa_supplicant` or when using [allowAuxiliaryImperativeNetworks](#opt-networking.wireless.allowAuxiliaryImperativeNetworks).
+1 -1
View File
@@ -41,7 +41,7 @@ in
};
services.unifi.jrePackage = lib.mkPackageOption pkgs "jdk" {
default = "jdk17_headless";
default = "jdk25_headless";
extraDescription = ''
Check the UniFi controller release notes to ensure it is supported.
'';
+43 -131
View File
@@ -27,9 +27,9 @@ let
inherit (lib.modules)
mkRenamedOptionModule
mkRemovedOptionModule
mkMerge
mkIf
mkDefault
;
inherit (lib.trivial) warnIf throwIf;
@@ -55,10 +55,13 @@ let
# Ensure that it's inside mutableDataDir since it can get rather large.
tempDir = "${mutableDataDir}/tmp";
# Database supported by Mattermost.
databaseDriverName = "postgres";
# Creates a database URI.
mkDatabaseUri =
{
scheme,
scheme ? databaseDriverName,
user ? null,
password ? null,
escapeUserAndPassword ? true,
@@ -105,54 +108,24 @@ let
let
hostIsPath = hasInfix "/" cfg.database.host;
in
if cfg.database.driver == "postgres" then
if cfg.database.peerAuth then
mkDatabaseUri {
scheme = cfg.database.driver;
inherit (cfg.database) user;
path = escapeURL cfg.database.name;
query = {
host = cfg.database.socketPath;
}
// cfg.database.extraConnectionOptions;
}
else
mkDatabaseUri {
scheme = cfg.database.driver;
inherit (cfg.database) user password;
host = if hostIsPath then null else cfg.database.host;
port = if hostIsPath then null else cfg.database.port;
path = escapeURL cfg.database.name;
query =
optionalAttrs hostIsPath { host = cfg.database.host; } // cfg.database.extraConnectionOptions;
}
else if cfg.database.driver == "mysql" then
if cfg.database.peerAuth then
mkDatabaseUri {
scheme = null;
inherit (cfg.database) user;
escapeUserAndPassword = false;
host = "unix(${cfg.database.socketPath})";
escapeHost = false;
path = escapeURL cfg.database.name;
query = cfg.database.extraConnectionOptions;
}
else
mkDatabaseUri {
scheme = null;
inherit (cfg.database) user password;
escapeUserAndPassword = false;
host =
if hostIsPath then
"unix(${cfg.database.host})"
else
"tcp(${cfg.database.host}:${toString cfg.database.port})";
escapeHost = false;
path = escapeURL cfg.database.name;
query = cfg.database.extraConnectionOptions;
if cfg.database.peerAuth then
mkDatabaseUri {
inherit (cfg.database) user;
path = escapeURL cfg.database.name;
query = {
host = cfg.database.socketPath;
}
// cfg.database.extraConnectionOptions;
}
else
throw "Invalid database driver: ${cfg.database.driver}";
mkDatabaseUri {
inherit (cfg.database) user password;
host = if hostIsPath then null else cfg.database.host;
port = if hostIsPath then null else cfg.database.port;
path = escapeURL cfg.database.name;
query =
optionalAttrs hostIsPath { host = cfg.database.host; } // cfg.database.extraConnectionOptions;
};
mattermostPluginDerivations = map (
plugin:
@@ -213,7 +186,7 @@ let
EnableSecurityFixAlert = cfg.telemetry.enableSecurityAlerts;
};
TeamSettings.SiteName = cfg.siteName;
SqlSettings.DriverName = cfg.database.driver;
SqlSettings.DriverName = databaseDriverName;
SqlSettings.DataSource =
if cfg.database.fromEnvironment then
null
@@ -358,6 +331,11 @@ in
"dataDir"
]
)
(mkRemovedOptionModule [ "services" "mattermost" "database" "driver" ] ''
services.mattermost.database.driver has been removed, as the only option is '${databaseDriverName}' in v11+.
If you were using MySQL, please migrate to Postgres:
https://docs.mattermost.com/deployment-guide/manual-postgres-migration.html
'')
];
options = {
@@ -558,22 +536,11 @@ in
};
database = {
driver = mkOption {
type = types.enum [
"postgres"
"mysql"
];
default = "postgres";
description = ''
The database driver to use (Postgres or MySQL).
'';
};
create = mkOption {
type = types.bool;
default = true;
description = ''
Create a local PostgreSQL or MySQL database for Mattermost automatically.
Create a local PostgreSQL database for Mattermost automatically.
'';
};
@@ -591,13 +558,9 @@ in
socketPath = mkOption {
type = types.path;
default =
if cfg.database.driver == "postgres" then "/run/postgresql" else "/run/mysqld/mysqld.sock";
defaultText = ''
if config.services.mattermost.database.driver == "postgres" then "/run/postgresql" else "/run/mysqld/mysqld.sock";
'';
default = "/run/postgresql";
description = ''
The database (Postgres or MySQL) socket path.
The database socket path.
'';
};
@@ -630,11 +593,8 @@ in
port = mkOption {
type = types.port;
default = if cfg.database.driver == "postgres" then 5432 else 3306;
defaultText = ''
if config.services.mattermost.database.type == "postgres" then 5432 else 3306
'';
example = 3306;
default = 5432;
example = 1234;
description = ''
Port to use for the database.
'';
@@ -660,34 +620,15 @@ in
extraConnectionOptions = mkOption {
type = with types; attrsOf (either int str);
default =
if cfg.database.driver == "postgres" then
{
sslmode = "disable";
connect_timeout = 60;
}
else if cfg.database.driver == "mysql" then
{
charset = "utf8mb4";
writeTimeout = "60s";
readTimeout = "60s";
}
else
throw "Invalid database driver ${cfg.database.driver}";
default = {
sslmode = "disable";
connect_timeout = 60;
};
defaultText = ''
if config.mattermost.database.driver == "postgres" then
{
sslmode = "disable";
connect_timeout = 60;
}
else if config.mattermost.database.driver == "mysql" then
{
charset = "utf8mb4";
writeTimeout = "60s";
readTimeout = "60s";
}
else
throw "Invalid database driver";
{
sslmode = "disable";
connect_timeout = 60;
}
'';
description = ''
Extra options that are placed in the connection URI's query parameters.
@@ -756,7 +697,7 @@ in
};
};
services.postgresql = mkIf (cfg.database.driver == "postgres" && cfg.database.create) {
services.postgresql = mkIf cfg.database.create {
enable = true;
ensureDatabases = singleton cfg.database.name;
ensureUsers = singleton {
@@ -772,26 +713,6 @@ in
};
};
services.mysql = mkIf (cfg.database.driver == "mysql" && cfg.database.create) {
enable = true;
package = mkDefault pkgs.mariadb;
ensureDatabases = singleton cfg.database.name;
ensureUsers = singleton {
name = cfg.database.user;
ensurePermissions = {
"${cfg.database.name}.*" = "ALL PRIVILEGES";
};
};
settings = rec {
mysqld = {
collation-server = mkDefault "utf8mb4_general_ci";
init-connect = mkDefault "SET NAMES utf8mb4";
character-set-server = mkDefault "utf8mb4";
};
mysqld_safe = mysqld;
};
};
environment = {
variables = mkIf cfg.socket.export {
MMCTL_LOCAL = "true";
@@ -840,8 +761,7 @@ in
wantedBy = [ "multi-user.target" ];
after = mkMerge [
[ "network.target" ]
(mkIf (cfg.database.driver == "postgres" && cfg.database.create) [ "postgresql.target" ])
(mkIf (cfg.database.driver == "mysql" && cfg.database.create) [ "mysql.service" ])
(mkIf cfg.database.create [ "postgresql.target" ])
];
requires = after;
@@ -945,8 +865,7 @@ in
];
unitConfig.JoinsNamespaceOf = mkMerge [
(mkIf (cfg.database.driver == "postgres" && cfg.database.create) [ "postgresql.target" ])
(mkIf (cfg.database.driver == "mysql" && cfg.database.create) [ "mysql.service" ])
(mkIf cfg.database.create [ "postgresql.target" ])
];
};
@@ -966,13 +885,6 @@ in
or hostname, and services.mattermost.port to specify the port separately.
'';
}
{
# Can't use MySQL on version 11.
assertion = versionAtLeast cfg.package.version "11" -> cfg.database.driver == "postgres";
message = ''
Only Postgres is supported as the database driver in Mattermost 11 and later.
'';
}
];
})
(mkIf cfg.matterircd.enable {
@@ -16,9 +16,9 @@ let
inherit tiling_wm;
};
stableVersion = {
version = "2025.3.3.7"; # "Android Studio Panda 3 | 2025.3.3 Patch 1"
sha256Hash = "sha256-FTAJ9rZPwLgIA/uPKl4d9haBxLL4O2Z+H8sY6RqaeOA=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.3.7/android-studio-panda3-patch1-linux.tar.gz";
version = "2025.3.4.6"; # "Android Studio Panda 4 | 2025.3.4"
sha256Hash = "sha256-Mqf/CayqOLSNYciIK+5+ITAiqLoNHxbABzOA+stQn9M=";
url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.4.6/android-studio-panda4-linux.tar.gz";
};
betaVersion = {
version = "2025.3.4.5"; # "Android Studio Panda 4 | 2025.3.4 RC 1"
@@ -200,13 +200,13 @@
"vendorHash": "sha256-sagrygtfsZWQUuIuGTUldZYYR5OhQfpZDxDKZAaIR4Y="
},
"cloudflare_cloudflare": {
"hash": "sha256-D5Kk6xCz3CQWbGHjLKU/+SPBzCYFQlphCTMG6+LvFek=",
"hash": "sha256-2hlL7N6jP7or3l0HczbRhnAmMYJ0XQTXl0f+sIFdlZc=",
"homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
"owner": "cloudflare",
"repo": "terraform-provider-cloudflare",
"rev": "v5.18.0",
"rev": "v5.19.0",
"spdx": "Apache-2.0",
"vendorHash": "sha256-8d6cnbdPhfc/9B8JUq1HbReOYBauY6SQf3xKqgK1PeQ="
"vendorHash": "sha256-Gkb493fesB/jOdvnQrwt4MrNKO+YlR3+9Mu5TiaG084="
},
"cloudfoundry-community_cloudfoundry": {
"hash": "sha256-1nYncJLVU/f9WD6Quh9IieIXgixPzbPk4zbtI1zmf9g=",
@@ -1076,11 +1076,11 @@
"vendorHash": "sha256-F1AuO/dkldEDRvkwrbq2EjByxjg3K2rohZAM4DzKPUw="
},
"pagerduty_pagerduty": {
"hash": "sha256-w5FNU3HYIrplFyyw3V6RpJ6exW83F+u/CRdr9htbuxs=",
"hash": "sha256-JEV+nNJjEM7RlQ6RKEawftB/OHaf8vcNHDYKhkUJRw0=",
"homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty",
"owner": "PagerDuty",
"repo": "terraform-provider-pagerduty",
"rev": "v3.32.2",
"rev": "v3.32.3",
"spdx": "MPL-2.0",
"vendorHash": null
},
+2 -2
View File
@@ -23,13 +23,13 @@
}:
gcc15Stdenv.mkDerivation (finalAttrs: {
pname = "aquamarine";
version = "0.10.0";
version = "0.11.0";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "aquamarine";
tag = "v${finalAttrs.version}";
hash = "sha256-XnkWjCpeXfip9tqYdL0b0zzBDjq+dgdISvEdSVGdVyA=";
hash = "sha256-nGiqEpbQK/tg7Mzyb8kIik9uDcm3cInWDcHRquFAOS4=";
};
nativeBuildInputs = [
+1 -2
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitLab,
wolfssl,
bionic-translation,
python3,
which,
@@ -35,6 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
# Do not hardocde addr2line binary path
./no-hardcode-path-addr2line.patch
./remove-wolfssljni.patch
];
postPatch = ''
@@ -65,7 +65,6 @@ stdenv.mkDerivation (finalAttrs: {
libpng
lz4
openssl
(wolfssl.override { enableJni = true; })
xz
zlib
];
@@ -0,0 +1,96 @@
diff --git a/Makefile b/Makefile
index 3383a64b36..b658f49c23 100644
--- a/Makefile
+++ b/Makefile
@@ -53,7 +53,7 @@
default: ____art_all
-____art_all: dalvikvm art dex2oat libjavacore libcore libopenjdk libopenjdkjvm core-libart-hostdex core-oj-hostdex apachehttp-hostdex apache-xml-hostdex hamcrest-hostdex core-junit-hostdex junit-runner-hostdex bouncycastle-hostdex wolfssljni-hostdex okhttp-hostdex libandroidfw art-standalone.pc
+____art_all: dalvikvm art dex2oat libjavacore libcore libopenjdk libopenjdkjvm core-libart-hostdex core-oj-hostdex apachehttp-hostdex apache-xml-hostdex hamcrest-hostdex core-junit-hostdex junit-runner-hostdex bouncycastle-hostdex okhttp-hostdex libandroidfw art-standalone.pc
art-standalone.pc: art-standalone.pc.in
sed -e 's|@prefix@|$(____PREFIX)|g' \
@@ -68,8 +68,7 @@
install -Dt $(____INSTALL_LIBDIR)/java/dex/art/natives/ $(____TOPDIR)/out/host/linux-x86/lib64/libjavacore.so \
$(____TOPDIR)/out/host/linux-x86/lib64/libnativehelper.so \
$(____TOPDIR)/out/host/linux-x86/lib64/libopenjdk.so \
- $(____TOPDIR)/out/host/linux-x86/lib64/libopenjdkjvm.so \
- $(____TOPDIR)/out/host/linux-x86/lib64/libwolfssljni.so
+ $(____TOPDIR)/out/host/linux-x86/lib64/libopenjdkjvm.so
#
# these are mostly internal libs which there's no point in versioning because they don't have any kind of stable ABI - so we just shove them in art/ namespace
# even the libunwind is actually a fork of libunwind 1.1 with added stuff that will likely never be upstreamed, especially since google stopped using libunwind
@@ -108,8 +107,7 @@
$(____TOPDIR)/out/host/linux-x86/framework/core-oj-hostdex.jar \
$(____TOPDIR)/out/host/linux-x86/framework/hamcrest-hostdex.jar \
$(____TOPDIR)/out/host/linux-x86/framework/junit-runner-hostdex.jar \
- $(____TOPDIR)/out/host/linux-x86/framework/okhttp-hostdex.jar \
- $(____TOPDIR)/out/host/linux-x86/framework/wolfssljni-hostdex.jar
+ $(____TOPDIR)/out/host/linux-x86/framework/okhttp-hostdex.jar
#
# packaging note: this is needed as bootclasspath when compiling android_translation_layer. Can be in -dev package.
install -D $(____TOPDIR)/out/host/common/obj/JAVA_LIBRARIES/core-all-hostdex_intermediates/classes.jar $(____INSTALL_LIBDIR)/java/core-all_classes.jar
diff --git a/art/runtime/parsed_options.cc b/art/runtime/parsed_options.cc
index 1f8936114a..b8f7566401 100644
--- a/art/runtime/parsed_options.cc
+++ b/art/runtime/parsed_options.cc
@@ -597,8 +597,7 @@
bootclasspath_prefix + "/core-libart-hostdex.jar" + ':' +
bootclasspath_prefix + "/hamcrest-hostdex.jar" + ':' +
bootclasspath_prefix + "/junit-runner-hostdex.jar" + ':' +
- bootclasspath_prefix + "/okhttp-hostdex.jar" + ':' +
- bootclasspath_prefix + "/wolfssljni-hostdex.jar";
+ bootclasspath_prefix + "/okhttp-hostdex.jar";
free(bootclasspath_prefix);
if(args.Exists(M::BootClassPath_a))
diff --git a/libcore/luni/src/main/java/java/security/security.properties b/libcore/luni/src/main/java/java/security/security.properties
index ca55328279..b17437f81e 100644
--- a/libcore/luni/src/main/java/java/security/security.properties
+++ b/libcore/luni/src/main/java/java/security/security.properties
@@ -18,15 +18,13 @@
# Providers
# See also: J2SE doc. "How to Implement a Provider for the JavaTM Cryptography Architecture"
#
-# Android's provider of OpenSSL backed implementations
-security.provider.1=com.wolfssl.provider.jsse.WolfSSLProvider
# Android's stripped down BouncyCastle provider
-security.provider.2=com.android.org.bouncycastle.jce.provider.BouncyCastleProvider
+security.provider.1=com.android.org.bouncycastle.jce.provider.BouncyCastleProvider
# provides implementations that would normally be provided by sun.security.provider.Sun
# (CertPathValidator, CertPathBuilder and (ATL added) JKS)
-security.provider.3=sun.security.provider.CertPathProvider
+security.provider.2=sun.security.provider.CertPathProvider
# Remaining Harmony providers
-security.provider.4=org.apache.harmony.security.provider.crypto.CryptoProvider
+security.provider.3=org.apache.harmony.security.provider.crypto.CryptoProvider
@@ -39,13 +37,6 @@
# javax/net/ssl/SSLSocketFactory.html#getDefault()
# javax/net/ssl/SSLServerSocketFactory.html#getDefault()
-# For regular SSLSockets, we have two implementations:
-ssl.SocketFactory.provider=com.wolfssl.provider.jsse.WolfSSLSocketFactory
-#ssl.SocketFactory.provider=com.android.org.conscrypt.SSLSocketFactoryImpl
-
-# For SSLServerSockets, there's only the new, OpenSSL-based implementation:
-ssl.ServerSocketFactory.provider=com.wolfssl.provider.jsse.WolfSSLServerSocketFactory
-
# Default KeyStore type.
# See specification for java/security/KeyStore.html#getDefaultType()
keystore.type=BKS
diff --git a/libcore/ojluni/src/main/java/sun/security/jca/Providers.java b/libcore/ojluni/src/main/java/sun/security/jca/Providers.java
index e60c3e3ba8..ec66dcb8f0 100644
--- a/libcore/ojluni/src/main/java/sun/security/jca/Providers.java
+++ b/libcore/ojluni/src/main/java/sun/security/jca/Providers.java
@@ -103,7 +103,6 @@
*/
"com.android.org.bouncycastle.jce.provider.BouncyCastleProvider",
"org.apache.harmony.security.provider.crypto.CryptoProvider", // we need SecureRandom
- "com.wolfssl.provider.jsse.WolfSSLProvider",
// END Android-changed: Use Conscrypt and BC, not the sun.security providers.
BACKUP_PROVIDER_CLASSNAME,
};
+3 -3
View File
@@ -10,17 +10,17 @@
}:
buildGoModule (finalAttrs: {
pname = "aws-vault";
version = "7.9.15";
version = "7.10.2";
src = fetchFromGitHub {
owner = "ByteNess";
repo = "aws-vault";
rev = "v${finalAttrs.version}";
hash = "sha256-kDzFiuzSyxNyJnj3nechenhvm4bg+fSif+D+/stdTyo=";
hash = "sha256-d8Rk+Qkfv4fcQYt+U/QF1hF+c03dj2dWHRUtuxIi73U=";
};
proxyVendor = true;
vendorHash = "sha256-92k0E4zCKgWyCAvXWU49dFaYuiTByYNAWxdTYDeTzoE=";
vendorHash = "sha256-dub/57nE3ERKJEsx5bjTWjJBwIeJcmNSYoG/7iZqe+0=";
nativeBuildInputs = [
installShellFiles
+3 -6
View File
@@ -48,8 +48,6 @@
rtmpdump,
scpSupport ? zlibSupport && !stdenv.hostPlatform.isSunOS && !stdenv.hostPlatform.isCygwin,
libssh2,
wolfsslSupport ? false,
wolfssl,
rustlsSupport ? false,
rustls-ffi,
zlibSupport ? true,
@@ -80,7 +78,6 @@ assert
(lib.count (x: x) [
gnutlsSupport
opensslSupport
wolfsslSupport
rustlsSupport
]) > 1
);
@@ -160,7 +157,6 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optional pslSupport libpsl
++ lib.optional rtmpSupport rtmpdump
++ lib.optional scpSupport libssh2
++ lib.optional wolfsslSupport wolfssl
++ lib.optional rustlsSupport rustls-ffi
++ lib.optional zlibSupport zlib
++ lib.optional zstdSupport zstd;
@@ -192,7 +188,8 @@ stdenv.mkDerivation (finalAttrs: {
(lib.withFeatureAs idnSupport "libidn2" (lib.getDev libidn2))
(lib.withFeatureAs opensslSupport "openssl" (lib.getDev openssl))
(lib.withFeatureAs scpSupport "libssh2" (lib.getDev libssh2))
(lib.withFeatureAs wolfsslSupport "wolfssl" (lib.getDev wolfssl))
# TODO: Clean up on `staging`.
"--without-wolfssl"
]
++ lib.optional gssSupport "--with-gssapi=${lib.getDev libkrb5}"
# For the 'urandom', maybe it should be a cross-system option
@@ -203,7 +200,7 @@ stdenv.mkDerivation (finalAttrs: {
"--without-ca-bundle"
"--without-ca-path"
]
++ lib.optionals (!gnutlsSupport && !opensslSupport && !wolfsslSupport && !rustlsSupport) [
++ lib.optionals (!gnutlsSupport && !opensslSupport && !rustlsSupport) [
"--without-ssl"
]
++ lib.optionals (rustlsSupport && !stdenv.hostPlatform.isDarwin) [
+83
View File
@@ -0,0 +1,83 @@
{
lib,
runCommand,
python3Packages,
fetchFromGitHub,
callPackage,
nix-update-script,
_7zz,
android-tools,
cpio,
dumpyara,
erofs-utils,
squashfsTools,
zip,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "dumpyara";
version = "1.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "sebaubuntu-python";
repo = "dumpyara";
tag = "v${finalAttrs.version}";
hash = "sha256-V7SX1XR+De3py6B3Fmqn1IehN0sGPxUKJ0YlGpBPHG4=";
};
build-system = with python3Packages; [ poetry-core ];
dependencies = with python3Packages; [
brotli
liblp
lz4
protobuf5
py7zr
sebaubuntu-libs
zstandard
];
makeWrapperArgs = [
"--prefix"
"PATH"
":"
(lib.makeBinPath [
_7zz
android-tools
cpio
erofs-utils
])
];
passthru = {
tests.requiredTools =
runCommand "check-required-tools"
{
nativeBuildInputs = [
android-tools
dumpyara
squashfsTools
zip
];
}
''
echo foo > bar.txt
mkbootimg --kernel bar.txt -o boot.img
mksquashfs bar.txt system.img
zip system.zip *.img
dumpyara system.zip
touch $out
'';
updateScript = nix-update-script { };
};
__structuredAttrs = true;
meta = {
description = "Android firmware dumper";
homepage = "https://github.com/sebaubuntu-python/dumpyara";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ ungeskriptet ];
mainProgram = "dumpyara";
};
})
-9
View File
@@ -12,7 +12,6 @@
aws-lc,
libressl,
openssl,
wolfssl,
lua5_4,
pcre2,
}:
@@ -21,7 +20,6 @@ assert lib.assertOneOf "sslLibrary" sslLibrary [
"aws-lc"
"libressl"
"openssl"
"wolfssl"
];
let
sslPkgs = {
@@ -30,10 +28,6 @@ let
libressl
openssl
;
wolfssl = wolfssl.override {
variant = "haproxy";
extraConfigureFlags = [ "--enable-quic" ];
};
};
sslPkg = sslPkgs.${sslLibrary};
in
@@ -85,9 +79,6 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals (sslLibrary == "openssl" && lib.versionOlder openssl.version "3.5.2") [
"USE_QUIC_OPENSSL_COMPAT=yes"
]
++ lib.optionals (sslLibrary == "wolfssl") [
"USE_OPENSSL_WOLFSSL=yes"
]
++ lib.optionals usePcre [
"USE_PCRE2=yes"
"USE_PCRE2_JIT=yes"
+3 -2
View File
@@ -6,14 +6,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "itch-dl";
version = "0.6.1";
version = "0.7.2";
pyproject = true;
src = fetchFromGitHub {
owner = "DragoonAethis";
repo = "itch-dl";
tag = finalAttrs.version;
hash = "sha256-zwsiG38wOVi3pP0gQWkZqfAmdWKadjB65qiTg68tZWg=";
hash = "sha256-4+Idh76o/VbdQ6hgvQsrz9AGYeOGC2hgN0kMJz+ik2E=";
};
nativeBuildInputs = with python3Packages; [
@@ -36,6 +36,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
"urllib3"
"beautifulsoup4"
"lxml"
"tqdm"
];
meta = {
+1 -1
View File
@@ -60,7 +60,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
python3.pkgs.pytestCheckHook
];
pytestFlagsArray = [
pytestFlags = [
# Nixpkgs' default is `--capture=fd`, and with it, 2 command mock tests
# fail, see: https://github.com/lucc/khard/issues/353
"--capture=no"
+4 -4
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage {
pname = "lightway";
version = "0-unstable-2026-04-10";
version = "0-unstable-2026-04-24";
src = fetchFromGitHub {
owner = "expressvpn";
repo = "lightway";
rev = "72a924935df9db641e7f4fe28cbeafaead59014f";
hash = "sha256-tygK2CQmbbynJiwGkMvYzt2dHoE17DCJeqD+jlai/m8=";
rev = "8e0940f047ee72db5daa1fb7c3bb82bc89e0f1d9";
hash = "sha256-OFMAEw613aIGG7N5LBAGbVrpkqMUBi7lUy7jm5tZowc=";
};
cargoHash = "sha256-NdVOphyBW5sflv5jZPV/ShfAJXb3ZOyDRctmn/2JY38=";
cargoHash = "sha256-gY8KokOtdBT7Vq+lGn2sk4/o3A0TypEqv09TVJqaZjc=";
cargoBuildFlags = lib.cli.toCommandLineGNU { } {
package = [
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "luau";
version = "0.714";
version = "0.718";
src = fetchFromGitHub {
owner = "luau-lang";
repo = "luau";
tag = finalAttrs.version;
hash = "sha256-TSkiVG0ORRU4+4TsAoLBYfMbB1Ki/ctn3cZDAEsRn/Q=";
hash = "sha256-PB+sUCRmvz5ijdtPyDNxpP7asQAhe9GczEHx962GLKA=";
};
nativeBuildInputs = [ cmake ];
+16 -18
View File
@@ -5,7 +5,7 @@
buildGoModule,
fetchFromGitHub,
buildNpmPackage,
nodejs_22,
nodejs,
nix-update-script,
npm-lockfile-fix,
fetchNpmDeps,
@@ -13,20 +13,21 @@
nixosTests,
versionInfo ? {
# ESR releases only.
# See https://docs.mattermost.com/upgrade/extended-support-release.html
# ESR releases only. Note: if NixOS would release with an ESR that goes out
# of support during the lifetime of the NixOS release, it is acceptable
# to put the latest non-ESR release here if we change it to an ESR shortly after
# the NixOS release.
#
# See <https://docs.mattermost.com/upgrade/extended-support-release.html>.
# When a new ESR version is available (e.g. 8.1.x -> 9.5.x), update
# the version regex here as well.
#
# Ensure you also check ../mattermostLatest/package.nix.
regex = "^v(10\\.11\\.[0-9]+)$";
version = "10.11.15";
srcHash = "sha256-b/hXZHYULl9nNJZT4GtKsaOfX8BEzz/v3Uy3EEbzN8U=";
vendorHash = "sha256-Z94d1eCIkuMG72Mlvk5su/99+4kJoaeHxaeZuk96Hlc=";
npmDepsHash = "sha256-p9dq31qw0EZDQIl2ysKE38JgDyLA6XvSv+VtHuRh+8A=";
lockfileOverlay = ''
unlock(.; "@floating-ui/react"; "channels/node_modules/@floating-ui/react")
'';
regex = "^v(11\\.[67]\\.[0-9]+)$";
version = "11.6.1";
srcHash = "sha256-0TUh5qKi64jt3YhgCTceoizOGzqyt70Rh8VH+bSfS5o=";
vendorHash = "sha256-bWl1rdVRTOJzS2HKKsSRhzVcH1sPgEAlRLjrc+/o0lo=";
npmDepsHash = "sha256-30xwoizNh6fAWS0YdEheXtcO6I9MjoFdCekvLnnoBMc=";
},
...
}:
@@ -223,9 +224,7 @@ buildMattermost rec {
--replace-fail 'options: {}' 'options: { disable: true }'
'';
# https://github.com/NixOS/nixpkgs/issues/474535
nodejs = nodejs_22;
inherit nodejs;
npmDepsHash = npmDeps.hash;
makeCacheWritable = true;
forceGitDeps = true;
@@ -235,10 +234,9 @@ buildMattermost rec {
buildPhase = ''
runHook preBuild
npm run build --workspace=platform/types
npm run build --workspace=platform/client
npm run build --workspace=platform/components
npm run build --workspace=channels
for ws in platform/{types,client,components,shared} channels; do
npm run build --workspace="$ws"
done
runHook postBuild
'';
-86
View File
@@ -4,7 +4,6 @@
gotestsum,
which,
postgresql,
mariadb,
redis,
curl,
net-tools,
@@ -20,7 +19,6 @@ mattermost.overrideAttrs (
nativeCheckInputs = [
which
postgresql
mariadb
redis
curl
net-tools
@@ -113,11 +111,6 @@ mattermost.overrideAttrs (
fi
}
# Waits for MySQL to come up or down.
wait_mysql() {
wait_cmd mysql "$1" mysqladmin ping
}
# Waits for Postgres to come up or down.
wait_postgres() {
wait_cmd postgres "$1" pg_isready -h localhost
@@ -128,33 +121,6 @@ mattermost.overrideAttrs (
wait_cmd redis "$1" redis-cli ping
}
# Starts MySQL.
start_mysql() {
echo "Starting MySQL at $MYSQL_HOME" >&2
mysqld &
mysql_pid=$!
echo "... PID $mysql_pid" >&2
wait_mysql up
}
# Stops MySQL.
stop_mysql() {
if [ "$mysql_pid" -gt 0 ]; then
echo "Terminating MySQL at $MYSQL_HOME (PID $mysql_pid)" >&2
mysqladmin --host=127.0.0.1 --user=root --password=mostest --wait-for-all-slaves --shutdown-timeout=30 shutdown
wait_mysql down
wait_cmd 'mysql pid' down kill -0 "$mysql_pid"
# Make sure the worker PID went down too (but it may be already gone).
local worker_pid="$(<"$MYSQL_HOME"/mysqld.pid || echo 0)"
if [ -n "$worker_pid" ] && [ $worker_pid -gt 0 ]; then
wait_cmd 'mysql workers' down kill -0 "$worker_pid"
fi
mysql_pid=0
fi
}
# Starts Postgres.
start_postgres() {
echo "Starting Postgres at $PGDATA" >&2
@@ -186,52 +152,6 @@ mattermost.overrideAttrs (
redis_pid=0
}
# Configure MySQL.
export MYSQL_HOME="$NIX_BUILD_TOP/.mysql"
mkdir -p "$MYSQL_HOME"
cat <<EOF >"$MYSQL_HOME/my.cnf"
[client]
port = 3306
default-character-set = utf8mb4
socket = $MYSQL_HOME/mysqld.sock
[mysqld]
skip-host-cache
skip-name-resolve
basedir = ${mariadb}
datadir = $MYSQL_HOME/
pid-file = $MYSQL_HOME/mysqld.pid
socket = $MYSQL_HOME/mysqld.sock
port = 3306
explicit_defaults_for_timestamp
collation-server = utf8mb4_general_ci
init-connect = 'SET NAMES utf8mb4'
character-set-server = utf8mb4
EOF
# Start MySQL.
mysql_install_db --skip-name-resolve --auth-root-authentication-method=normal
start_mysql
# Init MySQL.
cat <<EOF | mysql --defaults-file="$MYSQL_HOME/my.cnf" -u root -v
-- This is the admin password for tests; see the docker-compose:
-- https://github.com/mattermost/mattermost/blob/v${final.version}/server/docker-compose.yaml
create user if not exists 'mmuser' identified by 'mostest';
create database if not exists mattermost_test;
grant all privileges on *.* to 'mmuser' with grant option;
-- Also need to set up root (tests seem to override the user to root)
alter user 'root'@'127.0.0.1' identified by 'mostest';
flush privileges;
show grants for 'root'@'127.0.0.1';
show grants for 'mmuser';
EOF
# Need to change this so we use 127.0.0.1 in tests.
export TEST_DATABASE_MYSQL_DSN='root:mostest@tcp(127.0.0.1:3306)/mattermost_test?charset=utf8mb4&readTimeout=30s&writeTimeout=30s'
# Start Postgres.
export PGDATA="$NIX_BUILD_TOP/.postgres"
initdb -E UTF8 -U postgres
@@ -284,12 +204,6 @@ mattermost.overrideAttrs (
'';
postCheck = ''
# Clean up MySQL.
if [ -d "$MYSQL_HOME" ]; then
stop_mysql
rm -rf "$MYSQL_HOME"
fi
# Clean up Postgres.
if [ -d "$PGDATA" ]; then
stop_postgres
+1 -22
View File
@@ -3,25 +3,4 @@
...
}@args:
mattermost.override (
{
versionInfo = {
# Latest, non-RC releases only.
# If the latest is an ESR (Extended Support Release),
# duplicate it here to facilitate the update script.
# See https://docs.mattermost.com/about/mattermost-server-releases.html
# and make sure the version regex is up to date here.
# Ensure you also check ../mattermost/package.nix for ESR releases.
regex = "^v(11\\.[0-9]+\\.[0-9]+)$";
version = "11.5.3";
srcHash = "sha256-r7rfiQ4C0E511QWdpQihydsuoRZCzboodmh1iT4a8r4=";
vendorHash = "sha256-/ts6j86tvbYFjVACkJwcSnXDd+8BXzpaFVdV9DRHkqY=";
npmDepsHash = "sha256-r7iq1pCAJjFyspZBdeNWe00W7A3l73PGC6rrsZ7O6Uw=";
lockfileOverlay = ''
unlock(.; "@floating-ui/react"; "channels/node_modules/@floating-ui/react")
'';
autoUpdate = ./package.nix;
};
}
// args
)
mattermost.override args
+3 -3
View File
@@ -22,16 +22,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mise";
version = "2026.4.6";
version = "2026.4.20";
src = fetchFromGitHub {
owner = "jdx";
repo = "mise";
tag = "v${finalAttrs.version}";
hash = "sha256-tdHjJjLwnf0/0ZxVb9+tgCD8cD8/3TEE3hw6dM3fKtY=";
hash = "sha256-6WGYjXx1AuUDbYIAHh0PdSUC+zDXq4mC5LY+r1vLiKc=";
};
cargoHash = "sha256-8JLwlEqxt8Ixg/b67ZICBBoOjGw8PFIYzNIBRiBJ8OA=";
cargoHash = "sha256-8JAxt9m8StOSNbUKZBNwQWoXwX+gXLGdNZYlRSH0SLM=";
nativeBuildInputs = [
installShellFiles
+4 -1
View File
@@ -21,7 +21,7 @@
protobuf,
microsoft-gsl,
darwinMinVersionHook,
pythonSupport ? true,
pythonSupport ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform),
cudaSupport ? config.cudaSupport,
ncclSupport ? cudaSupport && cudaPackages.nccl.meta.available,
rocmSupport ? config.rocmSupport,
@@ -165,6 +165,7 @@ effectiveStdenv.mkDerivation (finalAttrs: {
libpng
nlohmann_json
microsoft-gsl
protobuf
zlib
]
++ lib.optionals (lib.meta.availableOn effectiveStdenv.hostPlatform cpuinfo) [
@@ -313,6 +314,8 @@ effectiveStdenv.mkDerivation (finalAttrs: {
!(
cudaSupport
|| rocmSupport
# cross-compiled test binaries can't execute on the build platform
|| (effectiveStdenv.hostPlatform != effectiveStdenv.buildPlatform)
|| builtins.elem effectiveStdenv.buildPlatform.system [
# aarch64-linux fails cpuinfo test, because /sys/devices/system/cpu/ does not exist in the sandbox
"aarch64-linux"
+1 -1
View File
@@ -38,7 +38,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
pytestCheckHook
];
pytestFlagsArray = [
enabledTestPaths = [
"openfreebuds/driver/huawei/test/"
"openfreebuds/test/test_event_bus.py"
];
+9
View File
@@ -28,7 +28,9 @@
hicolor-icon-theme,
libsecret,
libpng,
makeFontsConf,
mpfr,
nanum,
nlopt,
opencascade-occt_7_6,
openvdb,
@@ -59,6 +61,12 @@ let
"--enable-secretstore"
];
});
# Workaround for crash due to missing font
# https://github.com/OrcaSlicer/OrcaSlicer/issues/11641
fontsConf = makeFontsConf {
fontDirectories = [ nanum ];
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "orca-slicer";
@@ -219,6 +227,7 @@ stdenv.mkDerivation (finalAttrs: {
]
}"
--set WEBKIT_DISABLE_COMPOSITING_MODE 1
--set FONTCONFIG_FILE "${fontsConf}"
${lib.optionalString withNvidiaGLWorkaround ''
--set __GLX_VENDOR_LIBRARY_NAME mesa
--set __EGL_VENDOR_LIBRARY_FILENAMES /run/opengl-driver/share/glvnd/egl_vendor.d/50_mesa.json
+4 -4
View File
@@ -23,25 +23,25 @@
# runs without an external linter, which leaves `jsPlugins` configs inert.
stdenv.mkDerivation (finalAttrs: {
pname = "oxlint";
version = "1.59.0";
version = "1.60.0";
src = fetchFromGitHub {
owner = "oxc-project";
repo = "oxc";
tag = "oxlint_v${finalAttrs.version}";
hash = "sha256-o4vacOuKNUdLdkd6v94jQcevA8dCXG32fYmO2ZEj330=";
hash = "sha256-RMADw7oEf407J7/KDmIma0k3JKALMBkLqp9pyE+uRkA=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-lppnmePEmbguoDDGyIM3gWbEX0ShgymoCjvrx1tK2Lw=";
hash = "sha256-Xla3mPOkBIfA4BMd+3/lO3mXy4V96DgyT+CzuhTTAd0=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-5T3lrAjMH03Rngc7u7oCLzp9E1sz7jOvG2XmPhouAz0=";
hash = "sha256-fomJmm0GXIClng63wql3hCo1Pf4CbVUiEtbvAv9DPIo=";
};
dontUseCmakeConfigure = true;
+2 -2
View File
@@ -5,13 +5,13 @@
}:
buildGoModule (finalAttrs: {
pname = "postmoogle";
version = "0.9.29";
version = "0.9.30";
src = fetchFromGitHub {
owner = "etkecc";
repo = "postmoogle";
tag = "v${finalAttrs.version}";
hash = "sha256-VBRlsPfNqDehR07vbLvh0nGUgE6H8izW4jqWfMeHmTE=";
hash = "sha256-eNXc2PK3yfetyEvTyoiuoFXjEpO4ZYbDFyFaLbzwqeY=";
};
tags = [
+2 -2
View File
@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pt2-clone";
version = "1.87";
version = "1.88";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "pt2-clone";
rev = "v${finalAttrs.version}";
sha256 = "sha256-Kur9gQEEeGYHKQz6hNIEzohF1mJ9EDKAGycgiKehXhM=";
sha256 = "sha256-PdoncYnl7jD9iM0PDi0O92t9uAlhbrQciIr/+xk3igE=";
};
nativeBuildInputs = [ cmake ];
+1 -5
View File
@@ -7,8 +7,6 @@
pkg-config,
file,
protobufc,
withWolfSSL ? false,
wolfssl,
withGnuTLS ? false,
gnutls,
withJSON ? true,
@@ -45,12 +43,10 @@ stdenv.mkDerivation (finalAttrs: {
file
protobufc
]
++ lib.optional withWolfSSL wolfssl
++ lib.optional withGnuTLS gnutls
++ lib.optional withJSON json_c;
configureFlags =
[ ] ++ lib.optional withWolfSSL "--with-tls=wolfssl" ++ lib.optional withGnuTLS "--with-tls=gnutls";
configureFlags = [ ] ++ lib.optional withGnuTLS "--with-tls=gnutls";
doCheck = true;
enableParallelBuilding = true;
+23 -8
View File
@@ -18,7 +18,6 @@
libusb1,
zlib,
curl,
wolfssl,
python3,
pugixml,
protobuf_33,
@@ -50,19 +49,19 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "rpcs3";
version = "0.0.39-unstable-2026-02-20";
version = "0.0.40-unstable-2026-04-25";
src = fetchFromGitHub {
owner = "RPCS3";
repo = "rpcs3";
rev = "6bfb33279f6989f3ff9ea2dc40ef45d6aeb57ef8";
rev = "96f73f4497fd6fdafd40dc50f24c95c90cd4acc9";
postCheckout = ''
cd $out/3rdparty
git submodule update --init \
fusion/fusion asmjit/asmjit yaml-cpp/yaml-cpp SoundTouch/soundtouch stblib/stb \
feralinteractive/feralinteractive
feralinteractive/feralinteractive wolfssl/wolfssl
'';
hash = "sha256-Cu4Zaze0FZ00sRvPtUzUkOiX5ZAHWTtmWa536gNOTNY=";
hash = "sha256-KTF2Oj1p+EplRgWQ/We8mqu60h161/1gniKWjVAvAso=";
};
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
@@ -82,7 +81,6 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "USE_SYSTEM_LIBPNG" true)
(lib.cmakeBool "USE_SYSTEM_FFMPEG" true)
(lib.cmakeBool "USE_SYSTEM_CURL" true)
(lib.cmakeBool "USE_SYSTEM_WOLFSSL" true)
(lib.cmakeBool "USE_SYSTEM_FAUDIO" true)
(lib.cmakeBool "USE_SYSTEM_OPENAL" true)
(lib.cmakeBool "USE_SYSTEM_PUGIXML" true)
@@ -127,7 +125,6 @@ stdenv.mkDerivation (finalAttrs: {
zlib
libusb1
curl
wolfssl
python3
pugixml
sdl3
@@ -168,7 +165,25 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [
ilian
];
license = lib.licenses.gpl2Only;
license = [
lib.licenses.gpl2Only
# Vendors wolfSSL, which changed its licence from
# `GPL-2.0-or-later` to `GPL-3.0-or-later`, which is incompatible
# with RPCS3s `GPL-2.0-only`. They have a “GPLv2 exception list”
# (<https://github.com/wolfSSL/wolfssl/blob/v5.9.1-stable/LICENSING>),
# but this is dubious; either the exception likely negates the
# licence change by letting you take wolfSSL out of a
# `GPL-2.0-only` combination and redistribute it under those
# terms, negating the licence change entirely, or else it doesnt
# allow distribution of the combination under the `GPL-2.0-only`
# at all and therefore would still constitute a licence
# violation to redistribute.
#
# We use `lib.licenses.unfree` to represent this awkward
# situation and keep Hydra from building the package.
lib.licenses.gpl3Plus
lib.licenses.unfree
];
platforms = [
"x86_64-linux"
"aarch64-linux"
+2 -2
View File
@@ -7,14 +7,14 @@
buildGoModule (finalAttrs: {
pname = "tempo";
version = "2.10.4";
version = "2.10.5";
src = fetchFromGitHub {
owner = "grafana";
repo = "tempo";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-0RW77pa6e8+kg7T5z2VLTd0bnJKpf+io7FaHWWQDpcQ=";
hash = "sha256-1eacaqyKyHF/uS0Ja7oq+YKn/3K2QpDmd6jysGVBOjg=";
};
vendorHash = null;
@@ -11,16 +11,16 @@
buildGoModule (finalAttrs: {
pname = "terraform-plugin-docs";
version = "0.24.0";
version = "0.25.0";
src = fetchFromGitHub {
owner = "hashicorp";
repo = "terraform-plugin-docs";
tag = "v${finalAttrs.version}";
hash = "sha256-wN85uTZgHasP4EsG/tNkt28tnLRFfosN6N89iwcAX80=";
hash = "sha256-QgN2gcGu9Laq4gQkYBvbE7gadiwzAyERLaKVLI+XiHQ=";
};
vendorHash = "sha256-ZL61b2LAE+GFRtfUBIAoF7O65s7FeQw7cX4Aw2Cfd+k=";
vendorHash = "sha256-+D3JwUpLJ6gZAkTFO0fQAFpl0OCp36HMbWES/+lK+9g=";
nativeBuildInputs = [ makeWrapper ];
+2 -2
View File
@@ -6,7 +6,7 @@
pkg-config,
lua5_1,
json_c,
libubox-wolfssl,
libubox,
ubus,
libxcrypt,
unstableGitUpdater,
@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
lua5_1
json_c
libubox-wolfssl
libubox
ubus
libxcrypt
];
+2 -2
View File
@@ -10,12 +10,12 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "unifi-controller";
version = "10.1.89";
version = "10.2.105";
# see https://community.ui.com/releases / https://www.ui.com/download/unifi
src = fetchurl {
url = "https://dl.ui.com/unifi/${finalAttrs.version}/unifi_sysvinit_all.deb";
hash = "sha256-gtnDr+CBeoOKqIeDwKJixW5W20lje7nzR4DC/D+1S3o=";
hash = "sha256-MBTFxNwrIbx6UKZYCcZ+BjYjSlfdxL60Ogei/ba4O+U=";
};
nativeBuildInputs = [
+5 -3
View File
@@ -27,8 +27,8 @@ buildNpmPackage (finalAttrs: {
--replace-fail "npm run data" "true"
# Patch lerna.json to not use nx
mv lerna.json lerna.old.json
jq '. + {useNx: false}' < lerna.old.json > lerna.json
${jq}/bin/jq '. + {useNx: false}' lerna.json > lerna.json.tmp
mv lerna.json.tmp lerna.json
'';
npmDepsHash = "sha256-mBe1fHnhor7ZR8CuRNs1zD7JzaZXZI5VM7mdAieVKqE=";
@@ -72,6 +72,8 @@ buildNpmPackage (finalAttrs: {
description = "Command line tools for the Vega visualization grammar";
homepage = "https://vega.github.io/vega/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ pyrox0 ];
maintainers = with lib.maintainers; [
philocalyst
];
};
})
-135
View File
@@ -1,135 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
util-linux,
openssl,
cacert,
# The primary --enable-XXX variant. 'all' enables most features, but causes build-errors for some software,
# requiring to build a special variant for that software. Example: 'haproxy'
variant ? "all",
extraConfigureFlags ? [ ],
enableJni ? false,
enableARMCryptoExtensions ?
stdenv.hostPlatform.isAarch64
&& ((builtins.match "^.*\\+crypto.*$" stdenv.hostPlatform.gcc.arch) != null),
enableLto ? !(stdenv.hostPlatform.isStatic || stdenv.cc.isClang),
}:
stdenv.mkDerivation (finalAttrs: {
pname = "wolfssl-${variant}";
version = "5.9.1";
src = fetchFromGitHub {
owner = "wolfSSL";
repo = "wolfssl";
tag = "v${finalAttrs.version}-stable";
hash = "sha256-FyEb94hsO2BaTEi1CJRfCsUiT1xyWCzu7Uys81g2CBE=";
};
postPatch = ''
patchShebangs ./scripts
# ensure test detects musl-based systems too
substituteInPlace scripts/ocsp-stapling2.test \
--replace '"linux-gnu"' '"linux-"'
''
+ lib.optionalString enableJni ''
# Some tests fail when JNI is enabled
sed -i '/TEST_DECL(test_wolfSSL_Tls13_ECH)/d;
/TEST_DECL(test_wolfSSL_Tls13_ECH_HRR)/d;
/TEST_DECL(test_TLSX_CA_NAMES_bad_extension)/d' tests/api.c
sed -i '/quic/d' tests/include.am
sed -i '/WOLFSSL_QUIC/,/#endif/d' tests/unit.c
'';
configureFlags = [
"--enable-${variant}"
"--enable-reproducible-build"
]
++ lib.optionals (variant == "all") [
# Extra feature flags to add while building the 'all' variant.
# Since they conflict while building other variants, only specify them for this one.
"--enable-pkcs11"
"--enable-writedup"
"--enable-base64encode"
]
++ [
# We're not on tiny embedded machines.
# Increase TLS session cache from 33 sessions to 20k.
"--enable-bigcache"
# Use WolfSSL's Single Precision Math with timing-resistant cryptography.
"--enable-sp=yes${
lib.optionalString (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isAarch) ",asm"
}"
"--enable-sp-math-all"
"--enable-harden"
]
++ lib.optionals (stdenv.hostPlatform.isx86_64) [
# Enable AVX/AVX2/AES-NI instructions, gated by runtime detection via CPUID.
"--enable-intelasm"
"--enable-aesni"
]
++ lib.optionals (stdenv.hostPlatform.isAarch64) [
# No runtime detection under ARM and no platform function checks like for X86.
(if enableARMCryptoExtensions then "--enable-armasm=inline" else "--disable-armasm")
]
++ lib.optionals enableJni [
"--enable-jni"
]
++ extraConfigureFlags;
# Breaks tls13 tests on aarch64-darwin.
hardeningDisable = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
"zerocallusedregs"
];
# LTO should help with the C implementations.
env.NIX_CFLAGS_COMPILE = lib.optionalString enableLto "-flto";
env.NIX_LDFLAGS_COMPILE = lib.optionalString enableLto "-flto";
# Don't attempt connections to external services in the test suite.
env.WOLFSSL_EXTERNAL_TEST = "0";
outputs = [
"dev"
"doc"
"lib"
"out"
];
nativeBuildInputs = [
autoreconfHook
util-linux
];
# FAILURES:
# 497: test_wolfSSL_EVP_PBE_scrypt
doCheck = !stdenv.hostPlatform.isLoongArch64;
nativeCheckInputs = [
openssl
cacert
];
postInstall = ''
# fix recursive cycle:
# wolfssl-config points to dev, dev propagates bin
moveToOutput bin/wolfssl-config "$dev"
# moveToOutput also removes "$out" so recreate it
mkdir -p "$out"
'';
meta = {
description = "Small, fast, portable implementation of TLS/SSL for embedded devices";
mainProgram = "wolfssl-config";
homepage = "https://www.wolfssl.com/";
changelog = "https://github.com/wolfSSL/wolfssl/releases/tag/v${finalAttrs.version}-stable";
platforms = lib.platforms.all;
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
fab
vifino
];
};
})
+1 -1
View File
@@ -66,7 +66,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
# Run subset of tests that don't require YubiKey hardware
doCheck = true;
pytestFlagsArray = [
enabledTestPaths = [
"tests"
];
@@ -112,6 +112,9 @@ lib.extendMkDerivation {
"dependencies"
"optional-dependencies"
"build-system"
# Deprecated arguments
"pytestFlagsArray"
];
extendDrvArgs =
@@ -439,6 +442,19 @@ lib.extendMkDerivation {
# Longer-term we should get rid of `checkPhase` and use `installCheckPhase`.
installCheckPhase = attrs.checkPhase;
}
// (
let
deprecatedFlagNotEmpty =
attrs ? pytestFlagsArray && attrs.pytestFlagsArray != null && attrs.pytestFlagsArray != [ ];
pos = builtins.unsafeGetAttrPos "pytestFlagsArray" attrs;
in
{
${if deprecatedFlagNotEmpty then "pytestFlagsArray" else null} = throw ''
buildPythonPackage: Deprecated flag pytestFlagsArray found at ${pos.file}:${toString pos.line}
Use pytestFlags or (enabled|disabled)(TestPaths|Tests|TestMarks) instead.
'';
}
)
//
lib.mapAttrs
(
@@ -6,7 +6,6 @@
pkg-config,
libubox-nossl,
ssl_implementation,
additional_buildInputs ? [ ],
}:
stdenv.mkDerivation {
@@ -35,7 +34,7 @@ stdenv.mkDerivation {
cmake
pkg-config
];
buildInputs = [ ssl_implementation ] ++ additional_buildInputs;
buildInputs = [ ssl_implementation ];
passthru = {
inherit ssl_implementation;
@@ -41,10 +41,9 @@ buildPythonPackage rec {
pythonImportsCheck = [ "connect_box" ];
pytestFlagsArray = [
pytestFlags = [
"--vcr-record=none"
"-W"
"ignore::DeprecationWarning"
"-Wignore::DeprecationWarning"
];
meta = {
@@ -31,7 +31,7 @@ buildPythonPackage rec {
pytestCheckHook
];
pytestFlagsArray = [
enabledTestPaths = [
"tests.py"
];
@@ -552,7 +552,7 @@ buildPythonPackage (finalAttrs: {
writableTmpDirAsHomeHook
];
pytestFlagsArray = [
pytestFlags = [
"--override-ini=addopts="
];
@@ -44,7 +44,7 @@ buildPythonPackage rec {
export DJANGO_SETTINGS_MODULE=settings
'';
pytestFlagsArray = [
enabledTestPaths = [
"testapp/tests.py"
];
@@ -23,14 +23,14 @@
buildPythonPackage (finalAttrs: {
pname = "pylint";
version = "4.0.4";
version = "4.0.5";
pyproject = true;
src = fetchFromGitHub {
owner = "pylint-dev";
repo = "pylint";
tag = "v${finalAttrs.version}";
hash = "sha256-mKI/sRYl2ZwZ3JklmqBTs7vRG9EA4zDHaW61d/Xozb4=";
hash = "sha256-RMoX3RR7T54Bvx0bBSmyuEsezqkxfdE/hIUa4G9exjQ=";
};
build-system = [ setuptools ];
@@ -180,7 +180,7 @@ buildPythonPackage (finalAttrs: {
export NUMBA_CACHE_DIR=$(mktemp -d);
'';
pytestFlagsArray = [
pytestFlags = [
# UserWarning: 'where' used without 'out', expect unitialized memory in output.
# If this is intentional, use out=None.
"-Wignore::UserWarning"
@@ -0,0 +1,68 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
nix-update-script,
android-image-kitchen,
gitpython,
poetry-core,
pyelftools,
requests,
}:
buildPythonPackage (finalAttrs: {
pname = "sebaubuntu-libs";
version = "2.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "sebaubuntu-python";
repo = "sebaubuntu_libs";
tag = "v${finalAttrs.version}";
hash = "sha256-LV7Me+GmgOvDh0XGoLaftCKtP/fnB5xVqb8nArOMIys=";
};
build-system = [
poetry-core
];
dependencies = [
gitpython
pyelftools
requests
];
postPatch = ''
# Patch libaik to use AIK from nixpkgs
substituteInPlace sebaubuntu_libs/libaik/__init__.py \
--replace-fail \
"Repo.clone_from(AIK_REPO, self.path)" "" \
--replace-fail \
"unpackimg.sh" "${lib.getExe' android-image-kitchen "aik-unpackimg"}" \
--replace-fail \
"repack.sh" "${lib.getExe' android-image-kitchen "aik-repackimg"}" \
--replace-fail \
"cleanup.sh" "${lib.getExe' android-image-kitchen "aik-cleanup"}" \
--replace-fail \
'command = [self.path / script, "--nosudo", *args]' \
'command = [script, "--nosudo", *args]' \
--replace-fail \
'return check_output(command, stderr=STDOUT, universal_newlines=True, encoding="utf-8")' \
'return check_output(command, stderr=STDOUT, universal_newlines=True, encoding="utf-8",
cwd=self.path)'
'';
# Module has no tests
doCheck = false;
pythonImportsCheck = [ "sebaubuntu_libs" ];
passthru.updateScript = nix-update-script { };
meta = {
description = "SebaUbuntu's shared libs";
homepage = "https://github.com/sebaubuntu-python/sebaubuntu_libs";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ungeskriptet ];
};
})
@@ -66,7 +66,7 @@ buildPythonPackage (finalAttrs: {
statsmodels
];
pytestFlagsArray = [
enabledTestPaths = [
# Only run the main test suite; subpackage tests require
# sklearn-pandas which is not available in nixpkgs
"sklearn2pmml/tests"
@@ -127,7 +127,7 @@ buildPythonPackage (finalAttrs: {
EOF
'';
pytestFlagsArray = [
enabledTestPaths = [
"e2e/python/tests"
"tests/test_apps/python/smoke_test.py"
];
@@ -2246,10 +2246,10 @@
};
rescript = {
version = "5.0.0-unstable-2025-03-03";
version = "6.0.0-unstable-2026-04-26";
url = "github:rescript-lang/tree-sitter-rescript";
rev = "d2df8a285fff95de56a91d2f8152aeceb66f40ef";
hash = "sha256-yNZrihl4BNvLu0Zqr4lSqvdZCeXU3KnCY7ZYC1U42R0=";
rev = "5b90cd4e4138b1231a67977303bda47eb608480a";
hash = "sha256-f5/z566/Ez8+jzQSXoWkEK3LJGYjWupQw+BFPDyOxsE=";
meta = {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
@@ -24,6 +24,7 @@
nix-fast-build,
haskell,
nix-serve-ng,
nixos-rebuild-ng,
colmena,
nix-update,
nix-init,
@@ -148,6 +149,10 @@ let
}))
];
nixos-rebuild-ng = nixos-rebuild-ng.override {
nix = self.lix;
};
colmena = colmena.override {
nix = self.lix;
inherit (self) nix-eval-jobs;
+3
View File
@@ -1128,6 +1128,7 @@ mapAliases {
libtorrent = throw "'libtorrent' has been renamed to 'libtorrent-rakshasa' for clearer distinction from 'libtorrent-rasterbar'"; # Added 2025-09-10
libtransmission = throw "libtransmission_3 has been removed in favour of libtransmission_4. Note that upgrade caused data loss for some users so backup is recommended (see NixOS 24.11 release notes for details)"; # Converted to throw 2025-10-26
libtransmission_3 = throw "libtransmission_3 has been removed in favour of libtransmission_4. Note that upgrade caused data loss for some users so backup is recommended (see NixOS 24.11 release notes for details)"; # Converted to throw 2025-10-26
libubox-wolfssl = throw "'libubox-wolfssl' has been removed, use 'libubox' or 'libubox-mbedtls'"; # Added 2026-03-29
libuinputplus = throw "'libuinputplus' has been removed, as it was unmaintained upstream since 2021, no longer builds, and is no longer used by anything"; # Added 2025-11-02
libviper = throw "'libviper' was removed as it is broken and not maintained upstream"; # Added 2025-05-17
libWindowsWM = libwindowswm; # Added 2026-01-19
@@ -2077,6 +2078,7 @@ mapAliases {
unixODBCDrivers = warnAlias "'unixODBCDrivers' has been renamed to 'unixodbcDrivers'" unixodbcDrivers; # Added 2026-02-12
unrar_6 = throw "'unrar_6' has been renamed to/replaced by 'unrar'"; # Added 2026-03-11
unzoo = throw "'unzoo' has been removed since it is unmaintained upstream and doesn't compile with newer versions of GCC anymore"; # Removed 2025-05-24
ustream-ssl-wolfssl = throw "'ustream-ssl-wolfssl' has been removed, use 'ustream-ssl' or 'ustream-ssl-mbedtls'"; # Added 2026-03-29
usync = throw "'usync' has been removed as it is unused and unmaintained upstream"; # Added 2025-12-18
util-linuxCurses = throw "'util-linuxCurses' has been renamed to/replaced by 'util-linux'"; # Converted to throw 2025-10-27
utillinux = warnAlias "'utillinux' has been renamed to/replaced by 'util-linux'" util-linux; # Converted to warning 2025-10-28
@@ -2158,6 +2160,7 @@ mapAliases {
wlroots_0_17 = throw "'wlroots_0_17' has been removed in favor of newer versions"; # Added 2026-03-07
wlx-overlay-s = throw "'wlx-overlay-s' and 'wayvr-dashboard' have been merged into a single application. Please switch to 'wayvr'"; # Added 2026-01-09
wmii_hg = throw "'wmii_hg' has been renamed to/replaced by 'wmii'"; # Converted to throw 2025-10-27
wolfssl = throw "'wolfssl' has been removed because it has an unclear licensing situation and no remaining users in Nixpkgs"; # Added 2026-04-03
woof = throw "'woof' has been removed as it is broken and unmaintained upstream"; # Added 2025-09-04
worldengine-cli = throw "'worldengine-cli' has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-04
wpa_supplicant_ro_ssids = throw "'wpa_supplicant_ro_ssids' has been renamed to/replaced by 'wpa_supplicant'"; # Converted to throw 2025-10-27
-10
View File
@@ -6119,11 +6119,6 @@ with pkgs;
ustream-ssl = callPackage ../development/libraries/ustream-ssl { ssl_implementation = openssl; };
ustream-ssl-wolfssl = callPackage ../development/libraries/ustream-ssl {
ssl_implementation = wolfssl;
additional_buildInputs = [ openssl ];
};
ustream-ssl-mbedtls = callPackage ../development/libraries/ustream-ssl {
ssl_implementation = mbedtls_2;
};
@@ -6737,11 +6732,6 @@ with pkgs;
libubox = callPackage ../development/libraries/libubox { with_ustream_ssl = true; };
libubox-wolfssl = callPackage ../development/libraries/libubox {
with_ustream_ssl = true;
ustream-ssl = ustream-ssl-wolfssl;
};
libubox-mbedtls = callPackage ../development/libraries/libubox {
with_ustream_ssl = true;
ustream-ssl = ustream-ssl-mbedtls;
+2
View File
@@ -17466,6 +17466,8 @@ self: super: with self; {
seatconnect = callPackage ../development/python-modules/seatconnect { };
sebaubuntu-libs = callPackage ../development/python-modules/sebaubuntu-libs { };
seccomp = callPackage ../development/python-modules/seccomp { };
secp256k1 = callPackage ../development/python-modules/secp256k1 { inherit (pkgs) secp256k1; };