Merge master into staging-next

Changed files
+154 -199
.github
pkgs
by-name
au
autobrr
ge
geant4
pe
petsc
sl
slepc
development
python-modules
msmart-ng
servers
home-assistant
custom-components
midea_ac
-108
.github/ISSUE_TEMPLATE/05_package_request.yml
···
-
name: "Request: new package"
-
description: "Create a package request for software that is not yet included in Nixpkgs."
-
title: "Package request: PACKAGENAME"
-
labels: ["0.kind: enhancement", "0.kind: packaging request", "9.needs: package (new)"]
-
body:
-
- type: "markdown"
-
attributes:
-
value: |
-
<p align="center">
-
<a href="https://nixos.org">
-
<picture>
-
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-homepage/main/public/logo/nixos-hires.png">
-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos-white.png">
-
<img src="https://raw.githubusercontent.com/NixOS/nixos-homepage/main/public/logo/nixos-hires.png" width="400px" alt="NixOS logo">
-
</picture>
-
</a>
-
</p>
-
-
Welcome to Nixpkgs. Please replace the **`Package request: PACKAGENAME`** template above with the correct package name (As seen in the [NixOS Package Search](https://search.nixos.org/packages)).
-
-
> [!TIP]
-
> For instance, if you were filing a request against the missing `hello` package, your title would be as follows:
-
> `Package request: hello`
-
-
---
-
- type: "textarea"
-
id: "description"
-
attributes:
-
label: "Describe the package"
-
description: "Please include a clear and concise description of what the package is."
-
validations:
-
required: true
-
- type: "input"
-
id: "homepage"
-
attributes:
-
label: "Upstream homepage"
-
description: "Please copy and paste a link to the package's homepage."
-
validations:
-
required: true
-
- type: "input"
-
id: "source"
-
attributes:
-
label: "Source URL"
-
description: "Please copy and paste a link to the package's source code or binary download page."
-
validations:
-
required: true
-
- type: "input"
-
id: "license"
-
attributes:
-
label: "License"
-
description: "Please indicate the package's license. If the package has no license, or the source code is not public, please indicate the package is `unfree`."
-
validations:
-
required: true
-
- type: "dropdown"
-
id: "platforms"
-
attributes:
-
label: "Platforms"
-
description: "Please indicate the platforms this package compiles for. `darwin` refers to macOS. `Exotic` refers to uncommon platforms like RISC-V or 32-bit ARM; please mention in the 'Additional Context' section below if this package is supposed to compile for such exotic platforms."
-
multiple: true
-
options:
-
- "x86_64-linux"
-
- "aarch64-linux"
-
- "x86_64-darwin"
-
- "aarch64-darwin"
-
- "Exotic"
-
- type: "textarea"
-
id: "additional-context"
-
attributes:
-
label: "Additional context"
-
description: "Add any other context about the proposed module here."
-
validations:
-
required: false
-
- type: "checkboxes"
-
id: "sanity-check"
-
attributes:
-
label: "I assert that this issue is relevant for Nixpkgs"
-
options:
-
- label: "I assert that this package does not yet exist in an [open pull request](https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+package+%28new%29%22) or in [Nixpkgs Unstable](https://search.nixos.org/packages?channel=unstable)."
-
required: true
-
- label: "I assert that this is not a [duplicate of any known issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%220.kind%3A+packaging+request%22)."
-
required: true
-
- label: "I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it."
-
required: true
-
- type: "markdown"
-
attributes:
-
value: |
-
# Thank you for helping improve Nixpkgs!
-
-
---
-
- type: "textarea"
-
id: "prioritisation"
-
attributes:
-
label: "For this package's maintainers:"
-
description: |
-
**Please do not modify this text area!**
-
-
This template helps Nixpkgs developers know which issues should be prioritised by allowing users to vote with a :+1: reaction and also reminds them to tag this issue in their pull requests.
-
This is not a guarantee that highly-requested issues will be fixed first, but it helps us to figure out what's important to users. Please react on other users' issues if you find them important.
-
value: |
-
-
Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)
-
-
---
-
-
Add a :+1: [reaction] to [issues you find important].
-
-
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
-
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
.github/ISSUE_TEMPLATE/06_update_request.yml .github/ISSUE_TEMPLATE/05_update_request.yml
.github/ISSUE_TEMPLATE/07_module_request.yml .github/ISSUE_TEMPLATE/06_module_request.yml
.github/ISSUE_TEMPLATE/08_backport_request.yml .github/ISSUE_TEMPLATE/07_backport_request.yml
.github/ISSUE_TEMPLATE/09_documentation_request.yml .github/ISSUE_TEMPLATE/08_documentation_request.yml
.github/ISSUE_TEMPLATE/10_unreproducible_package.yml .github/ISSUE_TEMPLATE/09_unreproducible_package.yml
+2 -2
pkgs/by-name/au/autobrr/package.nix
···
let
pname = "autobrr";
-
version = "1.59.0";
+
version = "1.60.0";
src = fetchFromGitHub {
owner = "autobrr";
repo = "autobrr";
tag = "v${version}";
-
hash = "sha256-etVhOgE8H8bWuraBepwDSZZzo9Xl819w2sT+UwpUVjM=";
+
hash = "sha256-HaNaVxOtlzquKvWmUzUELtv0ZQZ+C/G5ni9/QbOlAh4=";
};
autobrr-web = stdenvNoCC.mkDerivation {
+2 -2
pkgs/by-name/ge/geant4/package.nix
···
in
stdenv.mkDerivation rec {
-
version = "11.3.0";
+
version = "11.3.1";
pname = "geant4";
src = fetchurl {
url = "https://cern.ch/geant4-data/releases/geant4-v${version}.tar.gz";
-
hash = "sha256-HaQxiz+W+H9NR1WKMtqyabjz/JVnCAOMKOcqGAsO+6Y=";
+
hash = "sha256-yTyplvbzWqQ/lI/8q6lgNGjfAd7rYvYcM7p2kifDGf4=";
};
# Fix broken paths in a .pc
+132 -75
pkgs/by-name/pe/petsc/package.nix
···
{
lib,
+
newScope,
stdenv,
fetchzip,
+
replaceVars,
+
bash,
+
pkg-config,
gfortran,
-
replaceVars,
-
python3,
-
python3Packages,
-
blas,
-
lapack,
-
zlib, # propagated by p4est but required by petsc
+
bison,
mpi, # generic mpi dependency
mpiCheckPhaseHook,
-
bash,
+
python3,
+
python3Packages,
# Build options
-
petsc-optimized ? true,
-
petsc-scalar-type ? "real",
-
petsc-precision ? "double",
+
debug ? false,
+
scalarType ? "real",
+
precision ? "double",
mpiSupport ? true,
+
fortranSupport ? true,
pythonSupport ? false, # petsc python binding
withExamples ? false,
withFullDeps ? false, # full External libraries support
···
# External libraries options
withHdf5 ? withCommonDeps,
withMetis ? withCommonDeps,
-
withScalapack ? withFullDeps,
+
withZlib ? (withP4est || withPtscotch),
+
withScalapack ? withCommonDeps && mpiSupport,
withParmetis ? withFullDeps, # parmetis is unfree
-
withPtscotch ? withFullDeps,
-
withMumps ? withFullDeps,
+
withPtscotch ? withCommonDeps && mpiSupport,
+
withMumps ? withCommonDeps,
withP4est ? withFullDeps,
+
withHypre ? withCommonDeps && mpiSupport,
+
withFftw ? withCommonDeps,
+
withSuperLu ? withCommonDeps,
+
withSuitesparse ? withCommonDeps,
# External libraries
-
hdf5-fortran-mpi,
+
blas,
+
lapack,
+
hdf5,
metis,
parmetis,
scotch,
scalapack,
-
mumps_par,
-
pkg-config,
+
mumps,
p4est,
+
zlib, # propagated by p4est but required by petsc
+
hypre,
+
fftw,
+
superlu,
+
suitesparse,
+
+
# Used in passthru.tests
+
petsc,
}:
assert withFullDeps -> withCommonDeps;
# This version of PETSc does not support a non-MPI p4est build
-
assert withP4est -> (p4est.mpiSupport && mpiSupport);
+
assert withP4est -> (mpiSupport && withZlib);
# Package parmetis depend on metis and mpi support
assert withParmetis -> (withMetis && mpiSupport);
-
assert withPtscotch -> mpiSupport;
+
assert withPtscotch -> (mpiSupport && withZlib);
assert withScalapack -> mpiSupport;
-
assert withMumps -> withScalapack;
+
assert (withMumps && mpiSupport) -> withScalapack;
+
assert withHypre -> mpiSupport;
-
stdenv.mkDerivation rec {
+
let
+
petscPackages = lib.makeScope newScope (self: {
+
inherit
+
# global override options
+
mpiSupport
+
fortranSupport
+
pythonSupport
+
precision
+
;
+
enableMpi = self.mpiSupport;
+
+
petscPackages = self;
+
# external libraries
+
mpi = self.callPackage mpi.override { };
+
blas = self.callPackage blas.override { };
+
lapack = self.callPackage lapack.override { };
+
hdf5 = self.callPackage hdf5.override {
+
fortran = gfortran;
+
cppSupport = !mpiSupport;
+
};
+
metis = self.callPackage metis.override { };
+
parmetis = self.callPackage parmetis.override { };
+
scotch = self.callPackage scotch.override { };
+
scalapack = self.callPackage scalapack.override { };
+
mumps = self.callPackage mumps.override { };
+
p4est = self.callPackage p4est.override { };
+
hypre = self.callPackage hypre.override { };
+
fftw = self.callPackage fftw.override { };
+
superlu = self.callPackage superlu.override { };
+
suitesparse = self.callPackage suitesparse.override { };
+
});
+
in
+
stdenv.mkDerivation (finalAttrs: {
pname = "petsc";
-
version = "3.22.4";
+
version = "3.23.0";
src = fetchzip {
-
url = "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-${version}.tar.gz";
-
hash = "sha256-8WV1ylXytkhiNa7YpWSOIpSvzLCCjdVVe5SiGfhicas=";
+
url = "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-${finalAttrs.version}.tar.gz";
+
hash = "sha256-OcI4iyDOR0YTVV+JoOhbfutoW00EmfapNaMnD/JJFsI=";
};
strictDeps = true;
···
python3
gfortran
pkg-config
+
bison
]
++ lib.optional mpiSupport mpi
++ lib.optionals pythonSupport [
···
buildInputs =
[
-
blas
-
lapack
+
petscPackages.blas
+
petscPackages.lapack
]
-
++ lib.optional withHdf5 hdf5-fortran-mpi
-
++ lib.optional withP4est p4est
-
++ lib.optional withMetis metis
-
++ lib.optional withParmetis parmetis
-
++ lib.optional withPtscotch scotch
-
++ lib.optional withScalapack scalapack
-
++ lib.optional withMumps mumps_par;
+
++ lib.optional withZlib zlib
+
++ lib.optional withHdf5 petscPackages.hdf5
+
++ lib.optional withP4est petscPackages.p4est
+
++ lib.optional withMetis petscPackages.metis
+
++ lib.optional withParmetis petscPackages.parmetis
+
++ lib.optional withPtscotch petscPackages.scotch
+
++ lib.optional withScalapack petscPackages.scalapack
+
++ lib.optional withMumps petscPackages.mumps
+
++ lib.optional withHypre petscPackages.hypre
+
++ lib.optional withSuperLu petscPackages.superlu
+
++ lib.optional withFftw petscPackages.fftw
+
++ lib.optional withSuitesparse petscPackages.suitesparse;
propagatedBuildInputs = lib.optional pythonSupport python3Packages.numpy;
···
[
"--with-blas=1"
"--with-lapack=1"
-
"--with-scalar-type=${petsc-scalar-type}"
-
"--with-precision=${petsc-precision}"
+
"--with-scalar-type=${scalarType}"
+
"--with-precision=${precision}"
"--with-mpi=${if mpiSupport then "1" else "0"}"
]
-
++ lib.optional pythonSupport "--with-petsc4py=1"
++ lib.optionals mpiSupport [
"--CC=mpicc"
"--with-cxx=mpicxx"
"--with-fc=mpif90"
]
-
++ lib.optionals withMetis [
-
"--with-metis=1"
-
"--with-metis-dir=${metis}"
-
]
-
++ lib.optionals withParmetis [
-
"--with-parmetis=1"
-
"--with-parmetis-dir=${parmetis}"
-
]
-
++ lib.optionals withPtscotch [
-
"--with-ptscotch=1"
-
"--with-ptscotch-include=${lib.getDev scotch}/include"
-
"--with-ptscotch-lib=[-L${lib.getLib scotch}/lib,-lptscotch,-lptesmumps,-lptscotchparmetisv3,-lptscotcherr,-lesmumps,-lscotch,-lscotcherr]"
-
]
-
++ lib.optionals withScalapack [
-
"--with-scalapack=1"
-
"--with-scalapack-dir=${scalapack}"
-
]
-
++ lib.optionals withMumps [
-
"--with-mumps=1"
-
"--with-mumps-dir=${mumps_par}"
-
]
-
++ lib.optionals withP4est [
-
"--with-p4est=1"
-
"--with-zlib-include=${lib.getDev zlib}/include"
-
"--with-zlib-lib=[-L${lib.getLib zlib}/lib,-lz]"
-
]
-
++ lib.optionals withHdf5 [
-
"--with-hdf5=1"
-
"--with-hdf5-fortran-bindings=1"
-
"--with-hdf5-include=${lib.getDev hdf5-fortran-mpi}/include"
-
"--with-hdf5-lib=[-L${lib.getLib hdf5-fortran-mpi}/lib,-lhdf5]"
-
]
-
++ lib.optionals petsc-optimized [
+
++ lib.optionals (!debug) [
"--with-debugging=0"
"COPTFLAGS=-O3"
"FOPTFLAGS=-O3"
"CXXOPTFLAGS=-O3"
"CXXFLAGS=-O3"
-
];
+
]
+
++ lib.optional (!fortranSupport) "--with-fortran-bindings=0"
+
++ lib.optional pythonSupport "--with-petsc4py=1"
+
++ lib.optional withMetis "--with-metis=1"
+
++ lib.optional withParmetis "--with-parmetis=1"
+
++ lib.optional withPtscotch "--with-ptscotch=1"
+
++ lib.optional withScalapack "--with-scalapack=1"
+
++ lib.optional withMumps "--with-mumps=1"
+
++ lib.optional (withMumps && !mpiSupport) "--with-mumps-serial=1"
+
++ lib.optional withP4est "--with-p4est=1"
+
++ lib.optional withZlib "--with-zlib=1"
+
++ lib.optional withHdf5 "--with-hdf5=1"
+
++ lib.optional withHypre "--with-hypre=1"
+
++ lib.optional withSuperLu "--with-superlu=1"
+
++ lib.optional withFftw "--with-fftw=1"
+
++ lib.optional withSuitesparse "--with-suitesparse=1";
-
hardeningDisable = lib.optionals (!petsc-optimized) [
+
hardeningDisable = lib.optionals debug [
"fortify"
"fortify3"
];
···
pythonImportsCheck = [ "petsc4py" ];
passthru = {
-
inherit mpiSupport pythonSupport;
+
inherit
+
mpiSupport
+
pythonSupport
+
fortranSupport
+
;
+
petscPackages = petscPackages.overrideScope (
+
final: prev: {
+
petsc = finalAttrs.finalPackage;
+
}
+
);
+
tests =
+
{
+
serial = petsc.override {
+
mpiSupport = false;
+
};
+
}
+
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
+
fullDeps = petsc.override {
+
withFullDeps = true;
+
withParmetis = false;
+
};
+
};
};
setupHook = ./setup-hook.sh;
-
meta = with lib; {
+
meta = {
description = "Portable Extensible Toolkit for Scientific computation";
homepage = "https://petsc.org/release/";
-
license = licenses.bsd2;
+
license = lib.licenses.bsd2;
platforms = lib.platforms.unix;
-
maintainers = with maintainers; [
+
maintainers = with lib.maintainers; [
cburstedde
qbisi
];
};
-
}
+
})
+2 -8
pkgs/by-name/sl/slepc/package.nix
···
lib,
stdenv,
fetchFromGitLab,
-
sowing,
python3,
python3Packages,
arpack-mpi,
···
assert pythonSupport -> petsc.pythonSupport;
stdenv.mkDerivation (finalAttrs: {
pname = "slepc";
-
version = "3.22.2";
+
version = "3.23.0";
src = fetchFromGitLab {
owner = "slepc";
repo = "slepc";
tag = "v${finalAttrs.version}";
-
hash = "sha256-a5DmsA7NAlhrEaS43TYPk7vtDfhXLEP+5sftu2A9Yt4=";
+
hash = "sha256-Z9CVZQ/Ezb1S2EkTb9amAPxaN4tiUnKrbvQIc3BnVuU=";
};
postPatch = ''
···
"slepc.prefixdir,'${python3.sitePackages}'"
patchShebangs lib/slepc/bin
-
-
# Use system bfort
-
substituteInPlace config/packages/sowing.py \
-
--replace-fail "bfort = os.path.join(archdir,'bin','bfort')" \
-
"bfort = '${sowing}/bin/bfort'"
'';
# Usually this project is being built as part of a `petsc` build or as part of
+14 -2
pkgs/development/python-modules/msmart-ng/default.nix
···
lib,
buildPythonPackage,
fetchFromGitHub,
+
fetchpatch2,
# build-system
setuptools,
···
buildPythonPackage rec {
pname = "msmart-ng";
-
version = "2025.3.1";
+
version = "2025.3.3";
pyproject = true;
src = fetchFromGitHub {
owner = "mill1000";
repo = "midea-msmart";
tag = version;
-
hash = "sha256-hTYqRJn/ixseHHezfTOG0UzdQmnpn4hACijYOMtwtT8=";
+
hash = "sha256-M8Gl6QXj0tRN7VFDhop47vINk8MeWSyCJ9bboo3j8Go=";
};
+
+
patches = [
+
(fetchpatch2 {
+
# Revert <https://github.com/mill1000/midea-msmart/pull/209> until setuptools
+
# implements support for <https://peps.python.org/pep-0639/>.
+
name = "revert-pyproject-license-declaration-pep639-syntax.patch";
+
url = "https://github.com/mill1000/midea-msmart/commit/e5d6a982135e497c251095e421d3de4686f36056.patch?full_index=1";
+
hash = "sha256-+mxmFGZd04MZY2C5eo4k1lFoXsM8XyeJNazShnjAseE=";
+
revert = true;
+
})
+
];
build-system = [
setuptools
+2 -2
pkgs/servers/home-assistant/custom-components/midea_ac/package.nix
···
buildHomeAssistantComponent rec {
owner = "mill1000";
domain = "midea_ac";
-
version = "2025.3.0";
+
version = "2025.3.1";
src = fetchFromGitHub {
owner = "mill1000";
repo = "midea-ac-py";
tag = version;
-
hash = "sha256-UJS9z+t+Tb/w7yRHKXJ6HoQ4uS1guM8PYl0OcLz4EJM=";
+
hash = "sha256-oO+t0my72PwWWUAzr8blA3Q8uJyICZNcfoOHsLFL3MQ=";
};
dependencies = [ msmart-ng ];