{ lib, stdenv, fetchFromGitHub, stanc, python3, buildPackages, runtimeShell }: stdenv.mkDerivation rec { pname = "cmdstan"; version = "2.31.0"; src = fetchFromGitHub { owner = "stan-dev"; repo = pname; rev = "v${version}"; fetchSubmodules = true; sha256 = "sha256-Uh/ZhEnbhQwC8xGFjDzH9No3VRgVbHYk2KoC+e3YhJw="; }; nativeBuildInputs = [ stanc ]; buildFlags = [ "build" ]; enableParallelBuilding = true; doCheck = true; checkInputs = [ python3 ]; CXXFLAGS = lib.optionalString stdenv.isDarwin "-D_BOOST_LGAMMA"; postPatch = '' substituteInPlace stan/lib/stan_math/make/libraries \ --replace "/usr/bin/env bash" "bash" patchShebangs . '' + lib.optionalString stdenv.isAarch64 '' sed -z -i "s/TEST(CommandStansummary, check_console_output).*TEST(CommandStansummary, check_csv_output)/TEST(CommandStansummary, check_csv_output)/" \ src/test/interface/stansummary_test.cpp ''; preConfigure = '' mkdir -p bin ln -s ${buildPackages.stanc}/bin/stanc bin/stanc ''; makeFlags = lib.optional stdenv.isDarwin "arch=${stdenv.hostPlatform.darwinArch}"; checkPhase = '' ./runCmdStanTests.py -j$NIX_BUILD_CORES src/test/interface ''; installPhase = '' mkdir -p $out/opt $out/bin cp -r . $out/opt/cmdstan ln -s $out/opt/cmdstan/bin/stanc $out/bin/stanc ln -s $out/opt/cmdstan/bin/stansummary $out/bin/stansummary cat > $out/bin/stan <