mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-18 12:54:52 +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