Update ghdl mcode to 0.33.

(cherry picked from commit e9d6aadc51ecdd274cd383a99ea840a94b58d954)
This commit is contained in:
Lluís Batlle i Rossell 2016-03-03 14:04:36 +01:00
parent 973063c8fe
commit 7f7c2171c0

View File

@ -1,58 +1,28 @@
{ stdenv, fetchurl, gnat, zlib }:
# I think that mcode can only generate x86 code,
# so it fails to link pieces on x86_64.
assert stdenv.system == "i686-linux";
let
version = "0.31";
version = "0.33";
in
stdenv.mkDerivation rec {
name = "ghdl-mcode-${version}";
src = fetchurl {
url = "mirror://sourceforge/ghdl/ghdl-${version}.tar.gz";
sha256 = "1v0l9h6906b0bvnwfi2qg5nz9vjg80isc5qgjxr1yqxpkfm2xcf0";
url = "https://github.com/tgingold/ghdl/archive/v${version}.tar.gz";
sha256 = "09yvgqyglbakd74v2dgr470clzm744i232nixyffcds55vkij5da";
};
buildInputs = [ gnat zlib ];
# Tarbomb
preUnpack = ''
mkdir ghdl
cd ghdl
'';
sourceRoot = "translate/ghdldrv";
patchPhase = ''
sed -i 's,$$curdir/lib,'$out'/share/ghdl_mcode/translate/lib,' Makefile
# Disable warnings-as-errors, because there are warnings (unused things)
sed -i s/-gnatwae/-gnatwa/ Makefile.in ghdl.gpr.in
'';
postBuild = ''
# Build the LIB
ln -s ghdl_mcode ghdl
make install.mcode
'';
installPhase = ''
mkdir -p $out/bin
cp ghdl_mcode $out/bin
mkdir -p $out/share/ghdl_mcode/translate
cp -R ../lib $out/share/ghdl_mcode/translate
cp -R ../../libraries $out/share/ghdl_mcode
mkdir -p $out/share/man/man1
cp ../../doc/ghdl.1 $out/share/man/man1/ghdl_mcode.1
# Ghdl has some timestamps checks, storing file timestamps in '.cf' files.
# As we will change the timestamps to 1970-01-01 00:00:01, we also set the
# content of that .cf to that value. This way ghdl does not complain on
# the installed object files from the basic libraries (ieee, ...)
pushd $out
find . -name "*.cf" -exec \
sed 's/[0-9]*\.000" /19700101000001.000" /g' -i {} \;
popd
'';
enableParallelBuilding = true;
meta = {
homepage = "http://sourceforge.net/p/ghdl-updates/wiki/Home/";