Add PIE support (GH-56)

Add a composer.json with the `php-ext` type and metadata required by PIE
(https://github.com/php/pie), the modern replacement for PECL, so the
extension can be installed via `pie install php-gnupg/gnupg`.

The `configure-options` mirror the flags exposed by config.m4
(`--with-gnupg`, `--with-gpg`). Windows is excluded via
`os-families-exclude` since GpgME builds supported by PHP are unavailable
there. Document the PIE install method in the README.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Venca Krecl 2026-07-19 17:34:16 +02:00
commit c9dcd34f33
No known key found for this signature in database
2 changed files with 43 additions and 0 deletions

View file

@ -13,6 +13,15 @@ is supported is 1.3.0. The extension supports GnuPG version 1 and 2.
Of course PHP has to be installed too. The minimal version that is supported is 5.3.2.
#### PIE
This extension can be installed with [PIE](https://github.com/php/pie), the modern
successor to PECL.
```
$ pie install php-gnupg/gnupg
```
#### PECL
This extension is available on PECL.

34
composer.json Normal file
View file

@ -0,0 +1,34 @@
{
"name": "php-gnupg/gnupg",
"description": "A wrapper around the GpgME library that provides access to GnuPG.",
"type": "php-ext",
"license": "BSD-2-Clause",
"keywords": ["gnupg", "gpg", "gpgme", "encryption", "signing", "extension"],
"homepage": "https://github.com/php-gnupg/php-gnupg",
"support": {
"issues": "https://github.com/php-gnupg/php-gnupg/issues",
"source": "https://github.com/php-gnupg/php-gnupg",
"docs": "https://www.php.net/manual/en/book.gnupg.php"
},
"require": {
"php": "^7.2 || ^8.0"
},
"php-ext": {
"extension-name": "gnupg",
"support-zts": true,
"support-nts": true,
"os-families-exclude": ["windows"],
"configure-options": [
{
"name": "with-gnupg",
"description": "Include gnupg support, optionally specifying the path to the GpgME installation (directory containing include/gpgme.h)",
"needs-value": true
},
{
"name": "with-gpg",
"description": "Path to the gpg v1.x binary",
"needs-value": true
}
]
}
}