fun hacks for wine
windows-VST? yes, we could.
This commit is contained in:
parent
53d8b45457
commit
259dbaea52
@ -33,6 +33,7 @@ EXTERNAL_JACK=
|
||||
VENDOR=Ardour ;
|
||||
EXENAME=ardour
|
||||
GCC5ABI=false
|
||||
USEWINE=false
|
||||
BUILDTYPE=""
|
||||
NOSTRIP="libsuil|libserd|libsord|liblilv|libsratom|liblrdf|libardour|libpbd|libevoral"
|
||||
|
||||
@ -239,6 +240,7 @@ echo export 'PATH=/usr/local/bin:/opt/bin:$PATH' >> $ENVIRONMENT
|
||||
# create startup helper script
|
||||
if test -d $BUILD_ROOT/vst; then
|
||||
WINEEXE=wine
|
||||
USEWINE=true
|
||||
echo export INSTALL_DIR >> $ENVIRONMENT
|
||||
else
|
||||
WINEEXE=
|
||||
@ -682,7 +684,7 @@ chmod a+x $APPBIN/${APP_VER_NAME}.uninstall.sh
|
||||
#
|
||||
# Add the stage2.run script
|
||||
#
|
||||
sed -e "s/%REPLACE_MAJOR_VERSION%/${major_version}/;s/%REPLACE_PGM%/${APPNAME}/;s/%REPLACE_VENDOR%/${VENDOR}/;s/%REPLACE_EXE%/${EXENAME}/;s/%REPLACE_GCC5%/${GCC5ABI}/" < stage2.run.in > stage2.run
|
||||
sed -e "s/%REPLACE_MAJOR_VERSION%/${major_version}/;s/%REPLACE_PGM%/${APPNAME}/;s/%REPLACE_VENDOR%/${VENDOR}/;s/%REPLACE_EXE%/${EXENAME}/;s/%REPLACE_GCC5%/${GCC5ABI}/;s/%REPLACE_WINE%/${USEWINE}/" < stage2.run.in > stage2.run
|
||||
chmod a+x stage2.run
|
||||
|
||||
|
||||
|
@ -313,6 +313,19 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
if %REPLACE_WINE%; then
|
||||
if -z "`which wine`"; then
|
||||
echo ""
|
||||
echo "!!! ERROR !!! - 'wine' was not found."
|
||||
echo ""
|
||||
echo "This version of Ardour with Windows VST support requires wine."
|
||||
echo "https://www.winehq.org/"
|
||||
echo ""
|
||||
read -p "Press ENTER to exit installer:" BLAH
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
#####################
|
||||
# Unpack the bundle
|
||||
#####################
|
||||
@ -375,6 +388,46 @@ then
|
||||
HAS_XDG="F"
|
||||
fi
|
||||
|
||||
#################################################
|
||||
# Set up libwine.so
|
||||
#################################################
|
||||
if %REPLACE_WINE%; then
|
||||
echo ""
|
||||
echo "Searching for libwine.so (Windows VST support)"
|
||||
echo ""
|
||||
# we need to add libwine to ardour's LD_LIBRARY_PATH
|
||||
# libwine itself includes paths to the various system-components
|
||||
# which may be different on each platform.
|
||||
#
|
||||
# There's some chicken/egg here: ardour.exe.so is linked against libwine.so
|
||||
# at build-time. wine/wineloader assumes a windows-application (which does not use libwine
|
||||
# directly) and does not set up the LD path to libwine itself. the application terminates
|
||||
# (missing libs) before it even starts..
|
||||
#
|
||||
# wine itself does not provide means to find the location of libwine.
|
||||
# /usr/bin/wine is usually shell-script and libwine.so can be found in
|
||||
# various places on different distros.
|
||||
#
|
||||
# if this check were quick and easy.. it should be done in the startup-script, but it's not
|
||||
# so here we go... (updating wine may require re-installing ardour)
|
||||
#
|
||||
LIBWINE=$(
|
||||
LD_DEBUG=files wine `pwd`/${BUNDLE_DIR}/lib/ardour-vst-scanner.exe.so 2>&1 \
|
||||
| grep -e "calling init:.*libwine" \
|
||||
| sed 's/^.*calling init: //' \
|
||||
| uniq \
|
||||
)
|
||||
if ! test -f "$LIBWINE"; then
|
||||
echo ""
|
||||
echo "!!! ERROR !!! - 'libwine.so*' was not found."
|
||||
echo ""
|
||||
read -p "Press ENTER to exit installer:" BLAH
|
||||
exit 1
|
||||
fi
|
||||
# this replaces/overwrites the bundled libwine
|
||||
cp -L "$LIBWINE" `pwd`/${BUNDLE_DIR}/lib/libwine.so.1
|
||||
fi
|
||||
|
||||
#################################################
|
||||
# Check if system libs are OK (libc, etc)
|
||||
#################################################
|
||||
|
Loading…
Reference in New Issue
Block a user