Blame SPECS/gtk4.spec

8af8e6
%if 0%{?fedora}
8af8e6
%global with_broadway 1
8af8e6
%endif
8af8e6
8af8e6
%global glib2_version 2.66.0
8af8e6
%global pango_version 1.47.0
8af8e6
%global cairo_version 1.14.0
8af8e6
%global gdk_pixbuf_version 2.30.0
8af8e6
%global wayland_protocols_version 1.21
8af8e6
%global wayland_version 1.16.91
8af8e6
%global epoxy_version 1.4
8af8e6
8af8e6
%global bin_version 4.0.0
8af8e6
8af8e6
# Filter provides for private modules
8af8e6
%global __provides_exclude_from ^%{_libdir}/gtk-4.0
8af8e6
8af8e6
Name:           gtk4
8af8e6
Version:        4.4.1
8af8e6
Release:        1%{?dist}
8af8e6
Summary:        GTK graphical user interface library
8af8e6
8af8e6
License:        LGPLv2+
8af8e6
URL:            https://www.gtk.org
8af8e6
Source0:        https://download.gnome.org/sources/gtk/4.4/gtk-%{version}.tar.xz
8af8e6
8af8e6
BuildRequires:  cups-devel
8af8e6
BuildRequires:  desktop-file-utils
8af8e6
BuildRequires:  docbook-style-xsl
8af8e6
BuildRequires:  gcc
8af8e6
BuildRequires:  gcc-c++
8af8e6
BuildRequires:  gettext
8af8e6
BuildRequires:  meson
8af8e6
BuildRequires:  pkgconfig(avahi-gobject)
8af8e6
BuildRequires:  pkgconfig(cairo) >= %{cairo_version}
8af8e6
BuildRequires:  pkgconfig(cairo-gobject) >= %{cairo_version}
8af8e6
BuildRequires:  pkgconfig(colord)
8af8e6
BuildRequires:  pkgconfig(egl)
8af8e6
BuildRequires:  pkgconfig(epoxy)
8af8e6
BuildRequires:  pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf_version}
8af8e6
BuildRequires:  pkgconfig(glib-2.0) >= %{glib2_version}
8af8e6
BuildRequires:  pkgconfig(gobject-introspection-1.0)
8af8e6
BuildRequires:  pkgconfig(graphene-gobject-1.0)
8af8e6
BuildRequires:  pkgconfig(gstreamer-player-1.0)
8af8e6
BuildRequires:  pkgconfig(json-glib-1.0)
8af8e6
BuildRequires:  pkgconfig(pango) >= %{pango_version}
8af8e6
BuildRequires:  pkgconfig(rest-0.7)
8af8e6
BuildRequires:  pkgconfig(sysprof-4)
8af8e6
BuildRequires:  pkgconfig(sysprof-capture-4)
8af8e6
BuildRequires:  pkgconfig(tracker-sparql-3.0)
8af8e6
BuildRequires:  pkgconfig(wayland-client) >= %{wayland_version}
8af8e6
BuildRequires:  pkgconfig(wayland-cursor) >= %{wayland_version}
8af8e6
BuildRequires:  pkgconfig(wayland-egl) >= %{wayland_version}
8af8e6
BuildRequires:  pkgconfig(wayland-protocols) >= %{wayland_protocols_version}
8af8e6
BuildRequires:  pkgconfig(xcomposite)
8af8e6
BuildRequires:  pkgconfig(xcursor)
8af8e6
BuildRequires:  pkgconfig(xdamage)
8af8e6
BuildRequires:  pkgconfig(xfixes)
8af8e6
BuildRequires:  pkgconfig(xi)
8af8e6
BuildRequires:  pkgconfig(xinerama)
8af8e6
BuildRequires:  pkgconfig(xkbcommon)
8af8e6
BuildRequires:  pkgconfig(xrandr)
8af8e6
BuildRequires:  pkgconfig(xrender)
8af8e6
BuildRequires:  /usr/bin/xsltproc
8af8e6
8af8e6
# standard icons
8af8e6
Requires: adwaita-icon-theme
8af8e6
# required for icon theme apis to work
8af8e6
Requires: hicolor-icon-theme
8af8e6
# split out in a subpackage
8af8e6
Requires: gtk-update-icon-cache
8af8e6
8af8e6
Requires: cairo%{?_isa} >= %{cairo_version}
8af8e6
Requires: cairo-gobject%{?_isa} >= %{cairo_version}
8af8e6
Requires: glib2%{?_isa} >= %{glib2_version}
8af8e6
Requires: libepoxy%{?_isa} >= %{epoxy_version}
8af8e6
Requires: libwayland-client%{?_isa} >= %{wayland_version}
8af8e6
Requires: libwayland-cursor%{?_isa} >= %{wayland_version}
8af8e6
Requires: pango%{?_isa} >= %{pango_version}
8af8e6
8af8e6
# required to support all the different image formats
8af8e6
Requires: gdk-pixbuf2-modules%{?_isa}
8af8e6
8af8e6
# make sure we have a reasonable gsettings backend
8af8e6
Recommends: dconf%{?_isa}
8af8e6
8af8e6
# Removed in F34
8af8e6
Obsoletes: gtk4-devel-docs < 4.1.2
8af8e6
8af8e6
%description
8af8e6
GTK is a multi-platform toolkit for creating graphical user
8af8e6
interfaces. Offering a complete set of widgets, GTK is suitable for
8af8e6
projects ranging from small one-off tools to complete application
8af8e6
suites.
8af8e6
8af8e6
This package contains version 4 of GTK.
8af8e6
8af8e6
%package devel
8af8e6
Summary: Development files for GTK
8af8e6
Requires: gtk4%{?_isa} = %{version}-%{release}
8af8e6
8af8e6
%description devel
8af8e6
This package contains the libraries and header files that are needed
8af8e6
for writing applications with version 4 of the GTK widget toolkit.
8af8e6
8af8e6
%package devel-tools
8af8e6
Summary: Developer tools for GTK
8af8e6
Requires: gtk4%{?_isa} = %{version}-%{release}
8af8e6
8af8e6
%description devel-tools
8af8e6
This package contains helpful applications for developers using GTK.
8af8e6
8af8e6
%prep
8af8e6
%autosetup -p1 -n gtk-%{version}
8af8e6
8af8e6
%build
8af8e6
export CFLAGS='-fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT %optflags'
8af8e6
%meson \
8af8e6
%if 0%{?with_broadway}
8af8e6
        -Dbroadway-backend=true \
