1 Commits
Author SHA256 Message Date
sisungo 6984b03cb5 feat: add package linux-pam
Signed-off-by: sisungo <[email protected]>
2026-09-22 14:46:00 +00:00
9 changed files with 98 additions and 224 deletions
+29 -19
View File
@@ -3,13 +3,6 @@ import os
from lib import arch, common, make, pkgcomposer
def do(f):
try:
f()
except:
pass
def is_abslink(path):
try:
return os.readlink(path).startswith("/")
@@ -58,19 +51,36 @@ def autolink_milestones():
if i.is_file() and os.access(i.path, os.F_OK):
make.link(f"share/milestones/{i.name}", "/share/milestones/" + i.name)
def autolink_fonts():
for i in common.treedir("share/fonts"):
if i.is_file() and os.access(i.path, os.F_OK):
make.link(f"share/fonts/{i.name}", "/share/fonts/" + i.name)
def autolink(composer: pkgcomposer.PkgComposer):
os.chdir(composer.workdir + "/bundle/")
do(autolink_bin)
do(autolink_lib)
do(autolink_include)
do(autolink_share_pkgconfig)
do(autolink_services)
do(autolink_milestones)
do(autolink_fonts)
try:
autolink_bin()
except:
pass
try:
autolink_lib()
except:
pass
try:
autolink_include()
except:
pass
try:
autolink_share_pkgconfig()
except:
pass
try:
autolink_services()
except:
pass
try:
autolink_milestones()
except:
pass
-35
View File
@@ -1,35 +0,0 @@
import os
from lib.make import *
upstream_version = "3.206"
version(upstream_version)
description("Monospaced variant of the Fira Sans font series")
maintainer("sisungo <[email protected]>")
source_url("https://carrois.com/downloads/Fira/Fira_Mono_3_2.zip")
def build():
os.chdir("Fonts/FiraMono_OTF_32")
on_build(build)
def declare_seperate(name):
def pack(composer):
composer.makedirs("share/fonts/FiraMono")
composer.add(f"{name}.otf", f"share/fonts/FiraMono/{name}.otf")
package(name)
on_pack(pack)
declare_seperate("FiraMono-Bold")
declare_seperate("FiraMono-Medium")
declare_seperate("FiraMono-Regular")
package("FiraMono-Fonts")
dep("FiraMono-Bold")
dep("FiraMono-Medium")
dep("FiraMono-Regular")
on_pack(lambda x: print("Packing FiraMono-Fonts."))
-60
View File
@@ -1,60 +0,0 @@
import os
from lib.make import *
upstream_version = "4.301"
version(upstream_version)
description("a humanist sans-serif typeface designed by Carrois Type Design and Mozilla")
maintainer("sisungo <[email protected]>")
source_url("https://carrois.com/downloads/Fira/Download_Folder_FiraSans_4301.zip")
widths = ["Compressed", "Condensed", "Normal"]
styles = ["Italic", "Roman"]
weights = ["Bold", "Book", "Eight", "ExtraBold", "ExtraLight", "Four", "Hair", "Heavy", "", "Light", "Medium", "SemiBold", "Thin", "Two", "Ultra", "UltraLight"]
def find_file(width, style, weight):
modify = width
if width == "Normal":
modify = ""
filename = f"FiraSans{modify}-{weight}{style}.otf"
if os.path.exists(f"{width}/{style}/{filename}"):
return filename
return None
def on_pack_by(width, style, weight):
def pack(composer):
composer.makedirs("share/fonts/FiraSans")
filename = find_file(width, style, weight)
composer.add(
f"{width}/{style}/{filename}",
f"share/fonts/FiraSans/{filename}",
)
on_pack(pack)
def build():
filename_version = upstream_version.replace('.', '')
os.chdir(f"Download_Folder_FiraSans_{filename_version}/Fonts/Fira_Sans_OTF_{filename_version}")
packages = []
for width in widths:
for style in styles:
for weight in weights:
filename = find_file(width, style, weight)
if filename:
pkgname = filename.replace(".otf", "")
package(pkgname)
arch_any()
on_pack_by(width, style, weight)
packages += [pkgname]
package("FiraSans-Fonts")
arch_any()
for pkgname in packages:
dep(f"{pkgname} (same-version) @any")
on_pack(lambda x: print("Packing FiraSans-Fonts."))
on_build(build)
+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"])
+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"])
+59
View File
@@ -0,0 +1,59 @@
import glob
from lib import arch, cpp
from lib.make import *
version("1.7.2")
description("Linux PAM (Pluggable Authentication Modules for Linux) project")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/linux-pam/linux-pam/releases/download/v1.7.2/Linux-PAM-1.7.2.tar.xz")
supported_arch(lambda x: "linux" in x)
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("linux-dev @target")
def build():
cpp.meson_setup([
f"--libdir={get_prefix('linux-pam')}/lib",
f"--includedir={get_prefix('linux-pam-dev')}/include",
"--sysconfdir=/var/config",
"-Di18n=disabled",
"-Daudit=disabled",
"-Deconf=disabled",
"-Dlogind=disabled",
"-Delogind=disabled",
"-Dopenssl=disabled",
"-Dpwaccess=disabled",
"-Dselinux=disabled",
"-Dnis=disabled",
f"-Dsecuredir=/lib/{arch.get_target()}/pam",
f"-Dvendordir={get_prefix('linux-pam')}/share/pam",
"-Dpam_userdb=disabled",
"-Dpam_unix=disabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
def pack(composer):
composer.makedir("lib")
for i in glob.glob("lib/*.so*"):
composer.addfile(i)
composer.add_dir(f"lib/{arch.get_target()}/pam", "linux/pam")
composer.makedir("share")
composer.add_dir("share/pam")
composer.add_dir("sbin", "bin")
package("linux-pam")
dep("semi-libc @same-arch")
on_pack(pack)
package("linux-pam-dev")
dep("linux-pam (same)")
dep("semi-libc-dev @same-arch")
cpp.use_auto_pack(["dev"])