Add X USE flag, based on http://home.att.net/~Tom.Horsley/tah-tc-5.0.tar.gz, bug...
authorAlon Bar-Lev <alonbl@gentoo.org>
Fri, 15 Feb 2008 08:40:38 +0000 (08:40 +0000)
committerAlon Bar-Lev <alonbl@gentoo.org>
Fri, 15 Feb 2008 08:40:38 +0000 (08:40 +0000)
Package-Manager: portage-2.1.4.4

app-crypt/truecrypt/ChangeLog
app-crypt/truecrypt/Manifest
app-crypt/truecrypt/files/truecrypt-5.0-nogui.patch [new file with mode: 0644]
app-crypt/truecrypt/truecrypt-5.0a.ebuild

index 88a8ad7ce72fe1cb5f57c82d127422cf1b9df181..9380696116d967294e99546ca56782e4d3b6c86e 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for app-crypt/truecrypt
 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-crypt/truecrypt/ChangeLog,v 1.32 2008/02/13 18:14:49 alonbl Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/truecrypt/ChangeLog,v 1.33 2008/02/15 08:40:37 alonbl Exp $
+
+  15 Feb 2008; Alon Bar-Lev <alonbl@gentoo.org>
+  +files/truecrypt-5.0-nogui.patch, truecrypt-5.0a.ebuild:
+  Add X USE flag, based on http://home.att.net/~Tom.Horsley/tah-tc-5.0.tar.gz,
+  bug#210175, thanks for Quosek for the reference
 
 *truecrypt-5.0a (13 Feb 2008)
 
index dc60e29bc7b3cd2ea846c2e076a701563d9caa58..6d7aaf7298a431dbcdd0ab5da8f1a44f199037bc 100644 (file)
@@ -3,10 +3,11 @@ AUX truecrypt-4.3a-2.6.24.patch 1658 RMD160 c29522d767f96ae01e266fbfd8441ddd3704
 AUX truecrypt-5.0-64bit.patch 5160 RMD160 0e07db032fbd0df31c37614ceb9045d7c79d3a74 SHA1 de41674184371ae3e3c143cc2cacaa69fb7c8595 SHA256 2a12b485baf95a200a694c49d217b55cc708b4e13de7a7d7bba54768a71f51f5
 AUX truecrypt-5.0-bool.patch 1032 RMD160 7e3aa621c6b47f92d0837bf7d0c07297bb1490aa SHA1 3cbf86e4fdf47fe4e99c33ffca78b1c5af7499d2 SHA256 66c6d98f2946c1410e635969e1e95a907fdc0d9720eb14d8dd9d474661557da3
 AUX truecrypt-5.0-build.patch 1147 RMD160 d5baa75497b027b594c4a31f99bd5320bb9c0da3 SHA1 6467d4bfcae0f0cdd1ff86f21719d3f7d710fa8d SHA256 8eba4bbc03a27678e6bd073988129ec22934fafa84466b03c22b587c7d37deb8
+AUX truecrypt-5.0-nogui.patch 11185 RMD160 c018090f757f8477761d26c044c80490b6626ab9 SHA1 85da38f7acb8cdb8f0ea37274827202b52a15bb0 SHA256 da916eebc92e0ec1a58c509b960eb01fcd1086e1b05953d997927facf2bf0176
 AUX truecrypt-stop.sh 308 RMD160 4b2e6f47520f701324c03b5a43118cc38ee409a3 SHA1 7139ba403e482a4746e1d545115b74760b1438ea SHA256 243a9d1041b291e12ce2065959838f0cfe01484bffac7915991ebeb90d2ccd2c
 DIST truecrypt-4.3a-source-code.tar.gz 1110554 RMD160 1a24ae6132b43876161a090751c19afed7c5c996 SHA1 30c91901171c3c8290d4d0de856774cdf7ee4ed6 SHA256 d5515cfeb1bb328ad6f13ef347cd9422b4bb15bf849aabc4cd4f2f69a3e0c74a
 DIST truecrypt-5.0a.tar.gz 1557136 RMD160 ce7b3ba35cff2c8c5df5a14ccc9f07b59fd3fe57 SHA1 793768704161e9b7a70cd82d691896ca4fc6f988 SHA256 0cc1be858975d8667fe78e49774cbb6e8cb0d7cabef67fd80a01ee95d8c918f3
 EBUILD truecrypt-4.3a.ebuild 3092 RMD160 40a13fd5bd619f87b21f199f11a70c2f64dc6b93 SHA1 4995db75c00642921d84270604b1c9b0d68e2401 SHA256 b815d54e344efcc6eed990d85957c074e2177e1de3568c57d3e637a90b63d820
