#! /usr/bin/env bash set -eu -o pipefail exit_trap() { local lc="$BASH_COMMAND" rc=$? test $rc -eq 0 || echo "*** error $rc: $lc" } trap exit_trap EXIT cd "$(dirname "$0")" cabal2nix=$(git describe --dirty) cd nixpkgs git reset -q --hard git clean -dxf -q git pull -q export NIX_PATH=nixpkgs=$PWD cd .. cd hackage git pull -q rm -f preferred-versions for n in */preferred-versions; do cat >>preferred-versions "$n" echo >>preferred-versions done hackage=$(git rev-parse --verify HEAD) cd .. # This command needs a recent development version of cabal-install. I don't # think this works properly in verson 2.0.0.0 already. cabal -v0 new-run hackage2nix -- --nixpkgs="$PWD/nixpkgs" +RTS -M4G -RTS cd nixpkgs git add pkgs/development/haskell-modules if [ -n "$(git status --porcelain)" ]; then cat <