Merge pull request #29 from WillPower3309/fedora-spec
Official Copr repo
This commit is contained in:
commit
79dfbb9f44
51
.github/workflows/fedora-build.yml
vendored
Normal file
51
.github/workflows/fedora-build.yml
vendored
Normal file
|
@ -0,0 +1,51 @@
|
|||
name: Check build for Fedora.
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
package:
|
||||
container: fedora:37
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Install tooling for source RPM build
|
||||
run: |
|
||||
dnf -y install @development-tools @rpm-development-tools
|
||||
dnf -y install rpkg git
|
||||
dnf -y install 'dnf-command(builddep)'
|
||||
|
||||
# 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: Copy spec into root dir
|
||||
run: |
|
||||
cd swayfx
|
||||
cp ./build-scripts/swayfx.rpkg.spec ./
|
||||
|
||||
- name: Generate spec
|
||||
run: |
|
||||
cd swayfx
|
||||
mkdir specs
|
||||
rpkg spec --source --outdir specs
|
||||
|
||||
- name: Install build dependencies
|
||||
run: |
|
||||
cd swayfx
|
||||
dnf -y builddep ./specs/swayfx.rpkg.spec
|
||||
|
||||
- name: Local build
|
||||
run: |
|
||||
cd swayfx
|
||||
mkdir -p out
|
||||
rpkg local --out `pwd`/out
|
43
.github/workflows/fedora-copr.yml
vendored
Normal file
43
.github/workflows/fedora-copr.yml
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
name: Package for Fedora Copr repo
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
package:
|
||||
container: fedora:latest
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Install API token for copr-cli
|
||||
env:
|
||||
# To generate a new token: https://copr.fedorainfracloud.org/api/.
|
||||
API_TOKEN_CONTENT: ${{ secrets.COPR_API_TOKEN }}
|
||||
run: |
|
||||
mkdir -p "$HOME/.config"
|
||||
echo "$API_TOKEN_CONTENT" > "$HOME/.config/copr"
|
||||
|
||||
- name: Install tooling for source RPM build
|
||||
run: |
|
||||
dnf -y install copr-cli rpkg git
|
||||
|
||||
# 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: Copy spec into root dir
|
||||
run: |
|
||||
cd swayfx
|
||||
cp ./build-scripts/swayfx.rpkg.spec ./
|
||||
|
||||
- name: Submit the build to copr
|
||||
run: |
|
||||
cd swayfx
|
||||
rpkg -v copr-build -w ${{ secrets.COPR_REPO_NAME }}
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -7,6 +7,7 @@ bin/
|
|||
test/
|
||||
build/
|
||||
build-*/
|
||||
!build-scripts
|
||||
.lvimrc
|
||||
config-debug
|
||||
wayland-*-protocol.*
|
||||
|
|
146
build-scripts/swayfx.rpkg.spec
Normal file
146
build-scripts/swayfx.rpkg.spec
Normal file
|
@ -0,0 +1,146 @@
|
|||
# vim: syntax=spec
|
||||
Name: {{{ git_dir_name }}}
|
||||
Version: 0.1
|
||||
Release: 1%{?dist}
|
||||
Summary: SwayFX: Sway, but with eye candy!
|
||||
License: MIT
|
||||
URL: https://github.com/WillPower3309/swayfx
|
||||
VCS: {{{ git_dir_vcs }}}
|
||||
Source: {{{ git_dir_pack }}}
|
||||
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gnupg2
|
||||
BuildRequires: meson >= 0.60.0
|
||||
BuildRequires: pkgconfig(cairo)
|
||||
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
|
||||
BuildRequires: pkgconfig(json-c) >= 0.13
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(libevdev)
|
||||
BuildRequires: pkgconfig(libinput) >= 1.6.0
|
||||
BuildRequires: pkgconfig(libpcre)
|
||||
BuildRequires: pkgconfig(libsystemd) >= 239
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
BuildRequires: pkgconfig(pango)
|
||||
BuildRequires: pkgconfig(pangocairo)
|
||||
BuildRequires: pkgconfig(scdoc)
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(wayland-cursor)
|
||||
BuildRequires: pkgconfig(wayland-egl)
|
||||
BuildRequires: pkgconfig(wayland-server) >= 1.20.0
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.24
|
||||
BuildRequires: (pkgconfig(wlroots) >= 0.15.0 with pkgconfig(wlroots) < 0.16)
|
||||
BuildRequires: pkgconfig(xcb)
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
# Dmenu is the default launcher in sway
|
||||
Recommends: dmenu
|
||||
# In addition, xargs is recommended for use in such a launcher arrangement
|
||||
Recommends: findutils
|
||||
# Install configs and scripts for better integration with systemd user session
|
||||
Recommends: sway-systemd
|
||||
|
||||
Requires: swaybg
|
||||
Recommends: swayidle
|
||||
Recommends: swaylock
|
||||
# By default the Fedora background is used
|
||||
Recommends: desktop-backgrounds-compat
|
||||
|
||||
# Lack of graphical drivers may hurt the common use case
|
||||
Recommends: mesa-dri-drivers
|
||||
# Minimal installation doesn't include Qt Wayland backend
|
||||
Recommends: (qt5-qtwayland if qt5-qtbase-gui)
|
||||
Recommends: (qt6-qtwayland if qt6-qtbase-gui)
|
||||
|
||||
# dmenu (as well as rxvt any many others) requires XWayland on Sway
|
||||
Requires: xorg-x11-server-Xwayland
|
||||
# Sway binds the terminal shortcut to one specific terminal. In our case foot
|
||||
Recommends: foot
|
||||
# grim is the recommended way to take screenshots on sway 1.0+
|
||||
Recommends: grim
|
||||
%{?systemd_requires}
|
||||
|
||||
%description
|
||||
SwayFX: Sway, but with eye candy!
|
||||
|
||||
# The artwork is heavy and we don't use it with our default config
|
||||
%package wallpapers
|
||||
Summary: Wallpapers for Sway
|
||||
BuildArch: noarch
|
||||
License: CC0
|
||||
|
||||
%description wallpapers
|
||||
Wallpaper collection provided with Sway
|
||||
|
||||
|
||||
%package -n grimshot
|
||||
Summary: Helper for screenshots within sway
|
||||
Requires: grim
|
||||
Requires: jq
|
||||
Requires: slurp
|
||||
Requires: /usr/bin/wl-copy
|
||||
Recommends: /usr/bin/notify-send
|
||||
|
||||
%description -n grimshot
|
||||
Grimshot is an easy to use screenshot tool for sway. It relies on grim,
|
||||
slurp and jq to do the heavy lifting, and mostly provides an easy to use
|
||||
interface.
|
||||
|
||||
%prep
|
||||
{{{ git_dir_setup_macro }}}
|
||||
|
||||
%build
|
||||
%meson \
|
||||
-Dsd-bus-provider=libsystemd \
|
||||
-Dwerror=false
|
||||
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
# Set Fedora background as default background
|
||||
sed -i "s|^output \* bg .*|output * bg /usr/share/backgrounds/default.png fill|" %{buildroot}%{_sysconfdir}/sway/config
|
||||
# Create directory for extra config snippets
|
||||
install -d -m755 -pv %{buildroot}%{_sysconfdir}/sway/config.d
|
||||
|
||||
# install python scripts from contrib
|
||||
install -D -m644 -pv -t %{buildroot}%{_datadir}/sway/contrib contrib/*.py
|
||||
|
||||
# install contrib/grimshot tool
|
||||
scdoc <contrib/grimshot.1.scd >%{buildroot}%{_mandir}/man1/grimshot.1
|
||||
install -D -m755 -pv contrib/grimshot %{buildroot}%{_bindir}/grimshot
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%dir %{_sysconfdir}/sway
|
||||
%dir %{_sysconfdir}/sway/config.d
|
||||
%config(noreplace) %{_sysconfdir}/sway/config
|
||||
%{_mandir}/man1/sway*
|
||||
%{_mandir}/man5/*
|
||||
%{_mandir}/man7/*
|
||||
%{_bindir}/sway
|
||||
%{_bindir}/swaybar
|
||||
%{_bindir}/swaymsg
|
||||
%{_bindir}/swaynag
|
||||
%{_datadir}/sway
|
||||
%{_datadir}/wayland-sessions/sway.desktop
|
||||
%dir %{_datadir}/zsh
|
||||
%dir %{_datadir}/zsh/site-functions
|
||||
%{_datadir}/zsh/site-functions/_sway*
|
||||
%dir %{_datadir}/bash-completion
|
||||
%dir %{_datadir}/bash-completion/completions
|
||||
%{_datadir}/bash-completion/completions/sway*
|
||||
%dir %{_datadir}/fish
|
||||
%dir %{_datadir}/fish/vendor_completions.d
|
||||
%{_datadir}/fish/vendor_completions.d/sway*
|
||||
|
||||
%files wallpapers
|
||||
%license assets/LICENSE
|
||||
%{_datadir}/backgrounds/sway
|
||||
|
||||
%files -n grimshot
|
||||
%{_bindir}/grimshot
|
||||
%{_mandir}/man1/grimshot.1*
|
||||
|
||||
# Changelog will be empty until you make first annotated Git tag.
|
||||
%changelog
|
||||
{{{ git_dir_changelog }}}
|
Loading…
Reference in a new issue