-EBUILD truecrypt-5.0a.ebuild 1583 RMD160 7d0ba3fb7b34f312994664d0735f5f0f474d3768 SHA1 0fe1726dee94c40d68ba8f4c3ef514f58f0df165 SHA256 d77a3a9c8724473db022e2967d84e8caf6bf8514580473a9439ad1ec2c26a946
-MISC ChangeLog 5578 RMD160 5b2cd674e9b2336bfb317fa01c192270b4d1d842 SHA1 b36d20b6fa47081fad3e6a31a677b7d0fdcd4715 SHA256 f1af177acd0517cfff8699f25ac0c36b65b41dcd6cc6d5200f96dc2ddab4b04c
+EBUILD truecrypt-5.0a.ebuild 1737 RMD160 459db1a075f9859c4aa58a43ef662f566209d91c SHA1 54c7906160e35d8db5bc7809f89b28fa6295dffa SHA256 7275a920808811342a52bb0846e52d5955fcf6b45d3f1418f80881d93586146b
+MISC ChangeLog 5815 RMD160 c6141d778f75a6081d0a438dbe76a7bdb12cf820 SHA1 e763abed1614b875f91f59968924b0358c79ccab SHA256 e36208d2b8cea78a7da54e02a69e32513fe962e45e25ba6a7fa7f81caa21c65f
 MISC metadata.xml 224 RMD160 74db96ad8aa1d285d83ae93a9f4a767335f55c15 SHA1 d86a171d981b45e7ed0c0b3b5059d2a63c811001 SHA256 9e9ce661a9fdb45a535ad875a247b700a70745359b27533ec29a6a46fa708e86
