This is based on a script written during p2k10 (when jasper@ and i
moved all hs-libraries from lib to lib/ghc). I'm using it for ages
to generate the exec/unexec lines in hs-ports (and recently to work
around some flaws in update-plist, but espie@ is currently working
on that one).

I'm using it for updates (after make update-plist) and even for new
hs-ports (after make plist) to get the @exec/@unexec lines in place.

#!/bin/sh
if [ $# -eq 0 ]; then
        set pkg/PLIST
fi
for plist; do
        ed -s "$plist" <<- 'EOF'
                g/\${FULLPKGNAME}/s/\${FULLPKGNAME}/hs-${DISTNAME}/g
                g/^@exec .*%D\/lib\/ghc\/\${DISTNAME}\/register\.sh/d
                g/^@unexec .*%D\/lib\/ghc\/\${DISTNAME}\/unregister\.sh/d
                /^lib\/ghc\/\${DISTNAME}\/register\.sh$/a
                @exec /usr/bin/env HOME=/nonexistent 
%D/lib/ghc/${DISTNAME}/register.sh -v0
                @unexec /usr/bin/env HOME=/nonexistent 
%D/lib/ghc/${DISTNAME}/unregister.sh -v0 --force
                .
                wq
        EOF
done

Reply via email to