Skip to content

Commit

Permalink
Merge staging-next into staging
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] authored Jan 8, 2025
2 parents e8c02e5 + 2875802 commit ee95856
Show file tree
Hide file tree
Showing 106 changed files with 1,411 additions and 4,162 deletions.
77 changes: 74 additions & 3 deletions lib/strings-with-deps.nix
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,81 @@ let
in
rec {

/* !!! The interface of this function is kind of messed up, since
it's way too overloaded and almost but not quite computes a
topological sort of the depstrings. */
/**
Topologically sort a collection of dependent strings.
Only the values to keys listed in `arg` and their dependencies will be included in the result.
::: {.note}
This function doesn't formally fulfill the definition of topological sorting, but it's good enough for our purposes in Nixpkgs.
:::
# Inputs
`predefined` (attribute set)
: strings with annotated dependencies (strings or attribute set)
A value can be a simple string if it has no dependencies.
Otherwise, is can be an attribute set with the following attributes:
- `deps` (list of strings)
- `text` (Any
`arg` (list of strings)
: Keys for which the values in the dependency closure will be included in the result
# Type
```
textClosureList :: { ${phase} :: { deps :: [String]; text :: String; } | String; } -> [String] -> [String]
```
# Examples
:::{.example}
## `lib.stringsWithDeps.textClosureList` usage example
```nix
textClosureList {
a = {
deps = [ "b" "c" "e" ];
text = "a: depends on b, c and e";
};
b = {
deps = [ ];
text = "b: no dependencies";
};
c = {
deps = [ "b" ];
text = "c: depends on b";
};
d = {
deps = [ "c" ];
text = "d: not being depended on by anything in `arg`";
};
e = {
deps = [ "c" ];
text = "e: depends on c, depended on by a, not in `arg`";
};
} [
"a"
"b"
"c"
]
=> [
"b: no dependencies"
"c: depends on b"
"e: depends on c, depended on by a, not in `arg`"
"a: depends on b, c and e"
]
```
:::
Common real world usages are:
- Ordering the dependent phases of `system.activationScripts`
- Ordering the dependent phases of `system.userActivationScripts`
For further examples see: [NixOS activation script](https://nixos.org/manual/nixos/stable/#sec-activation-script)
*/
textClosureList = predefined: arg:
let
f = done: todo:
Expand Down
6 changes: 6 additions & 0 deletions nixos/doc/manual/development/settings-options.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,12 @@ have a predefined type and string generator already declared under
and returning a set with TOML-specific attributes `type` and
`generate` as specified [below](#pkgs-formats-result).

`pkgs.formats.cdn` { }

: A function taking an empty attribute set (for future extensibility)
and returning a set with [CDN](https://github.com/dzikoysk/cdn)-specific
attributes `type` and `generate` as specified [below](#pkgs-formats-result).

`pkgs.formats.elixirConf { elixir ? pkgs.elixir }`

: A function taking an attribute set with values
Expand Down
4 changes: 4 additions & 0 deletions nixos/doc/manual/release-notes/rl-2505.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,10 @@
access or want to access home directory via `killHook`, hardening setting can
be changed via, e.g. `systemd.services.earlyoom.serviceConfig.ProtectSystem`.

`services.earlyoom.extraArgs` is now shell-escaped for each element without
word-breaking. So you want to write `extraArgs = [ "--prefer" "spaced pat" ]`
rather than previous `extraArgs = [ "--prefer 'spaced pat'" ]`.

- `nodePackages.vls` has been deprecated, as the upstream consumer of it, vetur, has been deprecated by upstream. Upstream suggests migrating to Volar for Vue LSP tooling instead.

- `nodePackages.create-react-native-app` has been removed, as it is deprecated. Upstream suggests using a framework for React Native apps instead.
Expand Down
1 change: 1 addition & 0 deletions nixos/modules/installer/cd-dvd/iso-image.nix
Original file line number Diff line number Diff line change
Expand Up @@ -870,6 +870,7 @@ in
# Create the ISO image.
image.extension = if config.isoImage.compressImage then "iso.zst" else "iso";
image.filePath = "iso/${config.image.fileName}";
image.baseName = "nixos${lib.optionalString (config.isoImage.edition != "") "-${config.isoImage.edition}" }-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}";
system.build.image = config.system.build.isoImage;
system.build.isoImage = pkgs.callPackage ../../../lib/make-iso9660-image.nix ({
inherit (config.isoImage) compressImage volumeID contents;
Expand Down
9 changes: 7 additions & 2 deletions nixos/modules/services/system/earlyoom.nix
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,14 @@ in
default = [ ];
example = [
"-g"
"--prefer '(^|/)(java|chromium)$'"
"--prefer"
"(^|/)(java|chromium)$"
];
description = "Extra command-line arguments to be passed to earlyoom.";
description = ''
Extra command-line arguments to be passed to earlyoom. Each element in
the value list will be escaped as an argument without further
word-breaking.
'';
};
};

Expand Down
4 changes: 1 addition & 3 deletions nixos/release.nix
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,7 @@ let

hydraJob ((import lib/eval-config.nix {
inherit system;
modules = makeModules module {
image.baseName = "nixos-${type}";
};
modules = makeModules module { };
}).config.system.build.isoImage);


Expand Down
16 changes: 14 additions & 2 deletions pkgs/applications/audio/faust/faust2.nix
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,24 @@ let
passthru = { inherit wrap wrapWithBuildEnv faust2ApplBase; };

preConfigure = ''
# include llvm-config in path
export PATH="${lib.getDev llvm_18}/bin:$PATH"
cd build
sed -i 's@LIBNCURSES_PATH ?= .*@LIBNCURSES_PATH ?= ${ncurses_static}/lib/libncurses.a@' Make.llvm.static
substituteInPlace Make.llvm.static \
--replace 'mkdir -p $@ && cd $@ && ar -x ../../$<' 'mkdir -p $@ && cd $@ && ar -x ../source/build/lib/libfaust.a && cd ../source/build/'
substituteInPlace Make.llvm.static \
--replace 'rm -rf $(TMP)' ' '
--replace 'rm -rf $(TMP)' ' ' \
--replace-fail "ar" "${stdenv.cc.targetPrefix}ar"
sed -i 's@LIBNCURSES_PATH ?= .*@LIBNCURSES_PATH ?= ${ncurses_static}/lib/libncurses.a@' Make.llvm.static
cd ..
shopt -s globstar
for f in **/Makefile **/Makefile.library **/CMakeLists.txt build/Make.llvm.static embedded/faustjava/faust2engine architecture/autodiff/autodiff.sh source/tools/faust2appls/* **/llvm.cmake tools/benchmark/faust2object; do
echo $f "llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
substituteInPlace $f \
--replace-quiet "llvm-config" "llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
done
shopt -u globstar
cd build
'';

cmakeFlags = [
Expand Down
5 changes: 5 additions & 0 deletions pkgs/applications/audio/faust/faust2jaqt.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
bash,
faust,
jack2,
qtbase,
Expand Down Expand Up @@ -32,6 +33,10 @@ faust.wrapWithBuildEnv {
"faust2jackserver"
];

buildInputs = [
bash
];

propagatedBuildInputs = [
jack2
qtbase
Expand Down
5 changes: 5 additions & 0 deletions pkgs/applications/audio/faust/faust2lv2.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
bash,
boost,
faust,
lv2,
Expand All @@ -9,6 +10,10 @@ faust.wrapWithBuildEnv {

baseName = "faust2lv2";

buildInputs = [
bash
];

propagatedBuildInputs = [
boost
lv2
Expand Down
6 changes: 3 additions & 3 deletions pkgs/applications/blockchains/electrs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "electrs";
version = "0.10.7";
version = "0.10.8";

src = fetchFromGitHub {
owner = "romanz";
repo = pname;
rev = "v${version}";
hash = "sha256-KDl+SV5U2aqsl3UMK8WWZiwkcqLpaRGmH/J8vBKTZcQ=";
hash = "sha256-L26jzAn8vwnw9kFd6ciyYS/OLEFTbN8doNKy3P8qKRE=";
};

cargoHash = "sha256-vcn+94KklWlYQw4fbH8KxhBnovk0dJc8Hkj+jJ+SeB0=";
cargoHash = "sha256-/0XS4xF5gzEBWXS39f0FsIK1dFwmGT4McaExR/srB5Y=";

# needed for librocksdb-sys
nativeBuildInputs = [ rustPlatform.bindgenHook ];
Expand Down
6 changes: 3 additions & 3 deletions pkgs/applications/graphics/drawio/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@

stdenv.mkDerivation rec {
pname = "drawio";
version = "24.7.17";
version = "26.0.4";

src = fetchFromGitHub {
owner = "jgraph";
repo = "drawio-desktop";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-DWNFh3ocU5WVi5WZheMOMUYH6FHJ+LJbaUC1XkQ5TFo=";
hash = "sha256-3tEWLRen8lRQEDFlfTWT9+L15k+7z/7To6p7SkmdJhU=";
};

# `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead
Expand All @@ -32,7 +32,7 @@ stdenv.mkDerivation rec {

offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-bAvS7AXmmS+yYsEkXxvszlErpZ3J5hVVXxxzYcsVP5Y=";
hash = "sha256-DElSCZwVGZF/sjec0SFi7iIe/2Ern85oT5rp6bQl5wg=";
};

nativeBuildInputs =
Expand Down
84 changes: 11 additions & 73 deletions pkgs/applications/graphics/gimp/plugins/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,9 @@ lib.makeScope pkgs.newScope (

nativeBuildInputs = with pkgs; [ which ];

env.NIX_CFLAGS_COMPILE = toString (
lib.optionals stdenv.cc.isClang [
"-Wno-error=incompatible-function-pointer-types"
]
);
# workaround for issue:
# https://github.com/alessandrofrancesconi/gimp-plugin-bimp/issues/411
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";

installFlags = [
"SYSTEM_INSTALL_DIR=${placeholder "out"}/${gimp.targetPluginDir}/bimp"
Expand All @@ -139,69 +137,6 @@ lib.makeScope pkgs.newScope (
};
};

gap = pluginDerivation {
/*
menu:
Video
*/
pname = "gap";
version = "2.6.0-unstable-2023-05-20";

src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "Archive";
repo = "gimp-gap";
rev = "b2aa06cc7ee4ae1938f14640fe46b75ef5b15982";
hash = "sha256-q5TgCy0+iIfxyqJRXsKxiFrWMFSzBqC0SA9MBGTHXcA=";
};

nativeBuildInputs = with pkgs; [ autoreconfHook ];

postUnpack = ''
tar -xf $sourceRoot/extern_libs/ffmpeg.tar.gz -C $sourceRoot/extern_libs
'';

postPatch =
let
ffmpegPatch = fetchpatch2 {
name = "fix-ffmpeg-binutil-2.41.patch";
url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/effadce6c756247ea8bae32dc13bb3e6f464f0eb";
hash = "sha256-vLSltvZVMcQ0CnkU0A29x6fJSywE8/aU+Mp9os8DZYY=";
};
in
''
patch -Np1 -i ${ffmpegPatch} -d extern_libs/ffmpeg
ffmpegSrc=$(realpath extern_libs/ffmpeg)
'';

configureFlags =
[
"--with-ffmpegsrcdir=${placeholder "ffmpegSrc"}"
]
++ lib.optionals (!stdenv.hostPlatform.isx86) [
"--disable-libavformat"
];

hardeningDisable = [ "format" ];

env = {
NIX_LDFLAGS = "-lm";
};

meta = with lib; {
description = "GIMP Animation Package";
homepage = "https://www.gimp.org";
# The main code is given in GPLv3, but it has ffmpeg in it, and I think ffmpeg license
# falls inside "free".
license = with licenses; [
gpl3
free
];
# Depends on linux/soundcard.h
platforms = platforms.linux;
};
};

farbfeld = pluginDerivation {
pname = "farbfeld";
version = "unstable-2019-08-12";
Expand Down Expand Up @@ -371,10 +306,14 @@ lib.makeScope pkgs.newScope (
sha256 = "1jj3n7spkjc63aipwdqsvq9gi07w13bb1v8iqzvxwzld2kxa3c8w";
};

buildInputs = with pkgs; [
lensfun
gexiv2
];
buildInputs = (
with pkgs;
[
lensfun
gexiv2
]
++ lib.optional stdenv.cc.isClang llvmPackages.openmp
);

installPhase = "
installPlugin gimp-lensfun
Expand All @@ -387,7 +326,6 @@ lib.makeScope pkgs.newScope (

license = lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = lib.platforms.gnu ++ lib.platforms.linux;
};
};

Expand Down
14 changes: 7 additions & 7 deletions pkgs/applications/networking/browsers/chromium/info.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"chromium": {
"version": "131.0.6778.204",
"version": "131.0.6778.264",
"chromedriver": {
"hash_darwin": "sha256-xxTu1aPNTfGpaPFC55NihzJbcjDL3fBXimQIGBPaU18=",
"hash_darwin_aarch64": "sha256-WyNiLNIPPUesDCYYs6Uc0aZDou0N60kZvL31DlqHMtw="
"hash_darwin": "sha256-ibvVBD3q+ed1VffgSEZie7VAmSdBT3CJ9bNnjyYzWis=",
"hash_darwin_aarch64": "sha256-Eup+/qrFxMAU9AoYfd5BYTKM+J7CWE7GLGETiYdYorU="
},
"deps": {
"depot_tools": {
Expand All @@ -19,8 +19,8 @@
"DEPS": {
"src": {
"url": "https://chromium.googlesource.com/chromium/src.git",
"rev": "52183f9e99a61056f9b78535f53d256f1516f2a0",
"hash": "sha256-D7+Ji8Y1vw1Sgt9njbZDGbgbzT8eAvx/95M8SsHyiN4=",
"rev": "2d05e31515360f4da764174f7c448b33e36da871",
"hash": "sha256-aAb+lMefY4+zADsVeyLIhNI4AQfGmzu+7Y8o3t2csmU=",
"recompress": true
},
"src/third_party/clang-format/script": {
Expand Down Expand Up @@ -760,8 +760,8 @@
},
"src/v8": {
"url": "https://chromium.googlesource.com/v8/v8.git",
"rev": "7f72bbed40ca85a6b68ca2f15feca342c9c256d0",
"hash": "sha256-QJcC6T2IOCXhObwND0jPQTUl84lotcYRCIQe4GTtczc="
"rev": "9c09e7876ff830e1f9a731aa930040d1028ff5a1",
"hash": "sha256-OKa0W4s3VfaQ/MBHkrkZ8/LeRGqjGh9hTaqet7S4o58="
}
}
},
Expand Down
Loading

0 comments on commit ee95856

Please sign in to comment.