diff --git a/qca-2.2.1.tar.xz b/qca-2.2.1.tar.xz deleted file mode 100644 index c3a5710..0000000 Binary files a/qca-2.2.1.tar.xz and /dev/null differ diff --git a/qca-2.3.4.tar.xz b/qca-2.3.4.tar.xz new file mode 100644 index 0000000..d32e974 Binary files /dev/null and b/qca-2.3.4.tar.xz differ diff --git a/qca.spec b/qca.spec index 2423ab9..febc862 100644 --- a/qca.spec +++ b/qca.spec @@ -1,51 +1,51 @@ +%undefine __cmake_in_source_build -%if 0%{?fedora} -%global qt4 1 -%endif -%global qt5 1 - -%if 0%{?fedora} > 26 || 0%{?rhel} > 7 +%if 0%{?fedora} < 34 && 0%{?rhel} < 9 %global botan 1 %endif +#global doc 1 +%global tests 1 -Name: qca -Summary: Qt Cryptographic Architecture -Version: 2.2.1 -Release: 1 +Name: qca +Summary: Qt Cryptographic Architecture +Version: 2.3.4 +Release: 1 -License: LGPLv2+ -URL: https://userbase.kde.org/QCA -%if 0%{?snap} -Source0: qca-%{version}-%{snap}git.tar.xz -Source10: qca.sh -%else +License: LGPLv2+ +URL: https://userbase.kde.org/QCA Source0: http://download.kde.org/stable/qca/%{version}/qca-%{version}.tar.xz -%endif +## upstream patches + +## upstreamable patches BuildRequires: cmake >= 2.8.12 BuildRequires: gcc-c++ BuildRequires: libgcrypt-devel -%if 0%{?botan} -BuildRequires: pkgconfig(botan-2) -%else -Obsoletes: qca-botan < %{version}-%{release} -%endif BuildRequires: pkgconfig(libcrypto) pkgconfig(libssl) BuildRequires: pkgconfig(nss) BuildRequires: pkgconfig(libpkcs11-helper-1) BuildRequires: pkgconfig(libsasl2) -%if 0%{?qt4} -BuildRequires: pkgconfig(QtCore) -%endif -BuildRequires: doxygen -BuildRequires: graphviz +BuildRequires: pkgconfig(Qt5Core) +%if 0%{?doc} +# apidocs +# may need to add some tex-related ones too -- rex +BuildRequires: doxygen-latex +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 @@ -60,6 +60,7 @@ 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} @@ -73,11 +74,14 @@ 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 @@ -128,13 +132,9 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description softstore %{summary}. -%if 0%{?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 Taking a hint from the similarly-named Java Cryptography Architecture, @@ -152,11 +152,14 @@ Requires: %{name}-qt5%{?_isa} = %{version}-%{release} %description qt5-devel %{summary}. +%if 0%{?botan} %package qt5-botan Summary: Botan plugin for the Qt5 Cryptographic Architecture +BuildRequires: pkgconfig(botan-2) Requires: %{name}-qt5%{?_isa} = %{version}-%{release} %description qt5-botan %{summary}. +%endif %package qt5-cyrus-sasl Summary: Cyrus-SASL plugin for the Qt5 Cryptographic Architecture @@ -206,7 +209,6 @@ Summary: Pkcs11 plugin for the Qt5 Cryptographic Architecture Requires: %{name}-qt5%{?_isa} = %{version}-%{release} %description qt5-softstore %{summary}. -%endif %prep @@ -214,131 +216,57 @@ Requires: %{name}-qt5%{?_isa} = %{version}-%{release} %build -%if 0%{?qt5} -mkdir %{_target_platform}-qt5 -pushd %{_target_platform}-qt5 -%{cmake} .. \ - -DQCA_BINARY_INSTALL_DIR:STRING=%{_bindir} \ - -DQCA_FEATURE_INSTALL_DIR:PATH=%{_qt5_archdatadir}/mkspecs/features \ +mkdir build +pushd build +%cmake .. \ + -Wno-dev \ + -DBUILD_TESTS:BOOL=%{?tests:ON}%{!?tests:OFF} \ -DQCA_INCLUDE_INSTALL_DIR:PATH=%{_qt5_headerdir} \ - -DQCA_LIBRARY_INSTALL_DIR:PATH=%{_qt5_libdir} \ - -DQCA_PLUGINS_INSTALL_DIR:PATH=%{_qt5_plugindir} \ - -DQCA_PRIVATE_INCLUDE_INSTALL_DIR:PATH=%{_qt5_headerdir} \ - -DQT4_BUILD:BOOL=OFF -popd - -%make_build -C %{_target_platform}-qt5 -%endif - -%if 0%{?qt4} -mkdir %{_target_platform} -pushd %{_target_platform} -%{cmake} .. \ - -DQCA_DOC_INSTALL_DIR:PATH=%{_docdir}/qca \ + -DQCA_INSTALL_IN_QT_PREFIX:BOOL=ON \ -DQCA_BINARY_INSTALL_DIR:STRING=%{_bindir} \ - -DQCA_FEATURE_INSTALL_DIR:PATH=%{_qt4_prefix}/mkspecs/features \ - -DQCA_INCLUDE_INSTALL_DIR:PATH=%{_qt4_headerdir} \ - -DQCA_LIBRARY_INSTALL_DIR:PATH=%{_qt4_libdir} \ - -DQCA_PLUGINS_INSTALL_DIR:PATH=%{_qt4_plugindir} \ - -DQCA_PRIVATE_INCLUDE_INSTALL_DIR:PATH=%{_qt4_headerdir} \ - -DQT4_BUILD:BOOL=ON -popd + -DQCA_MAN_INSTALL_DIR:PATH=%{_mandir} \ + -DQCA_PRIVATE_INCLUDE_INSTALL_DIR:PATH=%{_qt5_headerdir} \ + -DWITH_botan_PLUGIN:BOOL=%{?botan:ON}%{?!botan:OFF} -%make_build -C %{_target_platform} - -%make_build doc -C %{_target_platform} +# -DQCA_FEATURE_INSTALL_DIR:PATH=%{_qt5_archdatadir}/mkspecs/features \ +# -DQCA_LIBRARY_INSTALL_DIR:PATH=%{_qt5_libdir} \ +# -DQCA_PLUGINS_INSTALL_DIR:PATH=%{_qt5_plugindir} \ +%make_build +%if 0%{?doc} +%make_build --target doc %endif +popd %install -%if 0%{?qt5} -make install/fast DESTDIR=%{buildroot} -C %{_target_platform}-qt5 -%endif -%if 0%{?qt4} -make install/fast DESTDIR=%{buildroot} -C %{_target_platform} - +pushd build +%make_install +%if 0%{?doc} # no make install target for docs yet mkdir -p %{buildroot}%{_docdir}/qca cp -a %{_target_platform}/apidocs/html/ \ %{buildroot}%{_docdir}/qca/ %endif +popd %check +%if 0%{?test} export CTEST_OUTPUT_ON_FAILURE=1 export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig +# skip slow archs %ifnarch %{arm} ppc64 s390x -%if 0%{?qt4} -test "$(pkg-config --modversion qca2)" = "%{version}" -make test ARGS="--timeout 180 --output-on-failure" -C %{_target_platform} ||: -%endif -%if 0%{?qt5} test "$(pkg-config --modversion qca2-qt5)" = "%{version}" -make test ARGS="--timeout 180 --output-on-failure" -C %{_target_platform}-qt5 +%ctest --timeout 180 %endif %endif -%if 0%{?qt4} -%ldconfig_scriptlets - -%files -%doc README TODO -%license COPYING -%{_qt4_libdir}/libqca.so.2* -%{_bindir}/mozcerts -%{_bindir}/qcatool -%{_mandir}/man1/qcatool.1* -%dir %{_qt4_plugindir}/crypto/ -%exclude %{_docdir}/qca/html/ - +%if 0%{?doc} %files doc %{_docdir}/qca/html/ - -%files devel -%{_qt4_headerdir}/QtCrypto -%{_qt4_libdir}/libqca.so -%{_libdir}/pkgconfig/qca2.pc -%{_libdir}/cmake/Qca/ -%{_qt4_prefix}/mkspecs/features/crypto.prf - -%files botan -%doc plugins/qca-botan/README -%{_qt4_plugindir}/crypto/libqca-botan.so - -%files cyrus-sasl -%doc plugins/qca-gcrypt/README -%{_qt4_plugindir}/crypto/libqca-cyrus-sasl.so - -%files gcrypt -%{_qt4_plugindir}/crypto/libqca-gcrypt.so - -%files gnupg -%doc plugins/qca-cyrus-sasl/README -%{_qt4_plugindir}/crypto/libqca-gnupg.so - -%files logger -%doc plugins/qca-logger/README -%{_qt4_plugindir}/crypto/libqca-logger.so - -%files nss -%doc plugins/qca-nss/README -%{_qt4_plugindir}/crypto/libqca-nss.so - -%files ossl -%doc plugins/qca-ossl/README -%{_qt4_plugindir}/crypto/libqca-ossl.so - -%files pkcs11 -%doc plugins/qca-pkcs11/README -%{_qt4_plugindir}/crypto/libqca-pkcs11.so - -%files softstore -%doc plugins/qca-softstore/README -%{_qt4_plugindir}/crypto/libqca-softstore.so %endif -%if 0%{?qt5} %ldconfig_scriptlets qt5 %files qt5 @@ -357,9 +285,11 @@ make test ARGS="--timeout 180 --output-on-failure" -C %{_target_platform}-qt5 %{_libdir}/cmake/Qca-qt5/ %{_qt5_archdatadir}/mkspecs/features/crypto.prf +%if 0%{?botan} %files qt5-botan %doc plugins/qca-botan/README %{_qt5_plugindir}/crypto/libqca-botan.so +%endif %files qt5-cyrus-sasl %doc plugins/qca-gcrypt/README @@ -391,10 +321,11 @@ make test ARGS="--timeout 180 --output-on-failure" -C %{_target_platform}-qt5 %files qt5-softstore %doc plugins/qca-softstore/README %{_qt5_plugindir}/crypto/libqca-softstore.so -%endif %changelog +* Thu Sep 08 2022 liweiganga - 2.3.4-1 +- update to upstream version 2.3.4 + * Fri Feb 18 2022 tanyulong - 2.2.1-1 - init packages for openEuler -