Merge master into staging-next
This commit is contained in:
@@ -1,108 +0,0 @@
|
||||
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
|
||||
@@ -13,12 +13,12 @@
|
||||
|
||||
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 {
|
||||
|
||||
@@ -38,12 +38,12 @@ let
|
||||
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
|
||||
|
||||
@@ -1,23 +1,24 @@
|
||||
{
|
||||
lib,
|
||||
newScope,
|
||||
stdenv,
|
||||
fetchzip,
|
||||
gfortran,
|
||||
replaceVars,
|
||||
python3,
|
||||
python3Packages,
|
||||
blas,
|
||||
lapack,
|
||||
zlib, # propagated by p4est but required by petsc
|
||||
bash,
|
||||
pkg-config,
|
||||
gfortran,
|
||||
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
|
||||
@@ -26,41 +27,88 @@
|
||||
# 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;
|
||||
@@ -70,6 +118,7 @@ stdenv.mkDerivation rec {
|
||||
python3
|
||||
gfortran
|
||||
pkg-config
|
||||
bison
|
||||
]
|
||||
++ lib.optional mpiSupport mpi
|
||||
++ lib.optionals pythonSupport [
|
||||
@@ -79,16 +128,21 @@ stdenv.mkDerivation rec {
|
||||
|
||||
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;
|
||||
|
||||
@@ -109,57 +163,39 @@ stdenv.mkDerivation rec {
|
||||
[
|
||||
"--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"
|
||||
];
|
||||
@@ -198,19 +234,40 @@ stdenv.mkDerivation rec {
|
||||
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,7 +2,6 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
sowing,
|
||||
python3,
|
||||
python3Packages,
|
||||
arpack-mpi,
|
||||
@@ -17,13 +16,13 @@ assert petsc.mpiSupport;
|
||||
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 = ''
|
||||
@@ -33,11 +32,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"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
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
|
||||
# build-system
|
||||
setuptools,
|
||||
@@ -17,16 +18,27 @@
|
||||
|
||||
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
|
||||
setuptools-scm
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
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 ];
|
||||
|
||||
Reference in New Issue
Block a user