security/rubygem-gpgme: Adapt for GpgME 2.0.0

The trustlist feature, which only worked for a short period in 2003, was
removed in GpgME 2.0.0.

The gpgme_attr_t enums and their functions, which have been marked deprecated
since 2003, were removed in GpgME 2.0.0.
This commit is contained in:
Jason E. Hale
2025-06-24 05:34:05 -04:00
parent bd760bb0a2
commit ba08747eac
3 changed files with 137 additions and 3 deletions
@@ -1,10 +1,10 @@
--- ext/gpgme/extconf.rb.orig 2022-10-13 10:24:31 UTC
--- ext/gpgme/extconf.rb.orig 2025-06-24 09:21:26 UTC
+++ ext/gpgme/extconf.rb
@@ -60,7 +60,6 @@ follows:
@@ -63,7 +63,6 @@ EOS
EOS
require 'rubygems'
- require 'mini_portile2'
libgpg_error_recipe = MiniPortile.new('libgpg-error', '1.46').tap do |recipe|
libgpg_error_recipe = MiniPortile.new('libgpg-error', '1.47').tap do |recipe|
recipe.target = File.join(ROOT, "ports")
@@ -0,0 +1,59 @@
The trustlist feature, which only worked for a short period in 2003, was
removed in GpgME 2.0.0.
The gpgme_attr_t enums and their functions, which have been marked deprecated
since 2003, were removed in GpgME 2.0.0.
--- ext/gpgme/gpgme_n.c.orig 2025-06-23 05:28:53 UTC
+++ ext/gpgme/gpgme_n.c
@@ -1633,6 +1633,7 @@ rb_s_gpgme_op_card_edit_start (VALUE dummy, VALUE vctx
return LONG2NUM(err);
}
+#if defined(GPGME_VERSION_NUMBER) && GPGME_VERSION_NUMBER < 0x020000
static VALUE
rb_s_gpgme_op_trustlist_start (VALUE dummy, VALUE vctx, VALUE vpattern,
VALUE vmax_level)
@@ -1696,6 +1697,7 @@ rb_s_gpgme_op_trustlist_end (VALUE dummy, VALUE vctx)
err = gpgme_op_trustlist_end (ctx);
return LONG2NUM(err);
}
+#endif
static VALUE
rb_s_gpgme_op_decrypt (VALUE dummy, VALUE vctx, VALUE vcipher, VALUE vplain)
@@ -2558,13 +2560,15 @@ Init_gpgme_n (void)
rb_define_module_function (mGPGME, "gpgme_op_card_edit_start",
rb_s_gpgme_op_card_edit_start, 5);
- /* Trust Item Management */
+ /* Trust Item Management removed in 2.0.0 */
+#if defined(GPGME_VERSION_NUMBER) && GPGME_VERSION_NUMBER < 0x020000
rb_define_module_function (mGPGME, "gpgme_op_trustlist_start",
rb_s_gpgme_op_trustlist_start, 3);
rb_define_module_function (mGPGME, "gpgme_op_trustlist_next",
rb_s_gpgme_op_trustlist_next, 2);
rb_define_module_function (mGPGME, "gpgme_op_trustlist_end",
rb_s_gpgme_op_trustlist_end, 1);
+#endif
/* Decrypt */
rb_define_module_function (mGPGME, "gpgme_op_decrypt",
@@ -2805,7 +2809,8 @@ Init_gpgme_n (void)
rb_define_const (mGPGME, "GPGME_SIG_MODE_CLEAR",
INT2FIX(GPGME_SIG_MODE_CLEAR));
- /* gpgme_attr_t */
+ /* gpgme_attr_t removed in 2.0.0 */
+#if defined(GPGME_VERSION_NUMBER) && GPGME_VERSION_NUMBER < 0x020000
rb_define_const (mGPGME, "GPGME_ATTR_KEYID",
INT2FIX(GPGME_ATTR_KEYID));
rb_define_const (mGPGME, "GPGME_ATTR_FPR",
@@ -2868,6 +2873,7 @@ Init_gpgme_n (void)
INT2FIX(GPGME_ATTR_ERRTOK));
rb_define_const (mGPGME, "GPGME_ATTR_SIG_SUMMARY",
INT2FIX(GPGME_ATTR_SIG_SUMMARY));
+#endif
/* gpgme_validity_t */
rb_define_const (mGPGME, "GPGME_VALIDITY_UNKNOWN",
@@ -0,0 +1,75 @@
The gpgme_attr_t enums and their functions, which have been marked deprecated
since 2003, were removed in GpgME 2.0.0.
--- lib/gpgme/constants.rb.orig 2025-06-23 05:42:19 UTC
+++ lib/gpgme/constants.rb
@@ -1,36 +1,38 @@ module GPGME
module GPGME
- ATTR_ALGO = GPGME_ATTR_ALGO
- ATTR_CAN_CERTIFY = GPGME_ATTR_CAN_CERTIFY
- ATTR_CAN_ENCRYPT = GPGME_ATTR_CAN_ENCRYPT
- ATTR_CAN_SIGN = GPGME_ATTR_CAN_SIGN
- ATTR_CHAINID = GPGME_ATTR_CHAINID
- ATTR_COMMENT = GPGME_ATTR_COMMENT
- ATTR_CREATED = GPGME_ATTR_CREATED
- ATTR_EMAIL = GPGME_ATTR_EMAIL
- ATTR_ERRTOK = GPGME_ATTR_ERRTOK
- ATTR_EXPIRE = GPGME_ATTR_EXPIRE
- ATTR_FPR = GPGME_ATTR_FPR
- ATTR_ISSUER = GPGME_ATTR_ISSUER
- ATTR_IS_SECRET = GPGME_ATTR_IS_SECRET
- ATTR_KEYID = GPGME_ATTR_KEYID
- ATTR_KEY_CAPS = GPGME_ATTR_KEY_CAPS
- ATTR_KEY_DISABLED = GPGME_ATTR_KEY_DISABLED
- ATTR_KEY_EXPIRED = GPGME_ATTR_KEY_EXPIRED
- ATTR_KEY_INVALID = GPGME_ATTR_KEY_INVALID
- ATTR_KEY_REVOKED = GPGME_ATTR_KEY_REVOKED
- ATTR_LEN = GPGME_ATTR_LEN
- ATTR_LEVEL = GPGME_ATTR_LEVEL
- ATTR_NAME = GPGME_ATTR_NAME
- ATTR_OTRUST = GPGME_ATTR_OTRUST
- ATTR_SERIAL = GPGME_ATTR_SERIAL
- ATTR_SIG_STATUS = GPGME_ATTR_SIG_STATUS
- ATTR_SIG_SUMMARY = GPGME_ATTR_SIG_SUMMARY
- ATTR_TYPE = GPGME_ATTR_TYPE
- ATTR_UID_INVALID = GPGME_ATTR_UID_INVALID
- ATTR_UID_REVOKED = GPGME_ATTR_UID_REVOKED
- ATTR_USERID = GPGME_ATTR_USERID
- ATTR_VALIDITY = GPGME_ATTR_VALIDITY
+ if defined?(GPGME_ATTR_ALGO)
+ ATTR_ALGO = GPGME_ATTR_ALGO
+ ATTR_CAN_CERTIFY = GPGME_ATTR_CAN_CERTIFY
+ ATTR_CAN_ENCRYPT = GPGME_ATTR_CAN_ENCRYPT
+ ATTR_CAN_SIGN = GPGME_ATTR_CAN_SIGN
+ ATTR_CHAINID = GPGME_ATTR_CHAINID
+ ATTR_COMMENT = GPGME_ATTR_COMMENT
+ ATTR_CREATED = GPGME_ATTR_CREATED
+ ATTR_EMAIL = GPGME_ATTR_EMAIL
+ ATTR_ERRTOK = GPGME_ATTR_ERRTOK
+ ATTR_EXPIRE = GPGME_ATTR_EXPIRE
+ ATTR_FPR = GPGME_ATTR_FPR
+ ATTR_ISSUER = GPGME_ATTR_ISSUER
+ ATTR_IS_SECRET = GPGME_ATTR_IS_SECRET
+ ATTR_KEYID = GPGME_ATTR_KEYID
+ ATTR_KEY_CAPS = GPGME_ATTR_KEY_CAPS
+ ATTR_KEY_DISABLED = GPGME_ATTR_KEY_DISABLED
+ ATTR_KEY_EXPIRED = GPGME_ATTR_KEY_EXPIRED
+ ATTR_KEY_INVALID = GPGME_ATTR_KEY_INVALID
+ ATTR_KEY_REVOKED = GPGME_ATTR_KEY_REVOKED
+ ATTR_LEN = GPGME_ATTR_LEN
+ ATTR_LEVEL = GPGME_ATTR_LEVEL
+ ATTR_NAME = GPGME_ATTR_NAME
+ ATTR_OTRUST = GPGME_ATTR_OTRUST
+ ATTR_SERIAL = GPGME_ATTR_SERIAL
+ ATTR_SIG_STATUS = GPGME_ATTR_SIG_STATUS
+ ATTR_SIG_SUMMARY = GPGME_ATTR_SIG_SUMMARY
+ ATTR_TYPE = GPGME_ATTR_TYPE
+ ATTR_UID_INVALID = GPGME_ATTR_UID_INVALID
+ ATTR_UID_REVOKED = GPGME_ATTR_UID_REVOKED
+ ATTR_USERID = GPGME_ATTR_USERID
+ ATTR_VALIDITY = GPGME_ATTR_VALIDITY
+ end
DATA_ENCODING_ARMOR = GPGME_DATA_ENCODING_ARMOR
DATA_ENCODING_BASE64 = GPGME_DATA_ENCODING_BASE64
DATA_ENCODING_BINARY = GPGME_DATA_ENCODING_BINARY