diff --git a/app-crypt/truecrypt/files/truecrypt-5.0-nogui.patch b/app-crypt/truecrypt/files/truecrypt-5.0-nogui.patch
new file mode 100644 (file)
index 0000000..b200ee8
--- /dev/null
@@ -0,0 +1,351 @@
+
+Disable requirement for X.
+
+Based on:
+http://home.att.net/~Tom.Horsley/tah-tc-5.0.tar.gz
+
+Don't use internal wxUSE_GUI but force the state.
+
+---
+
+diff -urNp truecrypt-5.0a-source.base1/Main/Application.cpp truecrypt-5.0a-source.new1/Main/Application.cpp
+--- truecrypt-5.0a-source.base1/Main/Application.cpp   2008-02-04 13:14:16.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/Application.cpp    2008-02-15 09:42:18.000000000 +0200
+@@ -22,11 +22,13 @@ namespace TrueCrypt
+               return mUserInterface;
+       } 
+ 
++#ifdef ENABLE_wxGUI
+       wxApp* Application::CreateGuiApp ()
+       {
+               mUserInterface = new GraphicUserInterface;
+               return mUserInterface;
+       } 
++#endif
+ 
+       FilePath Application::GetConfigFilePath (const wxString &configFileName, bool createConfigDir)
+       {
+@@ -72,11 +74,13 @@ namespace TrueCrypt
+                               wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) CreateConsoleApp);
+                               break;
+                       }
++#ifdef ENABLE_wxGUI
+               case UserInterfaceType::Graphic:
+                       {
+                               wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) CreateGuiApp);
+                               break;
+                       }
++#endif
+ 
+               default:
+                       throw ParameterIncorrect (SRC_POS);
+diff -urNp truecrypt-5.0a-source.base1/Main/FatalErrorHandler.cpp truecrypt-5.0a-source.new1/Main/FatalErrorHandler.cpp
+--- truecrypt-5.0a-source.base1/Main/FatalErrorHandler.cpp     2008-02-04 13:14:16.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/FatalErrorHandler.cpp      2008-02-15 09:42:18.000000000 +0200
+@@ -90,6 +90,7 @@ namespace TrueCrypt
+ 
+ #endif // wxUSE_STACKWALKER
+ 
++#ifdef ENABLE_wxGUI
+               wxString url = Gui->GetHomepageLinkURL (L"err-report", vars.str());
+               url.Replace (L"0x", L"");
+ 
+@@ -109,6 +110,7 @@ namespace TrueCrypt
+ 
+               if (Gui->AskYesNo (msg, true))
+                       wxLaunchDefaultBrowser (url, wxBROWSER_NEW_WINDOW);
++#endif
+ 
+               _exit (1);
+       }
+@@ -155,6 +157,7 @@ namespace TrueCrypt
+                       vars.Replace (L"::", L".");
+                       vars.Replace (L":", L".");
+ 
++#ifdef ENABLE_wxGUI
+                       wxString url = Gui->GetHomepageLinkURL (L"err-report", vars);
+ 
+                       wxString msg = L"An unhandled exception has occured and TrueCrypt must be terminated. If this is caused by a bug in TrueCrypt, we would like to fix it. To help us, you can send us an automatically generated error report containing the following items:\n\n- Program version\n- Operating system version\n- Hardware architecture\n- Error description\n- Error location\n";
+@@ -164,15 +167,20 @@ namespace TrueCrypt
+ 
+                       if (Gui->AskYesNo (msg, true))
+                               wxLaunchDefaultBrowser (url, wxBROWSER_NEW_WINDOW);
++#endif
+ 
+               }
+               catch (exception &e)
+               {
++#ifdef ENABLE_wxGUI
+                       Gui->ShowError (e);
++#endif
+               }
+               catch (...)
+               {
++#ifdef ENABLE_wxGUI
+                       Gui->ShowError (_("Unknown exception occurred."));
++#endif
+               }
+ 
+               _exit (1);
+diff -urNp truecrypt-5.0a-source.base1/Main/GraphicUserInterface.cpp truecrypt-5.0a-source.new1/Main/GraphicUserInterface.cpp
+--- truecrypt-5.0a-source.base1/Main/GraphicUserInterface.cpp  2008-02-07 17:48:16.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/GraphicUserInterface.cpp   2008-02-15 09:42:18.000000000 +0200
+@@ -19,6 +19,9 @@
+ #include "Application.h"
+ #include "GraphicUserInterface.h"
+ #include "FatalErrorHandler.h"
++
++#ifdef ENABLE_wxGUI
++
+ #include "Forms/DeviceSelectionDialog.h"
+ #include "Forms/MainFrame.h"
+ #include "Forms/MountOptionsDialog.h"
+@@ -1039,3 +1042,4 @@ namespace TrueCrypt
+ 
+       GraphicUserInterface *Gui = nullptr;
+ }
++#endif
+diff -urNp truecrypt-5.0a-source.base1/Main/GraphicUserInterface.h truecrypt-5.0a-source.new1/Main/GraphicUserInterface.h
+--- truecrypt-5.0a-source.base1/Main/GraphicUserInterface.h    2008-02-05 19:56:46.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/GraphicUserInterface.h     2008-02-15 09:42:18.000000000 +0200
+@@ -14,6 +14,7 @@
+ #include "Main.h"
+ #include "UserInterface.h"
+ 
++#ifdef ENABLE_wxGUI
+ namespace TrueCrypt
+ {
+       class GraphicUserInterface : public UserInterface
+@@ -128,5 +129,6 @@ namespace TrueCrypt
+ 
+       extern GraphicUserInterface *Gui;
+ }
++#endif
+ 
+ #endif // TC_HEADER_Main_GraphicUserInterface
+diff -urNp truecrypt-5.0a-source.base1/Main/Main.make truecrypt-5.0a-source.new1/Main/Main.make
+--- truecrypt-5.0a-source.base1/Main/Main.make 2008-02-15 09:25:30.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/Main.make  2008-02-15 09:42:18.000000000 +0200
+@@ -21,6 +21,7 @@ OBJS += UserPreferences.o
+ OBJS += VolumeHistory.o
+ OBJS += Xml.o
+ OBJS += Unix/Main.o
++ifeq "$(TC_BUILD_GUI)" "True"
+ OBJS += Forms/AboutDialog.o
+ OBJS += Forms/ChangePasswordDialog.o
+ OBJS += Forms/DeviceSelectionDialog.o
+@@ -47,6 +48,7 @@ OBJS += Forms/VolumeLocationWizardPage.o
+ OBJS += Forms/VolumePasswordWizardPage.o
+ OBJS += Forms/VolumeSizeWizardPage.o
+ OBJS += Forms/WizardFrame.o
++endif
+ OBJS += Resources.o
+ 
+ PCH := SystemPrecompiled.h.gch
+@@ -67,15 +69,21 @@ WX_CONFIG_EXTRA ?= --static
+ 
+ #------ wxWidgets configuration ------
+ 
++ifeq "$(TC_BUILD_GUI)" "True"
++WX_ASK_LIBS=adv,core,base
++else
++WX_ASK_LIBS=core,base
++endif
++ 
+ ifeq "$(TC_BUILD_CONFIG)" "Release"
+ 
+ CXXFLAGS += $(shell $(WX_CONFIG) $(WX_CONFIG_EXTRA) --cxxflags)
+-WX_LIBS = $(shell $(WX_CONFIG) $(WX_CONFIG_EXTRA) --libs adv,core,base)
++WX_LIBS = $(shell $(WX_CONFIG) $(WX_CONFIG_EXTRA) --libs $(WX_ASK_LIBS))
+ 
+ else
+ 
+ CXXFLAGS += $(shell $(WX_CONFIG) $(WX_CONFIG_EXTRA) --debug --cxxflags)
+-WX_LIBS = $(shell $(WX_CONFIG) $(WX_CONFIG_EXTRA) --debug --libs adv,core,base)
++WX_LIBS = $(shell $(WX_CONFIG) $(WX_CONFIG_EXTRA) --debug --libs $(WX_ASK_LIBS))
+ 
+ endif
+ 
+diff -urNp truecrypt-5.0a-source.base1/Main/Resources.cpp truecrypt-5.0a-source.new1/Main/Resources.cpp
+--- truecrypt-5.0a-source.base1/Main/Resources.cpp     2008-02-04 13:14:16.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/Resources.cpp      2008-02-15 09:42:18.000000000 +0200
+@@ -35,6 +35,7 @@ namespace TrueCrypt
+       }
+ #endif // TC_WINDOWS
+ 
++#ifdef ENABLE_wxGUI
+       wxBitmap Resources::GetDriveIconBitmap ()
+       {
+ #ifdef TC_WINDOWS
+@@ -72,6 +73,7 @@ namespace TrueCrypt
+ #     endif
+ #endif
+       }
++#endif
+ 
+       string Resources::GetLanguageXml ()
+       {
+@@ -111,6 +113,7 @@ namespace TrueCrypt
+ #endif
+       }
+ 
++#ifdef ENABLE_wxGUI
+       wxBitmap Resources::GetLogoBitmap ()
+       {
+ #ifdef TC_WINDOWS
+@@ -173,4 +176,5 @@ namespace TrueCrypt
+               return wxBitmap (image);
+ #endif
+       }
++#endif
+ }
+diff -urNp truecrypt-5.0a-source.base1/Main/Resources.h truecrypt-5.0a-source.new1/Main/Resources.h
+--- truecrypt-5.0a-source.base1/Main/Resources.h       2008-02-04 13:14:14.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/Resources.h        2008-02-15 09:42:18.000000000 +0200
+@@ -17,14 +17,18 @@ namespace TrueCrypt
+       class Resources
+       {
+       public:
++#ifdef ENABLE_wxGUI
+               static wxBitmap GetDriveIconBitmap ();
+               static wxBitmap GetDriveIconMaskBitmap ();
++#endif
+               static string GetLanguageXml ();
+               static string GetLegalNotices ();
++#ifdef ENABLE_wxGUI
+               static wxBitmap GetLogoBitmap ();
+               static wxBitmap GetTextualLogoBitmap ();
+               static wxIcon GetTrueCryptIcon ();
+               static wxBitmap GetVolumeCreationWizardBitmap (int height = -1);
++#endif
+ 
+       protected:
+       };
+diff -urNp truecrypt-5.0a-source.base1/Main/SystemPrecompiled.h truecrypt-5.0a-source.new1/Main/SystemPrecompiled.h
+--- truecrypt-5.0a-source.base1/Main/SystemPrecompiled.h       2008-02-04 13:22:08.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/SystemPrecompiled.h        2008-02-15 09:42:18.000000000 +0200
+@@ -9,7 +9,9 @@
+ #include <wx/wx.h>
+ #include <wx/dnd.h>
+ #include <wx/filename.h>
++#ifdef ENABLE_wxGUI
+ #include <wx/imaglist.h>
++#endif
+ #include <wx/listctrl.h>
+ #include <wx/mstream.h>
+ #include <wx/power.h>
+diff -urNp truecrypt-5.0a-source.base1/Main/TextUserInterface.cpp truecrypt-5.0a-source.new1/Main/TextUserInterface.cpp
+--- truecrypt-5.0a-source.base1/Main/TextUserInterface.cpp     2008-02-04 18:38:04.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/TextUserInterface.cpp      2008-02-15 09:42:18.000000000 +0200
+@@ -423,8 +423,9 @@ namespace TrueCrypt
+ 
+                       InterfaceType = UserInterfaceType::Text;
+                       Init();
+-
++#ifdef ENABLE_wxGUI
+                       SetExitOnFrameDelete (false);
++#endif
+               }
+               catch (exception &e)
+               {
+diff -urNp truecrypt-5.0a-source.base1/Main/Unix/Main.cpp truecrypt-5.0a-source.new1/Main/Unix/Main.cpp
+--- truecrypt-5.0a-source.base1/Main/Unix/Main.cpp     2008-02-12 22:21:58.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/Unix/Main.cpp      2008-02-15 09:42:18.000000000 +0200
+@@ -59,6 +59,9 @@ int main (int argc, char **argv)
+               if (!getenv ("DISPLAY"))
+                       forceTextUI = true;
+ #endif
++#ifndef ENABLE_wxGUI
++              forceTextUI = true;
++#endif
+ 
+               // Set user interface type
+               if (forceTextUI || (argc > 1 && (strcmp (argv[1], "-t") == 0 || strcmp (argv[1], "--text") == 0)))
+diff -urNp truecrypt-5.0a-source.base1/Main/UserInterface.cpp truecrypt-5.0a-source.new1/Main/UserInterface.cpp
+--- truecrypt-5.0a-source.base1/Main/UserInterface.cpp 2008-02-12 22:28:34.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/UserInterface.cpp  2008-02-15 09:42:18.000000000 +0200
+@@ -302,8 +302,10 @@ namespace TrueCrypt
+               {
+                       wxString message = ExceptionTypeToString (typeid (ex));
+ 
++#ifdef ENABLE_wxGUI
+                       if (wxGetKeyState (WXK_CAPITAL))
+                               message += wxString (L"\n\n") + LangString["CAPSLOCK_ON"];
++#endif
+ 
+                       return message;
+               }
+diff -urNp truecrypt-5.0a-source.base1/Main/VolumeHistory.cpp truecrypt-5.0a-source.new1/Main/VolumeHistory.cpp
+--- truecrypt-5.0a-source.base1/Main/VolumeHistory.cpp 2008-02-04 13:14:16.000000000 +0200
++++ truecrypt-5.0a-source.new1/Main/VolumeHistory.cpp  2008-02-15 09:42:18.000000000 +0200
+@@ -10,6 +10,9 @@
+ #include "Application.h"
+ #include "GraphicUserInterface.h"
+ #include "Xml.h"
++
++#ifdef ENABLE_wxGUI
++
+ #include "VolumeHistory.h"
+ 
+ namespace TrueCrypt
+@@ -150,3 +153,5 @@ namespace TrueCrypt
+       Mutex VolumeHistory::AccessMutex;
+ 
+ }
++
++#endif
+diff -urNp truecrypt-5.0a-source.base1/Makefile truecrypt-5.0a-source.new1/Makefile
+--- truecrypt-5.0a-source.base1/Makefile       2008-02-04 20:19:02.000000000 +0200
++++ truecrypt-5.0a-source.new1/Makefile        2008-02-15 09:47:23.000000000 +0200
+@@ -11,6 +11,7 @@
+ # DEBUGGER:           Enable debugging information for use by debuggers
+ # NOSTRIP:            Do not strip release binaries
+ # VERBOSE:            Enable verbose messages
++# NOGUI:              Do not build GUI truecrypt
+ 
+ #------ Targets ------
+ # all
+@@ -30,6 +31,11 @@ TC_BUILD_CONFIG := Debug
+ endif
+ endif
+ 
++export TC_BUILD_GUI := True
++
++ifeq "$(origin NOGUI)" "command line"
++TC_BUILD_GUI := False
++endif
+ 
+ #------ Build configuration ------
+ 
+@@ -145,6 +151,9 @@ C_CXX_FLAGS += -DTC_UNIX -DTC_BSD -DTC_F
+ 
+ endif
+ 
++ifeq "$(TC_BUILD_GUI)" "True"
++C_CXX_FLAGS += -DENABLE_wxGUI
++endif
+ 
+ CFLAGS := $(C_CXX_FLAGS) $(CFLAGS) $(EXTRA_CFLAGS)
+ CXXFLAGS := $(C_CXX_FLAGS) $(CXXFLAGS) $(EXTRA_CXXFLAGS)
+@@ -189,6 +198,12 @@ CXXFLAGS :=
+ LFLAGS :=
+ endif
+ 
++ifeq "$(TC_BUILD_GUI)" "True"
++WX_NO_GUI:=
++else
++WX_NO_GUI:=--disable-gui
++endif
++
+ wxbuild:
+ 
+ ifneq "$(shell test -f $(WX_ROOT)/configure || test -f $(WX_BUILD_DIR)/../configure && echo 1)" "1"
+@@ -198,7 +213,7 @@ endif
+ 
+       mkdir -p $(WX_BUILD_DIR)
+       @echo Configuring wxWidgets library...
+-      cd $(WX_BUILD_DIR) && $(WX_ROOT)/configure $(WX_CONFIGURE_FLAGS) >/dev/null
++      cd $(WX_BUILD_DIR) && $(WX_ROOT)/configure $(WX_NO_GUI) $(WX_CONFIGURE_FLAGS) >/dev/null
+       
+       @echo Building wxWidgets library...
+       cd $(WX_BUILD_DIR) && make
index bc163cdf9ccada79b2d0a4bbcc8297b8d9b54710..19c3e84579bc60c22fca0b02d87eaca420b1daee 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-crypt/truecrypt/truecrypt-5.0a.ebuild,v 1.1 2008/02/13 18:14:49 alonbl Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/truecrypt/truecrypt-5.0a.ebuild,v 1.2 2008/02/15 08:40:37 alonbl Exp $
 
 inherit eutils toolchain-funcs multilib wxwidgets
 
