Author SHA256 Message Date
sisungo cd7b10690e feat: add gtk & dependencies
Signed-off-by: sisungo <[email protected]>
2026-09-11 07:32:43 +00:00
10 changed files with 538 additions and 0 deletions
+89
View File
@@ -0,0 +1,89 @@
import os
import glob
from lib import cpp
from lib.make import *
version("1.18.4")
description("a 2D graphics library with support for multiple output devices")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.com/freedesktop-sdk/mirrors/freedesktop/cairo/cairo/-/archive/1.18.4/cairo-1.18.4.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("pkgconf")
builddep("glib-dev @target")
builddep("libfontconfig-dev @target")
builddep("libfreetype-dev @target")
builddep("libpng-dev @target")
builddep("libpixman-dev @target")
def fix_gobject_pc(path):
with open(path, 'r') as file:
content = file.read()
content = content.replace(get_prefix('libcairo'), get_prefix('libcairo-gobject'))
content = content.replace(get_prefix('libcairo-dev'), get_prefix('libcairo-gobject-dev'))
with open(path, 'wt+') as file:
file.write(content)
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libcairo')}/lib",
f"--includedir={get_prefix('libcairo-dev')}/include",
f"--bindir={get_prefix('libcairo-dev')}/bin",
"-Dfontconfig=enabled",
"-Dfreetype=enabled",
"-Dpng=enabled",
"-Dtee=enabled",
"-Dglib=enabled",
])
cpp.meson_compile()
cpp.meson_install()
fix_gobject_pc("lib/pkgconfig/cairo-gobject.pc")
on_build(build)
def pack_glob(composer, globs, excluded_kw=[]):
for iglob in globs:
for i in glob.glob(iglob):
if any(excluded_pattern in i for excluded_pattern in excluded_kw):
continue
composer.makedirs(os.path.dirname(i))
if os.path.islink(i) or os.path.isfile(i):
composer.addfile(i)
else:
composer.add_dir(i)
package("libcairo")
dep("libfontconfig @same-arch")
dep("libpng @same-arch")
dep("libpixman @same-arch")
dep("libfreetype @same-arch")
dep("libz @same-arch")
on_pack(lambda c: pack_glob(c, ["lib/cairo", "lib/*so*"], ["gobject"]))
package("libcairo-dev")
dep("libcairo (same)")
dep("libfontconfig-dev @same-arch")
dep("libpng-dev @same-arch")
dep("libpixman-dev @same-arch")
dep("libfreetype-dev @same-arch")
dep("libz-dev @same-arch")
on_pack(lambda c: pack_glob(c, ["lib/pkgconfig/*", "include/cairo/*"], ["gobject"]))
package("libcairo-gobject")
dep("libcairo (same)")
dep("libglib @same-arch")
dep("libgobject @same-arch")
on_pack(lambda c: pack_glob(c, ["lib/*gobject*"]))
package("libcairo-gobject-dev")
dep("libcairo-dev (same)")
dep("glib-dev @same-arch")
on_pack(lambda c: pack_glob(c, ["include/cairo/*gobject*", "lib/pkgconfig/*gobject*"]))
+39
View File
@@ -0,0 +1,39 @@
from lib.make import *
from lib import cpp, arch
version("1.5.10")
description("a library for handling OpenGL function pointer management")
maintainer("sisungo <[email protected]>")
source_url("https://download.gnome.org/sources/libepoxy/1.5/libepoxy-1.5.10.tar.xz")
builddep("shortcut/c++")
builddep("shortcut/meson")
builddep("libegl-dev @target")
builddep("libopengl-dev @target")
builddep("libglesv2-dev @target")
builddep("libexpat")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libepoxy')}/lib",
f"--includedir={get_prefix('libepoxy-dev')}/include",
"-Dx11=false",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libepoxy")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libepoxy-dev")
dep("libepoxy (same)")
dep("libegl-dev @same-arch")
dep("semi-libc-dev @same-arch")
cpp.use_auto_pack(["dev"])
+60
View File
@@ -0,0 +1,60 @@
from lib.make import *
from lib import cpp, arch
version("2.44.8")
description("a library that loads image data in various formats and stores it as linear buffers in memory")
maintainer("sisungo <[email protected]>")
source_url("https://download.gnome.org/sources/gdk-pixbuf/2.44/gdk-pixbuf-2.44.8.tar.xz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("libjpeg-turbo-dev @target")
builddep("libtiff-dev @target")
builddep("libpng-dev @target")
builddep("glib-dev @target")
builddep("gobject-introspection @target")
builddep("shared-mime-info")
builddep("glib-tools")
def build():
cpp.meson_setup([
f"--libdir={get_prefix('gdk-pixbuf')}/lib",
f"--includedir={get_prefix('gdk-pixbuf-dev')}/include",
"-Dpng=enabled",
"-Dtiff=enabled",
"-Djpeg=enabled",
"-Dgif=enabled",
"-Dglycin=disabled",
"-Dintrospection=enabled",
"-Drelocatable=false",
"-Dman=false",
"-Dtests=false",
"-Dinstalled_tests=false",
"-Dthumbnailer=enabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("gdk-pixbuf")
dep("libpng @same-arch")
dep("libglib @same-arch")
dep("libgobject @same-arch")
dep("libgmodule @same-arch")
dep("libgio @same-arch")
dep("libjpeg-turbo @same-arch")
dep("libtiff @same-arch")
cpp.use_auto_pack(["bin", "lib"])
package("gdk-pixbuf-dev")
dep("libpng-dev @same-arch")
dep("glib-dev @same-arch")
dep("libjpeg-turbo-dev @same-arch")
dep("libtiff-dev @same-arch")
dep("shared-mime-info")
dep("gdk-pixbuf (same)")
cpp.use_auto_pack(["dev"])
+61
View File
@@ -0,0 +1,61 @@
import glob
import os
import shutil
from lib.make import *
from lib import cpp
version("1.10.8")
description("A thin layer of graphic data types")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/ebassi/graphene/archive/refs/tags/1.10.8.tar.gz")
builddep("shortcut/meson")
builddep("shortcut/c++")
builddep("glib-dev @target")
builddep("gobject-introspection @target")
builddep("glib-tools")
builddep("libexpat")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libgraphene')}/lib",
f"--includedir={get_prefix('libgraphene-dev')}/include",
"-Dgobject_types=true",
"-Dintrospection=enabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
def pack(composer):
composer.makedir("lib")
for i in glob.glob("lib/*.so*"):
composer.add(i)
composer.add("lib/girepository-1.0")
composer.link_external(f"{get_prefix('libgraphene-dev')}/lib/graphene-1.0", "lib/graphene-1.0")
package("libgraphene")
dep("libgobject @same-arch")
dep("libglib @same-arch")
dep("semi-libc @same-arch")
on_pack(pack)
def pack_dev(composer):
composer.add("include")
composer.makedir("include/gir")
composer.makedir("lib")
composer.add("lib/graphene-1.0")
composer.add("lib/pkgconfig")
composer.add("share/gir-1.0", "include/gir/gir-1.0")
package("libgraphene-dev")
dep("libgraphene (same)")
dep("glib-dev @same-arch")
dep("semi-libc-dev @same-arch")
on_pack(pack_dev)
+39
View File
@@ -0,0 +1,39 @@
from lib.make import *
from lib import cpp, arch
version("0.4.42")
description("Orc - Optimized Inner Loop Runtime Compiler")
maintainer("sisungo <[email protected]>")
source_url("https://gstreamer.freedesktop.org/data/src/orc/orc-0.4.42.tar.xz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("linux-dev @target")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('gstreamer-liborc')}/lib",
f"--bindir={get_prefix('gstreamer-orc')}/bin",
f"--includedir={get_prefix('gstreamer-liborc-dev')}/include",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("gstreamer-liborc")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("gstreamer-orc")
dep("gstreamer-liborc (same)")
cpp.use_auto_pack(["bin"])
package("gstreamer-liborc-dev")
dep("gstreamer-liborc (same)")
dep("semi-libc-dev @same-arch")
cpp.use_auto_pack(["dev"])
+61
View File
@@ -0,0 +1,61 @@
from lib.make import *
from lib import cpp, arch
version("1.28.6")
description("GStreamer multimedia framework")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.28.6/gstreamer-1.28.6.tar.gz")
builddep("shortcut/c++")
builddep("shortcut/meson")
builddep("glib-dev @target")
builddep("glib-tools")
builddep("libpython-dev @target")
builddep("gobject-introspection @target")
builddep("libintl-dev @target")
builddep("gettext")
builddep("flex")
builddep("bison")
builddep("libexpat")
builddep("libdrm-dev @target")
builddep("gstreamer-liborc-dev @target")
builddep("gstreamer-orc @target")
builddep("libopengl-dev @target")
builddep("libegl-dev @target")
builddep("libglesv2-dev @target")
builddep("alsa-lib-dev @target")
def build():
cpp.meson_setup([
"-Dbase=enabled",
"-Dgood=enabled",
"-Dugly=disabled",
"-Dbad=disabled",
"-Dlibav=auto",
"-Ddevtools=enabled",
"-Dges=enabled",
"-Drtsp_server=enabled",
"-Drs=disabled",
"-Dgst-examples=disabled",
"-Dpython=enabled",
"-Dpython-exe=/bin/python3",
"-Dtls=disabled",
"-Dlibnice=disabled",
"-Dgtk=disabled",
"-Dtools=enabled",
"-Dintrospection=enabled",
"-Dnls=enabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("gtk4")
cpp.use_auto_pack(["bin", "lib"])
package("gtk4-dev")
cpp.use_auto_pack(["dev"])
+43
View File
@@ -0,0 +1,43 @@
from lib.make import *
from lib import cpp, arch
version("4.23.3")
description("The main GTK4 library.")
maintainer("sisungo <[email protected]>")
source_url("https://download.gnome.org/sources/gtk/4.23/gtk-4.23.3.tar.xz")
builddep("shortcut/c++")
builddep("shortcut/meson")
builddep("glib-dev @target")
builddep("gdk-pixbuf-dev @target")
builddep("gobject-introspection @target")
builddep("glib-tools")
builddep("libwayland-dev @target")
builddep("wayland-protocols @target")
builddep("libpango-dev @target")
builddep("libcairo-gobject-dev @target")
builddep("libepoxy-dev @target")
builddep("libxkbcommon-dev @target")
builddep("libgraphene-dev @target")
def build():
cpp.meson_setup([
"-Dx11-backend=false",
"-Dmedia-gstreamer=enabled",
"-Dprint-cups=disabled",
"-Dvulkan=enabled",
"-Dintrospection=enabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("gtk4")
cpp.use_auto_pack(["bin", "lib"])
package("gtk4-dev")
cpp.use_auto_pack(["dev"])
+63
View File
@@ -0,0 +1,63 @@
import os
import shutil
from lib.make import *
from lib import cpp, python, arch
upstream_version = "1.1.45"
version(upstream_version)
description("an XSLT processor based on libxml2")
maintainer("sisungo <[email protected]>")
source_url("https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.45.tar.xz")
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep("pkgconf @target")
builddep("libxml2-dev @target")
builddep("libpython-dev @target")
builddep("libexpat")
def build():
cpp.configure([
"--prefix=/",
f"--libdir={get_prefix('libxslt')}/lib",
f"--bindir={get_prefix('libxslt-tools')}/bin",
f"--includedir={get_prefix('libxslt-dev')}/include",
"--without-debug",
])
cpp.make()
if os.path.exists("../cpp_install"):
shutil.rmtree("../cpp_install")
cpp.make_install()
os.mkdir("py")
os.rename(f"lib/{arch.get_target()}/python{python.PY3_VERSION}", "py/arch")
os.rename(f"lib/python{python.PY3_VERSION}", "py/nonarch")
on_build(build)
package("libxslt")
dep("libxml2 @same-arch")
cpp.use_auto_pack(["lib"])
package("libxslt-tools")
dep("libxslt (same)")
cpp.use_auto_pack(["bin"])
package("libxslt-dev")
dep("libxslt (same)")
dep("libxml2-dev @same-arch")
cpp.use_auto_pack(["dev"])
def pack_py(composer):
composer.makedir("lib")
composer.add_dir("py/arch", f"lib/python{python.PY3_VERSION}", merge=True)
composer.add_dir("py/nonarch", f"lib/python{python.PY3_VERSION}", merge=True)
package("libxslt.py")
python.version(upstream_version)
dep(f"libxslt (={upstream_version}) @same-arch")
on_pack(pack_py)
+63
View File
@@ -0,0 +1,63 @@
from lib.make import *
from lib import cpp
version("1.58.2")
description("Pango is a library for layout and rendering of text, with an emphasis on internationalization.")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.gnome.org/GNOME/pango/-/archive/1.58.2/pango-1.58.2.tar.gz")
builddep("shortcut/c++")
builddep("shortcut/meson")
builddep("gobject-introspection @target")
builddep("libfontconfig-dev @target")
builddep("libcairo-dev @target")
builddep("libcairo-gobject-dev @target")
builddep("libfreetype-dev @target")
builddep("glib-dev @target")
builddep("libfribidi-dev @target")
builddep("libharfbuzz-dev @target")
builddep("libharfbuzz-gobject-dev @target")
builddep("glib-tools")
def build():
cpp.meson_setup([
f"--libdir={get_prefix('libpango')}/lib",
f"--includedir={get_prefix('libpango-dev')}/include",
"-Dintrospection=enabled",
"-Dfontconfig=enabled",
"-Dcairo=enabled",
"-Dfreetype=enabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libpango")
dep("libfribidi @same-arch")
dep("libharfbuzz @same-arch")
dep("libglib @same-arch")
dep("libgio @same-arch")
dep("libgobject @same-arch")
dep("semi-libc @same-arch")
dep("libcairo @same-arch")
dep("libfontconfig @same-arch")
dep("libfreetype @same-arch")
cpp.use_auto_pack(["lib"])
package("pango")
dep("libpango (same)")
cpp.use_auto_pack(["bin"])
package("libpango-dev")
dep("libpango (same)")
dep("glib-dev @same-arch")
dep("libfribidi-dev @same-arch")
dep("libharfbuzz-gobject-dev @same-arch")
dep("libfontconfig-dev @same-arch")
dep("libfreetype-dev @same-arch")
dep("libcairo-dev @same-arch")
cpp.use_auto_pack(["dev"])
+20
View File
@@ -0,0 +1,20 @@
from lib.make import *
from lib import cpp
version("0.0.29")
description("A tool for converting XML files to various formats")
maintainer("sisungo <[email protected]>")
source_url("https://mirror1.semilabs.org/semios/srcpkgs/xmlto=0.0.29.tar.gz")
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep("libxslt-dev @target")
def build():
cpp.configure()
cpp.make()
cpp.make_install()
on_build(build)