Add PKGBUILD stable and -git, AUR publish and Arch build GitHub Actions (#31)
* Create AUR_publish.yml * Added PKGBUILD * Switched AUR publish addon * Added arch-build action * Remove useless step in arch-build * Checkout latest tag instead of master for Arch and Fedora publish actions * Added -git PKGBUILD and added wlroots < 0.16 as dependency * Checkout master before running swayfx-git aur script * Check build for stable PKGBUILD after -git version * Removed spaces in wlroots depends version
This commit is contained in:
parent
c82adeb7c0
commit
7990b32dd2
54
.github/workflows/AUR_publish.yml
vendored
Normal file
54
.github/workflows/AUR_publish.yml
vendored
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
name: Package for the AUR
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
jobs:
|
||||||
|
aur-publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out sources
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
# Checks out the latest tag
|
||||||
|
- run: |
|
||||||
|
git stash save "Action stashing changes"
|
||||||
|
latestTag=$(git describe --abbrev=0 --tags)
|
||||||
|
git checkout $latestTag
|
||||||
|
|
||||||
|
- name: Publish AUR Stable package
|
||||||
|
uses: ulises-jeremias/github-actions-aur-publish@v1
|
||||||
|
with:
|
||||||
|
pkgname: swayfx
|
||||||
|
pkgbuild: ./build-scripts/aur/PKGBUILD
|
||||||
|
assets: |
|
||||||
|
./build-scripts/aur/50-systemd-user.conf
|
||||||
|
./build-scripts/aur/sway.install
|
||||||
|
commit_username: ${{ secrets.AUR_USERNAME }}
|
||||||
|
commit_email: ${{ secrets.AUR_EMAIL }}
|
||||||
|
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
||||||
|
commit_message: Update AUR package
|
||||||
|
ssh_keyscan_types: rsa,dsa,ecdsa,ed25519
|
||||||
|
update_pkgver: false
|
||||||
|
|
||||||
|
# Checks out the the Master branch
|
||||||
|
- run: |
|
||||||
|
git checkout master
|
||||||
|
- name: Publish AUR -git package
|
||||||
|
uses: ulises-jeremias/github-actions-aur-publish@v1
|
||||||
|
with:
|
||||||
|
pkgname: swayfx-git
|
||||||
|
pkgbuild: ./build-scripts/aur-git/PKGBUILD
|
||||||
|
assets: |
|
||||||
|
./build-scripts/aur-git/50-systemd-user.conf
|
||||||
|
./build-scripts/aur-git/sway.install
|
||||||
|
commit_username: ${{ secrets.AUR_USERNAME }}
|
||||||
|
commit_email: ${{ secrets.AUR_EMAIL }}
|
||||||
|
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
||||||
|
commit_message: Update AUR package
|
||||||
|
ssh_keyscan_types: rsa,dsa,ecdsa,ed25519
|
||||||
|
update_pkgver: false
|
35
.github/workflows/arch-build.yml
vendored
Normal file
35
.github/workflows/arch-build.yml
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
name: Check build for Arch.
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ main ]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
arch-build:
|
||||||
|
container: archlinux:latest
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# It is necessary to checkout into sub-directory, because of some weird ownership problems cause by using containers
|
||||||
|
- name: Check out sources
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
path: swayfx
|
||||||
|
|
||||||
|
- name: Git makepkg build and check
|
||||||
|
id: makepkg
|
||||||
|
uses: edlanglois/pkgbuild-action@v1
|
||||||
|
with:
|
||||||
|
pkgdir: ./swayfx/build-scripts/aur-git
|
||||||
|
|
||||||
|
- name: Stable makepkg build and check
|
||||||
|
id: makepkg
|
||||||
|
uses: edlanglois/pkgbuild-action@v1
|
||||||
|
with:
|
||||||
|
pkgdir: ./swayfx/build-scripts/aur
|
2
.github/workflows/fedora-build.yml
vendored
2
.github/workflows/fedora-build.yml
vendored
|
@ -10,7 +10,7 @@ on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
package:
|
fedora-build:
|
||||||
container: fedora:37
|
container: fedora:37
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
|
8
.github/workflows/fedora-copr.yml
vendored
8
.github/workflows/fedora-copr.yml
vendored
|
@ -8,7 +8,7 @@ on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
package:
|
fedora-copr:
|
||||||
container: fedora:latest
|
container: fedora:latest
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
@ -31,6 +31,12 @@ jobs:
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
path: swayfx
|
path: swayfx
|
||||||
|
# Checks out the latest tag
|
||||||
|
- run: |
|
||||||
|
cd swayfx
|
||||||
|
git stash save "Action stashing changes"
|
||||||
|
latestTag=$(git describe --abbrev=0 --tags)
|
||||||
|
git checkout $latestTag
|
||||||
|
|
||||||
- name: Copy spec into root dir
|
- name: Copy spec into root dir
|
||||||
run: |
|
run: |
|
||||||
|
|
7
build-scripts/aur-git/50-systemd-user.conf
Normal file
7
build-scripts/aur-git/50-systemd-user.conf
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment
|
||||||
|
# See FS#63021
|
||||||
|
# Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal.
|
||||||
|
|
||||||
|
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
||||||
|
exec hash dbus-update-activation-environment 2>/dev/null && \
|
||||||
|
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
78
build-scripts/aur-git/PKGBUILD
Normal file
78
build-scripts/aur-git/PKGBUILD
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
# Maintainer: Erik Reider <erik.reider@protonmail.com>
|
||||||
|
_pkgname=swayfx
|
||||||
|
pkgname="$_pkgname-git"
|
||||||
|
pkgver=r6905.e2ef3ceb
|
||||||
|
pkgrel=1
|
||||||
|
license=("MIT")
|
||||||
|
pkgdesc="SwayFX: Sway, but with eye candy!"
|
||||||
|
makedepends=(
|
||||||
|
"git"
|
||||||
|
"meson"
|
||||||
|
"scdoc"
|
||||||
|
"wayland-protocols"
|
||||||
|
)
|
||||||
|
depends=(
|
||||||
|
"cairo"
|
||||||
|
"gdk-pixbuf2"
|
||||||
|
"libevdev.so"
|
||||||
|
"libinput"
|
||||||
|
"libjson-c.so"
|
||||||
|
"libudev.so"
|
||||||
|
"libwayland-server.so"
|
||||||
|
"libwlroots.so"
|
||||||
|
"libxcb"
|
||||||
|
"libxkbcommon.so"
|
||||||
|
"pango"
|
||||||
|
"pcre"
|
||||||
|
"ttf-font"
|
||||||
|
"wlroots<0.16"
|
||||||
|
)
|
||||||
|
optdepends=(
|
||||||
|
"alacritty: Terminal emulator used by the default config"
|
||||||
|
"dmenu: Application launcher"
|
||||||
|
"grim: Screenshot utility"
|
||||||
|
"i3status: Status line"
|
||||||
|
"mako: Lightweight notification daemon"
|
||||||
|
"slurp: Select a region"
|
||||||
|
"swayidle: Idle management daemon"
|
||||||
|
"swaylock: Screen locker"
|
||||||
|
"wallutils: Timed wallpapers"
|
||||||
|
"waybar: Highly customizable bar"
|
||||||
|
)
|
||||||
|
backup=(etc/sway/config)
|
||||||
|
arch=("i686" "x86_64")
|
||||||
|
url="https://github.com/WillPower3309/swayfx"
|
||||||
|
source=("${pkgname%-*}::git+${url}.git"
|
||||||
|
50-systemd-user.conf)
|
||||||
|
sha512sums=(
|
||||||
|
"SKIP"
|
||||||
|
"c2b7d808f4231f318e03789015624fd4cf32b81434b15406570b4e144c0defc54e216d881447e6fd9fc18d7da608cccb61c32e0e1fab2f1fe2750acf812d3137")
|
||||||
|
provides=("sway" "swayfx")
|
||||||
|
conflicts=("sway" "swayfx")
|
||||||
|
options=(debug)
|
||||||
|
install=sway.install
|
||||||
|
|
||||||
|
pkgver() {
|
||||||
|
cd "$_pkgname"
|
||||||
|
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
arch-meson \
|
||||||
|
-Dsd-bus-provider=libsystemd \
|
||||||
|
-Dwerror=false \
|
||||||
|
"$_pkgname" build
|
||||||
|
meson compile -C build
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
install -Dm644 50-systemd-user.conf -t "$pkgdir/etc/sway/config.d/"
|
||||||
|
|
||||||
|
DESTDIR="$pkgdir" meson install -C build
|
||||||
|
|
||||||
|
cd "$_pkgname"
|
||||||
|
install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||||
|
for util in autoname-workspaces.py inactive-windows-transparency.py grimshot; do
|
||||||
|
install -Dm755 "contrib/$util" -t "$pkgdir/usr/share/$pkgname/scripts"
|
||||||
|
done
|
||||||
|
}
|
31
build-scripts/aur-git/sway.install
Normal file
31
build-scripts/aur-git/sway.install
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
post_install() {
|
||||||
|
cat << EOD
|
||||||
|
Sway requires additional setup for privilege escalation. Without this setup,
|
||||||
|
sway will fail to start with session activation permission failures. Choose one
|
||||||
|
of the two available options (In alphabetical, not recommended, order):
|
||||||
|
|
||||||
|
1. polkit: This will make sway "just work" right after installation but may be
|
||||||
|
a weightier solution than desired.
|
||||||
|
|
||||||
|
2. seatd: Already required as a sway dependency, this is a lighter-weight
|
||||||
|
solution but requires some user configuration: Enabling the service,
|
||||||
|
adding your user to the "seat" group, then logging out/in again.
|
||||||
|
|
||||||
|
Either option should provide the same functionality/stability. Refer to the
|
||||||
|
Sway wiki page for information.
|
||||||
|
EOD
|
||||||
|
}
|
||||||
|
|
||||||
|
post_upgrade() {
|
||||||
|
cat << EOD
|
||||||
|
Sway's necessary privileges can now be obtained through seatd as well as the
|
||||||
|
incumbent polkit package. As such, polkit has been relegated to an optional
|
||||||
|
dependency.
|
||||||
|
|
||||||
|
Note that using seatd instead of polkit means that a user must be a part of the
|
||||||
|
"seat" group: Otherwise, the user will not be able to achieve the appropriate
|
||||||
|
privileged actions.
|
||||||
|
|
||||||
|
For more information, refer to the Sway wiki page.
|
||||||
|
EOD
|
||||||
|
}
|
7
build-scripts/aur/50-systemd-user.conf
Normal file
7
build-scripts/aur/50-systemd-user.conf
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment
|
||||||
|
# See FS#63021
|
||||||
|
# Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal.
|
||||||
|
|
||||||
|
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
||||||
|
exec hash dbus-update-activation-environment 2>/dev/null && \
|
||||||
|
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
73
build-scripts/aur/PKGBUILD
Normal file
73
build-scripts/aur/PKGBUILD
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
# Maintainer: Erik Reider <erik.reider@protonmail.com>
|
||||||
|
_pkgname=swayfx
|
||||||
|
pkgname="$_pkgname"
|
||||||
|
pkgver=0.1
|
||||||
|
pkgrel=1
|
||||||
|
license=("MIT")
|
||||||
|
pkgdesc="SwayFX: Sway, but with eye candy!"
|
||||||
|
makedepends=(
|
||||||
|
"git"
|
||||||
|
"meson"
|
||||||
|
"scdoc"
|
||||||
|
"wayland-protocols"
|
||||||
|
)
|
||||||
|
depends=(
|
||||||
|
"cairo"
|
||||||
|
"gdk-pixbuf2"
|
||||||
|
"libevdev.so"
|
||||||
|
"libinput"
|
||||||
|
"libjson-c.so"
|
||||||
|
"libudev.so"
|
||||||
|
"libwayland-server.so"
|
||||||
|
"libwlroots.so"
|
||||||
|
"libxcb"
|
||||||
|
"libxkbcommon.so"
|
||||||
|
"pango"
|
||||||
|
"pcre"
|
||||||
|
"ttf-font"
|
||||||
|
"wlroots<0.16"
|
||||||
|
)
|
||||||
|
optdepends=(
|
||||||
|
"alacritty: Terminal emulator used by the default config"
|
||||||
|
"dmenu: Application launcher"
|
||||||
|
"grim: Screenshot utility"
|
||||||
|
"i3status: Status line"
|
||||||
|
"mako: Lightweight notification daemon"
|
||||||
|
"slurp: Select a region"
|
||||||
|
"swayidle: Idle management daemon"
|
||||||
|
"swaylock: Screen locker"
|
||||||
|
"wallutils: Timed wallpapers"
|
||||||
|
"waybar: Highly customizable bar"
|
||||||
|
)
|
||||||
|
backup=(etc/sway/config)
|
||||||
|
arch=("i686" "x86_64")
|
||||||
|
url="https://github.com/WillPower3309/swayfx"
|
||||||
|
source=("${url}/releases/download/$pkgver/swayfx-$pkgver.tar.gz"
|
||||||
|
50-systemd-user.conf)
|
||||||
|
sha512sums=(
|
||||||
|
"SKIP"
|
||||||
|
"c2b7d808f4231f318e03789015624fd4cf32b81434b15406570b4e144c0defc54e216d881447e6fd9fc18d7da608cccb61c32e0e1fab2f1fe2750acf812d3137")
|
||||||
|
provides=("sway" "swayfx")
|
||||||
|
conflicts=("sway" "swayfx")
|
||||||
|
options=(debug)
|
||||||
|
install=sway.install
|
||||||
|
|
||||||
|
build() {
|
||||||
|
arch-meson \
|
||||||
|
-Dsd-bus-provider=libsystemd \
|
||||||
|
-Dwerror=false \
|
||||||
|
"$_pkgname" build
|
||||||
|
meson compile -C build
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
install -Dm644 50-systemd-user.conf -t "$pkgdir/etc/sway/config.d/"
|
||||||
|
|
||||||
|
DESTDIR="$pkgdir" meson install -C build
|
||||||
|
|
||||||
|
cd "$_pkgname"
|
||||||
|
install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||||
|
for util in autoname-workspaces.py inactive-windows-transparency.py grimshot; do
|
||||||
|
install -Dm755 "contrib/$util" -t "$pkgdir/usr/share/$pkgname/scripts"
|
||||||
|
done
|
||||||
|
}
|
31
build-scripts/aur/sway.install
Normal file
31
build-scripts/aur/sway.install
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
post_install() {
|
||||||
|
cat << EOD
|
||||||
|
Sway requires additional setup for privilege escalation. Without this setup,
|
||||||
|
sway will fail to start with session activation permission failures. Choose one
|
||||||
|
of the two available options (In alphabetical, not recommended, order):
|
||||||
|
|
||||||
|
1. polkit: This will make sway "just work" right after installation but may be
|
||||||
|
a weightier solution than desired.
|
||||||
|
|
||||||
|
2. seatd: Already required as a sway dependency, this is a lighter-weight
|
||||||
|
solution but requires some user configuration: Enabling the service,
|
||||||
|
adding your user to the "seat" group, then logging out/in again.
|
||||||
|
|
||||||
|
Either option should provide the same functionality/stability. Refer to the
|
||||||
|
Sway wiki page for information.
|
||||||
|
EOD
|
||||||
|
}
|
||||||
|
|
||||||
|
post_upgrade() {
|
||||||
|
cat << EOD
|
||||||
|
Sway's necessary privileges can now be obtained through seatd as well as the
|
||||||
|
incumbent polkit package. As such, polkit has been relegated to an optional
|
||||||
|
dependency.
|
||||||
|
|
||||||
|
Note that using seatd instead of polkit means that a user must be a part of the
|
||||||
|
"seat" group: Otherwise, the user will not be able to achieve the appropriate
|
||||||
|
privileged actions.
|
||||||
|
|
||||||
|
For more information, refer to the Sway wiki page.
|
||||||
|
EOD
|
||||||
|
}
|
Loading…
Reference in a new issue