# # spec file for package gpgme # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define with_cpp 1 %define with_python2 1 %define with_python3 0 %define with_qt 0 Name: gpgme Version: 1.7.0 Release: 0 Summary: A Library Designed to Give Applications Easy Access to GnuPG License: LGPL-2.1+ and GPL-3.0+ Group: Productivity/Security Url: http://www.gnupg.org/related_software/gpgme/ Source: ftp://ftp.gnupg.org/gcrypt/gpgme/%{name}-%{version}.tar.bz2 Source1: ftp://ftp.gnupg.org/gcrypt/gpgme/%{name}-%{version}.tar.bz2.sig Source2: baselibs.conf Source3: gpgme.keyring # used to have a fixed timestamp Source99: %{name}.changes Patch0: gpgme-1.7.0-nonvoid-returns.patch Patch1: gpgme-1.7.0-cpp-qt-Include-config.h.patch Patch2: gpgme-1.7.0-python-Include-config.h.patch # for gpgme-1.7.0-python-Include-config.h.patch BuildRequires: automake >= 1.14 # BuildRequires: gpg2 >= 2.0.10 BuildRequires: libassuan-devel >= 2.0.2 BuildRequires: libgpg-error-devel >= 1.11 BuildRequires: pkgconfig Requires(post): %{install_info_prereq} Requires(preun): %{install_info_prereq} BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{with_python2} BuildRequires: python-devel >= 2.7 BuildRequires: swig %endif # with_python2 %if 0%{with_python3} BuildRequires: python3-devel >= 3.4 BuildRequires: swig %endif # with_python3 %if 0%{with_cpp} BuildRequires: gcc-c++ %endif # with_cpp %if 0%{with_qt} BuildRequires: pkgconfig(Qt5Core) %endif # with_qt %description GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a high-level Crypto API for encryption, decryption, signing, signature verification, and key management. Currently it uses GnuPG as its back-end, but the API is not restricted to this engine. Because the direct use of GnuPG from an application can be a complicated programming task, it is suggested that all software should try to use GPGME instead. This way bug fixes or improvements can be done at a central place and every application benefits from this. Authors of MUAs should especially consider using GPGME. Creating a set of standard widgets for common key selection tasks is even planned. %package -n libgpgme11 Summary: A Library Designed to give Applications easy Access to GnuPG Group: Development/Libraries/C and C++ Requires: gpg2 %description -n libgpgme11 GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a high-level Crypto API for encryption, decryption, signing, signature verification, and key management. Currently it uses GnuPG as its back-end, but the API is not restricted to this engine. Who Should use GPGME? Because the direct use of GnuPG from an application can be a complicated programming task, it is suggested that all software should try to use GPGME instead. This way bug fixes or improvements can be done at a central place and every application benefits from this. Authors of MUAs should especially consider using GPGME. Creating a set of standard widgets for common key selection tasks is even planned. %package -n libgpgme-devel Summary: A Library Designed to give Applications easy Access to GnuPG Group: Development/Libraries/C and C++ Requires: glibc-devel Requires: libgpg-error-devel Requires: libgpgme11 = %{version} Provides: gpgme-devel = %{version} Obsoletes: gpgme-devel < %{version} %requires_ge libassuan-devel %description -n libgpgme-devel GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a high-level Crypto API for encryption, decryption, signing, signature verification, and key management. Currently it uses GnuPG as its back-end, but the API is not restricted to this engine. Who Should use GPGME? Because the direct use of GnuPG from an application can be a complicated programming task, it is suggested that all software should try to use GPGME instead. This way bug fixes or improvements can be done at a central place and every application benefits from this. Authors of MUAs should especially consider using GPGME. Creating a set of standard widgets for common key selection tasks is even planned. %if 0%{with_cpp} %package -n libgpgmepp6 Summary: A Library Designed to give C++ Applications easy Access to GnuPG Group: Development/Libraries/C and C++ Requires: gpg2 %description -n libgpgmepp6 GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a high-level Crypto API for encryption, decryption, signing, signature verification, and key management. Currently it uses GnuPG as its back-end, but the API is not restricted to this engine. Who Should use GPGME? Because the direct use of GnuPG from an application can be a complicated programming task, it is suggested that all software should try to use GPGME instead. This way bug fixes or improvements can be done at a central place and every application benefits from this. Authors of MUAs should especially consider using GPGME. Creating a set of standard widgets for common key selection tasks is even planned. This package contains the C++ bindings. %package -n libgpgmepp-devel Summary: A Library Designed to give C++ Applications easy Access to GnuPG Group: Development/Libraries/C and C++ Requires: glibc-devel Requires: libgpg-error-devel Requires: libgpgme-devel = %{version} Requires: libgpgmepp6 = %{version} # GPGME++ originated from kdepimlibs, then became independent # It's impossible to build kdepimlibs4 with GpGME++ 1.7: therefore, conflict. Conflicts: kdepimlibs4-devel %requires_ge libassuan-devel %description -n libgpgmepp-devel GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a high-level Crypto API for encryption, decryption, signing, signature verification, and key management. Currently it uses GnuPG as its back-end, but the API is not restricted to this engine. Who Should use GPGME? Because the direct use of GnuPG from an application can be a complicated programming task, it is suggested that all software should try to use GPGME instead. This way bug fixes or improvements can be done at a central place and every application benefits from this. Authors of MUAs should especially consider using GPGME. Creating a set of standard widgets for common key selection tasks is even planned. This package contains the bindings to use the library in C++ applications. %endif # with_cpp %if 0%{with_python2} %package -n python-pyme Summary: Access GnuPG from Python 2 made easy Group: Development/Libraries/Python %description -n python-pyme GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a high-level Crypto API for encryption, decryption, signing, signature verification, and key management. Currently it uses GnuPG as its back-end, but the API is not restricted to this engine. Who Should use GPGME? Because the direct use of GnuPG from an application can be a complicated programming task, it is suggested that all software should try to use GPGME instead. This way bug fixes or improvements can be done at a central place and every application benefits from this. Authors of MUAs should especially consider using GPGME. Creating a set of standard widgets for common key selection tasks is even planned. This package contains the bindings to use the library from Python 2 applications. %endif # with_python2 %if 0%{with_python3} %package -n python3-pyme Summary: Access GnuPG from Python 3 made easy Group: Development/Libraries/Python %description -n python3-pyme GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a high-level Crypto API for encryption, decryption, signing, signature verification, and key management. Currently it uses GnuPG as its back-end, but the API is not restricted to this engine. Who Should use GPGME? Because the direct use of GnuPG from an application can be a complicated programming task, it is suggested that all software should try to use GPGME instead. This way bug fixes or improvements can be done at a central place and every application benefits from this. Authors of MUAs should especially consider using GPGME. Creating a set of standard widgets for common key selection tasks is even planned. This package contains the bindings to use the library from Python 3 applications. %endif # with_python3 %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %build # for gpgme-1.7.0-python-Include-config.h.patch ./autogen.sh # build_timestamp=$(date -u +%{Y}-%{m}-%{dT}%{H}:%{M}+0000 -r %{SOURCE99}) languages="cl" %if 0%{with_cpp} languages="${languages} cpp" %if %{with_qt} languages="${languages} qt" %endif # with_qt %endif # with_cpp %if 0%{with_python2} languages="${languages} python2" %endif # with_python2 %if 0%{with_python3} languages="${languages} python3" %endif # with_python3 %configure \ --disable-static \ --disable-fd-passing \ --enable-languages="${languages}" \ --enable-build-timestamp="${build_timestamp}" make %{?_smp_mflags} %install make %{?_smp_mflags} DESTDIR=%{buildroot} install find %{buildroot} -type f -name "*.la" -delete -print %if 0%{with_cpp} chmod -x %{buildroot}%{_libdir}/cmake/Gpgmepp/*.cmake %endif # with_cpp %if 0%{with_python2} find %{buildroot}%{python_sitearch}/pyme3-*.egg-info -delete -print find %{buildroot}%{python_sitearch}/pyme -type f -name "*.pyc" -delete -print rm -v %{buildroot}%{python_sitelib}/pyme/install_files.txt %endif # with_python2 %if 0%{with_python3} find %{buildroot}%{python3_sitearch}/pyme3-*.egg-info -delete -print rm -v %{buildroot}%{python3_sitelib}/pyme/install_files.txt find %{buildroot}%{python3_sitearch}/pyme -type f -name "*.pyc" -delete -print %endif # with_python3 %check %if ! 0%{?qemu_user_space_build} make %{?_smp_mflags} check %endif %post -n libgpgme11 -p /sbin/ldconfig %postun -n libgpgme11 -p /sbin/ldconfig %if 0%{with_cpp} %post -n libgpgmepp6 -p /sbin/ldconfig %postun -n libgpgmepp6 -p /sbin/ldconfig %endif # with_cpp %post %install_info --info-dir=%{_infodir} %{_infodir}/gpgme.info.gz %preun %install_info_delete --info-dir=%{_infodir} %{_infodir}/gpgme.info.gz %files %defattr(-,root,root) %doc AUTHORS COPYING COPYING.LESSER ChangeLog ChangeLog-2011 README NEWS THANKS TODO VERSION %{_bindir}/gpgme-tool %{_datadir}/common-lisp %{_datadir}/common-lisp/source %{_infodir}/gpgme* %files -n libgpgme11 %defattr(-,root,root) %{_libdir}/libgpgme.so.* %{_libdir}/libgpgme-pthread.so.* %files -n libgpgme-devel %defattr(-,root,root) %{_libdir}/libgpgme.so %{_libdir}/libgpgme-pthread.so %{_bindir}/gpgme-config %{_datadir}/aclocal/gpgme.m4 %{_includedir}/gpgme.h %if 0%{with_cpp} %files -n libgpgmepp6 %defattr(-,root,root) %{_libdir}/libgpgmepp.so.* %files -n libgpgmepp-devel %defattr(-,root,root) %{_libdir}/libgpgmepp.so %{_includedir}/gpgmepp_version.h %{_includedir}/gpgme++ %dir %{_libdir}/cmake %dir %{_libdir}/cmake/Gpgmepp %{_libdir}/cmake/Gpgmepp/GpgmeppConfig*.cmake %endif # with_cpp %if 0%{with_python2} %files -n python-pyme %defattr(-,root,root) %{python_sitelib}/pyme %{python_sitearch}/pyme %endif # with_python2 %if 0%{with_python3} %files -n python3-pyme %defattr(-,root,root) %{python3_sitelib}/pyme %{python3_sitearch}/pyme %endif # with_python3 %changelog