diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 91c91dc0ab38..baefa0d369e5 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -24,8 +24,29 @@
Backward Incompatibilities
-
-
+
+
+
+ pkgs.ghc now refers to
+ pkgs.targetPackages.haskellPackages.ghc.
+ This only makes a difference if you are
+ cross-compiling and will ensure that
+ pkgs.ghc always runs on the host platform
+ and compiles for the target platform (similar to
+ pkgs.gcc for example).
+ haskellPackages.ghc still behaves as
+ before, running on the build platform and compiling for the
+ host platform (similar to stdenv.cc). This
+ means you don’t have to adjust your derivations if you use
+ haskellPackages.callPackage, but when using
+ pkgs.callPackage and taking
+ ghc as an input, you should now use
+ buildPackages.ghc instead to ensure cross
+ compilation keeps working (or switch to
+ haskellPackages.callPackage).
+
+
+
Other Notable Changes
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index b233d02fa568..a66e29bdb5f8 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -10,4 +10,16 @@ In addition to numerous new and upgraded packages, this release has the followin
## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
+* `pkgs.ghc` now refers to `pkgs.targetPackages.haskellPackages.ghc`.
+ This *only* makes a difference if you are cross-compiling and will
+ ensure that `pkgs.ghc` always runs on the host platform and compiles
+ for the target platform (similar to `pkgs.gcc` for example).
+ `haskellPackages.ghc` still behaves as before, running on the build
+ platform and compiling for the host platform (similar to `stdenv.cc`).
+ This means you don't have to adjust your derivations if you use
+ `haskellPackages.callPackage`, but when using `pkgs.callPackage` and
+ taking `ghc` as an input, you should now use `buildPackages.ghc`
+ instead to ensure cross compilation keeps working (or switch to
+ `haskellPackages.callPackage`).
+
## Other Notable Changes {#sec-release-22.05-notable-changes}
diff --git a/pkgs/applications/misc/ttyper/default.nix b/pkgs/applications/misc/ttyper/default.nix
index c3001c3337cd..442c2a91682f 100644
--- a/pkgs/applications/misc/ttyper/default.nix
+++ b/pkgs/applications/misc/ttyper/default.nix
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "ttyper";
- version = "0.3.0";
+ version = "0.3.1";
src = fetchFromGitHub {
owner = "max-niederman";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-9vcoK2mFEivTSZE3KoQRHUr3AfQ/aN5eWP//Jagw3gU=";
+ sha256 = "sha256-lluBxYZQWygX9aujNK251bDilNNErVNr4WDoyqSPTiQ=";
};
- cargoSha256 = "sha256-VzO32b5oAoXR/Ei9up00XRM63I5kuG68TeX4KBCXIdo=";
+ cargoSha256 = "sha256-GQNNl8/Y/jHDBGJQ7LWNpgbOgWaV/3UAMgYLJFJmQ3Y=";
meta = with lib; {
description = "Terminal-based typing test";
diff --git a/pkgs/development/compilers/ghc/8.10.2-binary.nix b/pkgs/development/compilers/ghc/8.10.2-binary.nix
index bf909016ac22..a29a5b0b5ab6 100644
--- a/pkgs/development/compilers/ghc/8.10.2-binary.nix
+++ b/pkgs/development/compilers/ghc/8.10.2-binary.nix
@@ -3,6 +3,8 @@
, ncurses5
, ncurses6, gmp, libiconv, numactl
, llvmPackages
+, coreutils
+, targetPackages
# minimal = true; will remove files that aren't strictly necessary for
# regular builds and GHC bootstrapping.
@@ -140,6 +142,19 @@ let
libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY"
+ "LD_LIBRARY_PATH";
+ runtimeDeps = [
+ targetPackages.stdenv.cc
+ targetPackages.stdenv.cc.bintools
+ coreutils # for cat
+ ]
+ ++ lib.optionals useLLVM [
+ (lib.getBin llvmPackages.llvm)
+ ]
+ # On darwin, we need unwrapped bintools as well (for otool)
+ ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
+ targetPackages.stdenv.cc.bintools.bintools
+ ];
+
in
stdenv.mkDerivation rec {
@@ -156,7 +171,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ perl ];
propagatedBuildInputs =
- lib.optionals useLLVM [ llvmPackages.llvm ]
# Because musl bindists currently provide no way to tell where
# libgmp is (see not [musl bindists have no .buildinfo]), we need
# to propagate `gmp`, otherwise programs built by this ghc will
@@ -177,7 +191,7 @@ stdenv.mkDerivation rec {
# fixing the above-mentioned release issue,
# and for GHC >= 9.* it is not clear as of writing whether that switch
# will be made there too.
- ++ lib.optionals stdenv.hostPlatform.isMusl [ gmp ]; # musl bindist needs this
+ lib.optionals stdenv.hostPlatform.isMusl [ gmp ]; # musl bindist needs this
# Set LD_LIBRARY_PATH or equivalent so that the programs running as part
# of the bindist installer can find the libraries they expect.
@@ -278,6 +292,15 @@ stdenv.mkDerivation rec {
# calls install-strip ...
dontBuild = true;
+ # Patch scripts to include runtime dependencies in $PATH.
+ postInstall = ''
+ for i in "$out/bin/"*; do
+ test ! -h "$i" || continue
+ isScript "$i" || continue
+ sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i"
+ done
+ '';
+
# Apparently necessary for the ghc Alpine (musl) bindist:
# When we strip, and then run the
# patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p
@@ -360,7 +383,6 @@ stdenv.mkDerivation rec {
doInstallCheck = true;
installCheckPhase = ''
- unset ${libEnvVar}
# Sanity check, can ghc create executables?
cd $TMP
mkdir test-ghc; cd test-ghc
@@ -369,7 +391,9 @@ stdenv.mkDerivation rec {
module Main where
main = putStrLn \$([|"yes"|])
EOF
- $out/bin/ghc --make main.hs || exit 1
+ # can't use env -i here because otherwise we don't find -lgmp on musl
+ env ${libEnvVar}= PATH= \
+ $out/bin/ghc --make main.hs || exit 1
echo compilation ok
[ $(./main) == "yes" ]
'';
@@ -378,6 +402,8 @@ stdenv.mkDerivation rec {
targetPrefix = "";
enableShared = true;
+ inherit llvmPackages;
+
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
};
diff --git a/pkgs/development/compilers/ghc/8.10.7-binary.nix b/pkgs/development/compilers/ghc/8.10.7-binary.nix
index 58be16dc5693..7b10f60affda 100644
--- a/pkgs/development/compilers/ghc/8.10.7-binary.nix
+++ b/pkgs/development/compilers/ghc/8.10.7-binary.nix
@@ -3,6 +3,8 @@
, ncurses5
, ncurses6, gmp, libiconv, numactl
, llvmPackages
+, coreutils
+, targetPackages
# minimal = true; will remove files that aren't strictly necessary for
# regular builds and GHC bootstrapping.
@@ -155,6 +157,19 @@ let
libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY"
+ "LD_LIBRARY_PATH";
+ runtimeDeps = [
+ targetPackages.stdenv.cc
+ targetPackages.stdenv.cc.bintools
+ coreutils # for cat
+ ]
+ ++ lib.optionals useLLVM [
+ (lib.getBin llvmPackages.llvm)
+ ]
+ # On darwin, we need unwrapped bintools as well (for otool)
+ ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
+ targetPackages.stdenv.cc.bintools.bintools
+ ];
+
in
stdenv.mkDerivation rec {
@@ -175,9 +190,6 @@ stdenv.mkDerivation rec {
# and update this comment accordingly.
nativeBuildInputs = [ perl ];
- propagatedBuildInputs =
- lib.optionals useLLVM [ llvmPackages.llvm ]
- ;
# Set LD_LIBRARY_PATH or equivalent so that the programs running as part
# of the bindist installer can find the libraries they expect.
@@ -278,6 +290,15 @@ stdenv.mkDerivation rec {
# calls install-strip ...
dontBuild = true;
+ # Patch scripts to include runtime dependencies in $PATH.
+ postInstall = ''
+ for i in "$out/bin/"*; do
+ test ! -h "$i" || continue
+ isScript "$i" || continue
+ sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i"
+ done
+ '';
+
# Apparently necessary for the ghc Alpine (musl) bindist:
# When we strip, and then run the
# patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p
@@ -360,7 +381,6 @@ stdenv.mkDerivation rec {
doInstallCheck = true;
installCheckPhase = ''
- unset ${libEnvVar}
# Sanity check, can ghc create executables?
cd $TMP
mkdir test-ghc; cd test-ghc
@@ -369,7 +389,7 @@ stdenv.mkDerivation rec {
module Main where
main = putStrLn \$([|"yes"|])
EOF
- $out/bin/ghc --make main.hs || exit 1
+ env -i $out/bin/ghc --make main.hs || exit 1
echo compilation ok
[ $(./main) == "yes" ]
'';
@@ -378,6 +398,8 @@ stdenv.mkDerivation rec {
targetPrefix = "";
enableShared = true;
+ inherit llvmPackages;
+
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
};
diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix
index f0c57f7fae8b..5be64bebcd4d 100644
--- a/pkgs/development/compilers/ghc/8.10.7.nix
+++ b/pkgs/development/compilers/ghc/8.10.7.nix
@@ -11,7 +11,9 @@
, # GHC can be built with system libffi or a bundled one.
libffi ? null
-, useLLVM ? !stdenv.targetPlatform.isx86
+, useLLVM ? !(stdenv.targetPlatform.isx86
+ || stdenv.targetPlatform.isPowerPC
+ || stdenv.targetPlatform.isSparc)
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
@@ -120,6 +122,8 @@ let
++ lib.optional (!enableIntegerSimple) gmp
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+ # TODO(@sternenseemann): is buildTarget LLVM unnecessary?
+ # GHC doesn't seem to have {LLC,OPT}_HOST
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
@@ -132,15 +136,6 @@ let
useLdGold = targetPlatform.linker == "gold" ||
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
- runtimeDeps = [
- targetPackages.stdenv.cc.bintools
- coreutils
- ]
- # On darwin, we need unwrapped bintools as well (for otool)
- ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
- targetPackages.stdenv.cc.bintools.bintools
- ];
-
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
variantSuffix = lib.concatStrings [
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
@@ -196,6 +191,7 @@ stdenv.mkDerivation (rec {
postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology.
+ # TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
export "''${env#TARGET_}=''${!env}"
@@ -212,6 +208,19 @@ stdenv.mkDerivation (rec {
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+ '' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
+ export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
+ export INSTALL_NAME_TOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}install_name_tool"
+ '' + lib.optionalString useLLVM ''
+ export LLC="${lib.getBin llvmPackages.llvm}/bin/llc"
+ export OPT="${lib.getBin llvmPackages.llvm}/bin/opt"
+ '' + lib.optionalString (targetCC.isClang || (useLLVM && stdenv.targetPlatform.isDarwin)) (let
+ # LLVM backend on Darwin needs clang, if we are already using clang, might as well set the environment variable.
+ # See also https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
+ clang = if targetCC.isClang then targetCC else llvmPackages.clang;
+ in ''
+ export CLANG="${clang}/bin/${clang.targetPrefix}clang"
+ '') + ''
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
@@ -290,9 +299,6 @@ stdenv.mkDerivation (rec {
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
- propagatedBuildInputs = [ targetPackages.stdenv.cc ]
- ++ lib.optional useLLVM llvmPackages.llvm;
-
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
@@ -320,13 +326,6 @@ stdenv.mkDerivation (rec {
postInstall = ''
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
-
- # Patch scripts to include "readelf" and "cat" in $PATH.
- for i in "$out/bin/"*; do
- test ! -h $i || continue
- egrep --quiet '^#!' <(head -n 1 $i) || continue
- sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
- done
'';
passthru = {
diff --git a/pkgs/development/compilers/ghc/8.6.5-binary.nix b/pkgs/development/compilers/ghc/8.6.5-binary.nix
index b1126fda7d26..22bfae79c0ce 100644
--- a/pkgs/development/compilers/ghc/8.6.5-binary.nix
+++ b/pkgs/development/compilers/ghc/8.6.5-binary.nix
@@ -2,6 +2,8 @@
, fetchurl, perl, gcc
, ncurses5, ncurses6, gmp, glibc, libiconv
, llvmPackages
+, coreutils
+, targetPackages
}:
# Prebuilt only does native
@@ -30,6 +32,19 @@ let
downloadsUrl = "https://downloads.haskell.org/ghc";
+ runtimeDeps = [
+ targetPackages.stdenv.cc
+ targetPackages.stdenv.cc.bintools
+ coreutils # for cat
+ ]
+ ++ lib.optionals useLLVM [
+ (lib.getBin llvmPackages.llvm)
+ ]
+ # On darwin, we need unwrapped bintools as well (for otool)
+ ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
+ targetPackages.stdenv.cc.bintools.bintools
+ ];
+
in
stdenv.mkDerivation rec {
@@ -62,7 +77,6 @@ stdenv.mkDerivation rec {
or (throw "cannot bootstrap GHC on this platform"));
nativeBuildInputs = [ perl ];
- propagatedBuildInputs = lib.optionals useLLVM [ llvmPackages.llvm ];
# Cannot patchelf beforehand due to relative RPATHs that anticipate
# the final install location/
@@ -130,6 +144,15 @@ stdenv.mkDerivation rec {
# calls install-strip ...
dontBuild = true;
+ # Patch scripts to include runtime dependencies in $PATH.
+ postInstall = ''
+ for i in "$out/bin/"*; do
+ test ! -h "$i" || continue
+ isScript "$i" || continue
+ sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i"
+ done
+ '';
+
# On Linux, use patchelf to modify the executables so that they can
# find editline/gmp.
postFixup = lib.optionalString stdenv.isLinux ''
@@ -163,7 +186,6 @@ stdenv.mkDerivation rec {
doInstallCheck = true;
installCheckPhase = ''
- unset ${libEnvVar}
# Sanity check, can ghc create executables?
cd $TMP
mkdir test-ghc; cd test-ghc
@@ -172,7 +194,7 @@ stdenv.mkDerivation rec {
module Main where
main = putStrLn \$([|"yes"|])
EOF
- $out/bin/ghc --make main.hs || exit 1
+ env -i $out/bin/ghc --make main.hs || exit 1
echo compilation ok
[ $(./main) == "yes" ]
'';
@@ -181,14 +203,15 @@ stdenv.mkDerivation rec {
targetPrefix = "";
enableShared = true;
+ inherit llvmPackages;
+
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
};
meta = rec {
license = lib.licenses.bsd3;
- platforms = ["x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin"];
- hydraPlatforms = builtins.filter (p: p != "aarch64-linux") platforms;
+ platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
# build segfaults, use ghc8102Binary which has proper musl support instead
broken = stdenv.hostPlatform.isMusl;
maintainers = with lib.maintainers; [
diff --git a/pkgs/development/compilers/ghc/8.8.4.nix b/pkgs/development/compilers/ghc/8.8.4.nix
index 49f45d856270..ffa2c473eec6 100644
--- a/pkgs/development/compilers/ghc/8.8.4.nix
+++ b/pkgs/development/compilers/ghc/8.8.4.nix
@@ -10,7 +10,9 @@
, # GHC can be built with system libffi or a bundled one.
libffi ? null
-, useLLVM ? !stdenv.targetPlatform.isx86
+, useLLVM ? !(stdenv.targetPlatform.isx86
+ || stdenv.targetPlatform.isPowerPC
+ || stdenv.targetPlatform.isSparc)
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
@@ -128,6 +130,8 @@ let
++ lib.optional (!enableIntegerSimple) gmp
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+ # TODO(@sternenseemann): is buildTarget LLVM unnecessary?
+ # GHC doesn't seem to have {LLC,OPT}_HOST
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
@@ -140,15 +144,6 @@ let
useLdGold = targetPlatform.linker == "gold" ||
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
- runtimeDeps = [
- targetPackages.stdenv.cc.bintools
- coreutils
- ]
- # On darwin, we need unwrapped bintools as well (for otool)
- ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
- targetPackages.stdenv.cc.bintools.bintools
- ];
-
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
variantSuffix = lib.concatStrings [
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
@@ -197,6 +192,7 @@ stdenv.mkDerivation (rec {
postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology.
+ # TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
preConfigure =
# Aarch64 allow backward bootstrapping since earlier versions are unstable.
# Same for musl, as earlier versions do not provide a musl bindist for bootstrapping.
@@ -220,6 +216,16 @@ stdenv.mkDerivation (rec {
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+ '' + lib.optionalString useLLVM ''
+ export LLC="${lib.getBin llvmPackages.llvm}/bin/llc"
+ export OPT="${lib.getBin llvmPackages.llvm}/bin/opt"
+ '' + lib.optionalString (targetCC.isClang || (useLLVM && stdenv.targetPlatform.isDarwin)) (let
+ # LLVM backend on Darwin needs clang, if we are already using clang, might as well set the environment variable.
+ # See also https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
+ clang = if targetCC.isClang then targetCC else llvmPackages.clang;
+ in ''
+ export CLANG="${clang}/bin/${clang.targetPrefix}clang"
+ '') + ''
echo -n "${buildMK dontStrip}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
@@ -293,9 +299,6 @@ stdenv.mkDerivation (rec {
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
- propagatedBuildInputs = [ targetPackages.stdenv.cc ]
- ++ lib.optional useLLVM llvmPackages.llvm;
-
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
@@ -319,13 +322,6 @@ stdenv.mkDerivation (rec {
postInstall = ''
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
-
- # Patch scripts to include "readelf" and "cat" in $PATH.
- for i in "$out/bin/"*; do
- test ! -h $i || continue
- egrep --quiet '^#!' <(head -n 1 $i) || continue
- sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
- done
'';
passthru = {
@@ -345,7 +341,17 @@ stdenv.mkDerivation (rec {
guibou
] ++ lib.teams.haskell.members;
timeout = 24 * 3600;
- inherit (ghc.meta) license platforms;
+ inherit (ghc.meta) license;
+ # hardcode platforms because the bootstrap GHC differs depending on the platform,
+ # with differing platforms available for each of them; See HACK comment in
+ # 8.10.2-binary.nix for an explanation of the musl special casing.
+ platforms = [
+ "x86_64-linux"
+ ] ++ lib.optionals (!hostPlatform.isMusl) [
+ "i686-linux"
+ "aarch64-linux"
+ "x86_64-darwin"
+ ];
# integer-simple builds are broken with musl when bootstrapping using
# GHC 8.10.2 and below, however it is not possible to reverse bootstrap
# GHC 8.8.4 with GHC 8.10.7.
diff --git a/pkgs/development/compilers/ghc/9.0.1.nix b/pkgs/development/compilers/ghc/9.0.1.nix
index 005333a8d83e..d377328692cb 100644
--- a/pkgs/development/compilers/ghc/9.0.1.nix
+++ b/pkgs/development/compilers/ghc/9.0.1.nix
@@ -12,7 +12,9 @@
, # GHC can be built with system libffi or a bundled one.
libffi ? null
-, useLLVM ? !stdenv.targetPlatform.isx86
+, useLLVM ? !(stdenv.targetPlatform.isx86
+ || stdenv.targetPlatform.isPowerPC
+ || stdenv.targetPlatform.isSparc)
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
@@ -115,6 +117,8 @@ let
++ lib.optional (!enableIntegerSimple) gmp
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+ # TODO(@sternenseemann): is buildTarget LLVM unnecessary?
+ # GHC doesn't seem to have {LLC,OPT}_HOST
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
@@ -127,15 +131,6 @@ let
useLdGold = targetPlatform.linker == "gold" ||
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
- runtimeDeps = [
- targetPackages.stdenv.cc.bintools
- coreutils
- ]
- # On darwin, we need unwrapped bintools as well (for otool)
- ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
- targetPackages.stdenv.cc.bintools.bintools
- ];
-
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
variantSuffix = lib.concatStrings [
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
@@ -162,6 +157,7 @@ stdenv.mkDerivation (rec {
LANG = "en_US.UTF-8";
# GHC is a bit confused on its cross terminology.
+ # TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
export "''${env#TARGET_}=''${!env}"
@@ -178,6 +174,19 @@ stdenv.mkDerivation (rec {
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+ '' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
+ export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
+ export INSTALL_NAME_TOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}install_name_tool"
+ '' + lib.optionalString useLLVM ''
+ export LLC="${lib.getBin llvmPackages.llvm}/bin/llc"
+ export OPT="${lib.getBin llvmPackages.llvm}/bin/opt"
+ '' + lib.optionalString (targetCC.isClang || (useLLVM && stdenv.targetPlatform.isDarwin)) (let
+ # LLVM backend on Darwin needs clang, if we are already using clang, might as well set the environment variable.
+ # See also https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
+ clang = if targetCC.isClang then targetCC else llvmPackages.clang;
+ in ''
+ export CLANG="${clang}/bin/${clang.targetPrefix}clang"
+ '') + ''
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
@@ -255,9 +264,6 @@ stdenv.mkDerivation (rec {
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
- propagatedBuildInputs = [ targetPackages.stdenv.cc ]
- ++ lib.optional useLLVM llvmPackages.llvm;
-
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
@@ -285,13 +291,6 @@ stdenv.mkDerivation (rec {
postInstall = ''
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
-
- # Patch scripts to include "readelf" and "cat" in $PATH.
- for i in "$out/bin/"*; do
- test ! -h $i || continue
- egrep --quiet '^#!' <(head -n 1 $i) || continue
- sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
- done
'';
passthru = {
diff --git a/pkgs/development/compilers/ghc/9.2.1.nix b/pkgs/development/compilers/ghc/9.2.1.nix
index 2ebbdc63ac93..20062358db50 100644
--- a/pkgs/development/compilers/ghc/9.2.1.nix
+++ b/pkgs/development/compilers/ghc/9.2.1.nix
@@ -12,7 +12,10 @@
, # GHC can be built with system libffi or a bundled one.
libffi ? null
-, useLLVM ? !stdenv.targetPlatform.isx86
+, useLLVM ? !(stdenv.targetPlatform.isx86
+ || stdenv.targetPlatform.isPowerPC
+ || stdenv.targetPlatform.isSparc
+ || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
@@ -115,6 +118,8 @@ let
++ lib.optional (!enableIntegerSimple) gmp
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+ # TODO(@sternenseemann): is buildTarget LLVM unnecessary?
+ # GHC doesn't seem to have {LLC,OPT}_HOST
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
@@ -126,15 +131,6 @@ let
# see #84670 and #49071 for more background.
useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl);
- runtimeDeps = [
- targetPackages.stdenv.cc.bintools
- coreutils
- ]
- # On darwin, we need unwrapped bintools as well (for otool)
- ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
- targetPackages.stdenv.cc.bintools.bintools
- ];
-
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
variantSuffix = lib.concatStrings [
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
@@ -161,6 +157,7 @@ stdenv.mkDerivation (rec {
LANG = "en_US.UTF-8";
# GHC is a bit confused on its cross terminology.
+ # TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
export "''${env#TARGET_}=''${!env}"
@@ -177,6 +174,19 @@ stdenv.mkDerivation (rec {
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+ '' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
+ export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
+ export INSTALL_NAME_TOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}install_name_tool"
+ '' + lib.optionalString useLLVM ''
+ export LLC="${lib.getBin llvmPackages.llvm}/bin/llc"
+ export OPT="${lib.getBin llvmPackages.llvm}/bin/opt"
+ '' + lib.optionalString (targetCC.isClang || (useLLVM && stdenv.targetPlatform.isDarwin)) (let
+ # LLVM backend on Darwin needs clang, if we are already using clang, might as well set the environment variable.
+ # See also https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
+ clang = if targetCC.isClang then targetCC else llvmPackages.clang;
+ in ''
+ export CLANG="${clang}/bin/${clang.targetPrefix}clang"
+ '') + ''
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
@@ -258,9 +268,6 @@ stdenv.mkDerivation (rec {
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
- propagatedBuildInputs = [ targetPackages.stdenv.cc ]
- ++ lib.optional useLLVM llvmPackages.llvm;
-
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
@@ -288,13 +295,6 @@ stdenv.mkDerivation (rec {
postInstall = ''
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
-
- # Patch scripts to include "readelf" and "cat" in $PATH.
- for i in "$out/bin/"*; do
- test ! -h $i || continue
- egrep --quiet '^#!' <(head -n 1 $i) || continue
- sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
- done
'';
passthru = {
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index f50b3b76e15d..537b735b4a21 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -17,7 +17,10 @@
!stdenv.targetPlatform.isWindows
, elfutils # for DWARF support
-, useLLVM ? !stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isiOS
+, useLLVM ? !(stdenv.targetPlatform.isx86
+ || stdenv.targetPlatform.isPowerPC
+ || stdenv.targetPlatform.isSparc
+ || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
@@ -128,6 +131,8 @@ let
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
++ lib.optional enableDwarf elfutils;
+ # TODO(@sternenseemann): is buildTarget LLVM unnecessary?
+ # GHC doesn't seem to have {LLC,OPT}_HOST
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
@@ -140,15 +145,6 @@ let
useLdGold = targetPlatform.linker == "gold" ||
(targetPlatform.linker == "bfd" && (targetPackages.stdenv.cc.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
- runtimeDeps = [
- targetPackages.stdenv.cc.bintools
- coreutils
- ]
- # On darwin, we need unwrapped bintools as well (for otool)
- ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
- targetPackages.stdenv.cc.bintools.bintools
- ];
-
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
variantSuffix = lib.concatStrings [
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
@@ -174,6 +170,7 @@ stdenv.mkDerivation (rec {
postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology.
+ # TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
export "''${env#TARGET_}=''${!env}"
@@ -191,6 +188,19 @@ stdenv.mkDerivation (rec {
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+ '' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
+ export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
+ export INSTALL_NAME_TOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}install_name_tool"
+ '' + lib.optionalString useLLVM ''
+ export LLC="${lib.getBin llvmPackages.llvm}/bin/llc"
+ export OPT="${lib.getBin llvmPackages.llvm}/bin/opt"
+ '' + lib.optionalString (targetCC.isClang || (useLLVM && stdenv.targetPlatform.isDarwin)) (let
+ # LLVM backend on Darwin needs clang, if we are already using clang, might as well set the environment variable.
+ # See also https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
+ clang = if targetCC.isClang then targetCC else llvmPackages.clang;
+ in ''
+ export CLANG="${clang}/bin/${clang.targetPrefix}clang"
+ '') + ''
# otherwise haddock fails when generating the compiler docs
export LANG=C.UTF-8
@@ -278,9 +288,6 @@ stdenv.mkDerivation (rec {
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
- propagatedBuildInputs = [ targetPackages.stdenv.cc ]
- ++ lib.optional useLLVM llvmPackages.llvm;
-
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
@@ -308,13 +315,6 @@ stdenv.mkDerivation (rec {
postInstall = ''
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
-
- # Patch scripts to include "readelf" and "cat" in $PATH.
- for i in "$out/bin/"*; do
- test ! -h $i || continue
- egrep --quiet '^#!' <(head -n 1 $i) || continue
- sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
- done
'';
passthru = {
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
index 5e42a7c1131c..ec5515659309 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
@@ -4,8 +4,7 @@ with haskellLib;
self: super: {
- # This compiler version needs llvm 9.x.
- llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_9;
+ llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC 8.10.x core libraries.
array = null;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index db202735f893..ce7bf88d1da8 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -4,8 +4,7 @@ with haskellLib;
self: super: {
- # This compiler version needs llvm 6.x.
- llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_6;
+ llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC 8.6.x core libraries.
array = null;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index a27a7c522098..94e9a32ce05a 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -4,8 +4,7 @@ with haskellLib;
self: super: {
- # This compiler version needs llvm 7.x.
- llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_7;
+ llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC 8.8.x core libraries.
array = null;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
index 08d1ba3b2107..7999e228c748 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
@@ -4,8 +4,7 @@ with haskellLib;
self: super: {
- # This compiler version needs llvm 10.x.
- llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_10;
+ llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC 9.0.x core libraries.
array = null;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
index 7dc5e70b90c7..c8488453fdcb 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
@@ -4,8 +4,7 @@ with haskellLib;
self: super: {
- # This compiler version needs llvm 10.x.
- llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_10;
+ llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC 9.2.x core libraries.
array = null;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-head.nix b/pkgs/development/haskell-modules/configuration-ghc-head.nix
index f2fa17d9c46b..e1e3f2c99884 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-head.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-head.nix
@@ -11,7 +11,7 @@ with haskellLib;
self: super: {
- llvmPackages = pkgs.lib.dontRecurseIntoAttrs pkgs.llvmPackages_10;
+ llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC 8.7.x core libraries.
array = null;
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
index f7bebbc4aa07..e5fe60a0ae5c 100644
--- a/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -1,14 +1,8 @@
{ lib, stdenv, ghc, llvmPackages, packages, symlinkJoin, makeWrapper
-# Include LLVM by default if GHC doesn't have native code generation support
-# See https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms
-, useLLVM ? !(lib.any lib.id ([
- stdenv.targetPlatform.isx86
- stdenv.targetPlatform.isPowerPC
- stdenv.targetPlatform.isSparc
- ] ++ lib.optionals (lib.versionAtLeast ghc.version "9.2") [
- (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin)
- # TODO(@sternenseemann): Is armv7a supported for iOS?
- ]))
+# GHC will have LLVM available if necessary for the respective target,
+# so useLLVM only needs to be changed if -fllvm is to be used for a
+# platform that has NCG support
+, useLLVM ? false
, postBuild ? ""
, ghcLibdir ? null # only used by ghcjs, when resolving plugins
}:
diff --git a/pkgs/development/libraries/aws-c-auth/default.nix b/pkgs/development/libraries/aws-c-auth/default.nix
index 7de352328100..ad1f3483cff0 100644
--- a/pkgs/development/libraries/aws-c-auth/default.nix
+++ b/pkgs/development/libraries/aws-c-auth/default.nix
@@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "aws-c-auth";
- version = "0.6.5";
+ version = "0.6.8";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-c-auth";
rev = "v${version}";
- sha256 = "sha256-d3UdZucicp+Z0EjWNE5Xa/EMIGPk6GtQc7f0H8RBHA8=";
+ sha256 = "sha256-cZyWe3kX5JiB6th1VkkBFKa2MEilRtU+tHvu7c9e+Yw=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/aws-c-cal/default.nix b/pkgs/development/libraries/aws-c-cal/default.nix
index d0bcfc901084..87d66e15355d 100644
--- a/pkgs/development/libraries/aws-c-cal/default.nix
+++ b/pkgs/development/libraries/aws-c-cal/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "aws-c-cal";
- version = "0.5.11";
+ version = "0.5.12";
src = fetchFromGitHub {
owner = "awslabs";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-rmEsDsY50IKpCpQTvAFEkgCtuHwwgwMwcRpBUyyZGGc=";
+ sha256 = "sha256-KzuaT9c1l9Uhyj6IEy8JfDYzEYI2OcUkq+KRDoJx+Cc=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix
index c927ca53336a..e7a09a19ece5 100644
--- a/pkgs/development/libraries/aws-c-common/default.nix
+++ b/pkgs/development/libraries/aws-c-common/default.nix
@@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "aws-c-common";
- version = "0.6.14";
+ version = "0.6.17";
src = fetchFromGitHub {
owner = "awslabs";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-JEaRB0k6zyk5UKuB2hEZUAsnp2SuI9mrok/EvwclUJk=";
+ sha256 = "sha256-+FzTEpotxco4+9gLVUL+rkCWoMjRCorKQ47JINHsnNA=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/aws-c-http/default.nix b/pkgs/development/libraries/aws-c-http/default.nix
index a57747260513..a25231ee8831 100644
--- a/pkgs/development/libraries/aws-c-http/default.nix
+++ b/pkgs/development/libraries/aws-c-http/default.nix
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "aws-c-http";
- version = "0.6.8";
+ version = "0.6.10";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-c-http";
rev = "v${version}";
- sha256 = "sha256-JqFvKoWW/2UV0jcR50QlD+LEPwQ4qwPoaPpioAuwf90=";
+ sha256 = "sha256-R+teEKSQjSFYt3+XXvooAy4GJwN4yzEhJtiuknBZIgU=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/aws-c-io/default.nix b/pkgs/development/libraries/aws-c-io/default.nix
index 1ff28dccc9ef..2cfba1bd2046 100644
--- a/pkgs/development/libraries/aws-c-io/default.nix
+++ b/pkgs/development/libraries/aws-c-io/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "aws-c-io";
- version = "0.10.12";
+ version = "0.10.13";
src = fetchFromGitHub {
owner = "awslabs";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-8v38NN9qrgdrshMx3l2wLrl7l77HjsW2GPu8IwkclJQ=";
+ sha256 = "sha256-wdsSxEY9FwJoqdi0S8TNoyq8oxoZORKWeorsSpn+1IY=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/aws-c-mqtt/default.nix b/pkgs/development/libraries/aws-c-mqtt/default.nix
index 39a75c511622..f75b744c3a91 100644
--- a/pkgs/development/libraries/aws-c-mqtt/default.nix
+++ b/pkgs/development/libraries/aws-c-mqtt/default.nix
@@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "aws-c-mqtt";
- version = "0.7.8";
+ version = "0.7.9";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-c-mqtt";
rev = "v${version}";
- sha256 = "19j6nw2v36c4yff4p0fbf0748s06fd5r9cp2yakry9ybn1ada99c";
+ sha256 = "sha256-YMAqK4DOFA5TkMNwLHRk1m14V8lN6X5SDAwrTYWdGMc=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/aws-crt-cpp/default.nix b/pkgs/development/libraries/aws-crt-cpp/default.nix
index 68414931e413..5d4a44ccf159 100644
--- a/pkgs/development/libraries/aws-crt-cpp/default.nix
+++ b/pkgs/development/libraries/aws-crt-cpp/default.nix
@@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "aws-crt-cpp";
- version = "0.17.0";
+ version = "0.17.8";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-crt-cpp";
rev = "v${version}";
- sha256 = "0ijvyg3hrh1d0npca62syz8qy6nkqh90fq54cqyln0p333z16q52";
+ sha256 = "sha256-eHABIg3v5ycpQzacW/8C74PT6yDOXGmJqDa9P1hN7Mo=";
};
postPatch = ''
diff --git a/pkgs/development/libraries/s2n-tls/default.nix b/pkgs/development/libraries/s2n-tls/default.nix
index 1ce6f2672104..35a37fbddb86 100644
--- a/pkgs/development/libraries/s2n-tls/default.nix
+++ b/pkgs/development/libraries/s2n-tls/default.nix
@@ -1,29 +1,20 @@
{ lib, stdenv
, fetchFromGitHub
-, fetchpatch
, cmake
, openssl
}:
stdenv.mkDerivation rec {
pname = "s2n-tls";
- version = "1.0.17";
+ version = "1.3.0";
src = fetchFromGitHub {
owner = "aws";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-6XqBpNURU8fzGkTt4jsijgMiOkzMebmLmPAq8yQsTg4=";
+ sha256 = "sha256-gd91thIcJO6Bhn1ENkW0k2iDzu1CvSYwWVv0VEM9umU=";
};
- patches = [
- # Fix FindLibCrypto paths (https://github.com/aws/s2n-tls/pull/3067)
- (fetchpatch {
- url = "https://github.com/aws/s2n-tls/commit/bda649524402be4018c44bff07f6c64502a351ec.patch";
- sha256 = "02jmxsrd506vhjzlrgh1p2z1f1sn4v8klks25zisiykyqkyaczkv";
- })
- ];
-
nativeBuildInputs = [ cmake ];
outputs = [ "out" "dev"];
diff --git a/pkgs/development/python-modules/pywal/default.nix b/pkgs/development/python-modules/pywal/default.nix
index ccc862f8aa47..2e09573d848c 100644
--- a/pkgs/development/python-modules/pywal/default.nix
+++ b/pkgs/development/python-modules/pywal/default.nix
@@ -9,24 +9,29 @@ buildPythonPackage rec {
sha256 = "1drha9kshidw908k7h3gd9ws2bl64ms7bjcsa83pwb3hqa9bkspg";
};
- preCheck = ''
- mkdir tmp
- HOME=$PWD/tmp
- '';
-
patches = [
./convert.patch
./feh.patch
];
- # Invalid syntax
- disabled = !isPy3k;
-
postPatch = ''
substituteInPlace pywal/backends/wal.py --subst-var-by convert "${imagemagick}/bin/convert"
substituteInPlace pywal/wallpaper.py --subst-var-by feh "${feh}/bin/feh"
'';
+ # Invalid syntax
+ disabled = !isPy3k;
+
+ preCheck = ''
+ mkdir tmp
+ HOME=$PWD/tmp
+
+ for f in tests/test_export.py tests/test_util.py ; do
+ substituteInPlace "$f" \
+ --replace '/tmp/' "$TMPDIR/"
+ done
+ '';
+
meta = with lib; {
description = "Generate and change colorschemes on the fly. A 'wal' rewrite in Python 3";
homepage = "https://github.com/dylanaraps/pywal";
diff --git a/pkgs/development/python-modules/umap-learn/default.nix b/pkgs/development/python-modules/umap-learn/default.nix
index fcf96a715f15..df635d856d94 100644
--- a/pkgs/development/python-modules/umap-learn/default.nix
+++ b/pkgs/development/python-modules/umap-learn/default.nix
@@ -9,6 +9,7 @@
, pynndescent
, tensorflow
, pytestCheckHook
+, Keras
}:
buildPythonPackage rec {
@@ -34,6 +35,7 @@ buildPythonPackage rec {
nose
tensorflow
pytestCheckHook
+ Keras
];
preCheck = ''
diff --git a/pkgs/development/tools/crd2pulumi/default.nix b/pkgs/development/tools/crd2pulumi/default.nix
new file mode 100644
index 000000000000..574228fa4cf0
--- /dev/null
+++ b/pkgs/development/tools/crd2pulumi/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+ pname = "crd2pulumi";
+ version = "1.0.10";
+
+ src = fetchFromGitHub {
+ owner = "pulumi";
+ repo = "crd2pulumi";
+ rev = "v${version}";
+ sha256 = "1xzr63brzqysvhm3fqj246c7s84kchpcm6wad3mvxcxjcab6xd1f";
+ };
+
+ vendorSha256 = "0xi5va2fy4nrxp3qgyzcw20a2089sbz8h1hvqx2ryxijr61wd93d";
+
+ ldflags = [ "-s" "-w" "-X github.com/pulumi/crd2pulumi/gen.Version=${src.rev}" ];
+
+ subPackages = [ "." ];
+
+ meta = with lib; {
+ description = "Generate typed CustomResources from a Kubernetes CustomResourceDefinition";
+ homepage = "https://github.com/pulumi/crd2pulumi";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ flokli ];
+ };
+}
diff --git a/pkgs/development/tools/misc/polylith/default.nix b/pkgs/development/tools/misc/polylith/default.nix
index 4397fd11a27b..a8330895e7c1 100644
--- a/pkgs/development/tools/misc/polylith/default.nix
+++ b/pkgs/development/tools/misc/polylith/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "polylith";
- version = "0.2.12-alpha";
+ version = "0.2.13-alpha";
src = fetchurl {
url = "https://github.com/polyfy/polylith/releases/download/v${version}/poly-${version}.jar";
- sha256 = "1zsasyrrssj7kmvgfr63fa5hslw9gnlbp9bh05g72bfgzi99n8kg";
+ sha256 = "sha256-iLN92qurc8+D0pt7Hwag+TFGoeFl9DvEeS67sKmmoSI=";
};
dontUnpack = true;
diff --git a/pkgs/development/tools/rust/cargo-sort/default.nix b/pkgs/development/tools/rust/cargo-sort/default.nix
index 9ab6d7e2b03a..4c0d722f266d 100644
--- a/pkgs/development/tools/rust/cargo-sort/default.nix
+++ b/pkgs/development/tools/rust/cargo-sort/default.nix
@@ -2,20 +2,21 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-sort";
- version = "1.0.5";
+ version = "1.0.6";
src = fetchFromGitHub {
owner = "devinr528";
repo = pname;
rev = "v${version}";
- sha256 = "146aawikyjcxbj0dpnqia31xmplpwkl9w1gv7d9a5jvz8whvxrff";
+ sha256 = "sha256-4BQdZsnK3Wv7A3I/yCrnPALac2/sSopRPVh/57vvmGw=";
};
- cargoSha256 = "0xm37f285vmd674k5j72pcjg6zpmxlf46d9vppi9s3qaw0hsslpf";
+ cargoSha256 = "sha256-JM9HdPEZA9c8NGeu9qRwj0jGUsMltsOUG6itNbXZ3Ts=";
meta = with lib; {
description = "A tool to check that your Cargo.toml dependencies are sorted alphabetically";
homepage = "https://github.com/devinr528/cargo-sort";
+ changelog = "https://github.com/devinr528/cargo-sort/blob/v${version}/changelog.md";
license = with licenses; [ mit /* or */ asl20 ];
maintainers = with maintainers; [ figsoda ];
};
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index c8a1b8983f32..b09af281166b 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -14,6 +14,7 @@
, hexdump
, hidapi
, icu
+, libaio
, libGL
, libGLU
, libevdev
@@ -21,6 +22,7 @@
, libpcap
, libpng
, libvorbis
+, libxml2
, libzip
, makeWrapper
, nasm
@@ -36,6 +38,8 @@
, udev
, which
, xorg
+, xxd
+, xz
, zlib
}:
@@ -55,6 +59,7 @@ let
, src ? null
, broken ? false
, version ? "unstable-2021-11-22"
+ , platforms ? retroarch.meta.platforms
, ...
}@args:
lib.makeOverridable stdenv.mkDerivation (
@@ -105,10 +110,9 @@ let
};
meta = with lib; {
- inherit broken description license;
+ inherit broken description license platforms;
homepage = "https://www.libretro.com/";
maintainers = with maintainers; [ edwtjo hrdinka MP2E thiagokokada ];
- platforms = platforms.unix;
};
}) // builtins.removeAttrs args [ "core" "src" "description" "license" "makeFlags" ]
);
@@ -189,7 +193,7 @@ in
description = "Port of Mednafen's Saturn core to libretro";
license = lib.licenses.gpl2Only;
makefile = "Makefile";
- meta.platforms = [ "x86_64-linux" "aarch64-linux" ];
+ platforms = [ "x86_64-linux" "aarch64-linux" ];
};
beetle-snes = mkLibRetroCore {
@@ -363,7 +367,6 @@ in
] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXext libXrandr libXinerama libXxf86vm ]);
makefile = "Makefile";
cmakeFlags = [
- "-DCMAKE_BUILD_TYPE=Release"
"-DLIBRETRO=ON"
"-DLIBRETRO_STATIC=1"
"-DENABLE_QT=OFF"
@@ -420,7 +423,7 @@ in
extraBuildInputs = [ libGL libGLU ];
makefile = "Makefile";
makeFlags = lib.optional stdenv.hostPlatform.isAarch64 [ "platform=arm64" ];
- meta.platforms = [ "aarch64-linux" "x86_64-linux" ];
+ platforms = [ "aarch64-linux" "x86_64-linux" ];
};
fmsx = mkLibRetroCore {
@@ -669,6 +672,38 @@ in
'';
};
+ pcsx2 = mkLibRetroCore {
+ core = "pcsx2";
+ version = "unstable-2021-11-27";
+ description = "Port of PCSX2 to libretro";
+ license = lib.licenses.gpl3Plus;
+ extraNativeBuildInputs = [
+ cmake
+ gettext
+ pkg-config
+ ];
+ extraBuildInputs = [
+ libaio
+ libGL
+ libGLU
+ libpcap
+ libpng
+ libxml2
+ xz
+ xxd
+ ];
+ makefile = "Makefile";
+ cmakeFlags = [
+ "-DLIBRETRO=ON"
+ ];
+ postPatch = ''
+ # remove ccache
+ substituteInPlace CMakeLists.txt --replace "ccache" ""
+ '';
+ postBuild = "cd /build/source/build/pcsx2";
+ platforms = lib.platforms.x86;
+ };
+
pcsx_rearmed = mkLibRetroCore {
core = "pcsx_rearmed";
description = "Port of PCSX ReARMed with GNU lightning to libretro";
@@ -810,7 +845,6 @@ in
extraNativeBuildInputs = [ cmake ];
makefile = "Makefile";
cmakeFlags = [
- "-DCMAKE_BUILD_TYPE=Release"
"-DBUILD_LIBRETRO_CORE=ON"
];
postPatch = "mkdir -p src/duckstation-libretro";
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index 5a294277c80c..6bf5f219cd78 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -110,7 +110,7 @@ stdenv.mkDerivation rec {
homepage = "https://libretro.com";
description = "Multi-platform emulator frontend for libretro cores";
license = licenses.gpl3Plus;
- platforms = platforms.all;
+ platforms = platforms.unix;
maintainers = with maintainers; [ MP2E edwtjo matthewbauer kolbycrouch thiagokokada ];
# FIXME: exits with error on macOS:
# No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting
diff --git a/pkgs/misc/emulators/retroarch/hashes.json b/pkgs/misc/emulators/retroarch/hashes.json
index 9eab19b29ad1..3caf4ed9f7b8 100644
--- a/pkgs/misc/emulators/retroarch/hashes.json
+++ b/pkgs/misc/emulators/retroarch/hashes.json
@@ -377,6 +377,13 @@
"sha256": "rms+T8JOp/TJ/T5a5uLj8lu1LLz/GAsJZ7UbK42C9yU=",
"fetchSubmodules": false
},
+ "pcsx2": {
+ "owner": "libretro",
+ "repo": "pcsx2",
+ "rev": "18e0685ed4f191796c8e923caf4f5e96a930057e",
+ "sha256": "V2eS741us2p+JC+ghmHjAtFeptB0UcBlwZuisZ8Co7M=",
+ "fetchSubmodules": false
+ },
"pcsx_rearmed": {
"owner": "libretro",
"repo": "pcsx_rearmed",
diff --git a/pkgs/misc/emulators/retroarch/update.py b/pkgs/misc/emulators/retroarch/update.py
index 3c1ea2b755b1..831709d89e7c 100755
--- a/pkgs/misc/emulators/retroarch/update.py
+++ b/pkgs/misc/emulators/retroarch/update.py
@@ -64,6 +64,7 @@ CORES = {
"o2em": {"repo": "libretro-o2em"},
"opera": {"repo": "opera-libretro"},
"parallel-n64": {"repo": "parallel-n64"},
+ "pcsx2": {"repo": "pcsx2"},
"pcsx_rearmed": {"repo": "pcsx_rearmed"},
"picodrive": {"repo": "picodrive", "fetch_submodules": True},
"play": {"repo": "Play-", "owner": "jpd002", "fetch_submodules": True},
diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix
index b930e966a275..878f563631e9 100644
--- a/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/pkgs/os-specific/linux/rdma-core/default.nix
@@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "rdma-core";
- version = "37.1";
+ version = "38.0";
src = fetchFromGitHub {
owner = "linux-rdma";
repo = "rdma-core";
rev = "v${version}";
- sha256 = "19s59id4m0zkkm4hqa36f2xnah4rs4z207kxzn4zdg2x1d06j9jg";
+ sha256 = "1z9yrkqdknzidg4g1g5rqrs7i0325nmzzw0nf2ki1nzlfwqxy9qv";
};
nativeBuildInputs = [ cmake pkg-config pandoc docutils ];
diff --git a/pkgs/servers/neard/default.nix b/pkgs/servers/neard/default.nix
index 77c6f8839f71..9e9ccb9700ee 100644
--- a/pkgs/servers/neard/default.nix
+++ b/pkgs/servers/neard/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, systemd, glib, dbus, libnl, python2Packages }:
+{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, systemd, glib, dbus, libnl, python3Packages }:
stdenv.mkDerivation rec {
pname = "neard";
@@ -9,9 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0bpdmyxvd3z54p95apz4bjb5jp8hbc04sicjapcryjwa8mh6pbil";
};
- nativeBuildInputs = [ autoreconfHook pkg-config python2Packages.wrapPython ];
- buildInputs = [ systemd glib dbus libnl ] ++ (with python2Packages; [ python ]);
- pythonPath = with python2Packages; [ pygobject2 dbus-python pygtk ];
+ nativeBuildInputs = [ autoreconfHook pkg-config python3Packages.wrapPython ];
+ buildInputs = [ systemd glib dbus libnl ] ++ (with python3Packages; [ python ]);
+ pythonPath = with python3Packages; [ pygobject3 dbus-python ];
strictDeps = true;
diff --git a/pkgs/tools/filesystems/btrfs-snap/default.nix b/pkgs/tools/filesystems/btrfs-snap/default.nix
new file mode 100644
index 000000000000..e43380e6792e
--- /dev/null
+++ b/pkgs/tools/filesystems/btrfs-snap/default.nix
@@ -0,0 +1,32 @@
+{ bash, btrfs-progs, coreutils, fetchFromGitHub, gnugrep, lib, makeWrapper, stdenvNoCC, util-linuxMinimal }:
+stdenvNoCC.mkDerivation rec {
+ pname = "btrfs-snap";
+ version = "1.7.3";
+ src = fetchFromGitHub {
+ owner = "jf647";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-SDzLjgNRuR9XpmcYCD9T10MLS+//+pWFGDiTAb8NiLQ=";
+ };
+ buildInputs = [ bash ];
+ nativeBuildInputs = [ makeWrapper ];
+ dontConfigure = true;
+ dontBuild = true;
+ installPhase = ''
+ mkdir -p $out/bin
+ cp btrfs-snap $out/bin/
+ wrapProgram $out/bin/btrfs-snap --prefix PATH : ${lib.makeBinPath [
+ btrfs-progs # btrfs
+ coreutils # cut, date, head, ls, mkdir, readlink, stat, tail, touch, test, [
+ gnugrep # grep
+ util-linuxMinimal # logger, mount
+ ]}
+ '';
+ meta = with lib; {
+ description = "btrfs-snap creates and maintains the history of snapshots of btrfs filesystems.";
+ homepage = "https://github.com/jf647/btrfs-snap";
+ license = licenses.gpl3Only;
+ maintainers = with maintainers; [ lionello ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix
index 258b25c3693c..e5e873b9ac56 100644
--- a/pkgs/tools/filesystems/netatalk/default.nix
+++ b/pkgs/tools/filesystems/netatalk/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, lib, stdenv, autoreconfHook, pkg-config, perl, python
+{ fetchurl, lib, stdenv, autoreconfHook, pkg-config, perl, python3
, db, libgcrypt, avahi, libiconv, pam, openssl, acl
-, ed, libtirpc, libevent
+, ed, libtirpc, libevent, fetchpatch
}:
stdenv.mkDerivation rec {
@@ -15,9 +15,14 @@ stdenv.mkDerivation rec {
patches = [
./no-suid.patch
./omitLocalstatedirCreation.patch
+ (fetchpatch {
+ name = "make-afpstats-python3-compatible.patch";
+ url = "https://github.com/Netatalk/Netatalk/commit/916b515705cf7ba28dc53d13202811c6e1fe6a9e.patch";
+ sha256 = "sha256-DAABpYjQPJLsQBhmtP30gA357w0Qn+AsnFgAeyDC/Rg=";
+ })
];
- nativeBuildInputs = [ autoreconfHook pkg-config perl python python.pkgs.wrapPython ];
+ nativeBuildInputs = [ autoreconfHook pkg-config perl python3 python3.pkgs.wrapPython ];
buildInputs = [ db libgcrypt avahi libiconv pam openssl acl libevent ];
@@ -46,7 +51,7 @@ stdenv.mkDerivation rec {
'';
postInstall = ''
- buildPythonPath ${python.pkgs.dbus-python}
+ buildPythonPath ${python3.pkgs.dbus-python}
patchPythonScript $out/bin/afpstats
'';
diff --git a/pkgs/tools/misc/pipe-rename/default.nix b/pkgs/tools/misc/pipe-rename/default.nix
index 15468773e422..060f3a3e23c0 100644
--- a/pkgs/tools/misc/pipe-rename/default.nix
+++ b/pkgs/tools/misc/pipe-rename/default.nix
@@ -2,14 +2,14 @@
rustPlatform.buildRustPackage rec {
pname = "pipe-rename";
- version = "1.4.0";
+ version = "1.4.1";
src = fetchCrate {
inherit pname version;
- sha256 = "sha256-AMBdDsn3jS2dXUnEDKZILUlLHS9FIECZhc3EjxLoOZU=";
+ sha256 = "sha256-3Jl/G1QqcChwkI5n1zQLBgGxT2CYdh3XdMHkF+V5SG4=";
};
- cargoSha256 = "sha256-ulNyTRRFtHQ7+sRaKczLiDPIKG2TIcbbsD9x1di2ypw=";
+ cargoSha256 = "sha256-y5BsdkHrjJHNO66MQTbvA6kKx6tLP7jNk5UmAmslz14=";
checkInputs = [ python3 ];
diff --git a/pkgs/tools/nix/statix/default.nix b/pkgs/tools/nix/statix/default.nix
index bb17d8df275d..d5fd2fd092b2 100644
--- a/pkgs/tools/nix/statix/default.nix
+++ b/pkgs/tools/nix/statix/default.nix
@@ -4,16 +4,16 @@ rustPlatform.buildRustPackage rec {
pname = "statix";
# also update version of the vim plugin in pkgs/misc/vim-plugins/overrides.nix
# the version can be found in flake.nix of the source code
- version = "0.4.0";
+ version = "0.4.1";
src = fetchFromGitHub {
owner = "nerdypepper";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-wqkhtAOO6pKLjUUnDbVFwzm6mbXhP/4iJU7ZKtDKrE8=";
+ sha256 = "sha256-xFdHC7LulhDBWsbCcWeH90sR4iUhzQrShiW69/KHk0U=";
};
- cargoSha256 = "sha256-e20POz9ZvuT0S+YG+9x7hcudhXQpOR4rVSFJbz76OI0=";
+ cargoSha256 = "sha256-dzDgHROlwsqwQ6pk7lrwP0eV69595l0HvF7jHSe3N/g=";
buildFeatures = lib.optional withJson "json";
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index f365348607aa..0a897d963084 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -256,13 +256,13 @@ in rec {
nixUnstable = lib.lowPrio (callPackage common rec {
pname = "nix";
version = "2.5${suffix}";
- suffix = "pre20211007_${lib.substring 0 7 src.rev}";
+ suffix = "pre20211126_${lib.substring 0 7 src.rev}";
src = fetchFromGitHub {
owner = "NixOS";
repo = "nix";
- rev = "844dd901a7debe8b03ec93a7f717b6c4038dc572";
- sha256 = "sha256-fe1B4lXkS6/UfpO0rJHwLC06zhOPrdSh4s9PmQ1JgPo=";
+ rev = "55275fcc5966cfad80fb6dc77b8d8939a2f1b8e0";
+ sha256 = "sha256-jr85Z+0TA86mdsi3Y91wM3dFHWemmFHKdNwbx9rGz2U=";
};
boehmgc = boehmgc_nixUnstable;
diff --git a/pkgs/tools/security/verifpal/default.nix b/pkgs/tools/security/verifpal/default.nix
index 02f41477c7ef..821118f598c5 100644
--- a/pkgs/tools/security/verifpal/default.nix
+++ b/pkgs/tools/security/verifpal/default.nix
@@ -6,15 +6,15 @@
buildGoModule rec {
pname = "verifpal";
- version = "0.26.0";
+ version = "0.26.1";
src = fetchgit {
url = "https://source.symbolic.software/verifpal/verifpal.git";
rev = "v${version}";
- sha256 = "1ag1fpgk4xa5041y6a0pchmh32j876bl0iqjb7lxxqg5nc76d3v1";
+ sha256 = "sha256-y07RXv2QSyUJpGuFsLJ2sGNo4YzhoCYQr3PkUj4eIOY=";
};
- vendorSha256 = "XHeXonzRDHXayge5G3apvDarbOfTiV+UQ+IqSbrLkCk=";
+ vendorSha256 = "sha256-gUpgnd/xiLqRNl1bPzVp+0GM/J5GEx0VhUfo6JsX8N8=";
nativeBuildInputs = [ pigeon ];
diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix
index f8ceec253a63..ee86bcd635e3 100644
--- a/pkgs/tools/text/difftastic/default.nix
+++ b/pkgs/tools/text/difftastic/default.nix
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "difftastic";
- version = "0.11.0";
+ version = "0.12.0";
src = fetchFromGitHub {
owner = "wilfred";
repo = pname;
rev = version;
- sha256 = "sha256-Arg1n5WFCNGHZay56BvLrPDAvvUKVurVNEKgTzHgIzI=";
+ sha256 = "sha256-A6Z3g6fbYBynyN4OhRrZNO0ZghvT3XnIahdUQ8SE8tU=";
};
- cargoSha256 = "sha256-ArIyIAxVgGmI+MdkVBo0xihDdw3RlRiPLJOhPcC1KLw=";
+ cargoSha256 = "sha256-6/JwrPymtpj/CXqx3Pe43v+MJTNONArU2WEo/zgJhT4=";
postPatch = ''
pushd vendor
@@ -30,5 +30,6 @@ rustPlatform.buildRustPackage rec {
changelog = "https://github.com/Wilfred/difftastic/raw/${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ ethancedwards8 figsoda ];
+ mainProgram = "difft";
};
}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 20a9dde4f831..bd9905efeaf1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2280,6 +2280,8 @@ with pkgs;
btrfs-progs = callPackage ../tools/filesystems/btrfs-progs { };
+ btrfs-snap = callPackage ../tools/filesystems/btrfs-snap { };
+
btlejack = python3Packages.callPackage ../applications/radio/btlejack { };
btrbk = callPackage ../tools/backup/btrbk {
@@ -4321,6 +4323,8 @@ with pkgs;
crackxls = callPackage ../tools/security/crackxls { };
+ crd2pulumi = callPackage ../development/tools/crd2pulumi { };
+
create-cycle-app = nodePackages.create-cycle-app;
createrepo_c = callPackage ../tools/package-management/createrepo_c { };
@@ -12074,7 +12078,15 @@ with pkgs;
# current default compiler is”, if you bump this:
haskellPackages = dontRecurseIntoAttrs haskell.packages.ghc8107;
- inherit (haskellPackages) ghc;
+ # haskellPackages.ghc is build->host (it exposes the compiler used to build the
+ # set, similarly to stdenv.cc), but pkgs.ghc should be host->target to be more
+ # consistent with the gcc, gnat, clang etc. derivations
+ #
+ # We use targetPackages.haskellPackages.ghc if available since this also has
+ # the withPackages wrapper available. In the final cross-compiled package set
+ # however, targetPackages won't be populated, so we need to fall back to the
+ # plain, cross-compiled compiler (which is only theoretical at the moment).
+ ghc = targetPackages.haskellPackages.ghc or haskell.compiler.ghc8107;
cabal-install = haskell.lib.compose.justStaticExecutables haskellPackages.cabal-install;
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 4cf186715b8b..089450ef97d5 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -50,7 +50,9 @@ in {
compiler = {
- ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix { };
+ ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix {
+ llvmPackages = pkgs.llvmPackages_6;
+ };
ghc8102Binary = callPackage ../development/compilers/ghc/8.10.2-binary.nix {
llvmPackages = pkgs.llvmPackages_9;
@@ -62,11 +64,11 @@ in {
};
ghc8107Binary = callPackage ../development/compilers/ghc/8.10.7-binary.nix {
- llvmPackages = pkgs.llvmPackages_11;
+ llvmPackages = pkgs.llvmPackages_12;
};
ghc8107BinaryMinimal = callPackage ../development/compilers/ghc/8.10.7-binary.nix {
- llvmPackages = pkgs.llvmPackages_11;
+ llvmPackages = pkgs.llvmPackages_12;
minimal = true;
};
@@ -96,8 +98,8 @@ in {
# https://github.com/xattr/xattr/issues/44 and
# https://github.com/xattr/xattr/issues/55 are solved.
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
- buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_9;
- llvmPackages = pkgs.llvmPackages_9;
+ buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
+ llvmPackages = pkgs.llvmPackages_12;
};
ghc901 = callPackage ../development/compilers/ghc/9.0.1.nix {
bootPkgs =
@@ -109,8 +111,8 @@ in {
packages.ghc8107Binary;
inherit (buildPackages.python3Packages) sphinx;
inherit (buildPackages.darwin) autoSignDarwinBinariesHook;
- buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_10;
- llvmPackages = pkgs.llvmPackages_10;
+ buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_9;
+ llvmPackages = pkgs.llvmPackages_9;
};
ghc921 = callPackage ../development/compilers/ghc/9.2.1.nix {
bootPkgs =
@@ -124,8 +126,8 @@ in {
# https://github.com/xattr/xattr/issues/44 and
# https://github.com/xattr/xattr/issues/55 are solved.
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
- buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_10;
- llvmPackages = pkgs.llvmPackages_10;
+ buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
+ llvmPackages = pkgs.llvmPackages_12;
};
ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
bootPkgs = packages.ghc8107Binary;
@@ -134,8 +136,8 @@ in {
# https://github.com/xattr/xattr/issues/44 and
# https://github.com/xattr/xattr/issues/55 are solved.
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
- buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_10;
- llvmPackages = pkgs.llvmPackages_10;
+ buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
+ llvmPackages = pkgs.llvmPackages_12;
libffi = pkgs.libffi;
};