feat: add package libpng

Signed-off-by: sisungo <[email protected]>
This commit is contained in:
2026-08-17 00:13:30 +08:00
parent c1e3a8dc05
commit 3fe668495e
+56
View File
@@ -0,0 +1,56 @@
from lib import cpp, arch
from lib.make import *
version("1.6.58")
description("the official PNG reference library")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/pnggroup/libpng/archive/refs/tags/v1.6.58.tar.gz")
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep(f"libz-ng-dev @{arch.get_target()}")
def build():
cpp.configure([
f"--libdir={get_prefix('libpng')}/lib",
f"--includedir={get_prefix('libpng')}/include",
"--enable-hardware-optimizations=on",
])
cpp.make()
cpp.make_install()
on_build(build)
def pack_tools(composer):
composer.makedir("bin")
composer.addfile("bin/png-fix-itxt", "bin/png-fix-itxt")
composer.addfile("bin/pngfix", "bin/pngfix")
def pack_dev(composer):
composer.makedir("lib")
composer.addfile("lib/libpng.a", "lib/libpng.a")
composer.addfile("lib/libpng.la", "lib/libpng.la")
composer.addfile("lib/libpng16.a", "lib/libpng16.a")
composer.addfile("lib/libpng16.la", "lib/libpng16.la")
composer.add_dir("lib/pkgconfig", "lib/pkgconfig")
composer.makedir("bin")
composer.addfile("bin/libpng-config", "bin/libpng-config")
composer.addfile("bin/libpng16-config", "bin/libpng16-config")
composer.add_dir("include", "include")
package("libpng")
dep("libz @same-arch")
cpp.use_auto_pack(["lib"])
package("libpng-tools")
dep("libpng (same)")
on_pack(pack_tools)
package("libpng-dev")
dep("libpng (same)")
dep("libz-dev @same-arch")
on_pack(pack_dev)