Add keepassx recipe

This commit is contained in:
Chris Roberts
2013-11-28 03:01:25 -07:00
parent 0602d0d99b
commit f8b6827ae3
3 changed files with 253 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY;
resource app_version {
major = 2,
middle = 0,
minor = 0,
variety = B_APPV_ALPHA,
internal = 4,
short_info = "Qt password manager",
long_info = ""
};
resource app_signature "application/x-vnd.keepassx";
resource file_types message;
resource vector_icon {
$"6E6369660404007F050005FF0200060240810E3D757BBD7874408335CB76E94C"
$"216A00226E23FF63AB3A0A0216B40BCB63B40BCB63B40BCB63B46ECB70B46ECB"
$"70B4EFCB9DB548CB85B4D5CB85B548CB85B8DCCB80B8DCCB80B91ECB8130CAD0"
$"B932CB00BA04CA25BAE7C959BA57C9B3BAE7C959BD80C944BD80C944BE02C943"
$"BEC6C8BCBEC6C940BEC6C8BCBF65C858BF65C858BF65C858C219CB19C219CB19"
$"C245CB46C2BECB6CC280CB61C2BECB6CC339CB8CC339CB8CC483CB89C71DCB73"
$"C594CB75C79FCB73C809CAC9C7B9CB37C7EBC943C7EDC638C7FAC74CC7E4C5F6"
$"C79AC587C7C9C5B7C6DFC4C8C4D9C289C594C348C6C0C206C979C019C840C128"
$"CAB3BF0BCB8DBBC8CB8DBDBECB8D32CADBB78ECB7CB8C2CAD9B78BCAD7B786CA"
$"D9B788C8B0B76FB40BCB63AFA4CB42B40BCB63021CC3F6B334C3F6B334BFF3B3"
$"34BC9ABA9DBCA5B687BB4AB948B8B0B69CB9FAB7F2B882B66BB7FCB64FB83FB6"
$"4FB7FCB64FB430B64FB430B64FB3ADB64FB335B74FB335B6C9B335B74FB335BB"
$"36B335BB36B335BB7AB380BBEDB351BBBEB51ABD8AB848C0CCB6AFBF2BB848C0"
$"CCB37EC5ADB37EC5ADB350C5DCB335C660B335C61EB335C660B335CA3DB335CA"
$"3DB335CAC3B430CB3DB3ADCB3DB430CB3DB804CB3DB804CB3DB847CB3DB8B8CA"
$"F0B889CB21B95ECA43BAB457BA09C997BAB457BD5857BD5857BDDB57BE53C7EB"
$"BE53C871BE53C7EBBE53C6F3BE53C6F3BE53C6F3C23FCAF2C23FCAF2C26ECB21"
$"C2F1CB3DC2AFCB3DC2F1CB3DC6C3CB3DC6C3CB3DC747CB3DC7BECA3DC7BECAC3"
$"C7BECA3DC7BEC660C7BEC660C7BEC61EC775C5ADC7A3C5DCC652C484C40CC230"
$"C52FC35AC80D46CB4FBAB1CB4FBEC7CB4FB694C3F6B334C7FFB334C3F6B33406"
$"17FFF3F7F4FC3FC3F6B433C3F6B433C075B433BD93BAB1BD93B71EBD93BB54BD"
$"DEBC82BDB3BBEEBDDEBC82BD7ABCE9BD7ABCE9BBA7BB09B7FCB74FB9CCB931B7"
$"FCB74FB430B430BB36B430BB36B606BD10B9ABC0CAB7D8BEEEB7D8C2A7B430C6"
$"60B604C483B430C660CA3DB804CA3DB804CA3DB8C5C975BA4BC7EBB989C8B0BA"
$"4BC7EBBD58C4DDBDABC4DDBDABC4DDBF6DC6A8C2F1CA3DC12FC872C2F1CA3DC6"
$"C3C6C3C660C6C3C660C4F0C483C14AC0CAC31DC2A7C14AC0CAC16CC0A8C16CC0"
$"A8C234C100C3F6C133C310C133C778C133CA54BAB1CA54BE43CA54B71FC3F6B4"
$"33C776B433C3F6B4330603378000C34B8000C3488000C34BC34F8000C34F8000"
$"C34F8000C34C0603338000B0028000AD1E8000B00280008000AFFE8000AFFE80"
$"00AA520617BF928684E43FC3F6B591C3F6B591C12DB591BEEABAB1BEEAB7DBBE"
$"EABB79BF65BCE1BF17BC37BF65BCE1BD7ABED5B76EB8ACB587BAA5BB8FC0CAB5"
$"87C6EFC8E0B776B9BCC68FBC03C380BE38C37EC8E0C56DC6EFBF65C0CAC12BBE"
$"FBC12BBEFBC1F8BF85C3F6BFD6C2EEBFD6C6BEBFD6C8FEBAB1C8FEBD87C8FEB7"
$"DBC3F6B591C6BEB591C3F6B5910204C7AABA18C7AAB8D1C7AA35C582BC68C6B3"
$"BC68C451BC68C35ABA18C35A35C35AB8D1C5822CC4512CC6B32C0204C7AABA18"
$"C7AAB8D1C7AA35C582BC68C6B3BC68C451BC68C35ABA18C35A35C35AB8D1C582"
$"2CC4512CC6B32C0204C710B9C8C710B8DCC710BAB3C56BBB73C654BB73C482BB"
$"73C3C5B9C8C3C5BAB3C3C5B8DCC56BB81DC482B81DC654B81D0204C710B9C8C7"
$"10B8DCC710BAB3C56BBB73C654BB73C482BB73C3C5B9C8C3C5BAB3C3C5B8DCC5"
$"6BB81DC482B81DC654B81D080A000100000A010101000A0203020304000A0301"
$"05000A010106000A0101071001178000040A020108000A010109100117800004"
};

