File matcha-gtk-theme.spec of Package matcha-gtk-theme

#
# spec file for package matcha-gtk-theme
#
# 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/
#


%define         _name               matcha
%define         _theme              Matcha
%define         gtk3_min_version    3.20.0
%define         gtk2_min_version    2.24.30
%define         _version            2025-04-11
Name:           matcha-gtk-theme
Version:        20250411
Release:        0
Summary:        Matcha is a flat Design theme for GTK 4, GTK 3, GTK 2 and Gnome-Shell
License:        GPL-3.0-only
Group:          System/GUI/Other
URL:            https://github.com/vinceliuice/Matcha-gtk-theme
Source:         %{url}/archive/%{_version}/Matcha-gtk-theme-%{_version}.tar.gz
BuildRequires:  fdupes

%description
Matcha is a flat Design theme for GTK 4, GTK 3, GTK 2 and Gnome-Shell.

%package -n metatheme-%{_name}-common
Summary:        Matcha common theme files
Group:          System/GUI/Other
Requires:       google-roboto-fonts
Requires:       noto-sans-fonts
Suggests:       gtk2-metatheme-%{_name} = %{version}
Suggests:       gtk3-metatheme-%{_name} = %{version}
Provides:       matcha-gtk-theme
BuildArch:      noarch

%description -n metatheme-%{_name}-common
Matcha is a flat Design theme for GTK 4, GTK 3, GTK 2 and Gnome-Shell.

This package contains common files for all Matcha themes.

%package -n gtk2-metatheme-%{_name}
Summary:        Matcha GTK+2 themes
Group:          System/GUI/Other
Requires:       gtk2 >= %{gtk2_min_version}
Requires:       gtk2-engine-murrine >= 0.98.1
Requires:       metatheme-%{_name}-common = %{version}
Supplements:    packageand(metatheme-%{_name}-common:gtk2)
BuildArch:      noarch

%description -n gtk2-metatheme-%{_name}
Matcha is a flat Design theme for GTK 4, GTK 3, GTK 2 and Gnome-Shell.

This package contains the GTK2+ themes.

%package -n gtk3-metatheme-%{_name}
Summary:        Matcha GTK+3 themes
Group:          System/GUI/Other
Requires:       gtk3 >= %{gtk3_min_version}
Requires:       metatheme-%{_name}-common = %{version}
Supplements:    packageand(metatheme-%{_name}-common:gtk3)
BuildArch:      noarch

%description -n gtk3-metatheme-%{_name}
Matcha is a flat Design theme for GTK4, GTK 3, GTK 2 and Gnome-Shell.

This package contains the GTK3+ themes.


%if 0%{?suse_version} > 1500
%package -n gtk4-metatheme-%{_name}
Summary:        Matcha GTK+4 themes
Group:          System/GUI/Other
Requires:       gtk4
Requires:       metatheme-%{_name}-common = %{version}
Supplements:    packageand(metatheme-%{_name}-common:gtk4)
BuildArch:      noarch

%description -n gtk4-metatheme-%{_name}
Matcha is a flat Design theme for GTK 4, GTK 3, GTK 2 and Gnome-Shell.

This package contains the GTK+4 themes.
%endif

%package -n metacity-theme-%{_name}
Summary:        Matcha Metacity themes
Group:          System/GUI/Other
Requires:       metacity
Requires:       metatheme-%{_name}-common = %{version}
Supplements:    packageand(metatheme-%{_name}-common:metacity)
BuildArch:      noarch

%description -n metacity-theme-%{_name}
Matcha is a flat Design theme for GTK 4, GTK 3, GTK 2 and Gnome-Shell.

This package contains the metacity themes.

%package -n cinnamon-theme-%{_name}
Summary:        Matcha Cinnamon themes
Group:          System/GUI/Other
Requires:       cinnamon >= 3.2.0
Requires:       metatheme-%{_name}-common = %{version}
Supplements:    packageand(metatheme-%{_name}-common:cinnamon)
BuildArch:      noarch

