KeePassXC: add recipe for version 2.2.0

* builds but crashes on start
This commit is contained in:
Sergei Reznikov
2017-08-31 14:05:42 +03:00
parent cd7a467568
commit 99cba477f8
2 changed files with 170 additions and 0 deletions

View File

@@ -0,0 +1,107 @@
SUMMARY="Qt password manager"
DESCRIPTION="KeePassXC 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.
KeePassXC 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.
KeePassXC 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.
KeePassXC is a community fork of KeePassX which aims to incorporate stalled \
pull requests, features, and bug fixes that have never made it into the main \
KeePassX repository."
HOMEPAGE="https://keepassxc.org/"
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"
SOURCE_URI="https://github.com/keepassxreboot/keepassxc/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="9d9d39b9c056955fe5d7a5212efe1703be02fa4731c36e2b1e06a78174b0a7b8"
PATCHES="keepassxc-$portVersion.patchset"
ADDITIONAL_FILES="keepassxc.rdef"
ARCHITECTURES="!x86 !x86_64"
PROVIDES="
keepassxc = $portVersion
cmd:keepassxc = $portVersion
cmd:keepassxc_cli = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libgcrypt$secondaryArchSuffix
lib:libgpg_error$secondaryArchSuffix
lib:libmicrohttpd$secondaryArchSuffix
lib:libQt5Concurrent$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5Test$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku_devel$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libgcrypt$secondaryArchSuffix
devel:libgpg_error$secondaryArchSuffix
devel:libmicrohttpd$secondaryArchSuffix
devel:libQt5Concurrent$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5Network
devel:libQt5Test
devel:libQt5Widgets
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:make
cmd:g++
cmd:qmake
cmd:moc
cmd:xres
"
BUILD()
{
cmake -DCMAKE_INSTALL_PREFIX=$prefix \
-DCMAKE_INSTALL_DATAROOTDIR=$dataDir \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_TESTS=on -DWITH_XC_AUTOTYPE=on .
make $jobArgs
rc $portDir/additional-files/keepassxc.rdef \
-o $sourceDir/src/keepassxc.rsrc
xres -o $sourceDir/src/keepassxc $sourceDir/src/keepassxc.rsrc
mimeset -f $sourceDir/src/keepassxc
}
INSTALL()
{
make install
# appIconsDir=$dataDir/keepassxc/icons/application
# rm -rf $appIconsDir/scalable
# rm -rf $appIconsDir/16x16/apps
# rm -rf $appIconsDir/*/mimetypes
# for i in 24 32 48 64 128 256; do
# rm -rf $appIconsDir/${i}x${i}
# done
mkdir -p $appsDir
cp $binDir/keepassxc $appsDir/KeePassXC
addAppDeskbarSymlink $appsDir/KeePassXC KeePassXC
}
TEST()
{
make test
}

View File

@@ -0,0 +1,63 @@
From 407a9457296a965d5937fff2c0abd7ba963625df Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Wed, 30 Aug 2017 20:23:38 +0300
Subject: Haiku patch
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6276761..78b8714 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -89,11 +89,13 @@ add_gcc_compiler_flags("-Wformat=2 -Wmissing-format-attribute")
add_gcc_compiler_flags("-fvisibility=hidden")
add_gcc_compiler_cxxflags("-fvisibility-inlines-hidden")
+if (UNIX AND NOT HAIKU)
if((CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.8.999) OR CMAKE_COMPILER_IS_CLANGXX)
add_gcc_compiler_flags("-fstack-protector-strong")
else()
add_gcc_compiler_flags("-fstack-protector --param=ssp-buffer-size=4")
endif()
+endif()
add_gcc_compiler_cxxflags("-fno-exceptions -fno-rtti")
add_gcc_compiler_cxxflags("-Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual")
diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt
index a609add..1c69d2e 100644
--- a/share/CMakeLists.txt
+++ b/share/CMakeLists.txt
@@ -23,7 +23,7 @@ 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 ${CMAKE_INSTALL_DATADIR}/icons/hicolor
FILES_MATCHING PATTERN "keepassx*.png" PATTERN "keepassx*.svgz"
PATTERN "status" EXCLUDE PATTERN "actions" EXCLUDE PATTERN "categories" EXCLUDE)
@@ -32,7 +32,7 @@ if(UNIX AND NOT APPLE)
PATTERN "status" EXCLUDE PATTERN "actions" EXCLUDE PATTERN "categories" EXCLUDE)
install(FILES linux/keepassxc.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
install(FILES linux/keepassxc.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages)
-endif(UNIX AND NOT APPLE)
+endif(UNIX AND NOT APPLE AND NOT HAIKU)
if(APPLE)
install(FILES macosx/keepassxc.icns DESTINATION ${DATA_INSTALL_DIR})
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7916855..4e55730 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -230,6 +230,9 @@ target_link_libraries(keepassx_core
if(APPLE)
target_link_libraries(keepassx_core "-framework Foundation")
endif()
+if(HAIKU)
+ target_link_libraries(keepassx_core network)
+endif()
if (UNIX AND NOT APPLE)
target_link_libraries(keepassx_core Qt5::DBus)
endif()
--
2.13.1