commit dcdff6f3be9303a46670e7612ae5ef9d1412ce9a Author: Christian Schendel Date: Wed Sep 3 22:15:59 2025 +0200 Initial commit diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000..482c6d5 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,89 @@ +pkgbase = waybar-git + pkgdesc = Highly customizable Wayland bar for Sway and Wlroots based compositors + pkgver = r3845.0332d2eb + pkgrel = 1 + url = https://github.com/Alexays/Waybar + arch = x86_64 + license = MIT + makedepends = git + makedepends = catch2 + makedepends = cmake + makedepends = meson + makedepends = glib2-devel + makedepends = scdoc + makedepends = wayland-protocols + depends = atkmm + depends = cairomm + depends = fmt + depends = gcc-libs + depends = glib2 + depends = glibc + depends = glibmm + depends = gtk-layer-shell + depends = gtk3 + depends = gtkmm3 + depends = jack + depends = jsoncpp + depends = libdbusmenu-gtk3 + depends = libevdev + depends = libinput + depends = libmpdclient + depends = libnl + depends = libpipewire + depends = libpulse + depends = libsigc++ + depends = libwireplumber + depends = libxkbcommon + depends = playerctl + depends = sndio + depends = spdlog + depends = systemd-libs + depends = upower + depends = wayland + optdepends = otf-font-awesome: Icons in the default configuration + provides = waybar + conflicts = waybar + backup = etc/xdg/waybar/config.jsonc + backup = etc/xdg/waybar/style.css + source = waybar-git::git+https://github.com/Alexays/Waybar.git + b2sums = SKIP + +pkgname = waybar-git + depends = atkmm + depends = cairomm + depends = fmt + depends = gcc-libs + depends = glib2 + depends = glibc + depends = glibmm + depends = gtk-layer-shell + depends = gtk3 + depends = gtkmm3 + depends = jack + depends = jsoncpp + depends = libdbusmenu-gtk3 + depends = libevdev + depends = libinput + depends = libmpdclient + depends = libnl + depends = libpipewire + depends = libpulse + depends = libsigc++ + depends = libwireplumber + depends = libxkbcommon + depends = playerctl + depends = sndio + depends = spdlog + depends = systemd-libs + depends = upower + depends = wayland + depends = libatkmm-1.6.so + depends = libcairomm-1.0.so + depends = libgtk-3.so + depends = libjack.so + depends = libjsoncpp.so + depends = libpipewire-0.3.so + depends = libsndio.so + depends = libspdlog.so + depends = libudev.so + depends = libupower-glib.so diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..eb708b8 --- /dev/null +++ b/.gitignore @@ -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 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b87c5e4 --- /dev/null +++ b/LICENSE @@ -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. diff --git a/LICENSES/0BSD.txt b/LICENSES/0BSD.txt new file mode 120000 index 0000000..ea5b606 --- /dev/null +++ b/LICENSES/0BSD.txt @@ -0,0 +1 @@ +../LICENSE \ No newline at end of file diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..89c6b18 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,129 @@ +# Maintainer: Christian Schendel +# Contributor: Brett Cornwall +# Contributor: Maxim Baz +# Contributor: Parmjot Singh + +pkgname=waybar-git +pkgver=r3845.0332d2eb +pkgrel=1 +pkgdesc='Highly customizable Wayland bar for Sway and Wlroots based compositors' +arch=( + x86_64 +) +url="https://github.com/Alexays/Waybar" +license=( + MIT +) +depends=( + atkmm + cairomm + fmt + gcc-libs + glib2 + glibc + glibmm + gtk-layer-shell + gtk3 + gtkmm3 + jack + jsoncpp + libdbusmenu-gtk3 + libevdev + libinput + libmpdclient + libnl + libpipewire + libpulse + libsigc++ + libwireplumber + libxkbcommon + playerctl + sndio + spdlog + systemd-libs + upower + wayland +) +makedepends=( + git + catch2 + cmake + meson + glib2-devel # gdbus-codegen + scdoc # For generating manpages + wayland-protocols +) +backup=( + etc/xdg/waybar/config.jsonc + etc/xdg/waybar/style.css +) +optdepends=( + 'otf-font-awesome: Icons in the default configuration' +) + +source=( + "$pkgname::git+$url.git" +) +b2sums=('SKIP') + +conflicts=('waybar') +provides=('waybar') + +pkgver() { + cd "$srcdir/$pkgname" + + # support repositories that start without a tag but get tagged later on + ( set -o pipefail + git describe --long 2>/dev/null | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' || + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" + ) +} + +#prepare() { +# cd "$srcdir/$pkgname" +# +# # https://github.com/Alexays/Waybar/pull/2919 +# patch -Np1 -i ../0001-Update-Wireplumber-API-to-0.5.patch +#} + +build() { + cd "$srcdir/$pkgname" + local meson_options=( + --prefix=/usr + --buildtype=plain + --auto-features=enabled + --wrap-mode=nodownload + -Dcpp_std=c++20 + -Dexperimental=true + -Dcava=disabled + -Dtests=enabled + build + ) + meson "${meson_options[@]}" + meson compile -C build +} + +check() { + cd "$srcdir/$pkgname" + meson test -C build --print-errorlogs --no-rebuild --suite waybar +} + +package() { + depends+=( + 'libatkmm-1.6.so' + 'libcairomm-1.0.so' + 'libgtk-3.so' + 'libjack.so' + 'libjsoncpp.so' + 'libpipewire-0.3.so' + 'libsndio.so' + 'libspdlog.so' + 'libudev.so' + 'libupower-glib.so' + ) + cd "$srcdir/$pkgname" + meson install -C build --destdir "$pkgdir" + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/REUSE.toml b/REUSE.toml new file mode 100644 index 0000000..e45b4ff --- /dev/null +++ b/REUSE.toml @@ -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" diff --git a/chroot-build b/chroot-build new file mode 100755 index 0000000..f69cac8 --- /dev/null +++ b/chroot-build @@ -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: