Created
May 19, 2014 16:27
-
-
Save jessearmand/3b9f5174da8e03bbcc3a to your computer and use it in GitHub Desktop.
GHC cleanup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# unregister broken GHC packages. Run this a few times to resolve dependency rot in installed packages. | |
# ghc-pkg-clean -f cabal/dev/packages*.conf also works. | |
function ghc-pkg-clean() { | |
for p in `ghc-pkg check $* 2>&1 | grep problems | awk '{print $6}' | sed -e 's/:$//'` | |
do | |
echo unregistering $p; ghc-pkg $* unregister $p | |
done | |
} | |
# remove all installed GHC/cabal packages, leaving ~/.cabal binaries and docs in place. | |
# When all else fails, use this to get out of dependency hell and start over. | |
function ghc-pkg-reset() { | |
read 'ans?Erasing all your user ghc and cabal packages - are you sure (y/N)? ' | |
[[ x$ans =~ "xy" ]] && ( \ | |
echo 'erasing directories under ~/.ghc'; command rm -rf `find ~/.ghc/* -maxdepth 1 -type d`; \ | |
echo 'erasing ~/.cabal/lib'; command rm -rf ~/.cabal/lib; \ | |
) | |
} | |
alias cabalupgrades="cabal list --installed | egrep -iv '(synopsis|homepage|license)'" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment