Skip to content

Instantly share code, notes, and snippets.

@janbrogger
Created July 20, 2019 10:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save janbrogger/cc1807fc0308e6270bad5d4deda46cb7 to your computer and use it in GitHub Desktop.
Save janbrogger/cc1807fc0308e6270bad5d4deda46cb7 to your computer and use it in GitHub Desktop.
Install and run Scrivener on Wine
#!/bin/bash
# cleanup first
sudo yum remove wine
sudo yum clean all
sudo yum update -y
# install dev tools
sudo yum groupinstall -y 'Development Tools'
sudo yum install -y libX11-devel freetype-devel zlib-devel libxcb-devel
sudo yum install -y libxslt-devel libgcrypt-devel libxml2-devel gnutls-devel
sudo yum install -y libpng-devel libjpeg-turbo-devel libtiff-devel gstreamer-devel
sudo yum install -y dbus-devel fontconfig-devel
#
#extra libs
sudo yum install -y glibc-devel libstdc++-devel icoutils openal-soft-devel prelink gstreamer-plugins-base-devel gstreamer-devel ImageMagick-devel fontpackages-devel libv4l-devel gsm-devel giflib-devel libXxf86dga-devel mesa-libOSMesa-devel isdn4k-utils-devel libgphoto2-devel fontforge libusb-devel lcms2-devel audiofile-devel
sudo yum install -y openldap-devel libxslt-devel libXcursor-devel libXi-devel libXxf86vm-devel libXrandr-devel libXinerama-devel libXcomposite-devel mesa-libGLU-devel ocl-icd opencl-headers libpcap-devel dbus-devel ncurses-devel libsane-hpaio pulseaudio-libs-devel cups-devel libmpg123-devel fontconfig-devel sane-backends-devel.x86_64
#extra 32-bit libs
sudo yum install -y glibc-devel.i686 dbus-devel.i686 freetype-devel.i686 pulseaudio-libs-devel.i686 libX11-devel.i686 mesa-libGLU-devel.i686 libICE-devel.i686 libXext-devel.i686 libXcursor-devel.i686 libXi-devel.i686 libXxf86vm-devel.i686 libXrender-devel.i686 libXinerama-devel.i686 libXcomposite-devel.i686 libXrandr-devel.i686 mesa-libGL-devel.i686 mesa-libOSMesa-devel.i686 libxml2-devel.i686 libxslt-devel.i686 zlib-devel.i686 gnutls-devel.i686 ncurses-devel.i686 sane-backends-devel.i686 libv4l-devel.i686 libgphoto2-devel.i686 libexif-devel.i686 lcms2-devel.i686 gettext-devel.i686 isdn4k-utils-devel.i686 cups-devel.i686 fontconfig-devel.i686 gsm-devel.i686 libjpeg-turbo-devel.i686 pkgconfig.i686 libtiff-devel.i686 unixODBC.i686 openldap-devel.i686 alsa-lib-devel.i686 audiofile-devel.i686 freeglut-devel.i686 giflib-devel.i686 gstreamer-devel.i686 gstreamer-plugins-base-devel.i686 libXmu-devel.i686 libXxf86dga-devel.i686 libieee1284-devel.i686 libpng-devel.i686 librsvg2-devel.i686 libstdc++-devel.i686 libusb-devel.i686 unixODBC-devel.i686 qt-devel.i686 libpcap-devel.i686
#
#make base wine dir
cd ~
mkdir wine-dirs
cd wine-dirs
#
# download and build Wine 64-bit
wget https://dl.winehq.org/wine/source/4.0/wine-4.0.1.tar.xz
tar -Jxf wine-4.0.1.tar.xz
mv wine-4.0.1 wine-source
mkdir wine64-build
cd wine64-build
../wine-source/configure --enable-win64
#
# list of configure warnings that I got
# configure: libhal 64-bit development files not found, no legacy dynamic device support.
# configure: gstreamer-1.0 base plugins 64-bit development files not found, GStreamer won't be supported.
# configure: OSS sound system found but too old (OSSv4 needed), OSS won't be supported.
# configure: libudev 64-bit development files not found, plug and play won't be supported.
# configure: libSDL2 64-bit development files not found, SDL2 won't be supported.
# configure: libvulkan and libMoltenVK 64-bit development files not found, Vulkan won't be supported.
# configure: vkd3d 64-bit development files not found, Direct3D 12 won't be supported.
#
make -j4
wine --version
sudo make install
#
# build WoW64
cd ~/wine-dirs
mkdir wine32-build
cd wine32-build
PKG_CONFIG_PATH=/usr/lib/pkgconfig ../wine-source/configure --with-wine64=../wine64-build
make -j4
sudo make install
#
# install winetricks
cd ~
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
sudo yum install -y cabextract
winetricks dotnet45
#
# Download Scrivener (public beta, 64-bit)
cd ~/Downloads
wget http://www.literatureandlatte.com/scrivenerforwindows/beta/Scrivener-29018-installer_x64.exe
# Install Scrivener
cd ~/Downloads
wine64 ~/Downloads/Scrivener-29018-installer_x64.exe
#Run Scrivener
wine64 ~/.wine/drive_c/Program\ Files/Scrivener/Scrivener.exe
#Create a launcher with icon
wget https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/i/790f63b2-9316-4063-8077-a2ec11c2c1e1/d99ll7c-f45d458e-7fa7-4638-8ed0-07b14f3f65ba.png/v1/fill/w_894,h_894,q_70,strp/scrivener_mac_os_x_icon_by_matiasam_d99ll7c-pre.jpg -O $HOME/.wine/drive_c/Program\ Files/Scrivener/Scrivener.jpg
#
echo "
[Desktop Entry]
Version=1.0
Name=Scrivener
GenericName=Scrivener
Comment=Text writing tool
Exec=wine64 $HOME/.wine/drive_c/Program Files/Scrivener/Scrivener.exe
Terminal=false
Icon=$HOME/.wine/drive_c/Program Files/Scrivener/Scrivener.jpg
Type=Application
Categories=Office
MimeType=text/html;
"> ~/.local/share/applications/Scrivener.desktop
#
cat ~/.local/share/applications/Scrivener.desktop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment