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. 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 #### PECL
This extension is available on 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
}
]
}
}