aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/compilers/bluespec/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/compilers/bluespec/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/compilers/bluespec/default.nix55
1 files changed, 33 insertions, 22 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/compilers/bluespec/default.nix b/infra/libkookie/nixpkgs/pkgs/development/compilers/bluespec/default.nix
index 09e76d63235c..df7b6585205a 100644
--- a/infra/libkookie/nixpkgs/pkgs/development/compilers/bluespec/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/development/compilers/bluespec/default.nix
@@ -4,40 +4,45 @@
, autoconf
, automake
, fontconfig
-, gmp
+, gmp-static
, gperf
, libX11
, libpoly
, perl
+, flex
+, bison
, pkgconfig
+, itktcl
+, incrtcl
+, tcl
+, tk
, verilog
, xorg
+, yices
, zlib
, ghc
}:
let
- # yices wants a libgmp.a and fails otherwise
- gmpStatic = gmp.override { withStatic = true; };
-
- ghcWithPackages = ghc.withPackages (g: (with g; [old-time regex-compat syb]));
+ ghcWithPackages = ghc.withPackages (g: (with g; [old-time regex-compat syb split ]));
in stdenv.mkDerivation rec {
pname = "bluespec";
- version = "unstable-2020.02.09";
+ version = "unstable-2020.11.04";
src = fetchFromGitHub {
- owner = "B-Lang-org";
- repo = "bsc";
- rev = "05c8afb08078e437c635b9c708124b428ac51b3d";
- sha256 = "06yhpkz7wga1a0p9031cfjqbzw7205bj2jxgdghhfzmllaiphniy";
- fetchSubmodules = true;
- };
+ owner = "B-Lang-org";
+ repo = "bsc";
+ rev = "103357f32cf63f2ca2b16ebc8e2c675ec5562464";
+ sha256 = "0iikzx0fxky0fmc31lyxfldy1wixr2mayzcn24b8d76wd4ix1vk3";
+ };
enableParallelBuilding = true;
- buildInputs = [
+ patches = [ ./libstp_stub_makefile.patch ];
+
+ buildInputs = yices.buildInputs ++ [
zlib
- gmpStatic gperf libpoly # yices
+ tcl tk
libX11 # tcltk
xorg.libXft
fontconfig
@@ -46,6 +51,8 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [
automake autoconf
perl
+ flex
+ bison
pkgconfig
ghcWithPackages
];
@@ -54,13 +61,13 @@ in stdenv.mkDerivation rec {
verilog
];
- patches = [
- # drop stp support https://github.com/B-Lang-org/bsc/pull/31
- (fetchpatch {
- url = "https://github.com/flokli/bsc/commit/0bd48ecc2561541dc1368918863c0b2f4915006f.patch";
- sha256 = "0bam9anld33zfi9d4gs502g94w49zhl5iqmbs2d1p5i19aqpy38l";
- })
- ];
+
+ postUnpack = ''
+ mkdir -p $sourceRoot/src/vendor/yices/v2.6/yices2
+ # XXX: only works because yices.src isn't a tarball.
+ cp -av ${yices.src}/* $sourceRoot/src/vendor/yices/v2.6/yices2
+ chmod -R +rwX $sourceRoot/src/vendor/yices/v2.6/yices2
+ '';
preBuild = ''
patchShebangs \
@@ -72,11 +79,15 @@ in stdenv.mkDerivation rec {
substituteInPlace src/comp/Makefile \
--replace 'BINDDIR' 'BINDIR' \
--replace 'install-bsc install-bluetcl' 'install-bsc install-bluetcl $(UTILEXES) install-utils'
+ # allow running bsc to bootstrap
+ export LD_LIBRARY_PATH=/build/source/inst/lib/SAT
'';
makeFlags = [
+ "NO_DEPS_CHECKS=1" # skip the subrepo check (this deriviation uses yices.src instead of the subrepo)
"NOGIT=1" # https://github.com/B-Lang-org/bsc/issues/12
"LDCONFIG=ldconfig" # https://github.com/B-Lang-org/bsc/pull/43
+ "STP_STUB=1"
];
installPhase = "mv inst $out";
@@ -90,6 +101,6 @@ in stdenv.mkDerivation rec {
platforms = [ "x86_64-linux" ];
# darwin fails at https://github.com/B-Lang-org/bsc/pull/35#issuecomment-583731562
# aarch64 fails, as GHC fails with "ghc: could not execute: opt"
- maintainers = with stdenv.lib.maintainers; [ flokli thoughtpolice ];
+ maintainers = with stdenv.lib.maintainers; [ jcumming thoughtpolice ];
};
}