Add ext-memcache,ext-msgpack

This commit is contained in:
crazywhalecc 2026-03-11 16:14:05 +08:00
parent f35f133115
commit 59a8b65f6f
No known key found for this signature in database
GPG Key ID: 1F4BDD59391F2680
3 changed files with 67 additions and 0 deletions

View File

@ -0,0 +1,23 @@
ext-memcached:
type: php-extension
artifact:
source:
type: pecl
name: memcached
metadata:
license-files: [LICENSE]
license: PHP-3.01
depends:
- libmemcached
depends@unix:
- libmemcached
- fastlz
- ext-session
- ext-zlib
suggests:
- zstd
- ext-igbinary
- ext-msgpack
- ext-session
php-extension:
arg-type: '--enable-memcached@shared_suffix@ --with-zlib-dir=@build_root_path@'

View File

@ -0,0 +1,14 @@
ext-msgpack:
type: php-extension
artifact:
source:
type: pecl
name: msgpack
metadata:
license-files: [LICENSE]
license: BSD-3-Clause
depends:
- ext-session
php-extension:
arg-type@unix: with
arg-type@windows: enable

View File

@ -0,0 +1,30 @@
<?php
declare(strict_types=1);
namespace Package\Extension;
use StaticPHP\Attribute\Package\CustomPhpConfigureArg;
use StaticPHP\Attribute\Package\Extension;
use StaticPHP\Package\PackageInstaller;
use StaticPHP\Package\PhpExtensionPackage;
#[Extension('memcached')]
class memcached extends PhpExtensionPackage
{
#[CustomPhpConfigureArg('Darwin')]
#[CustomPhpConfigureArg('Linux')]
public function getUnixConfigureArg(bool $shared, PackageInstaller $installer): string
{
return '--enable-memcached' . ($shared ? '=shared' : '') . ' ' .
'--with-zlib-dir=' . $installer->getLibraryPackage('zlib')->getBuildRootPath() . ' ' .
'--with-libmemcached-dir=' . $installer->getLibraryPackage('libmemcached')->getBuildRootPath() . ' ' .
'--disable-memcached-sasl ' .
'--enable-memcached-json ' .
($installer->getLibraryPackage('zstd') ? '--with-zstd ' : '') .
($installer->getPhpExtensionPackage('ext-igbinary') ? '--enable-memcached-igbinary ' : '') .
($installer->getPhpExtensionPackage('ext-session') ? '--enable-memcached-session ' : '') .
($installer->getPhpExtensionPackage('ext-msgpack') ? '--enable-memcached-msgpack ' : '') .
'--with-system-fastlz';
}
}