ghcjs: init at 8.10.7
The src points to the obsidiansystems repo as it has the ghcjs ported from 8.10.5 to 8.10.7, and a bunch of other fixes (#812, #811, #809) (cherry picked from commit ba25b274f4bb0240a8ffa71e41b55712930af3d8) Modified the stm_2_5_0_1 -> stm_2_5_0_0
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
{ perl
|
||||
, autoconf
|
||||
, automake
|
||||
, python3
|
||||
, gcc
|
||||
, cabal-install
|
||||
, runCommand
|
||||
, lib
|
||||
, stdenv
|
||||
|
||||
, ghc
|
||||
, happy
|
||||
, alex
|
||||
|
||||
, ghcjsSrc
|
||||
, version
|
||||
}:
|
||||
|
||||
runCommand "configured-ghcjs-src" {
|
||||
nativeBuildInputs = [
|
||||
perl
|
||||
autoconf
|
||||
automake
|
||||
python3
|
||||
ghc
|
||||
happy
|
||||
alex
|
||||
cabal-install
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
gcc # https://github.com/ghcjs/ghcjs/issues/663
|
||||
];
|
||||
inherit ghcjsSrc;
|
||||
} ''
|
||||
export HOME=$(pwd)
|
||||
mkdir $HOME/.cabal
|
||||
touch $HOME/.cabal/config
|
||||
cp -r "$ghcjsSrc" "$out"
|
||||
chmod -R +w "$out"
|
||||
cd "$out"
|
||||
|
||||
# TODO: Find a better way to avoid impure version numbers
|
||||
sed -i 's/RELEASE=NO/RELEASE=YES/' ghc/configure.ac
|
||||
|
||||
# These files are needed by ghc-boot package, and these are generated by the
|
||||
# make/hadrian build system when compiling ghc. Since we dont have access to
|
||||
# the generated code of the ghc while it got built, here is a little hack to
|
||||
# generate these again.
|
||||
runhaskell ${./generate_host_version.hs}
|
||||
mkdir -p utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Platform
|
||||
mv Host.hs utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Platform/Host.hs
|
||||
mv Version.hs utils/pkg-cache/ghc/libraries/ghc-boot/dist-install/build/GHC/Version.hs
|
||||
|
||||
# The ghcjs has the following hardcoded paths of lib dir in its code. Patching
|
||||
# these to match the path expected by the nixpkgs's generic-builder, etc.
|
||||
sed -i 's/libSubDir = "lib"/libSubDir = "lib\/ghcjs-${version}"/' src-bin/Boot.hs
|
||||
sed -i 's@let libDir = takeDirectory haddockPath </> ".." </> "lib"@let libDir = takeDirectory haddockPath </> ".." </> "lib/ghcjs-${version}"@' src-bin/HaddockDriver.hs
|
||||
|
||||
patchShebangs .
|
||||
./utils/makePackages.sh copy
|
||||
''
|
||||
Reference in New Issue
Block a user