···88 # If not running a fancy desktop environment, the cursor is likely set to
99 # the default `cursor.pcf` bitmap font. This is 17px wide, so it's very
1010 # small and almost invisible on 4K displays.
1111- fontcursormisc_hidpi = pkgs.xorg.fontcursormisc.overrideAttrs (old:
1111+ fontcursormisc_hidpi = pkgs.xorg.fontxfree86type1.overrideAttrs (old:
1212 let
1313 # The scaling constant is 230/96: the scalable `left_ptr` glyph at
1414 # about 23 points is rendered as 17px, on a 96dpi display.
···8484 # after loading. It is brought into plugins bin/ directory using
8585 # buildEnv in the plugin derivation. Wrapper below makes sure it
8686 # is found and does not pollute output path.
8787- binPaths = lib.concatStrings (lib.intersperse ":" (map (x: x + "/bin") plugins));
8787+ binPaths = lib.concatStringsSep ":" (map (x: x + "/bin") plugins);
88888989 dynlibPath = lib.makeLibraryPath [ gtk2 ];
9090
···3333 sha256 = "0csp8iddhc901vv09gl5lj970g6ili696vwj4vdpkiprp7gh26r5";
3434 };
35353636+ patches = [
3737+ # Fixes a warning about an initialized variable that kills enableDebugging gnucash builds on nix.
3838+ # This will most likely be part of the 4.7 release, it will be safe to remove then.
3939+ (fetchpatch {
4040+ url = "https://github.com/Gnucash/gnucash/commit/b42052464ba9701a3d1834fc58fa0deb32ab9afe.patch";
4141+ sha256 = "092957c8jqj4v70fv0ia1wpgl6x34hbwjrichxfbk5ja8l6535gc";
4242+ })
4343+ ];
4444+3645 nativeBuildInputs = [ pkg-config makeWrapper cmake gtest swig ];
37463847 buildInputs = [
···112112 # "All of the code in the compiler-rt project is dual licensed under the MIT
113113 # license and the UIUC License (a BSD-like license)":
114114 license = with lib.licenses; [ mit ncsa ];
115115+ # compiler-rt requires a Clang stdenv on 32-bit RISC-V:
116116+ # https://reviews.llvm.org/D43106#1019077
117117+ broken = stdenv.hostPlatform.isRiscV && stdenv.hostPlatform.is32bit && !stdenv.cc.isClang;
115118 };
116119}
+2-2
pkgs/development/compilers/llvm/11/default.nix
···227227228228 compiler-rt-libc = callPackage ./compiler-rt {
229229 inherit llvm_meta;
230230- stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
230230+ stdenv = if (stdenv.hostPlatform.useLLVM or false) || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) || (stdenv.hostPlatform.isRiscV && stdenv.hostPlatform.is32bit)
231231 then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc
232232 else stdenv;
233233 };
···240240 };
241241242242 # N.B. condition is safe because without useLLVM both are the same.
243243- compiler-rt = if stdenv.hostPlatform.isAndroid || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)
243243+ compiler-rt = if stdenv.hostPlatform.isAndroid || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) || (stdenv.hostPlatform.libc == "newlib")
244244 then libraries.compiler-rt-libc
245245 else libraries.compiler-rt-no-libc;
246246
+6
pkgs/development/compilers/llvm/update-git.py
···7979print('Updating default.nix...')
8080with fileinput.FileInput(DEFAULT_NIX, inplace=True) as f:
8181 for line in f:
8282+ if match := re.search(r'^ rev-version = "unstable-(.+)";', line):
8383+ old_date = match.group(1)
8284 result = re.sub(r'^ release_version = ".+";', f' release_version = "{release_version}";', line)
8385 result = re.sub(r'^ rev = ".*";', f' rev = "{commit["sha"]}";', result)
8486 result = re.sub(r'^ rev-version = ".+";', f' rev-version = "{version}";', result)
8587 result = re.sub(r'^ sha256 = ".+";', f' sha256 = "{hash}";', result)
8688 print(result, end='')
8989+# Commit the result:
9090+commit_message = f"llvmPackages_git: {old_date} -> {date}"
9191+subprocess.run(['git', 'add', DEFAULT_NIX], check=True)
9292+subprocess.run(['git', 'commit', '--file=-'], input=commit_message.encode(), check=True)
···4545# enableLTO is a subset of the enableOptimizations flag that doesn't harm reproducibility.
4646# enabling LTO on 32bit arch causes downstream packages to fail when linking
4747# enabling LTO on *-darwin causes python3 to fail when linking.
4848-, enableLTO ? stdenv.is64bit && stdenv.isLinux
4848+# enabling LTO with musl and dynamic linking fails with a linker error although it should
4949+# be possible as alpine is doing it: https://github.com/alpinelinux/aports/blob/a8ccb04668c7729e0f0db6c6ff5f25d7519e779b/main/python3/APKBUILD#L82
5050+, enableLTO ? stdenv.is64bit && stdenv.isLinux && !(stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isStatic)
4951, reproducibleBuild ? false
5052, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
5153}:
+2-2
pkgs/development/interpreters/racket/default.nix
···47474848stdenv.mkDerivation rec {
4949 pname = "racket";
5050- version = "8.1"; # always change at once with ./minimal.nix
5050+ version = "8.2"; # always change at once with ./minimal.nix
51515252 src = (lib.makeOverridable ({ name, sha256 }:
5353 fetchurl {
···5656 }
5757 )) {
5858 name = "${pname}-${version}";
5959- sha256 = "0wlgp9dlibhv1d181arz309fszz31l5gb5gl94bqzfcav014g3k8";
5959+ sha256 = "10kl9xxl9swz8hdpycpy1vjc8biah5h07dzaygsf0ylfjdrczwx0";
6060 };
61616262 FONTCONFIG_FILE = fontsConf;
···13131414 nativeBuildInputs = [ autoreconfHook ];
15151616+ # This can be removed after >=1.20.0, or if the build suceeds with
1717+ # pie enabled (default on Musl).
1818+ hardeningDisable = [ "pie" ];
1919+1620 # This problem is gone on libiscsi master.
1717- NIX_CFLAGS_COMPILE = if stdenv.hostPlatform.is32bit then "-Wno-error=sign-compare" else null;
2121+ NIX_CFLAGS_COMPILE =
2222+ lib.optional stdenv.hostPlatform.is32bit "-Wno-error=sign-compare";
18231924 meta = with lib; {
2025 description = "iscsi client library and utilities";
···11+{ fetchCrate, lib, rustPlatform }:
22+33+rustPlatform.buildRustPackage rec {
44+ pname = "inferno";
55+ version = "0.10.6";
66+77+ # github version doesn't have a Cargo.lock
88+ src = fetchCrate {
99+ inherit pname version;
1010+ sha256 = "1pn3ask36mv8byd62xhm8bjv59k12i1s533jgb5syml64w1cnn12";
1111+ };
1212+1313+ cargoSha256 = "0w5w9pyv34x0iy9knr79491kb9bgbcagh6251pq72mv4pvx0axip";
1414+1515+ # these tests depend on a patched version of flamegraph which is included in
1616+ # the github repository as a submodule, but absent from the crates version
1717+ checkFlags = [
1818+ "--skip=collapse::dtrace::tests::test_collapse_multi_dtrace"
1919+ "--skip=collapse::dtrace::tests::test_collapse_multi_dtrace_simple"
2020+ "--skip=collapse::perf::tests::test_collapse_multi_perf"
2121+ "--skip=collapse::perf::tests::test_collapse_multi_perf_simple"
2222+ ];
2323+2424+ meta = with lib; {
2525+ description = "A port of parts of the flamegraph toolkit to Rust";
2626+ homepage = "https://github.com/jonhoo/inferno";
2727+ changelog = "https://github.com/jonhoo/inferno/blob/v${version}/CHANGELOG.md";
2828+ license = licenses.cddl;
2929+ maintainers = with maintainers; [ figsoda ];
3030+ };
3131+}
···3636 nativeBuildInputs = [ makeWrapper ];
37373838 buildCommand = with lib;
3939- concatStrings (intersperse "\n" (map exeWrapper backends));
3939+ concatStringsSep "\n" (map exeWrapper backends);
40404141 # Will be faster to build the wrapper locally then to fetch it from a binary cache.
4242 preferLocalBuild = true;