|
@@ -0,0 +1,322 @@
|
|
|
+%if 0%{?fedora}
|
|
|
+%global with_broadway 1
|
|
|
+%endif
|
|
|
+
|
|
|
+%global gtk3_classic_version 3.24.34
|
|
|
+%global glib2_version 2.57.2
|
|
|
+%global pango_version 1.41.0
|
|
|
+%global atk_version 2.35.1
|
|
|
+%global cairo_version 1.14.0
|
|
|
+%global gdk_pixbuf_version 2.30.0
|
|
|
+%global xrandr_version 1.5.0
|
|
|
+%global wayland_protocols_version 1.17
|
|
|
+%global wayland_version 1.14.91
|
|
|
+%global epoxy_version 1.4
|
|
|
+
|
|
|
+%global bin_version 3.0.0
|
|
|
+
|
|
|
+# Filter provides for private modules
|
|
|
+%global __provides_exclude_from ^%{_libdir}/gtk-3.0
|
|
|
+
|
|
|
+Name: gtk3-classic
|
|
|
+Version: 3.24.34
|
|
|
+Release: 2.1
|
|
|
+Summary: GTK+ graphical user interface library
|
|
|
+
|
|
|
+License: LGPLv2+
|
|
|
+URL: https://gtk.org
|
|
|
+Source0: https://download.gnome.org/sources/gtk+/3.24/gtk+-%{version}.tar.xz
|
|
|
+Source1: https://github.com/lah7/gtk3-classic/archive/refs/tags/%{gtk3_classic_version}.tar.gz#/gtk3-classic-%{gtk3_classic_version}.tar.gz
|
|
|
+
|
|
|
+Provides: gtk3 = %{version}-%{release}
|
|
|
+Provides: gtk3%{?_isa} = %{version}-%{release}
|
|
|
+Conflicts: gtk3%{?_isa}
|
|
|
+
|
|
|
+BuildRequires: pkgconfig(atk) >= %{atk_version}
|
|
|
+BuildRequires: pkgconfig(atk-bridge-2.0)
|
|
|
+BuildRequires: pkgconfig(avahi-gobject)
|
|
|
+BuildRequires: pkgconfig(cairo) >= %{cairo_version}
|
|
|
+BuildRequires: pkgconfig(cairo-gobject) >= %{cairo_version}
|
|
|
+BuildRequires: pkgconfig(cloudproviders)
|
|
|
+BuildRequires: pkgconfig(colord)
|
|
|
+BuildRequires: pkgconfig(egl)
|
|
|
+BuildRequires: pkgconfig(epoxy)
|
|
|
+BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf_version}
|
|
|
+BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
|
|
|
+BuildRequires: pkgconfig(gobject-introspection-1.0)
|
|
|
+BuildRequires: pkgconfig(pango) >= %{pango_version}
|
|
|
+BuildRequires: pkgconfig(tracker-sparql-3.0)
|
|
|
+BuildRequires: pkgconfig(wayland-client) >= %{wayland_version}
|
|
|
+BuildRequires: pkgconfig(wayland-cursor) >= %{wayland_version}
|
|
|
+BuildRequires: pkgconfig(wayland-egl) >= %{wayland_version}
|
|
|
+BuildRequires: pkgconfig(wayland-protocols) >= %{wayland_protocols_version}
|
|
|
+BuildRequires: pkgconfig(xi)
|
|
|
+BuildRequires: pkgconfig(xrandr) >= %{xrandr_version}
|
|
|
+BuildRequires: pkgconfig(xrender)
|
|
|
+BuildRequires: pkgconfig(xrender)
|
|
|
+BuildRequires: pkgconfig(xcursor)
|
|
|
+BuildRequires: pkgconfig(xfixes)
|
|
|
+BuildRequires: pkgconfig(xinerama)
|
|
|
+BuildRequires: pkgconfig(xcomposite)
|
|
|
+BuildRequires: pkgconfig(xdamage)
|
|
|
+BuildRequires: pkgconfig(xkbcommon)
|
|
|
+BuildRequires: cups-devel
|
|
|
+BuildRequires: desktop-file-utils
|
|
|
+BuildRequires: gettext
|
|
|
+BuildRequires: gtk-doc
|
|
|
+BuildRequires: meson
|
|
|
+BuildRequires: quilt
|
|
|
+
|
|
|
+# standard icons
|
|
|
+Requires: adwaita-icon-theme
|
|
|
+# required for icon theme apis to work
|
|
|
+Requires: hicolor-icon-theme
|
|
|
+# split out in a subpackage
|
|
|
+Requires: gtk-update-icon-cache
|
|
|
+
|
|
|
+Requires: atk%{?_isa} >= %{atk_version}
|
|
|
+Requires: cairo%{?_isa} >= %{cairo_version}
|
|
|
+Requires: cairo-gobject%{?_isa} >= %{cairo_version}
|
|
|
+Requires: glib2%{?_isa} >= %{glib2_version}
|
|
|
+Requires: libepoxy%{?_isa} >= %{epoxy_version}
|
|
|
+Requires: libwayland-client%{?_isa} >= %{wayland_version}
|
|
|
+Requires: libwayland-cursor%{?_isa} >= %{wayland_version}
|
|
|
+Requires: libXrandr%{?_isa} >= %{xrandr_version}
|
|
|
+Requires: pango%{?_isa} >= %{pango_version}
|
|
|
+
|
|
|
+# required to support all the different image formats
|
|
|
+Requires: gdk-pixbuf2-modules%{?_isa}
|
|
|
+
|
|
|
+# make sure we have a reasonable gsettings backend
|
|
|
+Recommends: dconf%{?_isa}
|
|
|
+
|
|
|
+# For sound theme events in gtk3 apps
|
|
|
+Recommends: libcanberra-gtk3%{?_isa}
|
|
|
+
|
|
|
+# For Tracker search in the file chooser.
|
|
|
+Recommends: tracker-miners
|
|
|
+
|
|
|
+%description
|
|
|
+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 tools to complete application
|
|
|
+suites.
|
|
|
+
|
|
|
+This package contains version 3 of GTK+.
|
|
|
+
|
|
|
+%package -n gtk-classic-update-icon-cache
|
|
|
+Summary: Icon theme caching utility
|
|
|
+Provides: gtk-update-icon-cache = %{version}-%{release}
|
|
|
+Provides: gtk-update-icon-cache%{?_isa} = %{version}-%{release}
|
|
|
+Conflicts: gtk-update-icon-cache%{?_isa}
|
|
|
+
|
|
|
+%description -n gtk-classic-update-icon-cache
|
|
|
+GTK+ can use the cache files created by gtk-update-icon-cache to avoid a lot of
|
|
|
+system call and disk seek overhead when the application starts. Since the
|
|
|
+format of the cache files allows them to be mmap()ed shared between multiple
|
|
|
+applications, the overall memory consumption is reduced as well.
|
|
|
+
|
|
|
+%package immodules
|
|
|
+Summary: Input methods for GTK+
|
|
|
+Provides: gtk3-immodules = %{version}-%{release}
|
|
|
+Provides: gtk3-immodules%{?_isa} = %{version}-%{release}
|
|
|
+Conflicts: gtk3-immodules%{?_isa}
|
|
|
+Requires: gtk3-classic%{?_isa} = %{version}-%{release}
|
|
|
+# for im-cedilla.conf
|
|
|
+Requires: gtk2-immodules%{?_isa}
|
|
|
+
|
|
|
+%description immodules
|
|
|
+The gtk3-immodules package contains standalone input methods that
|
|
|
+are shipped as part of GTK+ 3.
|
|
|
+
|
|
|
+%package immodule-xim
|
|
|
+Summary: XIM support for GTK+
|
|
|
+Provides: gtk3-immodule-xim = %{version}-%{release}
|
|
|
+Provides: gtk3-immodule-xim%{?_isa} = %{version}-%{release}
|
|
|
+Conflicts: gtk3-immodule-xim%{?_isa}
|
|
|
+Requires: gtk3-classic%{?_isa} = %{version}-%{release}
|
|
|
+
|
|
|
+%description immodule-xim
|
|
|
+The gtk3-immodule-xim package contains XIM support for GTK+ 3.
|
|
|
+
|
|
|
+%package devel
|
|
|
+Summary: Development files for GTK+
|
|
|
+Provides: gtk3-devel = %{version}-%{release}
|
|
|
+Provides: gtk3-devel%{?_isa} = %{version}-%{release}
|
|
|
+Conflicts: gtk3-devel%{?_isa}
|
|
|
+Requires: gtk3-classic%{?_isa} = %{version}-%{release}
|
|
|
+
|
|
|
+%description devel
|
|
|
+This package contains the libraries and header files that are needed
|
|
|
+for writing applications with version 3 of the GTK+ widget toolkit. If
|
|
|
+you plan to develop applications with GTK+, consider installing the
|
|
|
+gtk3-devel-docs package.
|
|
|
+
|
|
|
+%package devel-docs
|
|
|
+Summary: Developer documentation for GTK+
|
|
|
+Provides: gtk3-devel-docs = %{version}-%{release}
|
|
|
+Provides: gtk3-devel-docs%{?_isa} = %{version}-%{release}
|
|
|
+Conflicts: gtk3-devel-docs%{?_isa}
|
|
|
+Requires: gtk3-classic = %{version}-%{release}
|
|
|
+
|
|
|
+%description devel-docs
|
|
|
+This package contains developer documentation for version 3 of the GTK+
|
|
|
+widget toolkit.
|
|
|
+
|
|
|
+%package tests
|
|
|
+Summary: Tests for the %{name} package
|
|
|
+Provides: gtk3-tests = %{version}-%{release}
|
|
|
+Provides: gtk3-tests%{?_isa} = %{version}-%{release}
|
|
|
+Conflicts: gtk3-tests%{?_isa}
|
|
|
+Requires: gtk3-classic%{?_isa} = %{version}-%{release}
|
|
|
+
|
|
|
+%description tests
|
|
|
+The %{name}-tests package contains tests that can be used to verify
|
|
|
+the functionality of the installed %{name} package.
|
|
|
+
|
|
|
+%prep
|
|
|
+%autosetup -n gtk+-%{version} -p1
|
|
|
+tar xzf %{SOURCE1}
|
|
|
+QUILT_PATCHES=gtk3-classic-%{gtk3_classic_version} quilt push -a
|
|
|
+
|
|
|
+%build
|
|
|
+export CFLAGS='-fno-strict-aliasing %optflags'
|
|
|
+%meson \
|
|
|
+%if 0%{?with_broadway}
|
|
|
+ -Dbroadway_backend=true \
|
|
|
+%endif
|
|
|
+ -Dbuiltin_immodules=wayland,waylandgtk \
|
|
|
+ -Dcolord=yes \
|
|
|
+ -Dcloudproviders=true \
|
|
|
+ -Dgtk_doc=true \
|
|
|
+ -Dinstalled_tests=true \
|
|
|
+ -Dman=true \
|
|
|
+ -Dtracker3=true \
|
|
|
+ -Dxinerama=yes \
|
|
|
+%meson_build
|
|
|
+
|
|
|
+%install
|
|
|
+%meson_install
|
|
|
+
|
|
|
+%find_lang gtk30
|
|
|
+%find_lang gtk30-properties
|
|
|
+
|
|
|
+(cd $RPM_BUILD_ROOT%{_bindir}
|
|
|
+ mv gtk-query-immodules-3.0 gtk-query-immodules-3.0-%{__isa_bits}
|
|
|
+)
|
|
|
+
|
|
|
+echo ".so man1/gtk-query-immodules-3.0.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gtk-query-immodules-3.0-%{__isa_bits}.1
|
|
|
+
|
|
|
+touch $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{bin_version}/immodules.cache
|
|
|
+
|
|
|
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gtk-3.0
|
|
|
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/modules
|
|
|
+mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/immodules
|
|
|
+
|
|
|
+%check
|
|
|
+desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
|
|
|
+
|
|
|
+%transfiletriggerin -- %{_libdir}/gtk-3.0/3.0.0/immodules
|
|
|
+gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
|
|
|
+
|
|
|
+%transfiletriggerpostun -- %{_libdir}/gtk-3.0/3.0.0/immodules
|
|
|
+gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
|
|
|
+
|
|
|
+%files -f gtk30.lang
|
|
|
+%license COPYING
|
|
|
+%doc AUTHORS NEWS README
|
|
|
+%{_bindir}/gtk-query-immodules-3.0*
|
|
|
+%{_bindir}/gtk-launch
|
|
|
+%{_libdir}/libgtk-3.so.*
|
|
|
+%{_libdir}/libgdk-3.so.*
|
|
|
+%{_libdir}/libgailutil-3.so.*
|
|
|
+%dir %{_libdir}/gtk-3.0
|
|
|
+%dir %{_libdir}/gtk-3.0/%{bin_version}
|
|
|
+%dir %{_libdir}/gtk-3.0/%{bin_version}/immodules
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/printbackends
|
|
|
+%{_libdir}/gtk-3.0/modules
|
|
|
+%{_libdir}/gtk-3.0/immodules
|
|
|
+%{_datadir}/themes/Default
|
|
|
+%{_datadir}/themes/Emacs
|
|
|
+%{_libdir}/girepository-1.0
|
|
|
+%ghost %{_libdir}/gtk-3.0/%{bin_version}/immodules.cache
|
|
|
+%{_mandir}/man1/gtk-query-immodules-3.0*
|
|
|
+%{_mandir}/man1/gtk-launch.1*
|
|
|
+%{_datadir}/glib-2.0/schemas/org.gtk.Settings.ColorChooser.gschema.xml
|
|
|
+%{_datadir}/glib-2.0/schemas/org.gtk.Settings.Debug.gschema.xml
|
|
|
+%{_datadir}/glib-2.0/schemas/org.gtk.Settings.EmojiChooser.gschema.xml
|
|
|
+%{_datadir}/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml
|
|
|
+%{_datadir}/glib-2.0/schemas/org.gtk.exampleapp.gschema.xml
|
|
|
+%dir %{_datadir}/gtk-3.0
|
|
|
+%{_datadir}/gtk-3.0/emoji/
|
|
|
+%if 0%{?with_broadway}
|
|
|
+%{_bindir}/broadwayd
|
|
|
+%{_mandir}/man1/broadwayd.1*
|
|
|
+%endif
|
|
|
+
|
|
|
+%files -n gtk-classic-update-icon-cache
|
|
|
+%license COPYING
|
|
|
+%{_bindir}/gtk-update-icon-cache
|
|
|
+%{_mandir}/man1/gtk-update-icon-cache.1*
|
|
|
+
|
|
|
+%files immodules
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-cedilla.so
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-am-et.so
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-cyrillic-translit.so
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-inuktitut.so
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-ipa.so
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-multipress.so
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-thai.so
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-ti-er.so
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-ti-et.so
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-viqr.so
|
|
|
+%if 0%{?with_broadway}
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-broadway.so
|
|
|
+%endif
|
|
|
+%config(noreplace) %{_sysconfdir}/gtk-3.0/im-multipress.conf
|
|
|
+
|
|
|
+%files immodule-xim
|
|
|
+%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-xim.so
|
|
|
+
|
|
|
+%files devel -f gtk30-properties.lang
|
|
|
+%{_libdir}/lib*.so
|
|
|
+%{_includedir}/*
|
|
|
+%{_datadir}/aclocal/*
|
|
|
+%{_libdir}/pkgconfig/*
|
|
|
+%{_bindir}/gtk3-demo
|
|
|
+%{_bindir}/gtk3-icon-browser
|
|
|
+%{_bindir}/gtk-builder-tool
|
|
|
+%{_bindir}/gtk-encode-symbolic-svg
|
|
|
+%{_bindir}/gtk-query-settings
|
|
|
+%{_datadir}/applications/gtk3-demo.desktop
|
|
|
+%{_datadir}/applications/gtk3-icon-browser.desktop
|
|
|
+%{_datadir}/applications/gtk3-widget-factory.desktop
|
|
|
+%{_datadir}/icons/hicolor/*/apps/gtk3-demo.png
|
|
|
+%{_datadir}/icons/hicolor/*/apps/gtk3-demo-symbolic.symbolic.png
|
|
|
+%{_datadir}/icons/hicolor/*/apps/gtk3-widget-factory.png
|
|
|
+%{_datadir}/icons/hicolor/*/apps/gtk3-widget-factory-symbolic.symbolic.png
|
|
|
+%{_bindir}/gtk3-demo-application
|
|
|
+%{_bindir}/gtk3-widget-factory
|
|
|
+%{_datadir}/gettext/
|
|
|
+%{_datadir}/gir-1.0
|
|
|
+%{_datadir}/glib-2.0/schemas/org.gtk.Demo.gschema.xml
|
|
|
+%{_datadir}/gtk-3.0/gtkbuilder.rng
|
|
|
+%{_datadir}/gtk-3.0/valgrind/
|
|
|
+%{_mandir}/man1/gtk3-demo.1*
|
|
|
+%{_mandir}/man1/gtk3-demo-application.1*
|
|
|
+%{_mandir}/man1/gtk3-icon-browser.1*
|
|
|
+%{_mandir}/man1/gtk3-widget-factory.1*
|
|
|
+%{_mandir}/man1/gtk-builder-tool.1*
|
|
|
+%{_mandir}/man1/gtk-encode-symbolic-svg.1*
|
|
|
+%{_mandir}/man1/gtk-query-settings.1*
|
|
|
+
|
|
|
+%files devel-docs
|
|
|
+%{_datadir}/gtk-doc
|
|
|
+
|
|
|
+%files tests
|
|
|
+%{_libexecdir}/installed-tests/
|
|
|
+%{_datadir}/installed-tests/
|
|
|
+
|
|
|
+%changelog
|
|
|
+* Tue May 31 2022 Jean Pierre Cimalando <jp-dev@gmx.com> - 3.24.34-1
|
|
|
+- Initial version 3.24.34, derived from sources of the gtk3 Fedora package
|