Author SHA256 Message Date
sisungo 8a82bcf29e feat: add few multimedia format libraries
Signed-off-by: sisungo <[email protected]>
2026-09-11 07:26:14 +00:00
8 changed files with 157 additions and 110 deletions
+4 -6
View File
@@ -14,14 +14,13 @@ source_url("https://download.gnome.org/sources/glib/2.89/glib-2.89.2.tar.xz")
builddep("shortcut/c++")
builddep("shortcut/meson")
builddep("gettext")
builddep("libintl-dev @target")
builddep(f"libintl-dev @{arch.get_target()}")
builddep("pcre2-tools")
builddep("libpcre2-dev @target")
builddep("libffi-dev @target")
builddep(f"libpcre2-dev @{arch.get_target()}")
builddep(f"libffi-dev @{arch.get_target()}")
builddep("pkgconf")
builddep("libz-ng-dev @target")
builddep(f"libz-ng-dev @{arch.get_target()}")
builddep("libexpat")
builddep("gobject-introspection @target")
def build():
@@ -30,7 +29,6 @@ def build():
cpp.meson_setup([
"-Druntime_dir=/run",
f"-Dgio_module_dir=/lib/{arch.get_target()}/gio/modules",
"-Dintrospection=enabled",
"--prefix=/",
f"--bindir={get_prefix('glib-tools')}/bin",
f"--libdir={get_prefix('glib-dev')}/lib",
@@ -1,49 +0,0 @@
import shutil
from lib.make import *
from lib import cpp, arch
version("1.86.0")
description("to describe the APIs and collect them in a uniform, machine readable format")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.gnome.org/GNOME/gobject-introspection/-/archive/1.86.0/gobject-introspection-1.86.0.tar.gz")
builddep("shortcut/meson")
builddep("shortcut/c")
builddep("glib-dev @target")
builddep("setuptools.py @target")
builddep("libpython-dev @target")
builddep("flex")
builddep("bison")
builddep("libexpat @target")
def build():
cpp.meson_setup([
f"--prefix={get_prefix('gobject-introspection')}",
f"-Dgir_dir_prefix=/lib/{arch.get_target()}/include/gir",
"-Dcairo=disabled",
"-Dpython=/bin/python3",
"-Dtests=false",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
def pack(composer):
composer.add_dir("include")
composer.add_dir("share")
composer.add_dir("bin")
composer.add_dir("lib")
shutil.rmtree(f"{composer.workdir}/bundle/lib/{arch.get_target()}")
composer.add_dir(f"lib/{arch.get_target()}/include/gir", "include/gir")
package("gobject-introspection")
dep("python @same-arch")
dep("setuptools.py @same-arch")
dep("glib-dev @same-arch")
on_pack(pack)
@@ -1,6 +0,0 @@
--- a/gudev/meson.build
+++ b/gudev/meson.build
36c36
< '-export-dynamic',
---
> '-Wl,-export-dynamic',
-42
View File
@@ -1,42 +0,0 @@
from lib import cpp
from lib.make import *
version("238")
description("Input device management and event handling library")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.gnome.org/GNOME/libgudev/-/archive/238/libgudev-238.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("gobject-introspection @target")
builddep("glib-dev @target")
builddep("lxdeviced-libudev-dev @target")
builddep("glib-tools")
builddep("libexpat")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libgudev')}/lib",
f"--includedir={get_prefix('libgudev-dev')}/include",
"-Dintrospection=enabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libgudev")
dep("semi-libc @same-arch")
dep("lxdeviced-libudev @same-arch")
dep("libglib @same-arch")
dep("libgobject @same-arch")
cpp.use_auto_pack(["lib"])
package("libgudev-dev")
dep("libgudev (same)")
dep("lxdeviced-libudev-dev @same-arch")
dep("glib-dev @same-arch")
cpp.use_auto_pack(["dev"])
+33
View File
@@ -0,0 +1,33 @@
from lib import cpp
from lib.make import *
version("1.3.6")
description("Ogg container format libraries")
maintainer("sisungo <[email protected]>")
source_url("https://downloads.xiph.org/releases/ogg/libogg-1.3.6.tar.xz")
builddep("shortcut/c")
builddep("shortcut/autotools")
def build():
cpp.configure(
[
"--prefix=/",
f"--libdir={get_prefix('libogg')}/lib",
f"--includedir={get_prefix('libogg-dev')}/include",
]
)
cpp.make()
cpp.make_install()
on_build(build)
package("libogg")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libogg-dev")
dep("libogg (same)")
cpp.use_auto_pack(["dev"])
+35
View File
@@ -0,0 +1,35 @@
from lib import cpp
from lib.make import *
version("1.3.7")
description("Reference implementation of the Ogg Vorbis audio format.")
maintainer("sisungo <[email protected]>")
source_url("https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.gz")
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep("libogg-dev @target")
def build():
cpp.configure(
[
"--prefix=/",
f"--libdir={get_prefix('libvorbis')}/lib",
f"--includedir={get_prefix('libvorbis-dev')}/include",
"--disable-oggtest",
]
)
cpp.make()
cpp.make_install()
on_build(build)
package("libvorbis")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libvorbis-dev")
dep("libvorbis (same)")
cpp.use_auto_pack(["dev"])
+79
View File
@@ -0,0 +1,79 @@
import os
import shutil
from lib.make import *
from lib import cpp
version("1.6.0")
description("a library to encode and decode images in WebP format")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/webmproject/libwebp/archive/refs/tags/v1.6.0.tar.gz")
builddep("shortcut/c")
builddep("shortcut/cmake")
def split_libsharpyuv():
os.makedirs("sharpyuv/libdev/pkgconfig")
os.makedirs("sharpyuv/lib")
os.makedirs("sharpyuv/include")
os.rename("lib/pkgconfig/libsharpyuv.pc", "sharpyuv/libdev/pkgconfig/libsharpyuv.pc")
os.system("mv lib/libsharpyuv* sharpyuv/lib/")
os.rename("include/webp/sharpyuv", "sharpyuv/include/sharpyuv")
with open("sharpyuv/libdev/pkgconfig/libsharpyuv.pc", "r") as pcf:
pc = pcf.read()
pc = pc.replace(get_prefix("libwebp"), get_prefix("libsharpyuv"))
pc = pc.replace(f"{get_prefix('libwebp-dev')}/include/webp", f"{get_prefix('libsharpyuv-dev')}/include")
with open("sharpyuv/libdev/pkgconfig/libsharpyuv.pc", "wt+") as pcf:
pcf.write(pc)
def build():
cpp.cmake([
"-DBUILD_SHARED_LIBS=1",
f"-DCMAKE_INSTALL_LIBDIR={get_prefix('libwebp')}/lib",
f"-DCMAKE_INSTALL_BINDIR={get_prefix('libwebp-tools')}/bin",
f"-DCMAKE_INSTALL_INCLUDEDIR={get_prefix('libwebp-dev')}/include",
])
cpp.ninja()
if os.path.exists("../cpp_install"):
shutil.rmtree("../cpp_install")
cpp.ninja_install()
split_libsharpyuv()
on_build(build)
def pack_libsharpyuv(composer):
composer.add_dir("sharpyuv/lib", "lib")
def pack_libsharpyuv_dev(composer):
composer.add_dir("sharpyuv/libdev", "lib")
composer.add_dir("sharpyuv/include", "include")
package("libsharpyuv")
description("Library for sharp RGB to YUV conversion")
dep("semi-libc @same-arch")
on_pack(pack_libsharpyuv)
package("libsharpyuv-dev")
description("Library for sharp RGB to YUV conversion")
dep("libsharpyuv (same)")
dep("semi-libc-dev @same-arch")
on_pack(pack_libsharpyuv_dev)
package("libwebp")
dep("semi-libc @same-arch")
dep("libsharpyuv (same)")
cpp.use_auto_pack(["lib"])
package("libwebp-tools")
dep("libwebp (same)")
cpp.use_auto_pack(["bin"])
package("libwebp-dev")
dep("libwebp (same)")
dep("libsharpyuv-dev (same)")
dep("semi-libc-dev @same-arch")
cpp.use_auto_pack(["dev"])
+6 -7
View File
@@ -1,15 +1,15 @@
from lib import arch, cpp
from lib.make import *
version("2.15.3")
description("an XML toolkit implemented in C, originally developed for the GNOME Project")
maintainer("sisungo <[email protected]>")
maintainer("sisungo <[email protected]>")
source_url("https://download.gnome.org/sources/libxml2/2.15/libxml2-2.15.3.tar.xz")
builddep("shortcut/autotools")
builddep("shortcut/c")
def build():
cpp.configure([
@@ -27,6 +27,5 @@ dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libxml2-dev")
dep("libxml2 (same)")
dep("semi-libc-dev @same-arch")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["dev"])