%description -n cinnamon-theme-%{_name}
Matcha is a flat Design theme for GTK 4, GTK 3, GTK 2 and Gnome-Shell.

This package contains the cinnamon themes.

%package -n gnome-shell-theme-%{_name}
Summary:        Matcha GNOME Shell themes
Group:          System/GUI/Other
Requires:       gnome-shell >= 3.20.0
Requires:       metatheme-%{_name}-common = %{version}
Supplements:    packageand(metatheme-%{_name}-common:gnome-shell)
BuildArch:      noarch

%description -n gnome-shell-theme-%{_name}
Matcha is a flat Design theme for GTK 4, GTK 3, GTK 2 and Gnome-Shell.

This package contains the GNOME Shell themes.

%package -n xfwm4-theme-%{_name}
Summary:        Matcha Xfwm4 themes
Group:          System/GUI/Other
Requires:       metatheme-%{_name}-common = %{version}
Requires:       xfwm4
Supplements:    packageand(metatheme-%{_name}-common:xfwm4)
BuildArch:      noarch

%description -n xfwm4-theme-%{_name}
Matcha is a flat Design theme for GTK 4, GTK 3, GTK 2 and Gnome-Shell.

This package contains the Xfwm4 themes.

%if 0%{?suse_version} < 1650
%package -n plank-theme-%{_name}
Summary:        Matcha Plank themes
Group:          System/GUI/Other
Requires:       metatheme-%{_name}-common = %{version}
Requires:       plank
Supplements:    packageand(metatheme-%{_name}-common:plank)
BuildArch:      noarch

%description -n plank-theme-%{_name}
Matcha is a flat Design theme for GTK 4, GTK 3, GTK 2 and Gnome-Shell.
%endif

This package contains the Plank themes.

%package -n openbox-theme-%{_name}
Summary:        Matcha openbox themes
Group:          System/GUI/Other
Requires:       metatheme-%{_name}-common = %{version}
Requires:       openbox >= 3.6.1
Supplements:    packageand(metatheme-%{_name}-common:openbox)
BuildArch:      noarch

%description -n openbox-theme-%{_name}
Matcha is a flat Design theme for GTK 4, GTK 3, GTK 2 and Gnome-Shell.

This package contains the openbox themes.

%prep
%setup -q -n Matcha-gtk-theme-%{_version}

%build
# nothing to build

%install
mkdir -p %{buildroot}%{_datadir}/themes
./install.sh \
%if 0%{?sle_version} && 0%{?sle_version} <= 150300
	-s old \
%endif
	-d "%{buildroot}%{_datadir}/themes"

# Remove unity and index.theme files
rm -rf  %{buildroot}%{_datadir}/themes/*/unity
rm -f   %{buildroot}%{_datadir}/themes/*/index.theme

# Remove plank theme files for TW
%if 0%{?suse_version} > 1650
rm -rf %{buildroot}%{_datadir}/themes/*/plank
%endif

%if 0%{?suse_version} <= 1500
rm -rf %{buildroot}%{_datadir}/themes/*/gtk-4.0
%endif

%fdupes %{buildroot}/%{_datadir}/themes

# file list snippets generated with
# for subdir in gtk-2.0 gtk-3.0 gtk-4.0 gnome-shell metacity-1 cinnamon xfwm4 plank openbox-3 ; do echo "\n== ${subdir} ==\n" ; for i in */ ; do test -d "${i}/${subdir}" && echo "%{_datadir}/themes/${i}${subdir}/" ; done  ; done

