mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-18 04:44:53 +08:00
Add liblz4
This commit is contained in:
parent
a832cc2114
commit
272338775e
13
config/pkg/lib/liblz4.yml
Normal file
13
config/pkg/lib/liblz4.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
liblz4:
|
||||||
|
type: library
|
||||||
|
artifact:
|
||||||
|
source:
|
||||||
|
type: ghrel
|
||||||
|
repo: lz4/lz4
|
||||||
|
match: lz4-.+\.tar\.gz
|
||||||
|
prefer-stable: true
|
||||||
|
metadata:
|
||||||
|
license-files: [LICENSE]
|
||||||
|
license: BSD-2-Clause
|
||||||
|
static-libs@unix:
|
||||||
|
- liblz4.a
|
||||||
46
src/Package/Library/liblz4.php
Normal file
46
src/Package/Library/liblz4.php
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<?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\Package\PackageBuilder;
|
||||||
|
use StaticPHP\Util\FileSystem;
|
||||||
|
|
||||||
|
#[Library('liblz4')]
|
||||||
|
class liblz4
|
||||||
|
{
|
||||||
|
#[PatchBeforeBuild]
|
||||||
|
#[PatchDescription('Fix Makefile install target for static liblz4')]
|
||||||
|
public function patchBeforeBuild(LibraryPackage $lib): void
|
||||||
|
{
|
||||||
|
FileSystem::replaceFileStr($lib->getSourceDir() . '/programs/Makefile', 'install: lz4', "install: lz4\n\ninstallewfwef: lz4");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[BuildFor('Darwin')]
|
||||||
|
#[BuildFor('Linux')]
|
||||||
|
public function buildUnix(LibraryPackage $lib, PackageBuilder $builder): void
|
||||||
|
{
|
||||||
|
shell()->cd($lib->getSourceDir())->initializeEnv($lib)
|
||||||
|
->exec("make PREFIX='' clean")
|
||||||
|
->exec("make lib -j{$builder->concurrency} PREFIX=''");
|
||||||
|
|
||||||
|
FileSystem::replaceFileStr("{$lib->getSourceDir()}/Makefile", '$(MAKE) -C $(PRGDIR) $@', '');
|
||||||
|
|
||||||
|
shell()->cd($lib->getSourceDir())
|
||||||
|
->exec("make install PREFIX='' DESTDIR={$lib->getBuildRootPath()}");
|
||||||
|
|
||||||
|
$lib->patchPkgconfPrefix(['liblz4.pc']);
|
||||||
|
|
||||||
|
foreach (FileSystem::scanDirFiles($lib->getLibDir(), false, true) as $filename) {
|
||||||
|
if (str_starts_with($filename, 'liblz4') && (str_contains($filename, '.so') || str_ends_with($filename, '.dylib'))) {
|
||||||
|
unlink("{$lib->getLibDir()}/{$filename}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user