From 272338775ef0d411da596bb97a9b44dd08081e5d Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Fri, 6 Feb 2026 11:17:37 +0800 Subject: [PATCH] Add liblz4 --- config/pkg/lib/liblz4.yml | 13 ++++++++++ src/Package/Library/liblz4.php | 46 ++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 config/pkg/lib/liblz4.yml create mode 100644 src/Package/Library/liblz4.php diff --git a/config/pkg/lib/liblz4.yml b/config/pkg/lib/liblz4.yml new file mode 100644 index 00000000..298b3abf --- /dev/null +++ b/config/pkg/lib/liblz4.yml @@ -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 diff --git a/src/Package/Library/liblz4.php b/src/Package/Library/liblz4.php new file mode 100644 index 00000000..fb52a4fb --- /dev/null +++ b/src/Package/Library/liblz4.php @@ -0,0 +1,46 @@ +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}"); + } + } + } +}