%files -n metatheme-%{_name}-common
%license LICENSE
%doc README.md
%dir %{_datadir}/themes/Matcha-aliz-hdpi/
%dir %{_datadir}/themes/Matcha-aliz-xhdpi/
%dir %{_datadir}/themes/Matcha-aliz/
%dir %{_datadir}/themes/Matcha-azul-hdpi/
%dir %{_datadir}/themes/Matcha-azul-xhdpi/
%dir %{_datadir}/themes/Matcha-azul/
%dir %{_datadir}/themes/Matcha-dark-aliz-hdpi/
%dir %{_datadir}/themes/Matcha-dark-aliz-xhdpi/
%dir %{_datadir}/themes/Matcha-dark-aliz/
%dir %{_datadir}/themes/Matcha-dark-azul-hdpi/
%dir %{_datadir}/themes/Matcha-dark-azul-xhdpi/
%dir %{_datadir}/themes/Matcha-dark-azul/
%dir %{_datadir}/themes/Matcha-dark-pueril-hdpi/
%dir %{_datadir}/themes/Matcha-dark-pueril-xhdpi/
%dir %{_datadir}/themes/Matcha-dark-pueril/
%dir %{_datadir}/themes/Matcha-dark-sea-hdpi/
%dir %{_datadir}/themes/Matcha-dark-sea-xhdpi/
%dir %{_datadir}/themes/Matcha-dark-sea/
%dir %{_datadir}/themes/Matcha-light-aliz-hdpi/
%dir %{_datadir}/themes/Matcha-light-aliz-xhdpi/
%dir %{_datadir}/themes/Matcha-light-aliz/
%dir %{_datadir}/themes/Matcha-light-azul-hdpi/
%dir %{_datadir}/themes/Matcha-light-azul-xhdpi/
%dir %{_datadir}/themes/Matcha-light-azul/
%dir %{_datadir}/themes/Matcha-light-pueril-hdpi/
%dir %{_datadir}/themes/Matcha-light-pueril-xhdpi/
%dir %{_datadir}/themes/Matcha-light-pueril/
%dir %{_datadir}/themes/Matcha-light-sea-hdpi/
%dir %{_datadir}/themes/Matcha-light-sea-xhdpi/
%dir %{_datadir}/themes/Matcha-light-sea/
%dir %{_datadir}/themes/Matcha-pueril-hdpi/
%dir %{_datadir}/themes/Matcha-pueril-xhdpi/
%dir %{_datadir}/themes/Matcha-pueril/
%dir %{_datadir}/themes/Matcha-sea-hdpi/
%dir %{_datadir}/themes/Matcha-sea-xhdpi/
%dir %{_datadir}/themes/Matcha-sea/

%files -n gtk2-metatheme-%{_name}
%{_datadir}/themes/Matcha-aliz/gtk-2.0/
%{_datadir}/themes/Matcha-azul/gtk-2.0/
%{_datadir}/themes/Matcha-dark-aliz/gtk-2.0/
%{_datadir}/themes/Matcha-dark-azul/gtk-2.0/
%{_datadir}/themes/Matcha-dark-pueril/gtk-2.0/
%{_datadir}/themes/Matcha-dark-sea/gtk-2.0/
%{_datadir}/themes/Matcha-light-aliz/gtk-2.0/
%{_datadir}/themes/Matcha-light-azul/gtk-2.0/
%{_datadir}/themes/Matcha-light-pueril/gtk-2.0/
%{_datadir}/themes/Matcha-light-sea/gtk-2.0/
%{_datadir}/themes/Matcha-pueril/gtk-2.0/
%{_datadir}/themes/Matcha-sea/gtk-2.0/

%files -n gtk3-metatheme-%{_name}
%{_datadir}/themes/Matcha-aliz/gtk-3.0/
%{_datadir}/themes/Matcha-azul/gtk-3.0/
%{_datadir}/themes/Matcha-dark-aliz/gtk-3.0/
%{_datadir}/themes/Matcha-dark-azul/gtk-3.0/
%{_datadir}/themes/Matcha-dark-pueril/gtk-3.0/
%{_datadir}/themes/Matcha-dark-sea/gtk-3.0/
%{_datadir}/themes/Matcha-light-aliz/gtk-3.0/
%{_datadir}/themes/Matcha-light-azul/gtk-3.0/
%{_datadir}/themes/Matcha-light-pueril/gtk-3.0/
%{_datadir}/themes/Matcha-light-sea/gtk-3.0/
%{_datadir}/themes/Matcha-pueril/gtk-3.0/
%{_datadir}/themes/Matcha-sea/gtk-3.0/

%if 0%{?suse_version} > 1500
%files -n gtk4-metatheme-%{_name}
%{_datadir}/themes/Matcha-aliz/gtk-4.0/
%{_datadir}/themes/Matcha-azul/gtk-4.0/
%{_datadir}/themes/Matcha-dark-aliz/gtk-4.0/
%{_datadir}/themes/Matcha-dark-azul/gtk-4.0/
%{_datadir}/themes/Matcha-dark-pueril/gtk-4.0/
%{_datadir}/themes/Matcha-dark-sea/gtk-4.0/
%{_datadir}/themes/Matcha-light-aliz/gtk-4.0/
%{_datadir}/themes/Matcha-light-azul/gtk-4.0/
%{_datadir}/themes/Matcha-light-pueril/gtk-4.0/
%{_datadir}/themes/Matcha-light-sea/gtk-4.0/
%{_datadir}/themes/Matcha-pueril/gtk-4.0/
%{_datadir}/themes/Matcha-sea/gtk-4.0/
%endif

%files -n gnome-shell-theme-%{_name}
%{_datadir}/themes/Matcha-aliz/gnome-shell/
%{_datadir}/themes/Matcha-azul/gnome-shell/
%{_datadir}/themes/Matcha-dark-aliz/gnome-shell/
%{_datadir}/themes/Matcha-dark-azul/gnome-shell/
%{_datadir}/themes/Matcha-dark-pueril/gnome-shell/
%{_datadir}/themes/Matcha-dark-sea/gnome-shell/
%{_datadir}/themes/Matcha-light-aliz/gnome-shell/
%{_datadir}/themes/Matcha-light-azul/gnome-shell/
%{_datadir}/themes/Matcha-light-pueril/gnome-shell/
%{_datadir}/themes/Matcha-light-sea/gnome-shell/
%{_datadir}/themes/Matcha-pueril/gnome-shell/
%{_datadir}/themes/Matcha-sea/gnome-shell/

%files -n metacity-theme-%{_name}
%{_datadir}/themes/Matcha-aliz/metacity-1/
%{_datadir}/themes/Matcha-azul/metacity-1/
%{_datadir}/themes/Matcha-dark-aliz/metacity-1/
%{_datadir}/themes/Matcha-dark-azul/metacity-1/
%{_datadir}/themes/Matcha-dark-pueril/metacity-1/
%{_datadir}/themes/Matcha-dark-sea/metacity-1/
%{_datadir}/themes/Matcha-light-aliz/metacity-1/
%{_datadir}/themes/Matcha-light-azul/metacity-1/
%{_datadir}/themes/Matcha-light-pueril/metacity-1/
%{_datadir}/themes/Matcha-light-sea/metacity-1/
%{_datadir}/themes/Matcha-pueril/metacity-1/
%{_datadir}/themes/Matcha-sea/metacity-1/

%files -n cinnamon-theme-%{_name}
%{_datadir}/themes/Matcha-aliz/cinnamon/
%{_datadir}/themes/Matcha-azul/cinnamon/
%{_datadir}/themes/Matcha-dark-aliz/cinnamon/
%{_datadir}/themes/Matcha-dark-azul/cinnamon/
%{_datadir}/themes/Matcha-dark-pueril/cinnamon/
%{_datadir}/themes/Matcha-dark-sea/cinnamon/
%{_datadir}/themes/Matcha-light-aliz/cinnamon/
%{_datadir}/themes/Matcha-light-azul/cinnamon/
%{_datadir}/themes/Matcha-light-pueril/cinnamon/
%{_datadir}/themes/Matcha-light-sea/cinnamon/
%{_datadir}/themes/Matcha-pueril/cinnamon/
%{_datadir}/themes/Matcha-sea/cinnamon/

