1 Commits
Author SHA256 Message Date
sisungo 6645a7f537 feat: add libinput & libmtdev & libevdev & libwacom
Signed-off-by: sisungo <[email protected]>
2026-09-07 05:17:11 +00:00
6 changed files with 176 additions and 154 deletions
+38
View File
@@ -0,0 +1,38 @@
from lib import cpp
from lib.make import *
version("1.13.7")
description("Wrapper library for evdev devices")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.freedesktop.org/libevdev/libevdev/-/archive/libevdev-1.13.7/libevdev-libevdev-1.13.7.tar.gz?ref_type=tags")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("linux-dev @target")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libevdev')}/lib",
f"--includedir={get_prefix('libevdev-dev')}/include",
"-Dtests=disabled",
"-Ddocumentation=disabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libevdev")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libevdev-tools")
dep("libevdev (same)")
cpp.use_auto_pack(["bin"])
package("libevdev-dev")
dep("libevdev (same)")
cpp.use_auto_pack(["dev"])
+58
View File
@@ -0,0 +1,58 @@
import glob
from lib import cpp
from lib.make import *
version("1.30.4")
description("Input device management and event handling library")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.freedesktop.org/libinput/libinput/-/archive/1.30.4/libinput-1.30.4.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("lxdeviced-libudev-dev @target")
builddep("libevdev-dev @target")
builddep("libmtdev-dev @target")
builddep("libwacom-dev @target")
builddep("linux-dev @target")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libinput')}/lib",
f"--libexecdir={get_prefix('libinput-tools')}/libexec",
f"--includedir={get_prefix('libinput-dev')}/include",
"--sysconfdir=/var/config",
f"--datadir={get_prefix('libinput')}/share",
"-Ddebug-gui=false",
"-Dtests=false",
])
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.makedir("share")
composer.add("share/libinput")
def pack_tools(composer):
composer.add("bin")
composer.add("libexec")
package("libinput")
dep("semi-libc @same-arch")
on_pack(pack)
package("libinput-tools")
dep("libinput (same)")
on_pack(pack_tools)
package("libinput-dev")
dep("libinput (same)")
cpp.use_auto_pack(["dev"])
+32
View File
@@ -0,0 +1,32 @@
from lib import cpp
from lib.make import *
version("1.1.7")
description("a stand-alone library which transforms all variants of kernel MT events to the slotted type B protocol")
maintainer("sisungo <[email protected]>")
source_url("https://bitmath.se/org/code/mtdev/mtdev-1.1.7.tar.gz")
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep("linux-dev @target")
def build():
cpp.configure([
"--prefix=/",
f"--libdir={get_prefix('libmtdev')}/lib",
f"--includedir={get_prefix('libmtdev-dev')}/include",
])
cpp.make()
cpp.make_install()
on_build(build)
package("libmtdev")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libmtdev-dev")
dep("libmtdev (same)")
cpp.use_auto_pack(["dev"])
+48
View File
@@ -0,0 +1,48 @@
from lib import cpp
from lib.make import *
version("2.19.1")
description("libwacom is a tablet description library")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/linuxwacom/libwacom/releases/download/libwacom-2.19.1/libwacom-2.19.1.tar.xz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("linux-dev @target")
builddep("libgudev-dev @target")
builddep("libevdev-dev @target")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libwacom')}/lib",
f"--bindir={get_prefix('libwacom-tools')}/bin",
f"--includedir={get_prefix('libwacom-dev')}/include",
f"--datadir={get_prefix('libwacom')}/share",
"-Dtests=disabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libwacom")
dep("semi-libc @same-arch")
dep("libgudev @same-arch")
dep("libgobject @same-arch")
dep("libglib @same-arch")
dep("libevdev @same-arch")
cpp.use_auto_pack(["lib"])
package("libwacom-tools")
dep("libwacom (same)")
cpp.use_auto_pack(["bin"])
package("libwacom-dev")
dep("libwacom (same)")
dep("libgudev-dev @same-arch")
dep("glib-dev @same-arch")
dep("libevdev-dev @same-arch")
cpp.use_auto_pack(["dev"])
-103
View File
@@ -1,103 +0,0 @@
import os
from lib.make import *
from lib import cpp, arch
version("1.14.0-beta.1")
description("keymap handling library for toolkits and window systems")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/xkbcommon/libxkbcommon/archive/refs/tags/xkbcommon-1.14.0-beta1.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("flex")
builddep("bison")
builddep("libxml2-dev @target")
builddep("libwayland-dev @target")
builddep("wayland-protocols @target")
builddep("awk")
builddep("bash")
builddep("xkeyboard-config-dev (=2.48) @any")
def build():
os.environ["PKG_CONFIG_PATH"] = "/share/pkgconfig"
# FIXME: Building the package requires `/bin/sh` to be bash.
if in_atomic():
os.system("ln -sf /bin/bash /bin/sh")
cpp.meson_setup([
f"--libdir={get_prefix('libxkbcommon')}/lib",
f"--includedir={get_prefix('libxkbcommon-dev')}/include",
f"--bindir={get_prefix('xkbcli')}/bin",
f"--libexecdir={get_prefix('xkbcli')}/libexec",
"-Denable-x11=false",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
def pack_libxkbcommon(composer):
composer.makedir("lib")
for i in glob.glob("lib/*common*so*"):
composer.add(i)
package("libxkbcommon")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
def pack_libxkbregistry(composer):
composer.makedir("lib")
for i in glob.glob("lib/*registry*so*"):
composer.add(i)
package("libxkbregistry")
dep("semi-libc @same-arch")
dep("libxml2 @same-arch")
dep("xkeyboard-config (=2.48) @any")
cpp.use_auto_pack(["lib"])
def pack_libxkbcommon_dev(composer):
composer.makedirs("lib/pkgconfig")
composer.add("lib/pkgconfig/xkbcommon.pc")
composer.makedirs("include/xkbcommon")
for i in glob.glob("include/xkbcommon/*"):
if "registry" in i:
continue
composer.add(i)
package("libxkbcommon-dev")
dep("libxkbcommon (same)")
cpp.use_auto_pack(["dev"])
def pack_libxkbregistry_dev(composer):
composer.makedirs("lib/pkgconfig")
with open("lib/pkgconfig/xkbregistry.pc", "r") as pcf:
pc = pcf.read()
pc = pc.replace(get_prefix("libxkbcommon"), get_prefix("libxkbregistry"))
pc = pc.replace(get_prefix("libxkbcommon-dev"), get_prefix("libxkbregistry-dev"))
with open("lib/pkgconfig/xkbregistry.pc", "wt+") as pcf:
pcf.write(pc)
composer.add("lib/pkgconfig/xkbregistry.pc")
composer.makedirs("include/xkbcommon")
for i in glob.glob("include/xkbcommon/*"):
if "registry" in i:
composer.add(i)
package("libxkbregistry-dev")
dep("libxkbregistry (same)")
dep("libxml2-dev @same-arch")
dep("xkeyboard-config-dev (=2.48) @any")
cpp.use_auto_pack(["dev"])
def pack_bin(composer):
composer.add("bin")
composer.add("libexec")
package("xkbcli")
dep("libxkbcommon (same)")
on_pack(pack_bin)
-51
View File
@@ -1,51 +0,0 @@
import glob
from lib.make import *
from lib import cpp, arch
version("2.48")
description("a consistent, well-structured, frequently released, open source database of keyboard configuration data")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/archive/xkeyboard-config-2.48/xkeyboard-config-xkeyboard-config-2.48.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("libintl-dev @target")
builddep("gettext")
builddep("libexpat")
builddep("perl")
def build():
cpp.meson_setup([
f"--prefix={get_prefix('xkeyboard-config')}",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
def pack(composer):
composer.makedir("share")
composer.add("share/xkeyboard-config-2")
package("xkeyboard-config")
arch_any()
on_pack(pack)
def pack_dev(composer):
for i in glob.glob("share/pkgconfig/*"):
with open(i, "r") as file:
content = file.read()
content = content.replace(get_prefix("xkeyboard-config-dev"), get_prefix("xkeyboard-config"))
with open(i, "wt+") as file:
file.write(content)
composer.makedir("share")
composer.add("share/pkgconfig")
package("xkeyboard-config-dev")
arch_any()
dep("xkeyboard-config (same-version) @any")
on_pack(pack_dev)