diff options
author | Peter Simons <simons@cryp.to> | 2013-11-11 05:00:11 -0800 |
---|---|---|
committer | Peter Simons <simons@cryp.to> | 2013-11-11 05:00:11 -0800 |
commit | b1f7180d6cc37b31a21e95582b438924c4971329 (patch) | |
tree | adab72e1ea7a1dba422d2aa645d460f7999b8a93 /pkgs/development/compilers | |
parent | 1e80c57274b7e2877ac554b5a51f868253fafdc1 (diff) | |
parent | e4d841eef4ca99976c4556ba2eb938a44a4cdca6 (diff) | |
download | nixlib-b1f7180d6cc37b31a21e95582b438924c4971329.tar nixlib-b1f7180d6cc37b31a21e95582b438924c4971329.tar.gz nixlib-b1f7180d6cc37b31a21e95582b438924c4971329.tar.bz2 nixlib-b1f7180d6cc37b31a21e95582b438924c4971329.tar.lz nixlib-b1f7180d6cc37b31a21e95582b438924c4971329.tar.xz nixlib-b1f7180d6cc37b31a21e95582b438924c4971329.tar.zst nixlib-b1f7180d6cc37b31a21e95582b438924c4971329.zip |
Merge pull request #1188 from peti/reimplement-ghcWithPackagesOld-by-wrapping-ghcWithPackages
Re-implement ghcWithPackagesOld as a variant of ghcWithPackages that ignores collisions.
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r-- | pkgs/development/compilers/ghc/with-packages-old.nix | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/pkgs/development/compilers/ghc/with-packages-old.nix b/pkgs/development/compilers/ghc/with-packages-old.nix deleted file mode 100644 index 8acb2511e81d..000000000000 --- a/pkgs/development/compilers/ghc/with-packages-old.nix +++ /dev/null @@ -1,127 +0,0 @@ -{stdenv, ghc, packages ? [], makeWrapper}: - -stdenv.mkDerivation rec { - name = "haskell-env-${ghc.name}"; - - allPackages = stdenv.lib.filter (x: x ? pname) (stdenv.lib.closePropagation packages); - buildInputs = allPackages ++ [makeWrapper]; - propagatedBuildInputs = packages; - - unpackPhase = "true"; - - installPhase = '' - numversion=$(${ghc}/bin/ghc --numeric-version) - majorversion=''${numversion%%.*} - minorversion=''${numversion#*.} - minorversion=''${minorversion%%.*} - - if [[ $majorversion -gt 6 ]] && [[ $minorversion -gt 4 ]]; then - globalConf="--global-package-db" - else - globalConf="--global-conf" - fi - - originalTopDir="${ghc}/lib/ghc-${ghc.version}" - originalPkgDir="$originalTopDir/package.conf.d" - linkedTopDir="$out/lib/ghc-${ghc.version}" - linkedPkgDir="$linkedTopDir/package.conf.d" - - mkdir -p $out/bin - mkdir -p $linkedTopDir - mkdir -p $linkedPkgDir - - echo "Linking GHC core libraries:" - - echo -n "Linking $originalTopDir " - for f in "$originalTopDir/"*; do - if test -f $f; then - ln -s $f $linkedTopDir - echo -n . - fi - done - echo - - echo -n "Linking $originalPkgDir " - for f in "$originalPkgDir/"*.conf; do - ln -s $f $linkedPkgDir - echo -n . - done - echo - - echo "Linking selected packages and dependencies:" - - for currentPath in ${stdenv.lib.concatStringsSep " " allPackages}; do - currentPkgDir="$currentPath/lib/ghc-${ghc.version}" - # Check if current path is a Cabal package for the current GHC - if test -d $currentPkgDir; then - echo -n "Linking $currentPath " - for f in "$currentPath/bin/"*; do - ln -s $f $out/bin - echo -n . - done - for f in "$currentPath/etc/bash_completion.d/"*; do - mkdir -p $out/etc/bash_completion.d - ln -s $f $out/etc/bash_completion.d/ - echo -n . - done - for s in 1 2 3 4 5 6 7 8 9; do - for f in "$currentPath/share/man/man$s/"*; do - mkdir -p $out/share/man/man$s - ln -sv $f $out/share/man/man$s/ - echo -n . - done - done - for f in "$currentPath/share/emacs/site-lisp/"*; do - mkdir -p $out/share/emacs/site-lisp - ln -s $f $out/share/emacs/site-lisp/ - echo -n . - done - for f in "$currentPath/share/ghci/"*; do - mkdir -p $out/share/ghci - ln -s $f $out/share/ghci/ - echo -n . - done - for f in "$currentPkgDir/package.conf.d/"*.conf; do - ln -s $f $linkedPkgDir - echo -n . - done - echo - fi - done - - echo -n "Generating package cache " - ${ghc}/bin/ghc-pkg $globalConf $linkedPkgDir recache - echo . - - echo -n "Generating wrappers " - - for prg in ghc ghci ghc-${ghc.version} ghci-${ghc.version}; do - # The NIX env-vars are picked up by our patched version of ghc-paths. - makeWrapper ${ghc}/bin/$prg $out/bin/$prg \ - --add-flags "-B$linkedTopDir" \ - --set "NIX_GHC" "$out/bin/ghc" \ - --set "NIX_GHCPKG" "$out/bin/ghc-pkg" \ - --set "NIX_GHC_LIBDIR" "$linkedTopDir" - echo -n . - done - - for prg in runghc runhaskell; do - makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "-f $out/bin/ghc" - echo -n . - done - - for prg in ghc-pkg ghc-pkg-${ghc.version}; do - makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "$globalConf $linkedPkgDir" - echo -n . - done - - for prg in hp2ps hpc hasktags hsc2hs haddock haddock-${ghc.version}; do - if test -x ${ghc}/bin/$prg -a ! -x $out/bin/$prg; then - ln -s ${ghc}/bin/$prg $out/bin/$prg && echo -n . - fi - done - echo - ''; - - meta = ghc.meta; -} |