From b53199944f321dffc9cd2aeeddad5cf89ec6981f Mon Sep 17 00:00:00 2001 From: Boris Pek Date: Fri, 10 Mar 2017 00:26:03 +0300 Subject: add package qca --- src/qca.mk | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/qca.mk diff --git a/src/qca.mk b/src/qca.mk new file mode 100644 index 0000000..00e2f22 --- /dev/null +++ b/src/qca.mk @@ -0,0 +1,31 @@ +# This file is part of MXE. See LICENSE.md for licensing information. + +PKG := qca +$(PKG)_WEBSITE := https://userbase.kde.org/QCA +$(PKG)_DESCR := Qt Cryptographic Architecture +$(PKG)_IGNORE := +$(PKG)_VERSION := 2.1.3 +$(PKG)_CHECKSUM := a5135ffb0250a40e9c361eb10cd3fe28293f0cf4e5c69d3761481eafd7968067 +$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) +$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz +$(PKG)_URL := https://github.com/KDE/qca/archive/v$($(PKG)_VERSION).tar.gz +$(PKG)_DEPS := gcc qtbase + +define $(PKG)_UPDATE + $(WGET) -q -O- 'https://github.com/KDE/qca/tags' | \ + $(SED) -n 's,.*/KDE/qca/archive/v\([0-9][^>]*\)\.tar\.gz.*,\1,p' | \ + head -1 +endef + +define $(PKG)_BUILD + mkdir '$(1).build' + cd '$(1).build' && $(TARGET)-cmake '$(1)' \ + -DBUILD_TESTS=OFF \ + -DBUILD_TOOLS=OFF \ + -DUSE_RELATIVE_PATHS=OFF \ + -DBUILD_PLUGINS="auto" + -DBUILD_STATIC_LIBS=$(CMAKE_STATIC_BOOL) \ + -DBUILD_SHARED_LIBS=$(CMAKE_SHARED_BOOL) + $(MAKE) -C '$(1).build' -j '$(JOBS)' + $(MAKE) -C '$(1).build' -j 1 install +endef -- cgit v0.12 From 3d45f5a57f0aab9c100f761f5ed0b6421b04e9e3 Mon Sep 17 00:00:00 2001 From: Boris Pek Date: Wed, 15 Mar 2017 00:04:48 +0300 Subject: qca: small improvements --- src/qca.mk | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/qca.mk b/src/qca.mk index 00e2f22..00ac124 100644 --- a/src/qca.mk +++ b/src/qca.mk @@ -18,14 +18,12 @@ define $(PKG)_UPDATE endef define $(PKG)_BUILD - mkdir '$(1).build' - cd '$(1).build' && $(TARGET)-cmake '$(1)' \ + cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)' \ -DBUILD_TESTS=OFF \ -DBUILD_TOOLS=OFF \ -DUSE_RELATIVE_PATHS=OFF \ - -DBUILD_PLUGINS="auto" - -DBUILD_STATIC_LIBS=$(CMAKE_STATIC_BOOL) \ - -DBUILD_SHARED_LIBS=$(CMAKE_SHARED_BOOL) - $(MAKE) -C '$(1).build' -j '$(JOBS)' - $(MAKE) -C '$(1).build' -j 1 install + -DBUILD_PLUGINS="auto" \ + -DQCA_MAN_INSTALL_DIR="$(BUILD_DIR)/null" + $(MAKE) -C '$(BUILD_DIR)' -j $(JOBS) + $(MAKE) -C '$(BUILD_DIR)' -j 1 install endef -- cgit v0.12 From 922ff5bce5b241e6377ba917b0cf1871d684ce1d Mon Sep 17 00:00:00 2001 From: Boris Pek Date: Fri, 24 Mar 2017 23:42:26 +0300 Subject: qca: add test --- src/qca-test.cpp | 38 ++++++++++++++++++++++++++++++++++++++ src/qca-test.pro | 13 +++++++++++++ src/qca.mk | 7 +++++++ 3 files changed, 58 insertions(+) create mode 100644 src/qca-test.cpp create mode 100644 src/qca-test.pro diff --git a/src/qca-test.cpp b/src/qca-test.cpp new file mode 100644 index 0000000..73a6b5c --- /dev/null +++ b/src/qca-test.cpp @@ -0,0 +1,38 @@ +/* + * This file is part of MXE. See LICENSE.md for licensing information. + */ + +#include +#include +#include + +#include + +#ifdef QT_STATICPLUGIN +#include "import_plugins.h" +#endif + +int main(int argc, char *argv[]) +{ + QCoreApplication a(argc, argv); + QCA::init(); + + QByteArray inputString = "Hello world!"; + if (a.arguments().size() > 1) { + inputString = a.arguments().at(1).toUtf8(); + } + std::cout << "input string:\n" << inputString.toStdString() << "\n\n"; + + // Calculate hashes of a string with all available hashing algorithms: + QByteArray outputString; + for (const QString &hastType : QCA::Hash::supportedTypes()) { + QCA::Hash hashObject(hastType); + hashObject.update(inputString); + outputString = hashObject.final().toByteArray().toHex(); + + std::cout << hastType.toStdString() << " hash:\n" + << outputString.toStdString() << "\n\n"; + } + + return 0; +} diff --git a/src/qca-test.pro b/src/qca-test.pro new file mode 100644 index 0000000..0d4fb25 --- /dev/null +++ b/src/qca-test.pro @@ -0,0 +1,13 @@ +# This file is part of MXE. See LICENSE.md for licensing information. + +TEMPLATE = app +greaterThan(QT_MAJOR_VERSION, 4): TARGET = test-qca5 +else: TARGET = test-qca +SOURCES += qca-test.cpp +CONFIG += crypto console +QMAKE_CXXFLAGS += -Wall -Werror + +# For static linking: +# QTPLUGIN += qca-gnupg qca-logger qca-ossl qca-softstore qca-qt5 +# LIBS += -L$$[QT_INSTALL_PLUGINS]/crypto + diff --git a/src/qca.mk b/src/qca.mk index 00ac124..438163d 100644 --- a/src/qca.mk +++ b/src/qca.mk @@ -26,4 +26,11 @@ define $(PKG)_BUILD -DQCA_MAN_INSTALL_DIR="$(BUILD_DIR)/null" $(MAKE) -C '$(BUILD_DIR)' -j $(JOBS) $(MAKE) -C '$(BUILD_DIR)' -j 1 install + + $(if $(BUILD_SHARED), \ + mkdir '$(BUILD_DIR)/test-qca' + cd '$(BUILD_DIR)/test-qca' && '$(PREFIX)/$(TARGET)/qt5/bin/qmake' '$(PWD)/src/qca-test.pro' + $(MAKE) -C '$(BUILD_DIR)/test-qca' -j $(JOBS) $(BUILD_TYPE) + $(INSTALL) -m755 '$(BUILD_DIR)/test-qca/$(BUILD_TYPE)/test-qca5.exe' '$(PREFIX)/$(TARGET)/bin/') endef + -- cgit v0.12 From 68f5df67445b142c2948f7b013402b8ec4939aee Mon Sep 17 00:00:00 2001 From: Tony Theodore Date: Sun, 26 Mar 2017 15:59:20 +1100 Subject: qca: use GH_CONF --- src/qca.mk | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/qca.mk b/src/qca.mk index 438163d..baa28a5 100644 --- a/src/qca.mk +++ b/src/qca.mk @@ -6,17 +6,9 @@ $(PKG)_DESCR := Qt Cryptographic Architecture $(PKG)_IGNORE := $(PKG)_VERSION := 2.1.3 $(PKG)_CHECKSUM := a5135ffb0250a40e9c361eb10cd3fe28293f0cf4e5c69d3761481eafd7968067 -$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) -$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz -$(PKG)_URL := https://github.com/KDE/qca/archive/v$($(PKG)_VERSION).tar.gz +$(PKG)_GH_CONF := KDE/qca,v $(PKG)_DEPS := gcc qtbase -define $(PKG)_UPDATE - $(WGET) -q -O- 'https://github.com/KDE/qca/tags' | \ - $(SED) -n 's,.*/KDE/qca/archive/v\([0-9][^>]*\)\.tar\.gz.*,\1,p' | \ - head -1 -endef - define $(PKG)_BUILD cd '$(BUILD_DIR)' && $(TARGET)-cmake '$(SOURCE_DIR)' \ -DBUILD_TESTS=OFF \ -- cgit v0.12 From 946dbbec0f5dc5eb144b26b29da771e5dde37c69 Mon Sep 17 00:00:00 2001 From: Tony Theodore Date: Sun, 26 Mar 2017 16:01:19 +1100 Subject: qca: install pkg-config file and add test N.B. test fails with undefined references --- src/qca-1-fixes.patch | 23 +++++++++++++++++++++++ src/qca.mk | 8 ++++++++ 2 files changed, 31 insertions(+) create mode 100644 src/qca-1-fixes.patch diff --git a/src/qca-1-fixes.patch b/src/qca-1-fixes.patch new file mode 100644 index 0000000..ee43168 --- /dev/null +++ b/src/qca-1-fixes.patch @@ -0,0 +1,23 @@ +This file is part of MXE. See LICENSE.md for licensing information. + +Contains ad hoc patches for cross building. + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Tony Theodore +Date: Sun, 26 Mar 2017 12:36:55 +1100 +Subject: [PATCH] qca: add INSTAL_PKGCONFIG option + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1111111..2222222 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -233,7 +233,7 @@ foreach(PATH QCA_PLUGINS_INSTALL_DIR + endif() + endforeach() + +-if(NOT WIN32) ++if(NOT WIN32 OR INSTAL_PKGCONFIG) + if(OSX_FRAMEWORK) + set(PKGCONFIG_CFLAGS "-F\${libdir} -I\${includedir}") + set(PKGCONFIG_LIBS "-F\${libdir} -framework ${QCA_LIB_NAME}") diff --git a/src/qca.mk b/src/qca.mk index baa28a5..0b7b550 100644 --- a/src/qca.mk +++ b/src/qca.mk @@ -15,6 +15,7 @@ define $(PKG)_BUILD -DBUILD_TOOLS=OFF \ -DUSE_RELATIVE_PATHS=OFF \ -DBUILD_PLUGINS="auto" \ + -DINSTAL_PKGCONFIG=ON \ -DQCA_MAN_INSTALL_DIR="$(BUILD_DIR)/null" $(MAKE) -C '$(BUILD_DIR)' -j $(JOBS) $(MAKE) -C '$(BUILD_DIR)' -j 1 install @@ -24,5 +25,12 @@ define $(PKG)_BUILD cd '$(BUILD_DIR)/test-qca' && '$(PREFIX)/$(TARGET)/qt5/bin/qmake' '$(PWD)/src/qca-test.pro' $(MAKE) -C '$(BUILD_DIR)/test-qca' -j $(JOBS) $(BUILD_TYPE) $(INSTALL) -m755 '$(BUILD_DIR)/test-qca/$(BUILD_TYPE)/test-qca5.exe' '$(PREFIX)/$(TARGET)/bin/') + + # compile test + '$(TARGET)-g++' \ + -W -Wall -Werror \ + '$(SOURCE_DIR)/examples/base64test/base64test.cpp' \ + -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \ + `'$(TARGET)-pkg-config' qca2-qt5 --cflags --libs` endef -- cgit v0.12 From 37d636f25853828832fef641ca711d356163fff7 Mon Sep 17 00:00:00 2001 From: Boris Pek Date: Mon, 27 Mar 2017 01:03:43 +0300 Subject: qca: improve tests --- src/qca-test.pro | 4 ++-- src/qca.mk | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/qca-test.pro b/src/qca-test.pro index 0d4fb25..fb2cf81 100644 --- a/src/qca-test.pro +++ b/src/qca-test.pro @@ -1,8 +1,8 @@ # This file is part of MXE. See LICENSE.md for licensing information. TEMPLATE = app -greaterThan(QT_MAJOR_VERSION, 4): TARGET = test-qca5 -else: TARGET = test-qca +greaterThan(QT_MAJOR_VERSION, 4): TARGET = test-qca5-qmake +else: TARGET = test-qca-qmake SOURCES += qca-test.cpp CONFIG += crypto console QMAKE_CXXFLAGS += -Wall -Werror diff --git a/src/qca.mk b/src/qca.mk index 0b7b550..cdde014 100644 --- a/src/qca.mk +++ b/src/qca.mk @@ -20,17 +20,18 @@ define $(PKG)_BUILD $(MAKE) -C '$(BUILD_DIR)' -j $(JOBS) $(MAKE) -C '$(BUILD_DIR)' -j 1 install + # build test as qmake project $(if $(BUILD_SHARED), \ mkdir '$(BUILD_DIR)/test-qca' cd '$(BUILD_DIR)/test-qca' && '$(PREFIX)/$(TARGET)/qt5/bin/qmake' '$(PWD)/src/qca-test.pro' $(MAKE) -C '$(BUILD_DIR)/test-qca' -j $(JOBS) $(BUILD_TYPE) - $(INSTALL) -m755 '$(BUILD_DIR)/test-qca/$(BUILD_TYPE)/test-qca5.exe' '$(PREFIX)/$(TARGET)/bin/') + $(INSTALL) -m755 '$(BUILD_DIR)/test-qca/$(BUILD_TYPE)/test-qca5-qmake.exe' '$(PREFIX)/$(TARGET)/bin/') - # compile test + # build test manually '$(TARGET)-g++' \ - -W -Wall -Werror \ - '$(SOURCE_DIR)/examples/base64test/base64test.cpp' \ - -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG).exe' \ + -W -Wall -Werror -std=gnu++11 \ + '$(PWD)/src/qca-test.cpp' \ + -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG)-pkgconfig.exe' \ `'$(TARGET)-pkg-config' qca2-qt5 --cflags --libs` endef -- cgit v0.12 From 150c9d34d22a64e1a5b2bd51ae0d81c9ebd5a8f4 Mon Sep 17 00:00:00 2001 From: Boris Pek Date: Tue, 28 Mar 2017 00:56:52 +0300 Subject: qca: improve tests --- src/qca-test.pro | 6 ++---- src/qca.mk | 12 ++++++------ 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/qca-test.pro b/src/qca-test.pro index fb2cf81..f11c34a 100644 --- a/src/qca-test.pro +++ b/src/qca-test.pro @@ -1,13 +1,11 @@ # This file is part of MXE. See LICENSE.md for licensing information. TEMPLATE = app -greaterThan(QT_MAJOR_VERSION, 4): TARGET = test-qca5-qmake -else: TARGET = test-qca-qmake +TARGET = test-qca-qmake SOURCES += qca-test.cpp CONFIG += crypto console QMAKE_CXXFLAGS += -Wall -Werror # For static linking: -# QTPLUGIN += qca-gnupg qca-logger qca-ossl qca-softstore qca-qt5 -# LIBS += -L$$[QT_INSTALL_PLUGINS]/crypto +LIBS += -L$$[QT_INSTALL_PLUGINS]/crypto -lqca-ossl diff --git a/src/qca.mk b/src/qca.mk index cdde014..fbb1269 100644 --- a/src/qca.mk +++ b/src/qca.mk @@ -21,17 +21,17 @@ define $(PKG)_BUILD $(MAKE) -C '$(BUILD_DIR)' -j 1 install # build test as qmake project - $(if $(BUILD_SHARED), \ - mkdir '$(BUILD_DIR)/test-qca' - cd '$(BUILD_DIR)/test-qca' && '$(PREFIX)/$(TARGET)/qt5/bin/qmake' '$(PWD)/src/qca-test.pro' - $(MAKE) -C '$(BUILD_DIR)/test-qca' -j $(JOBS) $(BUILD_TYPE) - $(INSTALL) -m755 '$(BUILD_DIR)/test-qca/$(BUILD_TYPE)/test-qca5-qmake.exe' '$(PREFIX)/$(TARGET)/bin/') + mkdir '$(BUILD_DIR)/test-qca' + cd '$(BUILD_DIR)/test-qca' && '$(PREFIX)/$(TARGET)/qt5/bin/qmake' '$(PWD)/src/qca-test.pro' + $(MAKE) -C '$(BUILD_DIR)/test-qca' -j $(JOBS) $(BUILD_TYPE) + $(INSTALL) -m755 '$(BUILD_DIR)/test-qca/$(BUILD_TYPE)/test-qca-qmake.exe' '$(PREFIX)/$(TARGET)/bin/' # build test manually '$(TARGET)-g++' \ - -W -Wall -Werror -std=gnu++11 \ + -W -Wall -Werror -std=gnu++11 \ '$(PWD)/src/qca-test.cpp' \ -o '$(PREFIX)/$(TARGET)/bin/test-$(PKG)-pkgconfig.exe' \ + $(if $(BUILD_STATIC), -L'$(PREFIX)/$(TARGET)/qt5/plugins/crypto' -lqca-ossl) \ `'$(TARGET)-pkg-config' qca2-qt5 --cflags --libs` endef -- cgit v0.12 From ca1a94bb9ebfdec702652cb16a2b825e71c8d31f Mon Sep 17 00:00:00 2001 From: Boris Pek Date: Tue, 28 Mar 2017 18:10:38 +0300 Subject: qca: more tests --- src/qca-test.cmake | 22 ++++++++++++++++++++++ src/qca.mk | 7 +++++++ 2 files changed, 29 insertions(+) create mode 100644 src/qca-test.cmake diff --git a/src/qca-test.cmake b/src/qca-test.cmake new file mode 100644 index 0000000..05b9566 --- /dev/null +++ b/src/qca-test.cmake @@ -0,0 +1,22 @@ +# This file is part of MXE. See LICENSE.md for licensing information. + +# partial module - included by src/cmake/CMakeLists.txt + +set(TGT test-${PKG}-cmake) + +enable_language(CXX) +add_executable(${TGT} ${CMAKE_CURRENT_LIST_DIR}/${PKG}-test.cpp) + +find_package(Qt5Core REQUIRED) +find_package(Qca-qt5 REQUIRED) + +include_directories (${Qt5Core_INCLUDE_DIRS}) +target_link_libraries(${TGT} Qt5::Core qca-qt5) + +# Statically link QCA plugins when necessary +if(BUILD_STATIC_LIBS) + target_link_libraries(${TGT} qca-ossl) +endif(BUILD_STATIC_LIBS) + +install(TARGETS ${TGT} DESTINATION bin) + diff --git a/src/qca.mk b/src/qca.mk index fbb1269..65b8bc7 100644 --- a/src/qca.mk +++ b/src/qca.mk @@ -26,6 +26,13 @@ define $(PKG)_BUILD $(MAKE) -C '$(BUILD_DIR)/test-qca' -j $(JOBS) $(BUILD_TYPE) $(INSTALL) -m755 '$(BUILD_DIR)/test-qca/$(BUILD_TYPE)/test-qca-qmake.exe' '$(PREFIX)/$(TARGET)/bin/' + # build test as cmake project + mkdir '$(1).test-cmake' + cd '$(1).test-cmake' && $(TARGET)-cmake \ + -DPKG=$(PKG) \ + '$(PWD)/src/cmake/test' + $(MAKE) -C '$(1).test-cmake' -j 1 install VERBOSE=ON + # build test manually '$(TARGET)-g++' \ -W -Wall -Werror -std=gnu++11 \ -- cgit v0.12 From e18f93945a4d84bab7e1fb21db4d641d834b3948 Mon Sep 17 00:00:00 2001 From: Boris Pek Date: Thu, 30 Mar 2017 07:48:43 +0300 Subject: qca: cosmetic changes --- src/qca-test.cmake | 1 - src/qca.mk | 15 +++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/qca-test.cmake b/src/qca-test.cmake index 05b9566..00f9d2d 100644 --- a/src/qca-test.cmake +++ b/src/qca-test.cmake @@ -19,4 +19,3 @@ if(BUILD_STATIC_LIBS) endif(BUILD_STATIC_LIBS) install(TARGETS ${TGT} DESTINATION bin) - diff --git a/src/qca.mk b/src/qca.mk index 65b8bc7..e8f176b 100644 --- a/src/qca.mk +++ b/src/qca.mk @@ -21,17 +21,17 @@ define $(PKG)_BUILD $(MAKE) -C '$(BUILD_DIR)' -j 1 install # build test as qmake project - mkdir '$(BUILD_DIR)/test-qca' - cd '$(BUILD_DIR)/test-qca' && '$(PREFIX)/$(TARGET)/qt5/bin/qmake' '$(PWD)/src/qca-test.pro' - $(MAKE) -C '$(BUILD_DIR)/test-qca' -j $(JOBS) $(BUILD_TYPE) - $(INSTALL) -m755 '$(BUILD_DIR)/test-qca/$(BUILD_TYPE)/test-qca-qmake.exe' '$(PREFIX)/$(TARGET)/bin/' + mkdir '$(BUILD_DIR).test-qmake' + cd '$(BUILD_DIR).test-qmake' && '$(PREFIX)/$(TARGET)/qt5/bin/qmake' '$(PWD)/src/qca-test.pro' + $(MAKE) -C '$(BUILD_DIR).test-qmake' -j 1 + $(INSTALL) -m755 '$(BUILD_DIR).test-qmake/$(BUILD_TYPE)/test-qca-qmake.exe' '$(PREFIX)/$(TARGET)/bin/' # build test as cmake project - mkdir '$(1).test-cmake' - cd '$(1).test-cmake' && $(TARGET)-cmake \ + mkdir '$(BUILD_DIR).test-cmake' + cd '$(BUILD_DIR).test-cmake' && $(TARGET)-cmake \ -DPKG=$(PKG) \ '$(PWD)/src/cmake/test' - $(MAKE) -C '$(1).test-cmake' -j 1 install VERBOSE=ON + $(MAKE) -C '$(BUILD_DIR).test-cmake' -j 1 install VERBOSE=ON # build test manually '$(TARGET)-g++' \ @@ -41,4 +41,3 @@ define $(PKG)_BUILD $(if $(BUILD_STATIC), -L'$(PREFIX)/$(TARGET)/qt5/plugins/crypto' -lqca-ossl) \ `'$(TARGET)-pkg-config' qca2-qt5 --cflags --libs` endef - -- cgit v0.12 From de42ef92b46d28cb4fff427a51a4404bc6c0b5ef Mon Sep 17 00:00:00 2001 From: Boris Pek Date: Thu, 30 Mar 2017 07:52:41 +0300 Subject: qca: suppress build for static targets --- src/qca.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/qca.mk b/src/qca.mk index e8f176b..1c3687c 100644 --- a/src/qca.mk +++ b/src/qca.mk @@ -41,3 +41,5 @@ define $(PKG)_BUILD $(if $(BUILD_STATIC), -L'$(PREFIX)/$(TARGET)/qt5/plugins/crypto' -lqca-ossl) \ `'$(TARGET)-pkg-config' qca2-qt5 --cflags --libs` endef + +$(PKG)_BUILD_STATIC = -- cgit v0.12