View File

@@ -0,0 +1,88 @@
SUMMARY="Qt password manager"
DESCRIPTION="
KeePassX is an application for people with extremly high demands on
secure personal data management. It has a light interface, is cross
platform and published under the terms of the GNU General Public
License.
KeePassX saves many different information e.g. user names, passwords,
urls, attachments and comments in one single database. For a better
management user-defined titles and icons can be specified for each
single entry. Furthermore the entries are sorted in groups, which are
customizable as well. The integrated search function allows to search
in a single group or the complete database.
KeePassX offers a little utility for secure password generation. The
password generator is very customizable, fast and easy to use.
Especially someone who generates passwords frequently will appreciate
this feature.
"
HOMEPAGE="http://www.keepassx.org/"
SRC_URI="git+https://github.com/keepassx/keepassx.git#755241df5c"
COPYRIGHT="
2010-2012, Felix Geyer
2011-2012, Florian Geyer
2012, Tobias Tangemann
2007, Trolltech ASA
2012, Intel Corporation
2012, Nokia Corporation and/or its subsidiary(-ies)
2000-2008, Tom Sato
"
LICENSE="GNU GPL v2"
REVISION="1"
ARCHITECTURES="x86"
PROVIDES="
keepassx = $portVersion
cmd:keepassx = $portVersion
"
REQUIRES="
haiku >= $haikuVersion
lib:libgcrypt
lib:libQtCore
lib:libQtGui
lib:libz
"
BUILD_REQUIRES="
haiku_devel >= $haikuVersion
devel:libz
devel:libgcrypt
devel:libQtCore
devel:libQtGui
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:make
cmd:g++
cmd:qmake
cmd:moc
cmd:xres
"
PATCHES="keepassx-2.0a4.git.patchset"
BUILD()
{
cmake -DCMAKE_INSTALL_PREFIX=$prefix \
-DCMAKE_INSTALL_DATAROOTDIR=$dataDir \
-DWITH_TESTS=off .
make $jobArgs
rc $portDir/additional-files/keepassx.rdef \
-o $sourceDir/src/keepassx.rsrc
xres -o $sourceDir/src/keepassx $sourceDir/src/keepassx.rsrc
mimeset -f $sourceDir/src/keepassx
}
INSTALL()
{
make install
addAppDeskbarSymlink $binDir/keepassx KeePassX
}

View File

