mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-19 02:44:17 +03:00
timeloop: init at unstable-2022-11-29
This commit is contained in:
parent
d3153abe7d
commit
8a23ce4e69
@ -0,0 +1,99 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, scons
|
||||
, libconfig
|
||||
, boost
|
||||
, libyaml
|
||||
, libyamlcpp
|
||||
, ncurses
|
||||
, gpm
|
||||
, enableAccelergy ? true
|
||||
, enableISL ? false
|
||||
, accelergy
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "timeloop";
|
||||
version = "unstable-2022-11-29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NVlabs";
|
||||
repo = "timeloop";
|
||||
rev = "905ba953432c812772de935d57fd0a674a89d3c1";
|
||||
hash = "sha256-EXiWXf8hdX4vFRNk9wbFSOsix/zVkwrafGUtFrsoAN0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ scons ];
|
||||
|
||||
buildInputs = [
|
||||
libconfig
|
||||
boost
|
||||
libyaml
|
||||
libyamlcpp
|
||||
ncurses
|
||||
accelergy
|
||||
] ++ lib.optionals stdenv.isLinux [ gpm ];
|
||||
|
||||
preConfigure = ''
|
||||
cp -r ./pat-public/src/pat ./src/pat
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
#link-time optimization fails on darwin
|
||||
#see https://github.com/NixOS/nixpkgs/issues/19098
|
||||
NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-fno-lto";
|
||||
|
||||
postPatch = ''
|
||||
# use nix ar/ranlib
|
||||
substituteInPlace ./SConstruct \
|
||||
--replace "env.Replace(AR = \"gcc-ar\")" "" \
|
||||
--replace "env.Replace(RANLIB = \"gcc-ranlib\")" ""
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
# prevent clang from dying on errors that gcc is fine with
|
||||
substituteInPlace ./src/SConscript --replace "-Werror" "-Wno-inconsistent-missing-override"
|
||||
|
||||
# disable LTO on macos
|
||||
substituteInPlace ./src/SConscript --replace ", '-flto'" ""
|
||||
|
||||
# static builds on mac fail as no static libcrt is provided by apple
|
||||
# see https://stackoverflow.com/questions/3801011/ld-library-not-found-for-lcrt0-o-on-osx-10-6-with-gcc-clang-static-flag
|
||||
substituteInPlace ./src/SConscript \
|
||||
--replace "'-static-libgcc', " "" \
|
||||
--replace "'-static-libstdc++', " "" \
|
||||
--replace "'-Wl,--whole-archive', '-static', " "" \
|
||||
--replace ", '-Wl,--no-whole-archive'" ""
|
||||
|
||||
#remove hardcoding of gcc
|
||||
sed -i '40i env.Replace(CC = "${stdenv.cc.targetPrefix}cc")' ./SConstruct
|
||||
sed -i '40i env.Replace(CXX = "${stdenv.cc.targetPrefix}c++")' ./SConstruct
|
||||
|
||||
#gpm doesn't exist on darwin
|
||||
substituteInPlace ./src/SConscript --replace ", 'gpm'" ""
|
||||
'';
|
||||
|
||||
sconsFlags =
|
||||
# will fail on clang/darwin on link without --static due to undefined extern
|
||||
# however, will fail with static on linux as nixpkgs deps aren't static
|
||||
lib.optional stdenv.isDarwin "--static"
|
||||
++ lib.optional enableAccelergy "--accelergy"
|
||||
++ lib.optional enableISL "--with-isl";
|
||||
|
||||
|
||||
installPhase = ''
|
||||
cp -r ./bin ./lib $out
|
||||
mkdir -p $out/share
|
||||
cp -r ./doc $out/share
|
||||
mkdir -p $out/data
|
||||
cp -r ./problem-shapes ./configs $out/data
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Chip modeling/mapping benchmarking framework";
|
||||
homepage = "https://timeloop.csail.mit.edu";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ gdinh ];
|
||||
};
|
||||
}
|
@ -36908,6 +36908,8 @@ with pkgs;
|
||||
|
||||
shellz = callPackage ../tools/security/shellz { };
|
||||
|
||||
timeloop = pkgs.darwin.apple_sdk_11_0.callPackage ../applications/science/computer-architecture/timeloop { };
|
||||
|
||||
canon-cups-ufr2 = callPackage ../misc/cups/drivers/canon { };
|
||||
|
||||
hll2390dw-cups = callPackage ../misc/cups/drivers/hll2390dw-cups { };
|
||||
|
Loading…
Reference in New Issue
Block a user