From de396a3c0a6f6b6c94c1fb188a476cb274b7d351 Mon Sep 17 00:00:00 2001 From: Andrew Childs Date: Tue, 15 Feb 2022 00:37:55 +0900 Subject: boost159: fix build on aarch64-darwin --- pkgs/development/libraries/boost/1.59.nix | 15 ++++++++++++++- pkgs/development/libraries/boost/generic.nix | 5 +++++ 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'pkgs/development/libraries/boost') diff --git a/pkgs/development/libraries/boost/1.59.nix b/pkgs/development/libraries/boost/1.59.nix index 88e584f5e41..a417f3e2639 100644 --- a/pkgs/development/libraries/boost/1.59.nix +++ b/pkgs/development/libraries/boost/1.59.nix @@ -1,8 +1,21 @@ -{ callPackage, fetchurl, ... } @ args: +{ callPackage, fetchurl, fetchpatch, ... } @ args: callPackage ./generic.nix (args // rec { version = "1.59.0"; + boostBuildPatches = [ + # Fixes a segfault on aarch64-darwin from an implicitly defined varargs function. + # https://github.com/boostorg/build/pull/238 + (fetchpatch { + url = "https://github.com/boostorg/build/commit/48e9017139dd94446633480661e5447c7e0d8b1b.diff"; + excludes = [ + # Doesn't apply, isn't critical. + "src/engine/filesys.h" + ]; + sha256 = "sha256-/HLOJKBcGqcK9yBYKSRCSMmTNhCH3sSpK1s3OzkIqx8"; + }) + ]; + src = fetchurl { url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"; sha256 = "1jj1aai5rdmd72g90a3pd8sw9vi32zad46xv5av8fhnr48ir6ykj"; diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index 34ab5554e74..b9bdec0cd07 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -15,6 +15,7 @@ , enableNumpy ? false , taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic)) , patches ? [] +, boostBuildPatches ? [] , useMpi ? false , mpi , extraB2Args ? [] @@ -170,6 +171,10 @@ stdenv.mkDerivation { (stdenv.hostPlatform.isMips64n64 && (versionOlder version "1.65")); }; + passthru = { + inherit boostBuildPatches; + }; + preConfigure = optionalString useMpi '' cat << EOF >> user-config.jam using mpi : ${mpi}/bin/mpiCC ; -- cgit 1.4.1