%files -n xfwm4-theme-%{_name}
%{_datadir}/themes/Matcha-aliz-hdpi/xfwm4/
%{_datadir}/themes/Matcha-aliz-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-aliz/xfwm4/
%{_datadir}/themes/Matcha-azul-hdpi/xfwm4/
%{_datadir}/themes/Matcha-azul-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-azul/xfwm4/
%{_datadir}/themes/Matcha-dark-aliz-hdpi/xfwm4/
%{_datadir}/themes/Matcha-dark-aliz-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-dark-aliz/xfwm4/
%{_datadir}/themes/Matcha-dark-azul-hdpi/xfwm4/
%{_datadir}/themes/Matcha-dark-azul-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-dark-azul/xfwm4/
%{_datadir}/themes/Matcha-dark-pueril-hdpi/xfwm4/
%{_datadir}/themes/Matcha-dark-pueril-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-dark-pueril/xfwm4/
%{_datadir}/themes/Matcha-dark-sea-hdpi/xfwm4/
%{_datadir}/themes/Matcha-dark-sea-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-dark-sea/xfwm4/
%{_datadir}/themes/Matcha-light-aliz-hdpi/xfwm4/
%{_datadir}/themes/Matcha-light-aliz-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-light-aliz/xfwm4/
%{_datadir}/themes/Matcha-light-azul-hdpi/xfwm4/
%{_datadir}/themes/Matcha-light-azul-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-light-azul/xfwm4/
%{_datadir}/themes/Matcha-light-pueril-hdpi/xfwm4/
%{_datadir}/themes/Matcha-light-pueril-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-light-pueril/xfwm4/
%{_datadir}/themes/Matcha-light-sea-hdpi/xfwm4/
%{_datadir}/themes/Matcha-light-sea-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-light-sea/xfwm4/
%{_datadir}/themes/Matcha-pueril-hdpi/xfwm4/
%{_datadir}/themes/Matcha-pueril-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-pueril/xfwm4/
%{_datadir}/themes/Matcha-sea-hdpi/xfwm4/
%{_datadir}/themes/Matcha-sea-xhdpi/xfwm4/
%{_datadir}/themes/Matcha-sea/xfwm4/

%if 0%{?suse_version} < 1650
%files -n plank-theme-%{_name}
%{_datadir}/themes/Matcha-aliz/plank/
%{_datadir}/themes/Matcha-azul/plank/
%{_datadir}/themes/Matcha-dark-aliz/plank/
%{_datadir}/themes/Matcha-dark-azul/plank/
%{_datadir}/themes/Matcha-dark-pueril/plank/
%{_datadir}/themes/Matcha-dark-sea/plank/
%{_datadir}/themes/Matcha-light-aliz/plank/
%{_datadir}/themes/Matcha-light-azul/plank/
%{_datadir}/themes/Matcha-light-pueril/plank/
%{_datadir}/themes/Matcha-light-sea/plank/
%{_datadir}/themes/Matcha-pueril/plank/
%{_datadir}/themes/Matcha-sea/plank/
%endif

%files -n openbox-theme-%{_name}
%{_datadir}/themes/Matcha-aliz/openbox-3/
%{_datadir}/themes/Matcha-azul/openbox-3/
%{_datadir}/themes/Matcha-dark-aliz/openbox-3/
%{_datadir}/themes/Matcha-dark-azul/openbox-3/
%{_datadir}/themes/Matcha-dark-pueril/openbox-3/
%{_datadir}/themes/Matcha-dark-sea/openbox-3/
%{_datadir}/themes/Matcha-light-aliz/openbox-3/
%{_datadir}/themes/Matcha-light-azul/openbox-3/
%{_datadir}/themes/Matcha-light-pueril/openbox-3/
%{_datadir}/themes/Matcha-light-sea/openbox-3/
%{_datadir}/themes/Matcha-pueril/openbox-3/
%{_datadir}/themes/Matcha-sea/openbox-3/

%changelog
openSUSE Build Service is sponsored by