Compare commits

...

37 Commits

Author SHA1 Message Date
96890d787c new bblfs: dev-cpp/ada-3.3.0 2026-02-06 19:41:44 -05:00
98ad182c19 fix: lfs/bison 2026-02-06 16:10:29 -05:00
48904c349b fix: lfs/psmisc 2026-02-06 15:51:08 -05:00
8a8152dcd0 fix: lfs/sed 2026-02-06 15:48:29 -05:00
dc6fe52540 update: lfs/baselayout-0.1-r1 2026-02-05 10:35:43 -05:00
a372863efe fix: lfs/binutils-2.45 2026-02-05 00:13:34 -05:00
0ab2d7ad6b fix: dejagnu-1.6.3 2026-02-04 22:56:43 -05:00
3ace070aff fix: glibc-2.42 2026-02-04 22:11:20 -05:00
f52eb0e4d7 new lfs: sys-kernel/linux-headers-6.16 2026-02-04 20:36:09 -05:00
67afb65c6a new lfs: lfs/baselayout-0.1 2026-02-04 19:06:29 -05:00
64350a3115 new bblfs: sys-apps/fd-10.3.0 2026-02-01 00:18:13 -05:00
2976f89257 new bblfs: app-shells/zoxide-0.9.8 2026-01-31 23:56:26 -05:00
a2845bf7e3 new bblfs: dev-vcs/lazygit-0.58.1 2026-01-31 20:44:12 -05:00
c16bbf9b04 new bblfs: app-editors/neovim-0.11.5 2026-01-31 20:33:50 -05:00
3cc11ba53f new bblfs: dev-libs/unibilium-2.1.2 2026-01-31 15:44:01 -05:00
f77019630c new bblfs: dev-libs/tree-sitter-vimdoc-4.0.0 2026-01-31 15:34:27 -05:00
f4bc6ebf0c new bblfs: dev-libs/tree-sitter-vim-0.7.0 2026-01-31 15:29:17 -05:00
ae01283137 new bblfs: dev-libs/tree-sitter-query-0.6.2 2026-01-31 15:25:10 -05:00
ceed6cc653 new bblfs: dev-libs/tree-sitter-markdown-0.5.1 2026-01-31 15:19:45 -05:00
26e0f4a4e8 new bblfs: dev-libs/tree-sitter-lua-0.4.0 2026-01-31 15:06:05 -05:00
d7b38ff25c new bblfs: dev-libs/tree-sitter-c-0.24.1 2026-01-31 14:03:27 -05:00
8b31c1fa2f new bblfs: dev-util/tree-sitter-cli-0.25.10 2026-01-31 13:34:17 -05:00
3957e36209 new bblfs: dev-libs/tree-sitter-0.25.10 2026-01-31 13:03:37 -05:00
90f69233c3 new bblfs: dev-libs/msgpack-6.0.0 2026-01-31 03:26:49 -05:00
c0f5243eb3 new bblfs: dev-libs/libvterm-0.3.3 2026-01-31 03:12:32 -05:00
f6e04b65ec new bblfs: dev-libs/libutf8proc-2.11.2 2026-01-31 02:49:33 -05:00
5b90906329 new bblfs: dev-lua/mpack-1.0.12 2026-01-31 02:22:00 -05:00
f8cb9dc60f new bblfs: dev-libs/libmpack-1.0.5 2026-01-31 01:49:48 -05:00
7307974a88 new bblfs: dev-lua/lpeg-1.1.0 2026-01-30 19:22:36 -05:00
1f47e608f8 new bblfs: dev-lua/luv-1.50.0.1 2026-01-30 18:51:59 -05:00
195617f345 new blfs: dev-lang/luajit-2.1.1731601260 2026-01-30 02:30:28 -05:00
bf478e196e new blfs: net-misc/openssh-10.2_p1 2026-01-21 22:05:53 -05:00
065013c0df update: update linux-sources 2026-01-21 15:53:36 -05:00
d592f4e09e update: update linux-sources 2026-01-21 15:52:40 -05:00
46e6e165f5 update: update linux-sources 2026-01-21 15:51:13 -05:00
b58993d619 new bblfs: sys-fs/duf-0.9.1 2026-01-19 18:17:16 -05:00
a4bd47c4cc new bblfs: app-misc/yazi-25.5.31 2026-01-19 18:16:46 -05:00
50 changed files with 1928 additions and 18 deletions

View File

@@ -0,0 +1,90 @@
pkgname=neovim
pkgver=0.11.5
pkgdesc="Vim-fork focused on extensibility and agility"
homepage="https://neovim.io"
license=("Apache-2.0" "vim")
bdepends=(luajit gperf gettext glibc)
depends=(
luajit
luv
lpeg
mpack
libutf8proc
libuv
libvterm
msgpack
tree-sitter
tree-sitter-c
tree-sitter-lua
tree-sitter-markdown
tree-sitter-query
tree-sitter-vim
tree-sitter-vimdoc
unibilium
)
sources=("${pkgname}-${pkgver}.tar.gz"
"sysinit.vim"
"nvimdoc.HOOK"
)
urls=("https://github.com/neovim/neovim/archive/v${pkgver}.tar.gz"
"sysinit.vim"
"nvimdoc.HOOK"
)
sha512sums=("1b2bb241261eefd195275e28bb9ebe4102261d61d8b7fe38ccebad7131ccc38d29fae8494d511b4c440ad71ef95dc405a2ba6e98b5d47426f215c8137c8bc91f"
"d485765ff5161c2a79f1d0f944588448b94cd7bf8d72ca021312e755f13d241a11c796f117148624a8d66809caebbd747da56367a6805f1d37a4956e112cb325"
"657d3a9e872481e04428f86e8412139998de41395f1b050cc79daecaa247d004118fa718246a1ea7e70112b7d84876f2d70a896d7e52a278eefba7c54ea09ba5"
)
xdg_environment_reset ()
{
export XDG_DATA_HOME="${HOME}/.local/share";
export XDG_CONFIG_HOME="${HOME}/.config";
export XDG_CACHE_HOME="${HOME}/.cache";
export XDG_STATE_HOME="${HOME}/.local/state";
export XDG_RUNTIME_DIR="${TMPDIR}/run";
mkdir -p "${XDG_DATA_HOME}" "${XDG_CONFIG_HOME}" "${XDG_CACHE_HOME}" "${XDG_STATE_HOME}" "${XDG_RUNTIME_DIR}";
chmod 0700 "${XDG_RUNTIME_DIR}";
unset DBUS_SESSION_BUS_ADDRESS
}
xdg_environment_reset
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
# Use our system vim dir
sed -e "/^# define SYS_VIMRC_FILE/s|\$VIM|${EPREFIX}/etc/vim|" \
-i src/nvim/globals.h
}
src_build() {
local cmake_args=(
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr
# appends -flto
-DENABLE_LTO=OFF
-DPREFER_LUA=no
-DLUA_PRG="/usr/bin/luajit"
# bug 906019: fix hardcoded usage of ccache
-DCACHE_PRG=OFF
)
cmake -B build "${cmake_args[@]}"
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
install -vDm644 "${filedir}/sysinit.vim" -t "${pkgdir}/etc/vim/"
install -dv "${pkgdir}/usr/share/nvim/runtime/parser"
for parser in c lua markdown query vim vimdoc; do
ln -vs ../../../../lib/libtree-sitter-${parser}.so "${pkgdir}"/usr/share/nvim/runtime/parser/${parser}.so
done
ln -vs ../share/nvim/runtime/scripts/less.sh ${pkgdir}/usr/bin/nvimpager
leaf_install_hook "${filedir}/nvimdoc.HOOK"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,9 @@
target=("/usr/share/nvim/site/pack/dist/start/*/doc/")
triggers=("install" "remove")
operation() {
for f in /usr/share/nvim/site/pack/dist/start/*/doc/; do
/usr/bin/nvim -es "+helptags $f" +q
done
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,97 @@
" Default Gentoo configuration file for neovim
" Based on the default vimrc shipped by Gentoo with app-editors/vim-core
" You can override any of these settings on a global basis via the
" "/etc/vim/nvimrc.local" file, and on a per-user basis via "~/.nvimrc".
" You may need to create these.
" Neovim comes with sensible defaults, see:
" https://github.com/neovim/neovim/issues/2676
" Most of the general settings from Gentoo's vimrc have been dropped here.
" We add only some necessary fixes and a few Gentoo specific settings.
" {{{ Locale settings
" If we have a BOM, always honour that rather than trying to guess.
if &fileencodings !~? "ucs-bom"
set fileencodings^=ucs-bom
endif
" Always check for UTF-8 when trying to determine encodings.
if &fileencodings !~? "utf-8"
" If we have to add this, the default encoding is not Unicode.
let g:added_fenc_utf8 = 1
set fileencodings+=utf-8
endif
" }}}
" {{{ Fix &shell, see bug #101665.
if "" == &shell
if executable("/bin/bash")
set shell=/bin/bash
elseif executable("/bin/sh")
set shell=/bin/sh
endif
endif
"}}}
" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh
" files should default to bash. See :help sh-syntax and bug #101819.
if has("eval")
let is_bash=1
endif
" }}}
" {{{ Autocommands
if has("autocmd")
augroup gentoo
au!
" Gentoo-specific settings for ebuilds. These are the federally-mandated
" required tab settings. See the following for more information:
" http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
" Note that the rules below are very minimal and don't cover everything.
" Better to emerge app-vim/gentoo-syntax, which provides full syntax,
" filetype and indent settings for all things Gentoo.
au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if ! exists("g:leave_my_cursor_position_alone") |
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal g'\"" |
\ endif |
\ endif
" When editing a crontab file, set backupcopy to yes rather than auto. See
" :help crontab and bug #53437.
autocmd FileType crontab set backupcopy=yes
" If we previously detected that the default encoding is not UTF-8
" (g:added_fenc_utf8), assume that a file with only ASCII characters (or no
" characters at all) isn't a Unicode file, but is in the default encoding.
" Except of course if a byte-order mark is in effect.
autocmd BufReadPost *
\ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" &&
\ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable |
\ set fileencoding= |
\ endif
" Strip trailing spaces on write
autocmd BufWritePre *.e{build,class}
\ if ! exists("g:leave_my_trailing_space_alone") |
\ :%s/\s\+$//e |
\ endif
augroup END
endif " has("autocmd")
" }}}
" {{{ nvimrc.local
if filereadable("/etc/vim/nvimrc.local")
source /etc/vim/nvimrc.local
endif
" }}}
" vim: set tw=80 sw=2 sts=2 et foldmethod=marker :

View File

@@ -0,0 +1,42 @@
pkgname=yazi
pkgver=25.5.31
pkgdesc="Blazing fast terminal file manager written in Rust, based on async I/O."
homepage="https://yazi-rs.github.io"
license=("MIT")
depends=("oniguruma")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/sxyazi/yazi/archive/refs/tags/v${pkgver}.tar.gz")
sha512sums=("c390d3e813cbefbe5c430df521f7d563aff8461eb249a90a11fba05db56205bfce5df0f15ae7a57aa8a47cff34094b969fe6fbdfa9cd9a102dba3b8cc9c30911")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
sed -i -r 's/strip\s+= true/strip = false/' Cargo.toml
cargo fetch --locked --target "$(rustc --print host-tuple)"
}
src_build() {
export YAZI_GEN_COMPLETIONS=true
export RUSTONIG_SYSTEM_LIBONIG=1
cargo build --frozen --release --no-default-features
}
_install_completions() {
pushd "$1/completions"
install -Dm644 "$2.bash" "$pkgdir/usr/share/bash-completion/completions/$2"
install -Dm644 "$2.fish" -t "$pkgdir/usr/share/fish/vendor_completions.d/"
install -Dm644 "_$2" -t "$pkgdir/usr/share/zsh/site-functions/"
popd
}
src_install() {
install -Dm755 "target/release/$pkgname" -t "$pkgdir/usr/bin/"
install -Dm755 "target/release/ya" -t "$pkgdir/usr/bin/"
install -Dm644 "LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/"
install -Dm644 "README.md" -t "$pkgdir/usr/share/doc/$pkgname-${pkgver}/"
install -Dm644 "assets/yazi.desktop" -t "$pkgdir/usr/share/applications/"
_install_completions "$pkgname-boot" "$pkgname"
_install_completions "$pkgname-cli" "ya"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,31 @@
pkgname=zoxide
pkgver=0.9.8
pkgdesc="A smarter cd command for your terminal"
homepage="https://github.com/ajeetdsouza/zoxide"
license=("MIT")
bdepends=("cargo")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/ajeetdsouza/${pkgname}/archive/refs/tags/v${pkgver}.tar.gz")
sha512sums=("44173287c9893d2de248a21d82bf5322302b69659ff87153f248a310529f06083b9ca98d6dc30df4ea574de2139ec127f7bed076d51085164c9742ea7462028c")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
cargo fetch --locked --target "$(rustc --print host-tuple)"
}
src_build() {
cargo build --frozen --release --all-features
}
src_install() {
install -vDm755 -t "$pkgdir/usr/bin/" "target/release/$pkgname"
install -vDm644 -t "$pkgdir/usr/share/man/man1/" man/man1/*.1
cd contrib/completions
install -vDm644 -t "$pkgdir/usr/share/zsh/site-functions/" _zoxide
install -vDm644 -t "$pkgdir/usr/share/fish/vendor_completions.d/" zoxide.fish
install -vDm644 zoxide.bash "$pkgdir/usr/share/bash-completion/completions/zoxide"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,30 @@
pkgname=ada
pkgver=3.3.0
pkgdesc="WHATWG-compliant and fast URL parser written in modern C++"
homepage="https://github.com/ada-url/ada"
license=("MIT" "Apache-2.0")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/ada-url/ada/archive/refs/tags/v${pkgver}.tar.gz")
sha512sums=("728bf278fcac51a8ffdf5571cb486e789cd49511674c61e354c802bbfaeea64598fb22cd28ef4b02eacdd42c1c3437f40666ca8dba8097e0ecebbae1095de77f")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local cmake_args=(
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr
-DBUILD_SHARED_LIBS=ON
-DADA_TESTING=NO
-DADA_TOOLS=NO
)
cmake -B build "${cmake_args[@]}"
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,39 @@
pkgname=luajit
pkgver="2.1.1731601260"
ver_channek=${pkgver%.*}
ver_relver=${pkgver##*.}
pkgdesc="Just-In-Time Compiler for the Lua programming language"
homepage="https://luajit.org/"
_commit="fe71d0fb54ceadfb5b5f3b6baf29e486d97f6059"
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/LuaJIT/LuaJIT/archive/${_commit}.tar.gz")
sha512sums=("4219017edd359bd5c92a37f1e3837c6ef8d9d8be89e53d80e110801e0eb7c8c2a74460376d1e3edef328e9d94f2eef9785e253027c67e1c91716e303e303a766")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
_make() {
local make_args=(
PREFIX=/usr
DESTDIR="${pkgdir}"
BUILDMODE=dynamic
TARGET_STRIP="true"
)
make "${make_args[@]}" "$@"
}
src_build() {
_make
}
src_check() {
test "${ver_relver}" == "$(cat .relver)"
test "${ver_relver}" == "$(cat src/luajit_relver.txt)"
}
src_install() {
_make install
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,59 @@
pkgname=libmpack
pkgver=1.0.5
pkgdesc="Simple implementation of msgpack in C"
homepage="https://github.com/libmpack/libmpack"
license=("MIT")
_patches=("${pkgname}-1.0.5-libtool.patch")
_patch_sums=("dcb0029018df34aa5530ef6f9f0c8ffec7d33288e8854273db98c823f03663d260837c80846acf5571400dd0f78588f26fe62b20a2f9469c09f22189b0a65fff")
sources=("${pkgname}-${pkgver}.tar.gz"
"${_patches[@]}"
)
urls=("https://github.com/${pkgname}/${pkgname}/archive/${pkgver}.tar.gz"
"${_patches[@]}"
)
sha512sums=("6e30edafcacfb580b410bc6749ed7fe8f18b3be0cb98959339853e77bc3ec0cda6df08a0f1f22768cfc773458a2ea6bcef4f0421eea55cf56c58981d13711a04"
"${_patch_sums[@]}"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
# Respect users CFLAGS
sed -e 's/-ggdb//g' -i .config/debug.mk
sed -e 's/-O3//g' -i .config/release.mk
autoreconf -fiv
}
src_build() {
./configure --prefix=/usr --enable-shared --disable-static
local make_args=(
"VERBOSE=1"
"PREFIX=/usr"
"config=release"
"LIBDIR=/usr/lib"
"INCDIR=/usr/include"
)
make "${make_args[@]}" lib-bin
}
src_check() {
make VERBOSE=1 XLDFLAGS="-shared" test
}
src_install() {
local make_args=(
"VERBOSE=1"
"PREFIX=/usr"
"DESTDIR=${pkgdir}"
"config=release"
"LIBDIR=/usr/lib"
"INCDIR=/usr/include"
"XLDFLAGS=-shared"
)
make "${make_args[@]}" install
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,89 @@
https://bugs.gentoo.org/778899
Author: orbea <orbea@riseup.net>
Date: Fri Jun 17 17:29:51 2022 -0700
configure: Add minimal configure.ac for libtool
diff --git a/Makefile b/Makefile.in
similarity index 92%
rename from Makefile
rename to Makefile.in
index 76cfd35..2c05a99 100644
--- a/Makefile
+++ b/Makefile.in
@@ -4,11 +4,9 @@
config ?= debug
SYSTEM ?= $(shell uname -s)
-ifeq ($(SYSTEM),Darwin)
- LIBTOOL ?= glibtool
-else
- LIBTOOL ?= libtool
-endif
+top_builddir = @top_builddir@
+
+LIBTOOL := @LIBTOOL@
ifneq ($(VERBOSE),1)
LIBTOOL += --quiet
@@ -33,11 +31,11 @@ else
XCFLAGS += -std=c99
endif
-NAME := mpack
-MAJOR := 1
-MINOR := 0
-PATCH := 3
-VERSION := $(MAJOR).$(MINOR).$(PATCH)
+NAME := @PACKAGE_NAME@
+MAJOR := @MAJOR@
+MINOR := @MINOR@
+PATCH := @PATCH@
+VERSION := @PACKAGE_VERSION@
LT_REVISION=0
LT_CURRENT=0
@@ -130,6 +128,11 @@ clean:
$(TOBJ): XCFLAGS := $(filter-out $(TEST_FILTER_OUT),$(XCFLAGS)) \
-std=gnu99 -Wno-conversion -Wno-unused-parameter
+$(OUTDIR)/.tag:
+ @mkdir -p $(OUTDIR)/$(SRCDIR)
+ @mkdir -p $(OUTDIR)/$(TESTDIR)/deps/tap
+ @touch $@
+
$(COVOUT): $(SRC) $(TSRC)
find $(OUTDIR) -type f -name '*.gcda' -print0 | xargs -0 rm -f
$(MAKE) CFLAGS='-DNDEBUG -g --coverage' LDFLAGS=--coverage config=$(config) test
@@ -142,7 +145,7 @@ $(PROFOUT): $(SRC) $(TSRC)
gprof $(OUTDIR)/run-tests gmon.out > $@
rm gmon.out
-$(OUTDIR)/%.lo: %.c $(AMALG)
+$(OUTDIR)/%.lo: %.c $(AMALG) $(OUTDIR)/.tag
@echo compile $< =\> $@
@$(LIBTOOL) --mode=compile --tag=CC $(CC) $(XCFLAGS) $(CFLAGS) -o $@ -c $<
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..d2f02e7
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,16 @@
+m4_define([MAJOR], [1])
+m4_define([MINOR], [0])
+m4_define([PATCH], [5])
+
+AC_INIT([mpack], [MAJOR.MINOR.PATCH])
+AC_CONFIG_FILES([Makefile])
+
+LT_INIT
+
+AC_SUBST([top_builddir], [$abs_builddir])
+
+AC_SUBST([MAJOR], [MAJOR])
+AC_SUBST([MINOR], [MINOR])
+AC_SUBST([PATCH], [PATCH])
+
+AC_OUTPUT

View File

@@ -0,0 +1,23 @@
pkgname=libutf8proc
pkgver=2.11.2
pkgdesc="A clean C Library for processing UTF-8 Unicode data"
homepage="https://github.com/JuliaStrings/utf8proc"
license=("MIT")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/JuliaStrings/${pkgname#lib}/releases/download/v${pkgver}/${pkgname#lib}-${pkgver}.tar.gz")
sha512sums=("1c5c5c21d09f5afae0eecdfe7698bc5a87a19b4c524396e4a55f7338a1d3907cf74e3252160bc3e6708d79904e83768563986d2ef9db6ead92e557742ac1bd73")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
make prefix="/usr"
}
src_install() {
make DESTDIR="${pkgdir}" prefix="/usr" install
find "${pkgdir}" -name '*.a' -delete
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,41 @@
pkgname=libvterm
pkgver=0.3.3
pkgdesc="An abstract library implementation of a VT220/xterm/ECMA-48 terminal emulator"
homepage="https://www.leonerd.org.uk/code/libvterm/"
license=("MIT")
_patches=("${pkgname}-0.3.3-slibtool.patch")
_patch_sums=("4d037b7f6538ab3a994d6e4398b9aa89f7ec689ff646899bd25af609d712cb5c2eab75ced1dae5a9cfdd9a2668d418951df681d0f81c872964beaeda32f447da")
sources=("${pkgname}-${pkgver}.tar.gz"
"${_patches[@]}"
)
urls=("https://launchpad.net/libvterm/trunk/v0.3/+download/${sources[0]}"
"${_patches[@]}"
)
sha512sums=("0117f71988d2c3c1b5e46d0778ce491a8ab9033f3afc9a9905b6d52d0e2adb59ee101667826281470e4c9de5178cbe966f4ecb2c7673e9644c7ca3508491bb49"
"${_patch_sums[@]}"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
autoreconf -fiv
}
src_build() {
./configure --prefix=/usr --disable-static
make VERBOSE=1
}
src_check() {
make VERBOSE=1 test
}
src_install() {
make VERBOSE=1 DESTDIR="${pkgdir}" install
find "${pkgdir}" -name '*.la' -delete
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,102 @@
Author: orbea <orbea@riseup.net>
Date: Tue Aug 29 16:56:23 2023 -0700
Subject: [PATCH] build: Add a minimal configures script
When building libvterm with slibtool using the rlibtool symlink the
build will fail when the generated libtool is not found. This file is
required with rlibtool so that the build can determine if the build
should be shared, static or both.
This can be solved by adding a minimal configure script.
The build steps are now:
autoreconf -fi
./configure
make
make install
Gentoo Bug: https://bugs.gentoo.org/779034
diff --git a/Makefile b/Makefile.in
similarity index 88%
rename from Makefile
rename to Makefile.in
index 41b08ed..763c8c4 100644
--- a/Makefile
+++ b/Makefile.in
@@ -1,13 +1,13 @@
-ifeq ($(shell uname),Darwin)
- LIBTOOL ?= glibtool
-else
- LIBTOOL ?= libtool
-endif
+top_builddir = @top_builddir@
+
+LIBTOOL = @LIBTOOL@
ifneq ($(VERBOSE),1)
LIBTOOL +=--quiet
endif
+CC = @CC@
+
override CFLAGS +=-Wall -Iinclude -std=c99 -Wpedantic
ifeq ($(shell uname),SunOS)
@@ -36,17 +36,21 @@ INCFILES=$(TBLFILES:.tbl=.inc)
HFILES_INT=$(sort $(wildcard src/*.h)) $(HFILES)
+VERSION_MAJOR=@VERSION_MAJOR@
+VERSION_MINOR=@VERSION_MINOR@
+
VERSION_CURRENT=0
VERSION_REVISION=0
VERSION_AGE=0
-VERSION=0.3.3
+VERSION=@PACKAGE_VERSION@
-PREFIX=/usr/local
-BINDIR=$(PREFIX)/bin
-LIBDIR=$(PREFIX)/lib
-INCDIR=$(PREFIX)/include
-MANDIR=$(PREFIX)/share/man
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+BINDIR=@bindir@
+LIBDIR=@libdir@
+INCDIR=@includedir@
+MANDIR=@mandir@
MAN3DIR=$(MANDIR)/man3
all: $(LIBRARY) $(BINFILES)
@@ -70,7 +74,7 @@ src/encoding.lo: $(INCFILES)
bin/%: bin/%.c $(LIBRARY)
@echo CC $<
- @$(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) -o $@ $< -lvterm $(LDFLAGS)
+ @$(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
t/harness.lo: t/harness.c $(HFILES)
@echo CC $<
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..34292fd
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,14 @@
+m4_define([version_major], [0])
+m4_define([version_minor], [3])
+
+AC_INIT([libvterm], [version_major.version_minor])
+AC_CONFIG_FILES([Makefile])
+
+LT_INIT
+
+AC_SUBST([top_builddir], [$abs_builddir])
+
+AC_SUBST([VERSION_MAJOR], [version_major])
+AC_SUBST([VERSION_MINOR], [version_minor])
+
+AC_OUTPUT

View File

@@ -0,0 +1,32 @@
pkgname=msgpack
_name="${pkgname}-c"
pkgver=6.0.0
pkgdesc="MessagePack is a binary-based efficient data interchange format"
homepage="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
license=("Boost-1.0")
sources=("${_name}-${pkgver}.tar.gz")
urls=("https://github.com/${pkgname}/${pkgname}-c/releases/download/c-${pkgver}/${sources[0]}")
sha512sums=("77a2a3c984e04fcda298ae34571b6826f1d4f6e53b5f7166992269421ae3153b986ed69ba0360347920047e38f6941680bc9e38563ec79f15591bf8d66cd7978")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local cmake_args=(
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_BUILD_TYPE=Release
-DMSGPACK_BUILD_EXAMPLES=OFF
-DMSGPACK_BUILD_TESTS=OFF
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
)
cmake -B build "${cmake_args[@]}"
cmake --build build
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
find "${pkgdir}" -name '*.a' -delete
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,33 @@
pkgname=tree-sitter
pkgver=0.25.10
pkgdesc="Tree-sitter is a parser generator tool and an incremental parsing library"
homepage="https://github.com/tree-sitter/tree-sitter"
license=("MIT")
_patches=("${pkgname}-0.22.2-no-static.patch")
_patch_sums=("7d06011b5f5068eb94891d9e116a5d6a3d3023fae999a9766cc19309ae2a4a33d4722074d313efcd87231794ef79d18907e468299da7de4fc4edaacbb9cbc9eb")
sources=("${pkgname}-${pkgver}.tar.gz"
"${_patches[@]}"
)
urls=("https://github.com/${pkgname}/${pkgname}/archive/refs/tags/v${pkgver}.tar.gz"
"${_patches[@]}"
)
sha512sums=("f0465a2fabe303c1b62f1f55ed08aa57372ac11370d229adcccd99b5e8067be53e92da281cdfbcd034e2ecefb33ac90a119eeac9035670ac8fbaa4242cb87a11"
"${_patch_sums[@]}"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
}
src_build() {
make PREFIX=/usr STRIP=""
}
src_install() {
make DESTDIR="${pkgdir}" PREFIX="/usr" install
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,26 @@
pkgname=tree-sitter-c
pkgver=0.24.1
pkgdesc="C grammar for Tree-sitter"
homepage="https://github.com/tree-sitter/tree-sitter-c"
license=("MIT")
depends=("tree-sitter-cli")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/tree-sitter/${pkgname}/archive/refs/tags/v${pkgver}.tar.gz")
sha512sums=("51cf052230ee835d4ae5e6c5adb24aeaeba3b4f106aceefaf4000bd0e57321946f1b3e3b0f9ea71d1c17a618604c6c7269c80c3ecc5ca17e22c883ff5ce4c304")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
tree-sitter generate src/grammar.json
}
src_build() {
make PREFIX=/usr PARSER_URL=$homepage
}
src_install() {
make DESTDIR="$pkgdir" PREFIX=/usr install
find "${pkgdir}" -name '*.a' -delete
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,26 @@
pkgname=tree-sitter-lua
pkgver=0.4.0
pkgdesc="Lua grammar for Tree-sitter"
homepage="https://github.com/tree-sitter-grammars/tree-sitter-lua"
license=("MIT")
depends=("tree-sitter-cli")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/tree-sitter-grammars/${pkgname}/archive/v${pkgver}.tar.gz")
sha512sums=("6afcac83394b0583b721b88acd1115b97e8844d0c94134235e63df1b0e46773691ab37b7ff1921d7672924baf0144eb6f60ac0196daf8691c96f0567ccac1f67")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
tree-sitter generate src/grammar.json
}
src_build() {
make PREFIX=/usr PARSER_URL=$homepage
}
src_install() {
make DESTDIR="$pkgdir" PREFIX=/usr install
find "${pkgdir}" -name '*.a' -delete
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,37 @@
pkgname=tree-sitter-markdown
pkgver=0.5.1
pkgdesc="Markdown grammar for Tree-sitter"
homepage="https://github.com/tree-sitter-grammars/tree-sitter-markdown"
license=("MIT")
depends=("tree-sitter-cli")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/tree-sitter-grammars/${pkgname}/archive/v${pkgver}.tar.gz")
sha512sums=("52356a5bb9d6b224922d34e64b8ea8d37bd9db51f3ef61b11a1da1d01e9a44f3bd4e1367e7eb8d7c2c4bcc62939c573999ce0e0382ab56b24b6db82cc91e70ec")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
cd ${pkgname}
tree-sitter generate src/grammar.json
cd ../${pkgname}-inline
tree-sitter generate src/grammar.json
}
src_build() {
#make PREFIX=/usr PARSER_URL=$homepage
local cmake_args=(
-W no-dev
-D CMAKE_INSTALL_PREFIX=/usr
-D CMAKE_BUILD_TYPE=Release
)
cmake -B build "${cmake_args[@]}"
cmake --build build
}
src_install() {
#make DESTDIR="$pkgdir" PREFIX=/usr install
DESTDIR="$pkgdir" cmake --install build
find "${pkgdir}" -name '*.a' -delete
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,26 @@
pkgname=tree-sitter-query
pkgver=0.6.2
pkgdesc="Tree-sitter query grammar for Tree-sitter"
homepage="https://github.com/tree-sitter-grammars/tree-sitter-query"
license=("MIT")
depends=("tree-sitter-cli")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/tree-sitter-grammars/${pkgname}/archive/v${pkgver}.tar.gz")
sha512sums=("850ea075529a2d1a6ece3a8fcf3a1f8736d22c1e5e6956b555fa0a0f557020a1e450361083bd9b50b24a882e0d01fc9dd4cbe9830483f27812940c0eedb70aaa")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
tree-sitter generate --no-bindings src/grammar.json
}
src_build() {
make PREFIX=/usr PARSER_URL=$homepage
}
src_install() {
make DESTDIR="$pkgdir" PREFIX=/usr install
find "${pkgdir}" -name '*.a' -delete
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,26 @@
pkgname=tree-sitter-vim
pkgver=0.7.0
pkgdesc="Lua grammar for Tree-sitter"
homepage="https://github.com/tree-sitter-grammars/tree-sitter-lua"
license=("MIT")
depends=("tree-sitter-cli")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/tree-sitter-grammars/${pkgname}/archive/v${pkgver}.tar.gz")
sha512sums=("fe585fc01f1fae6239ac89c1924d5adf70c43f41b40a8c811457068723094bc4a3a545581738173d39f10b6525ca711d419c3cb0ab59d48c60a9ea68c62ade3b")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
tree-sitter generate --no-bindings src/grammar.json
}
src_build() {
make PREFIX=/usr PARSER_URL=$homepage
}
src_install() {
make DESTDIR="$pkgdir" PREFIX=/usr install
find "${pkgdir}" -name '*.a' -delete
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,26 @@
pkgname=tree-sitter-vimdoc
pkgver=4.0.0
pkgdesc="Vimdoc grammar for Tree-sitter"
homepage="https://github.com/neovim/tree-sitter-vimdoc"
license=("MIT")
depends=("tree-sitter-cli")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/neovim/${pkgname}/archive/v${pkgver}.tar.gz")
sha512sums=("c4a40587c4ce7168b7a166c6338fc77d5b14c5860959c6170cd7d5ce424097e70746992aa722eb88c4b4e96b0d85158b142b7e9ef9aa09ace16442e8522c77af")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
#tree-sitter generate --no-bindings src/grammar.json
}
src_build() {
make PREFIX=/usr PARSER_URL=$homepage
}
src_install() {
make DESTDIR="$pkgdir" PREFIX=/usr install
find "${pkgdir}" -name '*.a' -delete
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,20 @@
--- a/Makefile
+++ b/Makefile
@@ -45,7 +45,7 @@ ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),)
PCLIBDIR := $(PREFIX)/libdata/pkgconfig
endif
-all: libtree-sitter.a libtree-sitter.$(SOEXT) tree-sitter.pc
+all: libtree-sitter.$(SOEXT) tree-sitter.pc
libtree-sitter.a: $(OBJ)
$(AR) $(ARFLAGS) $@ $^
@@ -69,7 +69,6 @@ clean:
install: all
install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter '$(DESTDIR)$(PCLIBDIR)' '$(DESTDIR)$(LIBDIR)'
install -m644 lib/include/tree_sitter/api.h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/api.h
install -m644 tree-sitter.pc '$(DESTDIR)$(PCLIBDIR)'/tree-sitter.pc
- install -m644 libtree-sitter.a '$(DESTDIR)$(LIBDIR)'/libtree-sitter.a
install -m755 libtree-sitter.$(SOEXT) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER)
ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
ln -sf libtree-sitter.$(SOEXTVER_MAJOR) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)

View File

@@ -0,0 +1,40 @@
pkgname=unibilium
pkgver=2.1.2
pkgdesc="A very basic terminfo library"
homepage="https://github.com/neovim/unibilium/"
license=("MIT" "LGPL-3+")
depends=("perl")
_patches=("${pkgname}-2.1.2-no-compress-man.patch")
_path_sums=("6bfbd322f54ffe2daec7cefba167de55b2085923cebb531e7803a8753f57437acfab2bb77fd9c956cd3da3be41e6af2e66acd6281b81bbb23c6045e3863cc90c")
sources=("${pkgname}-${pkgver}.tar.gz"
"${_patches[@]}"
)
urls=("https://github.com/neovim/${pkgname}/archive/v${pkgver}.tar.gz"
"${_patches[@]}"
)
sha512sums=("8bc50b3662fcb1b52055fed028926d8c296169b6b1cfefef9bb37a435321ee6e005c4166c1e68c2959e5f6d4ffe8f44d8ea87d6dcc967176d473ae918ff3018f"
"${_path_sums[@]}"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
autoreconf -fiv
}
src_build() {
./configure --prefix=/usr --disable-static
make
}
src_check() {
make test
}
src_install() {
make DESTDIR="$pkgdir" install
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,22 @@
--- a/Makefile.in
+++ b/Makefile.in
@@ -56,7 +56,7 @@ OBJECTS=unibilium.lo uninames.lo uniutil.lo
LIBRARY=libunibilium.la
PODS=$(wildcard doc/*.pod)
-MANPAGES=$(addprefix man/,$(notdir $(PODS:.pod=.3.gz)))
+MANPAGES=$(addprefix man/,$(notdir $(PODS:.pod=.3)))
TOOLS=$(wildcard tools/*.c)
@@ -121,8 +121,8 @@ install-man: build-man
.PHONY: build-man
build-man: $(MANPAGES)
-man/%.3.gz: doc/%.pod
- $(POD2MAN) $(POD2MAN_OPTS) $< | gzip > $@
+man/%.3: doc/%.pod
+ $(POD2MAN) $(POD2MAN_OPTS) $< > $@
# Regenerate static test files, based on existing terminfo entries.

View File

@@ -0,0 +1,48 @@
pkgname=lpeg
pkgver=1.1.0
pkgdesc="Parsing Expression Grammars for Lua"
homepage="https://www.inf.puc-rio.br/~roberto/lpeg/"
license=("MIT")
depends=("luajit" "unzip")
_patches=("${pkgname}-1.1.0-makefile.patch")
_patch_sums=("eee0564a743957938a5d9faec71f00afed1faaa13704c421d60fa0bb34d1ea581df20390afe786641351687c917a5d867a933ba7ff3703ac328b45fb664f3433")
sources=("${pkgname}-${pkgver}.zip"
${_patches[@]}
)
urls=("https://luarocks.org/manifests/gvvaughan/${pkgname}-${pkgver}-1.src.rock"
"${_patches[@]}"
)
sha512sums=("5be6d3d9608881d044185e4e9cb5a7577d94b82276f4273f5dda7e2da93e13b926eaced9fc577dd83a4af231224c85a0336ddb920d94fbb334f8f55f7f21f8b4"
"${_patch_sums[@]}"
)
src_prepare() {
unzip -q ${distdir}/${sources[0]}
tar -xf ${pkgname}-${pkgver}.tar.gz --strip-components=1
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
}
src_build() {
local luadir
luadir="$(
pkg-config --cflags luajit 2>/dev/null \
| tr ' ' '\n' \
| sed -n 's/^-I//p' \
| head -n1
)"
if [[ -z "${luadir}" ]]; then
leaf_error "cannot find luajit include dir"
fi
make LUADIR="${luadir}"
}
src_install() {
install -Dm755 lpeg.so "${pkgdir}/usr/lib/lua/5.1/lpeg.so"
install -Dm644 re.lua "${pkgdir}/usr/share/lua/5.1/re.lua"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,31 @@
Respect user CFLAGS and LDFLAGS.
--- lpeg-1.1.0/makefile
+++ lpeg-1.1.0/makefile
@@ -1,7 +1,7 @@
LIBNAME = lpeg
LUADIR = ../lua/
-COPT = -O2 -DNDEBUG
+COPT = -DNDEBUG
# COPT = -O0 -DLPEG_DEBUG -g
CWARNS = -Wall -Wextra -pedantic \
@@ -22,7 +22,7 @@
# -Wunreachable-code \
-CFLAGS = $(CWARNS) $(COPT) -std=c99 -I$(LUADIR) -fPIC
+CFLAGS += $(CWARNS) $(COPT) -std=c99 -I$(LUADIR) -fPIC
CC = gcc
FILES = lpvm.o lpcap.o lptree.o lpcode.o lpprint.o
@@ -36,7 +36,7 @@
$(MAKE) lpeg.so "DLLFLAGS = -bundle -undefined dynamic_lookup"
lpeg.so: $(FILES)
- env $(CC) $(DLLFLAGS) $(FILES) -o lpeg.so
+ env $(CC) $(DLLFLAGS) $(LDFLAGS) $(FILES) -o lpeg.so
$(FILES): makefile

View File

@@ -0,0 +1,49 @@
pkgname=luv
pkgver=1.50.0.1
_ver=${pkgver%.*}-${pkgver##*.}
pkgdesc="Bare libuv bindings for lua"
homepage="https://github.com/luvit/luv"
depends=("libuv" "luajit")
license=("MIT" "Apache-2.0")
_lua_compat_pv=0.10
sources=("${pkgname}-${pkgver}.tar.gz"
"${pkgname}-lua-compat-${_lua_compat_pv}.tar.gz"
)
urls=("https://github.com/luvit/${pkgname}/archive/${_ver}.tar.gz"
"https://github.com/keplerproject/lua-compat-5.3/archive/v${_lua_compat_pv}.tar.gz"
)
sha512sums=("97550dfef5809bef4096ec467fa3bdd06aa96ac8df49f855d301368950a194f292d164f1510cad4a00def637560a40dcb1ce586b124ff2dd5c8ad2d413bf4b29"
"f7f39085f4f6b16095f41e635b4c5477b3dab5e42b5b65a9d522941a3807ea521d4a27a77293a3c9d0ecea78a1f6c2a2497394b2d220f4d7d65e23510563d46d"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
tar -xf ${distdir}/${sources[1]}
}
src_build() {
local lua_compat_dir="${srcdir}/lua-compat-5.3-${_lua_compat_pv}"
local cmake_args=(
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_BUILD_TYPE=Release
-DBUILD_SHARED_LIBS=ON
-DBUILD_MODULE=OFF
-DLUA_BUILD_TYPE=System
-DLUA_COMPAT53_DIR="${lua_compat_dir}"
-DWITH_SHARED_LIBUV=ON
-DWITH_LUA_ENGINE=LuaJIT
)
cmake -B build "${cmake_args[@]}"
cmake --build build
}
src_check() {
ln -s "build/libluv.so" "./luv.so"
luajit "tests/run.lua" || true
}
src_install() {
DESTDIR="$pkgdir" cmake --install build
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,42 @@
pkgname=mpack
_name="lib${pkgname}-lua"
pkgver=1.0.12
license=("MIT")
depends=("libmpack" "luajit")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/${_name/-lua/}/${_name}/archive/${pkgver}.tar.gz")
sha512sums=("7df730ba98c9530d948252f2efa70cb6d4f65b0fbc3443de2239145e9ce1aa12dfa8acbbfd4b87edf19a529e3595c7a8955e00235f69aa3535d353f7f9a1c7d0")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local luadir
luadir="$(
pkg-config --cflags luajit 2>/dev/null \
| tr ' ' '\n' \
| sed -n 's/^-I//p' \
| head -n1
)"
local make_args=(
"LUA_INCLUDE=-I${luadir}"
"LUA_LIB="
"USE_SYSTEM_MPACK=yes"
"USE_SYSTEM_LUA=yes"
)
make "${make_args[@]}"
}
src_install() {
local installdir="/usr/lib/lua/5.1"
local make_args=(
"DESTDIR=${pkgdir}"
"LUA_CMOD_INSTALLDIR=${installdir}"
"USE_SYSTEM_MPACK=yes"
"USE_SYSTEM_LUA=yes"
)
make "${make_args[@]}" install
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,40 @@
pkgname=tree-sitter-cli
pkgbase=tree-sitter
pkgver=0.25.10
pkgdesc="Command-line tool for creating and testing tree-sitter grammars"
homepage="https://github.com/tree-sitter/tree-sitter"
license=("MIT")
depends=("tree-sitter")
sources=("${pkgbase}-${pkgver}.tar.gz")
urls=("https://github.com/${pkgbase}/${pkgbase}/archive/refs/tags/v${pkgver}.tar.gz")
sha512sums=("f0465a2fabe303c1b62f1f55ed08aa57372ac11370d229adcccd99b5e8067be53e92da281cdfbcd034e2ecefb33ac90a119eeac9035670ac8fbaa4242cb87a11")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
pushd cli
cargo fetch --locked --target "$(rustc --print host-tuple)"
popd
}
src_build() {
pushd cli
cargo build --release --locked --offline
for completion in bash fish zsh; do
cargo run --frozen --release -- \
complete --shell $completion > $completion-completions
done
popd
}
src_install() {
install -Dt "$pkgdir"/usr/bin target/release/$pkgbase
install -Dm644 -t "$pkgdir"/usr/share/licenses/${pkgbase}-cli LICENSE
pushd cli
install -Dm644 bash-completions "$pkgdir"/usr/share/bash-completion/completions/$pkgbase
install -Dm644 fish-completions "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgbase.fish
install -Dm644 zsh-completions "$pkgdir"/usr/share/zsh/site-functions/_$pkgbase
popd
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,37 @@
pkgname=lazygit
pkgver=0.58.1
pkgdesc="Simple terminal UI for git commands"
homepage="https://github.com/jesseduffield/lazygit"
license=("Apache-2.0" BSD ISC MIT Unlicense)
depends=(git)
bdepends=(go)
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/jesseduffield/${pkgname}/archive/v${pkgver}.tar.gz")
sha512sums=("d4802b16432b26220c3ff1576eafbca1b095a82c703e2cb46f72cea6d255caa52a9c428aa98c5ff794e56fdeac1f5fc85f491717b9caf28d8db24d6c50eb103b")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw -x -v"
go build \
-ldflags "\
-linkmode external \
-extldflags '${LDFLAGS}' \
-X main.date=$(date --date=@${SOURCE_DATE_EPOCH} -u +%Y-%m-%dT%H:%M:%SZ) \
-X main.buildSource=binaryRelease \
-X main.version=${pkgver} \
-X main.commit=v${pkgver} \
"
}
src_install() {
install -Dm 755 lazygit -t "${pkgdir}/usr/bin"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,198 @@
pkgname=baselayout
pkgver=0.1-r1
pkgdesc="basic layout of filesystem"
license=("GPL")
sources=()
urls=()
sha512sums=()
src_install() {
mkdir -pv "${pkgdir}"/{boot,home,mnt,opt,srv}
mkdir -pv "${pkgdir}"/etc/{opt,sysconfig}
mkdir -pv "${pkgdir}"/lib/firmware
mkdir -pv "${pkgdir}"/usr/{,local/}{include,src}
mkdir -pv "${pkgdir}"/usr/lib/locale
mkdir -pv "${pkgdir}"/usr/local/{bin,lib,sbin}
mkdir -pv "${pkgdir}"/usr/{,local/}share/{color,dict,doc,info,locale,man}
mkdir -pv "${pkgdir}"/usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv "${pkgdir}"/usr/{,local/}share/man/man{1..8}
mkdir -pv "${pkgdir}"/var/{cache,local,log,mail,opt,spool}
mkdir -pv "${pkgdir}"/var/lib/{color,misc,locate}
ln -svf ../run "${pkgdir}"/var/run
ln -svf ../../run/lock "${pkgdir}"/var/lock
install -dv -m 0750 "${pkgdir}"/root
install -dv -m 1777 "${pkgdir}"/tmp "${pkgdir}"/var/tmp
install -vd "${pkgdir}/etc"
ln -sv ../proc/self/mounts "${pkgdir}"/etc/mtab
cat > "${pkgdir}"/etc/hosts << EOF
127.0.0.1 localhost
::1 localhost
EOF
cat > "${pkgdir}"/etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/dev/null:/usr/bin/false
daemon:x:6:6:Daemon User:/dev/null:/usr/bin/false
messagebus:x:18:18:D-Bus Message Daemon User:/run/dbus:/usr/bin/false
systemd-journal-gateway:x:73:73:systemd Journal Gateway:/:/usr/bin/false
systemd-journal-remote:x:74:74:systemd Journal Remote:/:/usr/bin/false
systemd-journal-upload:x:75:75:systemd Journal Upload:/:/usr/bin/false
systemd-network:x:76:76:systemd Network Management:/:/usr/bin/false
systemd-resolve:x:77:77:systemd Resolver:/:/usr/bin/false
systemd-timesync:x:78:78:systemd Time Synchronization:/:/usr/bin/false
systemd-coredump:x:79:79:systemd Core Dumper:/:/usr/bin/false
uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/usr/bin/false
systemd-oom:x:81:81:systemd Out Of Memory Daemon:/:/usr/bin/false
nobody:x:65534:65534:Unprivileged User:/dev/null:/usr/bin/false
leaf:x:101:101::/var/lib/leaf/home:/bin/bash
EOF
cat > "${pkgdir}"/etc/group << "EOF"
root:x:0:
bin:x:1:daemon
sys:x:2:
kmem:x:3:
tape:x:4:
tty:x:5:
daemon:x:6:
floppy:x:7:
disk:x:8:
lp:x:9:
dialout:x:10:
audio:x:11:
video:x:12:
utmp:x:13:
cdrom:x:15:
adm:x:16:
messagebus:x:18:
systemd-journal:x:23:
input:x:24:
mail:x:34:
kvm:x:61:
systemd-journal-gateway:x:73:
systemd-journal-remote:x:74:
systemd-journal-upload:x:75:
systemd-network:x:76:
systemd-resolve:x:77:
systemd-timesync:x:78:
systemd-coredump:x:79:
uuidd:x:80:
systemd-oom:x:81:
wheel:x:97:
users:x:999:
nogroup:x:65534:
leaf:x:101:
EOF
install -vdm700 "${pkgdir}"/var/lib/leaf/home
chown -R 101:101 "${pkgdir}"/var/lib/leaf/home
install -vdm755 "${pkgdir}"/var/log
touch "${pkgdir}"/var/log/{btmp,lastlog,faillog,wtmp}
chgrp -v 13 "${pkgdir}"/var/log/lastlog
chmod -v 664 "${pkgdir}"/var/log/lastlog
chmod -v 600 "${pkgdir}"/var/log/btmp
cat > "${pkgdir}"/etc/inputrc << "EOF"
# Begin /etc/inputrc
# Modified by Chris Lynn <roryo@roryo.dynup.net>
# Allow the command prompt to wrap to the next line
set horizontal-scroll-mode Off
# Enable 8-bit input
set meta-flag On
set input-meta On
# Turns off 8th bit stripping
set convert-meta Off
# Keep the 8th bit for display
set output-meta On
# none, visible or audible
set bell-style none
# All of the following map the escape sequence of the value
# contained in the 1st argument to the readline specific functions
"\eOd": backward-word
"\eOc": forward-word
# for linux console
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
# for xterm
"\eOH": beginning-of-line
"\eOF": end-of-line
# for Konsole
"\e[H": beginning-of-line
"\e[F": end-of-line
# End /etc/inputrc
EOF
echo 12.4-systemd > "${pkgdir}"/etc/lfs-release
cat > "${pkgdir}"/etc/lsb-release << "EOF"
DISTRIB_ID="Linux From Scratch"
DISTRIB_RELEASE="12.4-systemd"
DISTRIB_CODENAME="Manifold"
DISTRIB_DESCRIPTION="Linux From Scratch"
EOF
cat > "${pkgdir}"/etc/os-release << "EOF"
NAME="Linux From Scratch"
VERSION="12.4-systemd"
ID=lfs
PRETTY_NAME="Linux From Scratch 12.4-systemd"
VERSION_CODENAME="Manifold"
HOME_URL="https://www.linuxfromscratch.org/lfs/"
RELEASE_TYPE="stable"
EOF
cat > "${pkgdir}"/etc/profile << "EOF"
# Begin /etc/profile
if [[ "$TERM" = linux ]]; then
export LANG=C.UTF-8
else
[ -f "/etc/locale.conf" ] && source /etc/locale.conf
for i in $(locale); do
key=${i%=*}
if [[ -v $key ]]; then
export $key
fi
done
fi
if [ -e /etc/profile.env ] ; then
. /etc/profile.env
fi
# You should override these in your ~/.bashrc (or equivalent) for per-user
# settings. For system defaults, you can add a new file in /etc/profile.d/.
export EDITOR=${EDITOR:-/bin/vim}
export PAGER=${PAGER:-/usr/bin/less}
# End /etc/profile
EOF
install -vdm755 "${pkgdir}"/etc/profiles.d
install -vdm755 "${pkgdir}"/etc/env.d
cat > "${pkgdir}"/etc/env.d/50baselayout << "EOF"
# /etc/env.d/50baselayout
# Do not edit this file
PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin"
ROOTPATH="/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin"
MANPATH="/usr/local/share/man:/usr/share/man"
INFOPATH="/usr/share/info"
LDPATH='/usr/lib64:/usr/local/lib64:/usr/lib:/usr/local/lib'
EOF
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -11,10 +11,10 @@ md5sums=("dee5b4267e0305a99a3c9d6131f45759")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
mkdir -v build
cd build
}
src_build() {
pushd build
../configure --prefix=/usr \
--sysconfdir="${pkgdir}"/etc \
--enable-gold \
@@ -27,17 +27,25 @@ src_build() {
--with-system-zlib \
--enable-default-hash-style=gnu
make tooldir=/usr
popd
}
src_check() {
pushd build
make -k CFLAGS_FOR_TARGET="-O2 -g" \
CXXFLAGS="-O2 -no-pie -fno-PIC" \
CFLAGS="-O2 -no-pie" \
LDFLAGS="" \
check
popd
}
src_install() {
pushd build
make prefix="${pkgdir}"/usr tooldir="${pkgdir}"/usr install
rm -fv "${pkgdir}"/usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a
find "${pkgdir}" -type f -name "*.a" -delete
popd
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -6,13 +6,13 @@ homepage="https://www.gnu.org/software/bison/bison.html"
sources=("${pkgname}-${pkgver}.tar.xz"
"bison-3.8.2-gcc15-glibcxx-assertions.patch")
urls=("https://ftp.gnu.org/gnu/${pkgname}/${sources[0]}"
"https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-devel/bison/files/${sources[1]}")
"${sources[1]}")
md5sums=("c28f119f405a2304ff0a7ccdcc629713"
"c82e47067aa2fb6f15ab930245b7bbb2")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
patch -Np1 -i ${distdir}/${sources[1]}
patch -Np1 -i ${filedir}/${sources[1]}
}
src_build() {
@@ -27,3 +27,5 @@ src_check() {
src_install() {
make DESTDIR="$pkgdir" install
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,69 @@
https://bugs.gentoo.org/935754
https://lists.gnu.org/archive/html/bison-patches/2024-07/msg00000.html
* data/skeletons/glr2.cc (yyundeleteLastStack): Recover
yylookaheadNeeds stack entry also, to prevent desyncing the sizes
of yystates and yylookaheadNeeds.
(class glr_state_set): New field yylookaheadNeedLastDeleted,
tracks lookahead need of last deleted state.
(yymarkStackDeleted): Save yylookaheadNeeds also.
---
Hi!
GCC 15 has added bounds-checks to vector<bool> when assertions are
enabled. This has caught a bug in Bison. See bug referenced above.
Now, WRT the fix: I am not sure of its correctness, but it appears to
pass tests and everything seems to indicate that the presumption it is
based on is correct. That presumption is that the two stacks mentioned
above (yylookaheadNeeds and yystates) ought to be the same size. I
inferred this because all other locations that alter the size of the two
vectors appear to do so in lock-step.
TIA, have a lovely day.
data/skeletons/glr2.cc | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/data/skeletons/glr2.cc b/data/skeletons/glr2.cc
index 970ccfdf..8b962d6f 100644
--- a/data/skeletons/glr2.cc
+++ b/data/skeletons/glr2.cc
@@ -1080,7 +1080,10 @@ namespace
{
size_t k = yyk.uget ();
if (yystates[k] != YY_NULLPTR)
- yylastDeleted = yystates[k];
+ {
+ yylastDeleted = yystates[k];
+ yylookaheadNeedLastDeleted = yylookaheadNeeds[k];
+ }
yystates[k] = YY_NULLPTR;
}
@@ -1093,6 +1096,7 @@ namespace
if (yylastDeleted == YY_NULLPTR || !yystates.empty ())
return;
yystates.push_back (yylastDeleted);
+ yylookaheadNeeds.push_back (yylookaheadNeedLastDeleted);
YYCDEBUG << "Restoring last deleted stack as stack #0.\n";
clearLastDeleted ();
}
@@ -1102,6 +1106,7 @@ namespace
void
yyremoveDeletes ()
{
+ YYASSERT(yystates.size () == yylookaheadNeeds.size ());
size_t newsize = yystates.size ();
/* j is the number of live stacks we have seen. */
for (size_t i = 0, j = 0; j < newsize; ++i)
@@ -1160,6 +1165,7 @@ namespace
/** The last stack we invalidated. */
glr_state* yylastDeleted;
+ bool yylookaheadNeedLastDeleted;
}; // class glr_state_set
} // namespace
--
2.45.2

