This commit is contained in:
crazywhalecc 2026-02-06 13:55:03 +08:00
parent aad710ed3e
commit 67bea25214
No known key found for this signature in database
GPG Key ID: 1F4BDD59391F2680
2 changed files with 38 additions and 0 deletions

12
config/pkg/lib/qdbm.yml Normal file
View File

@ -0,0 +1,12 @@
qdbm:
type: library
artifact:
source:
type: git
url: 'https://github.com/static-php/qdbm.git'
rev: main
metadata:
license-files: [COPYING]
license: 'GPL-2.0-only OR LGPL-2.1-only'
static-libs@unix:
- libqdbm.a

View File

@ -0,0 +1,26 @@
<?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\UnixAutoconfExecutor;
use StaticPHP\Runtime\SystemTarget;
use StaticPHP\Util\FileSystem;
#[Library('qdbm')]
class qdbm
{
#[BuildFor('Darwin')]
#[BuildFor('Linux')]
public function buildUnix(LibraryPackage $lib): void
{
$ac = UnixAutoconfExecutor::create($lib)->configure();
FileSystem::replaceFileRegex($lib->getSourceDir() . '/Makefile', '/MYLIBS = libqdbm.a.*/m', 'MYLIBS = libqdbm.a');
$ac->make(SystemTarget::getTargetOS() === 'Darwin' ? 'mac' : '');
$lib->patchPkgconfPrefix(['qdbm.pc']);
}
}