1
0
Fork 0

Add OS families to `php-ext` config options for PIE (#12218)

pull/12230/head
Alexandre Daubois 2024-12-09 14:37:10 +01:00 committed by GitHub
parent bbab31b564
commit eefa012204
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 29 additions and 2 deletions

View File

@ -323,6 +323,26 @@
"example": "my-extension-source",
"default": null
},
"os-families": {
"type": "array",
"minItems": 1,
"description": "An array of OS families to mark as compatible with the extension. Specifying this property will mean this package is not installable with PIE on any OS family not listed here. Must not be specified alongside os-families-exclude.",
"items": {
"type": "string",
"enum": ["windows", "bsd", "darwin", "solaris", "linux", "unknown"],
"description": "The name of the OS family to mark as compatible."
}
},
"os-families-exclude": {
"type": "array",
"minItems": 1,
"description": "An array of OS families to mark as incompatible with the extension. Specifying this property will mean this package is installable on any OS family except those listed here. Must not be specified alongside os-families.",
"items": {
"type": "string",
"enum": ["windows", "bsd", "darwin", "solaris", "linux", "unknown"],
"description": "The name of the OS family to exclude."
}
},
"configure-options": {
"type": "array",
"description": "These configure options make up the flags that can be passed to ./configure when installing the extension.",
@ -350,7 +370,14 @@
}
}
}
}
},
"allOf": [
{
"not": {
"required": ["os-families", "os-families-exclude"]
}
}
]
},
"config": {
"type": "object",

View File

@ -23,7 +23,7 @@ use Composer\Repository\RepositoryInterface;
*
* @phpstan-type AutoloadRules array{psr-0?: array<string, string|string[]>, psr-4?: array<string, string|string[]>, classmap?: list<string>, files?: list<string>, exclude-from-classmap?: list<string>}
* @phpstan-type DevAutoloadRules array{psr-0?: array<string, string|string[]>, psr-4?: array<string, string|string[]>, classmap?: list<string>, files?: list<string>}
* @phpstan-type PhpExtConfig array{extension-name?: string, priority?: int, support-zts?: bool, support-nts?: bool, build-path?: string|null, configure-options?: list<array{name: string, description?: string}>}
* @phpstan-type PhpExtConfig array{extension-name?: string, priority?: int, support-zts?: bool, support-nts?: bool, build-path?: string|null, os-families?: non-empty-list<non-empty-string>, os-families-exclude?: non-empty-list<non-empty-string>, configure-options?: list<array{name: string, description?: string}>}
*/
interface PackageInterface
{