View File

@@ -11,21 +11,25 @@ md5sums=("68c5208c58236eba447d7d6d1326b821")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
mkdir -v build
cd build
}
src_build() {
cd build
../configure --prefix=/usr
makeinfo --html --no-split -o doc/dejagnu.html ../doc/dejagnu.texi
makeinfo --plaintext -o doc/dejagnu.txt ../doc/dejagnu.texi
}
src_check() {
cd build
make check
}
src_install() {
cd build
make DESTDIR="$pkgdir" install
install -v -dm755 "${pkgdir}/usr/share/doc/dejagnu-${pkgver}"
install -v -m644 doc/dejagnu.{html,txt} "${pkgdir}/usr/share/doc/dejagnu-${pkgver}"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -1,15 +1,16 @@
pkgname="glibc"
pkgver=2.42
_kernel_min_ver=6.12
sources=("${pkgname}-${pkgver}.tar.xz"
"${pkgname}-${pkgver}-fhs-1.patch"
"${pkgname}-${pkgver}/nsswitch.conf"
"${pkgname}-${pkgver}/ld.so.conf"
"${pkgname}-${pkgver}/tzdata2025b.tar.gz"
"nsswitch.conf"
"ld.so.conf"
"tzdata2025b.tar.gz"
)
urls=("https://ftp.gnu.org/gnu/glibc/${sources[0]}"
"https://www.linuxfromscratch.org/patches/lfs/12.4/${pkgname}-${pkgver}-fhs-1.patch"
"https://gitea.phywyj.dynv6.net/wyj/LFS-PKGBUILDs/raw/branch/main/lfs/${pkgname}-${pkgver}/nsswitch.conf"
"https://gitea.phywyj.dynv6.net/wyj/LFS-PKGBUILDs/raw/branch/main/lfs/${pkgname}-${pkgver}/ld.so.conf"
"nsswitch.conf"
"ld.so.conf"
"https://www.iana.org/time-zones/repository/releases/tzdata2025b.tar.gz"
)
md5sums=("23c6f5a27932b435cae94e087cb8b1f5"
@@ -37,7 +38,7 @@ src_build() {
echo "rootsbindir=/usr/sbin" > configparms
../configure --prefix=/usr \
--disable-werror \
--enable-kernel=5.4 \
--enable-kernel=${_kernel_min_ver} \
--enable-stack-protector=strong \
--disable-nscd \
libc_cv_slibdir=/usr/lib
@@ -51,6 +52,7 @@ _skip_test() {
}
src_check() {
cd build
_skip_test tst-lchmod io/Makefile
make check
@@ -64,7 +66,7 @@ src_install() {
make DESTDIR="${pkgdir}" install
sed '/RTLDLIST=/s@/usr@@g' -i "${pkgdir}/usr/bin/ldd"
install -m644 "${distdir}/${sources[2]}" "${pkgdir}/etc/nsswitch.conf"
install -m644 "${filedir}/${sources[2]}" "${pkgdir}/etc/nsswitch.conf"
tar -xf "${distdir}/${sources[4]}"
ZONEINFO=${pkgdir}/usr/share/zoneinfo
@@ -79,7 +81,10 @@ src_install() {
zic -d $ZONEINFO -p America/New_York
unset ZONEINFO
install -m644 "${distdir}/${sources[3]}" "${pkgdir}/etc/ld.so.conf"
install -m644 "${filedir}/${sources[3]}" "${pkgdir}/etc/ld.so.conf"
rm -f "${pkgdir}/etc/ld.so.cache"
install -vd "${pkgdir}/usr/lib/locale/"
}
src_preinstall() {
@@ -124,3 +129,5 @@ src_postinstall() {
localedef -i zh_TW -f UTF-8 zh_TW.UTF-8
localedef -i zh_CN -f UTF-8 zh_CN.UTF-8
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -2,9 +2,9 @@ pkgname="psmisc"
pkgver="23.7"
pkgdesc='Miscellaneous procfs tools'
homepage="https://gitlab.com/psmisc/psmisc"
sources="${pkgname}-${pkgver}.tar.xz"
urls="https://sourceforge.net/projects/psmisc/files/${pkgname}/${sources[0]}"
md5sums="53eae841735189a896d614cba440eb10"
sources=("${pkgname}-${pkgver}.tar.xz")
urls=("https://sourceforge.net/projects/psmisc/files/${pkgname}/${sources[0]}")
md5sums=("53eae841735189a896d614cba440eb10")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
@@ -22,3 +22,5 @@ src_check() {
src_install() {
make DESTDIR="${pkgdir}" install
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -19,6 +19,8 @@ src_build() {
src_check() {
chown -R leaf .
chown -R leaf "${TMPDIR}"
chown -R leaf "${HOME}"
su leaf -c "PATH=$PATH make check"
}
@@ -27,3 +29,5 @@ src_install() {
install -d -m755 "${pkgdir}/usr/share/doc/${pkgname}-${pkgver}"
install -m644 doc/sed.html "${pkgdir}/usr/share/doc/${pkgname}-${pkgver}"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,193 @@
pkgname=openssh
pkgver=10.2_p1
_ver=${pkgver/_}
pkgdesc="Port of OpenBSD's free SSH release"
homepage="https://www.openssh.com/"
license=("BSD" "GPL-2")
depends=(
openssl
libxcrypt
zlib
linux-headers
pam
shadow
)
bdepends=(
autoconf
pkgconf
)
_patches=("openssh-9.4_p1-Allow-MAP_NORESERVE-in-sandbox-seccomp-filter-maps.patch"
"openssh-9.7_p1-config-tweaks.patch"
)
_patch_sums=("d8fc604795d8bb4228ccbfe5714d5503bb1e0d63818d2fac65d533530d01fe4ce4fac0743b8b415f646322fec859b699fa7365beba8a42bd880d737b7c6bd7df"
"bfc39aa573dd3934bae2a496a8a730f99dd7d6217c4d6e146ca4c401151f5e803f704719f29213548c67db015ba9f4cae749dd7ee5bc3b8cee0395892abae01f"
)
sources=("${pkgname}-${_ver}.tar.gz"
"sshd_at.service.1"
"sshd.pam_include.2"
"sshd.service.2"
"sshd.socket"
"acct-user-sshd.conf"
"acct-group-sshd.conf"
"${_patches[@]}"
)
urls=("https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${sources[0]}"
"sshd_at.service.1"
"sshd.pam_include.2"
"sshd.service.2"
"sshd.socket"
"acct-user-sshd.conf"
"acct-group-sshd.conf"
"${_patches[@]}"
)
sha512sums=("66f3dd646179e71aaf41c33b6f14a207dc873d71d24f11c130a89dee317ee45398b818e5b94887b5913240964a38630d7bca3e481e0f1eff2e41d9e1cfdbdfc5"
"fbfe0aed3a5e99f15dc68838975cc49a206d697fb3549d8b31db25617dc7b7b8dd2397d865d89f305d5da391cd56a69277c2215c4335fccb4dd6a9b95ba34e2f"
"d3f7e6ca8c9f2b5060ebccb259316bb59c9a7e158e8ef9466765a20db263a4043a590811f1a3ab072b718dbd70898bc69b77e0b19603d7f394b5ac1bd0a4a56c"
"24c04f0608b478b3aa600a0bdfeb31b196bd9524fdd9c78bcbef5f603a797e17ffbf2ce503af707800b67d789b24fbe1ce15e87df58003752156709d497fca3b"
"4d31d373b7bdae917dc0cf05418c71d4743e98e354aefcf055f88f55c9c644a5a0e0e605dbb8372c1b98d17c0ea1c8c0fee27d38ab8dbe23c7e420a6a78c6d42"
"72ede363950bcc1d31959bab94efdb4e87d3f913ead96ecf593041000e9d63e0872b1f9ddc75a06a67e5c7ab23e24aa0398ee99ea9b0ca921bde83b6d486c568"
"2f477d9a83086b23b00ec6fff576ce04ec5da7e73154c566292cd6192741d7775c19b7564fe0eacfa5ef9314282545217a9e6d39c4d9593db82fe2c4967b5cdc"
"${_patch_sums[@]}"
)
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config
for _patch in ${_patches[@]}; do
patch -p1 -i ${filedir}/${_patch}
done
if [[ -d patches ]]; then
find patches -type f -name "*.patch" -exec patch -p1 -i {} \;
fi
sed -e '/\t\tpercent \\/ d' \
-i regress/Makefile
local sed_args=(
-e "s:-lcrypto:$(pkg-config --libs openssl):"
# Disable fortify flags ... our gcc does this for us
-e 's:-D_FORTIFY_SOURCE=2::'
)
sed -i "${sed_args[@]}" configure{.ac,}
autoreconf -fiv
}
create_config_dropins() {
local locale_vars=(
# These are language variables that POSIX defines.
# http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_02
LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME
# These are the GNU extensions.
# https://www.gnu.org/software/autoconf/manual/html_node/Special-Shell-Variables.html
LANGUAGE LC_ADDRESS LC_IDENTIFICATION LC_MEASUREMENT LC_NAME LC_PAPER LC_TELEPHONE
)
mkdir -p etc/ssh/ssh{,d}_config.d
cat > etc/ssh/ssh_config.d/9999999gentoo.conf << EOF
# Send locale environment variables (bug #367017)
SendEnv ${locale_vars[*]}
# Send COLORTERM to match TERM (bug #658540)
SendEnv COLORTERM
EOF
cat << EOF > etc/ssh/ssh_config.d/9999999gentoo-security.conf
RevokedHostKeys "/etc/ssh/ssh_revoked_hosts"
EOF
cat << EOF > etc/ssh/ssh_revoked_hosts
# https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
EOF
cat << EOF > etc/ssh/sshd_config.d/9999999gentoo.conf
# Allow client to pass locale environment variables (bug #367017)
AcceptEnv ${locale_vars[*]}
# Allow client to pass COLORTERM to match TERM (bug #658540)
AcceptEnv COLORTERM
EOF
cat << EOF > etc/ssh/sshd_config.d/9999999gentoo-subsystem.conf
# override default of no subsystems
Subsystem sftp /usr/lib/ssh/sftp-server
EOF
cat << EOF > etc/ssh/sshd_config.d/9999999gentoo-pam.conf
UsePAM yes
# This interferes with PAM.
PasswordAuthentication no
# PAM can do its own handling of MOTD.
PrintMotd no
PrintLastLog no
EOF
}
src_build() {
local conf_args=(
--prefix=/usr
--disable-strip
--with-pid-dir=/run
--sysconfdir=/etc/ssh
--libexecdir=/usr/lib/ssh
--datadir=/usr/share/openssh
--with-privsep-path=/var/empty
--with-privsep-user=sshd
--with-xauth=/usr/bin/xauth
--without-hardening
--without-pie
--without-stackprotect
--without-wtmpdb
--without-audit
--without-kerberos5
--without-ldns
--without-libedit
--with-pam
--without-selinux
--without-security-key-builtin
--with-openssl
--with-ssl-engine
)
./configure "${conf_args[@]}"
make
create_config_dropins
}
src_check() {
local tests=(compat-tests interop-tests file-tests unit)
chown -R leaf .
chown -R leaf $HOME
chown -R leaf $TMPDIR
su leaf -c "mkdir -pv $HOME/.ssh && make -j1 ${tests[@]}"
}
src_install() {
make install-nokeys DESTDIR="${pkgdir}"
chmod 600 "${pkgdir}/etc/ssh/sshd_config"
install -vDm755 contrib/ssh-copy-id -t "${pkgdir}/usr/bin/"
install -vDm644 "${filedir}"/sshd.pam_include.2 "${pkgdir}/etc/pam.d/sshd"
install -vDm644 contrib/ssh-copy-id.1 -t "${pkgdir}/usr/share/man/man1/"
install -vDm644 "${filedir}/sshd.socket" -t "${pkgdir}/usr/lib/systemd/system/"
install -vDm644 "${filedir}/sshd.service.2" "${pkgdir}/usr/lib/systemd/system/sshd.service"
install -vDm644 "${filedir}/sshd_at.service.1" "${pkgdir}/usr/lib/systemd/system/sshd@.service"
install -vdm755 "${pkgdir}/etc/ssh/ssh_config.d"
install -vDm644 etc/ssh/ssh_config.d/* -t "${pkgdir}/etc/ssh/ssh_config.d"
install -vdm700 "${pkgdir}/etc/ssh/sshd_config.d"
install -vDm600 etc/ssh/sshd_config.d/* -t "${pkgdir}/etc/ssh/sshd_config.d"
install -vDm644 etc/ssh/ssh_revoked_hosts -t "${pkgdir}/etc/ssh"
install -vDm644 "${filedir}"/acct-user-sshd.conf -t "${pkgdir}/usr/lib/sysusers.d/"
install -vDm644 "${filedir}"/acct-group-sshd.conf -t "${pkgdir}/usr/lib/sysusers.d/"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1 @@
g sshd 22

View File

@@ -0,0 +1 @@
u sshd 22:sshd User\ for\ ssh /var/empty /sbin/nologin

View File

@@ -0,0 +1,44 @@
From 45b491ce13fcf7dbc0b3bd6df986c9cf59190721 Mon Sep 17 00:00:00 2001
From: Jordan R Abrahams-Whitehead <ajordanr@google.com>
Date: Tue, 12 Dec 2023 22:54:02 +0000
Subject: [PATCH] Allow MAP_NORESERVE in sandbox seccomp filter maps
While debugging Scudo on ChromeOS, we found that the no reserve mode
immediately crashed `sshd`. We tracked it down to the
sandbox-seccomp-filter.
Being able to mmap with MAP_NORESERVE is useful (if not necessary) for
some overcommitting allocators.
During mmap calls, the flag MAP_NORESERVE is used by some allocators
such as LLVM's Scudo for layout optimisation. This causes the sandbox
seccomp filter for the client subprocess to die with some Scudo
configurations.
Upstream patch submission:
https://lists.mindrot.org/pipermail/openssh-unix-dev/2023-December/041095.html
---
sandbox-seccomp-filter.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c
index 23b40b643..a49c5ca99 100644
--- a/sandbox-seccomp-filter.c
+++ b/sandbox-seccomp-filter.c
@@ -190,9 +190,11 @@
#if defined(__NR_mmap) || defined(__NR_mmap2)
# ifdef MAP_FIXED_NOREPLACE
-# define SC_MMAP_FLAGS MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED|MAP_FIXED_NOREPLACE
+# define SC_MMAP_FLAGS MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED \
+ |MAP_NORESERVE|MAP_FIXED_NOREPLACE
# else
-# define SC_MMAP_FLAGS MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED
+# define SC_MMAP_FLAGS MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED \
+ |MAP_NORESERVE
# endif /* MAP_FIXED_NOREPLACE */
/* Use this for both __NR_mmap and __NR_mmap2 variants */
# define SC_MMAP(_nr) \
--
2.43.0.472.g3155946c3a-goog

View File

@@ -0,0 +1,27 @@
diff -Naur a/ssh_config b/ssh_config
--- a/ssh_config 2024-03-11 05:20:49.000000000 +0000
+++ b/ssh_config 2024-06-10 16:30:15.863023773 +0100
@@ -13,6 +13,9 @@
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.
+# Make sure that all Host and Match options are below this Include!
+Include "/etc/ssh/ssh_config.d/*.conf"
+
# Site-wide defaults for some commonly used options. For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.
diff -Naur a/sshd_config b/sshd_config
--- a/sshd_config 2024-06-10 16:19:01.530491925 +0100
+++ b/sshd_config 2024-06-10 16:32:49.766386759 +0100
@@ -105,8 +105,8 @@
# no default banner path
#Banner none
-# override default of no subsystems
-Subsystem sftp /usr/libexec/sftp-server
+# Make sure that all Match options are below this Include!
+Include "/etc/ssh/sshd_config.d/*.conf"
# Example of overriding settings on a per-user basis
#Match User anoncvs

View File

@@ -0,0 +1,4 @@
auth include system-remote-login
account include system-remote-login
password include system-remote-login
session include system-remote-login

View File

@@ -0,0 +1,15 @@
[Unit]
Description=OpenSSH server daemon
After=network.target auditd.service
[Service]
Type=notify-reload
ExecStartPre=/usr/bin/ssh-keygen -A
ExecStart=/usr/sbin/sshd -D -e
KillMode=process
OOMPolicy=continue
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,10 @@
[Unit]
Description=OpenSSH Server Socket
Conflicts=sshd.service
[Socket]
ListenStream=22
Accept=yes
[Install]
WantedBy=sockets.target

View File

@@ -0,0 +1,8 @@
[Unit]
Description=OpenSSH per-connection server daemon
After=auditd.service
[Service]
ExecStart=-/usr/sbin/sshd -i -e
StandardInput=socket
StandardError=journal

View File

@@ -0,0 +1,33 @@
pkgname=fd
pkgver=10.3.0
pkgdesc="Alternative to find that provides sensible defaults for 80% of the use cases"
homepage="https://github.com/sharkdp/fd"
license=("MIT" "Unicode-3.0")
sources=("${pkgname}-${pkgver}.tar.gz")
urls=("https://github.com/sharkdp/${pkgname}/archive/v${pkgver}.tar.gz")
sha512sums=("fa7d03cbc4abab02db8ed5cc7f3cb91ba87a6b4a609186edb40db80420a31a7ef671558e7a172008d8d31d9f7ef46ad9f58503129e1a253e36f1c2c15135595b")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
cargo fetch --locked --target "$(rustc --print host-tuple)"
}
src_build() {
export CFLAGS+=" -ffat-lto-objects"
cargo build --release --locked --offline
}
src_check() {
cargo test --locked --offline
}
src_install() {
install -Dm755 target/release/fd "$pkgdir"/usr/bin/fd
make completions
install -Dm644 autocomplete/fd.bash "$pkgdir"/usr/share/bash-completion/completions/fd
install -Dm644 autocomplete/fd.fish "$pkgdir"/usr/share/fish/vendor_completions.d/fd.fish
install -Dm644 autocomplete/_fd "$pkgdir"/usr/share/zsh/site-functions/_fd
}
# vim:ft=sh syn=sh et sw=2:

36
sys-fs/duf-0.9.1.PKGBUILD Normal file
View File

@@ -0,0 +1,36 @@
pkgname=duf
pkgver=0.9.1
pkgdesc="Disk Usage/Free Utility - a better 'df' alternative"
homepage="https://github.com/muesli/duf"
license=("MIT" "BSD" "Apache-2.0")
sources=("${pkgname}-${pkgver}.tar.gz")
bdepends=("go")
urls=("https://github.com/muesli/duf/archive/refs/tags/v${pkgver}.tar.gz")
sha512sums=("5ebb8b8800268f97590488307c83f7adcd133339e5f2b86d26903b112ab826fefc66175c0f03e23b6ac1a7ebe81c416bb44f302e459b36cae6fe50279345d203")
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
local commit=$(zcat ${distdir}/${sources[0]} | git get-tar-commit-id)
local extraflags="-X main.Version=$pkgver -X main.CommitSHA=$commit"
export CGO_CPPFLAGS="$CPPFLAGS"
export CGO_CFLAGS="$CFLAGS"
export CGO_CXXFLAGS="$CXXFLAGS"
go build \
-trimpath \
-buildmode=pie \
-mod=readonly \
-modcacherw \
-ldflags "-linkmode external $extraflags -extldflags \"$LDFLAGS\"" \
-o "$pkgname" .
}
src_install() {
install -Dm0755 -t "$pkgdir/usr/bin/" "$pkgname"
install -Dm0644 -t "$pkgdir/usr/share/man/man1/" "$pkgname.1"
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -0,0 +1,27 @@
pkgname=linux-header
pkgver=6.16
kernel_ver=6.16.1
pkgdesc="Full sources including the Gentoo patchset for the ${pkgver} kernel tree"
homepage="https://www.kernel.org/"
license=(GPL-2.0-only)
_srcname=linux-${pkgver}
sources=("linux-${kernel_ver}.tar.xz")
urls=("https://www.kernel.org/pub/linux/kernel/v6.x/${sources[0]}")
md5sums=("32d45755e4b39d06e9be58f6817445ee")
options=(!strip) # there are no bineries
src_prepare() {
tar -xf ${distdir}/${sources[0]} --strip-components=1
}
src_build() {
make headers
find usr/include -type f ! -name '*.h' -delete
}
src_install() {
install -vdm755 "${pkgdir}/usr"
mv -v usr/include "${pkgdir}/usr/"
}
# vim:ft=sh syn=sh et sw=2:

View File

@@ -1,12 +1,14 @@
pkgname="linux"
pkgname="linux-sources"
_name=linux
pkgver="6.16.1"
pkgdesc="Linux kernel"
homepage="https://www.kernel.org/"
license=(GPL-2.0-only)
_srcname=linux-${pkgver%.*}
sources=("${pkgname}-${pkgver}.tar.xz")
sources=("linux-${pkgver}.tar.xz")
urls=("https://www.kernel.org/pub/linux/kernel/v6.x/${sources[0]}")
md5sums=("32d45755e4b39d06e9be58f6817445ee")
options=(!strip) # there are no bineries
src_prepare() {
tar -xf ${distdir}/${sources[0]}
@@ -22,6 +24,8 @@ src_check() {
src_install() {
install -d -v -m755 ${pkgdir}/usr/src/
mv -v ${pkgname}-${pkgver} ${pkgdir}/usr/src/
mv -v ${_name}-${pkgver} ${pkgdir}/usr/src/
install -v -m755 -d ${pkgdir}/etc/modprobe.d
}
# vim:ft=sh syn=sh et sw=2: