Merge #237233: staging-next 2023-06-11
This commit is contained in:
commit
6d80b598ef
|
@ -36,6 +36,8 @@
|
||||||
|
|
||||||
- `util-linux` is now supported on Darwin and is no longer an alias to `unixtools`. Use the `unixtools.util-linux` package for access to the Apple variants of the utilities.
|
- `util-linux` is now supported on Darwin and is no longer an alias to `unixtools`. Use the `unixtools.util-linux` package for access to the Apple variants of the utilities.
|
||||||
|
|
||||||
|
- The `vlock` program from the `kbd` package has been moved into its own package output and should now be referenced explicitly as `kbd.vlock` or replaced with an alternative such as the standalone `vlock` package or `physlock`.
|
||||||
|
|
||||||
- `fileSystems.<name>.autoFormat` now uses `systemd-makefs`, which does not accept formatting options. Therefore, `fileSystems.<name>.formatOptions` has been removed.
|
- `fileSystems.<name>.autoFormat` now uses `systemd-makefs`, which does not accept formatting options. Therefore, `fileSystems.<name>.formatOptions` has been removed.
|
||||||
|
|
||||||
- `fileSystems.<name>.autoResize` now uses `systemd-growfs` to resize the file system online in stage 2. This means that `f2fs` and `ext2` can no longer be auto resized, while `xfs` and `btrfs` now can be.
|
- `fileSystems.<name>.autoResize` now uses `systemd-growfs` to resize the file system online in stage 2. This means that `f2fs` and `ext2` can no longer be auto resized, while `xfs` and `btrfs` now can be.
|
||||||
|
@ -46,6 +48,8 @@
|
||||||
|
|
||||||
- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
|
- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
|
||||||
|
|
||||||
|
- `fontconfig` now defaults to using greyscale antialiasing instead of subpixel antialiasing because of a [recommendation from one of the downstreams](https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/337). You can change this value by configuring [](#opt-fonts.fontconfig.subpixel.rgba) accordingly.
|
||||||
|
|
||||||
- The latest available version of Nextcloud is v27 (available as `pkgs.nextcloud27`). The installation logic is as follows:
|
- The latest available version of Nextcloud is v27 (available as `pkgs.nextcloud27`). The installation logic is as follows:
|
||||||
- If [`services.nextcloud.package`](#opt-services.nextcloud.package) is specified explicitly, this package will be installed (**recommended**)
|
- If [`services.nextcloud.package`](#opt-services.nextcloud.package) is specified explicitly, this package will be installed (**recommended**)
|
||||||
- If [`system.stateVersion`](#opt-system.stateVersion) is >=23.11, `pkgs.nextcloud27` will be installed by default.
|
- If [`system.stateVersion`](#opt-system.stateVersion) is >=23.11, `pkgs.nextcloud27` will be installed by default.
|
||||||
|
|
|
@ -77,18 +77,6 @@ let
|
||||||
<edit mode="append" name="autohint">
|
<edit mode="append" name="autohint">
|
||||||
${fcBool cfg.hinting.autohint}
|
${fcBool cfg.hinting.autohint}
|
||||||
</edit>
|
</edit>
|
||||||
<edit mode="append" name="hintstyle">
|
|
||||||
<const>${cfg.hinting.style}</const>
|
|
||||||
</edit>
|
|
||||||
<edit mode="append" name="antialias">
|
|
||||||
${fcBool cfg.antialias}
|
|
||||||
</edit>
|
|
||||||
<edit mode="append" name="rgba">
|
|
||||||
<const>${cfg.subpixel.rgba}</const>
|
|
||||||
</edit>
|
|
||||||
<edit mode="append" name="lcdfilter">
|
|
||||||
<const>lcd${cfg.subpixel.lcdfilter}</const>
|
|
||||||
</edit>
|
|
||||||
</match>
|
</match>
|
||||||
|
|
||||||
</fontconfig>
|
</fontconfig>
|
||||||
|
@ -177,6 +165,13 @@ let
|
||||||
</fontconfig>
|
</fontconfig>
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# Replace default linked config with a different variant
|
||||||
|
replaceDefaultConfig = defaultConfig: newConfig: ''
|
||||||
|
rm $dst/${defaultConfig}
|
||||||
|
ln -s ${pkg.out}/share/fontconfig/conf.avail/${newConfig} \
|
||||||
|
$dst/
|
||||||
|
'';
|
||||||
|
|
||||||
# fontconfig configuration package
|
# fontconfig configuration package
|
||||||
confPkg = pkgs.runCommand "fontconfig-conf" {
|
confPkg = pkgs.runCommand "fontconfig-conf" {
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
@ -196,6 +191,26 @@ let
|
||||||
ln -s ${pkg.out}/etc/fonts/conf.d/*.conf \
|
ln -s ${pkg.out}/etc/fonts/conf.d/*.conf \
|
||||||
$dst/
|
$dst/
|
||||||
|
|
||||||
|
${optionalString (!cfg.antialias)
|
||||||
|
(replaceDefaultConfig "10-yes-antialias.conf"
|
||||||
|
"10-no-antialias.conf")
|
||||||
|
}
|
||||||
|
|
||||||
|
${optionalString (cfg.hinting.style != "slight")
|
||||||
|
(replaceDefaultConfig "10-hinting-slight.conf"
|
||||||
|
"10-hinting-${cfg.hinting.style}.conf")
|
||||||
|
}
|
||||||
|
|
||||||
|
${optionalString (cfg.subpixel.rgba != "none")
|
||||||
|
(replaceDefaultConfig "10-sub-pixel-none.conf"
|
||||||
|
"10-sub-pixel-${cfg.subpixel.rgba}.conf")
|
||||||
|
}
|
||||||
|
|
||||||
|
${optionalString (cfg.subpixel.lcdfilter != "default")
|
||||||
|
(replaceDefaultConfig "11-lcdfilter-default.conf"
|
||||||
|
"11-lcdfilter-${cfg.subpixel.lcdfilter}.conf")
|
||||||
|
}
|
||||||
|
|
||||||
# 00-nixos-cache.conf
|
# 00-nixos-cache.conf
|
||||||
ln -s ${cacheConf} $dst/00-nixos-cache.conf
|
ln -s ${cacheConf} $dst/00-nixos-cache.conf
|
||||||
|
|
||||||
|
@ -367,17 +382,25 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
style = mkOption {
|
style = mkOption {
|
||||||
type = types.enum [ "hintnone" "hintslight" "hintmedium" "hintfull" ];
|
type = types.enum ["none" "slight" "medium" "full"];
|
||||||
default = "hintslight";
|
default = "slight";
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
Hintstyle is the amount of font reshaping done to line up
|
Hintstyle is the amount of font reshaping done to line up
|
||||||
to the grid.
|
to the grid.
|
||||||
|
|
||||||
hintslight will make the font more fuzzy to line up to the grid
|
slight will make the font more fuzzy to line up to the grid but
|
||||||
but will be better in retaining font shape, while hintfull will
|
will be better in retaining font shape, while full will be a
|
||||||
be a crisp font that aligns well to the pixel grid but will lose
|
crisp font that aligns well to the pixel grid but will lose a
|
||||||
a greater amount of font shape.
|
greater amount of font shape.
|
||||||
'';
|
'';
|
||||||
|
apply =
|
||||||
|
val:
|
||||||
|
let
|
||||||
|
from = "fonts.fontconfig.hinting.style";
|
||||||
|
val' = lib.removePrefix "hint" val;
|
||||||
|
warning = "The option `${from}` contains a deprecated value `${val}`. Use `${val'}` instead.";
|
||||||
|
in
|
||||||
|
lib.warnIf (lib.hasPrefix "hint" val) warning val';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -394,7 +417,7 @@ in
|
||||||
subpixel = {
|
subpixel = {
|
||||||
|
|
||||||
rgba = mkOption {
|
rgba = mkOption {
|
||||||
default = "rgb";
|
default = "none";
|
||||||
type = types.enum ["rgb" "bgr" "vrgb" "vbgr" "none"];
|
type = types.enum ["rgb" "bgr" "vrgb" "vbgr" "none"];
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
Subpixel order. The overwhelming majority of displays are
|
Subpixel order. The overwhelming majority of displays are
|
||||||
|
|
|
@ -39,7 +39,8 @@ with lib;
|
||||||
graphviz = super.graphviz-nox;
|
graphviz = super.graphviz-nox;
|
||||||
gst_all_1 = super.gst_all_1 // {
|
gst_all_1 = super.gst_all_1 // {
|
||||||
gst-plugins-bad = super.gst_all_1.gst-plugins-bad.override { guiSupport = false; };
|
gst-plugins-bad = super.gst_all_1.gst-plugins-bad.override { guiSupport = false; };
|
||||||
gst-plugins-base = super.gst_all_1.gst-plugins-base.override { enableX11 = false; };
|
gst-plugins-base = super.gst_all_1.gst-plugins-base.override { enableWayland = false; enableX11 = false; };
|
||||||
|
gst-plugins-good = super.gst_all_1.gst-plugins-good.override { enableX11 = false; };
|
||||||
};
|
};
|
||||||
imagemagick = super.imagemagick.override { libX11Support = false; libXtSupport = false; };
|
imagemagick = super.imagemagick.override { libX11Support = false; libXtSupport = false; };
|
||||||
imagemagickBig = super.imagemagickBig.override { libX11Support = false; libXtSupport = false; };
|
imagemagickBig = super.imagemagickBig.override { libX11Support = false; libXtSupport = false; };
|
||||||
|
|
|
@ -258,7 +258,8 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# See: [Firmware file size bug] in systemd/default.nix
|
# Some UEFI firmwares fail on large reads. Now that systemd-boot loads initrd
|
||||||
|
# itself, systems with such firmware won't boot without this fix
|
||||||
uefiLargeFileWorkaround = makeTest {
|
uefiLargeFileWorkaround = makeTest {
|
||||||
name = "uefi-large-file-workaround";
|
name = "uefi-large-file-workaround";
|
||||||
|
|
||||||
|
|
|
@ -141,9 +141,6 @@ let
|
||||||
sphinxHook = null;
|
sphinxHook = null;
|
||||||
sphinx-better-theme = null;
|
sphinx-better-theme = null;
|
||||||
}).overridePythonAttrs dropDocOutput;
|
}).overridePythonAttrs dropDocOutput;
|
||||||
hypothesis = super.hypothesis.override {
|
|
||||||
enableDocumentation = false;
|
|
||||||
};
|
|
||||||
pyjwt = (super.pyjwt.override {
|
pyjwt = (super.pyjwt.override {
|
||||||
sphinxHook = null;
|
sphinxHook = null;
|
||||||
sphinx-rtd-theme = null;
|
sphinx-rtd-theme = null;
|
||||||
|
|
|
@ -238,6 +238,19 @@ buildStdenv.mkDerivation ({
|
||||||
hash = "sha256-fLUYaJwhrC/wF24HkuWn2PHqz7LlAaIZ1HYjRDB2w9A=";
|
hash = "sha256-fLUYaJwhrC/wF24HkuWn2PHqz7LlAaIZ1HYjRDB2w9A=";
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
|
++ lib.optional (lib.versionOlder version "109") [
|
||||||
|
# cherry-pick bindgen change to fix build with clang 16
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://git.alpinelinux.org/aports/plain/community/firefox-esr/bindgen.patch?id=4c4b0c01c808657fffc5b796c56108c57301b28f";
|
||||||
|
hash = "sha256-lTvgT358M4M2vedZ+A6xSKsBYhSN+McdmEeR9t75MLU=";
|
||||||
|
})
|
||||||
|
]
|
||||||
|
++ lib.optional (lib.versionOlder version "111") [
|
||||||
|
# cherry-pick mp4parse change fixing build with Rust 1.70+
|
||||||
|
# original change: https://github.com/mozilla/mp4parse-rust/commit/8b5b652d38e007e736bb442ccd5aa5ed699db100
|
||||||
|
# vendored to update checksums
|
||||||
|
./mp4parse-rust-170.patch
|
||||||
|
]
|
||||||
++ lib.optional (lib.versionOlder version "111") ./env_var_for_system_dir-ff86.patch
|
++ lib.optional (lib.versionOlder version "111") ./env_var_for_system_dir-ff86.patch
|
||||||
++ lib.optional (lib.versionAtLeast version "111") ./env_var_for_system_dir-ff111.patch
|
++ lib.optional (lib.versionAtLeast version "111") ./env_var_for_system_dir-ff111.patch
|
||||||
++ lib.optional (lib.versionAtLeast version "96") ./no-buildconfig-ffx96.patch
|
++ lib.optional (lib.versionAtLeast version "96") ./no-buildconfig-ffx96.patch
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -29,7 +29,7 @@ assert sendEmailSupport -> perlSupport;
|
||||||
assert svnSupport -> perlSupport;
|
assert svnSupport -> perlSupport;
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2.40.1";
|
version = "2.41.0";
|
||||||
svn = subversionClient.override { perlBindings = perlSupport; };
|
svn = subversionClient.override { perlBindings = perlSupport; };
|
||||||
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
||||||
in
|
in
|
||||||
|
@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
||||||
hash = "sha256-SJO4uY7vyf3EsOfKJJ40AAT6p4BKQz0XQp4xHh/vIdI=";
|
hash = "sha256-50i6/UJM/oCyEsvG8bvMw6R9SGL7HreYiHd1BHhWgEA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" ] ++ lib.optional withManual "doc";
|
outputs = [ "out" ] ++ lib.optional withManual "doc";
|
||||||
|
|
|
@ -54,7 +54,6 @@
|
||||||
, lua5
|
, lua5
|
||||||
, mpeg2dec
|
, mpeg2dec
|
||||||
, ncurses
|
, ncurses
|
||||||
, openssl
|
|
||||||
, perl
|
, perl
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, removeReferencesTo
|
, removeReferencesTo
|
||||||
|
@ -159,7 +158,6 @@ stdenv.mkDerivation rec {
|
||||||
libXvMC
|
libXvMC
|
||||||
xcbutilkeysyms
|
xcbutilkeysyms
|
||||||
])
|
])
|
||||||
++ optional onlyLibVLC openssl # not sure why
|
|
||||||
++ optional (!stdenv.hostPlatform.isAarch && !onlyLibVLC) live555
|
++ optional (!stdenv.hostPlatform.isAarch && !onlyLibVLC) live555
|
||||||
++ optional jackSupport libjack2
|
++ optional jackSupport libjack2
|
||||||
++ optionals chromecastSupport [ libmicrodns protobuf ]
|
++ optionals chromecastSupport [ libmicrodns protobuf ]
|
||||||
|
|
|
@ -62,10 +62,6 @@ in stdenv.mkDerivation ({
|
||||||
export CARGO_HOME=$(mktemp -d cargo-home.XXX)
|
export CARGO_HOME=$(mktemp -d cargo-home.XXX)
|
||||||
CARGO_CONFIG=$(mktemp cargo-config.XXXX)
|
CARGO_CONFIG=$(mktemp cargo-config.XXXX)
|
||||||
|
|
||||||
# https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html#cargos-sparse-protocol
|
|
||||||
# planned to become the default in 1.70
|
|
||||||
export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
|
|
||||||
|
|
||||||
if [[ -n "$NIX_CRATES_INDEX" ]]; then
|
if [[ -n "$NIX_CRATES_INDEX" ]]; then
|
||||||
cat >$CARGO_HOME/config.toml <<EOF
|
cat >$CARGO_HOME/config.toml <<EOF
|
||||||
[source.crates-io]
|
[source.crates-io]
|
||||||
|
|
|
@ -30,7 +30,7 @@ let
|
||||||
]));
|
]));
|
||||||
extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings);
|
extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings);
|
||||||
|
|
||||||
srcVersion = "3.89.1";
|
srcVersion = "3.90";
|
||||||
version = if nssOverride != null then nssOverride.version else srcVersion;
|
version = if nssOverride != null then nssOverride.version else srcVersion;
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://curl.haxx.se/docs/caextract.html";
|
homepage = "https://curl.haxx.se/docs/caextract.html";
|
||||||
|
@ -45,7 +45,7 @@ let
|
||||||
|
|
||||||
src = if nssOverride != null then nssOverride.src else fetchurl {
|
src = if nssOverride != null then nssOverride.src else fetchurl {
|
||||||
url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz";
|
url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz";
|
||||||
hash = "sha256-OtrtuecMPF9AYDv2CgHjNhkKbb4Bkp05XxawH+hKAVY=";
|
hash = "sha256-ms1lNMQdjq0Z/Kb8s//+0vnwnEN8PXn+5qTuZoqqk7Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
|
@ -53,11 +53,7 @@ let majorVersion = "10";
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
||||||
(fetchurl {
|
../fix-bug-80431.patch
|
||||||
name = "fix-bug-80431.patch";
|
|
||||||
url = "https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=de31f5445b12fd9ab9969dc536d821fe6f0edad0";
|
|
||||||
sha256 = "0sd52c898msqg7m316zp0ryyj7l326cjcn2y19dcxqp15r74qj0g";
|
|
||||||
})
|
|
||||||
../11/fix-struct-redefinition-on-glibc-2.36.patch
|
../11/fix-struct-redefinition-on-glibc-2.36.patch
|
||||||
../install-info-files-serially.patch
|
../install-info-files-serially.patch
|
||||||
] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
||||||
|
|
|
@ -57,11 +57,7 @@ let majorVersion = "11";
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
||||||
(fetchurl {
|
../fix-bug-80431.patch
|
||||||
name = "fix-bug-80431.patch";
|
|
||||||
url = "https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=de31f5445b12fd9ab9969dc536d821fe6f0edad0";
|
|
||||||
sha256 = "0sd52c898msqg7m316zp0ryyj7l326cjcn2y19dcxqp15r74qj0g";
|
|
||||||
})
|
|
||||||
./fix-struct-redefinition-on-glibc-2.36.patch
|
./fix-struct-redefinition-on-glibc-2.36.patch
|
||||||
../install-info-files-serially.patch
|
../install-info-files-serially.patch
|
||||||
] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
||||||
|
|
|
@ -67,11 +67,7 @@ let majorVersion = "6";
|
||||||
../use-source-date-epoch.patch ./0001-Fix-build-for-glibc-2.31.patch
|
../use-source-date-epoch.patch ./0001-Fix-build-for-glibc-2.31.patch
|
||||||
|
|
||||||
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
||||||
(fetchurl {
|
../fix-bug-80431.patch
|
||||||
name = "fix-bug-80431.patch";
|
|
||||||
url = "https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=de31f5445b12fd9ab9969dc536d821fe6f0edad0";
|
|
||||||
sha256 = "0sd52c898msqg7m316zp0ryyj7l326cjcn2y19dcxqp15r74qj0g";
|
|
||||||
})
|
|
||||||
../install-info-files-serially.patch
|
../install-info-files-serially.patch
|
||||||
] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
||||||
++ optional noSysDirs ../no-sys-dirs.patch
|
++ optional noSysDirs ../no-sys-dirs.patch
|
||||||
|
|
|
@ -58,11 +58,7 @@ let majorVersion = "7";
|
||||||
./0001-Fix-build-for-glibc-2.31.patch
|
./0001-Fix-build-for-glibc-2.31.patch
|
||||||
|
|
||||||
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
||||||
(fetchurl {
|
../fix-bug-80431.patch
|
||||||
name = "fix-bug-80431.patch";
|
|
||||||
url = "https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=de31f5445b12fd9ab9969dc536d821fe6f0edad0";
|
|
||||||
sha256 = "0sd52c898msqg7m316zp0ryyj7l326cjcn2y19dcxqp15r74qj0g";
|
|
||||||
})
|
|
||||||
|
|
||||||
../9/fix-struct-redefinition-on-glibc-2.36.patch
|
../9/fix-struct-redefinition-on-glibc-2.36.patch
|
||||||
../install-info-files-serially.patch
|
../install-info-files-serially.patch
|
||||||
|
|
|
@ -48,11 +48,7 @@ let majorVersion = "8";
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
||||||
(fetchurl {
|
../fix-bug-80431.patch
|
||||||
name = "fix-bug-80431.patch";
|
|
||||||
url = "https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=de31f5445b12fd9ab9969dc536d821fe6f0edad0";
|
|
||||||
sha256 = "0sd52c898msqg7m316zp0ryyj7l326cjcn2y19dcxqp15r74qj0g";
|
|
||||||
})
|
|
||||||
../9/fix-struct-redefinition-on-glibc-2.36.patch
|
../9/fix-struct-redefinition-on-glibc-2.36.patch
|
||||||
../install-info-files-serially.patch
|
../install-info-files-serially.patch
|
||||||
] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
||||||
|
|
|
@ -58,11 +58,7 @@ let majorVersion = "9";
|
||||||
patches = [
|
patches = [
|
||||||
./fix-struct-redefinition-on-glibc-2.36.patch
|
./fix-struct-redefinition-on-glibc-2.36.patch
|
||||||
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
# Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431
|
||||||
(fetchurl {
|
../fix-bug-80431.patch
|
||||||
name = "fix-bug-80431.patch";
|
|
||||||
url = "https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=de31f5445b12fd9ab9969dc536d821fe6f0edad0";
|
|
||||||
sha256 = "0sd52c898msqg7m316zp0ryyj7l326cjcn2y19dcxqp15r74qj0g";
|
|
||||||
})
|
|
||||||
../install-info-files-serially.patch
|
../install-info-files-serially.patch
|
||||||
] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
||||||
++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
|
++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
|
||||||
|
|
92
pkgs/development/compilers/gcc/fix-bug-80431.patch
Normal file
92
pkgs/development/compilers/gcc/fix-bug-80431.patch
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
From de31f5445b12fd9ab9969dc536d821fe6f0edad0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Patrick Palka <ppalka@redhat.com>
|
||||||
|
Date: Mon, 21 Jun 2021 07:54:26 -0400
|
||||||
|
Subject: [PATCH] c++: conversion to base of vbase in NSDMI [PR80431]
|
||||||
|
|
||||||
|
The delayed processing of conversions to a virtual base in an NSDMI
|
||||||
|
assumes the target base type is a (possibly indirect) virtual base of
|
||||||
|
the current class, but the target base type could also be a base of a
|
||||||
|
virtual base, as in the testcase below. Since such a base isn't a part
|
||||||
|
of CLASSTYPE_VBASECLASSES, we end up miscompiling the testcase due to
|
||||||
|
the call to build_base_path (with binfo=NULL_TREE) silently returning
|
||||||
|
error_mark_node. Fix this by using convert_to_base to build the
|
||||||
|
conversion instead.
|
||||||
|
|
||||||
|
PR c++/80431
|
||||||
|
|
||||||
|
gcc/cp/ChangeLog:
|
||||||
|
|
||||||
|
* tree.c (bot_replace): Use convert_to_base to build the
|
||||||
|
conversion to the (morally) virtual base.
|
||||||
|
|
||||||
|
gcc/testsuite/ChangeLog:
|
||||||
|
|
||||||
|
* g++.dg/cpp0x/nsdmi-virtual1a.C: New test.
|
||||||
|
---
|
||||||
|
gcc/cp/tree.c | 14 ++++------
|
||||||
|
gcc/testsuite/g++.dg/cpp0x/nsdmi-virtual1a.C | 28 ++++++++++++++++++++
|
||||||
|
2 files changed, 33 insertions(+), 9 deletions(-)
|
||||||
|
create mode 100644 gcc/testsuite/g++.dg/cpp0x/nsdmi-virtual1a.C
|
||||||
|
|
||||||
|
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
|
||||||
|
index fec5afaa2be..297da2b1550 100644
|
||||||
|
--- a/gcc/cp/tree.c
|
||||||
|
+++ b/gcc/cp/tree.c
|
||||||
|
@@ -3242,15 +3242,11 @@ bot_replace (tree* t, int* /*walk_subtrees*/, void* data_)
|
||||||
|
else if (TREE_CODE (*t) == CONVERT_EXPR
|
||||||
|
&& CONVERT_EXPR_VBASE_PATH (*t))
|
||||||
|
{
|
||||||
|
- /* In an NSDMI build_base_path defers building conversions to virtual
|
||||||
|
- bases, and we handle it here. */
|
||||||
|
- tree basetype = TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (*t)));
|
||||||
|
- vec<tree, va_gc> *vbases = CLASSTYPE_VBASECLASSES (current_class_type);
|
||||||
|
- int i; tree binfo;
|
||||||
|
- FOR_EACH_VEC_SAFE_ELT (vbases, i, binfo)
|
||||||
|
- if (BINFO_TYPE (binfo) == basetype)
|
||||||
|
- break;
|
||||||
|
- *t = build_base_path (PLUS_EXPR, TREE_OPERAND (*t, 0), binfo, true,
|
||||||
|
+ /* In an NSDMI build_base_path defers building conversions to morally
|
||||||
|
+ virtual bases, and we handle it here. */
|
||||||
|
+ tree basetype = TREE_TYPE (*t);
|
||||||
|
+ *t = convert_to_base (TREE_OPERAND (*t, 0), basetype,
|
||||||
|
+ /*check_access=*/false, /*nonnull=*/true,
|
||||||
|
tf_warning_or_error);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/gcc/testsuite/g++.dg/cpp0x/nsdmi-virtual1a.C b/gcc/testsuite/g++.dg/cpp0x/nsdmi-virtual1a.C
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..dc847cc16e5
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/g++.dg/cpp0x/nsdmi-virtual1a.C
|
||||||
|
@@ -0,0 +1,28 @@
|
||||||
|
+// PR c++/80431
|
||||||
|
+// { dg-do run { target c++11 } }
|
||||||
|
+
|
||||||
|
+// A variant of nsdmi-virtual1.C where A is only a morally virtual base of B.
|
||||||
|
+
|
||||||
|
+struct A
|
||||||
|
+{
|
||||||
|
+ A(): i(42) { }
|
||||||
|
+ int i;
|
||||||
|
+ int f() { return i; }
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+struct D : A { int pad; };
|
||||||
|
+
|
||||||
|
+struct B : virtual D
|
||||||
|
+{
|
||||||
|
+ int j = i + f();
|
||||||
|
+ int k = A::i + A::f();
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+struct C: B { int pad; };
|
||||||
|
+
|
||||||
|
+int main()
|
||||||
|
+{
|
||||||
|
+ C c;
|
||||||
|
+ if (c.j != 84 || c.k != 84)
|
||||||
|
+ __builtin_abort();
|
||||||
|
+}
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
|
@ -46,11 +46,11 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "go";
|
pname = "go";
|
||||||
version = "1.20.4";
|
version = "1.20.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://go.dev/dl/go${version}.src.tar.gz";
|
url = "https://go.dev/dl/go${version}.src.tar.gz";
|
||||||
hash = "sha256-nzSs4Sh2S3o6SyOLgFhWzBshhDBN+eVpCCWwcQ9CAtY=";
|
hash = "sha256-mhXBM7os+v55ZS9IFbYufPwmf2jfG5RUxqsqPKi5aog=";
|
||||||
};
|
};
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
|
@ -1,63 +0,0 @@
|
||||||
# New rust versions should first go to staging.
|
|
||||||
# Things to check after updating:
|
|
||||||
# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin:
|
|
||||||
# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github
|
|
||||||
# This testing can be also done by other volunteers as part of the pull
|
|
||||||
# request review, in case platforms cannot be covered.
|
|
||||||
# 2. The LLVM version used for building should match with rust upstream.
|
|
||||||
# Check the version number in the src/llvm-project git submodule in:
|
|
||||||
# https://github.com/rust-lang/rust/blob/<version-tag>/.gitmodules
|
|
||||||
# 3. Firefox and Thunderbird should still build on x86_64-linux.
|
|
||||||
|
|
||||||
{ stdenv, lib
|
|
||||||
, buildPackages
|
|
||||||
, newScope, callPackage
|
|
||||||
, CoreFoundation, Security, SystemConfiguration
|
|
||||||
, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
|
|
||||||
, makeRustPlatform
|
|
||||||
, llvmPackages_11
|
|
||||||
, llvmPackages_15, llvm_15
|
|
||||||
} @ args:
|
|
||||||
|
|
||||||
import ./default.nix {
|
|
||||||
rustcVersion = "1.69.0";
|
|
||||||
rustcSha256 = "sha256-+wWXGGetbMq703ICefWpS5n2ECSSMYe1a7XEVfo89g8=";
|
|
||||||
|
|
||||||
llvmSharedForBuild = pkgsBuildBuild.llvmPackages_15.libllvm.override { enableSharedLibraries = true; };
|
|
||||||
llvmSharedForHost = pkgsBuildHost.llvmPackages_15.libllvm.override { enableSharedLibraries = true; };
|
|
||||||
llvmSharedForTarget = pkgsBuildTarget.llvmPackages_15.libllvm.override { enableSharedLibraries = true; };
|
|
||||||
|
|
||||||
llvmBootstrapForDarwin = llvmPackages_11;
|
|
||||||
|
|
||||||
# For use at runtime
|
|
||||||
llvmShared = llvm_15.override { enableSharedLibraries = true; };
|
|
||||||
|
|
||||||
# Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox
|
|
||||||
llvmPackages = llvmPackages_15;
|
|
||||||
|
|
||||||
# Note: the version MUST be one version prior to the version we're
|
|
||||||
# building
|
|
||||||
bootstrapVersion = "1.68.2";
|
|
||||||
|
|
||||||
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
|
|
||||||
bootstrapHashes = {
|
|
||||||
i686-unknown-linux-gnu = "a85e1aa0831e8bd31dc8ba3e042b6dea69b4d45fd5d1111bf6fd2cc9d58dd619";
|
|
||||||
x86_64-unknown-linux-gnu = "df7c7466ef35556e855c0d35af7ff08e133040400452eb3427c53202b6731926";
|
|
||||||
x86_64-unknown-linux-musl = "bd02cbdedb4b7f2169a68dc8410e8436fab3734a3a30cab81ab21661d70c6ddd";
|
|
||||||
arm-unknown-linux-gnueabihf = "a5847f9bcbb1fb4183656b1b01e191d8e48c7bc8346ec6831318b697a2f305c6";
|
|
||||||
armv7-unknown-linux-gnueabihf = "f87e4b063b5f916b4a5057e5f544f819cee9ab5da3fe1a977cddb2170e7ba0d7";
|
|
||||||
aarch64-unknown-linux-gnu = "b24d0df852490d80791a228f18c2b75f24b1e6437e6e745f85364edab245f7fa";
|
|
||||||
aarch64-unknown-linux-musl = "e6615e72aaa3e3c9c42c35139ab253a9b738a4eab719e3e306e25026c1aa93e5";
|
|
||||||
x86_64-apple-darwin = "632540d3d83758cb048dc45fcfbc0b29f6f170161a3051be22b0a2962a566fb9";
|
|
||||||
aarch64-apple-darwin = "ab4c6add94686a0392953c588c2b61d4c03f51e855232d161dc492f286e34202";
|
|
||||||
powerpc64le-unknown-linux-gnu = "cf95658277d71bb8ae3a0fbc53099cc1397ed40e0953c026f41cde4a9619efca";
|
|
||||||
riscv64gc-unknown-linux-gnu = "befcf2d53e35ae3fe0d609d1e056bdc814bd36ce54028b8d6b8b9e38c0afcaa5";
|
|
||||||
mips64el-unknown-linux-gnuabi64 = "ee85bbfdc2fb831f067fda19881e6427c8c86571ebff16c1bd219d850969ef0a";
|
|
||||||
};
|
|
||||||
|
|
||||||
selectRustPackage = pkgs: pkgs.rust_1_69;
|
|
||||||
|
|
||||||
rustcPatches = [ ];
|
|
||||||
}
|
|
||||||
|
|
||||||
(builtins.removeAttrs args [ "pkgsBuildHost" "llvmPackages_11" "llvmPackages_15" "llvm_15"])
|
|
63
pkgs/development/compilers/rust/1_70.nix
Normal file
63
pkgs/development/compilers/rust/1_70.nix
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
# New rust versions should first go to staging.
|
||||||
|
# Things to check after updating:
|
||||||
|
# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin:
|
||||||
|
# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github
|
||||||
|
# This testing can be also done by other volunteers as part of the pull
|
||||||
|
# request review, in case platforms cannot be covered.
|
||||||
|
# 2. The LLVM version used for building should match with rust upstream.
|
||||||
|
# Check the version number in the src/llvm-project git submodule in:
|
||||||
|
# https://github.com/rust-lang/rust/blob/<version-tag>/.gitmodules
|
||||||
|
# 3. Firefox and Thunderbird should still build on x86_64-linux.
|
||||||
|
|
||||||
|
{ stdenv, lib
|
||||||
|
, buildPackages
|
||||||
|
, newScope, callPackage
|
||||||
|
, CoreFoundation, Security, SystemConfiguration
|
||||||
|
, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
|
||||||
|
, makeRustPlatform
|
||||||
|
, llvmPackages_11
|
||||||
|
, llvmPackages_16, llvm_16
|
||||||
|
} @ args:
|
||||||
|
|
||||||
|
import ./default.nix {
|
||||||
|
rustcVersion = "1.70.0";
|
||||||
|
rustcSha256 = "sha256-sr+uAAt6UEDk7Eu8UKCfIVSBkMt1cLDtdzWDaEE70nw=";
|
||||||
|
|
||||||
|
llvmSharedForBuild = pkgsBuildBuild.llvmPackages_16.libllvm.override { enableSharedLibraries = true; };
|
||||||
|
llvmSharedForHost = pkgsBuildHost.llvmPackages_16.libllvm.override { enableSharedLibraries = true; };
|
||||||
|
llvmSharedForTarget = pkgsBuildTarget.llvmPackages_16.libllvm.override { enableSharedLibraries = true; };
|
||||||
|
|
||||||
|
llvmBootstrapForDarwin = llvmPackages_11;
|
||||||
|
|
||||||
|
# For use at runtime
|
||||||
|
llvmShared = llvm_16.override { enableSharedLibraries = true; };
|
||||||
|
|
||||||
|
# Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox
|
||||||
|
llvmPackages = llvmPackages_16;
|
||||||
|
|
||||||
|
# Note: the version MUST be one version prior to the version we're
|
||||||
|
# building
|
||||||
|
bootstrapVersion = "1.69.0";
|
||||||
|
|
||||||
|
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
|
||||||
|
bootstrapHashes = {
|
||||||
|
i686-unknown-linux-gnu = "08b2b4f58c0861f40ae159c39cc12f6d41b6858e04a43c6c0aeb36707e2971d0";
|
||||||
|
x86_64-unknown-linux-gnu = "2ca4a306047c0b8b4029c382910fcbc895badc29680e0332c9df990fd1c70d4f";
|
||||||
|
x86_64-unknown-linux-musl = "071cb04819b15d8801584a1395b28d0472ce99c0e716296e3c0bb4e6318cf171";
|
||||||
|
arm-unknown-linux-gnueabihf = "64c82735b4e5606af61be0d01317da436a9590b969e503cdbd19e24636e15845";
|
||||||
|
armv7-unknown-linux-gnueabihf = "a509f02d910041c97847e2ccc4ee908c761b7dc5b3c4715922d2b1c573a09675";
|
||||||
|
aarch64-unknown-linux-gnu = "88af5aa7a40c8f1b40416a1f27de8ffbe09c155d933f69d3e109c0ccee92353b";
|
||||||
|
aarch64-unknown-linux-musl = "76aaf3e4fd7b552feb2d70752c43896a960a2a7c940002f58a5c3f03d2b3c862";
|
||||||
|
x86_64-apple-darwin = "9818dab2c3726d63dfbfde12c9273e62e484ef6d6f6e05a6431a3e089c335454";
|
||||||
|
aarch64-apple-darwin = "36228cac303298243fb84235db87a5ecf2af49db28585a82af091caefd598677";
|
||||||
|
powerpc64le-unknown-linux-gnu = "8ef68b77971c079dbe23b54a2cfb52da012873d96399c424bc223635306e9a58";
|
||||||
|
riscv64gc-unknown-linux-gnu = "e1976bf7d0edb7e7789a1ad7ff8086fdb5306a932650fa8182a5d009883fa6c5";
|
||||||
|
mips64el-unknown-linux-gnuabi64 = "c4bf3043451d6122a3845db825cbe35b5ca61a44659a00004f6cca1299ad9d72";
|
||||||
|
};
|
||||||
|
|
||||||
|
selectRustPackage = pkgs: pkgs.rust_1_70;
|
||||||
|
|
||||||
|
rustcPatches = [ ];
|
||||||
|
}
|
||||||
|
|
||||||
|
(builtins.removeAttrs args [ "pkgsBuildHost" "llvmPackages_11" "llvmPackages_16" "llvm_16"])
|
|
@ -20,11 +20,15 @@ rustPlatform.buildRustPackage rec {
|
||||||
buildInputs = lib.optionals stdenv.isDarwin
|
buildInputs = lib.optionals stdenv.isDarwin
|
||||||
[ libiconv CoreServices Security ];
|
[ libiconv CoreServices Security ];
|
||||||
|
|
||||||
# test broken with rust 1.69:
|
|
||||||
# * https://github.com/evcxr/evcxr/issues/294
|
|
||||||
# * https://github.com/NixOS/nixpkgs/issues/229524
|
|
||||||
checkFlags = [
|
checkFlags = [
|
||||||
|
# test broken with rust 1.69:
|
||||||
|
# * https://github.com/evcxr/evcxr/issues/294
|
||||||
|
# * https://github.com/NixOS/nixpkgs/issues/229524
|
||||||
"--skip=check_for_errors"
|
"--skip=check_for_errors"
|
||||||
|
|
||||||
|
# test broken with rust 1.70
|
||||||
|
# * https://github.com/evcxr/evcxr/issues/295
|
||||||
|
"--skip=partially_inferred_variable_type"
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = let
|
postInstall = let
|
||||||
|
|
|
@ -20,20 +20,20 @@
|
||||||
sourceVersion = {
|
sourceVersion = {
|
||||||
major = "3";
|
major = "3";
|
||||||
minor = "10";
|
minor = "10";
|
||||||
patch = "11";
|
patch = "12";
|
||||||
suffix = "";
|
suffix = "";
|
||||||
};
|
};
|
||||||
hash = "sha256-PDvDBIMDchyQSgPrgya2Mekh8RzDvimIRWpC8RXa8Ew=";
|
hash = "sha256-r7dL8ZEw56R9EDEsj154TyTgUnmB6raOIFRs+4ZYMLg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
python311 = {
|
python311 = {
|
||||||
sourceVersion = {
|
sourceVersion = {
|
||||||
major = "3";
|
major = "3";
|
||||||
minor = "11";
|
minor = "11";
|
||||||
patch = "3";
|
patch = "4";
|
||||||
suffix = "";
|
suffix = "";
|
||||||
};
|
};
|
||||||
hash = "sha256-il25nJYafs8nx1lWGJyWAslodR8R2+riuQDb/xwIW14=";
|
hash = "sha256-Lw5AnfKrV6qfxMvd+5dq9E5OVb9vYZ7ua8XCKXJkp/Y=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,14 @@ stdenv.mkDerivation rec {
|
||||||
url = "https://github.com/abseil/abseil-cpp/commit/5bfa70c75e621c5d5ec095c8c4c0c050dcb2957e.patch";
|
url = "https://github.com/abseil/abseil-cpp/commit/5bfa70c75e621c5d5ec095c8c4c0c050dcb2957e.patch";
|
||||||
sha256 = "0nhjxqfxpi2pkfinnqvd5m4npf9l1kg39mjx9l3087ajhadaywl5";
|
sha256 = "0nhjxqfxpi2pkfinnqvd5m4npf9l1kg39mjx9l3087ajhadaywl5";
|
||||||
})
|
})
|
||||||
|
|
||||||
|
# Bacport gcc-13 fix:
|
||||||
|
# https://github.com/abseil/abseil-cpp/pull/1187
|
||||||
|
(fetchpatch {
|
||||||
|
name = "gcc-13.patch";
|
||||||
|
url = "https://github.com/abseil/abseil-cpp/commit/36a4b073f1e7e02ed7d1ac140767e36f82f09b7c.patch";
|
||||||
|
hash = "sha256-aA7mwGEtv/cQINcawjkukmCvfNuqwUeDFssSiNKPdgg=";
|
||||||
|
})
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isLoongArch64 [
|
] ++ lib.optionals stdenv.hostPlatform.isLoongArch64 [
|
||||||
# https://github.com/abseil/abseil-cpp/pull/1110
|
# https://github.com/abseil/abseil-cpp/pull/1110
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
|
|
|
@ -23,13 +23,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "at-spi2-core";
|
pname = "at-spi2-core";
|
||||||
version = "2.48.0";
|
version = "2.48.3";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "kFpbbxeQto7oA7/6n1+rTOtZH7T64LL4xhLFTx1OijA=";
|
sha256 = "NzFt9DypmJzlOdVM9CmnaMKLs4oLNJUL6t0EIYJ+31U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -3,11 +3,11 @@
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cmocka";
|
pname = "cmocka";
|
||||||
majorVersion = "1.1";
|
majorVersion = "1.1";
|
||||||
version = "${majorVersion}.6";
|
version = "${majorVersion}.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://cmocka.org/files/${majorVersion}/cmocka-${version}.tar.xz";
|
url = "https://cmocka.org/files/${majorVersion}/cmocka-${version}.tar.xz";
|
||||||
sha256 = "0xksffx1w3pzm18ynf28cx8scrhylcbz43s1rgkkdqnyil1q6cjv";
|
sha256 = "sha256-gQVw6wuNZIBDMfgrKf9Hx5DOnNaxY+mNR6SAcEfsrYI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -19,11 +19,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "dbus";
|
pname = "dbus";
|
||||||
version = "1.14.6";
|
version = "1.14.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.xz";
|
url = "https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.xz";
|
||||||
sha256 = "sha256-/SvfG7idw2WkZTG/9jFTbyKw0cbVzixcXlm1UmWz1ms=";
|
sha256 = "sha256-pr1brFzxnww8WUva4lZaCVaWmApoOg7zfLYhLgk73jU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = lib.optional stdenv.isSunOS ./implement-getgrouplist.patch;
|
patches = lib.optional stdenv.isSunOS ./implement-getgrouplist.patch;
|
||||||
|
@ -115,6 +115,7 @@ stdenv.mkDerivation rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Simple interprocess messaging system";
|
description = "Simple interprocess messaging system";
|
||||||
homepage = "http://www.freedesktop.org/wiki/Software/dbus/";
|
homepage = "http://www.freedesktop.org/wiki/Software/dbus/";
|
||||||
|
changelog = "https://gitlab.freedesktop.org/dbus/dbus/-/blob/dbus-${version}/NEWS";
|
||||||
license = licenses.gpl2Plus; # most is also under AFL-2.1
|
license = licenses.gpl2Plus; # most is also under AFL-2.1
|
||||||
maintainers = teams.freedesktop.members ++ (with maintainers; [ ]);
|
maintainers = teams.freedesktop.members ++ (with maintainers; [ ]);
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ stdenv
|
{ stdenv
|
||||||
, lib
|
, lib
|
||||||
, fetchurl
|
, fetchurl
|
||||||
|
, fetchpatch2
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, python3
|
, python3
|
||||||
, freetype
|
, freetype
|
||||||
|
@ -14,15 +15,25 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "fontconfig";
|
pname = "fontconfig";
|
||||||
version = "2.14.0";
|
version = "2.14.2";
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
|
outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.freedesktop.org/software/fontconfig/release/${pname}-${version}.tar.xz";
|
url = "https://www.freedesktop.org/software/fontconfig/release/${pname}-${version}.tar.xz";
|
||||||
sha256 = "3L64TJx0u/2xM9U1/hx77cnyIhqNrzkUuYTETFIOm6w=";
|
hash = "sha256-26aVtXvOFQI9LO7e+CBiwrkl5R9dTMSu9zbPE/YKRos=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Provide 11-lcdfilter-none.conf for NixOS module
|
||||||
|
# https://gitlab.freedesktop.org/fontconfig/fontconfig/-/merge_requests/268
|
||||||
|
(fetchpatch2 {
|
||||||
|
name = "add-optional-11-lcdfilter-none-configuration.patch";
|
||||||
|
url = "https://gitlab.freedesktop.org/fontconfig/fontconfig/-/commit/c2666a6d9a6ed18b1bfcef8176e25f62993e24db.patch";
|
||||||
|
hash = "sha256-UBzkxy3uxFO+g0aQtPnBZv7OncgQdinwzNwWS8ngjcE=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
gperf
|
gperf
|
||||||
|
|
|
@ -56,11 +56,11 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "glib";
|
pname = "glib";
|
||||||
version = "2.76.2";
|
version = "2.76.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/glib/${lib.versions.majorMinor finalAttrs.version}/glib-${finalAttrs.version}.tar.xz";
|
url = "mirror://gnome/sources/glib/${lib.versions.majorMinor finalAttrs.version}/glib-${finalAttrs.version}.tar.xz";
|
||||||
sha256 = "JPOEeFex2GdM2wOJo27ewPE8ZmzTznJ+zTQOudqKyp4=";
|
sha256 = "wL5ETkA9fDGE0fOU+J8LZEcQtekzG1T6TotQN4E60yo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = lib.optionals stdenv.isDarwin [
|
patches = lib.optionals stdenv.isDarwin [
|
||||||
|
|
|
@ -125,6 +125,8 @@ stdenv.mkDerivation rec {
|
||||||
"-DGOOGLE_CLOUD_CPP_ENABLE=${lib.concatStringsSep ";" apis}"
|
"-DGOOGLE_CLOUD_CPP_ENABLE=${lib.concatStringsSep ";" apis}"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
requiredSystemFeatures = [ "big-parallel" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
license = with licenses; [ asl20 ];
|
license = with licenses; [ asl20 ];
|
||||||
homepage = "https://github.com/googleapis/google-cloud-cpp";
|
homepage = "https://github.com/googleapis/google-cloud-cpp";
|
||||||
|
|
|
@ -34,13 +34,10 @@
|
||||||
, qt6Support ? false, qt6
|
, qt6Support ? false, qt6
|
||||||
, raspiCameraSupport ? false, libraspberrypi
|
, raspiCameraSupport ? false, libraspberrypi
|
||||||
, enableJack ? true, libjack2
|
, enableJack ? true, libjack2
|
||||||
, libXdamage
|
, enableX11 ? stdenv.isLinux, xorg
|
||||||
, libXext
|
|
||||||
, libXfixes
|
|
||||||
, ncurses
|
, ncurses
|
||||||
, wayland
|
, wayland
|
||||||
, wayland-protocols
|
, wayland-protocols
|
||||||
, xorg
|
|
||||||
, libgudev
|
, libgudev
|
||||||
, wavpack
|
, wavpack
|
||||||
, glib
|
, glib
|
||||||
|
@ -105,15 +102,14 @@ stdenv.mkDerivation rec {
|
||||||
mpg123
|
mpg123
|
||||||
twolame
|
twolame
|
||||||
libintl
|
libintl
|
||||||
libXdamage
|
|
||||||
libXext
|
|
||||||
libXfixes
|
|
||||||
ncurses
|
ncurses
|
||||||
xorg.libXfixes
|
|
||||||
xorg.libXdamage
|
|
||||||
wavpack
|
wavpack
|
||||||
] ++ lib.optionals raspiCameraSupport [
|
] ++ lib.optionals raspiCameraSupport [
|
||||||
libraspberrypi
|
libraspberrypi
|
||||||
|
] ++ lib.optionals enableX11 [
|
||||||
|
xorg.libXext
|
||||||
|
xorg.libXfixes
|
||||||
|
xorg.libXdamage
|
||||||
] ++ lib.optionals gtkSupport [
|
] ++ lib.optionals gtkSupport [
|
||||||
# for gtksink
|
# for gtksink
|
||||||
gtk3
|
gtk3
|
||||||
|
@ -149,6 +145,8 @@ stdenv.mkDerivation rec {
|
||||||
"-Dqt6=disabled"
|
"-Dqt6=disabled"
|
||||||
] ++ lib.optionals (!gtkSupport) [
|
] ++ lib.optionals (!gtkSupport) [
|
||||||
"-Dgtk3=disabled"
|
"-Dgtk3=disabled"
|
||||||
|
] ++ lib.optionals (!enableX11) [
|
||||||
|
"-Dximagesrc=disabled" # Linux-only
|
||||||
] ++ lib.optionals (!enableJack) [
|
] ++ lib.optionals (!enableJack) [
|
||||||
"-Djack=disabled"
|
"-Djack=disabled"
|
||||||
] ++ lib.optionals (!stdenv.isLinux) [
|
] ++ lib.optionals (!stdenv.isLinux) [
|
||||||
|
@ -158,7 +156,6 @@ stdenv.mkDerivation rec {
|
||||||
"-Dpulse=disabled" # TODO check if we can keep this enabled
|
"-Dpulse=disabled" # TODO check if we can keep this enabled
|
||||||
"-Dv4l2-gudev=disabled" # Linux-only
|
"-Dv4l2-gudev=disabled" # Linux-only
|
||||||
"-Dv4l2=disabled" # Linux-only
|
"-Dv4l2=disabled" # Linux-only
|
||||||
"-Dximagesrc=disabled" # Linux-only
|
|
||||||
] ++ lib.optionals (!raspiCameraSupport) [
|
] ++ lib.optionals (!raspiCameraSupport) [
|
||||||
"-Drpicamsrc=disabled"
|
"-Drpicamsrc=disabled"
|
||||||
];
|
];
|
||||||
|
|
|
@ -63,7 +63,7 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "gtk+3";
|
pname = "gtk+3";
|
||||||
version = "3.24.37";
|
version = "3.24.38";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
|
outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
|
||||||
outputBin = "dev";
|
outputBin = "dev";
|
||||||
|
@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
inherit (finalAttrs) version;
|
inherit (finalAttrs) version;
|
||||||
in fetchurl {
|
in fetchurl {
|
||||||
url = "mirror://gnome/sources/gtk+/${lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
|
url = "mirror://gnome/sources/gtk+/${lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
|
||||||
sha256 = "sha256-Z0XwtMBTeUFR/Q8OJHSwd8zP9fg+ndG/PTn+n+X7f1c=";
|
sha256 = "sha256-zhHezwGLJb3YUFVEpPhyQoVOyIvgVNmt5fOiBETdjuc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
|
||||||
# Fix warnings from preprocessor instructions.
|
# Fix warnings from preprocessor instructions.
|
||||||
# https://github.com/NixOS/nixpkgs/issues/59929
|
# https://github.com/NixOS/nixpkgs/issues/59929
|
||||||
./preprocessor-warnings.patch
|
./preprocessor-warnings.patch
|
||||||
|
# `configure` defines a test `main` with an implicit `int` return, which clang 16 disallows.
|
||||||
|
./fix-configure-main.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -55,7 +57,13 @@ stdenv.mkDerivation rec {
|
||||||
# cross-compiling, but `autoreconfHook` brings in `makeWrapper` which
|
# cross-compiling, but `autoreconfHook` brings in `makeWrapper` which
|
||||||
# doesn't work with the bootstrapTools bash, so can only do this for
|
# doesn't work with the bootstrapTools bash, so can only do this for
|
||||||
# cross builds when `stdenv.shell` is a newer bash.
|
# cross builds when `stdenv.shell` is a newer bash.
|
||||||
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) autoreconfHook;
|
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform
|
||||||
|
# The provided `configure` script fails on clang 16 because some tests have a `main`
|
||||||
|
# returning an implicit `int`, which clang 16 treats as an error. Running `autoreconf` fixes
|
||||||
|
# the test and allows `configure` to detect clang properly.
|
||||||
|
# This is done only for clang on Darwin because the Darwin stdenv bootstrap does not use
|
||||||
|
# libelf, so should be safe because it will always be run with a compatible version of bash.
|
||||||
|
|| (stdenv.cc.isClang && stdenv.isDarwin)) autoreconfHook;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "ELF object file access library";
|
description = "ELF object file access library";
|
||||||
|
|
12
pkgs/development/libraries/libelf/fix-configure-main.patch
Normal file
12
pkgs/development/libraries/libelf/fix-configure-main.patch
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
diff -ur a/configure.in b/configure.in
|
||||||
|
--- a/configure.in 2008-05-23 04:17:56.000000000 -0400
|
||||||
|
+++ b/configure.in 2023-06-01 19:16:04.801921924 -0400
|
||||||
|
@@ -282,7 +282,7 @@
|
||||||
|
#define memmove(d,s,n) bcopy((s),(d),(n))
|
||||||
|
#endif
|
||||||
|
extern int strcmp();
|
||||||
|
-main() {
|
||||||
|
+int main() {
|
||||||
|
char buf[] = "0123456789";
|
||||||
|
memmove(buf + 1, buf, 9);
|
||||||
|
if (strcmp(buf, "0012345678")) exit(1);
|
|
@ -1,26 +1,67 @@
|
||||||
{ lib, stdenv, fetchurl
|
{ lib
|
||||||
, fixedPoint ? false, withCustomModes ? true }:
|
, stdenv
|
||||||
|
, fetchpatch
|
||||||
|
, fetchurl
|
||||||
|
, meson
|
||||||
|
, python3
|
||||||
|
, ninja
|
||||||
|
, fixedPoint ? false
|
||||||
|
, withCustomModes ? true
|
||||||
|
|
||||||
|
# tests
|
||||||
|
, ffmpeg-headless
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libopus";
|
pname = "libopus";
|
||||||
version = "1.3.1";
|
version = "1.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/opus/opus-${version}.tar.gz";
|
url = "https://downloads.xiph.org/releases/opus/opus-${version}.tar.gz";
|
||||||
sha256 = "17gz8kxs4i7icsc1gj713gadiapyklynlwqlf0ai98dj4lg8xdb5";
|
sha256 = "sha256-ybMrQlO+WuY9H/Fu6ga5S18PKVG3oCrO71jjo85JxR8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./fix-pkg-config-paths.patch
|
||||||
|
# Fix meson build for arm64. Remove with next release
|
||||||
|
# https://gitlab.xiph.org/xiph/opus/-/merge_requests/59
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.xiph.org/xiph/opus/-/commit/20c032d27c59d65b19b8ffbb2608e5282fe817eb.patch";
|
||||||
|
hash = "sha256-2pX+0ay5PTyHL2plameBX2L1Q4aTx7V7RGiTdhNIuE4=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patchShebangs meson/
|
||||||
|
'';
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
configureFlags = lib.optional fixedPoint "--enable-fixed-point"
|
nativeBuildInputs = [
|
||||||
++ lib.optional withCustomModes "--enable-custom-modes";
|
meson
|
||||||
|
python3
|
||||||
|
ninja
|
||||||
|
];
|
||||||
|
|
||||||
|
mesonFlags = [
|
||||||
|
(lib.mesonBool "fixed-point" fixedPoint)
|
||||||
|
(lib.mesonBool "custom-modes" withCustomModes)
|
||||||
|
(lib.mesonEnable "asm" false)
|
||||||
|
(lib.mesonEnable "docs" false)
|
||||||
|
];
|
||||||
|
|
||||||
doCheck = !stdenv.isi686 && !stdenv.isAarch32; # test_unit_LPC_inv_pred_gain fails
|
doCheck = !stdenv.isi686 && !stdenv.isAarch32; # test_unit_LPC_inv_pred_gain fails
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
inherit ffmpeg-headless;
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Open, royalty-free, highly versatile audio codec";
|
description = "Open, royalty-free, highly versatile audio codec";
|
||||||
license = lib.licenses.bsd3;
|
homepage = "https://opus-codec.org/";
|
||||||
homepage = "https://www.opus-codec.org/";
|
changelog = "https://gitlab.xiph.org/xiph/opus/-/releases/v${version}";
|
||||||
|
license = licenses.bsd3;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
--- i/meson.build
|
||||||
|
+++ w/meson.build
|
||||||
|
@@ -591,8 +591,8 @@ pkgconf = configuration_data()
|
||||||
|
|
||||||
|
pkgconf.set('prefix', join_paths(get_option('prefix')))
|
||||||
|
pkgconf.set('exec_prefix', '${prefix}')
|
||||||
|
-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
|
||||||
|
-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
|
||||||
|
+pkgconf.set('libdir', '${prefix}' / get_option('libdir'))
|
||||||
|
+pkgconf.set('includedir', '${prefix}' / get_option('includedir'))
|
||||||
|
pkgconf.set('VERSION', opus_version)
|
||||||
|
pkgconf.set('PC_BUILD', pc_build)
|
||||||
|
pkgconf.set('LIBM', libm.found() ? '-lm' : '')
|
|
@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
outputs = [ "out" "dev" "devdoc" ];
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
|
|
||||||
buildInputs = [ openssl zlib ]
|
propagatedBuildInputs = [ openssl ]; # see Libs: in libssh2.pc
|
||||||
|
buildInputs = [ zlib ]
|
||||||
++ lib.optional stdenv.hostPlatform.isMinGW windows.mingw_w64;
|
++ lib.optional stdenv.hostPlatform.isMinGW windows.mingw_w64;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libwacom";
|
pname = "libwacom";
|
||||||
version = "2.6.0";
|
version = "2.7.0";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||||
owner = "linuxwacom";
|
owner = "linuxwacom";
|
||||||
repo = "libwacom";
|
repo = "libwacom";
|
||||||
rev = "libwacom-${version}";
|
rev = "libwacom-${version}";
|
||||||
sha256 = "sha256-9zqW6zPrFcxv/yAAtFgdVavKVMXeDBoMP3E/XriUcT0=";
|
sha256 = "sha256-NNfhZMshM5U/EfJHuNgkDe5NEkEGKtJ56vSpXyGf/xw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -7,8 +7,8 @@ let
|
||||||
libwacom-surface = fetchFromGitHub {
|
libwacom-surface = fetchFromGitHub {
|
||||||
owner = "linux-surface";
|
owner = "linux-surface";
|
||||||
repo = "libwacom-surface";
|
repo = "libwacom-surface";
|
||||||
rev = "v2.6.0-1";
|
rev = "v2.7.0-1";
|
||||||
hash = "sha256-4UOO9LMyCJd4LkqU0uva/0Xc44fIVdIQi27tJOtNEFk=";
|
hash = "sha256-LgJ8YFQQN05kyd6kxBakIIiGgZ9icW27xKK3Dz6TwLs=";
|
||||||
};
|
};
|
||||||
in libwacom.overrideAttrs (old: {
|
in libwacom.overrideAttrs (old: {
|
||||||
pname = "libwacom-surface";
|
pname = "libwacom-surface";
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "libxcrypt";
|
pname = "libxcrypt";
|
||||||
version = "4.4.33";
|
version = "4.4.35";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/besser82/libxcrypt/releases/download/v${finalAttrs.version}/libxcrypt-${finalAttrs.version}.tar.xz";
|
url = "https://github.com/besser82/libxcrypt/releases/download/v${finalAttrs.version}/libxcrypt-${finalAttrs.version}.tar.xz";
|
||||||
hash = "sha256-6HrPnGUsVzpHE9VYIVn5jzBdVu1fdUzmT1fUGU1rOm8=";
|
hash = "sha256-qMk1UFtV8d8NF/i/1ZRox8Zwmh0xgxsPjj4EWrj9RV0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
|
@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
enabledCryptSchemeIds = [
|
enabledCryptSchemeIds = [
|
||||||
# https://github.com/besser82/libxcrypt/blob/v4.4.33/lib/hashes.conf
|
# https://github.com/besser82/libxcrypt/blob/v4.4.35/lib/hashes.conf
|
||||||
"y" # yescrypt
|
"y" # yescrypt
|
||||||
"gy" # gost_yescrypt
|
"gy" # gost_yescrypt
|
||||||
"7" # scrypt
|
"7" # scrypt
|
||||||
|
@ -58,6 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
changelog = "https://github.com/besser82/libxcrypt/blob/v${finalAttrs.version}/NEWS";
|
||||||
description = "Extended crypt library for descrypt, md5crypt, bcrypt, and others";
|
description = "Extended crypt library for descrypt, md5crypt, bcrypt, and others";
|
||||||
homepage = "https://github.com/besser82/libxcrypt/";
|
homepage = "https://github.com/besser82/libxcrypt/";
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
|
|
@ -85,8 +85,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "23.1.1";
|
version = "23.1.2";
|
||||||
hash = "sha256-omeQMe1bc7KcTwQqxk2W+DsM/khYYX3jLi78GWxlOkA=";
|
hash = "sha256-YLHzrbFWGDDBWL88aFCJQ2dPudafOEw8colpQ4WrXH4=";
|
||||||
|
|
||||||
# Release calendar: https://www.mesa3d.org/release-calendar.html
|
# Release calendar: https://www.mesa3d.org/release-calendar.html
|
||||||
# Release frequency: https://www.mesa3d.org/releasing.html#schedule
|
# Release frequency: https://www.mesa3d.org/releasing.html#schedule
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{ callPackage, fetchurl }:
|
{ callPackage, fetchurl }:
|
||||||
|
|
||||||
callPackage ./generic.nix rec {
|
callPackage ./generic.nix rec {
|
||||||
version = "3.9";
|
version = "3.9.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
|
url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
|
||||||
hash = "sha256-Duet9acgFhC7f+Csu3ybO+g75EkE3TXrvNllzYlr/qo=";
|
hash = "sha256-zP7/mBsMpxu9b7ywVPQHxg/7ZEOJpb6A1nFtW1UMbOM=";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ stdenv
|
{ stdenv
|
||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
, cmake
|
, cmake
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
@ -21,6 +22,24 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||||
hash = "sha256-SUdhIV7tjtacf5DkoWk9cnkfyMlrkg8ZU7XnPZd22Tw=";
|
hash = "sha256-SUdhIV7tjtacf5DkoWk9cnkfyMlrkg8ZU7XnPZd22Tw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Backport fix for gcc-13:
|
||||||
|
# https://github.com/nlohmann/json/pull/3895
|
||||||
|
(fetchpatch {
|
||||||
|
name = "gcc-13-rebind.patch";
|
||||||
|
url = "https://github.com/nlohmann/json/commit/a5b09d50b786638ed9deb09ef13860a3cb64eb6b.patch";
|
||||||
|
hash = "sha256-Jbi0VwZP+ZHTGbpIwgKCVc66gOmwjkT5iOUe85eIzM0=";
|
||||||
|
})
|
||||||
|
|
||||||
|
# Backport fix for gcc-13:
|
||||||
|
# https://github.com/nlohmann/json/pull/3950
|
||||||
|
(fetchpatch {
|
||||||
|
name = "gcc-13-eq-op.patch";
|
||||||
|
url = "https://github.com/nlohmann/json/commit/a49829bd984c0282be18fcec070df0c31bf77dd5.patch";
|
||||||
|
hash = "sha256-D+cRtdN6AXr4z3/y9Ui7Zqp3e/y10tp+DOL80ZtPz5E=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ocl-icd";
|
pname = "ocl-icd";
|
||||||
version = "2.3.1";
|
version = "2.3.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "OCL-dev";
|
owner = "OCL-dev";
|
||||||
repo = "ocl-icd";
|
repo = "ocl-icd";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1km2rqc9pw6xxkqp77a22pxfsb5kgw95w9zd15l5jgvyjb6rqqad";
|
sha256 = "sha256-nx9Zz5DpS29g1HRIwPAQi6i+d7Blxd53WQ7Sb1a3FHg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -28,13 +28,35 @@ stdenv.mkDerivation rec {
|
||||||
extraPrefix = "OpenEXR/IlmImf/";
|
extraPrefix = "OpenEXR/IlmImf/";
|
||||||
sha256 = "1wa2jn6sa0n3phaqvklnlbgk1bz60y756ad4jk4d757pzpnannsy";
|
sha256 = "1wa2jn6sa0n3phaqvklnlbgk1bz60y756ad4jk4d757pzpnannsy";
|
||||||
})
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2021-3933.patch";
|
||||||
|
url = "https://github.com/AcademySoftwareFoundation/openexr/commit/5db6f7aee79e3e75e8c3780b18b28699614dd08e.patch";
|
||||||
|
stripLen = 4;
|
||||||
|
extraPrefix = "OpenEXR/IlmImf/";
|
||||||
|
sha256 = "sha256-DrpldpNgN5pWKzIuuPIrynGX3EpP8YhJlu+lLfNFGxQ=";
|
||||||
|
})
|
||||||
|
|
||||||
|
# Backport gcc-13 fix:
|
||||||
|
# https://github.com/AcademySoftwareFoundation/openexr/pull/1264
|
||||||
|
./gcc-13.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# tests are determined to use /var/tmp on unix
|
||||||
|
postPatch = ''
|
||||||
|
find . -name tmpDir.h | while read -r f ; do
|
||||||
|
substituteInPlace $f --replace '/var/tmp' "$TMPDIR"
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
cmakeFlags = lib.optional stdenv.hostPlatform.isStatic "-DCMAKE_SKIP_RPATH=ON";
|
cmakeFlags = lib.optional stdenv.hostPlatform.isStatic "-DCMAKE_SKIP_RPATH=ON";
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
propagatedBuildInputs = [ ilmbase zlib ];
|
propagatedBuildInputs = [ ilmbase zlib ];
|
||||||
|
|
||||||
|
# https://github.com/AcademySoftwareFoundation/openexr/issues/1400
|
||||||
|
# https://github.com/AcademySoftwareFoundation/openexr/issues/1281
|
||||||
|
doCheck = !stdenv.isAarch32 && !stdenv.isi686;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A high dynamic-range (HDR) image file format";
|
description = "A high dynamic-range (HDR) image file format";
|
||||||
homepage = "https://www.openexr.com/";
|
homepage = "https://www.openexr.com/";
|
||||||
|
|
33
pkgs/development/libraries/openexr/gcc-13.patch
Normal file
33
pkgs/development/libraries/openexr/gcc-13.patch
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
https://github.com/AcademySoftwareFoundation/openexr/pull/1264
|
||||||
|
https://github.com/AcademySoftwareFoundation/openexr/commit/d0088a3c6943a9a53fc24e29885414d082d531fe.patch
|
||||||
|
|
||||||
|
--- a/OpenEXR/IlmImf/ImfDwaCompressor.cpp
|
||||||
|
+++ b/OpenEXR/IlmImf/ImfDwaCompressor.cpp
|
||||||
|
@@ -159,6 +159,7 @@
|
||||||
|
#include <limits>
|
||||||
|
|
||||||
|
#include <cstddef>
|
||||||
|
+#include <cstdint>
|
||||||
|
|
||||||
|
|
||||||
|
// Windows specific addition to prevent the indirect import of the redefined min/max macros
|
||||||
|
--- a/OpenEXR/IlmImf/ImfHuf.cpp
|
||||||
|
+++ b/OpenEXR/IlmImf/ImfHuf.cpp
|
||||||
|
@@ -53,6 +53,7 @@
|
||||||
|
#include <cstring>
|
||||||
|
#include <cassert>
|
||||||
|
#include <algorithm>
|
||||||
|
+#include <cstdint>
|
||||||
|
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
--- a/OpenEXR/IlmImf/ImfMisc.cpp
|
||||||
|
+++ b/OpenEXR/IlmImf/ImfMisc.cpp
|
||||||
|
@@ -52,6 +52,7 @@
|
||||||
|
#include <ImfConvert.h>
|
||||||
|
#include <ImfPartType.h>
|
||||||
|
#include <ImfTileDescription.h>
|
||||||
|
+#include <cstdint>
|
||||||
|
#include "ImfNamespace.h"
|
||||||
|
|
||||||
|
OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_ENTER
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "qpdf";
|
pname = "qpdf";
|
||||||
version = "11.3.0";
|
version = "11.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "qpdf";
|
owner = "qpdf";
|
||||||
repo = "qpdf";
|
repo = "qpdf";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-UZq973X93E+Ll1IKjfJNPQuQwBFOU3egFGODgXV21x0=";
|
hash = "sha256-cG8TxgWXZGol7X2eRQNeknMo4L8PoWSMvxOsDVO/Rx4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake perl ];
|
nativeBuildInputs = [ cmake perl ];
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "s2n-tls";
|
pname = "s2n-tls";
|
||||||
version = "1.3.44";
|
version = "1.3.45";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "aws";
|
owner = "aws";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-8YF9PhxTrXQBTUJvTrJZFDVijQecTeZ1ayGuvQRqGEE=";
|
sha256 = "sha256-ZipZXCwat3H0NoUX9T6XB7/qMRvViB2QrYpgj0U41nU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
|
@ -23,6 +23,12 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [ freetype ];
|
buildInputs = [ freetype ];
|
||||||
|
|
||||||
patches = lib.optionals stdenv.isDarwin [ ./macosx.patch ];
|
patches = lib.optionals stdenv.isDarwin [ ./macosx.patch ];
|
||||||
|
postPatch = ''
|
||||||
|
# disable broken 'nametabletest' test, fails on gcc-13:
|
||||||
|
# https://github.com/silnrsi/graphite/pull/74
|
||||||
|
substituteInPlace tests/CMakeLists.txt \
|
||||||
|
--replace 'add_subdirectory(nametabletest)' '#add_subdirectory(nametabletest)'
|
||||||
|
'';
|
||||||
|
|
||||||
cmakeFlags = lib.optionals static [
|
cmakeFlags = lib.optionals static [
|
||||||
"-DBUILD_SHARED_LIBS=OFF"
|
"-DBUILD_SHARED_LIBS=OFF"
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, cmake, asciidoc, pkg-config, libsodium
|
{ lib
|
||||||
, enableDrafts ? false }:
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
|
, cmake
|
||||||
|
, asciidoc
|
||||||
|
, pkg-config
|
||||||
|
, libsodium
|
||||||
|
, enableDrafts ? false
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "zeromq";
|
pname = "zeromq";
|
||||||
|
@ -12,6 +20,16 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "sha256-epOEyHOswUGVwzz0FLxhow/zISmZHxsIgmpOV8C8bQM=";
|
sha256 = "sha256-epOEyHOswUGVwzz0FLxhow/zISmZHxsIgmpOV8C8bQM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Backport gcc-13 fix:
|
||||||
|
# https://github.com/zeromq/libzmq/pull/4480
|
||||||
|
(fetchpatch {
|
||||||
|
name = "gcc-13.patch";
|
||||||
|
url = "https://github.com/zeromq/libzmq/commit/438d5d88392baffa6c2c5e0737d9de19d6686f0d.patch";
|
||||||
|
hash = "sha256-tSTYSrQzgnfbY/70QhPdOnpEXX05VAYwVYuW8P1LWf0=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake asciidoc pkg-config ];
|
nativeBuildInputs = [ cmake asciidoc pkg-config ];
|
||||||
buildInputs = [ libsodium ];
|
buildInputs = [ libsodium ];
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,9 @@
|
||||||
, hatchling
|
, hatchling
|
||||||
, pyflakes
|
, pyflakes
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
|
, pythonOlder
|
||||||
|
, tomli
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "autoflake";
|
pname = "autoflake";
|
||||||
version = "2.0.1";
|
version = "2.0.1";
|
||||||
|
@ -22,7 +23,8 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
pyflakes
|
pyflakes
|
||||||
];
|
]
|
||||||
|
++ lib.optional (pythonOlder "3.11") tomli;
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
|
|
|
@ -23,8 +23,7 @@ buildPythonPackage rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
# "hypothesis" indirectly depends on chardet to build its documentation.
|
hypothesis
|
||||||
(hypothesis.override { enableDocumentation = false; })
|
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -72,8 +72,7 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
cryptography-vectors
|
cryptography-vectors
|
||||||
# "hypothesis" indirectly depends on cryptography to build its documentation
|
hypothesis
|
||||||
(hypothesis.override { enableDocumentation = false; })
|
|
||||||
iso8601
|
iso8601
|
||||||
pretend
|
pretend
|
||||||
py
|
py
|
||||||
|
|
|
@ -3,20 +3,21 @@
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
, hatch-vcs
|
, hatch-vcs
|
||||||
, hatchling
|
, hatchling
|
||||||
|
, pytest-mock
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "filelock";
|
pname = "filelock";
|
||||||
version = "3.9.0";
|
version = "3.12.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-ezGfJDQLUfVaK/ehKsB1WpsD5xgxHaxWeg9Pf6vS9d4=";
|
hash = "sha256-/AOuQyiMAT0uqDyFlwAbESnbNRqtnFf+JAkyeRa45xg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -25,6 +26,7 @@ buildPythonPackage rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
|
pytest-mock
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,13 @@ buildPythonPackage rec {
|
||||||
sha256 = "5a6188fe2666c484a12159c18be97a1977a71d632ef5bb867ef15f54af39cc4e";
|
sha256 = "5a6188fe2666c484a12159c18be97a1977a71d632ef5bb867ef15f54af39cc4e";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# With python 3.11.4, invalid IPv6 address does throw ValueError
|
||||||
|
# https://github.com/gruns/furl/issues/164#issuecomment-1595637359
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace tests/test_furl.py \
|
||||||
|
--replace '[0:0:0:0:0:0:0:1:1:1:1:1:1:1:1:9999999999999]' '[2001:db8::9999]'
|
||||||
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
orderedmultidict
|
orderedmultidict
|
||||||
six
|
six
|
||||||
|
|
|
@ -8,21 +8,21 @@
|
||||||
, doCheck ? true
|
, doCheck ? true
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pytest-xdist
|
, pytest-xdist
|
||||||
|
, python
|
||||||
, sortedcontainers
|
, sortedcontainers
|
||||||
|
, stdenv
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, sphinxHook
|
, sphinxHook
|
||||||
, sphinx-rtd-theme
|
, sphinx-rtd-theme
|
||||||
, sphinx-hoverxref
|
, sphinx-hoverxref
|
||||||
, sphinx-codeautolink
|
, sphinx-codeautolink
|
||||||
, tzdata
|
, tzdata
|
||||||
# Used to break internal dependency loop.
|
|
||||||
, enableDocumentation ? true
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "hypothesis";
|
pname = "hypothesis";
|
||||||
version = "6.68.2";
|
version = "6.68.2";
|
||||||
outputs = [ "out" ] ++ lib.optional enableDocumentation "doc";
|
outputs = [ "out" ];
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -49,13 +49,6 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
postUnpack = "sourceRoot=$sourceRoot/hypothesis-python";
|
postUnpack = "sourceRoot=$sourceRoot/hypothesis-python";
|
||||||
|
|
||||||
nativeBuildInputs = lib.optionals enableDocumentation [
|
|
||||||
sphinxHook
|
|
||||||
sphinx-rtd-theme
|
|
||||||
sphinx-hoverxref
|
|
||||||
sphinx-codeautolink
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
attrs
|
attrs
|
||||||
sortedcontainers
|
sortedcontainers
|
||||||
|
@ -67,7 +60,7 @@ buildPythonPackage rec {
|
||||||
pexpect
|
pexpect
|
||||||
pytest-xdist
|
pytest-xdist
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
] ++ lib.optionals (isPyPy) [
|
] ++ lib.optionals isPyPy [
|
||||||
tzdata
|
tzdata
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -86,6 +79,30 @@ buildPythonPackage rec {
|
||||||
"hypothesis"
|
"hypothesis"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
doc = stdenv.mkDerivation {
|
||||||
|
# Forge look and feel of multi-output derivation as best as we can.
|
||||||
|
#
|
||||||
|
# Using 'outputs = [ "doc" ];' breaks a lot of assumptions.
|
||||||
|
name = "${pname}-${version}-doc";
|
||||||
|
inherit src pname version;
|
||||||
|
|
||||||
|
postInstallSphinx = ''
|
||||||
|
mv $out/share/doc/* $out/share/doc/python$pythonVersion-$pname-$version
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
sphinxHook
|
||||||
|
sphinx-rtd-theme
|
||||||
|
sphinx-hoverxref
|
||||||
|
sphinx-codeautolink
|
||||||
|
];
|
||||||
|
|
||||||
|
inherit (python) pythonVersion;
|
||||||
|
inherit meta;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Library for property based testing";
|
description = "Library for property based testing";
|
||||||
homepage = "https://github.com/HypothesisWorks/hypothesis";
|
homepage = "https://github.com/HypothesisWorks/hypothesis";
|
||||||
|
|
|
@ -25,8 +25,7 @@ buildPythonPackage rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
# "hypothesis" indirectly depends on iso8601 to build its documentation
|
hypothesis
|
||||||
(hypothesis.override { enableDocumentation = false; })
|
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
pytz
|
pytz
|
||||||
];
|
];
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "markupsafe";
|
pname = "markupsafe";
|
||||||
version = "2.1.2";
|
version = "2.1.3";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -15,7 +15,7 @@ buildPythonPackage rec {
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "MarkupSafe";
|
pname = "MarkupSafe";
|
||||||
inherit version;
|
inherit version;
|
||||||
hash = "sha256-q8q8jCsmA21i1MdGOBpvfPYKr8xlMZitZ4MGmGsJRQ0=";
|
hash = "sha256-r1mO0y1q6G8bdHuCeDlYsaSrj2F7Bv5oeVx/Amq73K0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
|
@ -25,6 +25,7 @@ buildPythonPackage rec {
|
||||||
pythonImportsCheck = [ "markupsafe" ];
|
pythonImportsCheck = [ "markupsafe" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
changelog = "https://markupsafe.palletsprojects.com/en/${versions.majorMinor version}.x/changes/#version-${replaceStrings [ "." ] [ "-" ] version}";
|
||||||
description = "Implements a XML/HTML/XHTML Markup safe string";
|
description = "Implements a XML/HTML/XHTML Markup safe string";
|
||||||
homepage = "https://palletsprojects.com/p/markupsafe/";
|
homepage = "https://palletsprojects.com/p/markupsafe/";
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
|
|
|
@ -76,8 +76,7 @@ in buildPythonPackage rec {
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
pytest
|
pytest
|
||||||
# "hypothesis" indirectly depends on numpy to build its documentation.
|
hypothesis
|
||||||
(hypothesis.override { enableDocumentation = false; })
|
|
||||||
typing-extensions
|
typing-extensions
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -44,8 +44,7 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
glibcLocales
|
glibcLocales
|
||||||
# hypothesis indirectly depends on pandas to build its documentation
|
hypothesis
|
||||||
(hypothesis.override { enableDocumentation = false; })
|
|
||||||
jinja2
|
jinja2
|
||||||
pytest-asyncio
|
pytest-asyncio
|
||||||
pytest-xdist
|
pytest-xdist
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "platformdirs";
|
pname = "platformdirs";
|
||||||
version = "3.0.0";
|
version = "3.5.1";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-RiZ26BGqS8nN5qHpUt7LIXSck/cGM8qlet3uL81TyPo=";
|
hash = "sha256-/qi22jiF+P7XcG/D+dxoOrHk89amdBoGewrTqZZOsoM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||||
|
|
|
@ -18,6 +18,13 @@ buildPythonPackage rec {
|
||||||
hash = "sha256-NHGHvbR2Mp2Y9pXCE9cpWoRtEVL/T+m6y4qVkLjucFM=";
|
hash = "sha256-NHGHvbR2Mp2Y9pXCE9cpWoRtEVL/T+m6y4qVkLjucFM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# https://github.com/PyCQA/pycodestyle/issues/1151
|
||||||
|
# Applies a modified version of an upstream patch that only applied
|
||||||
|
# to Python 3.12.
|
||||||
|
./python-3.11.4-compat.patch
|
||||||
|
];
|
||||||
|
|
||||||
# https://github.com/PyCQA/pycodestyle/blob/2.10.0/tox.ini#L13
|
# https://github.com/PyCQA/pycodestyle/blob/2.10.0/tox.ini#L13
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
${python.interpreter} -m pycodestyle --statistics pycodestyle.py
|
${python.interpreter} -m pycodestyle --statistics pycodestyle.py
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
diff --git a/testsuite/test_api.py b/testsuite/test_api.py
|
||||||
|
index 8dde32ff..38e34acf 100644
|
||||||
|
--- a/testsuite/test_api.py
|
||||||
|
+++ b/testsuite/test_api.py
|
||||||
|
@@ -329,7 +329,10 @@ def test_check_nullbytes(self):
|
||||||
|
count_errors = pep8style.input_file('stdin', lines=['\x00\n'])
|
||||||
|
|
||||||
|
stdout = sys.stdout.getvalue()
|
||||||
|
- expected = "stdin:1:1: E901 ValueError"
|
||||||
|
+ if sys.version_info < (3, 11, 4):
|
||||||
|
+ expected = "stdin:1:1: E901 ValueError"
|
||||||
|
+ else:
|
||||||
|
+ expected = "stdin:1:1: E901 SyntaxError: source code string cannot contain null bytes" # noqa: E501
|
||||||
|
self.assertTrue(stdout.startswith(expected),
|
||||||
|
msg='Output %r does not start with %r' %
|
||||||
|
(stdout, expected))
|
|
@ -2,6 +2,7 @@
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
|
, fetchpatch, isPy311
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -18,6 +19,14 @@ buildPythonPackage rec {
|
||||||
hash = "sha256-7IsnamtgvYDe/tJa3X5DmIHBnmSFCv2bNGKD1BZf0P0=";
|
hash = "sha256-7IsnamtgvYDe/tJa3X5DmIHBnmSFCv2bNGKD1BZf0P0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = lib.optional isPy311 # could be made unconditional on rebuild
|
||||||
|
(fetchpatch {
|
||||||
|
name = "tests-py311.patch";
|
||||||
|
url = "https://github.com/PyCQA/pyflakes/commit/836631f2f73d45baa4021453d89fc9fd6f52be58.diff";
|
||||||
|
hash = "sha256-xlgql+bN0HsGnTMkwax3ZG/5wrbkUl/kQkjlr3lsgRw=";
|
||||||
|
})
|
||||||
|
;
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
];
|
];
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "sentry-sdk";
|
pname = "sentry-sdk";
|
||||||
version = "1.25.0";
|
version = "1.25.1";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -49,7 +49,7 @@ buildPythonPackage rec {
|
||||||
owner = "getsentry";
|
owner = "getsentry";
|
||||||
repo = "sentry-python";
|
repo = "sentry-python";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-aY6oZf6S6jioeL10euxo1ijvzE7FcHQoWjadE21ILA4=";
|
hash = "sha256-I7lsyMJ6akQvpzXEcUrWfomTX+oFYCX7YiE4cf6KAuE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -159,8 +159,7 @@ buildPythonPackage rec {
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
git
|
git
|
||||||
glibcLocales
|
glibcLocales
|
||||||
# "hypothesis" indirectly depends on twisted to build its documentation.
|
hypothesis
|
||||||
(hypothesis.override { enableDocumentation = false; })
|
|
||||||
pyhamcrest
|
pyhamcrest
|
||||||
]
|
]
|
||||||
++ passthru.optional-dependencies.conch
|
++ passthru.optional-dependencies.conch
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
|
, pythonAtLeast
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -25,8 +26,10 @@ buildPythonPackage rec {
|
||||||
"w3lib"
|
"w3lib"
|
||||||
];
|
];
|
||||||
|
|
||||||
disabledTests = [
|
disabledTests = lib.optionals (pythonAtLeast "3.11") [
|
||||||
"test_add_or_replace_parameter"
|
# regressed on Python 3.11.4
|
||||||
|
# https://github.com/scrapy/w3lib/issues/212
|
||||||
|
"test_safe_url_string_url"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
|
, fetchpatch
|
||||||
, pythonAtLeast
|
, pythonAtLeast
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, idna
|
, idna
|
||||||
|
@ -22,6 +23,14 @@ buildPythonPackage rec {
|
||||||
hash = "sha256-SdQ0AsbjATrQl4YCv2v1MoU1xI0ZIwS5G5ejxnkLFWI=";
|
hash = "sha256-SdQ0AsbjATrQl4YCv2v1MoU1xI0ZIwS5G5ejxnkLFWI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# https://github.com/aio-libs/yarl/issues/876
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/aio-libs/yarl/commit/0a94c6e4948e00fff072c0cf367afbf4ac36f906.patch";
|
||||||
|
hash = "sha256-bqT46OLZLkBef8FQ1L95ITD70mC3+WIkr3+h2ekKrvE=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i '/^addopts/d' setup.cfg
|
sed -i '/^addopts/d' setup.cfg
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -29,11 +29,11 @@ assert pythonSupport -> python3 != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = targetPrefix + basename + lib.optionalString hostCpuOnly "-host-cpu-only";
|
pname = targetPrefix + basename + lib.optionalString hostCpuOnly "-host-cpu-only";
|
||||||
version = "13.1";
|
version = "13.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/gdb/${basename}-${version}.tar.xz";
|
url = "mirror://gnu/gdb/${basename}-${version}.tar.xz";
|
||||||
hash = "sha256-EVrVwY1ppr4qsViC02XdoqIhHBT0gLNQLG66V24ulaA=";
|
hash = "sha256-/Vvrt74YM6vbbgI8L0mKNUSYKB350FUj2JFbq+uJPwo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||||
|
@ -48,12 +48,6 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./debug-info-from-env.patch
|
./debug-info-from-env.patch
|
||||||
|
|
||||||
# Backport musl fix
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=2e977d9901393ea1bacbe1896af0929e968bc811";
|
|
||||||
hash = "sha256-/+UYjiOxrszJy1x8xavs63/ptNZ+ISIAQhG+i86VDpA=";
|
|
||||||
})
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
./darwin-target-match.patch
|
./darwin-target-match.patch
|
||||||
];
|
];
|
||||||
|
|
|
@ -11,16 +11,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "maturin";
|
pname = "maturin";
|
||||||
version = "1.0.0";
|
version = "1.0.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "PyO3";
|
owner = "PyO3";
|
||||||
repo = "maturin";
|
repo = "maturin";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-Y/eqkA23gzoCmsFeYqZsK52e6s8ElIdKavL4ay9Q0Zs=";
|
hash = "sha256-iVN6LpikU+TP4P9ZJUVQR/ZNkRHjYLgdDA0aQeWMZfA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-fr7HuMfuErYyPhAdwvj+HluW/K4mSHW/kKcdnWOW1i4=";
|
cargoHash = "sha256-iX4cbZ0PV0/o42f1QKNlAkwHEif2fu+RvhdzH7tWOZE=";
|
||||||
|
|
||||||
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
|
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
|
||||||
|
|
||||||
|
|
|
@ -178,7 +178,7 @@ let
|
||||||
Name: v8
|
Name: v8
|
||||||
Description: V8 JavaScript Engine
|
Description: V8 JavaScript Engine
|
||||||
Version: $major.$minor.$patch
|
Version: $major.$minor.$patch
|
||||||
Libs: -L$libv8/lib -lv8 -pthread -licui18n
|
Libs: -L$libv8/lib -lv8 -pthread -licui18n -licuuc
|
||||||
Cflags: -I$libv8/include
|
Cflags: -I$libv8/include
|
||||||
EOF
|
EOF
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
{ stdenv, fetchurl, xar, cpio, pkgs, python3, pbzx, lib, darwin-stubs, print-reexports }:
|
{ stdenv, fetchurl, libxml2, xar, cpio, pkgs, python3Minimal, pbzx, lib, darwin-stubs, print-reexports }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
xarMinimal = xar.override {
|
||||||
|
libxml2 = libxml2.override { pythonSupport = false; };
|
||||||
|
};
|
||||||
# sadly needs to be exported because security_tool needs it
|
# sadly needs to be exported because security_tool needs it
|
||||||
sdk = stdenv.mkDerivation rec {
|
sdk = stdenv.mkDerivation rec {
|
||||||
pname = "MacOS_SDK";
|
pname = "MacOS_SDK";
|
||||||
|
@ -16,7 +19,7 @@ let
|
||||||
sha256 = "13xq34sb7383b37hwy076gnhf96prpk1b4087p87xnwswxbrisih";
|
sha256 = "13xq34sb7383b37hwy076gnhf96prpk1b4087p87xnwswxbrisih";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ xar cpio python3 pbzx ];
|
nativeBuildInputs = [ xarMinimal cpio python3Minimal pbzx ];
|
||||||
|
|
||||||
outputs = [ "out" "dev" "man" ];
|
outputs = [ "out" "dev" "man" ];
|
||||||
|
|
||||||
|
|
|
@ -1,67 +1,32 @@
|
||||||
{ lib, stdenv, appleDerivation', launchd, bootstrap_cmds, xnu, ppp, IOKit, eap8021x, Security
|
{ lib, stdenv, appleDerivation', launchd, bootstrap_cmds, xnu, xpc, ppp, IOKit, eap8021x, Security
|
||||||
, headersOnly ? false }:
|
, headersOnly ? false }:
|
||||||
|
|
||||||
appleDerivation' stdenv {
|
appleDerivation' stdenv {
|
||||||
meta.broken = stdenv.cc.nativeLibc;
|
meta.broken = stdenv.cc.nativeLibc;
|
||||||
|
|
||||||
nativeBuildInputs = lib.optionals (!headersOnly) [ bootstrap_cmds ];
|
nativeBuildInputs = lib.optionals (!headersOnly) [ bootstrap_cmds ];
|
||||||
buildInputs = lib.optionals (!headersOnly) [ launchd ppp IOKit eap8021x ];
|
buildInputs = lib.optionals (!headersOnly) [ launchd ppp xpc IOKit eap8021x ];
|
||||||
|
|
||||||
propagatedBuildInputs = lib.optionals (!headersOnly) [ Security ];
|
propagatedBuildInputs = lib.optionals (!headersOnly) [ Security ];
|
||||||
|
|
||||||
|
env = lib.optionalAttrs (!headersOnly) {
|
||||||
|
NIX_CFLAGS_COMPILE = toString [
|
||||||
|
"-ISystemConfiguration.framework/Headers"
|
||||||
|
"-I${xnu}/Library/Frameworks/System.framework/Versions/B/PrivateHeaders"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
patchPhase = lib.optionalString (!headersOnly) ''
|
patchPhase = lib.optionalString (!headersOnly) ''
|
||||||
HACK=$PWD/hack
|
substituteInPlace SystemConfiguration.fproj/reachability/SCNetworkReachabilityServer_client.c \
|
||||||
mkdir $HACK
|
--replace '#include <xpc/private.h>' ""
|
||||||
cp -r ${xnu}/Library/Frameworks/System.framework/Versions/B/PrivateHeaders/net $HACK
|
|
||||||
|
|
||||||
|
|
||||||
substituteInPlace SystemConfiguration.fproj/SCNetworkReachabilityInternal.h \
|
|
||||||
--replace '#include <xpc/xpc.h>' ""
|
|
||||||
|
|
||||||
substituteInPlace SystemConfiguration.fproj/SCNetworkReachability.c \
|
substituteInPlace SystemConfiguration.fproj/SCNetworkReachability.c \
|
||||||
--replace ''$'#define\tHAVE_VPN_STATUS' ""
|
--replace ''$'#define\tHAVE_VPN_STATUS' ""
|
||||||
|
|
||||||
substituteInPlace SystemConfiguration.fproj/reachability/SCNetworkReachabilityServer_client.c \
|
|
||||||
--replace '#include <xpc/xpc.h>' '#include "fake_xpc.h"' \
|
|
||||||
--replace '#include <xpc/private.h>' "" \
|
|
||||||
|
|
||||||
# Our neutered CoreFoundation doesn't have this function, but I think we'll live...
|
# Our neutered CoreFoundation doesn't have this function, but I think we'll live...
|
||||||
substituteInPlace SystemConfiguration.fproj/SCNetworkConnectionPrivate.c \
|
substituteInPlace SystemConfiguration.fproj/SCNetworkConnectionPrivate.c \
|
||||||
--replace 'CFPreferencesAppValueIsForced(serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE' \
|
--replace 'CFPreferencesAppValueIsForced(serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE' \
|
||||||
--replace 'CFPreferencesAppValueIsForced(userPrivate->serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE'
|
--replace 'CFPreferencesAppValueIsForced(userPrivate->serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE'
|
||||||
|
|
||||||
cat >SystemConfiguration.fproj/fake_xpc.h <<EOF
|
|
||||||
typedef void *xpc_type_t;
|
|
||||||
typedef void *xpc_object_t;
|
|
||||||
typedef void *xpc_connection_t;
|
|
||||||
|
|
||||||
xpc_type_t xpc_get_type(xpc_object_t object);
|
|
||||||
xpc_object_t xpc_dictionary_create(const char * const *keys, const xpc_object_t *values, size_t count);
|
|
||||||
char *xpc_copy_description(xpc_object_t object);
|
|
||||||
int64_t xpc_dictionary_get_int64(xpc_object_t xdict, const char *key);
|
|
||||||
uint64_t xpc_dictionary_get_uint64(xpc_object_t xdict, const char *key);
|
|
||||||
void xpc_connection_set_event_handler(xpc_connection_t connection, void *handler);
|
|
||||||
|
|
||||||
extern const struct _xpc_type_s _xpc_type_error;
|
|
||||||
#define XPC_TYPE_ERROR (&_xpc_type_error)
|
|
||||||
|
|
||||||
extern const struct _xpc_type_s _xpc_type_dictionary;
|
|
||||||
#define XPC_TYPE_DICTIONARY (&_xpc_type_dictionary)
|
|
||||||
|
|
||||||
extern const struct _xpc_type_s _xpc_type_array;
|
|
||||||
#define XPC_TYPE_ARRAY (&_xpc_type_array)
|
|
||||||
|
|
||||||
extern const struct _xpc_dictionary_s _xpc_error_connection_interrupted;
|
|
||||||
#define XPC_ERROR_CONNECTION_INTERRUPTED (&_xpc_error_connection_interrupted)
|
|
||||||
|
|
||||||
extern const struct _xpc_dictionary_s _xpc_error_connection_invalid;
|
|
||||||
#define XPC_ERROR_CONNECTION_INVALID (&_xpc_error_connection_invalid)
|
|
||||||
|
|
||||||
extern const char *const _xpc_error_key_description;
|
|
||||||
#define XPC_ERROR_KEY_DESCRIPTION _xpc_error_key_description
|
|
||||||
|
|
||||||
#define XPC_CONNECTION_MACH_SERVICE_PRIVILEGED (1 << 1)
|
|
||||||
EOF
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dontBuild = headersOnly;
|
dontBuild = headersOnly;
|
||||||
|
@ -177,9 +142,9 @@ appleDerivation' stdenv {
|
||||||
$CC -I. -Ihelper -Iderived -F. -c DHCP.c -o DHCP.o
|
$CC -I. -Ihelper -Iderived -F. -c DHCP.c -o DHCP.o
|
||||||
$CC -I. -Ihelper -Iderived -F. -c moh.c -o moh.o
|
$CC -I. -Ihelper -Iderived -F. -c moh.c -o moh.o
|
||||||
$CC -I. -Ihelper -Iderived -F. -c DeviceOnHold.c -o DeviceOnHold.o
|
$CC -I. -Ihelper -Iderived -F. -c DeviceOnHold.c -o DeviceOnHold.o
|
||||||
$CC -I. -Ihelper -Iderived -I $HACK -F. -c LinkConfiguration.c -o LinkConfiguration.o
|
$CC -I. -Ihelper -Iderived -F. -c LinkConfiguration.c -o LinkConfiguration.o
|
||||||
$CC -I. -Ihelper -Iderived -F. -c dy_framework.c -o dy_framework.o
|
$CC -I. -Ihelper -Iderived -F. -c dy_framework.c -o dy_framework.o
|
||||||
$CC -I. -Ihelper -Iderived -I $HACK -F. -c VLANConfiguration.c -o VLANConfiguration.o
|
$CC -I. -Ihelper -Iderived -F. -c VLANConfiguration.c -o VLANConfiguration.o
|
||||||
$CC -I. -Ihelper -Iderived -F. -c derived/configUser.c -o configUser.o
|
$CC -I. -Ihelper -Iderived -F. -c derived/configUser.c -o configUser.o
|
||||||
$CC -I. -Ihelper -Iderived -F. -c SCPreferencesPathKey.c -o SCPreferencesPathKey.o
|
$CC -I. -Ihelper -Iderived -F. -c SCPreferencesPathKey.c -o SCPreferencesPathKey.o
|
||||||
$CC -I. -Ihelper -Iderived -I../dnsinfo -F. -c derived/shared_dns_infoUser.c -o shared_dns_infoUser.o
|
$CC -I. -Ihelper -Iderived -I../dnsinfo -F. -c derived/shared_dns_infoUser.c -o shared_dns_infoUser.o
|
||||||
|
@ -188,8 +153,8 @@ appleDerivation' stdenv {
|
||||||
$CC -I. -Ihelper -Iderived -F. -c SCNetworkProtocol.c -o SCNetworkProtocol.o
|
$CC -I. -Ihelper -Iderived -F. -c SCNetworkProtocol.c -o SCNetworkProtocol.o
|
||||||
$CC -I. -Ihelper -Iderived -F. -c SCNetworkService.c -o SCNetworkService.o
|
$CC -I. -Ihelper -Iderived -F. -c SCNetworkService.c -o SCNetworkService.o
|
||||||
$CC -I. -Ihelper -Iderived -F. -c SCNetworkSet.c -o SCNetworkSet.o
|
$CC -I. -Ihelper -Iderived -F. -c SCNetworkSet.c -o SCNetworkSet.o
|
||||||
$CC -I. -Ihelper -Iderived -I $HACK -F. -c BondConfiguration.c -o BondConfiguration.o
|
$CC -I. -Ihelper -Iderived -F. -c BondConfiguration.c -o BondConfiguration.o
|
||||||
$CC -I. -Ihelper -Iderived -I $HACK -F. -c BridgeConfiguration.c -o BridgeConfiguration.o
|
$CC -I. -Ihelper -Iderived -F. -c BridgeConfiguration.c -o BridgeConfiguration.o
|
||||||
$CC -I. -Ihelper -Iderived -F. -c helper/SCHelper_client.c -o SCHelper_client.o
|
$CC -I. -Ihelper -Iderived -F. -c helper/SCHelper_client.c -o SCHelper_client.o
|
||||||
$CC -I. -Ihelper -Iderived -F. -c SCPreferencesKeychainPrivate.c -o SCPreferencesKeychainPrivate.o
|
$CC -I. -Ihelper -Iderived -F. -c SCPreferencesKeychainPrivate.c -o SCPreferencesKeychainPrivate.o
|
||||||
$CC -I. -Ihelper -Iderived -F. -c SCNetworkSignature.c -o SCNetworkSignature.o
|
$CC -I. -Ihelper -Iderived -F. -c SCNetworkSignature.c -o SCNetworkSignature.o
|
||||||
|
|
|
@ -248,6 +248,7 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // {
|
||||||
CommonCrypto = applePackage "CommonCrypto" "osx-10.12.6" "sha256-FLgODBrfv+XsGaAjddncYAm/BIJJYw6LcwX/z7ncKFM=" {};
|
CommonCrypto = applePackage "CommonCrypto" "osx-10.12.6" "sha256-FLgODBrfv+XsGaAjddncYAm/BIJJYw6LcwX/z7ncKFM=" {};
|
||||||
configd = applePackage "configd" "osx-10.8.5" "sha256-6I3FWNjTgds5abEcZrD++s9b+P9a2+qUf8KFAb72DwI=" {
|
configd = applePackage "configd" "osx-10.8.5" "sha256-6I3FWNjTgds5abEcZrD++s9b+P9a2+qUf8KFAb72DwI=" {
|
||||||
Security = applePackage "Security/boot.nix" "osx-10.9.5" "sha256-7qr0IamjCXCobIJ6V9KtvbMBkJDfRCy4C5eqpHJlQLI=" {};
|
Security = applePackage "Security/boot.nix" "osx-10.9.5" "sha256-7qr0IamjCXCobIJ6V9KtvbMBkJDfRCy4C5eqpHJlQLI=" {};
|
||||||
|
inherit (pkgs.darwin.apple_sdk.libs) xpc;
|
||||||
};
|
};
|
||||||
copyfile = applePackage "copyfile" "osx-10.12.6" "sha256-uHqLFOIpXK+n0RHyOZzVsP2DDZcFDivKCnqHBaXvHns=" {};
|
copyfile = applePackage "copyfile" "osx-10.12.6" "sha256-uHqLFOIpXK+n0RHyOZzVsP2DDZcFDivKCnqHBaXvHns=" {};
|
||||||
Csu = applePackage "Csu" "osx-10.11.6" "sha256-h6a/sQMEVeFxKNWAPgKBXjWhyL2L2nvX9BQUMaTQ6sY=" {};
|
Csu = applePackage "Csu" "osx-10.11.6" "sha256-h6a/sQMEVeFxKNWAPgKBXjWhyL2L2nvX9BQUMaTQ6sY=" {};
|
||||||
|
@ -310,6 +311,7 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // {
|
||||||
configdHeaders = applePackage "configd" "osx-10.8.5" "sha256-6I3FWNjTgds5abEcZrD++s9b+P9a2+qUf8KFAb72DwI=" {
|
configdHeaders = applePackage "configd" "osx-10.8.5" "sha256-6I3FWNjTgds5abEcZrD++s9b+P9a2+qUf8KFAb72DwI=" {
|
||||||
headersOnly = true;
|
headersOnly = true;
|
||||||
Security = null;
|
Security = null;
|
||||||
|
xpc = null;
|
||||||
};
|
};
|
||||||
libutilHeaders = pkgs.darwin.libutil.override { headersOnly = true; };
|
libutilHeaders = pkgs.darwin.libutil.override { headersOnly = true; };
|
||||||
hfsHeaders = pkgs.darwin.hfs.override { headersOnly = true; };
|
hfsHeaders = pkgs.darwin.hfs.override { headersOnly = true; };
|
||||||
|
|
|
@ -30,7 +30,12 @@ appleDerivation {
|
||||||
"-DAU_SESSION_FLAG_HAS_AUTHENTICATED=0x4000"
|
"-DAU_SESSION_FLAG_HAS_AUTHENTICATED=0x4000"
|
||||||
] ++ lib.optional (!stdenv.isLinux) " -D__FreeBSD__ ");
|
] ++ lib.optional (!stdenv.isLinux) " -D__FreeBSD__ ");
|
||||||
|
|
||||||
patchPhase = ''
|
patches = [
|
||||||
|
# Fix implicit declarations that cause builds to fail when built with clang 16.
|
||||||
|
./fix-implicit-declarations.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
substituteInPlace login.tproj/login.c \
|
substituteInPlace login.tproj/login.c \
|
||||||
--replace bsm/audit_session.h bsm/audit.h
|
--replace bsm/audit_session.h bsm/audit.h
|
||||||
substituteInPlace login.tproj/login_audit.c \
|
substituteInPlace login.tproj/login_audit.c \
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
diff -ur a/getty.tproj/main.c b/getty.tproj/main.c
|
||||||
|
--- a/getty.tproj/main.c 2008-06-10 14:50:19.000000000 -0400
|
||||||
|
+++ b/getty.tproj/main.c 2023-05-31 18:06:40.121028558 -0400
|
||||||
|
@@ -67,6 +67,7 @@
|
||||||
|
#include <syslog.h>
|
||||||
|
#include <termios.h>
|
||||||
|
#include <time.h>
|
||||||
|
+#include <util.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
@@ -152,7 +153,7 @@
|
||||||
|
static void putpad(const char *);
|
||||||
|
static void puts(const char *);
|
||||||
|
static void timeoverrun(int);
|
||||||
|
-static char *getline(int);
|
||||||
|
+static char *get_line(int);
|
||||||
|
static void setttymode(int);
|
||||||
|
static int opentty(const char *, int);
|
||||||
|
|
||||||
|
@@ -352,7 +353,7 @@
|
||||||
|
if ((fd = open(IF, O_RDONLY)) != -1) {
|
||||||
|
char * cp;
|
||||||
|
|
||||||
|
- while ((cp = getline(fd)) != NULL) {
|
||||||
|
+ while ((cp = get_line(fd)) != NULL) {
|
||||||
|
putf(cp);
|
||||||
|
}
|
||||||
|
close(fd);
|
||||||
|
@@ -744,7 +745,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
static char *
|
||||||
|
-getline(int fd)
|
||||||
|
+get_line(int fd)
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
static char linebuf[512];
|
||||||
|
--- a/newgrp.tproj/newgrp.c 2021-10-06 01:38:52.000000000 -0400
|
||||||
|
+++ b/newgrp.tproj/newgrp.c 2023-05-31 22:26:50.656157841 -0400
|
||||||
|
@@ -47,6 +47,7 @@
|
||||||
|
#include <string.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#ifdef __APPLE__
|
||||||
|
+#include <membership.h>
|
||||||
|
#include <paths.h>
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
static void addgroup(const char *grpname);
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, fetchurl, ninja, python3, curl, libxml2, objc4, ICU }:
|
{ lib, stdenv, fetchFromGitHub, fetchurl, makeSetupHook, ninja, python3, curl, libxml2, objc4, ICU }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# 10.12 adds a new sysdir.h that our version of CF in the main derivation depends on, but
|
# 10.12 adds a new sysdir.h that our version of CF in the main derivation depends on, but
|
||||||
|
@ -104,4 +104,6 @@ stdenv.mkDerivation {
|
||||||
ln -s Versions/Current/$i $base/$i
|
ln -s Versions/Current/$i $base/$i
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
darwinEnvHook = makeSetupHook { name = "darwin-env-hook"; } ./pure-corefoundation-hook.sh;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
usePureCoreFoundation() {
|
||||||
|
# Avoid overriding value set by the impure CF
|
||||||
|
if [ -z "${NIX_COREFOUNDATION_RPATH:-}" ]; then
|
||||||
|
export NIX_COREFOUNDATION_RPATH=@out@/Library/Frameworks
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
addEnvHooks "$hostOffset" usePureCoreFoundation
|
|
@ -23,7 +23,9 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "sha256-zN9FI4emOAlz0pJzY+nLuTn6IGiRWm+Tf/nSRSICRoM=";
|
sha256 = "sha256-zN9FI4emOAlz0pJzY+nLuTn6IGiRWm+Tf/nSRSICRoM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
# vlock is moved into its own output, since it depends on pam. This
|
||||||
|
# reduces closure size for most use cases.
|
||||||
|
outputs = [ "out" "vlock" "dev" ];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-optional-progs"
|
"--enable-optional-progs"
|
||||||
|
@ -55,6 +57,12 @@ stdenv.mkDerivation rec {
|
||||||
--replace 'bzip2 ' '${bzip2.bin}/bin/bzip2 ' \
|
--replace 'bzip2 ' '${bzip2.bin}/bin/bzip2 ' \
|
||||||
--replace 'xz ' '${xz.bin}/bin/xz ' \
|
--replace 'xz ' '${xz.bin}/bin/xz ' \
|
||||||
--replace 'zstd ' '${zstd.bin}/bin/zstd '
|
--replace 'zstd ' '${zstd.bin}/bin/zstd '
|
||||||
|
|
||||||
|
sed -i '
|
||||||
|
1i prefix:=$(vlock)
|
||||||
|
1i bindir := $(vlock)/bin' \
|
||||||
|
src/vlock/Makefile.in \
|
||||||
|
src/vlock/Makefile.am
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
|
|
@ -130,8 +130,6 @@ let
|
||||||
|
|
||||||
# e.g. "defconfig"
|
# e.g. "defconfig"
|
||||||
kernelBaseConfig = if defconfig != null then defconfig else stdenv.hostPlatform.linux-kernel.baseConfig or "defconfig";
|
kernelBaseConfig = if defconfig != null then defconfig else stdenv.hostPlatform.linux-kernel.baseConfig or "defconfig";
|
||||||
# e.g. "bzImage"
|
|
||||||
kernelTarget = stdenv.hostPlatform.linux-kernel.target or "vmlinux";
|
|
||||||
|
|
||||||
makeFlags = lib.optionals (stdenv.hostPlatform.linux-kernel ? makeFlags) stdenv.hostPlatform.linux-kernel.makeFlags
|
makeFlags = lib.optionals (stdenv.hostPlatform.linux-kernel ? makeFlags) stdenv.hostPlatform.linux-kernel.makeFlags
|
||||||
++ extraMakeFlags;
|
++ extraMakeFlags;
|
||||||
|
|
|
@ -10,10 +10,10 @@ container, so checking early whether it exists will fail.
|
||||||
1 file changed, 2 insertions(+)
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
|
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
|
||||||
index a697ea5cb9..65d9e7e398 100644
|
index 3dabe12672..e5aa4feb1e 100644
|
||||||
--- a/src/nspawn/nspawn.c
|
--- a/src/nspawn/nspawn.c
|
||||||
+++ b/src/nspawn/nspawn.c
|
+++ b/src/nspawn/nspawn.c
|
||||||
@@ -5635,6 +5635,7 @@ static int run(int argc, char *argv[]) {
|
@@ -5638,6 +5638,7 @@ static int run(int argc, char *argv[]) {
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -21,7 +21,7 @@ index a697ea5cb9..65d9e7e398 100644
|
||||||
_cleanup_free_ char *p = NULL;
|
_cleanup_free_ char *p = NULL;
|
||||||
|
|
||||||
if (arg_pivot_root_new)
|
if (arg_pivot_root_new)
|
||||||
@@ -5649,6 +5650,7 @@ static int run(int argc, char *argv[]) {
|
@@ -5652,6 +5653,7 @@ static int run(int argc, char *argv[]) {
|
||||||
"Directory %s doesn't look like it has an OS tree (/usr/ directory is missing). Refusing.", arg_directory);
|
"Directory %s doesn't look like it has an OS tree (/usr/ directory is missing). Refusing.", arg_directory);
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,152 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Florian Klink <flokli@flokli.de>
|
|
||||||
Date: Thu, 13 Apr 2023 22:54:54 +0200
|
|
||||||
Subject: [PATCH] fsck: look for fsck binary not just in /sbin
|
|
||||||
|
|
||||||
This removes remaining hardcoded occurences of `/sbin/fsck`, and instead
|
|
||||||
uses `find_executable` to find `fsck`.
|
|
||||||
|
|
||||||
We also use `fsck_exists_for_fstype` to check for the `fsck.*`
|
|
||||||
executable, which also checks in `$PATH`, so it's fair to assume fsck
|
|
||||||
itself is also available.
|
|
||||||
---
|
|
||||||
man/systemd-fsck@.service.xml | 8 ++++----
|
|
||||||
src/fsck/fsck.c | 9 ++++++++-
|
|
||||||
src/home/homework-luks.c | 11 ++++++++++-
|
|
||||||
src/shared/dissect-image.c | 13 +++++++++++--
|
|
||||||
4 files changed, 33 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/man/systemd-fsck@.service.xml b/man/systemd-fsck@.service.xml
|
|
||||||
index e928aebdb3..403286829e 100644
|
|
||||||
--- a/man/systemd-fsck@.service.xml
|
|
||||||
+++ b/man/systemd-fsck@.service.xml
|
|
||||||
@@ -51,17 +51,17 @@
|
|
||||||
<para><filename>systemd-fsck</filename> does not know any details
|
|
||||||
about specific filesystems, and simply executes file system
|
|
||||||
checkers specific to each filesystem type
|
|
||||||
- (<filename>/sbin/fsck.<replaceable>type</replaceable></filename>). These checkers will decide if
|
|
||||||
+ (<filename>fsck.<replaceable>type</replaceable></filename>). These checkers will decide if
|
|
||||||
the filesystem should actually be checked based on the time since
|
|
||||||
last check, number of mounts, unclean unmount, etc.</para>
|
|
||||||
|
|
||||||
<para><filename>systemd-fsck-root.service</filename> and <filename>systemd-fsck-usr.service</filename>
|
|
||||||
- will activate <filename>reboot.target</filename> if <filename>/sbin/fsck</filename> returns the "System
|
|
||||||
- should reboot" condition, or <filename>emergency.target</filename> if <filename>/sbin/fsck</filename>
|
|
||||||
+ will activate <filename>reboot.target</filename> if <filename>fsck</filename> returns the "System
|
|
||||||
+ should reboot" condition, or <filename>emergency.target</filename> if <filename>fsck</filename>
|
|
||||||
returns the "Filesystem errors left uncorrected" condition.</para>
|
|
||||||
|
|
||||||
<para><filename>systemd-fsck@.service</filename> will fail if
|
|
||||||
- <filename>/sbin/fsck</filename> returns with either "System should reboot"
|
|
||||||
+ <filename>fsck</filename> returns with either "System should reboot"
|
|
||||||
or "Filesystem errors left uncorrected" conditions. For filesystems
|
|
||||||
listed in <filename>/etc/fstab</filename> without <literal>nofail</literal>
|
|
||||||
or <literal>noauto</literal> options, <literal>local-fs.target</literal>
|
|
||||||
diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c
|
|
||||||
index e25c5d5efa..0e0e73c9ac 100644
|
|
||||||
--- a/src/fsck/fsck.c
|
|
||||||
+++ b/src/fsck/fsck.c
|
|
||||||
@@ -351,6 +351,7 @@ static int run(int argc, char *argv[]) {
|
|
||||||
if (r == 0) {
|
|
||||||
char dash_c[STRLEN("-C") + DECIMAL_STR_MAX(int) + 1];
|
|
||||||
int progress_socket = -1;
|
|
||||||
+ _cleanup_free_ char *fsck_path = NULL;
|
|
||||||
const char *cmdline[9];
|
|
||||||
int i = 0;
|
|
||||||
|
|
||||||
@@ -371,7 +372,13 @@ static int run(int argc, char *argv[]) {
|
|
||||||
} else
|
|
||||||
dash_c[0] = 0;
|
|
||||||
|
|
||||||
- cmdline[i++] = "/sbin/fsck";
|
|
||||||
+ r = find_executable("fsck", &fsck_path);
|
|
||||||
+ if (r < 0) {
|
|
||||||
+ log_error_errno(r, "Cannot find fsck binary: %m");
|
|
||||||
+ _exit(FSCK_OPERATIONAL_ERROR);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ cmdline[i++] = fsck_path;
|
|
||||||
cmdline[i++] = arg_repair;
|
|
||||||
cmdline[i++] = "-T";
|
|
||||||
|
|
||||||
diff --git a/src/home/homework-luks.c b/src/home/homework-luks.c
|
|
||||||
index 2ea9887853..e267457b8e 100644
|
|
||||||
--- a/src/home/homework-luks.c
|
|
||||||
+++ b/src/home/homework-luks.c
|
|
||||||
@@ -215,6 +215,7 @@ static int block_get_size_by_path(const char *path, uint64_t *ret) {
|
|
||||||
static int run_fsck(const char *node, const char *fstype) {
|
|
||||||
int r, exit_status;
|
|
||||||
pid_t fsck_pid;
|
|
||||||
+ _cleanup_free_ char *fsck_path = NULL;
|
|
||||||
|
|
||||||
assert(node);
|
|
||||||
assert(fstype);
|
|
||||||
@@ -227,6 +228,14 @@ static int run_fsck(const char *node, const char *fstype) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ r = find_executable("fsck", &fsck_path);
|
|
||||||
+ /* We proceed anyway if we can't determine whether the fsck
|
|
||||||
+ * binary for some specific fstype exists,
|
|
||||||
+ * but the lack of the main fsck binary should be considered
|
|
||||||
+ * an error. */
|
|
||||||
+ if (r < 0)
|
|
||||||
+ return log_error_errno(r, "Cannot find fsck binary: %m");
|
|
||||||
+
|
|
||||||
r = safe_fork("(fsck)",
|
|
||||||
FORK_RESET_SIGNALS|FORK_RLIMIT_NOFILE_SAFE|FORK_DEATHSIG|FORK_LOG|FORK_STDOUT_TO_STDERR|FORK_CLOSE_ALL_FDS,
|
|
||||||
&fsck_pid);
|
|
||||||
@@ -234,7 +243,7 @@ static int run_fsck(const char *node, const char *fstype) {
|
|
||||||
return r;
|
|
||||||
if (r == 0) {
|
|
||||||
/* Child */
|
|
||||||
- execl("/sbin/fsck", "/sbin/fsck", "-aTl", node, NULL);
|
|
||||||
+ execl(fsck_path, fsck_path, "-aTl", node, NULL);
|
|
||||||
log_open();
|
|
||||||
log_error_errno(errno, "Failed to execute fsck: %m");
|
|
||||||
_exit(FSCK_OPERATIONAL_ERROR);
|
|
||||||
diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c
|
|
||||||
index 4749bdd230..2b6e1418dd 100644
|
|
||||||
--- a/src/shared/dissect-image.c
|
|
||||||
+++ b/src/shared/dissect-image.c
|
|
||||||
@@ -1423,6 +1423,7 @@ static int is_loop_device(const char *path) {
|
|
||||||
static int run_fsck(int node_fd, const char *fstype) {
|
|
||||||
int r, exit_status;
|
|
||||||
pid_t pid;
|
|
||||||
+ _cleanup_free_ char *fsck_path = NULL;
|
|
||||||
|
|
||||||
assert(node_fd >= 0);
|
|
||||||
assert(fstype);
|
|
||||||
@@ -1437,6 +1438,14 @@ static int run_fsck(int node_fd, const char *fstype) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ r = find_executable("fsck", &fsck_path);
|
|
||||||
+ /* We proceed anyway if we can't determine whether the fsck
|
|
||||||
+ * binary for some specific fstype exists,
|
|
||||||
+ * but the lack of the main fsck binary should be considered
|
|
||||||
+ * an error. */
|
|
||||||
+ if (r < 0)
|
|
||||||
+ return log_error_errno(r, "Cannot find fsck binary: %m");
|
|
||||||
+
|
|
||||||
r = safe_fork_full(
|
|
||||||
"(fsck)",
|
|
||||||
&node_fd, 1, /* Leave the node fd open */
|
|
||||||
@@ -1446,7 +1455,7 @@ static int run_fsck(int node_fd, const char *fstype) {
|
|
||||||
return log_debug_errno(r, "Failed to fork off fsck: %m");
|
|
||||||
if (r == 0) {
|
|
||||||
/* Child */
|
|
||||||
- execl("/sbin/fsck", "/sbin/fsck", "-aT", FORMAT_PROC_FD_PATH(node_fd), NULL);
|
|
||||||
+ execl(fsck_path, fsck_path, "-aT", FORMAT_PROC_FD_PATH(node_fd), NULL);
|
|
||||||
log_open();
|
|
||||||
log_debug_errno(errno, "Failed to execl() fsck: %m");
|
|
||||||
_exit(FSCK_OPERATIONAL_ERROR);
|
|
||||||
@@ -1454,7 +1463,7 @@ static int run_fsck(int node_fd, const char *fstype) {
|
|
||||||
|
|
||||||
exit_status = wait_for_terminate_and_check("fsck", pid, 0);
|
|
||||||
if (exit_status < 0)
|
|
||||||
- return log_debug_errno(exit_status, "Failed to fork off /sbin/fsck: %m");
|
|
||||||
+ return log_debug_errno(exit_status, "Failed to fork off %s: %m", fsck_path);
|
|
||||||
|
|
||||||
if ((exit_status & ~FSCK_ERROR_CORRECTED) != FSCK_SUCCESS) {
|
|
||||||
log_debug("fsck failed with exit status %i.", exit_status);
|
|
|
@ -13,10 +13,10 @@ in containers.
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/core/manager.c b/src/core/manager.c
|
diff --git a/src/core/manager.c b/src/core/manager.c
|
||||||
index 380a4e30d7..817acb87b8 100644
|
index 4bc8a06bd2..342892490e 100644
|
||||||
--- a/src/core/manager.c
|
--- a/src/core/manager.c
|
||||||
+++ b/src/core/manager.c
|
+++ b/src/core/manager.c
|
||||||
@@ -1437,7 +1437,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) {
|
@@ -1486,7 +1486,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) {
|
||||||
if (!unit_is_bound_by_inactive(u, &culprit))
|
if (!unit_is_bound_by_inactive(u, &culprit))
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -88,10 +88,10 @@ index 9e79f84691..1a1c75718c 100644
|
||||||
(void) mkdir_parents(etc_localtime, 0755);
|
(void) mkdir_parents(etc_localtime, 0755);
|
||||||
r = symlink_atomic(e, etc_localtime);
|
r = symlink_atomic(e, etc_localtime);
|
||||||
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
|
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
|
||||||
index 65d9e7e398..dd44d529ca 100644
|
index e5aa4feb1e..a7a8fae860 100644
|
||||||
--- a/src/nspawn/nspawn.c
|
--- a/src/nspawn/nspawn.c
|
||||||
+++ b/src/nspawn/nspawn.c
|
+++ b/src/nspawn/nspawn.c
|
||||||
@@ -1915,8 +1915,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid
|
@@ -1918,8 +1918,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid
|
||||||
static const char *timezone_from_path(const char *path) {
|
static const char *timezone_from_path(const char *path) {
|
||||||
return PATH_STARTSWITH_SET(
|
return PATH_STARTSWITH_SET(
|
||||||
path,
|
path,
|
|
@ -10,10 +10,10 @@ This is needed for NixOS to use such scripts as systemd directory is immutable.
|
||||||
1 file changed, 1 insertion(+)
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c
|
diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c
|
||||||
index 42111d2772..53467ac229 100644
|
index 5dee1b3a92..c08cf80548 100644
|
||||||
--- a/src/shutdown/shutdown.c
|
--- a/src/shutdown/shutdown.c
|
||||||
+++ b/src/shutdown/shutdown.c
|
+++ b/src/shutdown/shutdown.c
|
||||||
@@ -335,6 +335,7 @@ static void init_watchdog(void) {
|
@@ -339,6 +339,7 @@ static void init_watchdog(void) {
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
static const char* const dirs[] = {
|
static const char* const dirs[] = {
|
||||||
SYSTEM_SHUTDOWN_PATH,
|
SYSTEM_SHUTDOWN_PATH,
|
|
@ -16,10 +16,10 @@ executables that are being called from managers.
|
||||||
1 file changed, 8 insertions(+)
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
diff --git a/src/core/manager.c b/src/core/manager.c
|
diff --git a/src/core/manager.c b/src/core/manager.c
|
||||||
index 817acb87b8..3f31359f8a 100644
|
index 342892490e..1117251fe0 100644
|
||||||
--- a/src/core/manager.c
|
--- a/src/core/manager.c
|
||||||
+++ b/src/core/manager.c
|
+++ b/src/core/manager.c
|
||||||
@@ -3714,9 +3714,17 @@ static int build_generator_environment(Manager *m, char ***ret) {
|
@@ -3771,9 +3771,17 @@ static int build_generator_environment(Manager *m, char ***ret) {
|
||||||
* adjust generated units to that. Let's pass down some bits of information that are easy for us to
|
* adjust generated units to that. Let's pass down some bits of information that are easy for us to
|
||||||
* determine (but a bit harder for generator scripts to determine), as environment variables. */
|
* determine (but a bit harder for generator scripts to determine), as environment variables. */
|
||||||
|
|
|
@ -17,10 +17,10 @@ See also: https://github.com/systemd/systemd/issues/24191
|
||||||
1 file changed, 4 deletions(-)
|
1 file changed, 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/core/manager.c b/src/core/manager.c
|
diff --git a/src/core/manager.c b/src/core/manager.c
|
||||||
index 3f31359f8a..0c4ec0b4fb 100644
|
index 1117251fe0..bf5600a6cf 100644
|
||||||
--- a/src/core/manager.c
|
--- a/src/core/manager.c
|
||||||
+++ b/src/core/manager.c
|
+++ b/src/core/manager.c
|
||||||
@@ -4556,10 +4556,6 @@ char* manager_taint_string(const Manager *m) {
|
@@ -4617,10 +4617,6 @@ char* manager_taint_string(const Manager *m) {
|
||||||
if (m->taint_usr)
|
if (m->taint_usr)
|
||||||
stage[n++] = "split-usr";
|
stage[n++] = "split-usr";
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
From bc0f378a1149b59e88e9345e579d62fec7f50cdf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Arian van Putten <arian.vanputten@gmail.com>
|
||||||
|
Date: Wed, 31 May 2023 13:27:13 +0200
|
||||||
|
Subject: [PATCH] bootctl: also print efi files not owned by systemd in status
|
||||||
|
|
||||||
|
We should not skip over unknown entries in EFI/BOOT/ but
|
||||||
|
also print them out in status so people are aware that they are there.
|
||||||
|
|
||||||
|
(cherry picked from commit a680d4fb87bad829989949e5ea4fc6db90453456)
|
||||||
|
---
|
||||||
|
src/boot/bootctl-status.c | 11 +++++------
|
||||||
|
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/boot/bootctl-status.c b/src/boot/bootctl-status.c
|
||||||
|
index 2e2bf1f7e1..f1ac4a9c8a 100644
|
||||||
|
--- a/src/boot/bootctl-status.c
|
||||||
|
+++ b/src/boot/bootctl-status.c
|
||||||
|
@@ -225,9 +225,8 @@ static int enumerate_binaries(
|
||||||
|
return log_error_errno(errno, "Failed to open file '%s' for reading: %m", filename);
|
||||||
|
|
||||||
|
r = get_file_version(fd, &v);
|
||||||
|
- if (r == -ESRCH) /* Not the file we are looking for. */
|
||||||
|
- continue;
|
||||||
|
- if (r < 0)
|
||||||
|
+
|
||||||
|
+ if (r < 0 && r != -ESRCH)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
if (*previous) { /* Let's output the previous entry now, since now we know that there will be
|
||||||
|
@@ -242,10 +241,10 @@ static int enumerate_binaries(
|
||||||
|
/* Do not output this entry immediately, but store what should be printed in a state
|
||||||
|
* variable, because we only will know the tree glyph to print (branch or final edge) once we
|
||||||
|
* read one more entry */
|
||||||
|
- if (r > 0)
|
||||||
|
- r = asprintf(previous, "/%s/%s (%s%s%s)", path, de->d_name, ansi_highlight(), v, ansi_normal());
|
||||||
|
- else
|
||||||
|
+ if (r == -ESRCH) /* No systemd-owned file but still interesting to print */
|
||||||
|
r = asprintf(previous, "/%s/%s", path, de->d_name);
|
||||||
|
+ else /* if (r >= 0) */
|
||||||
|
+ r = asprintf(previous, "/%s/%s (%s%s%s)", path, de->d_name, ansi_highlight(), v, ansi_normal());
|
||||||
|
if (r < 0)
|
||||||
|
return log_oom();
|
||||||
|
|
||||||
|
--
|
||||||
|
2.39.2 (Apple Git-143)
|
||||||
|
|
|
@ -145,7 +145,7 @@ assert withUkify -> withEfi;
|
||||||
let
|
let
|
||||||
wantCurl = withRemote || withImportd;
|
wantCurl = withRemote || withImportd;
|
||||||
wantGcrypt = withResolved || withImportd;
|
wantGcrypt = withResolved || withImportd;
|
||||||
version = "253.3";
|
version = "253.5";
|
||||||
|
|
||||||
# Bump this variable on every (major) version change. See below (in the meson options list) for why.
|
# Bump this variable on every (major) version change. See below (in the meson options list) for why.
|
||||||
# command:
|
# command:
|
||||||
|
@ -162,7 +162,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
owner = "systemd";
|
owner = "systemd";
|
||||||
repo = "systemd-stable";
|
repo = "systemd-stable";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-iy1kyqiVeXIhFJAQ+nYorrXm/xb2gfakyrEfMyNR5l8=";
|
hash = "sha256-B3A9AvpfZ8SYsiZvHnWO4RHs1/6EdczWF2NmrSqxQ7c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# On major changes, or when otherwise required, you *must* reformat the patches,
|
# On major changes, or when otherwise required, you *must* reformat the patches,
|
||||||
|
@ -174,32 +174,22 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
./0001-Start-device-units-for-uninitialised-encrypted-devic.patch
|
./0001-Start-device-units-for-uninitialised-encrypted-devic.patch
|
||||||
./0002-Don-t-try-to-unmount-nix-or-nix-store.patch
|
./0002-Don-t-try-to-unmount-nix-or-nix-store.patch
|
||||||
./0003-Fix-NixOS-containers.patch
|
./0003-Fix-NixOS-containers.patch
|
||||||
./0004-fsck-look-for-fsck-binary-not-just-in-sbin.patch
|
./0004-Add-some-NixOS-specific-unit-directories.patch
|
||||||
./0005-Add-some-NixOS-specific-unit-directories.patch
|
./0005-Get-rid-of-a-useless-message-in-user-sessions.patch
|
||||||
./0006-Get-rid-of-a-useless-message-in-user-sessions.patch
|
./0006-hostnamed-localed-timedated-disable-methods-that-cha.patch
|
||||||
./0007-hostnamed-localed-timedated-disable-methods-that-cha.patch
|
./0007-Fix-hwdb-paths.patch
|
||||||
./0008-Fix-hwdb-paths.patch
|
./0008-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
|
||||||
./0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch
|
./0009-localectl-use-etc-X11-xkb-for-list-x11.patch
|
||||||
./0010-localectl-use-etc-X11-xkb-for-list-x11.patch
|
./0010-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
|
||||||
./0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch
|
./0011-add-rootprefix-to-lookup-dir-paths.patch
|
||||||
./0012-add-rootprefix-to-lookup-dir-paths.patch
|
./0012-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
|
||||||
./0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
|
./0013-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
|
||||||
./0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
|
./0014-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
|
||||||
./0015-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
|
./0015-pkg-config-derive-prefix-from-prefix.patch
|
||||||
./0016-pkg-config-derive-prefix-from-prefix.patch
|
./0016-inherit-systemd-environment-when-calling-generators.patch
|
||||||
./0017-inherit-systemd-environment-when-calling-generators.patch
|
./0017-core-don-t-taint-on-unmerged-usr.patch
|
||||||
./0018-core-don-t-taint-on-unmerged-usr.patch
|
./0018-tpm2_context_init-fix-driver-name-checking.patch
|
||||||
./0019-tpm2_context_init-fix-driver-name-checking.patch
|
./0019-bootctl-also-print-efi-files-not-owned-by-systemd-in.patch
|
||||||
|
|
||||||
(fetchpatch {
|
|
||||||
# https://github.com/systemd/systemd/pull/25948
|
|
||||||
#
|
|
||||||
# [Firmware file size bug]: Some UEFI firmwares fail on large
|
|
||||||
# reads. Now that systemd-boot loads initrd itself, systems with
|
|
||||||
# such firmware won't boot without this fix
|
|
||||||
url = "https://github.com/systemd/systemd/commit/3ed1d966f00b002ed822ca9de116252bd91fe6c3.patch";
|
|
||||||
hash = "sha256-pwXrLTScqgnvfddlzUBZpwsoMrvRLcZPp6e4whMcyL4=";
|
|
||||||
})
|
|
||||||
] ++ lib.optional stdenv.hostPlatform.isMusl (
|
] ++ lib.optional stdenv.hostPlatform.isMusl (
|
||||||
let
|
let
|
||||||
oe-core = fetchzip {
|
oe-core = fetchzip {
|
||||||
|
|
|
@ -38,6 +38,16 @@ stdenv.mkDerivation rec {
|
||||||
url = "https://github.com/util-linux/util-linux/commit/1bd85b64632280d6bf0e86b4ff29da8b19321c5f.diff";
|
url = "https://github.com/util-linux/util-linux/commit/1bd85b64632280d6bf0e86b4ff29da8b19321c5f.diff";
|
||||||
hash = "sha256-dgu4de5ul/si7Vzwe8lr9NvsdI1CWfDQKuqvARaY6sE=";
|
hash = "sha256-dgu4de5ul/si7Vzwe8lr9NvsdI1CWfDQKuqvARaY6sE=";
|
||||||
})
|
})
|
||||||
|
|
||||||
|
# FIXME: backport bcache detection fixes, remove in next release
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/util-linux/util-linux/commit/158639a2a4c6e646fd4fa0acb5f4743e65daa415.diff";
|
||||||
|
hash = "sha256-9F1OQFxKuI383u6MVy/UM15B6B+tkZFRwuDbgoZrWME=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/util-linux/util-linux/commit/00a19fb8cdfeeae30a6688ac6b490e80371b2257.diff";
|
||||||
|
hash = "sha256-w1S6IKSoL6JhVew9t6EemNRc/nrJQ5oMqFekcx0kno8=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "lib" "man" ];
|
outputs = [ "bin" "dev" "out" "lib" "man" ];
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue