Merge pull request #179181 from hercules-ci/fix-ghc-aarch64-darwin-pyopenssl

ghc: Work around broken pyopenssl on aarch64-darwin
This commit is contained in:
Bernardo Meurer 2022-06-27 10:58:58 -07:00 committed by GitHub
commit 131b7603cc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 5 deletions

View file

@ -20893,6 +20893,23 @@ with pkgs;
sphinx = with python3Packages; toPythonApplication sphinx; sphinx = with python3Packages; toPythonApplication sphinx;
# A variation of sphinx that is only suitable for offline use as it excludes
# pyopenssl, which is broken on aarch64-darwin.
# https://github.com/NixOS/nixpkgs/issues/175875
sphinx_offline =
if !(stdenv.buildPlatform.isDarwin && stdenv.buildPlatform.isAarch64)
then sphinx
else
sphinx.override (o: {
requests = pkgsBuildTarget.python3Packages.requests.override (o: {
urllib3 = pkgsBuildTarget.python3Packages.urllib3.overrideAttrs (o: {
# urllib3 adds the optional pyopenssl to propagatedBuildInputs
# pkgs/development/python-modules/urllib3/default.nix
propagatedBuildInputs = [];
});
});
});
sphinx-autobuild = with python3Packages; toPythonApplication sphinx-autobuild; sphinx-autobuild = with python3Packages; toPythonApplication sphinx-autobuild;
sphinx-serve = with python3Packages; toPythonApplication sphinx-serve; sphinx-serve = with python3Packages; toPythonApplication sphinx-serve;

View file

@ -49,6 +49,8 @@ let
# Use this rather than `rec { ... }` below for sake of overlays. # Use this rather than `rec { ... }` below for sake of overlays.
inherit (pkgs.haskell) compiler packages; inherit (pkgs.haskell) compiler packages;
sphinx = buildPackages.sphinx_offline;
in { in {
lib = haskellLibUncomposable; lib = haskellLibUncomposable;
@ -97,7 +99,7 @@ in {
packages.ghc8102Binary packages.ghc8102Binary
else else
packages.ghc865Binary; packages.ghc865Binary;
inherit (buildPackages.python3Packages) sphinx; inherit sphinx;
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_7; buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_7;
llvmPackages = pkgs.llvmPackages_7; llvmPackages = pkgs.llvmPackages_7;
}; };
@ -110,7 +112,7 @@ in {
packages.ghc8107BinaryMinimal packages.ghc8107BinaryMinimal
else else
packages.ghc8107Binary; packages.ghc8107Binary;
inherit (buildPackages.python3Packages) sphinx; inherit sphinx;
# Need to use apple's patched xattr until # Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and # https://github.com/xattr/xattr/issues/44 and
# https://github.com/xattr/xattr/issues/55 are solved. # https://github.com/xattr/xattr/issues/55 are solved.
@ -126,7 +128,7 @@ in {
packages.ghc8107BinaryMinimal packages.ghc8107BinaryMinimal
else else
packages.ghc8107Binary; packages.ghc8107Binary;
inherit (buildPackages.python3Packages) sphinx; inherit sphinx;
inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr; inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr;
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
llvmPackages = pkgs.llvmPackages_12; llvmPackages = pkgs.llvmPackages_12;
@ -138,7 +140,7 @@ in {
packages.ghc8107BinaryMinimal packages.ghc8107BinaryMinimal
else else
packages.ghc8107Binary; packages.ghc8107Binary;
inherit (buildPackages.python3Packages) sphinx; inherit sphinx;
# Need to use apple's patched xattr until # Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and # https://github.com/xattr/xattr/issues/44 and
# https://github.com/xattr/xattr/issues/55 are solved. # https://github.com/xattr/xattr/issues/55 are solved.
@ -148,7 +150,7 @@ in {
}; };
ghcHEAD = callPackage ../development/compilers/ghc/head.nix { ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
bootPkgs = packages.ghc8107Binary; bootPkgs = packages.ghc8107Binary;
inherit (buildPackages.python3Packages) sphinx; inherit sphinx;
# Need to use apple's patched xattr until # Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and # https://github.com/xattr/xattr/issues/44 and
# https://github.com/xattr/xattr/issues/55 are solved. # https://github.com/xattr/xattr/issues/55 are solved.