···7272Per the instructions in the [Cargo Book](https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html)
7373best practices guide, Rust applications should always commit the `Cargo.lock`
7474file in git to ensure a reproducible build. However, a few packages do not, and
7575-Nix depends on this file, so if it missing you can use `cargoPatches` to apply
7676-it in the `patchPhase`. Consider sending a PR upstream with a note to the
7575+Nix depends on this file, so if it is missing you can use `cargoPatches` to
7676+apply it in the `patchPhase`. Consider sending a PR upstream with a note to the
7777maintainer describing why it's important to include in the application.
78787979The fetcher will verify that the `Cargo.lock` file is in sync with the `src`
···146146 rustc.platform = { foo = ""; bar = ""; };
147147 };
148148 }
149149+ ```
150150+149151 will result in:
150152 ```shell
151153 --target /nix/store/asdfasdfsadf-thumb-crazy.json # contains {"foo":"","bar":""}
···156158157159```nix
158160pkgs.rustPlatform.buildRustPackage {
159159- (...)
161161+ /* ... */
160162 target = "x86_64-fortanix-unknown-sgx";
161163}
162164```
···191193Please note that the code will be compiled twice here: once in `release` mode
192194for the `buildPhase`, and again in `debug` mode for the `checkPhase`.
193195196196+Test flags, e.g., `--features xxx/yyy`, can be passed to `cargo test` via the
197197+`cargoTestFlags` attribute.
198198+199199+Another attribute, called `checkFlags`, is used to pass arguments to the test
200200+binary itself, as stated
201201+(here)[https://doc.rust-lang.org/cargo/commands/cargo-test.html].
202202+194203#### Tests relying on the structure of the `target/` directory
195204196205Some tests may rely on the structure of the `target/` directory. Those tests
···320329 variable `buildAndTestSubdir` can be used to build a crate in a
321330 Cargo workspace. Additional maturin flags can be passed through
322331 `maturinBuildFlags`.
323323-* `cargoCheckHook`: run tests using Cargo. Additional flags can be
324324- passed to Cargo using `checkFlags` and `checkFlagsArray`. By
325325- default, tests are run in parallel. This can be disabled by setting
332332+* `cargoCheckHook`: run tests using Cargo. The build type for checks
333333+ can be set using `cargoCheckType`. Additional flags can be passed to
334334+ the tests using `checkFlags` and `checkFlagsArray`. By default,
335335+ tests are run in parallel. This can be disabled by setting
326336 `dontUseCargoParallelTests`.
327337* `cargoInstallHook`: install binaries and static/shared libraries
328338 that were built using `cargoBuildHook`.
···5858 comment = "The bridge between designers and developers";
5959 };
60606161- nativeBuildInputs = [makeWrapper wrapGAppsHook];
6262- buildInputs = [ unzip gtk3 gnome3.adwaita-icon-theme ];
6161+ nativeBuildInputs = [makeWrapper wrapGAppsHook unzip];
6262+ buildInputs = [ gtk3 gnome3.adwaita-icon-theme ];
63636464 # src is producing multiple folder on unzip so we must
6565 # override unpackCmd to extract it into newly created folder
+1-2
pkgs/applications/graphics/imagej/default.nix
···1515 url = "https://wsr.imagej.net/distros/cross-platform/ij150.zip";
1616 sha256 = "97aba6fc5eb908f5160243aebcdc4965726693cb1353d9c0d71b8f5dd832cb7b";
1717 };
1818- nativeBuildInputs = [ makeWrapper ];
1919- buildInputs = [ unzip ];
1818+ nativeBuildInputs = [ makeWrapper unzip ];
2019 inherit jre;
21202221 # JAR files that are intended to be used by other packages
···11-WGET_ARGS=( http://download.kde.org/stable/release-service/20.12.1/src -A '*.tar.xz' )
11+WGET_ARGS=( http://download.kde.org/stable/release-service/20.12.2/src -A '*.tar.xz' )
···88 sha256 = "12aql6svkplxq5fjycar18863hcq84c5kx8g6f4rj0lcvigw24di";
99 };
10101111+ patches = [
1212+ # Remove once https://sourceforge.net/p/soxr/code/merge-requests/5/ is merged.
1313+ ./arm64-check.patch
1414+ ];
1515+1116 outputs = [ "out" "doc" ]; # headers are just two and very small
12171318 preConfigure = if stdenv.isDarwin then ''
···33}:
4455mkDerivation rec {
66- version = "2.3.6";
66+ version = "2.3.6.1";
77 pname = "lyx";
8899 src = fetchurl {
1010 url = "ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/${pname}-${version}.tar.xz";
1111- sha256 = "160whjwwrmxizdakjlkf9xc86bhqfnslw47fixgqq4qhbapcxxkg";
1111+ sha256 = "sha256-xr7SYzQZiY4Bp8w1AxDX2TS/WRyrcln8JYGqTADq+ng=";
1212 };
13131414 # LaTeX is used from $PATH, as people often want to have it with extra pkgs
···3636, # Shell commands to run after building the symlink tree.
3737 postBuild ? ""
38383939-, # Additional inputs. Handy e.g. if using makeWrapper in `postBuild`.
4040- buildInputs ? []
3939+# Additional inputs
4040+, nativeBuildInputs ? [] # Handy e.g. if using makeWrapper in `postBuild`.
4141+, buildInputs ? []
41424243, passthru ? {}
4344, meta ? {}
···5354runCommand name
5455 rec {
5556 inherit manifest ignoreCollisions checkCollisionContents passthru
5656- meta pathsToLink extraPrefix postBuild buildInputs;
5757+ meta pathsToLink extraPrefix postBuild
5858+ nativeBuildInputs buildInputs;
5759 pkgs = builtins.toJSON (map (drv: {
5860 paths =
5961 # First add the usual output(s): respect if user has chosen explicitly,
···11-WGET_ARGS=( https://download.kde.org/stable/plasma/5.20.5/ -A '*.tar.xz' )
11+WGET_ARGS=( https://download.kde.org/stable/plasma/5.21.1/ -A '*.tar.xz' )
···33--- plasma-desktop-5.8.5.orig/kcms/dateandtime/helper.cpp
44+++ plasma-desktop-5.8.5/kcms/dateandtime/helper.cpp
55@@ -48,10 +48,6 @@
66- #include <sys/stat.h>
66+ #include <sys/types.h>
77 #endif
88-88+99-// We cannot rely on the $PATH environment variable, because D-Bus activation
1010-// clears it. So we have to use a reasonable default.
1111-static const QString exePath = QStringLiteral("/usr/sbin:/usr/bin:/sbin:/bin");
1212-
1313- int ClockHelper::ntp( const QStringList& ntpServers, bool ntpEnabled )
1313+ int ClockHelper::ntp(const QStringList &ntpServers, bool ntpEnabled)
1414 {
1515 int ret = 0;
1616@@ -227,7 +223,7 @@ int ClockHelper::tzreset()
···11-# New rust versions should first go to staging.
22-# Things to check after updating:
33-# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin:
44-# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github
55-# This testing can be also done by other volunteers as part of the pull
66-# request review, in case platforms cannot be covered.
77-# 2. The LLVM version used for building should match with rust upstream.
88-# Check the version number in the src/llvm-project git submodule in:
99-# https://github.com/rust-lang/rust/blob/<version-tag>/.gitmodules
1010-# 3. Firefox and Thunderbird should still build on x86_64-linux.
1111-1212-{ stdenv, lib
1313-, buildPackages
1414-, newScope, callPackage
1515-, CoreFoundation, Security
1616-, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
1717-, makeRustPlatform
1818-, llvmPackages_5, llvm_11
1919-} @ args:
2020-2121-import ./default.nix {
2222- rustcVersion = "1.49.0";
2323- rustcSha256 = "0yf7kll517398dgqsr7m3gldzj0iwsp3ggzxrayckpqzvylfy2mm";
2424-2525- llvmSharedForBuild = pkgsBuildBuild.llvm_11.override { enableSharedLibraries = true; };
2626- llvmSharedForHost = pkgsBuildHost.llvm_11.override { enableSharedLibraries = true; };
2727- llvmSharedForTarget = pkgsBuildTarget.llvm_11.override { enableSharedLibraries = true; };
2828-2929- llvmBootstrapForDarwin = llvmPackages_5;
3030-3131- # For use at runtime
3232- llvmShared = llvm_11.override { enableSharedLibraries = true; };
3333-3434- # Note: the version MUST be one version prior to the version we're
3535- # building
3636- bootstrapVersion = "1.48.0";
3737-3838- # fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
3939- bootstrapHashes = {
4040- i686-unknown-linux-gnu = "7fdb8836a1f0427d5b47e6a2d496f67ebff04350407411f57cf20c9b3544e26f";
4141- x86_64-unknown-linux-gnu = "950420a35b2dd9091f1b93a9ccd5abc026ca7112e667f246b1deb79204e2038b";
4242- x86_64-unknown-linux-musl = "4ed9627f57b4e0b9807fc5e7513d9731f4791668b7f875b9e44e65e21072c56f";
4343- arm-unknown-linux-gnueabihf = "e68a81eebd4570343a0fc35cb8ee24cad911d6cee2e374f284b76546ca6636d5";
4444- armv7-unknown-linux-gnueabihf = "3aed4a63ebdd57690a31d11afbe95e6407edc224a6769be5694a1ed43bf899cb";
4545- aarch64-unknown-linux-gnu = "c4769418d8d89f432e4a3a21ad60f99629e4b13bbfc29aef7d9d51c4e8ee8a8a";
4646- aarch64-unknown-linux-musl = "ac4de580a28e45a9773b389b296d13bfeeb08263cb1f8343859577a54940dae9";
4747- x86_64-apple-darwin = "20e727cad10f43e3abcedb2a80979ae26923038e0e8a855e8a783da255054113";
4848- powerpc64le-unknown-linux-gnu = "e6457a0214f3b1b04bd5b2618bba7e3826e254216420dede2971b571a1c13bb1";
4949- };
5050-5151- selectRustPackage = pkgs: pkgs.rust_1_49;
5252-5353- rustcPatches = [
5454- ];
5555-}
5656-5757-(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_5" "llvm_11"])
+57
pkgs/development/compilers/rust/1_50.nix
···11+# New rust versions should first go to staging.
22+# Things to check after updating:
33+# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin:
44+# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github
55+# This testing can be also done by other volunteers as part of the pull
66+# request review, in case platforms cannot be covered.
77+# 2. The LLVM version used for building should match with rust upstream.
88+# Check the version number in the src/llvm-project git submodule in:
99+# https://github.com/rust-lang/rust/blob/<version-tag>/.gitmodules
1010+# 3. Firefox and Thunderbird should still build on x86_64-linux.
1111+1212+{ stdenv, lib
1313+, buildPackages
1414+, newScope, callPackage
1515+, CoreFoundation, Security
1616+, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost
1717+, makeRustPlatform
1818+, llvmPackages_5, llvm_11
1919+} @ args:
2020+2121+import ./default.nix {
2222+ rustcVersion = "1.50.0";
2323+ rustcSha256 = "0pjs7j62maiyvkmhp9zrxl528g2n0fphp4rq6ap7aqdv0a6qz5wm";
2424+2525+ llvmSharedForBuild = pkgsBuildBuild.llvm_11.override { enableSharedLibraries = true; };
2626+ llvmSharedForHost = pkgsBuildHost.llvm_11.override { enableSharedLibraries = true; };
2727+ llvmSharedForTarget = pkgsBuildTarget.llvm_11.override { enableSharedLibraries = true; };
2828+2929+ llvmBootstrapForDarwin = llvmPackages_5;
3030+3131+ # For use at runtime
3232+ llvmShared = llvm_11.override { enableSharedLibraries = true; };
3333+3434+ # Note: the version MUST be one version prior to the version we're
3535+ # building
3636+ bootstrapVersion = "1.49.0";
3737+3838+ # fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
3939+ bootstrapHashes = {
4040+ i686-unknown-linux-gnu = "5371bfa2c8e566aa283acdfa93d24b981c789d7c040ac1ca74e76bff1c7f6598";
4141+ x86_64-unknown-linux-gnu = "8b14446df82f3707d69cf58fed92f18e0bff91621c62baf89288ef70e3e92981";
4242+ x86_64-unknown-linux-musl = "f92a5a4adcfac4206a223d089a364a8375d1b6f112f3f2efa3f6d53d08a61904";
4343+ arm-unknown-linux-gnueabihf = "e5d93576eef874a9b22be9aa157cac5c8cdebebde8b57f0693248d4a589df42c";
4444+ armv7-unknown-linux-gnueabihf = "34ba3c979b144ef27d3c71d177cc1774551edf26e79d36719c86a51d9b9e34c0";
4545+ aarch64-unknown-linux-gnu = "b551bd482041307fa3373a687d6d6a2c4c0931c2e0a68b8b75dc80bc5cf5f002";
4646+ aarch64-unknown-linux-musl = "0a43d96a508c720520328112d609916d062f866a5c35f1db8f906284035d6d98";
4747+ x86_64-apple-darwin = "fe3e248bc4b0ee0a2595693687ad845c8a8bda824a56c9321520bcca02433716";
4848+ powerpc64le-unknown-linux-gnu = "365d7721dd2521e5dad12aa73651bad2be375e798e443636d2c523cad5b54359";
4949+ };
5050+5151+ selectRustPackage = pkgs: pkgs.rust_1_50;
5252+5353+ rustcPatches = [
5454+ ];
5555+}
5656+5757+(builtins.removeAttrs args [ "fetchpatch" "pkgsBuildHost" "llvmPackages_5" "llvm_11"])
···2020 inherit ignoreCollisions;
2121 extraOutputsToInstall = [ "out" ] ++ extraOutputsToInstall;
22222323- buildInputs = [ makeWrapper texinfo wrapOctave ];
2323+ nativeBuildInputs = [ makeWrapper ];
2424+ buildInputs = [ texinfo wrapOctave ];
24252526 # During "build" we must first unlink the /share symlink to octave's /share
2627 # Then, we can re-symlink the all of octave/share, except for /share/octave
2728 # in env/share/octave, re-symlink everything from octave/share/octave and then
2829 # perform the pkg install.
2930 postBuild = ''
3030- . "${makeWrapper}/nix-support/setup-hook"
3131- # The `makeWrapper` used here is the one defined in
3232- # ${makeWrapper}/nix-support/setup-hook
3333-3431 if [ -L "$out/bin" ]; then
3532 unlink $out/bin
3633 mkdir -p "$out/bin"
···11+diff --git a/hints/darwin.sh b/hints/darwin.sh
22+index 0a91bc083c0..fdfbdd4a3b9 100644
33+--- a/hints/darwin.sh
44++++ b/hints/darwin.sh
55+@@ -301,7 +301,7 @@ case "$osvers" in # Note: osvers is the kernel version, not the 10.x
66+ # We now use MACOSX_DEPLOYMENT_TARGET, if set, as an override by
77+ # capturing its value and adding it to the flags.
88+ case "$MACOSX_DEPLOYMENT_TARGET" in
99+- 10.*)
1010++ [1-9][0-9].*)
1111+ add_macosx_version_min ccflags $MACOSX_DEPLOYMENT_TARGET
1212+ add_macosx_version_min ldflags $MACOSX_DEPLOYMENT_TARGET
1313+ ;;
1414+@@ -313,7 +313,7 @@ case "$osvers" in # Note: osvers is the kernel version, not the 10.x
1515+1616+ *** Unexpected MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET
1717+ ***
1818+-*** Please either set it to 10.something, or to empty.
1919++*** Please either set it to a valid macOS version number (e.g., 10.15) or to empty.
2020+2121+ EOM
2222+ exit 1
2323+@@ -327,7 +327,7 @@ EOM
2424+ # "ProductVersion: 10.11" "10.11"
2525+ prodvers=`sw_vers|awk '/^ProductVersion:/{print $2}'|awk -F. '{print $1"."$2}'`
2626+ case "$prodvers" in
2727+- 10.*)
2828++ [1-9][0-9].*)
2929+ add_macosx_version_min ccflags $prodvers
3030+ add_macosx_version_min ldflags $prodvers
3131+ ;;
3232+@@ -342,11 +342,10 @@ EOM
3333+ exit 1
3434+ esac
3535+3636+- # The X in 10.X
3737+- prodvers_minor=$(echo $prodvers|awk -F. '{print $2}')
3838++ darwin_major=$(echo $osvers|awk -F. '{print $1}')
3939+4040+- # macOS (10.12) deprecated syscall().
4141+- if [ "$prodvers_minor" -ge 12 ]; then
4242++ # macOS 10.12 (darwin 16.0.0) deprecated syscall().
4343++ if [ "$darwin_major" -ge 16 ]; then
4444+ d_syscall='undef'
4545+ # If deploying to pre-10.12, suppress Time::HiRes's detection of the system clock_gettime()
4646+ case "$MACOSX_DEPLOYMENT_TARGET" in
+4-1
pkgs/development/interpreters/perl/default.nix
···4141 ]
4242 ++ optional stdenv.isSunOS ./ld-shared.patch
4343 ++ optionals stdenv.isDarwin [ ./cpp-precomp.patch ./sw_vers.patch ]
4444- ++ optional crossCompiling ./MakeMaker-cross.patch;
4444+ ++ optional crossCompiling ./MakeMaker-cross.patch
4545+ # Backporting https://github.com/Perl/perl5/pull/17946, can be
4646+ # removed if there's ever a 5.30.x release with it included.
4747+ ++ optional (versionOlder version "5.32.1") ./aarch64-darwin.patch;
45484649 # This is not done for native builds because pwd may need to come from
4750 # bootstrap tools when building bootstrap perl.
+2-3
pkgs/development/interpreters/perl/wrapper.nix
···1717 inherit ignoreCollisions;
1818 extraOutputsToInstall = [ "out" ] ++ extraOutputsToInstall;
19192020+ nativeBuildInputs = [ makeWrapper ];
2121+2022 # we create wrapper for the binaries in the different packages
2123 postBuild = ''
2222-2323- . "${makeWrapper}/nix-support/setup-hook"
2424-2524 if [ -L "$out/bin" ]; then
2625 unlink "$out/bin"
2726 fi
···106106107107 ./CVE-2021-3177.patch
108108109109+ # The workaround is for unittests on Win64, which we don't support.
110110+ # It does break aarch64-darwin, which we do support. See:
111111+ # * https://bugs.python.org/issue35523
112112+ # * https://github.com/python/cpython/commit/e6b247c8e524
113113+ ../3.7/no-win64-workaround.patch
114114+109115 ] ++ optionals (x11Support && stdenv.isDarwin) [
110116 ./use-correct-tcl-tk-on-darwin.patch
111117 ] ++ optionals stdenv.isLinux [
···185185 # Backport a fix for discovering `rpmbuild` command when doing `python setup.py bdist_rpm` to 3.5, 3.6, 3.7.
186186 # See: https://bugs.python.org/issue11122
187187 ./3.7/fix-hardcoded-path-checking-for-rpmbuild.patch
188188+ # The workaround is for unittests on Win64, which we don't support.
189189+ # It does break aarch64-darwin, which we do support. See:
190190+ # * https://bugs.python.org/issue35523
191191+ # * https://github.com/python/cpython/commit/e6b247c8e524
192192+ ./3.7/no-win64-workaround.patch
188193 ] ++ optionals (isPy37 || isPy38 || isPy39) [
189194 # Fix darwin build https://bugs.python.org/issue34027
190195 ./3.7/darwin-libutil.patch
···11+Do not regenerate revision.h
22+33+Ruby's makefile compares the shipped version with the git revision to regenerate
44+revision.h [1], but since we don't include git in buildInputs, this comparison
55+fails and it can't find $(REVISION_H).
66+77+[1] https://github.com/ruby/ruby/commit/97a5af62a318fcd93a4e5e4428d576c0280ddbae
88+99+diff -Naur ruby.old/defs/gmake.mk ruby.new/defs/gmake.mk
1010+--- ruby.old/defs/gmake.mk
1111++++ ruby.new/defs/gmake.mk
1212+@@ -325,11 +325,9 @@
1313+1414+ REVISION_IN_HEADER := $(shell sed -n 's/^\#define RUBY_FULL_REVISION "\(.*\)"/\1/p' $(srcdir)/revision.h 2>/dev/null)
1515+ REVISION_LATEST := $(shell $(CHDIR) $(srcdir) && git log -1 --format=%H 2>/dev/null)
1616+-ifneq ($(REVISION_IN_HEADER),$(REVISION_LATEST))
1717+ # GNU make treat the target as unmodified when its dependents get
1818+ # updated but it is not updated, while others may not.
1919+ $(srcdir)/revision.h: $(REVISION_H)
2020+-endif
2121+2222+ # Query on the generated rdoc
2323+ #
···246246247247 # this should go away in the next release
248248 patches = [
249249- (fetchpatch {
250250- url = "https://git.videolan.org/?p=ffmpeg.git;a=patch;h=7c59e1b0f285cd7c7b35fcd71f49c5fd52cf9315";
251251- sha256 = "sha256-dqpmpDFETTuWHWolMoLaubU4BeDEuQaBNA0wmzL1f8o=";
252252- name = "fix_libsrt.patch";
253253- })
254249 # Patch ffmpeg for svt-av1 until version 4.4
255250 (fetchpatch {
256251 url = "https://raw.githubusercontent.com/AOMediaCodec/SVT-AV1/v0.8.4/ffmpeg_plugin/0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch";
···11+# shellcheck shell=bash
22+33+fixupOutputHooks+=(_gtkCleanImmodulesCache)
44+55+# Clean comments that link to generator of the file
66+_gtkCleanImmodulesCache() {
77+ # gtk_module_path is where the modules are installed
88+ # https://gitlab.gnome.org/GNOME/gtk/-/blob/3.24.24/gtk/gtkmodules.c#L68
99+ # gtk_binary_version can be retrived with:
1010+ # pkg-config --variable=gtk_binary_version gtk+-3.0
1111+ local f="${prefix:?}/lib/@gtk_module_path@/@gtk_binary_version@/immodules.cache"
1212+ if [ -f "$f" ]; then
1313+ sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f"
1414+ fi
1515+}
···11-# shellcheck shell=bash
22-33-fixupOutputHooks+=(_gtk2CleanComments)
44-55-# Clean comments that link to generator of the file
66-_gtk2CleanComments() {
77- local f="${prefix:?}/lib/gtk-2.0/2.10.0/immodules.cache"
88- if [ -f "$f" ]; then
99- sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f"
1010- fi
1111-}
1212-
···11-# shellcheck shell=bash
22-33-fixupOutputHooks+=(_gtk3CleanComments)
44-55-# Clean comments that link to generator of the file
66-_gtk3CleanComments() {
77- local f="${prefix:?}/lib/gtk-3.0/3.0.0/immodules.cache"
88- if [ -f "$f" ]; then
99- sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f"
1010- fi
1111-}
···11-# shellcheck shell=bash
22-33-fixupOutputHooks+=(_gtk4CleanComments)
44-55-# Clean comments that link to generator of the file
66-_gtk4CleanComments() {
77- local f="${prefix:?}/lib/gtk-4.0/4.0.0/immodules.cache"
88- if [ -f "$f" ]; then
99- sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f"
1010- fi
1111-}
···11-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.78/ -A '*.tar.xz' )
11+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.79/ -A '*.tar.xz' )
···17171818 static QString findDaemon()
1919 {
2020-- QString daemon = QFile::decodeName(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
2020+- QString daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
2121- if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
2222- daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
2323- if (daemon.isEmpty()) {
2424- qCWarning(KSU_LOG) << "kdesud daemon not found.";
2525+ QString daemon = QFile::decodeName("/run/wrappers/bin/kdesud");
2626+ if (!QFile::exists(daemon)) { // if not in wrappers
2727-+ daemon = QFile::decodeName(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
2727++ daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
2828+ if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
2929+ daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
3030+ if (daemon.isEmpty()) {
···1818 # It will rebuild itself using the version of this package (NSS) and if
1919 # an update is required do the required changes to the expression.
2020 # Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
2121- version = "3.60";
2121+ version = "3.61";
2222 underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
23232424in stdenv.mkDerivation rec {
···27272828 src = fetchurl {
2929 url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz";
3030- sha256 = "0ggyj3ax3kal65sl1vl4nfhx2s08blg4dg8iwlxcax5qb9bxbaw4";
3030+ sha256 = "0w0k1v6pn2mv1vim7pv0xn63z1dcss6cymqbqzzg1k1l9f02sbii";
3131 };
32323333 depsBuildBuild = [ buildPackages.stdenv.cc ];
···99 sha256 = "08h1vnqsv22js9v3pyim5yb80z87baxb7s2g5gsvvjax07j7w8h5";
1010 };
11111212- buildInputs = [ unzip ];
1212+ nativeBuildInputs = [ unzip ];
13131414 # We only need the header files. The library files are
1515 # in the nvidia_x11 driver.
···22, buildPythonPackage
33, fetchFromGitHub
44, stdenv
55-, pytest
55+, pytestCheckHook
66}:
7788buildPythonPackage rec {
99 pname = "simplejson";
1010- version = "3.17.0";
1010+ version = "3.17.2";
1111 doCheck = !stdenv.isDarwin;
12121313 src = fetchFromGitHub {
1414 owner = pname;
1515 repo = pname;
1616 rev = "v${version}";
1717- sha256 = "1b1hhh1dia673vhq3jl2br1iqwb9yjii6iak56w96s9972vjbz3z";
1717+ sha256 = "sha256-2ZC7aKyUUcth43Ce0j6JdjrJ4gb4QfJDlY2M5TLMQ+o=";
1818 };
19192020- # Package does not need pytest, but its a bit easier debugging.
2121- checkInputs = [ pytest ];
2222- # Ignore warnings because test does not expect them in stderr
2323- # See https://github.com/simplejson/simplejson/issues/241
2424- checkPhase = ''
2525- PYTHONWARNINGS="ignore" pytest simplejson/tests
2626- '';
2020+ checkInputs = [ pytestCheckHook ];
27212828- meta = {
2929- description = "A simple, fast, extensible JSON encoder/decoder for Python";
2222+ pythonImportsCheck = [ "simplejson" ];
2323+2424+ meta = with lib; {
2525+ description = "Extensible JSON encoder/decoder for Python";
3026 longDescription = ''
3131- simplejson is compatible with Python 2.4 and later with no
3232- external dependencies. It covers the full JSON specification
3333- for both encoding and decoding, with unicode support. By
3434- default, encoding is done in an encoding neutral fashion (plain
3535- ASCII with \uXXXX escapes for unicode characters).
2727+ simplejson covers the full JSON specification for both encoding
2828+ and decoding, with unicode support. By default, encoding is done
2929+ in an encoding neutral fashion (plain ASCII with \uXXXX escapes
3030+ for unicode characters).
3631 '';
3732 homepage = "https://github.com/simplejson/simplejson";
3838- license = with lib.licenses; [ mit afl21 ];
3333+ license = with licenses; [ mit afl21 ];
3434+ maintainers = with maintainers; [ fab ];
3935 };
4036}
···5050 # because we usually do not package the framework
5151 cmakeFlags="-DCMAKE_FIND_FRAMEWORK=LAST $cmakeFlags"
52525353- # on macOS i686 was only relevant for 10.5 or earlier.
5454- cmakeFlags="-DCMAKE_OSX_ARCHITECTURES=x86_64 $cmakeFlags"
5555-5653 # we never want to use the global macOS SDK
5754 cmakeFlags="-DCMAKE_OSX_SYSROOT= $cmakeFlags"
5855
···11--- a/mesonbuild/coredata.py
22+++ b/mesonbuild/coredata.py
33-@@ -491,7 +491,6 @@ class CoreData:
33+@@ -506,7 +506,6 @@ class CoreData:
44 return value
55- if option.endswith('dir') and value.is_absolute() and \
66- option not in builtin_dir_noprefix_options:
55+ if option.name.endswith('dir') and value.is_absolute() and \
66+ option not in BULITIN_DIR_NOPREFIX_OPTIONS:
77- # Value must be a subdir of the prefix
88 # commonpath will always return a path in the native format, so we
99 # must use pathlib.PurePath to do the same conversion before
1010 # comparing.
1111-@@ -503,7 +502,7 @@ class CoreData:
1111+@@ -518,7 +517,7 @@ class CoreData:
1212 try:
1313 value = value.relative_to(prefix)
1414 except ValueError:
···1515 phases = "unpackPhase buildPhase";
1616 inherit src srcDir tagSuffix;
1717 name = "${name}-source-with-tags";
1818- buildInputs = [ unzip ];
1818+ nativeBuildInputs = [ unzip ];
1919 # using separate tag directory so that you don't have to glob that much files when starting your editor
2020 # is this a good choice?
2121 buildPhase =
···1717 patchShebangs test
1818 '';
19192020+ LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic";
2121+2022 # You probably shouldn't ever run these! They will reconfigure Linux
2123 # NUMA settings, which on my build machine makes the rest of package
2224 # building ~5% slower until reboot. Ugh!
···2628 description = "Library and tools for non-uniform memory access (NUMA) machines";
2729 homepage = "https://github.com/numactl/numactl";
2830 license = with licenses; [ gpl2 lgpl21 ]; # libnuma is lgpl21
2929- platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
3131+ platforms = platforms.linux;
3032 };
3133}
···2121 # Work around the "unpacker appears to have produced no directories"
2222 # case that happens when the archive doesn't have a subdirectory.
2323 setSourceRoot = "sourceRoot=$(pwd)";
2424- buildInputs = [ unzip ];
2424+ nativeBuildInputs = [ unzip ];
2525 meta = a.meta // {
2626 platforms = elasticsearch.meta.platforms;
2727 maintainers = (a.meta.maintainers or []) ++ (with lib.maintainers; [ offline ]);