wine.sh 1.65 KB
Newer Older
1 2 3 4
#!/bin/sh

MAIN=wine

5
vendor="$($DISTRVENDOR -s)" ; [ "$vendor" = "alt" ] || { echo "Only ALT distros is supported for now" ; exit 1 ; }
6 7 8 9 10 11 12 13 14 15
arch="$($DISTRVENDOR -a)"

PKGCOMMON="wine-mono wine-gecko winetricks"

if [ "$1" = "--remove" ] ; then
    epm remove $(epmqp $MAIN-)
    epm remove $PKGCOMMON
    exit
fi

16 17 18 19 20 21

[ "$1" != "--run" ] && echo "Install $MAIN packages (add wine-vanilla if you need these packages)" && exit

ONLY32=''
[ "$2" == "--only-i586" ] && ONLY32=1 && shift
[ -n "$2" ] && MAIN="$2"
22 23 24 25 26

# do some magic: if winetricks more than 20210206, we have new wine package naming
epm install winetricks || exit 1
WTVER="$(epm print version for package winetricks)"
if [ "$(epm print compare package version "$WTVER" "20210206")" = "1" ] ; then
27 28
    PKGNAMES="$MAIN-full"
    PKGNAMES32="i586-$MAIN"
29 30
else
    # old naming scheme
31 32
    PKGNAMES="$MAIN lib$MAIN lib$MAIN-gl lib$MAIN-twain"
    PKGNAMES32="i586-$MAIN i586-lib$MAIN i586-lib$MAIN-gl i586-lib$MAIN-twain"
33 34 35 36 37
    echo "We recommend ask about more new wine from your vendor."
fi

case $arch in
    x86_64)
38 39 40 41 42
        PKGNAMES="$PKGNAMES $PKGNAMES32 $PKGCOMMON"
        [ -n "$ONLY32" ] && PKGNAMES="$PKGNAMES32 $PKGCOMMON"
        ;;
    x86)
        PKGNAMES="$PKGNAMES $PKGCOMMON"
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
        ;;
    *)
        echo "Arch $arch is not yet supported" && exit 1
esac


# Устанавливаем wine
epm install $PKGNAMES || exit

# TODO:
# epm policy $MAIN-gl 2>/dev/null >/dev/null || OLD wine packaging name scheme

case $arch in
    x86_64)
        # Доставляем пропущенные модули (подпакеты) для установленных 64-битных
        epm prescription i586-fix
        ;;
esac