commit:     6c33a435474c05703d8f93eed28d639b8269616e
Author:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 10 03:15:12 2024 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Wed Jul 10 07:55:49 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c33a435

net-ftp/filezilla: backport patch to fix ODR violations

Closes: https://bugs.gentoo.org/927178
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>

 net-ftp/filezilla/files/filezilla-3.67.0-odr.patch | 670 +++++++++++++++++++++
 net-ftp/filezilla/filezilla-3.67.0-r1.ebuild       |  77 +++
 2 files changed, 747 insertions(+)

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
+}

Reply via email to