mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-18 04:44:53 +08:00
Add zstd,libcares
This commit is contained in:
parent
3d102363c4
commit
6ee8dc7994
23
config/pkg/lib/libcares.yml
Normal file
23
config/pkg/lib/libcares.yml
Normal file
@ -0,0 +1,23 @@
|
||||
libcares:
|
||||
type: library
|
||||
artifact:
|
||||
source:
|
||||
type: ghrel
|
||||
repo: c-ares/c-ares
|
||||
match: c-ares-.+\.tar\.gz
|
||||
prefer-stable: true
|
||||
source-mirror:
|
||||
type: filelist
|
||||
url: 'https://c-ares.org/download/'
|
||||
regex: '/href="\/download\/(?<file>c-ares-(?<version>[^"]+)\.tar\.gz)"/'
|
||||
binary: hosted
|
||||
metadata:
|
||||
license-files: [LICENSE.md]
|
||||
headers@unix:
|
||||
- ares.h
|
||||
- ares_dns.h
|
||||
- ares_nameser.h
|
||||
static-libs@unix:
|
||||
- libcares.a
|
||||
pkg-configs:
|
||||
- libcares
|
||||
19
config/pkg/lib/zstd.yml
Normal file
19
config/pkg/lib/zstd.yml
Normal file
@ -0,0 +1,19 @@
|
||||
zstd:
|
||||
type: library
|
||||
artifact:
|
||||
source:
|
||||
type: ghrel
|
||||
repo: facebook/zstd
|
||||
match: zstd.+\.tar\.gz
|
||||
prefer-stable: true
|
||||
metadata:
|
||||
license-files: [LICENSE]
|
||||
license: BSD-3-Clause
|
||||
headers@unix:
|
||||
- zdict.h
|
||||
- zstd.h
|
||||
- zstd_errors.h
|
||||
static-libs@unix:
|
||||
- libzstd.a
|
||||
pkg-configs:
|
||||
- libzstd
|
||||
38
src/Package/Library/libcares.php
Normal file
38
src/Package/Library/libcares.php
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Package\Library;
|
||||
|
||||
use StaticPHP\Attribute\Package\BuildFor;
|
||||
use StaticPHP\Attribute\Package\Library;
|
||||
use StaticPHP\Attribute\Package\PatchBeforeBuild;
|
||||
use StaticPHP\Attribute\PatchDescription;
|
||||
use StaticPHP\Package\LibraryPackage;
|
||||
use StaticPHP\Runtime\Executor\UnixAutoconfExecutor;
|
||||
use StaticPHP\Util\FileSystem;
|
||||
|
||||
#[Library('libcares')]
|
||||
class libcares
|
||||
{
|
||||
#[PatchBeforeBuild]
|
||||
#[PatchDescription('Add missing dnsinfo.h for Apple platforms')]
|
||||
public function patchBeforeBuild(LibraryPackage $lib): bool
|
||||
{
|
||||
if (!file_exists("{$lib->getSourceDir()}/src/lib/thirdparty/apple/dnsinfo.h")) {
|
||||
FileSystem::createDir("{$lib->getSourceDir()}/src/lib/thirdparty/apple");
|
||||
copy(ROOT_DIR . '/src/globals/extra/libcares_dnsinfo.h', "{$lib->getSourceDir()}/src/lib/thirdparty/apple/dnsinfo.h");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#[BuildFor('Linux')]
|
||||
#[BuildFor('Darwin')]
|
||||
public function build(LibraryPackage $lib): void
|
||||
{
|
||||
UnixAutoconfExecutor::create($lib)->configure('--disable-tests')->make();
|
||||
|
||||
$lib->patchPkgconfPrefix(['libcares.pc'], PKGCONF_PATCH_PREFIX);
|
||||
}
|
||||
}
|
||||
29
src/Package/Library/zstd.php
Normal file
29
src/Package/Library/zstd.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Package\Library;
|
||||
|
||||
use StaticPHP\Attribute\Package\BuildFor;
|
||||
use StaticPHP\Attribute\Package\Library;
|
||||
use StaticPHP\Package\LibraryPackage;
|
||||
use StaticPHP\Runtime\Executor\UnixCMakeExecutor;
|
||||
|
||||
#[Library('zstd')]
|
||||
class zstd
|
||||
{
|
||||
#[BuildFor('Linux')]
|
||||
#[BuildFor('Darwin')]
|
||||
public function build(LibraryPackage $lib): void
|
||||
{
|
||||
UnixCMakeExecutor::create($lib)
|
||||
->setBuildDir("{$lib->getSourceDir()}/build/cmake/build")
|
||||
->addConfigureArgs(
|
||||
'-DZSTD_BUILD_STATIC=ON',
|
||||
'-DZSTD_BUILD_SHARED=OFF',
|
||||
)
|
||||
->build();
|
||||
|
||||
$lib->patchPkgconfPrefix(['libzstd.pc'], PKGCONF_PATCH_PREFIX);
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user