diff --git a/README.md b/README.md index 6a37505..fed984c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # libqca-qt4 +Taking a hint from the similarly-named Java Cryptography Architecture, QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes and conventions. +QCA separates the API from the implementation, using plugins known as Providers. + diff --git a/libqca-2.1.0.3-qt5-5.5.patch b/libqca-2.1.0.3-qt5-5.5.patch new file mode 100644 index 0000000..9e6ed62 --- /dev/null +++ b/libqca-2.1.0.3-qt5-5.5.patch @@ -0,0 +1,11 @@ +--- qca-qt5-2.1.0.3/include/QtCrypto/qca_basic.h.orig 2015-12-23 00:59:20.549274673 +0100 ++++ qca-qt5-2.1.0.3/include/QtCrypto/qca_basic.h 2015-12-23 00:59:34.135167811 +0100 +@@ -35,6 +35,8 @@ + + #include "qca_core.h" + ++#include ++ + // Qt5 comes with QStringLiteral for wrapping string literals, which Qt4 does + // not have. It is needed if the headers are built with QT_NO_CAST_FROM_ASCII. + // Defining it here as QString::fromUtf8 for convenience. diff --git a/libqca-2.1.0.3-use-Q_SLOT-and-Q_SIGNAL.patch b/libqca-2.1.0.3-use-Q_SLOT-and-Q_SIGNAL.patch new file mode 100644 index 0000000..d03a178 --- /dev/null +++ b/libqca-2.1.0.3-use-Q_SLOT-and-Q_SIGNAL.patch @@ -0,0 +1,28 @@ +From: Jan Grulich +Date: Thu, 17 Sep 2015 14:14:24 +0000 +Subject: Use Q_SLOTS/Q_SIGNALS instead of slots/signals in all headers from include dir +X-Git-Url: http://quickgit.kde.org/?p=qca.git&a=commitdiff&h=66b9754170759d9333d5fc1e348642814d0310dd +--- +Use Q_SLOTS/Q_SIGNALS instead of slots/signals in all headers from include dir +REVIEW:125289 +--- + + +--- a/include/QtCrypto/qca_safetimer.h ++++ b/include/QtCrypto/qca_safetimer.h +@@ -44,12 +44,12 @@ + void setSingleShot(bool singleShot); + int timerId() const; + +-public slots: ++public Q_SLOTS: + void start(int msec); + void start(); + void stop(); + +-signals: ++Q_SIGNALS: + void timeout(); + + protected: + diff --git a/libqca-qt4.spec b/libqca-qt4.spec new file mode 100644 index 0000000..e7abaea --- /dev/null +++ b/libqca-qt4.spec @@ -0,0 +1,157 @@ +%define majorminor %(echo %version | cut -d. -f 1-2) + +Name: libqca-qt4 +Version: 2.2.1 +Release: 2mamba +Summary: Qt Cryptographic Architecture (QCA) +Group: System/Libraries +Vendor: openmamba +Distribution: openmamba +Packager: Aleph0 +URL: http://delta.affinix.com/qca/ +Source: https://download.kde.org/stable/qca/%{version}/qca-%{version}.tar.xz +#Source: http://download.kde.org/stable/qca-qt5/%{version}/src/qca-qt5-%{version}.tar.xz +Patch0: qca-2.0.3-gcc-4.7.patch +Patch1: libqca-2.1.0.3-qt5-5.5.patch +Patch2: libqca-2.1.0.3-use-Q_SLOT-and-Q_SIGNAL.patch +License: LGPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: ldconfig +BuildRequires: libgcc +BuildRequires: libgcrypt-devel +BuildRequires: libgpg-error-devel +BuildRequires: libnspr-devel +BuildRequires: libnss-devel +BuildRequires: libopenssl-devel +BuildRequires: libqt4-devel +BuildRequires: libsasl2-devel +BuildRequires: libstdc++6-devel +## AUTOBUILDREQ-END +Provides: libqca +Obsoletes: libqca +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Taking a hint from the similarly-named Java Cryptography Architecture, QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes and conventions. +QCA separates the API from the implementation, using plugins known as Providers. + +%package devel +Group: Development/Libraries +Summary: Static libraries and headers for %{name} +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} +Provides: libqca-devel +Obsoletes: libqca-devel + +%description devel +Taking a hint from the similarly-named Java Cryptography Architecture, QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes and conventions. +This package contains static libraries and header files need for development. + +%debug_package + +%prep +%setup -q -n qca-%{version} +#%patch0 -p1 +#%patch1 -p1 +#%patch2 -p1 + +%build +%cmake -d build \ + -DQT4_BUILD=ON + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall -C build + +#make install INSTALL_ROOT=%{buildroot} + +#install -d %{buildroot}%{_mandir}/man1 +#mv %{buildroot}%{_qt4_datadir}/man/man1/qcatool2.1 \ +# %{buildroot}%{_mandir}/man1/qcatool2.1 + +rm -f %{buildroot}%{_qt4_libdir}/libqca.so.*.debug +rm -f %{buildroot}%{_qt4_bindir}/qcatool2.debug +# FIXME +rm -fr %{buildroot}%{_qt4_datadir}/qca/certs + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_bindir}/mozcerts +%{_bindir}/qcatool +%{_qt4_libdir}/libqca.so.* +%dir %{_libdir}/qca +%dir %{_libdir}/qca/crypto +%{_libdir}/qca/crypto/libqca-cyrus-sasl.so +%{_libdir}/qca/crypto/libqca-gcrypt.so +%{_libdir}/qca/crypto/libqca-gnupg.so +%{_libdir}/qca/crypto/libqca-logger.so +%{_libdir}/qca/crypto/libqca-nss.so +%{_libdir}/qca/crypto/libqca-ossl.so +%{_libdir}/qca/crypto/libqca-softstore.so +%{_mandir}/man1/qcatool* +%doc COPYING + +%files devel +%defattr(-,root,root) +%dir %{_includedir}/QtCrypto +%{_includedir}/QtCrypto/* +%dir %{_libdir}/cmake/Qca +%{_libdir}/cmake/Qca/QcaConfig.cmake +%{_libdir}/cmake/Qca/QcaConfigVersion.cmake +%{_libdir}/cmake/Qca/QcaTargets-noconfig.cmake +%{_libdir}/cmake/Qca/QcaTargets.cmake +/usr/mkspecs/features/crypto.prf +%{_qt4_libdir}/libqca.so +%{_libdir}/pkgconfig/qca2.pc +%doc README TODO + +%changelog +* Fri Aug 21 2020 Silvan Calarco 2.2.1-2mamba +- qt4 legacy package + +* Fri Aug 02 2019 Silvan Calarco 2.2.1-1mamba +- update to 2.2.1 + +* Sun Sep 09 2018 Silvan Calarco 2.1.3-1mamba +- update to 2.1.3 + +* Fri Jul 22 2016 Silvan Calarco 2.1.0.3-3mamba +- upstream headers patch to use Q_SLOT and Q_SIGNAL + +* Wed Dec 23 2015 Silvan Calarco 2.1.0.3-2mamba +- patched to fix missing qt5 include in header + +* Sun Aug 16 2015 Silvan Calarco 2.1.0.3-1mamba +- update to 2.1.0.3 + +* Sun Aug 16 2015 Silvan Calarco 2.1.0-3mamba +- added qt5 subpackages + +* Wed Feb 18 2015 Silvan Calarco 2.1.0-2mamba +- force qt4 build or it breaks kde4 plasma + +* Fri Nov 28 2014 Silvan Calarco 2.1.0-1mamba +- update to 2.1.0 + +* Thu Jan 24 2013 Silvan Calarco 2.0.3-2mamba +- added gcc 4.7 build patch + +* Wed Dec 01 2010 Automatic Build System 2.0.3-1mamba +- automatic update by autodist + +* Thu Apr 30 2009 Automatic Build System 2.0.2-1mamba +- automatic update by autodist + +* Sun Oct 12 2008 Silvan Calarco 2.0.1-2mamba +- rebuilt + +* Fri Aug 29 2008 Aleph0 2.0.1-1mamba +- package created by autospec diff --git a/qca-2.0.3-gcc-4.7.patch b/qca-2.0.3-gcc-4.7.patch new file mode 100644 index 0000000..535a3a2 --- /dev/null +++ b/qca-2.0.3-gcc-4.7.patch @@ -0,0 +1,12 @@ +diff -Nru qca-2.0.3.orig/src/botantools/botan/botan/secmem.h qca-2.0.3/src/botantools/botan/botan/secmem.h +--- qca-2.0.3.orig/src/botantools/botan/botan/secmem.h 2007-04-19 23:26:13.000000000 +0200 ++++ qca-2.0.3/src/botantools/botan/botan/secmem.h 2013-01-24 11:44:22.356084926 +0100 +@@ -214,7 +214,7 @@ + + SecureVector(u32bit n = 0) { MemoryRegion::init(true, n); } + SecureVector(const T in[], u32bit n) +- { MemoryRegion::init(true); set(in, n); } ++ { MemoryRegion::init(true); this->set(in, n); } + SecureVector(const MemoryRegion& in) + { MemoryRegion::init(true); set(in); } + SecureVector(const MemoryRegion& in1, const MemoryRegion& in2)