1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2025-11-11 11:08:02 -06:00

Linux: Modify .deb build scripts to link against statically built wxWidgets on Ubuntu 14.04, 12.04 and Debian 8

This commit is contained in:
Mounir IDRASSI
2019-12-22 10:06:49 +01:00
parent f8beac6ebd
commit cdbe7854e8
2 changed files with 29 additions and 7 deletions

View File

@@ -243,7 +243,7 @@ if ( ( PLATFORM STREQUAL "Debian" ) OR ( PLATFORM STREQUAL "Ubuntu" ) )
set( CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${ARCHITECTURE} ) # mandatory set( CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${ARCHITECTURE} ) # mandatory
if (NOGUI) if (NOGUI)
# We build wxWidgets statically so that we don't depend on any GTK library # Link against statically built wxWidgets so that we don't depend on any GTK library
set( CPACK_DEBIAN_PACKAGE_DEPENDS "libfuse2, dmsetup, sudo" ) set( CPACK_DEBIAN_PACKAGE_DEPENDS "libfuse2, dmsetup, sudo" )
else () else ()
# Link against gtk3 version of wxWidgets if >= Debian 10 or >= Ubuntu 18.04 # Link against gtk3 version of wxWidgets if >= Debian 10 or >= Ubuntu 18.04
@@ -254,8 +254,13 @@ if ( ( PLATFORM STREQUAL "Debian" ) OR ( PLATFORM STREQUAL "Ubuntu" ) )
set( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-gtk3-0v5, libfuse2, dmsetup, sudo" ) set( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-gtk3-0v5, libfuse2, dmsetup, sudo" )
else () else ()
# Link against statically built wxWidgets on Ubuntu 14.04 and older, and Debian 8 and older
if ( ( ( PLATFORM STREQUAL "Debian" ) AND ( PLATFORM_VERSION VERSION_LESS_EQUAL "8" ) )
OR ( ( PLATFORM STREQUAL "Ubuntu" ) AND ( PLATFORM_VERSION VERSION_LESS_EQUAL "14.04" ) ) )
set( CPACK_DEBIAN_PACKAGE_DEPENDS "libgtk2.0-0, libfuse2, dmsetup, sudo" )
else ()
set( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-0v5, libfuse2, dmsetup, sudo" ) set( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-0v5, libfuse2, dmsetup, sudo" )
endif ()
endif() endif()
endif() endif()

View File

@@ -12,23 +12,40 @@ export SOURCEPATH=$(readlink -f "$SCRIPTPATH/..")
# Directory where the VeraCrypt has been checked out # Directory where the VeraCrypt has been checked out
export PARENTDIR=$(readlink -f "$SCRIPTPATH/../../..") export PARENTDIR=$(readlink -f "$SCRIPTPATH/../../..")
# The sources of wxWidgets 3.0.4 must be extracted to the parent directory
export WX_ROOT=$PARENTDIR/wxWidgets-3.0.4
echo "Using wxWidgets sources in $WX_ROOT"
cd $SOURCEPATH cd $SOURCEPATH
if [ "$#" = "1" ] && [ "$1" = "WXSTATIC" ]
then
echo "Building GUI version of VeraCrypt for DEB using wxWidgets static libraries"
# This will be the temporary wxWidgets directory
export WX_BUILD_DIR=$PARENTDIR/wxBuildGUI
# To build wxWidgets without GUI
make WXSTATIC=1 wxbuild || exit 1
make WXSTATIC=1 clean || exit 1
make WXSTATIC=1 || exit 1
make WXSTATIC=1 install DESTDIR="$PARENTDIR/VeraCrypt_Setup/GUI" || exit 1
else
echo "Building GUI version of VeraCrypt for DEB using system wxWidgets" echo "Building GUI version of VeraCrypt for DEB using system wxWidgets"
make clean || exit 1 make clean || exit 1
make || exit 1 make || exit 1
make install DESTDIR="$PARENTDIR/VeraCrypt_Setup/GUI" || exit 1 make install DESTDIR="$PARENTDIR/VeraCrypt_Setup/GUI" || exit 1
fi
echo "Building console version of VeraCrypt for DEB using wxWidgets static libraries" echo "Building console version of VeraCrypt for DEB using wxWidgets static libraries"
# This is to avoid " Error: Unable to initialize GTK+, is DISPLAY set properly?" # This is to avoid " Error: Unable to initialize GTK+, is DISPLAY set properly?"
# when building over SSH without X11 Forwarding # when building over SSH without X11 Forwarding
# export DISPLAY=:0.0 # export DISPLAY=:0.0
# The sources of wxWidgets 3.0.4 must be extracted to the parent directory
export WX_ROOT=$PARENTDIR/wxWidgets-3.0.4
echo "Using wxWidgets sources in $WX_ROOT"
# This will be the temporary wxWidgets directory # This will be the temporary wxWidgets directory
export WX_BUILD_DIR=$PARENTDIR/wxBuildConsole export WX_BUILD_DIR=$PARENTDIR/wxBuildConsole