ports/141668: security/keepassx: unbreak with qt>=4.4.0
Dima Panov
fluffy at FreeBSD.org
Wed Dec 16 04:40:06 UTC 2009
>Number: 141668
>Category: ports
>Synopsis: security/keepassx: unbreak with qt>=4.4.0
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Wed Dec 16 04:40:06 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Dima Panov
>Release: FreeBSD 9.0-900004-CURRENT amd64
>Organization:
Fluffy.Khv.RU
>Environment:
System: FreeBSD 9.0-900004-CURRENT #0: Mon Dec 7 14:03:42 VLAT 2009
fluffy at Fluffy.Khv.RU:/usr/obj/usr/src/sys/Spot
>Description:
security/keepassx: unbreak with qt>=4.4.0
patch backported from keepassx svn repository
>How-To-Repeat:
>Fix:
--- keepassx.diff begins here ---
diff -urN security/keepassx.orig/files/patch-from-trunk security/keepassx/files/patch-from-trunk
--- security/keepassx.orig/files/patch-from-trunk 1970-01-01 10:00:00.000000000 +1000
+++ security/keepassx/files/patch-from-trunk 2009-12-15 22:08:43.000000000 +1000
@@ -0,0 +1,77 @@
+diff -urN --exclude=.svn ./CMakeLists.txt ./CMakeLists.txt
+--- ./CMakeLists.txt 2009-03-20 06:54:20.000000000 +1000
++++ ./CMakeLists.txt 2009-12-15 20:50:23.915416903 +1000
+@@ -70,8 +70,8 @@
+ find_package(X11)
+
+ IF( X11_XTest_FOUND )
+- INCLUDE_DIRECTORIES( ${X11_XTest_INCLUDE_PATH} )
+- SET(AUTOTYPE_LIBRARIES ${X11_XTest_LIB})
++ INCLUDE_DIRECTORIES( ${X11_X11_INCLUDE_PATH} ${X11_XTest_INCLUDE_PATH} )
++ SET(AUTOTYPE_LIBRARIES ${X11_X11_LIB} ${X11_XTest_LIB})
+ ADD_DEFINITIONS(-DAUTOTYPE -DGLOBAL_AUTOTYPE)
+ ELSE( X11_XTest_FOUND )
+ SET(AUTOTYPE FALSE)
+diff -urN --exclude=.svn ./src/Database.h ./src/Database.h
+--- ./src/Database.h 2009-03-18 22:09:20.000000000 +1000
++++ ./src/Database.h 2009-12-15 20:50:22.627407114 +1000
+@@ -233,7 +233,7 @@
+ /*!
+ This is the common base interface for databases. Every database class must implement this interface necessarily.
+ */
+-class IDatabase:public QObject{
++class IDatabase{
+ public:
+ virtual ~IDatabase(){};
+
+diff -urN --exclude=.svn ./src/Kdb3Database.cpp ./src/Kdb3Database.cpp
+--- ./src/Kdb3Database.cpp 2009-08-29 03:22:44.000000000 +1100
++++ ./src/Kdb3Database.cpp 2009-12-15 20:50:22.627407114 +1000
+@@ -609,6 +609,7 @@
+
+ if ((crypto_size > 2147483446) || (!crypto_size && NumGroups)){
+ error=tr("Decryption failed.\nThe key is wrong or the file is damaged.");
++ KeyError=true;
+ LOAD_RETURN_CLEANUP
+ }
+ SHA256::hashBuffer(buffer+DB_HEADER_SIZE,FinalKey,crypto_size);
+diff -urN --exclude=.svn ./src/lib/FileDialogs.cpp ./src/lib/FileDialogs.cpp
+--- ./src/lib/FileDialogs.cpp 2008-03-13 06:37:54.000000000 +1000
++++ ./src/lib/FileDialogs.cpp 2009-12-15 20:50:19.906387263 +1000
+@@ -18,6 +18,9 @@
+ ***************************************************************************/
+
+ #include <QFileDialog>
++#if QT_VERSION >= 0x040400
++ #include <QDesktopServices>
++#endif
+
+ IFileDialog* KpxFileDialogs::iFileDialog=NULL;
+ QtStandardFileDialogs DefaultQtDlgs;
+@@ -146,8 +149,13 @@
+
+ QString FileDlgHistory::getDir(const QString& name){
+ Entry e=History.value(name);
+- if(e.isNull())
++ if(e.isNull()) {
++#if QT_VERSION >= 0x040400
++ return QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation);
++#else
+ return QDir::homePath();
++#endif
++ }
+ else
+ return e.Dir;
+ }
+diff -urN --exclude=.svn ./src/src.pro ./src/src.pro
+--- ./src/src.pro 2009-09-14 01:54:12.000000000 +1100
++++ ./src/src.pro 2009-12-15 20:50:22.624407012 +1000
+@@ -63,7 +63,7 @@
+ INSTALLS += shareapp shararemime sharemimelnk sharepixmaps
+
+ contains(DEFINES,AUTOTYPE){
+- LIBS += -lXtst
++ LIBS += -lX11 -lXtst
+ SOURCES += lib/HelperX11.cpp lib/AutoTypeX11.cpp
+ HEADERS += lib/HelperX11.h lib/AutoTypeX11.h
+ }
--- keepassx.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list