@@ -0,0 +1,103 @@
From a31497e5c3979dcbe76dd3df98db191506f6f26e Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Thu, 28 Nov 2013 01:27:03 -0700
Subject: Add Haiku support
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3ec6023..1acfb25 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -148,7 +148,7 @@ if(WITH_TESTS)
endif(WITH_TESTS)
set(QT_REQUIRED_MODULES QtCore QtGui QtTest)
-if(UNIX AND NOT APPLE)
+if(UNIX AND NOT APPLE AND NOT HAIKU)
set(QT_REQUIRED_MODULES ${QT_REQUIRED_MODULES} QtDBus)
endif()
diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt
index 06b6a52..930a0cd 100644
--- a/share/CMakeLists.txt
+++ b/share/CMakeLists.txt
@@ -17,11 +17,11 @@ file(GLOB DATABASE_ICONS icons/database/*.png)
install(FILES ${DATABASE_ICONS} DESTINATION ${DATA_INSTALL_DIR}/icons/database)
-if(UNIX AND NOT APPLE)
+if(UNIX AND NOT APPLE AND NOT HAIKU)
install(DIRECTORY icons/application/ DESTINATION share/icons/hicolor
FILES_MATCHING PATTERN "keepassx.png" PATTERN "keepassx.svgz")
install(FILES linux/keepassx.desktop DESTINATION share/applications)
-endif(UNIX AND NOT APPLE)
+endif(UNIX AND NOT APPLE AND NOT HAIKU)
if(APPLE)
install(FILES macosx/keepassx.icns DESTINATION ${DATA_INSTALL_DIR})
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 176ecb3..4facf63 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -216,7 +216,7 @@ target_link_libraries(${PROGNAME}
${GCRYPT_LIBRARIES}
${ZLIB_LIBRARIES})
-if(UNIX AND NOT APPLE)
+if(UNIX AND NOT APPLE AND NOT HAIKU)
target_link_libraries(${PROGNAME} ${QT_QTDBUS_LIBRARY})
endif()
diff --git a/src/config-keepassx.h.cmake b/src/config-keepassx.h.cmake
index 479a5f6..0841d21 100644
--- a/src/config-keepassx.h.cmake
+++ b/src/config-keepassx.h.cmake
@@ -9,6 +9,8 @@
#define KEEPASSX_PLUGIN_DIR "${PLUGIN_INSTALL_DIR}"
+#define KEEPASSX_DATA_DIR "${DATA_INSTALL_DIR}"
+
#cmakedefine HAVE_PR_SET_DUMPABLE 1
#cmakedefine HAVE_RLIMIT_CORE 1
#cmakedefine HAVE_PT_DENY_ATTACH 1
diff --git a/src/core/FilePath.cpp b/src/core/FilePath.cpp
index dd300ec..968269f 100644
--- a/src/core/FilePath.cpp
+++ b/src/core/FilePath.cpp
@@ -137,6 +137,10 @@ FilePath::FilePath()
else if (testSetDir(QCoreApplication::applicationDirPath() + "/share")) {
}
#endif
+#ifdef KEEPASSX_DATA_DIR
+ else if (testSetDir(QString(KEEPASSX_DATA_DIR))) {
+ }
+#endif
if (m_dataPath.isEmpty()) {
qWarning("FilePath::DataPath: can't find data dir");
diff --git a/src/gui/Clipboard.cpp b/src/gui/Clipboard.cpp
index eb77d2b..958eacb 100644
--- a/src/gui/Clipboard.cpp
+++ b/src/gui/Clipboard.cpp
@@ -21,7 +21,7 @@
#include <QClipboard>
#include <QTimer>
-#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
+#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) && !defined(Q_OS_HAIKU)
#include <QDBusConnection>
#include <QDBusMessage>
#endif
@@ -70,7 +70,7 @@ void Clipboard::clearClipboard()
clipboard->clear(QClipboard::Selection);
}
-#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
+#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) && !defined(Q_OS_HAIKU)
QDBusMessage message = QDBusMessage::createMethodCall("org.kde.klipper", "/klipper", "", "clearClipboardHistory");
QDBusConnection::sessionBus().send(message);
#endif
--
1.8.3.4