Compare commits

..

3 Commits

Author SHA1 Message Date
desolate 075406dfd5 add hardened_malloc package template 2026-06-23 10:07:15 +03:00
desolate 4d4816c775 add odin package template 2026-06-23 10:07:02 +03:00
desolate 037a9bf75c add yazi package template 2026-06-23 10:06:49 +03:00
4 changed files with 143 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
The shared library will be installed at:
/usr/lib/libhardened_malloc.so
/usr/lib/libhardened_malloc-light.so
It's will NOT become active on its own. To enable it system-wide, you must preload it.
1. Test it first! Make sure a normal binary still runs:
LD_PRELOAD=/usr/lib/libhardened_malloc.so /bin/true && echo OK
LD_PRELOAD=/usr/lib/libhardened_malloc-light.so /bin/true && echo OK
If that prints OK, the library loads cleanly on this system.
2. Enable system-wide by adding this single line to /etc/ld.so.preload
(create if file doesn't exist):
/usr/lib/libhardened_malloc.so
for light variant:
/usr/lib/libhardened_malloc-light.so
Per-process alternative (safer to trial): just export LD_PRELOAD as above
for the programs you want, instead of editing ld.so.preload.
################ WARNING ################
/etc/ld.so.preload is loaded by EVERY dynamically-linked program.
If provided .so files are ever missing or broken while listed there, essential
tools (your shell, sudo , xbps) may fail to start and you can lock
yourself out of a running system.
+25
View File
@@ -0,0 +1,25 @@
# Template file for 'hardened_malloc'
pkgname=hardened_malloc
version=14
revision=1
build_style=gnu-makefile
short_desc="Hardened memory allocator from GrapheneOS"
maintainer="desolate.land"
license="MIT"
homepage="https://github.com/GrapheneOS/hardened_malloc"
distfiles="https://github.com/GrapheneOS/hardened_malloc/archive/refs/tags/${version}.tar.gz"
checksum=4cd95ff3b83c433ebc6269d0778d79eb3480b7d5bc873503e1cc3768546bdbec
do_build()
{
make ${makejobs} VARIANT=default
make ${makejobs} VARIANT=light
}
do_install()
{
vinstall out/libhardened_malloc.so 755 usr/lib
vinstall out-light/libhardened_malloc-light.so 755 usr/lib
vlicense LICENSE
}
+56
View File
@@ -0,0 +1,56 @@
# Template file for 'odin'
pkgname=odin
version=2026.06
revision=1
_tag="dev-${version//./-}"
archs="x86_64"
hostmakedepends="clang llvm22 llvm22-devel make which"
makedepends="llvm22-devel"
checkdepends="python3"
depends="clang"
short_desc="Data-oriented programming language"
maintainer="Desolate"
license="BSD-3-Clause"
homepage="https://odin-lang.org/"
nostrip=yes
distfiles="https://github.com/odin-lang/Odin/archive/refs/tags/${_tag}.tar.gz"
checksum=9f91df15e06e782bdd2825926efc256ad1a79b3e022a1398e4e10dcc4d4d95fa
wrksrc="Odin-${_tag}"
do_build() {
export CXX=clang++
export LLVM_CONFIG=llvm-config
make release
make -C vendor/cgltf/src
make -C vendor/miniaudio/src
make -C vendor/stb/src
}
do_check() {
./odin check examples/all -strict-style
python3 tests/core/download_assets.py tests/core/assets
./odin test tests/core/speed.odin -o:speed -file -all-packages
./odin test tests/vendor -all-packages
./odin test tests/internal -all-packages
}
do_install() {
vmkdir usr/lib/odin
vinstall odin 755 usr/lib/odin
for d in base core shared vendor; do
vcopy "$d" usr/lib/odin
done
# Create wrapper script to ensure ODIN_ROOT is set correctly
cat > odin.sh <<EOF
#!/bin/sh
export ODIN_ROOT=/usr/lib/odin
exec /usr/lib/odin/odin "\$@"
EOF
vbin odin.sh odin
vlicense LICENSE
vdoc PROPOSAL-PROCESS.md
vdoc README.md
}
+30
View File
@@ -0,0 +1,30 @@
# Template file for 'yazi'
pkgname=yazi
version=26.5.6
revision=1
build_style=cargo
hostmakedepends="pkg-config"
makedepends="oniguruma-devel lua54-devel"
depends="nerd-fonts-symbols-ttf"
short_desc="Blazing fast terminal file manager, based on async I/O"
maintainer="Bnyro <bnyro@tutanota.com>"
license="MIT"
homepage="https://yazi-rs.github.io"
changelog="https://github.com/sxyazi/yazi/releases"
distfiles="https://github.com/sxyazi/yazi/archive/refs/tags/v${version}.tar.gz"
checksum=a18445df86a20068f7b17609d12d6f635de488958579ae7a2b143a244ba7e63f
export VERGEN_GIT_SHA="${version}_${revision}"
# enable the generation of shell auto completions
export YAZI_GEN_COMPLETIONS=true
do_install() {
vbin target/${RUST_TARGET}/release/yazi
vbin target/${RUST_TARGET}/release/ya
vcompletion yazi-boot/completions/yazi.bash bash
vcompletion yazi-boot/completions/yazi.fish fish
vcompletion yazi-boot/completions/_yazi zsh
vinstall assets/yazi.desktop 644 /usr/share/applications
vinstall assets/logo.png 644 /usr/share/pixmaps yazi.png
vlicense LICENSE
}