packages feed

containers-benchmark-1.0: scripts/custom_containers.sh

#!/bin/sh

# This package _manually_ sets options for the containers
# repo used. We could extract the options from cabal file
# of from setup-config created by cabal configure.

set -e

FLAGS=-O2
if grep -q '0\.3\.0\.0' $1/containers.cabal
then
  FLAGS="$FLAGS -cpp -XMagicHash"
else
  FLAGS="$FLAGS -fregs-graph"
fi

for c in Map Set IntMap IntSet
do
  cat "$1/Data/$c.hs" | sed '
    1i {-# OPTIONS_GHC '"$FLAGS"' #-}
    s/Data\.\(IntMap\|IntSet\|Map\|Set\)/Container.\1/
  ' >../src/Container/$c.hs
done