File PKGBUILD of Package swsnr-gnome

# Maintainer: Sebastian Wiesner <sebastian@swsnr.de>
#
# Copyright Sebastian Wiesner <sebastian@swsnr.de>
#
# 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.

pkgname=swsnr-gnome
pkgver=49.3
pkgrel=1
pkgdesc="My basic GNOME system"
arch=("any")
url="https://swsnr.de"
license=('0BSD')
options=(!strip !debug)
# Block the legacy GNOME terminal in favour of GNOME console as fallback, and
# ptyxis (from flatpak) as default terminal application
#
# Block yelp because it's outdated, unmaintained and insecure, and so are Gnome docs
#
# Also block some of the uglier parts of cups, see e.g https://access.redhat.com/security/vulnerabilities/RHSB-2024-002
# Specifically, block hacky legacy drivers and cups-browsed which are entirely
# redundant for modern Airprint / IPP Everywhere printers.
conflicts=(
    gnome-terminal
    yelp
    gnome-user-docs
    cups-browsed
    foomatic-db
    foomatic-db-engine
    foomatic-db-gutenprint-ppds
    foomatic-db-nonfree
    foomatic-db-nonfree-ppds
    foomatic-db-ppds
)
depends=(
    swsnr-fonts
    wireplumber
    bluez
    power-profiles-daemon
    cups
    sane
    sane-airscan
    wl-clipboard
    flatpak
    xdg-desktop-portal-gnome
    xdg-user-dirs-gtk
    nuspell
    hunspell-de
    hunspell-en_gb
    hunspell-en_us
    gdm
    gnome-backgrounds
    gnome-control-center
    gnome-disk-utility
    gnome-keyring
    gnome-shell
    gnome-shell-extensions
    gnome-console
    gnome-text-editor
    gnome-system-monitor
    gvfs-afc
    gvfs-dnssd
    gvfs-goa
    gvfs-gphoto2
    gvfs-mtp
    gvfs-smb
    gvfs-wsdd
    baobab
    papers
    loupe
    showtime
    nautilus
    simple-scan
    sushi
    tecla
    gnome-firmware
    gnome-tweaks
    firefox firefox-i18n-de
    evolution
    gnome-shell-extension-dash-to-panel
    gnome-shell-extension-arc-menu
    gnome-shell-extension-xwayland-indicator
    gnome-shell-extension-gsconnect
    gnome-shell-extension-disable-extension-updates
    gnome-shell-extension-systemd-offline-update
    gnome-shell-extension-gtk3-auto-dark
    helix-dark-mode
    pipewire-pulse
    pipewire-zeroconf
    udisks2-btrfs
    gst-plugins-good
    gst-plugins-bad
    gst-plugins-ugly
    gst-plugin-va
    gst-plugin-pipewire
    gst-libav
    malcontent
    python-nautilus
)
optdepends=(
    "1password: My standard password manager"
    "vivaldi: Nice alternative browser"    
)
source=(
    50-swsnr-gnome.preset
    dconf-profile-gdm
    dconf-profile-user
    00-user
)
sha256sums=('e3099e86b7893f05b47c5981d2e50a70d280e1240d2625b075b0bfd45f805cec'
            '296f02e870f39e8122201695c669d52edf80208fd6fe955e32ce142ca960f959'
            'aaf195e04cd1a9261a71c6e51e52f6019b97070452770b4c5718c7770a7f78cb'
            '61c7488dc4fe7cfdbb9743589d34637475789695af600e9962a3ac2e5b071196')

package() {
    install -Dpm644 -t "${pkgdir}/usr/lib/systemd/system-preset/" "${srcdir}/50-${pkgname}.preset"
    install -Dpm644 "${srcdir}/dconf-profile-gdm" "${pkgdir}/etc/dconf/profile/gdm"

    # Preconfigure GNOME
    install -Dpm644 "${srcdir}/dconf-profile-user" "${pkgdir}/etc/dconf/profile/user"
    # dconf installs a hook to update dconf databases automatically
    install -Dpm644 "${srcdir}/00-user" "${pkgdir}/etc/dconf/db/user-global.d/00-${pkgname}"
}
openSUSE Build Service is sponsored by