@@ -11,7 +11,7 @@ SRC_URI="${P}.tar.gz"
 LICENSE="truecrypt-collective-1.3"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="X"
 RESTRICT="fetch"
 
 RDEPEND="sys-fs/fuse
@@ -26,19 +26,28 @@ pkg_nofetch() {
        einfo "Then put the file in ${DISTDIR}/${P}.tar.gz"
 }
 
+pkg_setup() {
+       WX_GTK_VER="2.8"
+       if use X; then
+               need-wxwidgets unicode
+       else
+               need-wxwidgets base-unicode
+       fi
+}
+
 src_unpack() {
        unpack ${A}
        cd "${S}"
        epatch "${FILESDIR}/${PN}-5.0-build.patch"
        epatch "${FILESDIR}/${PN}-5.0-64bit.patch"
        epatch "${FILESDIR}/${PN}-5.0-bool.patch"
+       epatch "${FILESDIR}/${PN}-5.0-nogui.patch"
 }
 
 src_compile() {
        local EXTRA
-       WX_GTK_VER="2.8"
-       need-wxwidgets unicode
        use amd64 && EXTRA="${EXTRA} USE64BIT=1"
+       use X || EXTRA="${EXTRA} NOGUI=1"
        emake \
                ${EXTRA} \
                NOSTRIP=1 \