summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@gentoo.org>2024-07-09 23:15:12 -0400
committerYixun Lan <dlan@gentoo.org>2024-07-10 07:55:49 +0000
commit6c33a435474c05703d8f93eed28d639b8269616e (patch)
tree099b6510aaf9217edeb6c95064bdf84121bf8190 /net-ftp
parentdev-lang/ruby: avoid hard-coded mkdir path (diff)
downloadgentoo-6c33a435474c05703d8f93eed28d639b8269616e.tar.gz
gentoo-6c33a435474c05703d8f93eed28d639b8269616e.tar.bz2
gentoo-6c33a435474c05703d8f93eed28d639b8269616e.zip
net-ftp/filezilla: backport patch to fix ODR violations
Closes: https://bugs.gentoo.org/927178 Signed-off-by: Eli Schwartz <eschwartz@gentoo.org> Signed-off-by: Yixun Lan <dlan@gentoo.org>
Diffstat (limited to 'net-ftp')
-rw-r--r--net-ftp/filezilla/files/filezilla-3.67.0-odr.patch670
-rw-r--r--net-ftp/filezilla/filezilla-3.67.0-r1.ebuild77
2 files changed, 747 insertions, 0 deletions
diff --git a/net-ftp/filezilla/files/filezilla-3.67.0-odr.patch b/net-ftp/filezilla/files/filezilla-3.67.0-odr.patch
new file mode 100644
index 000000000000..ec6af91b56cb
--- /dev/null
+++ b/net-ftp/filezilla/files/filezilla-3.67.0-odr.patch
@@ -0,0 +1,670 @@
+https://bugs.gentoo.org/927178#c3
+
+No upstream bug link -- their trac was temporarily down so I had to send the
+report in via email.
+
+Revision exported from:
+
+```
+svn diff -c 11167 https://svn.filezilla-project.org/svn/FileZilla3
+```
+
+https://svn.filezilla-project.org/filezilla?view=revision&revision=11167
+
+
+Index: trunk/src/engine/storj/delete.cpp
+===================================================================
+--- trunk/src/engine/storj/delete.cpp (revision 11166)
++++ trunk/src/engine/storj/delete.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "../directorycache.h"
+ #include "delete.h"
+
++namespace {
+ enum DeleteStates
+ {
+ delete_init,
+@@ -9,6 +10,7 @@
+ delete_resolve,
+ delete_delete
+ };
++}
+
+ int CStorjDeleteOpData::Send()
+ {
+Index: trunk/src/engine/storj/list.cpp
+===================================================================
+--- trunk/src/engine/storj/list.cpp (revision 11166)
++++ trunk/src/engine/storj/list.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "../directorycache.h"
+ #include "list.h"
+
++namespace {
+ enum listStates
+ {
+ list_init = 0,
+@@ -9,6 +10,7 @@
+ list_waitlock,
+ list_list
+ };
++}
+
+ int CStorjListOpData::Send()
+ {
+Index: trunk/src/engine/storj/rmd.cpp
+===================================================================
+--- trunk/src/engine/storj/rmd.cpp (revision 11166)
++++ trunk/src/engine/storj/rmd.cpp (revision 11167)
+@@ -5,6 +5,7 @@
+
+ #include <assert.h>
+
++namespace {
+ enum mkdStates
+ {
+ rmd_init = 0,
+@@ -11,8 +12,8 @@
+ rmd_rmbucket,
+ rmd_rmdir
+ };
++}
+
+-
+ int CStorjRemoveDirOpData::Send()
+ {
+ switch (opState) {
+Index: trunk/src/engine/ftp/chmod.cpp
+===================================================================
+--- trunk/src/engine/ftp/chmod.cpp (revision 11166)
++++ trunk/src/engine/ftp/chmod.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "chmod.h"
+ #include "../directorycache.h"
+
++namespace {
+ enum chmodStates
+ {
+ chmod_init,
+@@ -9,6 +10,7 @@
+ chmod_waitcwd,
+ chmod_chmod
+ };
++}
+
+ int CFtpChmodOpData::Send()
+ {
+Index: trunk/src/engine/ftp/cwd.cpp
+===================================================================
+--- trunk/src/engine/ftp/cwd.cpp (revision 11166)
++++ trunk/src/engine/ftp/cwd.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "cwd.h"
+ #include "../pathcache.h"
+
++namespace {
+ enum cwdStates
+ {
+ cwd_init = 0,
+@@ -12,6 +13,7 @@
+ cwd_cwd_subdir,
+ cwd_pwd_subdir
+ };
++}
+
+ int CFtpChangeDirOpData::Send()
+ {
+Index: trunk/src/engine/ftp/delete.cpp
+===================================================================
+--- trunk/src/engine/ftp/delete.cpp (revision 11166)
++++ trunk/src/engine/ftp/delete.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "delete.h"
+ #include "../directorycache.h"
+
++namespace {
+ enum rmdStates
+ {
+ del_init,
+@@ -9,6 +10,7 @@
+ del_waitcwd,
+ del_del
+ };
++}
+
+ int CFtpDeleteOpData::Send()
+ {
+Index: trunk/src/engine/ftp/filetransfer.cpp
+===================================================================
+--- trunk/src/engine/ftp/filetransfer.cpp (revision 11166)
++++ trunk/src/engine/ftp/filetransfer.cpp (revision 11167)
+@@ -12,6 +12,22 @@
+
+ #include <assert.h>
+
++namespace {
++enum filetransferStates
++{
++ filetransfer_init = 0,
++ filetransfer_waitcwd,
++ filetransfer_waitlist,
++ filetransfer_size,
++ filetransfer_mdtm,
++ filetransfer_resumetest,
++ filetransfer_transfer,
++ filetransfer_waittransfer,
++ filetransfer_waitresumetest,
++ filetransfer_mfmt
++};
++}
++
+ CFtpFileTransferOpData::CFtpFileTransferOpData(CFtpControlSocket& controlSocket, CFileTransferCommand const& cmd)
+ : CFileTransferOpData(L"CFtpFileTransferOpData", cmd)
+ , CFtpOpData(controlSocket)
+Index: trunk/src/engine/ftp/filetransfer.h
+===================================================================
+--- trunk/src/engine/ftp/filetransfer.h (revision 11166)
++++ trunk/src/engine/ftp/filetransfer.h (revision 11167)
+@@ -3,20 +3,6 @@
+
+ #include "ftpcontrolsocket.h"
+
+-enum filetransferStates
+-{
+- filetransfer_init = 0,
+- filetransfer_waitcwd,
+- filetransfer_waitlist,
+- filetransfer_size,
+- filetransfer_mdtm,
+- filetransfer_resumetest,
+- filetransfer_transfer,
+- filetransfer_waittransfer,
+- filetransfer_waitresumetest,
+- filetransfer_mfmt
+-};
+-
+ class CFtpFileTransferOpData final : public CFileTransferOpData, public CFtpTransferOpData, public CFtpOpData
+ {
+ public:
+Index: trunk/src/engine/ftp/ftpcontrolsocket.cpp
+===================================================================
+--- trunk/src/engine/ftp/ftpcontrolsocket.cpp (revision 11166)
++++ trunk/src/engine/ftp/ftpcontrolsocket.cpp (revision 11167)
+@@ -34,6 +34,9 @@
+
+ #include <assert.h>
+
++using namespace ftpLogonStates;
++using namespace FtpRawTransferStates;
++
+ CFtpControlSocket::CFtpControlSocket(CFileZillaEnginePrivate & engine)
+ : CRealControlSocket(engine)
+ {
+Index: trunk/src/engine/ftp/list.cpp
+===================================================================
+--- trunk/src/engine/ftp/list.cpp (revision 11166)
++++ trunk/src/engine/ftp/list.cpp (revision 11167)
+@@ -9,6 +9,15 @@
+ #include <assert.h>
+
+ namespace {
++enum listStates
++{
++ list_init,
++ list_waitcwd,
++ list_waitlock,
++ list_waittransfer,
++ list_mdtm
++};
++
+ // Some servers are broken. Instead of an empty listing, some MVS servers
+ // for example they return "550 no members found"
+ // Other servers return "550 No files found."
+Index: trunk/src/engine/ftp/list.h
+===================================================================
+--- trunk/src/engine/ftp/list.h (revision 11166)
++++ trunk/src/engine/ftp/list.h (revision 11167)
+@@ -6,15 +6,6 @@
+
+ class CDirectoryListingParser;
+
+-enum listStates
+-{
+- list_init,
+- list_waitcwd,
+- list_waitlock,
+- list_waittransfer,
+- list_mdtm
+-};
+-
+ class CFtpListOpData final : public COpData, public CFtpOpData, public CFtpTransferOpData
+ {
+ public:
+Index: trunk/src/engine/ftp/logon.cpp
+===================================================================
+--- trunk/src/engine/ftp/logon.cpp (revision 11166)
++++ trunk/src/engine/ftp/logon.cpp (revision 11167)
+@@ -10,6 +10,7 @@
+ #include "../../include/engine_options.h"
+
+ using namespace std::literals;
++using namespace ftpLogonStates;
+
+ CFtpLogonOpData::CFtpLogonOpData(CFtpControlSocket& controlSocket)
+ : COpData(Command::connect, L"CFtpLogonOpData")
+Index: trunk/src/engine/ftp/logon.h
+===================================================================
+--- trunk/src/engine/ftp/logon.h (revision 11166)
++++ trunk/src/engine/ftp/logon.h (revision 11167)
+@@ -3,27 +3,27 @@
+
+ #include "ftpcontrolsocket.h"
+
+-enum loginStates
+-{
+- LOGON_CONNECT,
+- LOGON_WELCOME,
+- LOGON_AUTH_TLS,
+- LOGON_AUTH_SSL,
+- LOGON_AUTH_WAIT,
+- LOGON_SECURITY,
+- LOGON_LOGON,
+- LOGON_SYST,
+- LOGON_FEAT,
+- LOGON_CLNT,
+- LOGON_OPTSUTF8,
+- LOGON_PBSZ,
+- LOGON_PROT,
+- LOGON_OPTSMLST,
+- LOGON_CUSTOMCOMMANDS,
+- LOGON_DONE
++namespace ftpLogonStates {
++enum type {
++ LOGON_CONNECT,
++ LOGON_WELCOME,
++ LOGON_AUTH_TLS,
++ LOGON_AUTH_SSL,
++ LOGON_AUTH_WAIT,
++ LOGON_SECURITY,
++ LOGON_LOGON,
++ LOGON_SYST,
++ LOGON_FEAT,
++ LOGON_CLNT,
++ LOGON_OPTSUTF8,
++ LOGON_PBSZ,
++ LOGON_PROT,
++ LOGON_OPTSMLST,
++ LOGON_CUSTOMCOMMANDS,
++ LOGON_DONE
+ };
++}
+
+-
+ enum class loginCommandType
+ {
+ user,
+@@ -73,7 +73,7 @@
+
+ unsigned int customCommandIndex{};
+
+- int neededCommands[LOGON_DONE]{};
++ int neededCommands[ftpLogonStates::LOGON_DONE]{};
+
+ std::deque<t_loginCommand> loginSequence;
+
+Index: trunk/src/engine/ftp/mkd.cpp
+===================================================================
+--- trunk/src/engine/ftp/mkd.cpp (revision 11166)
++++ trunk/src/engine/ftp/mkd.cpp (revision 11167)
+@@ -5,6 +5,7 @@
+
+ using namespace std::literals;
+
++namespace {
+ enum mkdStates
+ {
+ mkd_init = 0,
+@@ -13,6 +14,7 @@
+ mkd_cwdsub,
+ mkd_tryfull
+ };
++}
+
+ /* Directory creation works like this: First find a parent directory into
+ * which we can CWD, then create the subdirs one by one. If either part
+Index: trunk/src/engine/ftp/rawtransfer.cpp
+===================================================================
+--- trunk/src/engine/ftp/rawtransfer.cpp (revision 11166)
++++ trunk/src/engine/ftp/rawtransfer.cpp (revision 11167)
+@@ -7,7 +7,7 @@
+
+ #include <libfilezilla/iputils.hpp>
+
+-#include <assert.h>
++using namespace FtpRawTransferStates;
+
+ int CFtpRawTransferOpData::Send()
+ {
+@@ -423,7 +423,6 @@
+ {
+ std::wstring ret = L"PASV";
+
+- assert(bPasv);
+ bTriedPasv = true;
+
+ if (controlSocket_.proxy_layer_) {
+Index: trunk/src/engine/ftp/rawtransfer.h
+===================================================================
+--- trunk/src/engine/ftp/rawtransfer.h (revision 11166)
++++ trunk/src/engine/ftp/rawtransfer.h (revision 11167)
+@@ -3,18 +3,20 @@
+
+ #include "ftpcontrolsocket.h"
+
+-enum rawtransferStates
++namespace FtpRawTransferStates {
++enum type
+ {
+- rawtransfer_init = 0,
+- rawtransfer_type,
+- rawtransfer_port_pasv,
+- rawtransfer_rest,
+- rawtransfer_transfer,
+- rawtransfer_waitfinish,
+- rawtransfer_waittransferpre,
+- rawtransfer_waittransfer,
+- rawtransfer_waitsocket
++ rawtransfer_init = 0,
++ rawtransfer_type,
++ rawtransfer_port_pasv,
++ rawtransfer_rest,
++ rawtransfer_transfer,
++ rawtransfer_waitfinish,
++ rawtransfer_waittransferpre,
++ rawtransfer_waittransfer,
++ rawtransfer_waitsocket
+ };
++}
+
+ class CFtpRawTransferOpData final : public COpData, public CFtpOpData
+ {
+Index: trunk/src/engine/ftp/rename.cpp
+===================================================================
+--- trunk/src/engine/ftp/rename.cpp (revision 11166)
++++ trunk/src/engine/ftp/rename.cpp (revision 11167)
+@@ -4,6 +4,7 @@
+ #include "../directorycache.h"
+ #include "../pathcache.h"
+
++namespace {
+ enum renameStates
+ {
+ rename_init,
+@@ -11,6 +12,7 @@
+ rename_rnfrom,
+ rename_rnto
+ };
++}
+
+ int CFtpRenameOpData::Send()
+ {
+Index: trunk/src/engine/ftp/rmd.cpp
+===================================================================
+--- trunk/src/engine/ftp/rmd.cpp (revision 11166)
++++ trunk/src/engine/ftp/rmd.cpp (revision 11167)
+@@ -4,6 +4,7 @@
+ #include "../directorycache.h"
+ #include "../pathcache.h"
+
++namespace {
+ enum rmdStates
+ {
+ rmd_init,
+@@ -10,6 +11,7 @@
+ rmd_waitcwd,
+ rmd_rmd
+ };
++}
+
+ int CFtpRemoveDirOpData::Send()
+ {
+Index: trunk/src/engine/http/filetransfer.cpp
+===================================================================
+--- trunk/src/engine/http/filetransfer.cpp (revision 11166)
++++ trunk/src/engine/http/filetransfer.cpp (revision 11167)
+@@ -7,6 +7,7 @@
+ #include <assert.h>
+ #include <string.h>
+
++namespace {
+ enum filetransferStates
+ {
+ filetransfer_init = 0,
+@@ -13,6 +14,7 @@
+ filetransfer_transfer,
+ filetransfer_waittransfer
+ };
++}
+
+ CHttpFileTransferOpData::CHttpFileTransferOpData(CHttpControlSocket & controlSocket, CFileTransferCommand const& cmd)
+ : CFileTransferOpData(L"CHttpFileTransferOpData", cmd)
+Index: trunk/src/engine/sftp/chmod.cpp
+===================================================================
+--- trunk/src/engine/sftp/chmod.cpp (revision 11166)
++++ trunk/src/engine/sftp/chmod.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "chmod.h"
+ #include "../directorycache.h"
+
++namespace {
+ enum chmodStates
+ {
+ chmod_init,
+@@ -9,6 +10,7 @@
+ chmod_waitcwd,
+ chmod_chmod
+ };
++}
+
+ int CSftpChmodOpData::Send()
+ {
+Index: trunk/src/engine/sftp/connect.cpp
+===================================================================
+--- trunk/src/engine/sftp/connect.cpp (revision 11166)
++++ trunk/src/engine/sftp/connect.cpp (revision 11167)
+@@ -21,6 +21,7 @@
+ #include <sys/mman.h>
+ #endif
+
++namespace {
+ enum connectStates
+ {
+ connect_init,
+@@ -28,6 +29,7 @@
+ connect_keys,
+ connect_open
+ };
++}
+
+ int CSftpConnectOpData::Send()
+ {
+Index: trunk/src/engine/sftp/cwd.cpp
+===================================================================
+--- trunk/src/engine/sftp/cwd.cpp (revision 11166)
++++ trunk/src/engine/sftp/cwd.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "cwd.h"
+ #include "../pathcache.h"
+
++namespace {
+ enum cwdStates
+ {
+ cwd_init = 0,
+@@ -10,6 +11,7 @@
+ cwd_cwd,
+ cwd_cwd_subdir
+ };
++}
+
+ int CSftpChangeDirOpData::Send()
+ {
+Index: trunk/src/engine/sftp/filetransfer.cpp
+===================================================================
+--- trunk/src/engine/sftp/filetransfer.cpp (revision 11166)
++++ trunk/src/engine/sftp/filetransfer.cpp (revision 11167)
+@@ -10,6 +10,7 @@
+
+ #include <assert.h>
+
++namespace {
+ enum filetransferStates
+ {
+ filetransfer_init = 0,
+@@ -19,6 +20,7 @@
+ filetransfer_transfer,
+ filetransfer_chmtime
+ };
++}
+
+ CSftpFileTransferOpData::~CSftpFileTransferOpData()
+ {
+Index: trunk/src/engine/sftp/list.cpp
+===================================================================
+--- trunk/src/engine/sftp/list.cpp (revision 11166)
++++ trunk/src/engine/sftp/list.cpp (revision 11167)
+@@ -5,6 +5,7 @@
+
+ #include <assert.h>
+
++namespace {
+ enum listStates
+ {
+ list_init = 0,
+@@ -12,6 +13,7 @@
+ list_waitlock,
+ list_list
+ };
++}
+
+ int CSftpListOpData::Send()
+ {
+Index: trunk/src/engine/sftp/mkd.cpp
+===================================================================
+--- trunk/src/engine/sftp/mkd.cpp (revision 11166)
++++ trunk/src/engine/sftp/mkd.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "../directorycache.h"
+ #include "mkd.h"
+
++namespace {
+ enum mkdStates
+ {
+ mkd_init = 0,
+@@ -11,6 +12,7 @@
+ mkd_cwdsub,
+ mkd_tryfull
+ };
++}
+
+ /* Directory creation works like this: First find a parent directory into
+ * which we can CWD, then create the subdirs one by one. If either part
+Index: trunk/src/engine/sftp/rename.cpp
+===================================================================
+--- trunk/src/engine/sftp/rename.cpp (revision 11166)
++++ trunk/src/engine/sftp/rename.cpp (revision 11167)
+@@ -4,6 +4,7 @@
+ #include "../pathcache.h"
+ #include "rename.h"
+
++namespace {
+ enum renameStates
+ {
+ rename_init,
+@@ -10,6 +11,7 @@
+ rename_waitcwd,
+ rename_rename
+ };
++}
+
+ int CSftpRenameOpData::Send()
+ {
+Index: trunk/src/engine/storj/connect.cpp
+===================================================================
+--- trunk/src/engine/storj/connect.cpp (revision 11166)
++++ trunk/src/engine/storj/connect.cpp (revision 11167)
+@@ -22,6 +22,16 @@
+ #include <sys/mman.h>
+ #endif
+
++namespace {
++enum connectStates
++{
++ connect_init,
++ connect_host,
++ connect_user,
++ connect_pass
++};
++}
++
+ int CStorjConnectOpData::Send()
+ {
+ switch (opState)
+Index: trunk/src/engine/storj/connect.h
+===================================================================
+--- trunk/src/engine/storj/connect.h (revision 11166)
++++ trunk/src/engine/storj/connect.h (revision 11167)
+@@ -3,14 +3,6 @@
+
+ #include "storjcontrolsocket.h"
+
+-enum connectStates
+-{
+- connect_init,
+- connect_host,
+- connect_user,
+- connect_pass
+-};
+-
+ class CStorjConnectOpData final : public COpData, public CStorjOpData
+ {
+ public:
+Index: trunk/src/engine/storj/file_transfer.cpp
+===================================================================
+--- trunk/src/engine/storj/file_transfer.cpp (revision 11166)
++++ trunk/src/engine/storj/file_transfer.cpp (revision 11167)
+@@ -7,6 +7,7 @@
+ #include <libfilezilla/local_filesys.hpp>
+ #include <libfilezilla/process.hpp>
+
++namespace {
+ enum FileTransferStates
+ {
+ filetransfer_init,
+@@ -15,6 +16,7 @@
+ filetransfer_delete,
+ filetransfer_transfer
+ };
++}
+
+ CStorjFileTransferOpData::~CStorjFileTransferOpData()
+ {
+Index: trunk/src/engine/storj/mkd.cpp
+===================================================================
+--- trunk/src/engine/storj/mkd.cpp (revision 11166)
++++ trunk/src/engine/storj/mkd.cpp (revision 11167)
+@@ -3,6 +3,7 @@
+ #include "../directorycache.h"
+ #include "mkd.h"
+
++namespace {
+ enum mkdStates
+ {
+ mkd_init = 0,
+@@ -9,6 +10,7 @@
+ mkd_mkbucket,
+ mkd_put
+ };
++}
+
+ int CStorjMkdirOpData::Send()
+ {
diff --git a/net-ftp/filezilla/filezilla-3.67.0-r1.ebuild b/net-ftp/filezilla/filezilla-3.67.0-r1.ebuild
new file mode 100644
index 000000000000..5c66ad26eef6
--- /dev/null
+++ b/net-ftp/filezilla/filezilla-3.67.0-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.2-gtk3"
+
+inherit autotools flag-o-matic wxwidgets xdg
+
+MY_PV="${PV/_/-}"
+MY_P="FileZilla_${MY_PV}"
+
+DESCRIPTION="FTP client with lots of useful features and an intuitive interface"
+HOMEPAGE="https://filezilla-project.org/"
+SRC_URI="https://download.filezilla-project.org/client/${MY_P}_src.tar.xz"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="cpu_flags_x86_sse2 dbus nls test"
+RESTRICT="!test? ( test )"
+
+# pugixml 1.7 minimal dependency is for c++11 proper configuration
+RDEPEND="
+ >=dev-libs/nettle-3.1:=
+ >=dev-db/sqlite-3.7
+ >=dev-libs/boost-1.76.0:=
+ >=dev-libs/libfilezilla-0.47.0:=
+ >=dev-libs/pugixml-1.7
+ >=net-libs/gnutls-3.5.7
+ x11-libs/wxGTK:${WX_GTK_VER}[X]
+ x11-misc/xdg-utils
+ dbus? ( sys-apps/dbus )"
+DEPEND="${RDEPEND}
+ test? ( >=dev-util/cppunit-1.13.0 )"
+BDEPEND="
+ virtual/pkgconfig
+ >=dev-build/libtool-1.4
+ nls? ( >=sys-devel/gettext-0.11 )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.22.1-debug.patch
+ "${FILESDIR}"/${PN}-3.47.0-metainfo.patch
+ "${FILESDIR}"/${PN}-3.47.0-disable-shellext_conf.patch
+ "${FILESDIR}"/${PN}-3.52.2-slibtool.patch
+ "${FILESDIR}"/${PN}-3.60.1-desktop.patch
+ # backport patch for ODR
+ "${FILESDIR}"/filezilla-3.67.0-odr.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ if use x86 && ! use cpu_flags_x86_sse2; then
+ append-cppflags -D_FORCE_SOFTWARE_SHA
+ fi
+ setup-wxwidgets
+
+ local myeconfargs=(
+ --disable-autoupdatecheck
+ --with-pugixml=system
+ $(use_enable nls locales)
+ $(use_with dbus)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}