File project.diff of Package gtk3
--- _service.orig
+++ _service
@@ -1,6 +1,15 @@
<?xml version="1.0"?>
<services>
<service name="obs_scm" mode="manual">
+ <param name="url">https://github.com/lah7/gtk3-classic.git</param>
+ <param name="scm">git</param>
+ <!-- <param name="revision">3.24.42</param> -->
+ <!-- <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> -->
+ <!-- <param name="versionrewrite-pattern">(.*)\+0</param> -->
+ <!-- <param name="versionrewrite-replacement">\1</param> -->
+ <!-- <param name="changesgenerate">disable</param> -->
+ </service>
+ <service name="obs_scm" mode="manual">
<param name="url">https://gitlab.gnome.org/GNOME/gtk.git</param>
<param name="scm">git</param>
<param name="revision">3.24.42</param>
--- gtk3.spec.orig
+++ gtk3.spec
@@ -22,6 +22,9 @@
%bcond_with tests
%define _name gtk
+
+%global flavor @BUILD_FLAVOR@%nil
+
# When updating the binary version, please do not forget to also update the
# baselibs.conf file accordingly.
%define binary_version 3.0.0
@@ -29,7 +32,19 @@
# Filter out provides for private modules
%define __provides_exclude_from ^%{_libdir}/gtk-3.0
+%define gtk_classic_ver 1718533858.63abea1
+%define my_builddir %_builddir/%{name}-%{version}
+
+%if "%{flavor}" == "classic"
+%(chmod +x %_sourcedir/apply-patches)
+%endif
+
+%if "%{flavor}" != ""
+Name: gtk3%{?flavor:-}%{?flavor}
+Provides: gtk3 = %{version}-%{release}
+%else
Name: gtk3
+%endif
Version: 3.24.42
Release: 0
Summary: The GTK+ toolkit library (version 3)
@@ -40,6 +55,11 @@ Source0: %{_name}-%{version}.tar.
Source1: README.SUSE
Source2: settings.ini
Source3: macros.gtk3
+%if "%flavor" == "classic"
+Source50: gtk3-classic-%{gtk_classic_ver}.tar.xz
+Source51: apply-patches
+Source52: series.conf
+%endif
Source99: baselibs.conf
# PATCH-FIX-OPENSUSE gtk3-GTK_PATH64.patch sbrabec@novell.com - 64-bit dual install. Use GTK_PATH64 environment variable instead of GTK_PATH
Patch0: gtk3-GTK_PATH64.patch
@@ -98,7 +118,7 @@ GTK+ is a multi-platform toolkit for cre
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
-%package -n libgtk-3-0
+%package -n libgtk%{?flavor:-}%{?flavor}-3-0
Summary: The GTK+ toolkit library (version 3)
Group: System/Libraries
Requires: %{name}-data >= %{version}
@@ -126,12 +146,16 @@ Recommends: adwaita-icon-theme
Recommends: gvfs
# Provide %%{name} to make the lang and immodules packages installable
Provides: %{name} = %{version}
+%if "%flavor" != ""
+Provides: libgtk-3-0 = %{version}
+Conflicts: libgtk-3-0
+%endif
# Before 3.0, the package was actually libgtk-3_0-0 and files might
# conflict
Provides: libgtk-3_0-0 = %{version}
Obsoletes: libgtk-3_0-0 < %{version}
-%description -n libgtk-3-0
+%description -n libgtk%{?flavor:-}%{?flavor}-3-0
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects
ranging from small one-off projects to complete application suites.
@@ -158,6 +182,10 @@ Requires: %{name} = %{version}
Requires(post): %{name}-tools
Requires(postun): %{name}-tools
Provides: locale(%{name}:am)
+%if "%flavor" != ""
+Provides: locale(gtk3:am)
+Conflicts: gtk3-immodule-amharic
+%endif
%description immodule-amharic
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
@@ -172,6 +200,12 @@ Group: System/Libraries
Requires: %{name} = %{version}
Requires(post): %{name}-tools
Requires(postun): %{name}-tools
+%if "%flavor" != ""
+Requires: gtk3 = %{version}
+Requires(post): gtk3-tools
+Requires(postun): gtk3-tools
+Conflicts: gtk3-tools
+%endif
%description immodule-broadway
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
@@ -187,6 +221,13 @@ Requires: %{name} = %{version}
Requires(post): %{name}-tools
Requires(postun): %{name}-tools
Provides: locale(%{name}:iu)
+%if "%flavor" != ""
+Requires: gtk3 = %{version}
+Requires(post): gtk3-tools
+Requires(postun): gtk3-tools
+Provides: locale(gtk3:iu)
+Conflicts: gtk3-immodule-inuktitut
+%endif
%description immodule-inuktitut
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
@@ -201,6 +242,13 @@ Group: System/Libraries
Requires: %{name} = %{version}
Requires(post): %{name}-tools
Requires(postun): %{name}-tools
+%if "%flavor" != ""
+Requires: gtk3 = %{version}
+Requires(post): gtk3-tools
+Requires(postun): gtk3-tools
+Provides: locale(gtk3:iu)
+Conflicts: gtk3-immodule-multipress
+%endif
%description immodule-multipress
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
@@ -218,6 +266,14 @@ Requires(post): %{name}-tools
Requires(postun): %{name}-tools
Provides: locale(%{name}:lo)
Provides: locale(%{name}:th)
+%if "%flavor" != ""
+Requires: gtk3 = %{version}
+Requires(post): gtk3-tools
+Requires(postun): gtk3-tools
+Provides: locale(gtk3:lo)
+Provides: locale(gtk3:th)
+Conflicts: gtk3-immodule-thai
+%endif
%description immodule-thai
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
@@ -235,6 +291,15 @@ Requires(postun): %{name}-tools
Provides: %{name}-immodules-tigrigna = %{version}
Provides: locale(%{name}:ti)
Obsoletes: %{name}-immodules-tigrigna < %{version}
+%if "%flavor" != ""
+Requires: gtk3 = %{version}
+Requires(post): gtk3-tools
+Requires(postun): gtk3-tools
+Provides: gtk3-immodules-tigrigna = %{version}
+Provides: locale(gtk3:ti)
+Obsoletes: gtk3-immodules-tigrigna < %{version}
+Conflicts: gtk3-immodule-tigrigna
+%endif
%description immodule-tigrigna
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
@@ -250,6 +315,13 @@ Requires: %{name} = %{version}
Requires(post): %{name}-tools
Requires(postun): %{name}-tools
Provides: locale(%{name}:vi)
+%if "%flavor" != ""
+Requires: gtk3 = %{version}
+Requires(post): gtk3-tools
+Requires(postun): gtk3-tools
+Provides: locale(gtk3:vi)
+Conflicts: gtk3-immodule-vietnamese
+%endif
%description immodule-vietnamese
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
@@ -264,6 +336,12 @@ Group: System/Libraries
Requires: %{name} = %{version}
Requires(post): %{name}-tools
Requires(postun): %{name}-tools
+%if "%flavor" != ""
+Requires: gtk3 = %{version}
+Requires(post): gtk3-tools
+Requires(postun): gtk3-tools
+Conflicts: gtk3-immodule-wayland
+%endif
%description immodule-wayland
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
@@ -283,6 +361,16 @@ Provides: locale(%{name}:ja)
Provides: locale(%{name}:ko)
Provides: locale(%{name}:th)
Provides: locale(%{name}:zh)
+%if "%flavor" != ""
+Requires: gtk3 = %{version}
+Requires(post): gtk3-tools
+Requires(postun): gtk3-tools
+Provides: locale(gtk3:ja)
+Provides: locale(gtk3:ko)
+Provides: locale(gtk3:th)
+Provides: locale(gtk3:zh)
+Conflicts: gtk3-immodule-xim
+%endif
%description immodule-xim
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
@@ -329,6 +417,11 @@ Requires: libgtk-3-0 = %{version}
Supplements: (%{name} and branding-upstream)
Conflicts: %{name}-branding
Provides: %{name}-branding = %{version}
+%if "%flavor" != ""
+Supplements: (gtk3 and branding-upstream)
+Conflicts: gtk3-branding
+Provides: gtk3-branding = %{version}
+%endif
BuildArch: noarch
#BRAND: Provides /etc/gtk-3.0/settings.ini, to define default theme and icon
#BRAND: theme.
@@ -349,6 +442,9 @@ Group: Development/Libraries/X1
Requires: gettext-its-%{name} >= %{version}
Requires: libgtk-3-0 = %{version}
Requires: typelib-1_0-Gtk-3_0 = %{version}
+%if "%flavor" != ""
+Provides: gtk3-devel
+%endif
%description devel
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
@@ -380,7 +476,12 @@ ranging from small one-off projects to c
This package contains the API documentation for GTK+ 3.x.
%prep
+%if "%flavor" == "classic"
+%autosetup -N -n %{_name}-%{version} -a50
+%else
%autosetup -N -n %{_name}-%{version}
+%endif
+
%if "%{_lib}" == "lib64"
cp -a %{SOURCE1} .
%if !0%{?sle_version}
@@ -397,6 +498,12 @@ cp -a %{SOURCE1} .
%patch -P 1 -p1
%endif
+%if "%flavor" == "classic"
+
+%_sourcedir/apply-patches %_sourcedir/series.conf gtk3-classic-%{gtk_classic_ver}
+
+%endif
+
%build
%meson \
-D broadway_backend=%{?with_broadway:true}%{!?with_broadway:false} \
@@ -406,6 +513,12 @@ cp -a %{SOURCE1} .
-D tests=%{?with_tests:true}%{!?with_tests:false} \
-D builtin_immodules=wayland,waylandgtk \
;
+
+%if "%flavor" != ""
+ sed -e 's/libgtk-3-0/libgtk-%flavor-3-0\n provides "libgtk-3-0"/' -i %SOURCE99
+ cat %SOURCE99
+%endif
+
%meson_build
%install
@@ -478,7 +591,7 @@ cp %{SOURCE3} %{buildroot}%{_rpmmacrodir
# Until RPM (trans)filetriggers gets implemented for ldconfig calls, use
# whatever we got.
-%ldconfig_scriptlets -n libgtk-3-0
+%ldconfig_scriptlets -n libgtk%{?flavor:-}%{?flavor}-3-0
%filetriggerin tools -- %{_immoduledir}
%__gtk_query_immodules --update-cache \
@@ -524,7 +637,7 @@ if [ ! -f %__update_iconcache3 ]; then
%__update_alternatives --remove gtk-update-icon-cache %__update_iconcache3
fi
-%files -n libgtk-3-0
+%files -n libgtk%{?flavor:-}%{?flavor}-3-0
%license COPYING
%if "%{_lib}" == "lib64"
%doc README.SUSE