332 lines
8.5 KiB
RPMSpec
332 lines
8.5 KiB
RPMSpec
%undefine __cmake_in_source_build
|
|
|
|
%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.3.4
|
|
Release: 1
|
|
|
|
License: LGPLv2+
|
|
URL: https://userbase.kde.org/QCA
|
|
Source0: http://download.kde.org/stable/qca/%{version}/qca-%{version}.tar.xz
|
|
|
|
## upstream patches
|
|
|
|
## upstreamable patches
|
|
|
|
BuildRequires: cmake >= 2.8.12
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: libgcrypt-devel
|
|
BuildRequires: pkgconfig(libcrypto) pkgconfig(libssl)
|
|
BuildRequires: pkgconfig(nss)
|
|
BuildRequires: pkgconfig(libpkcs11-helper-1)
|
|
BuildRequires: pkgconfig(libsasl2)
|
|
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
|
|
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 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}.
|
|
|
|
%package qt5
|
|
Summary: Qt5 Cryptographic Architecture
|
|
# 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,
|
|
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 qt5-devel
|
|
Summary: Qt5 Cryptographic Architecture development files
|
|
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
|
|
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
|
|
%description qt5-cyrus-sasl
|
|
%{summary}.
|
|
|
|
%package qt5-gcrypt
|
|
Summary: Gcrypt plugin for the Qt5 Cryptographic Architecture
|
|
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
|
|
%description qt5-gcrypt
|
|
%{summary}.
|
|
|
|
%package qt5-gnupg
|
|
Summary: Gnupg plugin for the Qt Cryptographic Architecture
|
|
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
|
|
Requires: gnupg
|
|
%description qt5-gnupg
|
|
%{summary}.
|
|
|
|
%package qt5-logger
|
|
Summary: Logger plugin for the Qt5 Cryptographic Architecture
|
|
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
|
|
%description qt5-logger
|
|
%{summary}.
|
|
|
|
%package qt5-nss
|
|
Summary: Nss plugin for the Qt5 Cryptographic Architecture
|
|
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
|
|
%description qt5-nss
|
|
%{summary}.
|
|
|
|
%package qt5-ossl
|
|
Summary: Openssl plugin for the Qt5 Cryptographic Architecture
|
|
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
|
|
%description qt5-ossl
|
|
%{summary}.
|
|
|
|
%package qt5-pkcs11
|
|
Summary: Pkcs11 plugin for the Qt5 Cryptographic Architecture
|
|
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
|
|
%description qt5-pkcs11
|
|
%{summary}.
|
|
|
|
%package qt5-softstore
|
|
Summary: Pkcs11 plugin for the Qt5 Cryptographic Architecture
|
|
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
|
|
%description qt5-softstore
|
|
%{summary}.
|
|
|
|
|
|
%prep
|
|
%autosetup -p1
|
|
|
|
|
|
%build
|
|
mkdir build
|
|
pushd build
|
|
%cmake .. \
|
|
-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}
|
|
|
|
# -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
|
|
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
|
|
test "$(pkg-config --modversion qca2-qt5)" = "%{version}"
|
|
%ctest --timeout 180
|
|
%endif
|
|
%endif
|
|
|
|
|
|
%if 0%{?doc}
|
|
%files doc
|
|
%{_docdir}/qca/html/
|
|
%endif
|
|
|
|
%ldconfig_scriptlets qt5
|
|
|
|
%files qt5
|
|
%doc README TODO
|
|
%license COPYING
|
|
%{_bindir}/mozcerts-qt5
|
|
%{_bindir}/qcatool-qt5
|
|
%{_mandir}/man1/qcatool-qt5.1*
|
|
%{_qt5_libdir}/libqca-qt5.so.2*
|
|
%dir %{_qt5_plugindir}/crypto/
|
|
|
|
%files qt5-devel
|
|
%{_qt5_headerdir}/QtCrypto
|
|
%{_qt5_libdir}/libqca-qt5.so
|
|
%{_libdir}/pkgconfig/qca2-qt5.pc
|
|
%{_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
|
|
%{_qt5_plugindir}/crypto/libqca-cyrus-sasl.so
|
|
|
|
%files qt5-gcrypt
|
|
%{_qt5_plugindir}/crypto/libqca-gcrypt.so
|
|
|
|
%files qt5-gnupg
|
|
%doc plugins/qca-cyrus-sasl/README
|
|
%{_qt5_plugindir}/crypto/libqca-gnupg.so
|
|
|
|
%files qt5-logger
|
|
%doc plugins/qca-logger/README
|
|
%{_qt5_plugindir}/crypto/libqca-logger.so
|
|
|
|
%files qt5-nss
|
|
%doc plugins/qca-nss/README
|
|
%{_qt5_plugindir}/crypto/libqca-nss.so
|
|
|
|
%files qt5-ossl
|
|
%doc plugins/qca-ossl/README
|
|
%{_qt5_plugindir}/crypto/libqca-ossl.so
|
|
|
|
%files qt5-pkcs11
|
|
%doc plugins/qca-pkcs11/README
|
|
%{_qt5_plugindir}/crypto/libqca-pkcs11.so
|
|
|
|
%files qt5-softstore
|
|
%doc plugins/qca-softstore/README
|
|
%{_qt5_plugindir}/crypto/libqca-softstore.so
|
|
|
|
|
|
%changelog
|
|
* Thu Sep 08 2022 liweiganga <liweiganga@uniontech.com> - 2.3.4-1
|
|
- update to upstream version 2.3.4
|
|
|
|
* Fri Feb 18 2022 tanyulong <tanyulong@kylinos.cn> - 2.2.1-1
|
|
- init packages for openEuler
|