mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
46 lines
1.3 KiB
Bash
46 lines
1.3 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
. PKGBUILD
|
||
|
|
||
|
if [[ ! -d src/ghc-${pkgver}/libraries ]]; then
|
||
|
echo "error: no directory src/ghc-${pkgver}/libraries: You must extract the source tarball under src/"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
declare -A exclude
|
||
|
# no Win32 cause we're not building on windows
|
||
|
exclude['Win32']=1
|
||
|
# no integer-simple because we use integer-gmp
|
||
|
exclude['integer-simple']=1
|
||
|
# extract excluded libraries from ghc.mk
|
||
|
for exclude_pkg in $(sed 's/PKGS_THAT_ARE_INTREE_ONLY := //p' -n src/ghc-${pkgver}/ghc.mk); do
|
||
|
exclude[${exclude_pkg}]=1
|
||
|
done
|
||
|
|
||
|
cd src/ghc-${pkgver}/libraries
|
||
|
|
||
|
# $1 is the name of the variable
|
||
|
# $2 is the string for the test, either '=' or '<'
|
||
|
print_var() {
|
||
|
printf "$1=("
|
||
|
for path in $(ls ./*/*.cabal); do
|
||
|
dirname=$(echo $path | awk -F '/' '{ print $2 }')
|
||
|
cabalfile=$(echo $path | awk -F '/' '{ print $3 }')
|
||
|
cabalname=$(basename $cabalfile .cabal)
|
||
|
[[ ${exclude[${dirname}]} ]] && continue
|
||
|
version=$(awk 'tolower($0) ~ /^version:/ {print $2 }' $path)
|
||
|
printf "'haskell-$cabalname"
|
||
|
[[ -n "$2" ]] && printf "$2$version"
|
||
|
printf "'\n "
|
||
|
done
|
||
|
# also add cabal
|
||
|
version=$(awk 'tolower($0) ~ /^version:/ { print $2 }' Cabal/Cabal/Cabal.cabal)
|
||
|
printf "'haskell-cabal"
|
||
|
[[ -n "$2" ]] && printf "$2$version"
|
||
|
printf "'\n "
|
||
|
echo -e '\b)'
|
||
|
}
|
||
|
|
||
|
print_var 'provides' '='
|
||
|
print_var 'replaces'
|