File patterns-custom.spec of Package patterns-custom

#
# spec file for package pattern-workstation
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           patterns-custom
Version:        20250113
Release:        0
Summary:        Custom patterns for installation
URL:            https://github.com/openSUSE/patterns
License:        MIT
Group:          Metapackages
Source1:        %{name}-rpmlintrc
BuildRequires:  patterns-rpm-macros

%description
Internal package for creating patterns

%package workstation
Summary:        Workstation pattern
Provides:       pattern() = workstation
Provides:       pattern-icon() = pattern-sway
Provides:       pattern-visible()
Recommends:     pattern() = sway
Recommends:     pattern() = x86_64_v3
Recommends:     pattern() = base
Conflicts:      chrony
Conflicts:      cron
Conflicts:      dwz
Conflicts:      emacs
Conflicts:      gdm
Conflicts:      gnome-session
Conflicts:      icewm
Conflicts:      lightdm
Conflicts:      plymouth
Conflicts:      rsyslog
Conflicts:      sddm
Conflicts:      susepaste
Conflicts:      susepaste-screenshot
Conflicts:      syslog-ng
Conflicts:      syslogd
Conflicts:      xdm
Recommends:     MozillaFirefox
Recommends:     MozillaThunderbird
Recommends:     audacity
Recommends:     bat
Recommends:     bluez-auto-enable-devices
Recommends:     browserpass-native
Recommends:     btrfsprogs
Recommends:     chromium
Recommends:     eog
Recommends:     evince
Recommends:     gimp
Recommends:     gnome-calculator
Recommends:     hack-fonts
Recommends:     inkscape
Recommends:     inotify-tools
Recommends:     jq
Recommends:     mjolnir
Recommends:     nautilus
Recommends:     pinentry-gnome3
Recommends:     pipewire-alsa
Recommends:     pipewire-aptx
Recommends:     pipewire-pulseaudio
Recommends:     pipewire-pulseaudio
Recommends:     podman
Recommends:     pulseaudio-utils
Recommends:     systemd-network
Recommends:     vim-plugin-neomutt
Recommends:     wayvnc
Recommends:     xdg-desktop-portal-wlr
Recommends:     xdotool
Recommends:     xmodmap
Recommends:     xpra
Recommends:     yt-dlp
Requires:       7zip
Requires:       Mesa
Requires:       adwaita-icon-theme
Requires:       adwaita-qt6
Requires:       alacritty
Requires:       bluez
Requires:       colordiff
Requires:       convmv
Requires:       diff-so-fancy
Requires:       envsubst
Requires:       feh
Requires:       fontawesome-fonts
Requires:       fontawesome-fonts
Requires:       fzf
Requires:       git
Requires:       git-delta
Requires:       git-lfs
Requires:       gpg2
Requires:       grim
Requires:       i3blocks
Requires:       knock
Requires:       make
Requires:       mako
Requires:       mc
Requires:       mpv
Requires:       neomutt
Requires:       neomutt
Requires:       openssh
Requires:       pass-otp
Requires:       password-store
Requires:       pipewire
Requires:       pwgen
Requires:       slurp
Requires:       stow
Requires:       sudo-policy-sudo-auth-self
Requires:       sudo-policy-wheel-auth-self
Requires:       sway
Requires:       sway-branding-openSUSE
Requires:       swaybg
Requires:       swayidle
Requires:       swaylock
Requires:       tmux
Requires:       tpm-fido
Requires:       unoconv
Requires:       unrar
Requires:       vim
Requires:       waybar
Requires:       wireplumber
Requires:       wireplumber-audio
Requires:       wl-clipboard
Requires:       wlsunset
Requires:       wob
Requires:       wofi
Requires:       wofi-pass
Requires:       zathura
Requires:       zbar
Requires:       zram-generator
Requires:       zstd
Suggests:       SwayNotificationCenter
Suggests:       nvme-cli
Suggests:       pavucontrol
Suggests:       pattern() = workstation_extras

%package workstation_extras
Summary:        Workstation extras pattern
Provides:       pattern() = workstation_extras
Provides:       pattern-icon() = pattern-sway
Provides:       pattern-visible()
Requires:       ansible
Requires:       python3-elasticsearch
Requires:       python3-jmespath
Requires:       python3-kubernetes
Requires:       python3-netaddr
Requires:       python3-passlib

%package workstation_texlive
Summary:        Workstation texlive pattern
Provides:       pattern() = workstation_texlive
Provides:       pattern-icon() = pattern-documentation
Provides:       pattern-visible()
Requires:       pandoc-cli
Requires:       texlive-xetex
Requires:       texlive-collection-langczechslovak
Requires:       texlive-fancyhdr
Requires:       texlive-pdfcrop
Requires:       texlive-pdfjam-bin
Requires:       texlive-polyglossia
Requires:       texlive-tikzfill
Requires:       texlive-pagecolor
Recommends:     texlive-emptypage
Recommends:     texlive-wrapfig2

%description workstation
Custom pattern to install tools for my workstation

%files workstation
%dir %{_defaultdocdir}/patterns
%{_defaultdocdir}/patterns/workstation.txt

%description workstation_extras
Custom pattern to install extra tools for my workstation

%files workstation_extras
%dir %{_defaultdocdir}/patterns
%{_defaultdocdir}/patterns/workstation_extras.txt

%description workstation_texlive
Custom pattern to install texlive and commonly used packages

%files workstation_texlive
%dir %{_defaultdocdir}/patterns
%{_defaultdocdir}/patterns/workstation_texlive.txt

%prep

%build

%install
mkdir -p %{buildroot}%{_defaultdocdir}/patterns
for p in workstation workstation_extras workstation_texlive; do \
    echo "This file marks the pattern $p to be installed." \
    > "%{buildroot}%{_defaultdocdir}/patterns/$p.txt"
done

%changelog

openSUSE Build Service is sponsored by