8af8e6
%endif
8af8e6
        -Dsysprof=enabled \
8af8e6
        -Dtracker=enabled \
8af8e6
        -Dcolord=enabled \
8af8e6
        -Dgtk_doc=false \
8af8e6
        -Dman-pages=true \
8af8e6
        -Dinstall-tests=false
8af8e6
8af8e6
%meson_build
8af8e6
8af8e6
%install
8af8e6
%meson_install
8af8e6
8af8e6
%find_lang gtk40
8af8e6
%find_lang gtk40-properties
8af8e6
8af8e6
%if !0%{?with_broadway}
8af8e6
rm $RPM_BUILD_ROOT%{_mandir}/man1/gtk4-broadwayd.1*
8af8e6
%endif
8af8e6
8af8e6
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gtk-4.0
8af8e6
mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-4.0/modules
8af8e6
8af8e6
%check
8af8e6
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
8af8e6
8af8e6
%files -f gtk40.lang
8af8e6
%license COPYING
8af8e6
%doc AUTHORS NEWS README.md
8af8e6
%{_bindir}/gtk4-launch
8af8e6
%{_bindir}/gtk4-update-icon-cache
8af8e6
%{_libdir}/libgtk-4.so.1*
8af8e6
%dir %{_libdir}/gtk-4.0
8af8e6
%dir %{_libdir}/gtk-4.0/%{bin_version}
8af8e6
%{_libdir}/gtk-4.0/%{bin_version}/media/
8af8e6
%{_libdir}/gtk-4.0/%{bin_version}/printbackends/
8af8e6
%{_libdir}/gtk-4.0/modules
8af8e6
%{_libdir}/girepository-1.0
8af8e6
%{_mandir}/man1/gtk4-launch.1*
8af8e6
%{_mandir}/man1/gtk4-update-icon-cache.1*
8af8e6
%{_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.ColorChooser.gschema.xml
8af8e6
%{_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.Debug.gschema.xml
8af8e6
%{_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.EmojiChooser.gschema.xml
8af8e6
%{_datadir}/glib-2.0/schemas/org.gtk.gtk4.Settings.FileChooser.gschema.xml
8af8e6
%dir %{_datadir}/gtk-4.0
8af8e6
%{_datadir}/gtk-4.0/emoji/
8af8e6
%if 0%{?with_broadway}
8af8e6
%{_bindir}/gtk4-broadwayd
8af8e6
%{_mandir}/man1/gtk4-broadwayd.1*
8af8e6
%endif
8af8e6
8af8e6
%files devel -f gtk40-properties.lang
8af8e6
%{_libdir}/libgtk-4.so
8af8e6
%{_includedir}/*
8af8e6
%{_libdir}/pkgconfig/*
8af8e6
%{_bindir}/gtk4-builder-tool
8af8e6
%{_bindir}/gtk4-encode-symbolic-svg
8af8e6
%{_bindir}/gtk4-query-settings
8af8e6
%{_datadir}/gettext/
8af8e6
%{_datadir}/gir-1.0
8af8e6
%{_datadir}/gtk-4.0/gtk4builder.rng
8af8e6
%{_datadir}/gtk-4.0/valgrind/
8af8e6
%{_mandir}/man1/gtk4-builder-tool.1*
8af8e6
%{_mandir}/man1/gtk4-encode-symbolic-svg.1*
8af8e6
%{_mandir}/man1/gtk4-query-settings.1*
8af8e6
8af8e6
%files devel-tools
8af8e6
%{_bindir}/gtk4-demo
8af8e6
%{_bindir}/gtk4-demo-application
8af8e6
%{_bindir}/gtk4-icon-browser
8af8e6
%{_bindir}/gtk4-print-editor
8af8e6
%{_bindir}/gtk4-widget-factory
8af8e6
%{_datadir}/applications/org.gtk.Demo4.desktop
8af8e6
%{_datadir}/applications/org.gtk.IconBrowser4.desktop
8af8e6
%{_datadir}/applications/org.gtk.PrintEditor4.desktop
8af8e6
%{_datadir}/applications/org.gtk.WidgetFactory4.desktop
8af8e6
%{_datadir}/icons/hicolor/*/apps/org.gtk.Demo4*.svg
8af8e6
%{_datadir}/icons/hicolor/*/apps/org.gtk.IconBrowser4*.svg
8af8e6
%{_datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.svg
8af8e6
%{_datadir}/icons/hicolor/*/apps/org.gtk.WidgetFactory4*.svg
8af8e6
%{_datadir}/glib-2.0/schemas/org.gtk.Demo4.gschema.xml
8af8e6
%{_datadir}/metainfo/org.gtk.Demo4.appdata.xml
8af8e6
%{_datadir}/metainfo/org.gtk.IconBrowser4.appdata.xml
8af8e6
%{_datadir}/metainfo/org.gtk.PrintEditor4.appdata.xml
8af8e6
%{_datadir}/metainfo/org.gtk.WidgetFactory4.appdata.xml
8af8e6
%{_mandir}/man1/gtk4-demo.1*
8af8e6
%{_mandir}/man1/gtk4-demo-application.1*
8af8e6
%{_mandir}/man1/gtk4-icon-browser.1*
8af8e6
%{_mandir}/man1/gtk4-widget-factory.1*
8af8e6
8af8e6
%changelog
8af8e6
* Mon Nov 01 2021 Kalev Lember <klember@redhat.com> - 4.4.1-1
8af8e6
- Update to 4.4.1
8af8e6
8af8e6
* Mon Sep 27 2021 Kalev Lember <klember@redhat.com> - 4.4.0-4
8af8e6
- Build with tracker support enabled (#1908874)
8af8e6
8af8e6
* Mon Sep 20 2021 Kalev Lember <klember@redhat.com> - 4.4.0-3
8af8e6
- Stop creating empty theming-engines directory as it's no longer used
8af8e6
8af8e6
* Thu Sep 02 2021 Michael Catanzaro <mcatanzaro@redhat.com> - 4.4.0-2
8af8e6
- Split developer tools out to devel-tools subpackage
8af8e6
8af8e6
* Mon Aug 23 2021 Kalev Lember <klember@redhat.com> - 4.4.0-1
8af8e6
- Update to 4.4.0
8af8e6
8af8e6
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 4.2.1-2
8af8e6
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
8af8e6
  Related: rhbz#1991688
8af8e6
8af8e6
* Wed May 05 2021 Kalev Lember <klember@redhat.com> - 4.2.1-1
8af8e6
- Update to 4.2.1
8af8e6
8af8e6
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 4.2.0-4
8af8e6
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
8af8e6
8af8e6
* Tue Apr 13 2021 Ray Strode <rstrode@redhat.com> - 4.2.0-3
8af8e6
- Rebuild
8af8e6
Related: #1940618
8af8e6
8af8e6
* Thu Apr 01 2021 Kalev Lember <klember@redhat.com> - 4.2.0-2
8af8e6
- Disable vulkan renderer
8af8e6
8af8e6
* Tue Mar 30 2021 Kalev Lember <klember@redhat.com> - 4.2.0-1
8af8e6
- Update to 4.2.0
8af8e6
8af8e6
* Fri Mar 26 2021 Kalev Lember <klember@redhat.com> - 4.1.2-2
8af8e6
- Rebuild to fix sysprof-capture symbols leaking into libraries consuming it
8af8e6
8af8e6
* Mon Mar 15 2021 Kalev Lember <klember@redhat.com> - 4.1.2-1
8af8e6
- Update to 4.1.2
8af8e6
- Disable gtk-doc support as we don't have gi-docgen in Fedora yet
8af8e6
- Remove old obsoletes
8af8e6
8af8e6
* Wed Feb 24 2021 Kalev Lember <klember@redhat.com> - 4.1.1-1
8af8e6
- Update to 4.1.1
8af8e6
- Enable sysprof support
8af8e6
8af8e6
* Fri Feb 19 2021 Kalev Lember <klember@redhat.com> - 4.1.0-3
8af8e6
- Backport upstream patch to fix a settings schema loading issue on Wayland
8af8e6
8af8e6
* Mon Feb 01 2021 Kalev Lember <klember@redhat.com> - 4.1.0-2
8af8e6
- Disable asserts and cast checks
8af8e6
8af8e6
* Sun Jan 31 2021 Kalev Lember <klember@redhat.com> - 4.1.0-1
8af8e6
- Update to 4.1.0
8af8e6
8af8e6
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2-3
8af8e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
8af8e6
8af8e6
* Tue Jan 19 2021 Kalev Lember <klember@redhat.com> - 4.0.2-2
8af8e6
- Avoid rebuilding stylesheets with sassc during the build
8af8e6
8af8e6
* Tue Jan 19 2021 Kalev Lember <klember@redhat.com> - 4.0.2-1
8af8e6
- Update to 4.0.2
8af8e6
8af8e6
* Sat Jan 09 2021 Kalev Lember <klember@redhat.com> - 4.0.1-1
8af8e6
- Update to 4.0.1
8af8e6
8af8e6
* Sat Jan 09 2021 Kalev Lember <klember@redhat.com> - 4.0.0-3
8af8e6
- Fix vulkan reference in pc file
8af8e6
8af8e6
* Tue Dec 22 14:13:09 +04 2020 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.0.0-2
8af8e6
- Add back gtk4-devel-docs
8af8e6
8af8e6
* Wed Dec 16 2020 Kalev Lember <klember@redhat.com> - 4.0.0-1
8af8e6
- Update to 4.0.0
8af8e6
- Tighten soname globs
8af8e6
8af8e6
* Fri Dec 11 2020 Kalev Lember <klember@redhat.com> - 3.99.5-1
8af8e6
- Update to 3.99.5
8af8e6
8af8e6
* Wed Dec 09 2020 Jeff Law <law@redhat.com> - 3.99.4-3
8af8e6
- Avoid diagnostics for gcc-11 false positive out of bounds accesses
8af8e6
8af8e6
* Sun Nov 15 2020 Jeff Law <law@redhat.com> - 3.99.4-2
8af8e6
- Fix bogus volatile caught by gcc-11
8af8e6
8af8e6
* Thu Nov  5 2020 Kalev Lember <klember@redhat.com> - 3.99.4-1
8af8e6
- Update to 3.99.4
8af8e6
8af8e6
* Fri Oct 16 2020 Kalev Lember <klember@redhat.com> - 3.99.3-1
8af8e6
- Update to 3.99.3
8af8e6
8af8e6
* Thu Oct 01 2020 Kalev Lember <klember@redhat.com> - 3.99.2-2
8af8e6
- Update required pango and glib2 versions
8af8e6
8af8e6
* Tue Sep 29 2020 Kalev Lember <klember@redhat.com> - 3.99.2-1
8af8e6
- Update to 3.99.2
8af8e6
8af8e6
* Mon Sep 28 2020 Jeff Law <law@redhat.com> - 3.99.1-2
8af8e6
- Re-enable LTO as upstream GCC target/96939 has been fixed
8af8e6
8af8e6
* Thu Sep 03 2020 Kalev Lember <klember@redhat.com> - 3.99.1-1
8af8e6
- Update to 3.99.1
8af8e6
- Drop wayland build conditionals
8af8e6
8af8e6
* Mon Aug 17 2020 Jeff Law <law@redhat.com> - 3.99.0-2
8af8e6
- Disable LTO on armv7hl
8af8e6
8af8e6
* Sat Aug 01 2020 Kalev Lember <klember@redhat.com> - 3.99.0-1
8af8e6
- Update to 3.99.0
8af8e6
8af8e6
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.98.5-3
8af8e6
- Second attempt - Rebuilt for
8af8e6
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
8af8e6
8af8e6
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.98.5-2
8af8e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
8af8e6
8af8e6
* Sun Jun 07 2020 Kalev Lember <klember@redhat.com> - 3.98.5-1
8af8e6
- Update to 3.98.5
8af8e6
8af8e6
* Tue May 19 2020 Kalev Lember <klember@redhat.com> - 3.98.4-1
8af8e6
- Update to 3.98.4
8af8e6
8af8e6
* Tue Apr 21 2020 Kalev Lember <klember@redhat.com> - 3.98.3-1
8af8e6
- Update to 3.98.3
8af8e6
- Temporarily disable built documentation as we don't have new enough gtk-doc
8af8e6
8af8e6
* Wed Apr 01 2020 Kalev Lember <klember@redhat.com> - 3.98.2-1
8af8e6
- Update to 3.98.2
8af8e6
8af8e6
* Sun Mar 22 2020 Kalev Lember <klember@redhat.com> - 3.98.1-1
8af8e6
- Update to 3.98.1
8af8e6
8af8e6
* Thu Mar 12 2020 Kalev Lember <klember@redhat.com> - 3.98.0-2
8af8e6
- Install missing gtkemojichooser.h (#1806509)
8af8e6
8af8e6
* Tue Feb 11 2020 Kalev Lember <klember@redhat.com> - 3.98.0-1
8af8e6
- Update to 3.98.0
8af8e6
- Use https for source URLs
8af8e6
8af8e6
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.96.0-3
8af8e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
8af8e6
8af8e6
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.96.0-2
8af8e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
8af8e6
8af8e6
* Tue May 07 2019 Kalev Lember <klember@redhat.com> - 3.96.0-1
8af8e6
- Update to 3.96.0
8af8e6
- Use GTK instead of GTK+ in descriptions
8af8e6
- Don't ship installed tests as they are currently broken
8af8e6
8af8e6
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.94.0-2
8af8e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
8af8e6
8af8e6
* Mon Oct 01 2018 Kalev Lember <klember@redhat.com> - 3.94.0-1
8af8e6
- Update to 3.94.0
8af8e6
- Remove and obsolete immodules subpackages
8af8e6
- Build new gstreamer media backend
8af8e6
8af8e6
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.92.1-4
8af8e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
8af8e6
8af8e6
* Wed Mar 07 2018 Adam Williamson <awilliam@redhat.com> - 3.92.1-3
8af8e6
- Rebuild to fix GCC 8 mis-compilation
8af8e6
  See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64")
8af8e6
8af8e6
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.92.1-2
8af8e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
8af8e6
8af8e6
* Thu Nov 02 2017 Kalev Lember <klember@redhat.com> - 3.92.1-1
8af8e6
- Update to 3.92.1
8af8e6
- Enable installed tests
8af8e6
8af8e6
* Tue Aug 08 2017 Kalev Lember <klember@redhat.com> - 3.91.2-1
8af8e6
- Update to 3.91.2
8af8e6
8af8e6
* Thu Jul 20 2017 Kalev Lember <klember@redhat.com> - 3.91.1-1
8af8e6
- Update to 3.91.1
8af8e6
8af8e6
* Wed Jun 14 2017 Kalev Lember <klember@redhat.com> - 3.91.0-2
8af8e6
- Disable installed tests due to file conflicts between gtk3-tests and
8af8e6
  gtk4-tests
8af8e6
8af8e6
* Wed Jun 14 2017 Kalev Lember <klember@redhat.com> - 3.91.0-1
8af8e6
- Initial Fedora packaging