Compare commits
3 Commits
76b6aa95c6
...
075406dfd5
| Author | SHA1 | Date | |
|---|---|---|---|
| 075406dfd5 | |||
| 4d4816c775 | |||
| 037a9bf75c |
@@ -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.
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user