Initial commit

This commit is contained in:
Christian Schendel 2025-09-03 22:20:26 +02:00
commit 693c67c41a
Signed by: doppelhelix
GPG key ID: 5874D2437CD5BBB3
9 changed files with 248 additions and 0 deletions

25
.SRCINFO Normal file
View file

@ -0,0 +1,25 @@
pkgbase = wlogout
pkgdesc = Logout menu for wayland
pkgver = 1.2.2
pkgrel = 2
url = https://github.com/ArtsyMacaw/wlogout
arch = x86_64
license = MIT
makedepends = meson
makedepends = git
makedepends = scdoc
makedepends = ninja
depends = glib2
depends = glibc
depends = gtk3
depends = gobject-introspection
depends = gtk-layer-shell
optdepends = swaylock: default buttons
optdepends = systemd: default buttons
source = wlogout-1.2.2.tar.gz::https://github.com/ArtsyMacaw/wlogout/releases/download/1.2.2/wlogout.tar.gz
source = wlogout-1.2.2.tar.gz.sig::https://github.com/ArtsyMacaw/wlogout/releases/download/1.2.2/wlogout.tar.gz.sig
validpgpkeys = F4FDB18A9937358364B276E9E25D679AF73C6D2F
b2sums = b07fc9374b48207c8b7f6570566e2840c5cad4bf6009911936ad632408721c3c371af0a5f8bcaef68e2c7c4090c9343c7d1e43f67de78dd18f704cb0138f0e9b
b2sums = SKIP
pkgname = wlogout

16
.gitignore vendored Normal file
View file

@ -0,0 +1,16 @@
# Ignore everything
*
# But not these files...
!.gitignore
!PKGBUILD
!.SRCINFO
!LICENSE
!chroot-build
!.nvchecker.toml
!/keys
!/keys/pgp
!/keys/pgp/*.asc
!/LICENSES
!/LICENSES/*.txt
!REUSE.toml

4
.nvchecker.toml Normal file
View file

@ -0,0 +1,4 @@
[wlogout]
source = "git"
git = "https://github.com/ArtsyMacaw/wlogout.git"
prefix = ""

12
LICENSE Normal file
View file

@ -0,0 +1,12 @@
Copyright Arch Linux Contributors
Permission to use, copy, modify, and/or distribute this software for
any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

1
LICENSES/0BSD.txt Symbolic link
View file

@ -0,0 +1 @@
../LICENSE

50
PKGBUILD Normal file
View file

@ -0,0 +1,50 @@
# Maintainer: Christian Schendel <doppelhelix@gmail.com>
pkgname=wlogout
pkgver=1.2.2
pkgrel=2
license=(MIT)
pkgdesc="Logout menu for wayland"
makedepends=(
meson
git
scdoc
ninja
)
depends=(
glib2
glibc
gtk3
gobject-introspection
gtk-layer-shell
)
optdepends=(
'swaylock: default buttons'
'systemd: default buttons'
)
arch=(
'x86_64'
)
url="https://github.com/ArtsyMacaw/wlogout"
source=(
"$pkgname-$pkgver.tar.gz::https://github.com/ArtsyMacaw/$pkgname/releases/download/$pkgver/$pkgname.tar.gz"
"$pkgname-$pkgver.tar.gz.sig::https://github.com/ArtsyMacaw/$pkgname/releases/download/$pkgver/$pkgname.tar.gz.sig"
)
validpgpkeys=("F4FDB18A9937358364B276E9E25D679AF73C6D2F")
b2sums=('b07fc9374b48207c8b7f6570566e2840c5cad4bf6009911936ad632408721c3c371af0a5f8bcaef68e2c7c4090c9343c7d1e43f67de78dd18f704cb0138f0e9b'
'SKIP')
build() {
cd "$srcdir"
meson setup build --prefix /usr
ninja -C build
}
package() {
DESTDIR="$pkgdir" ninja -C build install
install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" ./*.md
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" ./LICENSE
}
# vim: set ft=sh ts=4 sw=4 et:

23
REUSE.toml Normal file
View file

@ -0,0 +1,23 @@
version = 1
[[annotations]]
path = [
"PKGBUILD",
"README.md",
"keys/**",
".SRCINFO",
".nvchecker.toml",
".gitignore",
"*.install",
"*.sysusers",
"*.tmpfiles",
"*.logrotate",
"*.pam",
"*.service",
"*.socket",
"*.timer",
"*.desktop",
"*.hook",
]
SPDX-FileCopyrightText = "Arch Linux contributors"
SPDX-License-Identifier = "0BSD"

65
chroot-build Executable file
View file

@ -0,0 +1,65 @@
#!/bin/bash
# SPDX-FileCopyrightText: Christian Schendel
# SPDX-License-Identifier: 0BSD
set -euo pipefail
use_tmpfs=true
CHROOT="/tmp/mkarchroot"
check_available_ram() {
if [ "$(awk '/^MemAvailable:/ { print $2; }' /proc/meminfo)" -lt 50000 ]; then
use_tmpfs=false
fi
}
create_chroot_directory() {
if [ $use_tmpfs ]; then
sudo mount --mkdir -t tmpfs -o defaults,size=20G tmpfs $CHROOT
else
sudo mkdir -p "$CHROOT"
fi
}
create_chroot_environment() {
if [[ ! -d "$CHROOT/root" ]]; then
mkarchroot -M ~/.config/pacman/makepkg.conf "$CHROOT/root" base-devel
fi
}
build_package(){
arch-nspawn "$CHROOT/root" pacman -Syu
if makechrootpkg -c -r "$CHROOT" -- -Asf . ; then
makepkg --printsrcinfo >.SRCINFO
else
delete_chroot_environment && echo -e "\n\e[1;31m==> BUILD FAILED: \e[1;37m$CHROOT removed\e[0m " && exit 1
fi
}
sign_package(){
PACKAGE="$(makepkg --packagelist)"
gpg --use-agent --output "$PACKAGE.sig" --detach-sign "$PACKAGE"
}
delete_chroot_environment() {
if [ "$(stat -f --format=%T "$CHROOT")" == "btrfs" ]; then
{
sudo btrfs subvolume delete "$CHROOT/root/var/lib/portables"
sudo btrfs subvolume delete "$CHROOT/root/var/lib/machines"
sudo btrfs subvolume delete "$CHROOT/root"
sudo rm -Rf $CHROOT
} >>/dev/null 2>&1
elif [ "$(stat -f --format=%T "$CHROOT")" == "tmpfs" ]; then
sudo umount -f $CHROOT
fi
sudo rm -Rf $CHROOT
}
check_available_ram
create_chroot_directory
create_chroot_environment
build_package
sign_package
delete_chroot_environment
# vim: set ts=4 sw=4 et:

View file

@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
Vfk=
=cWEW
-----END PGP PUBLIC KEY BLOCK-----