mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-15 05:59:17 +03:00
Merge staging-next into staging
This commit is contained in:
commit
31c37acde9
5 changed files with 103 additions and 31 deletions
|
@ -306,35 +306,29 @@ in
|
||||||
As a result, directories with no `.nix` files (including empty
|
As a result, directories with no `.nix` files (including empty
|
||||||
directories) will be transformed into empty attribute sets.
|
directories) will be transformed into empty attribute sets.
|
||||||
|
|
||||||
# Inputs
|
|
||||||
|
|
||||||
Structured function argument
|
|
||||||
|
|
||||||
: Attribute set containing the following attributes.
|
|
||||||
Additional attributes are ignored.
|
|
||||||
|
|
||||||
`callPackage`
|
|
||||||
|
|
||||||
: `pkgs.callPackage`
|
|
||||||
|
|
||||||
Type: `Path -> AttrSet -> a`
|
|
||||||
|
|
||||||
`directory`
|
|
||||||
|
|
||||||
: The directory to read package files from
|
|
||||||
|
|
||||||
Type: `Path`
|
|
||||||
|
|
||||||
|
|
||||||
# Type
|
# Type
|
||||||
|
|
||||||
```
|
```
|
||||||
packagesFromDirectoryRecursive :: AttrSet -> AttrSet
|
packagesFromDirectoryRecursive :: {
|
||||||
|
callPackage :: Path -> {} -> a,
|
||||||
|
directory :: Path,
|
||||||
|
...
|
||||||
|
} -> AttrSet
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# Inputs
|
||||||
|
|
||||||
|
`callPackage`
|
||||||
|
: The function used to convert a Nix file's path into a leaf of the attribute set.
|
||||||
|
It is typically the `callPackage` function, taken from either `pkgs` or a new scope corresponding to the `directory`.
|
||||||
|
|
||||||
|
`directory`
|
||||||
|
: The directory to read package files from.
|
||||||
|
|
||||||
|
|
||||||
# Examples
|
# Examples
|
||||||
:::{.example}
|
:::{.example}
|
||||||
## `lib.filesystem.packagesFromDirectoryRecursive` usage example
|
## Basic use of `lib.packagesFromDirectoryRecursive`
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
packagesFromDirectoryRecursive {
|
packagesFromDirectoryRecursive {
|
||||||
|
@ -342,17 +336,48 @@ in
|
||||||
directory = ./my-packages;
|
directory = ./my-packages;
|
||||||
}
|
}
|
||||||
=> { ... }
|
=> { ... }
|
||||||
|
```
|
||||||
|
|
||||||
|
In this case, `callPackage` will only search `pkgs` for a file's input parameters.
|
||||||
|
In other words, a file cannot refer to another file in the directory in its input parameters.
|
||||||
|
:::
|
||||||
|
|
||||||
|
::::{.example}
|
||||||
|
## Create a scope for the nix files found in a directory
|
||||||
|
```nix
|
||||||
lib.makeScope pkgs.newScope (
|
lib.makeScope pkgs.newScope (
|
||||||
self: packagesFromDirectoryRecursive {
|
self: packagesFromDirectoryRecursive {
|
||||||
callPackage = self.callPackage;
|
inherit (self) callPackage;
|
||||||
directory = ./my-packages;
|
directory = ./my-packages;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
=> { ... }
|
=> { ... }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
For example, take the following directory structure:
|
||||||
|
```
|
||||||
|
my-packages
|
||||||
|
├── a.nix → { b }: assert b ? b1; ...
|
||||||
|
└── b
|
||||||
|
├── b1.nix → { a }: ...
|
||||||
|
└── b2.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
Here, `b1.nix` can specify `{ a }` as a parameter, which `callPackage` will resolve as expected.
|
||||||
|
Likewise, `a.nix` receive an attrset corresponding to the contents of the `b` directory.
|
||||||
|
|
||||||
|
:::{.note}
|
||||||
|
`a.nix` cannot directly take as inputs packages defined in a child directory, such as `b1`.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
:::{.warning}
|
||||||
|
As of now, `lib.packagesFromDirectoryRecursive` cannot create nested scopes for sub-directories.
|
||||||
|
|
||||||
|
In particular, files under `b/` can only require (as inputs) other files under `my-packages`,
|
||||||
|
but not to those in the same directory, nor those in a parent directory; e.g, `b2.nix` cannot directly
|
||||||
|
require `b1`.
|
||||||
|
:::
|
||||||
|
::::
|
||||||
*/
|
*/
|
||||||
packagesFromDirectoryRecursive =
|
packagesFromDirectoryRecursive =
|
||||||
{
|
{
|
||||||
|
|
40
pkgs/applications/video/mpv/scripts/modernz.nix
Normal file
40
pkgs/applications/video/mpv/scripts/modernz.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildLua,
|
||||||
|
fetchFromGitHub,
|
||||||
|
makeFontsConf,
|
||||||
|
nix-update-script,
|
||||||
|
}:
|
||||||
|
buildLua (finalAttrs: {
|
||||||
|
pname = "modernx";
|
||||||
|
version = "0.2.1";
|
||||||
|
|
||||||
|
scriptPath = "modernz.lua";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Samillion";
|
||||||
|
repo = "ModernZ";
|
||||||
|
rev = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-Zk7AC8p14ejsIXwDXladOlQ6jm4NUiU4PxPi5ssBVx8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
install -Dt $out/share/fonts *.ttf
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.extraWrapperArgs = [
|
||||||
|
"--set"
|
||||||
|
"FONTCONFIG_FILE"
|
||||||
|
(toString (makeFontsConf {
|
||||||
|
fontDirectories = [ "${finalAttrs.finalPackage}/share/fonts" ];
|
||||||
|
}))
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script { };
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Sleek and modern OSC for mpv designed to enhance functionality by adding more features, all while preserving the core standards of mpv's OSC";
|
||||||
|
homepage = "https://github.com/Samillion/ModernZ";
|
||||||
|
license = lib.licenses.lgpl21Plus;
|
||||||
|
maintainers = with lib.maintainers; [ Guanran928 ];
|
||||||
|
};
|
||||||
|
})
|
|
@ -11,14 +11,14 @@
|
||||||
# all get the same sources with the same patches applied.
|
# all get the same sources with the same patches applied.
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "10.5.rc0";
|
version = "10.5";
|
||||||
pname = "sage-src";
|
pname = "sage-src";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sagemath";
|
owner = "sagemath";
|
||||||
repo = "sage";
|
repo = "sage";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-qjgEgyPOpT/g7D8YNhkqO1EHGNftZnuR5ucLNZBa9Sg=";
|
hash = "sha256-OiGMc3KyHWnjVWXJ/KiqEQS1skM9nPLYcoMK9kw4718=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# contains essential files (e.g., setup.cfg) generated by the bootstrap script.
|
# contains essential files (e.g., setup.cfg) generated by the bootstrap script.
|
||||||
|
@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
|
||||||
configure-src = fetchurl {
|
configure-src = fetchurl {
|
||||||
# the hash below is the tagged commit's _parent_. it can also be found by looking for
|
# the hash below is the tagged commit's _parent_. it can also be found by looking for
|
||||||
# the "configure" asset at https://github.com/sagemath/sage/releases/tag/${version}
|
# the "configure" asset at https://github.com/sagemath/sage/releases/tag/${version}
|
||||||
url = "mirror://sageupstream/configure/configure-d9c38a7c581e6ed54fbe420122b8bba488b16074.tar.gz";
|
url = "mirror://sageupstream/configure/configure-f6ad0ecf1f4a269f5954d5487336b13f70624594.tar.gz";
|
||||||
hash = "sha256-y1EpsuYK9wloptjeiTew+TZaIUZ2K/NKCbSteojFa4s=";
|
hash = "sha256-VANtZDUhjOHap9XVEuG/1003E+1XRdXEnuH15hIqJd4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Patches needed because of particularities of nix or the way this is packaged.
|
# Patches needed because of particularities of nix or the way this is packaged.
|
||||||
|
@ -57,6 +57,13 @@ stdenv.mkDerivation rec {
|
||||||
# compile libs/gap/element.pyx with -O1
|
# compile libs/gap/element.pyx with -O1
|
||||||
# a more conservative version of https://github.com/sagemath/sage/pull/37951
|
# a more conservative version of https://github.com/sagemath/sage/pull/37951
|
||||||
./patches/gap-element-crash.patch
|
./patches/gap-element-crash.patch
|
||||||
|
|
||||||
|
# https://github.com/sagemath/sage/pull/38940, positively reviewed, to land in 10.6.beta0
|
||||||
|
(fetchpatch {
|
||||||
|
name = "simplicial-sets-flaky-test.patch";
|
||||||
|
url = "https://github.com/sagemath/sage/commit/1830861c5130d30b891e8c643308e1ceb91ce2b5.diff";
|
||||||
|
hash = "sha256-6MbZ+eJPFBEtnJsJX0MgO2AykPXSeuya0W0adiIH+KE=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
# Patches needed because of package updates. We could just pin the versions of
|
# Patches needed because of package updates. We could just pin the versions of
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
, libxml2, gnutls, sane-backends }:
|
, libxml2, gnutls, sane-backends }:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "sane-airscan";
|
pname = "sane-airscan";
|
||||||
version = "0.99.29";
|
version = "0.99.30";
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkg-config ];
|
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||||
buildInputs = [ avahi gnutls libjpeg libpng libxml2 libtiff sane-backends ];
|
buildInputs = [ avahi gnutls libjpeg libpng libxml2 libtiff sane-backends ];
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||||
owner = "alexpevzner";
|
owner = "alexpevzner";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-9ErTC9NztyO9o6y2FjQPl2lu1gICasZYm2tnaCVCLt8=";
|
sha256 = "sha256-JNgKZZuNRB02c+nOjtFj8L5wDY8ErZcv00nYweYULaM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -12,12 +12,12 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pulsectl";
|
pname = "pulsectl";
|
||||||
version = "24.8.0";
|
version = "24.11.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-sFFQbQ1z08xDV879PeF7uFnX7PAE6ZSw98+oeFG8cVY=";
|
hash = "sha256-C6MnRdPxmNVlevGffuPrAHr1qGowbsPNRa9C52eCDQ0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue