Originally posted by timofonic
View Post
For example, when I want to create a bottle for something here's the simple command I execute:
winemgr create -ver /opt/wine-staging-4.11 -submenu Games -b games64.wine
This creates a bottle named "games64.wine" in the Wine Manager bottle directory with a submenu of "Games" using wine staging 4.11
To make the bottle visible in the menu I execute the following command:
winemgr xdg -op on -b games64.wine.
After this the bottles programs appear under Wine->Programs->Games. So if I install Steam in the bottle it appears as Wine->Programs->Games->Steam. To remove it from the menu I execute the above command with "-op off" instead of "-op on"
If I want to change the bottles wine version, submenu, etc. I execute the "change" command. For example, to change the above bottle to use wine 4.9 with a submenu of "Mommy" I would execute the following command:
winemgr change -ver /opt/wine-staging-4.9 -submenu Mommy -b games64.wine
Wine Manager also supports nested submenus. So to have the bottle appear in "Games->Something Deeper" I would execute:
winemgr change -submenu "Games:Something Deeper" -b games64.wine
It's all very simple, clean, and versatile. Which is the only way I will voluntarily do anything. I have a deep distaste for clumsiness and inefficiency.
Generically compiling is fairly simple as well, though it's not yet integrated into Wine Manager so the steps must be executed by hand. For example, following is the full sequence for compiling wine staging 4.12.1. Note that I also compile a custom version of wineasio for each wine version but to keep things simpler it's not included here:
WINE_PREF="wine-staging"
WINE_CVER="4.12.1"
WINE_PREF_CVER="$WINE_PREF-$WINE_CVER"
PKG_DIR=~/working/wine/$WINE_PREF_CVER
cd ~/working/wine
mkdir $PKG_DIR
cd ~/working/wine/git/wine
git pull
git checkout tags/wine-$WINE_CVER
GIT_WORK_TREE=$PKG_DIR git checkout -f
cd ~/working/wine/git/wine-staging
git pull
git checkout tags/v$WINE_CVER
GIT_WORK_TREE=$PKG_DIR git checkout -f
cd $PKG_DIR
"$PKG_DIR"/patches/patchinstall.sh DESTDIR="$(pwd)" --all
export CFLAGS="${CFLAGS/-fno-plt/}"
export LDFLAGS="${LDFLAGS/,-z,now/}"
sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i configure*
cd ~/working/wine
mkdir $WINE_PREF_CVER-build64
cd $WINE_PREF_CVER-build64
"$PKG_DIR"/configure --prefix=/opt/$WINE_PREF_CVER --libdir=/opt/$WINE_PREF_CVER/lib --with-x --with-gstreamer --enable-win64
make -j6
cd ~/working/wine
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
mkdir $WINE_PREF_CVER-build32
cd $WINE_PREF_CVER-build32
"$PKG_DIR"/configure --prefix=/opt/$WINE_PREF_CVER --with-x --with-gstreamer --libdir=/opt/$WINE_PREF_CVER/lib32 --with-wine64=../$WINE_PREF_CVER-build64
make -j6
cd ~/working/wine/$WINE_PREF_CVER-build32
sudo make install
cd ~/working/wine/$WINE_PREF_CVER-build64
sudo make install
Comment