diff --git a/app-admin/keepassxc/keepassxc-2.2.0.recipe b/app-admin/keepassxc/keepassxc-2.2.0.recipe new file mode 100644 index 000000000..14860e606 --- /dev/null +++ b/app-admin/keepassxc/keepassxc-2.2.0.recipe @@ -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 +} diff --git a/app-admin/keepassxc/patches/keepassxc-2.2.0.patchset b/app-admin/keepassxc/patches/keepassxc-2.2.0.patchset new file mode 100644 index 000000000..94b46b193 --- /dev/null +++ b/app-admin/keepassxc/patches/keepassxc-2.2.0.patchset @@ -0,0 +1,63 @@ +From 407a9457296a965d5937fff2c0abd7ba963625df Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +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 +