From 763d5f5d6a88ec938b8678ab597e1404af724553 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= Date: Mon, 3 Feb 2025 10:49:25 +0100 Subject: cpp,qt: Remove C++ and Qt bindings * README: Update. * configure.ac: Remove checks, variables and file generations related to the C++/Qt bindings. Remove cpp and qt* from available_languages and default_languages. * lang/Makefile.am (DIST_SUBDIRS): Remove cpp and qt. * lang/cpp, lang/qt: Remove. * m4/ax_check_compile_flag.m4, m4/ax_cxx_compile_stdcxx.m4, m4/ax_gcc_func_attribute.m4, m4/pkg.m4, m4/qt5.m4, m4/qt6.m4: Remove. -- The C++ and Qt bindings have been moved to separate Git repositories: gpgmepp and gpgmeqt. GnuPG-bug-id: 7262 --- README | 5 +- configure.ac | 298 +-- lang/Makefile.am | 2 +- lang/README | 9 +- lang/cpp/Makefile.am | 29 - lang/cpp/README | 101 - lang/cpp/src/GpgmeppConfig-w32.cmake.in.in | 99 - lang/cpp/src/GpgmeppConfig.cmake.in.in | 95 - lang/cpp/src/GpgmeppConfigVersion.cmake.in | 31 - lang/cpp/src/Makefile.am | 134 -- lang/cpp/src/callbacks.cpp | 155 -- lang/cpp/src/callbacks.h | 47 - lang/cpp/src/configuration.cpp | 788 ------- lang/cpp/src/configuration.h | 292 --- lang/cpp/src/context.cpp | 2138 ------------------ lang/cpp/src/context.h | 586 ----- lang/cpp/src/context_p.h | 88 - lang/cpp/src/context_vanilla.cpp | 39 - lang/cpp/src/data.cpp | 293 --- lang/cpp/src/data.h | 149 -- lang/cpp/src/data_p.h | 42 - lang/cpp/src/decryptionresult.cpp | 287 --- lang/cpp/src/decryptionresult.h | 143 -- lang/cpp/src/defaultassuantransaction.cpp | 82 - lang/cpp/src/defaultassuantransaction.h | 67 - lang/cpp/src/editinteractor.cpp | 436 ---- lang/cpp/src/editinteractor.h | 73 - lang/cpp/src/encryptionresult.cpp | 165 -- lang/cpp/src/encryptionresult.h | 117 - lang/cpp/src/engineinfo.cpp | 94 - lang/cpp/src/engineinfo.h | 255 --- lang/cpp/src/error.h | 84 - lang/cpp/src/eventloopinteractor.cpp | 205 -- lang/cpp/src/eventloopinteractor.h | 158 -- lang/cpp/src/exception.cpp | 64 - lang/cpp/src/exception.h | 70 - lang/cpp/src/global.h | 244 -- .../cpp/src/gpgaddexistingsubkeyeditinteractor.cpp | 205 -- lang/cpp/src/gpgaddexistingsubkeyeditinteractor.h | 60 - lang/cpp/src/gpgadduserideditinteractor.cpp | 191 -- lang/cpp/src/gpgadduserideditinteractor.h | 69 - lang/cpp/src/gpgagentgetinfoassuantransaction.cpp | 123 - lang/cpp/src/gpgagentgetinfoassuantransaction.h | 75 - lang/cpp/src/gpggencardkeyinteractor.cpp | 469 ---- lang/cpp/src/gpggencardkeyinteractor.h | 95 - lang/cpp/src/gpgmefw.h | 81 - lang/cpp/src/gpgmepp.pc.in | 13 - lang/cpp/src/gpgmepp_export.h | 74 - lang/cpp/src/gpgmepp_version.h.in | 31 - lang/cpp/src/gpgrevokekeyeditinteractor.cpp | 207 -- lang/cpp/src/gpgrevokekeyeditinteractor.h | 63 - lang/cpp/src/gpgsetexpirytimeeditinteractor.cpp | 143 -- lang/cpp/src/gpgsetexpirytimeeditinteractor.h | 51 - lang/cpp/src/gpgsetownertrusteditinteractor.cpp | 153 -- lang/cpp/src/gpgsetownertrusteditinteractor.h | 52 - lang/cpp/src/gpgsignkeyeditinteractor.cpp | 395 ---- lang/cpp/src/gpgsignkeyeditinteractor.h | 77 - lang/cpp/src/importresult.cpp | 395 ---- lang/cpp/src/importresult.h | 152 -- lang/cpp/src/interfaces/assuantransaction.h | 51 - lang/cpp/src/interfaces/dataprovider.h | 55 - lang/cpp/src/interfaces/passphraseprovider.h | 42 - lang/cpp/src/interfaces/progressprovider.h | 42 - lang/cpp/src/interfaces/statusconsumer.h | 42 - lang/cpp/src/key.cpp | 1455 ------------ lang/cpp/src/key.h | 618 ----- lang/cpp/src/keygenerationresult.cpp | 98 - lang/cpp/src/keygenerationresult.h | 85 - lang/cpp/src/keylistresult.cpp | 113 - lang/cpp/src/keylistresult.h | 84 - lang/cpp/src/notation.h | 87 - lang/cpp/src/result.h | 68 - lang/cpp/src/result_p.h | 45 - lang/cpp/src/scdgetinfoassuantransaction.cpp | 161 -- lang/cpp/src/scdgetinfoassuantransaction.h | 78 - lang/cpp/src/signingresult.cpp | 273 --- lang/cpp/src/signingresult.h | 167 -- lang/cpp/src/statusconsumerassuantransaction.cpp | 67 - lang/cpp/src/statusconsumerassuantransaction.h | 51 - lang/cpp/src/swdbresult.cpp | 232 -- lang/cpp/src/swdbresult.h | 130 -- lang/cpp/src/tofuinfo.cpp | 173 -- lang/cpp/src/tofuinfo.h | 124 -- lang/cpp/src/trustitem.cpp | 120 - lang/cpp/src/trustitem.h | 83 - lang/cpp/src/util.cpp | 47 - lang/cpp/src/util.h | 214 -- lang/cpp/src/verificationresult.cpp | 642 ------ lang/cpp/src/verificationresult.h | 207 -- lang/cpp/src/vfsmountresult.cpp | 96 - lang/cpp/src/vfsmountresult.h | 77 - lang/cpp/tests/Makefile.am | 45 - lang/cpp/tests/README | 4 - lang/cpp/tests/run-getkey.cpp | 158 -- lang/cpp/tests/run-keylist.cpp | 172 -- lang/cpp/tests/run-verify.cpp | 185 -- lang/cpp/tests/run-wkdlookup.cpp | 158 -- lang/qt/Makefile.am | 29 - lang/qt/README | 130 -- lang/qt/doc/Doxyfile.in | 2352 -------------------- lang/qt/doc/Makefile.am | 33 - lang/qt/src/Makefile.am | 509 ----- lang/qt/src/QGpgmeConfig-w32.cmake.in.in | 109 - lang/qt/src/QGpgmeConfig.cmake.in.in | 101 - lang/qt/src/QGpgmeConfigVersion.cmake.in | 31 - lang/qt/src/QGpgmeQt6Config-w32.cmake.in.in | 109 - lang/qt/src/QGpgmeQt6Config.cmake.in.in | 101 - lang/qt/src/QGpgmeQt6ConfigVersion.cmake.in | 31 - lang/qt/src/abstractimportjob.h | 65 - lang/qt/src/addexistingsubkeyjob.h | 79 - lang/qt/src/adduseridjob.h | 85 - lang/qt/src/changeexpiryjob.cpp | 62 - lang/qt/src/changeexpiryjob.h | 111 - lang/qt/src/changeexpiryjob_p.h | 51 - lang/qt/src/changeownertrustjob.h | 78 - lang/qt/src/changepasswdjob.h | 83 - lang/qt/src/cleaner.cpp | 99 - lang/qt/src/cleaner.h | 60 - lang/qt/src/cryptoconfig.cpp | 75 - lang/qt/src/cryptoconfig.h | 424 ---- lang/qt/src/dataprovider.cpp | 301 --- lang/qt/src/dataprovider.h | 98 - lang/qt/src/debug.cpp | 55 - lang/qt/src/debug.h | 64 - lang/qt/src/decryptjob.h | 99 - lang/qt/src/decryptverifyarchivejob.cpp | 95 - lang/qt/src/decryptverifyarchivejob.h | 130 -- lang/qt/src/decryptverifyarchivejob_p.h | 51 - lang/qt/src/decryptverifyjob.cpp | 86 - lang/qt/src/decryptverifyjob.h | 146 -- lang/qt/src/decryptverifyjob_p.h | 51 - lang/qt/src/defaultkeygenerationjob.cpp | 134 -- lang/qt/src/defaultkeygenerationjob.h | 80 - lang/qt/src/deletejob.h | 84 - lang/qt/src/dn.cpp | 497 ----- lang/qt/src/dn.h | 137 -- lang/qt/src/downloadjob.h | 104 - lang/qt/src/encryptarchivejob.cpp | 119 - lang/qt/src/encryptarchivejob.h | 151 -- lang/qt/src/encryptarchivejob_p.h | 53 - lang/qt/src/encryptjob.cpp | 122 - lang/qt/src/encryptjob.h | 198 -- lang/qt/src/encryptjob_p.h | 60 - lang/qt/src/exportjob.h | 95 - lang/qt/src/filelistdataprovider.cpp | 98 - lang/qt/src/filelistdataprovider.h | 75 - lang/qt/src/gpgcardjob.h | 74 - lang/qt/src/hierarchicalkeylistjob.h | 122 - lang/qt/src/importfromkeyserverjob.h | 85 - lang/qt/src/importjob.cpp | 87 - lang/qt/src/importjob.h | 98 - lang/qt/src/importjob_p.h | 54 - lang/qt/src/job.cpp | 214 -- lang/qt/src/job.h | 152 -- lang/qt/src/job_p.h | 98 - lang/qt/src/keyformailboxjob.h | 99 - lang/qt/src/keygenerationjob.h | 86 - lang/qt/src/keylistjob.h | 106 - lang/qt/src/listallkeysjob.cpp | 53 - lang/qt/src/listallkeysjob.h | 116 - lang/qt/src/listallkeysjob_p.h | 51 - lang/qt/src/multideletejob.cpp | 123 - lang/qt/src/multideletejob.h | 108 - lang/qt/src/protocol.h | 235 -- lang/qt/src/protocol_p.h | 575 ----- lang/qt/src/qgpgme_debug.cpp | 14 - lang/qt/src/qgpgme_debug.h | 10 - lang/qt/src/qgpgme_export.h | 84 - lang/qt/src/qgpgme_version.h.in | 42 - lang/qt/src/qgpgmeaddexistingsubkeyjob.cpp | 96 - lang/qt/src/qgpgmeaddexistingsubkeyjob.h | 68 - lang/qt/src/qgpgmeadduseridjob.cpp | 85 - lang/qt/src/qgpgmeadduseridjob.h | 66 - lang/qt/src/qgpgmebackend.cpp | 222 -- lang/qt/src/qgpgmebackend.h | 95 - lang/qt/src/qgpgmechangeexpiryjob.cpp | 133 -- lang/qt/src/qgpgmechangeexpiryjob.h | 72 - lang/qt/src/qgpgmechangeownertrustjob.cpp | 96 - lang/qt/src/qgpgmechangeownertrustjob.h | 66 - lang/qt/src/qgpgmechangepasswdjob.cpp | 84 - lang/qt/src/qgpgmechangepasswdjob.h | 67 - lang/qt/src/qgpgmedecryptjob.cpp | 128 -- lang/qt/src/qgpgmedecryptjob.h | 75 - lang/qt/src/qgpgmedecryptverifyarchivejob.cpp | 169 -- lang/qt/src/qgpgmedecryptverifyarchivejob.h | 68 - lang/qt/src/qgpgmedecryptverifyjob.cpp | 228 -- lang/qt/src/qgpgmedecryptverifyjob.h | 76 - lang/qt/src/qgpgmedeletejob.cpp | 70 - lang/qt/src/qgpgmedeletejob.h | 72 - lang/qt/src/qgpgmedownloadjob.cpp | 105 - lang/qt/src/qgpgmedownloadjob.h | 70 - lang/qt/src/qgpgmeencryptarchivejob.cpp | 192 -- lang/qt/src/qgpgmeencryptarchivejob.h | 70 - lang/qt/src/qgpgmeencryptjob.cpp | 257 --- lang/qt/src/qgpgmeencryptjob.h | 98 - lang/qt/src/qgpgmeexportjob.cpp | 115 - lang/qt/src/qgpgmeexportjob.h | 81 - lang/qt/src/qgpgmegpgcardjob.cpp | 131 -- lang/qt/src/qgpgmegpgcardjob.h | 63 - lang/qt/src/qgpgmeimportfromkeyserverjob.cpp | 80 - lang/qt/src/qgpgmeimportfromkeyserverjob.h | 72 - lang/qt/src/qgpgmeimportjob.cpp | 172 -- lang/qt/src/qgpgmeimportjob.h | 76 - lang/qt/src/qgpgmekeyformailboxjob.cpp | 142 -- lang/qt/src/qgpgmekeyformailboxjob.h | 80 - lang/qt/src/qgpgmekeygenerationjob.cpp | 76 - lang/qt/src/qgpgmekeygenerationjob.h | 69 - lang/qt/src/qgpgmekeylistjob.cpp | 164 -- lang/qt/src/qgpgmekeylistjob.h | 80 - lang/qt/src/qgpgmelistallkeysjob.cpp | 241 -- lang/qt/src/qgpgmelistallkeysjob.h | 73 - lang/qt/src/qgpgmenewcryptoconfig.cpp | 819 ------- lang/qt/src/qgpgmenewcryptoconfig.h | 188 -- lang/qt/src/qgpgmequickjob.cpp | 211 -- lang/qt/src/qgpgmequickjob.h | 78 - lang/qt/src/qgpgmereceivekeysjob.cpp | 73 - lang/qt/src/qgpgmereceivekeysjob.h | 69 - lang/qt/src/qgpgmerefreshsmimekeysjob.cpp | 256 --- lang/qt/src/qgpgmerefreshsmimekeysjob.h | 78 - lang/qt/src/qgpgmerevokekeyjob.cpp | 127 -- lang/qt/src/qgpgmerevokekeyjob.h | 70 - lang/qt/src/qgpgmesetprimaryuseridjob.cpp | 75 - lang/qt/src/qgpgmesetprimaryuseridjob.h | 64 - lang/qt/src/qgpgmesignarchivejob.cpp | 196 -- lang/qt/src/qgpgmesignarchivejob.h | 69 - lang/qt/src/qgpgmesignencryptarchivejob.cpp | 212 -- lang/qt/src/qgpgmesignencryptarchivejob.h | 72 - lang/qt/src/qgpgmesignencryptjob.cpp | 266 --- lang/qt/src/qgpgmesignencryptjob.h | 106 - lang/qt/src/qgpgmesignjob.cpp | 280 --- lang/qt/src/qgpgmesignjob.h | 90 - lang/qt/src/qgpgmesignkeyjob.cpp | 242 -- lang/qt/src/qgpgmesignkeyjob.h | 98 - lang/qt/src/qgpgmetofupolicyjob.cpp | 70 - lang/qt/src/qgpgmetofupolicyjob.h | 66 - lang/qt/src/qgpgmeverifydetachedjob.cpp | 201 -- lang/qt/src/qgpgmeverifydetachedjob.h | 76 - lang/qt/src/qgpgmeverifyopaquejob.cpp | 216 -- lang/qt/src/qgpgmeverifyopaquejob.h | 75 - lang/qt/src/qgpgmewkdlookupjob.cpp | 185 -- lang/qt/src/qgpgmewkdlookupjob.h | 70 - lang/qt/src/qgpgmewkdrefreshjob.cpp | 159 -- lang/qt/src/qgpgmewkdrefreshjob.h | 64 - lang/qt/src/qgpgmewkspublishjob.cpp | 195 -- lang/qt/src/qgpgmewkspublishjob.h | 71 - lang/qt/src/quickjob.cpp | 52 - lang/qt/src/quickjob.h | 101 - lang/qt/src/quickjob_p.h | 51 - lang/qt/src/receivekeysjob.h | 66 - lang/qt/src/refreshkeysjob.h | 96 - lang/qt/src/revokekeyjob.h | 86 - lang/qt/src/setprimaryuseridjob.h | 69 - lang/qt/src/signarchivejob.cpp | 107 - lang/qt/src/signarchivejob.h | 141 -- lang/qt/src/signarchivejob_p.h | 52 - lang/qt/src/signencryptarchivejob.cpp | 131 -- lang/qt/src/signencryptarchivejob.h | 165 -- lang/qt/src/signencryptarchivejob_p.h | 54 - lang/qt/src/signencryptjob.cpp | 122 - lang/qt/src/signencryptjob.h | 213 -- lang/qt/src/signencryptjob_p.h | 59 - lang/qt/src/signjob.cpp | 110 - lang/qt/src/signjob.h | 176 -- lang/qt/src/signjob_p.h | 56 - lang/qt/src/signkeyjob.h | 164 -- lang/qt/src/specialjob.h | 92 - lang/qt/src/threadedjobmixin.cpp | 152 -- lang/qt/src/threadedjobmixin.h | 302 --- lang/qt/src/tofupolicyjob.h | 77 - lang/qt/src/util.cpp | 173 -- lang/qt/src/util.h | 91 - lang/qt/src/verifydetachedjob.cpp | 86 - lang/qt/src/verifydetachedjob.h | 130 -- lang/qt/src/verifydetachedjob_p.h | 51 - lang/qt/src/verifyopaquejob.cpp | 86 - lang/qt/src/verifyopaquejob.h | 142 -- lang/qt/src/verifyopaquejob_p.h | 51 - lang/qt/src/wkdlookupjob.h | 78 - lang/qt/src/wkdlookupresult.cpp | 117 - lang/qt/src/wkdlookupresult.h | 84 - lang/qt/src/wkdrefreshjob.cpp | 64 - lang/qt/src/wkdrefreshjob.h | 80 - lang/qt/src/wkdrefreshjob_p.h | 52 - lang/qt/src/wkspublishjob.h | 108 - lang/qt/tests/Makefile.am | 424 ---- lang/qt/tests/final.test | 6 - lang/qt/tests/initial.test | 2 - lang/qt/tests/run-decryptverifyarchivejob.cpp | 127 -- lang/qt/tests/run-decryptverifyjob.cpp | 168 -- lang/qt/tests/run-encryptarchivejob.cpp | 217 -- lang/qt/tests/run-encryptjob.cpp | 199 -- lang/qt/tests/run-exportjob.cpp | 120 - lang/qt/tests/run-importjob.cpp | 97 - lang/qt/tests/run-keyformailboxjob.cpp | 61 - lang/qt/tests/run-receivekeysjob.cpp | 66 - lang/qt/tests/run-refreshkeysjob.cpp | 156 -- lang/qt/tests/run-signarchivejob.cpp | 177 -- lang/qt/tests/run-signjob.cpp | 168 -- lang/qt/tests/run-verifydetachedjob.cpp | 128 -- lang/qt/tests/run-verifyopaquejob.cpp | 165 -- lang/qt/tests/run-wkdrefreshjob.cpp | 154 -- lang/qt/tests/t-addexistingsubkey.cpp | 266 --- lang/qt/tests/t-changeexpiryjob.cpp | 397 ---- lang/qt/tests/t-config.cpp | 94 - lang/qt/tests/t-decryptverify.cpp | 131 -- lang/qt/tests/t-disablekey.cpp | 118 - lang/qt/tests/t-encrypt.cpp | 333 --- lang/qt/tests/t-import.cpp | 250 --- lang/qt/tests/t-keylist.cpp | 206 -- lang/qt/tests/t-keylocate.cpp | 132 -- lang/qt/tests/t-ownertrust.cpp | 113 - lang/qt/tests/t-remarks.cpp | 472 ---- lang/qt/tests/t-revokekey.cpp | 338 --- lang/qt/tests/t-setprimaryuserid.cpp | 165 -- lang/qt/tests/t-support.cpp | 170 -- lang/qt/tests/t-support.h | 134 -- lang/qt/tests/t-tofuinfo.cpp | 530 ----- lang/qt/tests/t-trustsignatures.cpp | 524 ----- lang/qt/tests/t-various.cpp | 418 ---- lang/qt/tests/t-verify.cpp | 95 - lang/qt/tests/t-wkdlookup.cpp | 155 -- lang/qt/tests/t-wkspublish.cpp | 280 --- m4/ax_check_compile_flag.m4 | 53 - m4/ax_cxx_compile_stdcxx.m4 | 1009 --------- m4/ax_gcc_func_attribute.m4 | 242 -- m4/pkg.m4 | 157 -- m4/qt5.m4 | 83 - m4/qt6.m4 | 98 - 328 files changed, 16 insertions(+), 51562 deletions(-) delete mode 100644 lang/cpp/Makefile.am delete mode 100644 lang/cpp/README delete mode 100644 lang/cpp/src/GpgmeppConfig-w32.cmake.in.in delete mode 100644 lang/cpp/src/GpgmeppConfig.cmake.in.in delete mode 100644 lang/cpp/src/GpgmeppConfigVersion.cmake.in delete mode 100644 lang/cpp/src/Makefile.am delete mode 100644 lang/cpp/src/callbacks.cpp delete mode 100644 lang/cpp/src/callbacks.h delete mode 100644 lang/cpp/src/configuration.cpp delete mode 100644 lang/cpp/src/configuration.h delete mode 100644 lang/cpp/src/context.cpp delete mode 100644 lang/cpp/src/context.h delete mode 100644 lang/cpp/src/context_p.h delete mode 100644 lang/cpp/src/context_vanilla.cpp delete mode 100644 lang/cpp/src/data.cpp delete mode 100644 lang/cpp/src/data.h delete mode 100644 lang/cpp/src/data_p.h delete mode 100644 lang/cpp/src/decryptionresult.cpp delete mode 100644 lang/cpp/src/decryptionresult.h delete mode 100644 lang/cpp/src/defaultassuantransaction.cpp delete mode 100644 lang/cpp/src/defaultassuantransaction.h delete mode 100644 lang/cpp/src/editinteractor.cpp delete mode 100644 lang/cpp/src/editinteractor.h delete mode 100644 lang/cpp/src/encryptionresult.cpp delete mode 100644 lang/cpp/src/encryptionresult.h delete mode 100644 lang/cpp/src/engineinfo.cpp delete mode 100644 lang/cpp/src/engineinfo.h delete mode 100644 lang/cpp/src/error.h delete mode 100644 lang/cpp/src/eventloopinteractor.cpp delete mode 100644 lang/cpp/src/eventloopinteractor.h delete mode 100644 lang/cpp/src/exception.cpp delete mode 100644 lang/cpp/src/exception.h delete mode 100644 lang/cpp/src/global.h delete mode 100644 lang/cpp/src/gpgaddexistingsubkeyeditinteractor.cpp delete mode 100644 lang/cpp/src/gpgaddexistingsubkeyeditinteractor.h delete mode 100644 lang/cpp/src/gpgadduserideditinteractor.cpp delete mode 100644 lang/cpp/src/gpgadduserideditinteractor.h delete mode 100644 lang/cpp/src/gpgagentgetinfoassuantransaction.cpp delete mode 100644 lang/cpp/src/gpgagentgetinfoassuantransaction.h delete mode 100644 lang/cpp/src/gpggencardkeyinteractor.cpp delete mode 100644 lang/cpp/src/gpggencardkeyinteractor.h delete mode 100644 lang/cpp/src/gpgmefw.h delete mode 100644 lang/cpp/src/gpgmepp.pc.in delete mode 100644 lang/cpp/src/gpgmepp_export.h delete mode 100644 lang/cpp/src/gpgmepp_version.h.in delete mode 100644 lang/cpp/src/gpgrevokekeyeditinteractor.cpp delete mode 100644 lang/cpp/src/gpgrevokekeyeditinteractor.h delete mode 100644 lang/cpp/src/gpgsetexpirytimeeditinteractor.cpp delete mode 100644 lang/cpp/src/gpgsetexpirytimeeditinteractor.h delete mode 100644 lang/cpp/src/gpgsetownertrusteditinteractor.cpp delete mode 100644 lang/cpp/src/gpgsetownertrusteditinteractor.h delete mode 100644 lang/cpp/src/gpgsignkeyeditinteractor.cpp delete mode 100644 lang/cpp/src/gpgsignkeyeditinteractor.h delete mode 100644 lang/cpp/src/importresult.cpp delete mode 100644 lang/cpp/src/importresult.h delete mode 100644 lang/cpp/src/interfaces/assuantransaction.h delete mode 100644 lang/cpp/src/interfaces/dataprovider.h delete mode 100644 lang/cpp/src/interfaces/passphraseprovider.h delete mode 100644 lang/cpp/src/interfaces/progressprovider.h delete mode 100644 lang/cpp/src/interfaces/statusconsumer.h delete mode 100644 lang/cpp/src/key.cpp delete mode 100644 lang/cpp/src/key.h delete mode 100644 lang/cpp/src/keygenerationresult.cpp delete mode 100644 lang/cpp/src/keygenerationresult.h delete mode 100644 lang/cpp/src/keylistresult.cpp delete mode 100644 lang/cpp/src/keylistresult.h delete mode 100644 lang/cpp/src/notation.h delete mode 100644 lang/cpp/src/result.h delete mode 100644 lang/cpp/src/result_p.h delete mode 100644 lang/cpp/src/scdgetinfoassuantransaction.cpp delete mode 100644 lang/cpp/src/scdgetinfoassuantransaction.h delete mode 100644 lang/cpp/src/signingresult.cpp delete mode 100644 lang/cpp/src/signingresult.h delete mode 100644 lang/cpp/src/statusconsumerassuantransaction.cpp delete mode 100644 lang/cpp/src/statusconsumerassuantransaction.h delete mode 100644 lang/cpp/src/swdbresult.cpp delete mode 100644 lang/cpp/src/swdbresult.h delete mode 100644 lang/cpp/src/tofuinfo.cpp delete mode 100644 lang/cpp/src/tofuinfo.h delete mode 100644 lang/cpp/src/trustitem.cpp delete mode 100644 lang/cpp/src/trustitem.h delete mode 100644 lang/cpp/src/util.cpp delete mode 100644 lang/cpp/src/util.h delete mode 100644 lang/cpp/src/verificationresult.cpp delete mode 100644 lang/cpp/src/verificationresult.h delete mode 100644 lang/cpp/src/vfsmountresult.cpp delete mode 100644 lang/cpp/src/vfsmountresult.h delete mode 100644 lang/cpp/tests/Makefile.am delete mode 100644 lang/cpp/tests/README delete mode 100644 lang/cpp/tests/run-getkey.cpp delete mode 100644 lang/cpp/tests/run-keylist.cpp delete mode 100644 lang/cpp/tests/run-verify.cpp delete mode 100644 lang/cpp/tests/run-wkdlookup.cpp delete mode 100644 lang/qt/Makefile.am delete mode 100644 lang/qt/README delete mode 100644 lang/qt/doc/Doxyfile.in delete mode 100644 lang/qt/doc/Makefile.am delete mode 100644 lang/qt/src/Makefile.am delete mode 100644 lang/qt/src/QGpgmeConfig-w32.cmake.in.in delete mode 100644 lang/qt/src/QGpgmeConfig.cmake.in.in delete mode 100644 lang/qt/src/QGpgmeConfigVersion.cmake.in delete mode 100644 lang/qt/src/QGpgmeQt6Config-w32.cmake.in.in delete mode 100644 lang/qt/src/QGpgmeQt6Config.cmake.in.in delete mode 100644 lang/qt/src/QGpgmeQt6ConfigVersion.cmake.in delete mode 100644 lang/qt/src/abstractimportjob.h delete mode 100644 lang/qt/src/addexistingsubkeyjob.h delete mode 100644 lang/qt/src/adduseridjob.h delete mode 100644 lang/qt/src/changeexpiryjob.cpp delete mode 100644 lang/qt/src/changeexpiryjob.h delete mode 100644 lang/qt/src/changeexpiryjob_p.h delete mode 100644 lang/qt/src/changeownertrustjob.h delete mode 100644 lang/qt/src/changepasswdjob.h delete mode 100644 lang/qt/src/cleaner.cpp delete mode 100644 lang/qt/src/cleaner.h delete mode 100644 lang/qt/src/cryptoconfig.cpp delete mode 100644 lang/qt/src/cryptoconfig.h delete mode 100644 lang/qt/src/dataprovider.cpp delete mode 100644 lang/qt/src/dataprovider.h delete mode 100644 lang/qt/src/debug.cpp delete mode 100644 lang/qt/src/debug.h delete mode 100644 lang/qt/src/decryptjob.h delete mode 100644 lang/qt/src/decryptverifyarchivejob.cpp delete mode 100644 lang/qt/src/decryptverifyarchivejob.h delete mode 100644 lang/qt/src/decryptverifyarchivejob_p.h delete mode 100644 lang/qt/src/decryptverifyjob.cpp delete mode 100644 lang/qt/src/decryptverifyjob.h delete mode 100644 lang/qt/src/decryptverifyjob_p.h delete mode 100644 lang/qt/src/defaultkeygenerationjob.cpp delete mode 100644 lang/qt/src/defaultkeygenerationjob.h delete mode 100644 lang/qt/src/deletejob.h delete mode 100644 lang/qt/src/dn.cpp delete mode 100644 lang/qt/src/dn.h delete mode 100644 lang/qt/src/downloadjob.h delete mode 100644 lang/qt/src/encryptarchivejob.cpp delete mode 100644 lang/qt/src/encryptarchivejob.h delete mode 100644 lang/qt/src/encryptarchivejob_p.h delete mode 100644 lang/qt/src/encryptjob.cpp delete mode 100644 lang/qt/src/encryptjob.h delete mode 100644 lang/qt/src/encryptjob_p.h delete mode 100644 lang/qt/src/exportjob.h delete mode 100644 lang/qt/src/filelistdataprovider.cpp delete mode 100644 lang/qt/src/filelistdataprovider.h delete mode 100644 lang/qt/src/gpgcardjob.h delete mode 100644 lang/qt/src/hierarchicalkeylistjob.h delete mode 100644 lang/qt/src/importfromkeyserverjob.h delete mode 100644 lang/qt/src/importjob.cpp delete mode 100644 lang/qt/src/importjob.h delete mode 100644 lang/qt/src/importjob_p.h delete mode 100644 lang/qt/src/job.cpp delete mode 100644 lang/qt/src/job.h delete mode 100644 lang/qt/src/job_p.h delete mode 100644 lang/qt/src/keyformailboxjob.h delete mode 100644 lang/qt/src/keygenerationjob.h delete mode 100644 lang/qt/src/keylistjob.h delete mode 100644 lang/qt/src/listallkeysjob.cpp delete mode 100644 lang/qt/src/listallkeysjob.h delete mode 100644 lang/qt/src/listallkeysjob_p.h delete mode 100644 lang/qt/src/multideletejob.cpp delete mode 100644 lang/qt/src/multideletejob.h delete mode 100644 lang/qt/src/protocol.h delete mode 100644 lang/qt/src/protocol_p.h delete mode 100644 lang/qt/src/qgpgme_debug.cpp delete mode 100644 lang/qt/src/qgpgme_debug.h delete mode 100644 lang/qt/src/qgpgme_export.h delete mode 100644 lang/qt/src/qgpgme_version.h.in delete mode 100644 lang/qt/src/qgpgmeaddexistingsubkeyjob.cpp delete mode 100644 lang/qt/src/qgpgmeaddexistingsubkeyjob.h delete mode 100644 lang/qt/src/qgpgmeadduseridjob.cpp delete mode 100644 lang/qt/src/qgpgmeadduseridjob.h delete mode 100644 lang/qt/src/qgpgmebackend.cpp delete mode 100644 lang/qt/src/qgpgmebackend.h delete mode 100644 lang/qt/src/qgpgmechangeexpiryjob.cpp delete mode 100644 lang/qt/src/qgpgmechangeexpiryjob.h delete mode 100644 lang/qt/src/qgpgmechangeownertrustjob.cpp delete mode 100644 lang/qt/src/qgpgmechangeownertrustjob.h delete mode 100644 lang/qt/src/qgpgmechangepasswdjob.cpp delete mode 100644 lang/qt/src/qgpgmechangepasswdjob.h delete mode 100644 lang/qt/src/qgpgmedecryptjob.cpp delete mode 100644 lang/qt/src/qgpgmedecryptjob.h delete mode 100644 lang/qt/src/qgpgmedecryptverifyarchivejob.cpp delete mode 100644 lang/qt/src/qgpgmedecryptverifyarchivejob.h delete mode 100644 lang/qt/src/qgpgmedecryptverifyjob.cpp delete mode 100644 lang/qt/src/qgpgmedecryptverifyjob.h delete mode 100644 lang/qt/src/qgpgmedeletejob.cpp delete mode 100644 lang/qt/src/qgpgmedeletejob.h delete mode 100644 lang/qt/src/qgpgmedownloadjob.cpp delete mode 100644 lang/qt/src/qgpgmedownloadjob.h delete mode 100644 lang/qt/src/qgpgmeencryptarchivejob.cpp delete mode 100644 lang/qt/src/qgpgmeencryptarchivejob.h delete mode 100644 lang/qt/src/qgpgmeencryptjob.cpp delete mode 100644 lang/qt/src/qgpgmeencryptjob.h delete mode 100644 lang/qt/src/qgpgmeexportjob.cpp delete mode 100644 lang/qt/src/qgpgmeexportjob.h delete mode 100644 lang/qt/src/qgpgmegpgcardjob.cpp delete mode 100644 lang/qt/src/qgpgmegpgcardjob.h delete mode 100644 lang/qt/src/qgpgmeimportfromkeyserverjob.cpp delete mode 100644 lang/qt/src/qgpgmeimportfromkeyserverjob.h delete mode 100644 lang/qt/src/qgpgmeimportjob.cpp delete mode 100644 lang/qt/src/qgpgmeimportjob.h delete mode 100644 lang/qt/src/qgpgmekeyformailboxjob.cpp delete mode 100644 lang/qt/src/qgpgmekeyformailboxjob.h delete mode 100644 lang/qt/src/qgpgmekeygenerationjob.cpp delete mode 100644 lang/qt/src/qgpgmekeygenerationjob.h delete mode 100644 lang/qt/src/qgpgmekeylistjob.cpp delete mode 100644 lang/qt/src/qgpgmekeylistjob.h delete mode 100644 lang/qt/src/qgpgmelistallkeysjob.cpp delete mode 100644 lang/qt/src/qgpgmelistallkeysjob.h delete mode 100644 lang/qt/src/qgpgmenewcryptoconfig.cpp delete mode 100644 lang/qt/src/qgpgmenewcryptoconfig.h delete mode 100644 lang/qt/src/qgpgmequickjob.cpp delete mode 100644 lang/qt/src/qgpgmequickjob.h delete mode 100644 lang/qt/src/qgpgmereceivekeysjob.cpp delete mode 100644 lang/qt/src/qgpgmereceivekeysjob.h delete mode 100644 lang/qt/src/qgpgmerefreshsmimekeysjob.cpp delete mode 100644 lang/qt/src/qgpgmerefreshsmimekeysjob.h delete mode 100644 lang/qt/src/qgpgmerevokekeyjob.cpp delete mode 100644 lang/qt/src/qgpgmerevokekeyjob.h delete mode 100644 lang/qt/src/qgpgmesetprimaryuseridjob.cpp delete mode 100644 lang/qt/src/qgpgmesetprimaryuseridjob.h delete mode 100644 lang/qt/src/qgpgmesignarchivejob.cpp delete mode 100644 lang/qt/src/qgpgmesignarchivejob.h delete mode 100644 lang/qt/src/qgpgmesignencryptarchivejob.cpp delete mode 100644 lang/qt/src/qgpgmesignencryptarchivejob.h delete mode 100644 lang/qt/src/qgpgmesignencryptjob.cpp delete mode 100644 lang/qt/src/qgpgmesignencryptjob.h delete mode 100644 lang/qt/src/qgpgmesignjob.cpp delete mode 100644 lang/qt/src/qgpgmesignjob.h delete mode 100644 lang/qt/src/qgpgmesignkeyjob.cpp delete mode 100644 lang/qt/src/qgpgmesignkeyjob.h delete mode 100644 lang/qt/src/qgpgmetofupolicyjob.cpp delete mode 100644 lang/qt/src/qgpgmetofupolicyjob.h delete mode 100644 lang/qt/src/qgpgmeverifydetachedjob.cpp delete mode 100644 lang/qt/src/qgpgmeverifydetachedjob.h delete mode 100644 lang/qt/src/qgpgmeverifyopaquejob.cpp delete mode 100644 lang/qt/src/qgpgmeverifyopaquejob.h delete mode 100644 lang/qt/src/qgpgmewkdlookupjob.cpp delete mode 100644 lang/qt/src/qgpgmewkdlookupjob.h delete mode 100644 lang/qt/src/qgpgmewkdrefreshjob.cpp delete mode 100644 lang/qt/src/qgpgmewkdrefreshjob.h delete mode 100644 lang/qt/src/qgpgmewkspublishjob.cpp delete mode 100644 lang/qt/src/qgpgmewkspublishjob.h delete mode 100644 lang/qt/src/quickjob.cpp delete mode 100644 lang/qt/src/quickjob.h delete mode 100644 lang/qt/src/quickjob_p.h delete mode 100644 lang/qt/src/receivekeysjob.h delete mode 100644 lang/qt/src/refreshkeysjob.h delete mode 100644 lang/qt/src/revokekeyjob.h delete mode 100644 lang/qt/src/setprimaryuseridjob.h delete mode 100644 lang/qt/src/signarchivejob.cpp delete mode 100644 lang/qt/src/signarchivejob.h delete mode 100644 lang/qt/src/signarchivejob_p.h delete mode 100644 lang/qt/src/signencryptarchivejob.cpp delete mode 100644 lang/qt/src/signencryptarchivejob.h delete mode 100644 lang/qt/src/signencryptarchivejob_p.h delete mode 100644 lang/qt/src/signencryptjob.cpp delete mode 100644 lang/qt/src/signencryptjob.h delete mode 100644 lang/qt/src/signencryptjob_p.h delete mode 100644 lang/qt/src/signjob.cpp delete mode 100644 lang/qt/src/signjob.h delete mode 100644 lang/qt/src/signjob_p.h delete mode 100644 lang/qt/src/signkeyjob.h delete mode 100644 lang/qt/src/specialjob.h delete mode 100644 lang/qt/src/threadedjobmixin.cpp delete mode 100644 lang/qt/src/threadedjobmixin.h delete mode 100644 lang/qt/src/tofupolicyjob.h delete mode 100644 lang/qt/src/util.cpp delete mode 100644 lang/qt/src/util.h delete mode 100644 lang/qt/src/verifydetachedjob.cpp delete mode 100644 lang/qt/src/verifydetachedjob.h delete mode 100644 lang/qt/src/verifydetachedjob_p.h delete mode 100644 lang/qt/src/verifyopaquejob.cpp delete mode 100644 lang/qt/src/verifyopaquejob.h delete mode 100644 lang/qt/src/verifyopaquejob_p.h delete mode 100644 lang/qt/src/wkdlookupjob.h delete mode 100644 lang/qt/src/wkdlookupresult.cpp delete mode 100644 lang/qt/src/wkdlookupresult.h delete mode 100644 lang/qt/src/wkdrefreshjob.cpp delete mode 100644 lang/qt/src/wkdrefreshjob.h delete mode 100644 lang/qt/src/wkdrefreshjob_p.h delete mode 100644 lang/qt/src/wkspublishjob.h delete mode 100644 lang/qt/tests/Makefile.am delete mode 100755 lang/qt/tests/final.test delete mode 100755 lang/qt/tests/initial.test delete mode 100644 lang/qt/tests/run-decryptverifyarchivejob.cpp delete mode 100644 lang/qt/tests/run-decryptverifyjob.cpp delete mode 100644 lang/qt/tests/run-encryptarchivejob.cpp delete mode 100644 lang/qt/tests/run-encryptjob.cpp delete mode 100644 lang/qt/tests/run-exportjob.cpp delete mode 100644 lang/qt/tests/run-importjob.cpp delete mode 100644 lang/qt/tests/run-keyformailboxjob.cpp delete mode 100644 lang/qt/tests/run-receivekeysjob.cpp delete mode 100644 lang/qt/tests/run-refreshkeysjob.cpp delete mode 100644 lang/qt/tests/run-signarchivejob.cpp delete mode 100644 lang/qt/tests/run-signjob.cpp delete mode 100644 lang/qt/tests/run-verifydetachedjob.cpp delete mode 100644 lang/qt/tests/run-verifyopaquejob.cpp delete mode 100644 lang/qt/tests/run-wkdrefreshjob.cpp delete mode 100644 lang/qt/tests/t-addexistingsubkey.cpp delete mode 100644 lang/qt/tests/t-changeexpiryjob.cpp delete mode 100644 lang/qt/tests/t-config.cpp delete mode 100644 lang/qt/tests/t-decryptverify.cpp delete mode 100644 lang/qt/tests/t-disablekey.cpp delete mode 100644 lang/qt/tests/t-encrypt.cpp delete mode 100644 lang/qt/tests/t-import.cpp delete mode 100644 lang/qt/tests/t-keylist.cpp delete mode 100644 lang/qt/tests/t-keylocate.cpp delete mode 100644 lang/qt/tests/t-ownertrust.cpp delete mode 100644 lang/qt/tests/t-remarks.cpp delete mode 100644 lang/qt/tests/t-revokekey.cpp delete mode 100644 lang/qt/tests/t-setprimaryuserid.cpp delete mode 100644 lang/qt/tests/t-support.cpp delete mode 100644 lang/qt/tests/t-support.h delete mode 100644 lang/qt/tests/t-tofuinfo.cpp delete mode 100644 lang/qt/tests/t-trustsignatures.cpp delete mode 100644 lang/qt/tests/t-various.cpp delete mode 100644 lang/qt/tests/t-verify.cpp delete mode 100644 lang/qt/tests/t-wkdlookup.cpp delete mode 100644 lang/qt/tests/t-wkspublish.cpp delete mode 100644 m4/ax_check_compile_flag.m4 delete mode 100644 m4/ax_cxx_compile_stdcxx.m4 delete mode 100644 m4/ax_gcc_func_attribute.m4 delete mode 100644 m4/pkg.m4 delete mode 100644 m4/qt5.m4 delete mode 100644 m4/qt6.m4 diff --git a/README b/README index a62ddeab..dc47f622 100644 --- a/README +++ b/README @@ -22,8 +22,9 @@ to public key crypto engines like GnuPG or GpgSM easier for applications. GPGME provides a high-level crypto API for encryption, decryption, signing, signature verification and key management. -GPGME comes with language bindings for Common Lisp, C++, QT, Python2, -and Python 3. +GPGME comes with language bindings for Common Lisp, Python2, and +Python 3. Language bindings for C++ and Qt are available in separate +repositories. GPGME uses GnuPG as its backend to support OpenPGP and the Cryptographic Message Syntax (CMS). diff --git a/configure.ac b/configure.ac index 8d712dc9..c631a8f8 100644 --- a/configure.ac +++ b/configure.ac @@ -58,31 +58,12 @@ AC_INIT([mym4_package],[mym4_version],[https://bugs.gnupg.org]) LIBGPGME_LT_CURRENT=44 LIBGPGME_LT_AGE=33 LIBGPGME_LT_REVISION=1 - -# If there is an ABI break in gpgmepp or qgpgme also bump the -# version in IMPORTED_LOCATION in the GpgmeppConfig-w32.cmake.in.in - -LIBGPGMEPP_LT_CURRENT=27 -LIBGPGMEPP_LT_AGE=21 -LIBGPGMEPP_LT_REVISION=1 - -LIBQGPGME_LT_CURRENT=21 -LIBQGPGME_LT_AGE=6 -LIBQGPGME_LT_REVISION=1 ################################################ AC_SUBST(LIBGPGME_LT_CURRENT) AC_SUBST(LIBGPGME_LT_AGE) AC_SUBST(LIBGPGME_LT_REVISION) -AC_SUBST(LIBGPGMEPP_LT_CURRENT) -AC_SUBST(LIBGPGMEPP_LT_AGE) -AC_SUBST(LIBGPGMEPP_LT_REVISION) - -AC_SUBST(LIBQGPGME_LT_CURRENT) -AC_SUBST(LIBQGPGME_LT_AGE) -AC_SUBST(LIBQGPGME_LT_REVISION) - # If the API is changed in an incompatible way: increment the next counter. GPGME_CONFIG_API_VERSION=1 ############################################## @@ -159,7 +140,6 @@ AH_VERBATIM([_REENTRANT], AC_PROG_CC AC_PROG_CPP -AC_PROG_CXX # Note: A suitable gitlog-to-changelog script can be found in GnuPG master. AC_CHECK_PROGS(GITLOG_TO_CHANGELOG, gitlog-to-changelog, [gitlog-to-changelog]) @@ -262,8 +242,8 @@ have_w64_system=no have_macos_system=no build_w32_glib=no build_w32_qt=no -available_languages="cl cpp python qt qt5 qt6" -default_languages="cl cpp python qt5 qt6" +available_languages="cl python" +default_languages="cl python" case "${host}" in x86_64-*mingw32*) have_w64_system=yes @@ -344,47 +324,14 @@ if test x$fixed_search_path != x ; then [Locate binaries only via this PATH]) fi -# Option --enable-reduce-relocations -# -# Allow building the Qt 6 bindings explicitly with -fPIC if the automatic -# detection fails. Note: We assume that this flag is always available (unless -# we built for Windows). -AC_ARG_ENABLE([reduce-relocations], - AS_HELP_STRING([--enable-reduce-relocations], - [build Qt 6 bindings with -fPIC (default is - auto)]), - [use_reduce_relocations="$enableval"], - [use_reduce_relocations=""]) - -# Option --enable-no-direct-extern-access -# -# Some distributions build Qt 6 with -mno-direct-extern-access. Libraries and -# applications using Qt then must also be build with this flag. As workaround -# for a bug in Qt's pkgconfig files which don't have this flag we allow -# building with this flag explicitly. -AC_LANG_PUSH(C++) -AX_CHECK_COMPILE_FLAG([-mno-direct-extern-access], - [have_no_direct_extern_access="yes"], - [have_no_direct_extern_access="no"], - [-Werror]) -AC_LANG_POP() -AC_ARG_ENABLE([no-direct-extern-access], - AS_HELP_STRING([--enable-no-direct-extern-access], - [build Qt 6 bindings with - -mno-direct-extern-access (default is auto)]), - [use_no_direct_extern_access="$enableval"], - [use_no_direct_extern_access=""]) - - # Note: You need to declare all possible languages also in # lang/Makefile.am's DIST_SUBDIRS. AC_ARG_ENABLE([languages], AS_HELP_STRING([--enable-languages=languages], [enable only specific language bindings: - cl cpp python qt5 qt6]), + cl python]), [enabled_languages=`echo $enableval | \ - tr ',:' ' ' | tr '[A-Z]' '[a-z]' | \ - sed 's/c++/cpp/'`], + tr ',:' ' ' | tr '[A-Z]' '[a-z]'`], [enabled_languages="maybe"]) if test "x$enabled_languages" = "x" \ -o "$enabled_languages" = "no"; then @@ -407,191 +354,6 @@ for language in $enabled_languages; do fi done -# Check whether qt5 and/or qt6 are enabled -want_qt5="no" -LIST_MEMBER("qt5", $enabled_languages) -if test "$found" = "1"; then - if test "$explicit_languages" = "1"; then - want_qt5="yes" - else - want_qt5="maybe" - fi - # Remove qt5; further down qt will be added - enabled_languages=$(echo $enabled_languages | sed 's/qt5//') -fi -want_qt6="no" -LIST_MEMBER("qt6", $enabled_languages) -if test "$found" = "1"; then - if test "$explicit_languages" = "1"; then - want_qt6="yes" - else - want_qt6="maybe" - fi - # Remove qt6; further down qt will be added - enabled_languages=$(echo $enabled_languages | sed 's/qt6//') -fi - -# Check whether qt is enabled; if yes then it has been enabled explicitly -want_qt="no" -LIST_MEMBER("qt", $enabled_languages) -if test "$found" = "1"; then - # Ignore qt if specified together with qt5 or qt6 - if test "$want_qt5" = "no" -a "$want_qt6" = "no"; then - want_qt="yes" - fi - # Remove qt - enabled_languages=$(echo $enabled_languages | sed 's/qt//') - AC_MSG_WARN([[ -*** -*** Language binding "qt" is deprecated and will be removed in a future version. -*** Use "qt5" and/or "qt6" instead. -***]]) -fi - -# Ensure that pkg-config is available for all calls of FIND_QT5/FIND_QT6 -PKG_PROG_PKG_CONFIG - -# Check for Qt 5 (if qt5 or qt is enabled) -if test "$want_qt" = "yes"; then - want_qt5="maybe" -fi -if test "$want_qt5" != "no"; then - FIND_QT5 - if test "$have_qt5_libs" = "yes"; then - want_qt5="yes" - elif test "$want_qt5" = "yes"; then - AC_MSG_ERROR([[ -*** -*** Qt5 (Qt5Core) is required for the Qt 5 binding. -***]]) - else - want_qt5="no" - fi -fi - -# Check for Qt 6 (if qt6 is enabled or if qt is enabled and Qt 5 wasn't found) -if test "$want_qt" = "yes" -a "$have_qt5_libs" != "yes"; then - want_qt6="maybe" -fi -if test "$want_qt6" != "no"; then - FIND_QT6 - if test "$have_qt6_libs" = "yes"; then - want_qt6="yes"; - elif test "$want_qt6" = "yes"; then - AC_MSG_ERROR([[ -*** -*** Qt6 (Qt6Core) is required for the Qt 6 binding. -***]]) - else - want_qt6="no" - fi -fi - -# Check if any Qt was found (if qt is enabled) -if test "$want_qt" = "yes" -a "$have_qt5_libs" != "yes" -a "$have_qt6_libs" != "yes"; then - AC_MSG_ERROR([[ -*** -*** Qt5 (Qt5Core) or Qt6 (Qt6Core) is required for the Qt bindings. -***]]) -fi - -# Check that cpp is enabled if qt5 or qt6 is enabled and was found -if test "$want_qt5" = "yes" -o "$want_qt6" = "yes"; then - LIST_MEMBER("cpp", $enabled_languages) - if test "$found" = "0"; then - AC_MSG_ERROR([[ -*** -*** The Qt bindings depend on the C++ binding. -***]]) - fi -fi - -# Enable C++ 17 if qt6 is requested -if test "$want_qt6" = "yes"; then - AX_CXX_COMPILE_STDCXX(17, noext, optional) - if test "$HAVE_CXX17" != "1"; then - if test "$explicit_languages" = "1"; then - AC_MSG_ERROR([[ -*** -*** A compiler with c++17 support is required for the Qt 6 binding. -***]]) - else - want_qt6="no" - AC_MSG_WARN([[ -*** -*** No c++17 support detected. Qt 6 binding will be disabled. -***]]) - fi - fi -fi - -# Enable C++ 11 if cpp is requested (unless C++ 17 was already enabled) -LIST_MEMBER("cpp", $enabled_languages) -if test "$found" = "1" -a "$HAVE_CXX17" != "1"; then - AX_CXX_COMPILE_STDCXX(11, noext, optional) - if test "$HAVE_CXX11" != "1"; then - if test "$explicit_languages" = "1"; then - AC_MSG_ERROR([[ -*** -*** A compiler with c++11 support is required for the C++ binding. -***]]) - else - enabled_languages=$(echo $enabled_languages | sed 's/cpp//') - want_qt5="no" - AC_MSG_WARN([[ -*** -*** No c++11 support detected. C++ and Qt 5 bindings will be disabled. -***]]) - fi - fi -fi - -# Now append qt to the list of language bindings (to enable the subdir in lang) -if test "$want_qt5" = "yes" -o "$want_qt6" = "yes"; then - enabled_languages=$(echo $enabled_languages qt) -fi - -# Check whether compiler supports visibility attribute (if cpp language is enabled) -LIST_MEMBER("cpp", $enabled_languages) -if test "$found" = "1"; then - AX_GCC_FUNC_ATTRIBUTE(visibility) - if test "$ax_cv_have_func_attribute_visibility" = "yes"; then - GPGME_CPP_CFLAGS="$GPGME_CPP_CFLAGS -fvisibility=hidden" - if test "$want_qt5" = "yes"; then - GPGME_QT5_CFLAGS="$GPGME_QT5_CFLAGS -fvisibility=hidden" - fi - if test "$want_qt6" = "yes"; then - GPGME_QT6_CFLAGS="$GPGME_QT6_CFLAGS -fvisibility=hidden" - fi - fi -fi -AC_SUBST(GPGME_CPP_CFLAGS) - -AM_CONDITIONAL(WANT_QT5, test "$want_qt5" = yes) -AM_CONDITIONAL(WANT_QT6, test "$want_qt6" = yes) - -# Check for tools for building the Qt binding docs -if test "$want_qt5" = "yes" -o "$want_qt6" = "yes"; then - AC_CHECK_PROGS([DOXYGEN], [doxygen]) - if test -z "$DOXYGEN"; then - # This is not highlighted because it's not really important. - AC_MSG_WARN([Doxygen not found - Qt binding doc will not be built.]) - fi - AC_CHECK_PROGS([GRAPHVIZ], [dot]) - if test -z "$GRAPHVIZ"; then - AC_MSG_WARN([Graphviz not found - Qt binding doc will not have diagrams.]) - fi -fi - -AM_CONDITIONAL([HAVE_DOXYGEN], - [test -n "$DOXYGEN"]) -if test -n "$GRAPHVIZ"; then - HAVE_DOT="YES" -else - HAVE_DOT="NO" -fi -AC_SUBST(HAVE_DOT) - # Python bindings. LIST_MEMBER("python", $enabled_languages) found_py=$found @@ -1044,16 +806,12 @@ AH_BOTTOM([ ]) -# Substitution used for gpgme-config and gpgme.pc and gpgmepp.pc +# Substitution used for gpgme-config and gpgme.pc GPGME_CONFIG_LIBS="-lgpgme" GPGME_CONFIG_CFLAGS="" GPGME_CONFIG_HOST="$host" GPGME_CONFIG_AVAIL_LANG="$enabled_languages" -GPGMEPP_PKGCONFIG_LIBS="-lgpgmepp" -GPGMEPP_PKGCONFIG_CFLAGS="" -GPGMEPP_PKGCONFIG_HOST="$host" - case "$includedir" in /usr/include|/include) ;; '${prefix}/include') @@ -1063,11 +821,6 @@ case "$includedir" in else GPGME_CONFIG_CFLAGS="-I\${includedir} $GPGME_CONFIG_CFLAGS" fi - if test -z "$GPGMEPP_PKGCONFIG_CFLAGS"; then - GPGMEPP_PKGCONFIG_CFLAGS="-I\${includedir}" - else - GPGMEPP_PKGCONFIG_CFLAGS="-I\${includedir} $GPGMEPP_PKGCONFIG_CFLAGS" - fi fi ;; *) @@ -1076,11 +829,6 @@ case "$includedir" in else GPGME_CONFIG_CFLAGS="-I\${includedir} $GPGME_CONFIG_CFLAGS" fi - if test -z "$GPGMEPP_PKGCONFIG_CFLAGS"; then - GPGMEPP_PKGCONFIG_CFLAGS="-I\${includedir}" - else - GPGMEPP_PKGCONFIG_CFLAGS="-I\${includedir} $GPGMEPP_PKGCONFIG_CFLAGS" - fi ;; esac case "$libdir" in @@ -1089,16 +837,13 @@ case "$libdir" in if test "$exec_prefix" = "NONE"; then if test "$prefix" != / -a "$prefix" != /usr; then GPGME_CONFIG_LIBS="-L\${libdir} $GPGME_CONFIG_LIBS" - GPGMEPP_PKGCONFIG_LIBS="-L\${libdir} $GPGMEPP_PKGCONFIG_LIBS" fi elif test "$exec_prefix" != / -a "$exec_prefix" != /usr; then GPGME_CONFIG_LIBS="-L\${libdir} $GPGME_CONFIG_LIBS" - GPGMEPP_PKGCONFIG_LIBS="-L\${libdir} $GPGMEPP_PKGCONFIG_LIBS" fi ;; *) GPGME_CONFIG_LIBS="-L\${libdir} $GPGME_CONFIG_LIBS" - GPGMEPP_PKGCONFIG_LIBS="-L\${libdir} $GPGMEPP_PKGCONFIG_LIBS" ;; esac @@ -1107,9 +852,6 @@ AC_SUBST(GPGME_CONFIG_LIBS) AC_SUBST(GPGME_CONFIG_CFLAGS) AC_SUBST(GPGME_CONFIG_HOST) AC_SUBST(GPGME_CONFIG_AVAIL_LANG) -AC_SUBST(GPGMEPP_PKGCONFIG_LIBS) -AC_SUBST(GPGMEPP_PKGCONFIG_CFLAGS) -AC_SUBST(GPGMEPP_PKGCONFIG_HOST) # Frob'da Variables LTLIBOBJS=`echo "$LIB@&t@OBJS" | @@ -1176,32 +918,10 @@ AC_CONFIG_FILES(Makefile src/Makefile src/gpgme-glib.pc src/gpgme.h) AC_CONFIG_FILES(src/gpgme-config, chmod +x src/gpgme-config) -AC_CONFIG_FILES(lang/cpp/Makefile lang/cpp/src/Makefile) -AC_CONFIG_FILES(lang/cpp/tests/Makefile) -AC_CONFIG_FILES(lang/cpp/src/gpgmepp.pc) -AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig-w32.cmake.in) -AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfig.cmake.in) -AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfigVersion.cmake) -AC_CONFIG_FILES(lang/cpp/src/gpgmepp_version.h) -AC_CONFIG_FILES(lang/qt/Makefile lang/qt/src/Makefile) -if test "$want_qt5" = "yes"; then - AC_CONFIG_FILES(lang/qt/src/QGpgmeConfig-w32.cmake.in) - AC_CONFIG_FILES(lang/qt/src/QGpgmeConfig.cmake.in) - AC_CONFIG_FILES(lang/qt/src/QGpgmeConfigVersion.cmake) -fi -if test "$want_qt6" = "yes"; then - AC_CONFIG_FILES(lang/qt/src/QGpgmeQt6Config-w32.cmake.in) - AC_CONFIG_FILES(lang/qt/src/QGpgmeQt6Config.cmake.in) - AC_CONFIG_FILES(lang/qt/src/QGpgmeQt6ConfigVersion.cmake) -fi -AC_CONFIG_FILES(lang/qt/tests/Makefile) -AC_CONFIG_FILES(lang/qt/src/qgpgme_version.h) AC_CONFIG_FILES([lang/Makefile lang/cl/Makefile lang/cl/gpgme.asd]) -AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([lang/qt/doc/Doxyfile])]) AC_CONFIG_FILES([lang/js/Makefile lang/js/src/Makefile lang/js/BrowserTestExtension/Makefile lang/js/DemoExtension/Makefile]) -AC_CONFIG_FILES(lang/qt/doc/Makefile) AC_CONFIG_FILES([lang/python/Makefile lang/python/version.py lang/python/tests/Makefile @@ -1211,14 +931,6 @@ AC_CONFIG_FILES([lang/python/Makefile AC_CONFIG_FILES([lang/python/setup.py], [chmod a+x lang/python/setup.py]) AC_OUTPUT -if test "$want_qt5" = "yes" -a "$want_qt6" = "yes"; then - enabled_languages_v=$(echo ${enabled_languages_v:-$enabled_languages} | sed "s/qt/qt (Qt 5, Qt 6)/") -elif test "$want_qt5" = "yes"; then - enabled_languages_v=$(echo ${enabled_languages_v:-$enabled_languages} | sed "s/qt/qt (Qt 5)/") -elif test "$want_qt6" = "yes"; then - enabled_languages_v=$(echo ${enabled_languages_v:-$enabled_languages} | sed "s/qt/qt (Qt 6)/") -fi - echo " GPGME v${VERSION} has been configured as follows: diff --git a/lang/Makefile.am b/lang/Makefile.am index 0cc36c27..5f8fbc94 100644 --- a/lang/Makefile.am +++ b/lang/Makefile.am @@ -18,6 +18,6 @@ # SPDX-License-Identifier: LGPL-2.1-or-later SUBDIRS = $(ENABLED_LANGUAGES) -DIST_SUBDIRS = cl cpp qt python js +DIST_SUBDIRS = cl python js EXTRA_DIST = README diff --git a/lang/README b/lang/README index afd7b083..ebda5c39 100644 --- a/lang/README +++ b/lang/README @@ -10,7 +10,12 @@ sub-directory. Directory Language cl Common Lisp -cpp C++ -qt Qt-Framework API python Python 2 and 3 (module name: gpg) js Native messaging client for the gpgme-json server. + +More language bindings are available in separate repositories. + +Repository Language + +gpgmepp C++ +gpgmeqt Qt-Framework API diff --git a/lang/cpp/Makefile.am b/lang/cpp/Makefile.am deleted file mode 100644 index 70ca7462..00000000 --- a/lang/cpp/Makefile.am +++ /dev/null @@ -1,29 +0,0 @@ -# Makefile.am for GPGMEPP. -# Copyright (C) 2016 Bundesamt für Sicherheit in der Informationstechnik -# Software engineering by Intevation GmbH -# -# This file is part of GPGMEPP. -# -# GPGME-CL is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# GPGME-CL is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this program; if not, see . -# SPDX-License-Identifier: LGPL-2.1-or-later - -if RUN_GPG_TESTS -tests = tests -else -tests = -endif - -SUBDIRS = src ${tests} - -EXTRA_DIST = README diff --git a/lang/cpp/README b/lang/cpp/README deleted file mode 100644 index 16c9a4a1..00000000 --- a/lang/cpp/README +++ /dev/null @@ -1,101 +0,0 @@ -GpgMEpp - C++ bindings/wrapper for GPGME ----------------------------------------- -Based on KF5gpgmepp - -Overview --------- - -GpgMEpp is a C++ wrapper (or C++ bindings) for the GnuPG project's -gpgme (GnuPG Made Easy) library, version 0.4.4 and later. - -It is fairly complete, with some minor things still missing (in -particular, the key edit interface). - -The design principles of this library are as follows: - -1. A value-based interface (most clases are implicitly shared) -2. Callbacks are replaced by C++ interfaces (classes with only - abstract methods). -3. No exceptions are thrown -4. There is (as yet) no explicit support for multi-threaded use - (other than what gpgme itself provides; most notably the - refcounting for implicit sharing is not thread-safe) -5. To avoid binary incompatible interface changes, we make - extensive use of the d-pointer pattern and avoid virtual - methods; any polymorphism present is already provided by gpgme - itself, anyway (see e.g. Data). A notable exception of the - no-virtuals rule is the use of abstract classes to cover - C-callbacks. -6. Use of STL containers for improved memory management and - dealing with lists. -7. Complete abstraction of the C-API so "gpgme.h" should not - be needed in your project using GpgME++. -8. Abstraction of GnuPG's edit-key interface by prepared - Editinteractor classes. - -GpgMEpp was originally developed as part of the KDEPIM community. - -Usage ------ - -The usage pattern of GpgMEpp closely follows GPGMEs core usage -pattern so the documentation for GPGME itself provides a good -way to start. - -The context structure in GPGME is mapped to a Context object in -GpgMEpp. Additional convenience code provides Data objects and -a Dataprovider interface that can be used to implement GPGME's -data with any subclass by implementing the right callbacks. - -EditInteractor subclasses provide ready to use classes for -common --edit-key tasks. You can implement your own editinteractor -classes by implementing the EditInteractor interface and using -your subclass as an interactor in the edit function. - -Example to set the ownertrust of a key: - - /* Create an edit interactor */ - EditInteractor *ei = new GpgSetOwnerTrustEditInteractor(Key::Ultimate); - /* Obtain a Context */ - Context *ctx = Context::createForProtocol(Protocol::OpenPGP); - /* Create an in memory data object */ - Data data; - /* Start the edit on some key previously obtained. */ - Error e = ctx->edit(key, std::unique_ptr(ei), data); - /* Errors provide boolean comparison */ - if (!e) - ... - /* Delete the context */ - delete ctx; - -Examples / Tests ----------------- - -GpgMEpp is tested through the Qt API. You can refer to the -tests in qt/tests for examples of usage or refer to -the actual QGpgME*Job.cpp implementations which rely -on GpgMEpp and should cover most use cases. - -Hacking -------- - -GpgMEpp follows KDE Coding styles. See: -https://techbase.kde.org/Policies/Frameworks_Coding_Style -for more info. - -License -------- -GPGMEpp is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -GPGMEpp is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Library General Public License for more details. - -You should have received a copy of the GNU Library General Public License -along with GPGME++; see the file COPYING.LIB. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. diff --git a/lang/cpp/src/GpgmeppConfig-w32.cmake.in.in b/lang/cpp/src/GpgmeppConfig-w32.cmake.in.in deleted file mode 100644 index 51ada3b1..00000000 --- a/lang/cpp/src/GpgmeppConfig-w32.cmake.in.in +++ /dev/null @@ -1,99 +0,0 @@ -# CMake Config file for GPGMEPP. -# Copyright (C) 2016 Intevation GmbH -# -# This file is part of GPGMEPP. -# -# GPGME-CL is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# GPGME-CL is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA - -# based on a generated file from cmake. -# Generated by CMake 3.0.2 - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) - message(FATAL_ERROR "CMake >= 2.6.0 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.6) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_targetsDefined) -set(_targetsNotDefined) -set(_expectedTargets) -foreach(_expectedTarget Gpgmepp) - list(APPEND _expectedTargets ${_expectedTarget}) - if(NOT TARGET ${_expectedTarget}) - list(APPEND _targetsNotDefined ${_expectedTarget}) - endif() - if(TARGET ${_expectedTarget}) - list(APPEND _targetsDefined ${_expectedTarget}) - endif() -endforeach() -if("${_targetsDefined}" STREQUAL "${_expectedTargets}") - set(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT "${_targetsDefined}" STREQUAL "") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") -endif() -unset(_targetsDefined) -unset(_targetsNotDefined) -unset(_expectedTargets) - -# Create imported target Gpgmepp -add_library(Gpgmepp SHARED IMPORTED) - -set_target_properties(Gpgmepp PROPERTIES - IMPORTED_IMPLIB "@resolved_libdir@/libgpgmepp.dll.a" - INTERFACE_INCLUDE_DIRECTORIES "@resolved_includedir@/gpgme++;@resolved_includedir@" - INTERFACE_LINK_LIBRARIES "pthread;@resolved_libdir@/libgpgme.dll.a;@LIBASSUAN_LIBS@" - IMPORTED_LOCATION "@resolved_bindir@/libgpgmepp-6.dll" -) -list(APPEND _IMPORT_CHECK_TARGETS Gpgmepp ) -list(APPEND _IMPORT_CHECK_FILES_FOR_Gpgmepp "@resolved_libdir@/libgpgmepp.dll.a" "@resolved_bindir@/libgpgmepp-6.dll" ) - - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Loop over all imported files and verify that they actually exist -foreach(target ${_IMPORT_CHECK_TARGETS} ) - foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) - if(NOT EXISTS "${file}" ) - message(FATAL_ERROR "The imported target \"${target}\" references the file - \"${file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_IMPORT_CHECK_FILES_FOR_${target}) -endforeach() -unset(_IMPORT_CHECK_TARGETS) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) diff --git a/lang/cpp/src/GpgmeppConfig.cmake.in.in b/lang/cpp/src/GpgmeppConfig.cmake.in.in deleted file mode 100644 index 8777623e..00000000 --- a/lang/cpp/src/GpgmeppConfig.cmake.in.in +++ /dev/null @@ -1,95 +0,0 @@ -# CMake Config file for GPGMEPP. -# Copyright (C) 2016 Intevation GmbH -# -# This file is part of GPGMEPP. -# -# GPGME-CL is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# GPGME-CL is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA - -# based on a generated file from cmake. -# Generated by CMake 3.0.2 - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) - message(FATAL_ERROR "CMake >= 2.6.0 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.6) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_targetsDefined) -set(_targetsNotDefined) -set(_expectedTargets) -foreach(_expectedTarget Gpgmepp) - list(APPEND _expectedTargets ${_expectedTarget}) - if(NOT TARGET ${_expectedTarget}) - list(APPEND _targetsNotDefined ${_expectedTarget}) - endif() - if(TARGET ${_expectedTarget}) - list(APPEND _targetsDefined ${_expectedTarget}) - endif() -endforeach() -if("${_targetsDefined}" STREQUAL "${_expectedTargets}") - set(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT "${_targetsDefined}" STREQUAL "") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") -endif() -unset(_targetsDefined) -unset(_targetsNotDefined) -unset(_expectedTargets) - -# Create imported target Gpgmepp -add_library(Gpgmepp SHARED IMPORTED) - -set_target_properties(Gpgmepp PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "@resolved_includedir@/gpgme++;@resolved_includedir@" - INTERFACE_LINK_LIBRARIES "pthread;@resolved_libdir@/libgpgme@libsuffix@;@LIBASSUAN_LIBS@" - IMPORTED_LOCATION "@resolved_libdir@/libgpgmepp@libsuffix@" -) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Loop over all imported files and verify that they actually exist -foreach(target ${_IMPORT_CHECK_TARGETS} ) - foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) - if(NOT EXISTS "${file}" ) - message(FATAL_ERROR "The imported target \"${target}\" references the file - \"${file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_IMPORT_CHECK_FILES_FOR_${target}) -endforeach() -unset(_IMPORT_CHECK_TARGETS) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) diff --git a/lang/cpp/src/GpgmeppConfigVersion.cmake.in b/lang/cpp/src/GpgmeppConfigVersion.cmake.in deleted file mode 100644 index 259bddd5..00000000 --- a/lang/cpp/src/GpgmeppConfigVersion.cmake.in +++ /dev/null @@ -1,31 +0,0 @@ -# CMake Version file for GPGMEPP. -# Copyright (C) 2016 Intevation GmbH -# -# This file is part of GPGMEPP. -# -# GPGME-CL is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# GPGME-CL is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA - -# based on a generated file from cmake. -set(PACKAGE_VERSION "@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_MICRO@") - -if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) - set(PACKAGE_VERSION_COMPATIBLE FALSE) -else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}") - set(PACKAGE_VERSION_EXACT TRUE) - endif() -endif() diff --git a/lang/cpp/src/Makefile.am b/lang/cpp/src/Makefile.am deleted file mode 100644 index db363226..00000000 --- a/lang/cpp/src/Makefile.am +++ /dev/null @@ -1,134 +0,0 @@ -# Makefile.am for GPGMEPP. -# Copyright (C) 2016 Bundesamt für Sicherheit in der Informationstechnik -# Software engineering by Intevation GmbH -# -# This file is part of GPGMEPP. -# -# GPGME-CL is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# GPGME-CL is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = gpgmepp.pc - -EXTRA_DIST = GpgmeppConfig.cmake.in.in GpgmeppConfigVersion.cmake.in \ - gpgmepp_version.h.in GpgmeppConfig-w32.cmake.in.in \ - gpgmepp.pc.in - -lib_LTLIBRARIES = libgpgmepp.la - -main_sources = \ - exception.cpp context.cpp key.cpp trustitem.cpp data.cpp callbacks.cpp \ - eventloopinteractor.cpp editinteractor.cpp \ - keylistresult.cpp keygenerationresult.cpp importresult.cpp \ - decryptionresult.cpp verificationresult.cpp \ - signingresult.cpp encryptionresult.cpp \ - engineinfo.cpp gpgsetexpirytimeeditinteractor.cpp \ - gpgsetownertrusteditinteractor.cpp gpgsignkeyeditinteractor.cpp \ - gpgadduserideditinteractor.cpp gpggencardkeyinteractor.cpp \ - gpgaddexistingsubkeyeditinteractor.cpp \ - gpgrevokekeyeditinteractor.cpp \ - defaultassuantransaction.cpp \ - scdgetinfoassuantransaction.cpp gpgagentgetinfoassuantransaction.cpp \ - statusconsumerassuantransaction.cpp \ - vfsmountresult.cpp configuration.cpp tofuinfo.cpp swdbresult.cpp \ - util.cpp - -gpgmepp_headers = \ - configuration.h context.h data.h decryptionresult.h \ - defaultassuantransaction.h editinteractor.h encryptionresult.h \ - engineinfo.h error.h eventloopinteractor.h exception.h global.h \ - gpgadduserideditinteractor.h gpgagentgetinfoassuantransaction.h \ - gpgmefw.h gpgsetexpirytimeeditinteractor.h \ - gpgsetownertrusteditinteractor.h gpgsignkeyeditinteractor.h \ - gpggencardkeyinteractor.h \ - gpgaddexistingsubkeyeditinteractor.h \ - gpgrevokekeyeditinteractor.h \ - importresult.h keygenerationresult.h key.h keylistresult.h \ - notation.h result.h scdgetinfoassuantransaction.h signingresult.h \ - statusconsumerassuantransaction.h \ - trustitem.h verificationresult.h vfsmountresult.h gpgmepp_export.h \ - tofuinfo.h swdbresult.h - -private_gpgmepp_headers = \ - result_p.h context_p.h util.h callbacks.h data_p.h - -interface_headers= \ - interfaces/assuantransaction.h interfaces/dataprovider.h \ - interfaces/passphraseprovider.h interfaces/progressprovider.h \ - interfaces/statusconsumer.h - -gpgmeppincludedir = $(includedir)/gpgme++ -gpgmeppinclude_HEADERS = $(gpgmepp_headers) -nobase_gpgmeppinclude_HEADERS = $(interface_headers) -nodist_gpgmeppinclude_HEADERS = gpgmepp_version.h - -libgpgmepp_la_SOURCES = $(main_sources) $(gpgmepp_headers) context_vanilla.cpp \ - $(interface_headers) $(private_gpgmepp_headers) - -AM_CPPFLAGS = -I$(top_builddir)/src \ - @GPGME_CPP_CFLAGS@ @GPG_ERROR_CFLAGS@ @LIBASSUAN_CFLAGS@ \ - -DBUILDING_GPGMEPP -Wsuggest-override \ - -Wzero-as-null-pointer-constant - -libgpgmepp_la_LIBADD = ../../../src/libgpgme.la @LIBASSUAN_LIBS@ -libgpgmepp_la_LDFLAGS = -no-undefined -version-info \ - @LIBGPGMEPP_LT_CURRENT@:@LIBGPGMEPP_LT_REVISION@:@LIBGPGMEPP_LT_AGE@ - -if HAVE_MACOS_SYSTEM -libsuffix=.dylib -else -libsuffix=.so -endif - -copied_headers = $(gpgmepp_headers:%=gpgme++/%) $(interface_headers:%=gpgme++/%) - -$(copied_headers): Makefile.am - mkdir -p $(builddir)/gpgme++/interfaces - echo -n "#include \"$(abs_srcdir)" > "$@" - echo -n "$@" | sed "s/gpgme++//" >> "$@" - echo "\"" >> "$@" - -if HAVE_W32_SYSTEM -GpgmeppConfig.cmake: GpgmeppConfig-w32.cmake.in - sed -e 's|[@]resolved_bindir@|$(bindir)|g' < "$<" | \ - sed -e 's|[@]resolved_libdir@|$(libdir)|g' | \ - sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@ -else -GpgmeppConfig.cmake: GpgmeppConfig.cmake.in - sed -e 's|[@]resolved_libdir@|$(libdir)|g' < "$<" | \ - sed -e 's|[@]libsuffix@|$(libsuffix)|g' | \ - sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@ -endif -install-cmake-files: GpgmeppConfig.cmake GpgmeppConfigVersion.cmake - -$(INSTALL) -d $(DESTDIR)$(libdir)/cmake/Gpgmepp - $(INSTALL) -m 644 GpgmeppConfig.cmake \ - $(DESTDIR)$(libdir)/cmake/Gpgmepp/GpgmeppConfig.cmake - $(INSTALL) -m 644 GpgmeppConfigVersion.cmake \ - $(DESTDIR)$(libdir)/cmake/Gpgmepp/GpgmeppConfigVersion.cmake - -uninstall-cmake-files: - -rm $(DESTDIR)$(libdir)/cmake/Gpgmepp/GpgmeppConfigVersion.cmake - -rm $(DESTDIR)$(libdir)/cmake/Gpgmepp/GpgmeppConfig.cmake - -rmdir $(DESTDIR)$(libdir)/cmake/Gpgmepp/ - -install-data-local: install-cmake-files - -uninstall-local: uninstall-cmake-files - -BUILT_SOURCES = $(copied_headers) - -CLEANFILES = GpgmeppConfig.cmake GpgmeppConfigVersion.cmake \ - gpgmepp_version.h GpgmeppConfig.cmake.in \ - $(copied_headers) diff --git a/lang/cpp/src/callbacks.cpp b/lang/cpp/src/callbacks.cpp deleted file mode 100644 index 21c2a813..00000000 --- a/lang/cpp/src/callbacks.cpp +++ /dev/null @@ -1,155 +0,0 @@ -/* - callbacks.cpp - callback targets for internal use: - Copyright (C) 2003,2004 Klarälvdalens Datakonsult AB - 2016 Bundesamt für Sicherheit in der Informationstechnik - Software engineering by Intevation GmbH - - This file is part of GPGME++. - - GPGME++ is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - GPGME++ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with GPGME++; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif - -#include "callbacks.h" -#include "util.h" - -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include - -static inline gpgme_error_t make_err_from_syserror() -{ - return gpgme_error_from_syserror(); -} - -using GpgME::ProgressProvider; -using GpgME::PassphraseProvider; -using GpgME::DataProvider; - -void progress_callback(void *opaque, const char *what, - int type, int current, int total) -{ - ProgressProvider *provider = static_cast(opaque); - if (provider) { - provider->showProgress(what, type, current, total); - } -} - -/* To avoid that a compiler optimizes certain memset calls away, these - macros may be used instead. */ -#define wipememory2(_ptr,_set,_len) do { \ - volatile char *_vptr=(volatile char *)(_ptr); \ - size_t _vlen=(_len); \ - while(_vlen) { *_vptr=(_set); _vptr++; _vlen--; } \ - } while(0) -#define wipememory(_ptr,_len) wipememory2(_ptr,0,_len) - -gpgme_error_t passphrase_callback(void *opaque, const char *uid_hint, const char *desc, - int prev_was_bad, int fd) -{ - PassphraseProvider *provider = static_cast(opaque); - bool canceled = false; - gpgme_error_t err = GPG_ERR_NO_ERROR; - char *passphrase = provider ? provider->getPassphrase(uid_hint, desc, prev_was_bad, canceled) : nullptr ; - if (canceled) { - err = make_error(GPG_ERR_CANCELED); - } else { - if (passphrase && *passphrase) { - size_t passphrase_length = std::strlen(passphrase); - size_t written = 0; - do { - ssize_t now_written = gpgme_io_write(fd, passphrase + written, passphrase_length - written); - if (now_written < 0) { - err = make_err_from_syserror(); - break; - } - written += now_written; - } while (written < passphrase_length); - } - } - - if (passphrase && *passphrase) { - wipememory(passphrase, std::strlen(passphrase)); - } - free(passphrase); - gpgme_io_write(fd, "\n", 1); - return err; -} - -static gpgme_ssize_t -data_read_callback(void *opaque, void *buf, size_t buflen) -{ - DataProvider *provider = static_cast(opaque); - if (!provider) { - gpgme_err_set_errno(gpgme_err_code_to_errno(GPG_ERR_EINVAL)); - return -1; - } - return (gpgme_ssize_t)provider->read(buf, buflen); -} - -static gpgme_ssize_t -data_write_callback(void *opaque, const void *buf, size_t buflen) -{ - DataProvider *provider = static_cast(opaque); - if (!provider) { - gpgme_err_set_errno(gpgme_err_code_to_errno(GPG_ERR_EINVAL)); - return -1; - } - return (gpgme_ssize_t)provider->write(buf, buflen); -} - -static gpgme_off_t -data_seek_callback(void *opaque, gpgme_off_t offset, int whence) -{ - DataProvider *provider = static_cast(opaque); - if (!provider) { - gpgme_err_set_errno(gpgme_err_code_to_errno(GPG_ERR_EINVAL)); - return -1; - } - if (whence != SEEK_SET && whence != SEEK_CUR && whence != SEEK_END) { - gpgme_err_set_errno(gpgme_err_code_to_errno(GPG_ERR_EINVAL)); - return -1; - } - return provider->seek((off_t)offset, whence); -} - -static void data_release_callback(void *opaque) -{ - DataProvider *provider = static_cast(opaque); - if (provider) { - provider->release(); - } -} - -const gpgme_data_cbs GpgME::data_provider_callbacks = { - &data_read_callback, - &data_write_callback, - &data_seek_callback, - &data_release_callback -}; diff --git a/lang/cpp/src/callbacks.h b/lang/cpp/src/callbacks.h deleted file mode 100644 index a2c6e1b9..00000000 --- a/lang/cpp/src/callbacks.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - callbacks.h - callback targets for internal use: - Copyright (C) 2003 Klarälvdalens Datakonsult AB - 2016 Bundesamt für Sicherheit in der Informationstechnik - Software engineering by Intevation GmbH - - This file is part of GPGME++. - - This is an internal header file, subject to change without - notice. DO NOT USE. - - GPGME++ is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - GPGME++ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with GPGME++; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef __GPGMEPP_CALLBACKS_H__ -#define __GPGMEPP_CALLBACKS_H__ - -#include - -extern "C" { - - void progress_callback(void *opaque, const char *what, - int type, int current, int total); - gpgme_error_t passphrase_callback(void *opaque, const char *uid_hint, - const char *desc, int prev_was_bad, int fd); -} - -namespace GpgME -{ -extern const gpgme_data_cbs data_provider_callbacks; -extern const gpgme_edit_cb_t edit_interactor_callback; -} - -#endif // __GPGME_CALLBACKS_H__ diff --git a/lang/cpp/src/configuration.cpp b/lang/cpp/src/configuration.cpp deleted file mode 100644 index b3b62d6f..00000000 --- a/lang/cpp/src/configuration.cpp +++ /dev/null @@ -1,788 +0,0 @@ -/* - configuration.cpp - wraps gpgme configuration components - Copyright (C) 2010 Klarälvdalens Datakonsult AB - 2016 Bundesamt für Sicherheit in der Informationstechnik - Software engineering by Intevation GmbH - - This file is part of GPGME++. - - GPGME++ is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - GPGME++ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with GPGME++; see the file COPYING.LIB. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifdef HAVE_CONFIG_H - #include "config.h" -#endif - -#include "configuration.h" -#include "error.h" -#include "util.h" - -#include - -#include -#include -#include -#include -#include - -using namespace GpgME; -using namespace GpgME::Configuration; - -typedef std::shared_ptr< std::remove_pointer::type > shared_gpgme_conf_opt_t; -typedef std::weak_ptr< std::remove_pointer::type > weak_gpgme_conf_opt_t; - -typedef std::shared_ptr< std::remove_pointer::type > shared_gpgme_conf_arg_t; -typedef std::weak_ptr< std::remove_pointer::type > weak_gpgme_conf_arg_t; - -typedef std::shared_ptr< std::remove_pointer::type > shared_gpgme_ctx_t; -typedef std::weak_ptr< std::remove_pointer::type > weak_gpgme_ctx_t; - -namespace -{ -struct nodelete { - template void operator()(T *) {} -}; -} - -// static -std::vector Component::load(Error &returnedError) -{ - - // - // 1. get a context: - // - gpgme_ctx_t ctx_native = nullptr; - if (const gpgme_error_t err = gpgme_new(&ctx_native)) { - returnedError = Error(err); - return std::vector(); - } - const shared_gpgme_ctx_t ctx(ctx_native, &gpgme_release); - - // - // 2. load the config: - // - gpgme_conf_comp_t conf_list_native = nullptr; - if (const gpgme_error_t err = gpgme_op_conf_load(ctx_native, &conf_list_native)) { - returnedError = Error(err); - return std::vector(); - } - shared_gpgme_conf_comp_t head(conf_list_native, &gpgme_conf_release); - - // - // 3. convert to vector: - // - std::vector result; - - while (head) { - // secure 'head->next' (if any) against memleaks: - shared_gpgme_conf_comp_t next; - if (head->next) { - next.reset(head->next, &gpgme_conf_release); - } - - // now prevent double-free of next.get() and following: - head->next = nullptr; - - // now add a new Component to 'result' (may throw): - result.resize(result.size() + 1); - result.back().comp.swap(head); // .comp = std::move( head ); - head.swap(next); // head = std::move( next ); - } - - return result; -} - -Error Component::save() const -{ - - if (isNull()) { - return Error(make_error(GPG_ERR_INV_ARG)); - } - - // - // 1. get a context: - // - gpgme_ctx_t ctx_native = nullptr; - if (const gpgme_error_t err = gpgme_new(&ctx_native)) { - return Error(err); - } - const shared_gpgme_ctx_t ctx(ctx_native, &gpgme_release); - - // - // 2. save the config: - // - return Error(gpgme_op_conf_save(ctx.get(), comp.get())); -} - -const char *Component::name() const -{ - return comp ? comp->name : nullptr; -} - -const char *Component::description() const -{ - return comp ? comp->description : nullptr ; -} - -const char *Component::programName() const -{ - return comp ? comp->program_name : nullptr ; -} - -Option Component::option(unsigned int idx) const -{ - gpgme_conf_opt_t opt = nullptr; - if (comp) { - opt = comp->options; - } - while (opt && idx) { - opt = opt->next; - --idx; - } - if (opt) { - return Option(comp, opt); - } - return Option(); -} - -Option Component::option(const char *name) const -{ - gpgme_conf_opt_t opt = nullptr; - if (comp) { - opt = comp->options; - } - using namespace std; // for strcmp - while (opt && strcmp(name, opt->name) != 0) { - opt = opt->next; - } - if (opt) { - return Option(comp, opt); - } - return Option(); -} - -unsigned int Component::numOptions() const -{ - unsigned int result = 0; - for (gpgme_conf_opt_t opt = comp ? comp->options : nullptr ; opt ; opt = opt->next) { - ++result; - } - return result; -} - -std::vector