| |
@@ -1,22 +1,23 @@
|
| |
-
|
| |
- %undefine __cmake_in_source_build
|
| |
-
|
| |
%if 0%{?fedora} < 34 && 0%{?rhel} < 9
|
| |
%global botan 1
|
| |
%endif
|
| |
|
| |
+ %bcond_without qt5
|
| |
+ %bcond_without qt6
|
| |
+
|
| |
#global doc 1
|
| |
%global tests 1
|
| |
|
| |
Name: qca
|
| |
Summary: Qt Cryptographic Architecture
|
| |
Version: 2.3.4
|
| |
- Release: 3%{?dist}
|
| |
+ Release: 4%{?dist}
|
| |
|
| |
License: LGPLv2+
|
| |
URL: https://userbase.kde.org/QCA
|
| |
Source0: http://download.kde.org/stable/qca/%{version}/qca-%{version}.tar.xz
|
| |
-
|
| |
+ # Also generate pkgconfig file for qt6
|
| |
+ Patch0: qca-qt6-pkgconfig.patch
|
| |
## upstream patches
|
| |
|
| |
## upstreamable patches
|
| |
@@ -29,7 +30,6 @@
|
| |
BuildRequires: pkgconfig(libpkcs11-helper-1)
|
| |
BuildRequires: pkgconfig(libsasl2)
|
| |
|
| |
- BuildRequires: pkgconfig(Qt5Core)
|
| |
|
| |
%if 0%{?doc}
|
| |
# apidocs
|
| |
@@ -38,17 +38,6 @@
|
| |
BuildRequires: graphviz
|
| |
%endif
|
| |
|
| |
- # qca2 renamed qca
|
| |
- Obsoletes: qca2 < 2.1.0
|
| |
- Provides: qca2 = %{version}-%{release}
|
| |
- Provides: qca2%{?_isa} = %{version}-%{release}
|
| |
-
|
| |
- %if ! 0%{?botan}
|
| |
- Obsoletes: qca-qt5-botan < %{version}-%{release}
|
| |
- %endif
|
| |
-
|
| |
- # most runtime consumers seem to assume the ossl plugin be present
|
| |
- Recommends: %{name}-ossl%{?_isa}
|
| |
|
| |
%description
|
| |
Taking a hint from the similarly-named Java Cryptography Architecture,
|
| |
@@ -60,82 +49,14 @@
|
| |
or upgrade crypto implementations without even needing to recompile the
|
| |
application!
|
| |
|
| |
- %package devel
|
| |
- Summary: Qt Cryptographic Architecture development files
|
| |
- # qca2 renamed qca
|
| |
- Obsoletes: qca2-devel < 2.1.0
|
| |
- Provides: qca2-devel = %{version}-%{release}
|
| |
- Provides: qca2-devel%{?_isa} = %{version}-%{release}
|
| |
- Requires: %{name}%{?_isa} = %{version}-%{release}
|
| |
- %description devel
|
| |
- This packages contains the development files for QCA.
|
| |
-
|
| |
- %package doc
|
| |
- Summary: QCA API documentation
|
| |
- BuildArch: noarch
|
| |
- %description doc
|
| |
- This package includes QCA API documentation in HTML
|
| |
-
|
| |
- %if 0%{?botan}
|
| |
- %package botan
|
| |
- Summary: Botan plugin for the Qt Cryptographic Architecture
|
| |
- BuildRequires: pkgconfig(botan-2)
|
| |
- Requires: %{name}%{?_isa} = %{version}-%{release}
|
| |
- %description botan
|
| |
- %{summary}.
|
| |
- %endif
|
| |
-
|
| |
- %package cyrus-sasl
|
| |
- Summary: Cyrus-SASL plugin for the Qt Cryptographic Architecture
|
| |
- Requires: %{name}%{?_isa} = %{version}-%{release}
|
| |
- %description cyrus-sasl
|
| |
- %{summary}.
|
| |
-
|
| |
- %package gcrypt
|
| |
- Summary: Gcrypt plugin for the Qt Cryptographic Architecture
|
| |
- Requires: %{name}%{?_isa} = %{version}-%{release}
|
| |
- %description gcrypt
|
| |
- %{summary}.
|
| |
-
|
| |
- %package gnupg
|
| |
- Summary: Gnupg plugin for the Qt Cryptographic Architecture
|
| |
- Requires: %{name}%{?_isa} = %{version}-%{release}
|
| |
- Requires: gnupg
|
| |
- %description gnupg
|
| |
- %{summary}.
|
| |
-
|
| |
- %package logger
|
| |
- Summary: Logger plugin for the Qt Cryptographic Architecture
|
| |
- Requires: %{name}%{?_isa} = %{version}-%{release}
|
| |
- %description logger
|
| |
- %{summary}.
|
| |
-
|
| |
- %package nss
|
| |
- Summary: Nss plugin for the Qt Cryptographic Architecture
|
| |
- Requires: %{name}%{?_isa} = %{version}-%{release}
|
| |
- %description nss
|
| |
- %{summary}.
|
| |
-
|
| |
- %package ossl
|
| |
- Summary: Openssl plugin for the Qt Cryptographic Architecture
|
| |
- Requires: %{name}%{?_isa} = %{version}-%{release}
|
| |
- %description ossl
|
| |
- %{summary}.
|
| |
-
|
| |
- %package pkcs11
|
| |
- Summary: Pkcs11 plugin for the Qt Cryptographic Architecture
|
| |
- Requires: %{name}%{?_isa} = %{version}-%{release}
|
| |
- %description pkcs11
|
| |
- %{summary}.
|
| |
-
|
| |
- %package softstore
|
| |
- Summary: Pkcs11 plugin for the Qt Cryptographic Architecture
|
| |
- Requires: %{name}%{?_isa} = %{version}-%{release}
|
| |
- %description softstore
|
| |
- %{summary}.
|
| |
|
| |
+ %if %{with qt5}
|
| |
%package qt5
|
| |
Summary: Qt5 Cryptographic Architecture
|
| |
+ BuildRequires: pkgconfig(Qt5Core)
|
| |
+ %if ! 0%{?botan}
|
| |
+ Obsoletes: qca-qt5-botan < %{version}-%{release}
|
| |
+ %endif
|
| |
# most runtime consumers seem to assume the ossl plugin be present
|
| |
Recommends: %{name}-qt5-ossl%{?_isa}
|
| |
%description qt5
|
| |
@@ -211,6 +132,90 @@
|
| |
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
|
| |
%description qt5-softstore
|
| |
%{summary}.
|
| |
+ %endif
|
| |
+
|
| |
+
|
| |
+ %if %{with qt6}
|
| |
+ %package qt6
|
| |
+ BuildRequires: pkgconfig(Qt6Core)
|
| |
+ Summary: Qt6 Cryptographic Architecture
|
| |
+ # most runtime consumers seem to assume the ossl plugin be present
|
| |
+ Recommends: %{name}-qt6-ossl%{?_isa}
|
| |
+ %description qt6
|
| |
+ 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. The advantage of this
|
| |
+ model is to allow applications to avoid linking to or explicitly depending
|
| |
+ on any particular cryptographic library. This allows one to easily change
|
| |
+ or upgrade crypto implementations without even needing to recompile the
|
| |
+ application!
|
| |
+
|
| |
+ %package qt6-devel
|
| |
+ Summary: Qt6 Cryptographic Architecture development files
|
| |
+ Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
|
| |
+ %description qt6-devel
|
| |
+ %{summary}.
|
| |
+
|
| |
+ %if 0%{?botan}
|
| |
+ %package qt6-botan
|
| |
+ Summary: Botan plugin for the Qt6 Cryptographic Architecture
|
| |
+ BuildRequires: pkgconfig(botan-2)
|
| |
+ Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
|
| |
+ %description qt6-botan
|
| |
+ %{summary}.
|
| |
+ %endif
|
| |
+
|
| |
+ %package qt6-cyrus-sasl
|
| |
+ Summary: Cyrus-SASL plugin for the Qt6 Cryptographic Architecture
|
| |
+ Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
|
| |
+ %description qt6-cyrus-sasl
|
| |
+ %{summary}.
|
| |
+
|
| |
+ %package qt6-gcrypt
|
| |
+ Summary: Gcrypt plugin for the Qt6 Cryptographic Architecture
|
| |
+ Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
|
| |
+ %description qt6-gcrypt
|
| |
+ %{summary}.
|
| |
+
|
| |
+ %package qt6-gnupg
|
| |
+ Summary: Gnupg plugin for the Qt Cryptographic Architecture
|
| |
+ Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
|
| |
+ Requires: gnupg
|
| |
+ %description qt6-gnupg
|
| |
+ %{summary}.
|
| |
+
|
| |
+ %package qt6-logger
|
| |
+ Summary: Logger plugin for the Qt6 Cryptographic Architecture
|
| |
+ Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
|
| |
+ %description qt6-logger
|
| |
+ %{summary}.
|
| |
+
|
| |
+ %package qt6-nss
|
| |
+ Summary: Nss plugin for the Qt6 Cryptographic Architecture
|
| |
+ Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
|
| |
+ %description qt6-nss
|
| |
+ %{summary}.
|
| |
+
|
| |
+ %package qt6-ossl
|
| |
+ Summary: Openssl plugin for the Qt6 Cryptographic Architecture
|
| |
+ Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
|
| |
+ %description qt6-ossl
|
| |
+ %{summary}.
|
| |
+
|
| |
+ %package qt6-pkcs11
|
| |
+ Summary: Pkcs11 plugin for the Qt6 Cryptographic Architecture
|
| |
+ Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
|
| |
+ %description qt6-pkcs11
|
| |
+ %{summary}.
|
| |
+
|
| |
+ %package qt6-softstore
|
| |
+ Summary: Pkcs11 plugin for the Qt6 Cryptographic Architecture
|
| |
+ Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
|
| |
+ %description qt6-softstore
|
| |
+ %{summary}.
|
| |
+
|
| |
+ %endif
|
| |
|
| |
|
| |
%prep
|
| |
@@ -218,21 +223,33 @@
|
| |
|
| |
|
| |
%build
|
| |
- %cmake \
|
| |
- -Wno-dev \
|
| |
+ cmake_opts="-Wno-dev \
|
| |
-DBUILD_TESTS:BOOL=%{?tests:ON}%{!?tests:OFF} \
|
| |
- -DQCA_INCLUDE_INSTALL_DIR:PATH=%{_qt5_headerdir} \
|
| |
-DQCA_INSTALL_IN_QT_PREFIX:BOOL=ON \
|
| |
-DQCA_BINARY_INSTALL_DIR:STRING=%{_bindir} \
|
| |
-DQCA_MAN_INSTALL_DIR:PATH=%{_mandir} \
|
| |
- -DQCA_PRIVATE_INCLUDE_INSTALL_DIR:PATH=%{_qt5_headerdir} \
|
| |
- -DWITH_botan_PLUGIN:BOOL=%{?botan:ON}%{?!botan:OFF}
|
| |
+ -DWITH_botan_PLUGIN:BOOL=%{?botan:ON}%{?!botan:OFF}"
|
| |
+ %if %{with qt5}
|
| |
+ %define _vpath_builddir %{_target_platform}-qt5
|
| |
+ %cmake $cmake_opts \
|
| |
+ -DQCA_INCLUDE_INSTALL_DIR:PATH=%{_qt5_headerdir} \
|
| |
+ -DQCA_PRIVATE_INCLUDE_INSTALL_DIR:PATH=%{_qt5_headerdir}
|
| |
|
| |
- # -DQCA_FEATURE_INSTALL_DIR:PATH=%{_qt5_archdatadir}/mkspecs/features \
|
| |
- # -DQCA_LIBRARY_INSTALL_DIR:PATH=%{_qt5_libdir} \
|
| |
- # -DQCA_PLUGINS_INSTALL_DIR:PATH=%{_qt5_plugindir} \
|
| |
+ %cmake_build
|
| |
+ %endif
|
| |
+
|
| |
+
|
| |
+ %if %{with qt6}
|
| |
+ %define _vpath_builddir %{_target_platform}-qt6
|
| |
+ %cmake $cmake_opts \
|
| |
+ -DQT6=ON \
|
| |
+ -DQCA_INCLUDE_INSTALL_DIR:PATH=%{_qt6_headerdir} \
|
| |
+ -DQCA_PRIVATE_INCLUDE_INSTALL_DIR:PATH=%{_qt6_headerdir}
|
| |
|
| |
%cmake_build
|
| |
+ %endif
|
| |
+
|
| |
+
|
| |
|
| |
%if 0%{?doc}
|
| |
%cmake_build --target doc
|
| |
@@ -240,7 +257,14 @@
|
| |
|
| |
|
| |
%install
|
| |
+ %define _vpath_builddir %{_target_platform}-qt5
|
| |
+ %cmake_install
|
| |
+
|
| |
+ %if %{with qt6}
|
| |
+ %define _vpath_builddir %{_target_platform}-qt6
|
| |
%cmake_install
|
| |
+ %endif
|
| |
+
|
| |
|
| |
%if 0%{?doc}
|
| |
# no make install target for docs yet
|
| |
@@ -251,7 +275,9 @@
|
| |
|
| |
|
| |
%check
|
| |
+ %if %{with qt5}
|
| |
%if 0%{?test}
|
| |
+ %define _vpath_builddir %{_target_platform}-qt5
|
| |
export CTEST_OUTPUT_ON_FAILURE=1
|
| |
export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig
|
| |
# skip slow archs
|
| |
@@ -260,6 +286,20 @@
|
| |
%ctest --timeout 180
|
| |
%endif
|
| |
%endif
|
| |
+ %endif
|
| |
+
|
| |
+ %if %{with qt6}
|
| |
+ %if 0%{?test}
|
| |
+ %define _vpath_builddir %{_target_platform}-qt6
|
| |
+ export CTEST_OUTPUT_ON_FAILURE=1
|
| |
+ export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig
|
| |
+ # skip slow archs
|
| |
+ %ifnarch %{arm} ppc64 s390x
|
| |
+ test "$(pkg-config --modversion qca2-qt6)" = "%{version}"
|
| |
+ %ctest --timeout 180
|
| |
+ %endif
|
| |
+ %endif
|
| |
+ %endif
|
| |
|
| |
|
| |
%if 0%{?doc}
|
| |
@@ -267,8 +307,8 @@
|
| |
%{_docdir}/qca/html/
|
| |
%endif
|
| |
|
| |
- %ldconfig_scriptlets qt5
|
| |
|
| |
+ %if %{with qt5}
|
| |
%files qt5
|
| |
%doc README TODO
|
| |
%license COPYING
|
| |
@@ -321,9 +361,67 @@
|
| |
%files qt5-softstore
|
| |
%doc plugins/qca-softstore/README
|
| |
%{_qt5_plugindir}/crypto/libqca-softstore.so
|
| |
+ %endif
|
| |
+
|
| |
|
| |
+ %if %{with qt6}
|
| |
+ %files qt6
|
| |
+ %doc README TODO
|
| |
+ %license COPYING
|
| |
+ %{_bindir}/mozcerts-qt6
|
| |
+ %{_bindir}/qcatool-qt6
|
| |
+ %{_mandir}/man1/qcatool-qt6.1*
|
| |
+ %{_qt6_libdir}/libqca-qt6.so.2*
|
| |
+ %dir %{_qt6_plugindir}/crypto/
|
| |
+
|
| |
+ %files qt6-devel
|
| |
+ %{_qt6_headerdir}/QtCrypto
|
| |
+ %{_qt6_libdir}/libqca-qt6.so
|
| |
+ %{_libdir}/pkgconfig/qca2-qt6.pc
|
| |
+ %{_libdir}/cmake/Qca-qt6/
|
| |
+
|
| |
+ %if 0%{?botan}
|
| |
+ %files qt6-botan
|
| |
+ %doc plugins/qca-botan/README
|
| |
+ %{_qt6_plugindir}/crypto/libqca-botan.so
|
| |
+ %endif
|
| |
+
|
| |
+ %files qt6-cyrus-sasl
|
| |
+ %doc plugins/qca-gcrypt/README
|
| |
+ %{_qt6_plugindir}/crypto/libqca-cyrus-sasl.so
|
| |
+
|
| |
+ %files qt6-gcrypt
|
| |
+ %{_qt6_plugindir}/crypto/libqca-gcrypt.so
|
| |
+
|
| |
+ %files qt6-gnupg
|
| |
+ %doc plugins/qca-cyrus-sasl/README
|
| |
+ %{_qt6_plugindir}/crypto/libqca-gnupg.so
|
| |
+
|
| |
+ %files qt6-logger
|
| |
+ %doc plugins/qca-logger/README
|
| |
+ %{_qt6_plugindir}/crypto/libqca-logger.so
|
| |
+
|
| |
+ %files qt6-nss
|
| |
+ %doc plugins/qca-nss/README
|
| |
+ %{_qt6_plugindir}/crypto/libqca-nss.so
|
| |
+
|
| |
+ %files qt6-ossl
|
| |
+ %doc plugins/qca-ossl/README
|
| |
+ %{_qt6_plugindir}/crypto/libqca-ossl.so
|
| |
+
|
| |
+ %files qt6-pkcs11
|
| |
+ %doc plugins/qca-pkcs11/README
|
| |
+ %{_qt6_plugindir}/crypto/libqca-pkcs11.so
|
| |
+
|
| |
+ %files qt6-softstore
|
| |
+ %doc plugins/qca-softstore/README
|
| |
+ %{_qt6_plugindir}/crypto/libqca-softstore.so
|
| |
+ %endif
|
| |
|
| |
%changelog
|
| |
+ * Tue Nov 29 2022 Sandro Mani <manisandro@gmail.com> - 2.3.4-4
|
| |
+ - Add qt6 build
|
| |
+
|
| |
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-3
|
| |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
| |
|
| |