From d402d913d754469f421572284e00292f83de1af5 Mon Sep 17 00:00:00 2001 From: Jack Cummings Date: Wed, 25 Nov 2020 07:25:25 -0600 Subject: bluespec: unstable-2020.02.09 -> unstable-2020.11.04 Signed-off-by: Austin Seipp --- pkgs/development/compilers/bluespec/default.nix | 53 +++++++++++++--------- .../compilers/bluespec/libstp_stub_makefile.patch | 28 ++++++++++++ 2 files changed, 60 insertions(+), 21 deletions(-) create mode 100644 pkgs/development/compilers/bluespec/libstp_stub_makefile.patch (limited to 'pkgs/development/compilers/bluespec') diff --git a/pkgs/development/compilers/bluespec/default.nix b/pkgs/development/compilers/bluespec/default.nix index e1728e8c93183..df7b6585205a4 100644 --- a/pkgs/development/compilers/bluespec/default.nix +++ b/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"; diff --git a/pkgs/development/compilers/bluespec/libstp_stub_makefile.patch b/pkgs/development/compilers/bluespec/libstp_stub_makefile.patch new file mode 100644 index 0000000000000..c714afc670c5d --- /dev/null +++ b/pkgs/development/compilers/bluespec/libstp_stub_makefile.patch @@ -0,0 +1,28 @@ +diff -ru bsc-orig/src/vendor/stp/Makefile bsc-new/src/vendor/stp/Makefile +--- bsc-orig/src/vendor/stp/Makefile 1969-12-31 16:00:01.000000000 -0800 ++++ bsc-new/src/vendor/stp/Makefile 2020-11-12 17:42:40.115143035 -0800 +@@ -9,12 +9,13 @@ + SRC = src + else + SRC = src_stub ++SNAME += lib/libstp_stub.so + endif + + ifeq ($(OSTYPE), Darwin) +-SNAME=libstp.dylib ++SNAME = lib/libstp.dylib + else +-SNAME=libstp.so.1 ++SNAME += lib/libstp.so.1 + endif + + all: install +@@ -23,7 +24,7 @@ + $(MAKE) -C $(SRC) install + ln -fsn HaskellIfc include_hs + install -m 755 -d $(PREFIX)/lib/SAT +- install -m 644 lib/$(SNAME) $(PREFIX)/lib/SAT ++ install -m 644 $(SNAME) $(PREFIX)/lib/SAT + + clean: + $(MAKE) -C $(SRC) clean -- cgit 1.4.1