Accepting request 637220 from GNOME:Next
OBS-URL: https://build.opensuse.org/request/show/637220 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gtk4?expand=0&rev=36
This commit is contained in:
parent
a1645b0c55
commit
8e167b47ba
@ -3,32 +3,3 @@ gtk4-devel
|
|||||||
requires "libgtk-4-0-<targettype> = <version>"
|
requires "libgtk-4-0-<targettype> = <version>"
|
||||||
libgtk-4-0
|
libgtk-4-0
|
||||||
provides "gtk4-<targettype> = <version>"
|
provides "gtk4-<targettype> = <version>"
|
||||||
post "if test -f <prefix>%{_bindir}/gtk4-query-immodules; then <prefix>%{_bindir}/gtk4-query-immodules --update-cache; fi"
|
|
||||||
gtk4-immodule-amharic
|
|
||||||
requires "gtk4-<targettype>"
|
|
||||||
post "<prefix>%{_bindir}/gtk-query4-immodules --update-cache"
|
|
||||||
postun "<prefix>%{_bindir}/gtk-query4-immodules --update-cache"
|
|
||||||
gtk4-immodule-inuktitut
|
|
||||||
requires "gtk4-<targettype>"
|
|
||||||
post "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
postun "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
gtk4-immodule-multipress
|
|
||||||
requires "gtk4-<targettype>"
|
|
||||||
post "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
postun "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
gtk4-immodule-thai
|
|
||||||
requires "gtk4-<targettype>"
|
|
||||||
post "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
postun "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
gtk4-immodule-tigrigna
|
|
||||||
requires "gtk4-<targettype>"
|
|
||||||
post "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
postun "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
gtk4-immodule-vietnamese
|
|
||||||
requires "gtk4-<targettype>"
|
|
||||||
post "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
postun "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
gtk4-immodule-xim
|
|
||||||
requires "gtk4-<targettype>"
|
|
||||||
post "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
postun "<prefix>%{_bindir}/gtk4-query-immodules --update-cache"
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:4215d724c751b4999348d812d30261bcdfe52e41db1e20e8f3cefc7e80736251
|
|
||||||
size 13180936
|
|
3
gtk+-3.94.0.tar.xz
Normal file
3
gtk+-3.94.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a947caa5296610b0f1d7a03b58df34765c227c577c78e683e75eea3251a67035
|
||||||
|
size 13505016
|
52
gtk4-fix-dependency-error.patch
Normal file
52
gtk4-fix-dependency-error.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
https://gitlab.gnome.org/GNOME/gtk/commit/5df4d277527858481ca6eb7af0762c73d804f19d
|
||||||
|
|
||||||
|
Fix build
|
||||||
|
|
||||||
|
broadway-server.c requires broadwayjs.h
|
||||||
|
this failed osc build -j1
|
||||||
|
|
||||||
|
Fixes #1218
|
||||||
|
|
||||||
|
Index: gtk+-3.94.0/gdk/broadway/meson.build
|
||||||
|
===================================================================
|
||||||
|
--- gtk+-3.94.0.orig/gdk/broadway/meson.build
|
||||||
|
+++ gtk+-3.94.0/gdk/broadway/meson.build
|
||||||
|
@@ -43,8 +43,19 @@ clienthtml_h = custom_target('clienthtml
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
+broadwayjs_h = custom_target('broadwayjs.h',
|
||||||
|
+ input : ['broadway.js'],
|
||||||
|
+ output : 'broadwayjs.h',
|
||||||
|
+ command : [
|
||||||
|
+ gen_c_array,
|
||||||
|
+ '--array-name=broadway_js',
|
||||||
|
+ '--output=@OUTPUT@',
|
||||||
|
+ '@INPUT0@',
|
||||||
|
+ ],
|
||||||
|
+)
|
||||||
|
+
|
||||||
|
libgdk_broadway = static_library('gdk-broadway',
|
||||||
|
- clienthtml_h,
|
||||||
|
+ clienthtml_h, broadwayjs_h,
|
||||||
|
gdk_broadway_sources, gdkconfig, gdkenum_h,
|
||||||
|
include_directories: [confinc, gdkinc],
|
||||||
|
c_args: [
|
||||||
|
@@ -58,17 +69,6 @@ libgdk_broadway = static_library('gdk-br
|
||||||
|
|
||||||
|
broadwayd_syslib = os_win32 ? find_library('ws2_32') : shmlib
|
||||||
|
|
||||||
|
-broadwayjs_h = custom_target('broadwayjs.h',
|
||||||
|
- input : ['broadway.js'],
|
||||||
|
- output : 'broadwayjs.h',
|
||||||
|
- command : [
|
||||||
|
- gen_c_array,
|
||||||
|
- '--array-name=broadway_js',
|
||||||
|
- '--output=@OUTPUT@',
|
||||||
|
- '@INPUT0@',
|
||||||
|
- ],
|
||||||
|
-)
|
||||||
|
-
|
||||||
|
executable('gtk4-broadwayd',
|
||||||
|
clienthtml_h, broadwayjs_h,
|
||||||
|
'broadwayd.c', 'broadway-server.c', 'broadway-output.c',
|
83
gtk4.changes
83
gtk4.changes
@ -1,7 +1,88 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 18 00:10:04 UTC 2018 - luc14n0@linuxmail.org
|
||||||
|
|
||||||
|
- Add gtk4-fix-dependency-error.patch upstream patch to fix build
|
||||||
|
error with few threads raised by missing dependency on
|
||||||
|
broadwayjs.h (glgo#GNOME/gtk#1218).
|
||||||
|
- Update spec:
|
||||||
|
+ Drop gtk4 subpackages and respective Recommends/Requires/\
|
||||||
|
Provides tags to follow upstream changes: immodule-amharic,
|
||||||
|
immodule-broadway, immodule-inuktitut, immodule-multipress,
|
||||||
|
immodule-thai, immodule-tigrigna, immodule-vietnamese,
|
||||||
|
immodule-xim and data.
|
||||||
|
+ Drop gtk4-tools Requires(post): this no longer needed.
|
||||||
|
+ Drop lang subpackage Recommends: the main package is already
|
||||||
|
being supplemented by the lang subpackage due to RPM automatic
|
||||||
|
setting.
|
||||||
|
+ Drop gtk4-data Provides: there's no such subpackage anymore.
|
||||||
|
+ Drop glib2_gsettings_schema_requires macro: this is no longer
|
||||||
|
needed since RPM file triggers (version > 4.13).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Aug 9 11:33:37 UTC 2018 - tchvatal@suse.com
|
Thu Aug 9 11:33:37 UTC 2018 - tchvatal@suse.com
|
||||||
|
|
||||||
- Fix package name to be uniform immodules -> immodule bsc#1104264
|
- Fix package name to be uniform immodules -> immodule
|
||||||
|
(bsc#1104264).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 24 11:49:38 UTC 2018 - bjorn.lie@gmail.com
|
||||||
|
|
||||||
|
- Update to version 3.94.0:
|
||||||
|
+ GdkPaintable is a new, powerful abstraction for drawable
|
||||||
|
content.
|
||||||
|
+ gtk4-demo has a new "Paint" demo to show some of its
|
||||||
|
capabilities.
|
||||||
|
+ There is support for displaying media, with GtkVideo,
|
||||||
|
GtkMediaFile, GtkMediaStream and GtkMediaControls.
|
||||||
|
+ GtkFontChooser now supports OpenType font variations and
|
||||||
|
features.
|
||||||
|
+ The Ctrl-Shift-E support in the simple IM context has been
|
||||||
|
replaced by an optional completion popup for Emoji alpha codes.
|
||||||
|
This can be enabled with the GtkEntry::enable-emoji-completion
|
||||||
|
property.
|
||||||
|
+ Wayland has an input method based on the text protocol now.
|
||||||
|
+ Input methods, print backends and media backends have been
|
||||||
|
converted to GIOModules and extension points, and support for
|
||||||
|
generic loadable modules has been dropped. Platform im modules
|
||||||
|
are always included.
|
||||||
|
+ GdkWindow has been renamed to GdkSurface.
|
||||||
|
+ Applications can now create their own GtkSnapshot objects for
|
||||||
|
intermediate rendering.
|
||||||
|
+ Widget event signals have been replaced by event controllers,
|
||||||
|
and some new event controllers have been introduced for this:
|
||||||
|
GtkEventControllerMotion, GtkEventControllerKey and
|
||||||
|
GtkGestureStylus.
|
||||||
|
+ Event controllers can now be created in .ui files.
|
||||||
|
+ Invalidation tracking has been changed, only
|
||||||
|
gtk_widget_queue_draw is left.
|
||||||
|
+ Observing widget contents and size is now done by using the
|
||||||
|
GtkWidgetPaintable object instead of connecting to widget
|
||||||
|
signals.
|
||||||
|
+ The GtkWidget::draw signal has been removed, widgets need to
|
||||||
|
implement GtkWidget::snapshot.
|
||||||
|
+ GdkTexture now has GdkMemoryTexture and GdkGLTexture
|
||||||
|
subclasses.
|
||||||
|
+ The Vulkan support in GDK can now use a particular device that
|
||||||
|
is specified by the GDK_VULKAN_DEVICE environment variable. Use
|
||||||
|
GDK_VULKAN_DEVICE=list to see them all.
|
||||||
|
+ GTK+ Inspector:
|
||||||
|
- has logging support, and the logging settings have been
|
||||||
|
cleaned up.
|
||||||
|
- has an fps overlay.
|
||||||
|
+ Removed APIs and features: Individual event signals such as
|
||||||
|
::proximity-in-event The ::draw signal threading support
|
||||||
|
non-platform IM modules papi and test print backends
|
||||||
|
GtkPlacesSidebar GtkRecentChooser GtkToolPalette
|
||||||
|
GdkStatus gtk_true, gtk_false gtk_widget_show_now
|
||||||
|
gtk_widget_draw gtk_render_icon_surface.
|
||||||
|
+ Incomplete transitions:
|
||||||
|
- The ::event signal is not still there, but it will be
|
||||||
|
removed.
|
||||||
|
- The DND apis are not finalized yet.
|
||||||
|
+ Updated translations.
|
||||||
|
- Drop gtkmm.patch: Fixed upstream.
|
||||||
|
- Add pkgconfig(gstreamer-player-1.0) BuildRequires: New
|
||||||
|
dependency.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 20 17:10:11 UTC 2018 - dimstar@opensuse.org
|
Tue Mar 20 17:10:11 UTC 2018 - dimstar@opensuse.org
|
||||||
|
322
gtk4.spec
322
gtk4.spec
@ -21,18 +21,20 @@
|
|||||||
%define gtk_binary_version 4.0.0
|
%define gtk_binary_version 4.0.0
|
||||||
%define _name gtk+
|
%define _name gtk+
|
||||||
Name: gtk4
|
Name: gtk4
|
||||||
Version: 3.93.0
|
Version: 3.94.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: The GTK+ toolkit library (version 4)
|
Summary: The GTK+ toolkit library (version 4)
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
Group: Development/Libraries/X11
|
Group: Development/Libraries/X11
|
||||||
URL: http://www.gtk.org/
|
URL: http://www.gtk.org/
|
||||||
Source: http://download.gnome.org/sources/gtk+/3.93/%{_name}-%{version}.tar.xz
|
Source: http://download.gnome.org/sources/gtk+/3.94/%{_name}-%{version}.tar.xz
|
||||||
Source2: settings.ini
|
Source2: settings.ini
|
||||||
Source3: macros.gtk4
|
Source3: macros.gtk4
|
||||||
Source98: gtk4-rpmlintrc
|
Source98: gtk4-rpmlintrc
|
||||||
Source99: baselibs.conf
|
Source99: baselibs.conf
|
||||||
Patch0: gtkmm.patch
|
# PATCH-FIX-UPSTREAM gtk4-fix-dependency-error.patch luc14n0@linuxmail.org glgo#GNOME/gtk#1218 fix build failure when using few threads.
|
||||||
|
Patch0: gtk4-fix-dependency-error.patch
|
||||||
|
|
||||||
BuildRequires: cups-devel >= 1.2
|
BuildRequires: cups-devel >= 1.2
|
||||||
BuildRequires: docbook-xsl-stylesheets
|
BuildRequires: docbook-xsl-stylesheets
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@ -60,12 +62,13 @@ BuildRequires: pkgconfig(gobject-2.0) >= 2.53.7
|
|||||||
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.39.0
|
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.39.0
|
||||||
BuildRequires: pkgconfig(graphene-1.0) >= 1.5.1
|
BuildRequires: pkgconfig(graphene-1.0) >= 1.5.1
|
||||||
BuildRequires: pkgconfig(graphene-gobject-1.0) >= 1.5.1
|
BuildRequires: pkgconfig(graphene-gobject-1.0) >= 1.5.1
|
||||||
|
BuildRequires: pkgconfig(gstreamer-player-1.0)
|
||||||
BuildRequires: pkgconfig(json-glib-1.0)
|
BuildRequires: pkgconfig(json-glib-1.0)
|
||||||
BuildRequires: pkgconfig(pango) >= 1.37.3
|
BuildRequires: pkgconfig(pango) >= 1.37.3
|
||||||
BuildRequires: pkgconfig(pangocairo) >= 1.14.0
|
BuildRequires: pkgconfig(pangocairo) >= 1.14.0
|
||||||
BuildRequires: pkgconfig(pangoft2)
|
BuildRequires: pkgconfig(pangoft2)
|
||||||
BuildRequires: pkgconfig(rest-0.7)
|
BuildRequires: pkgconfig(rest-0.7)
|
||||||
BuildRequires: pkgconfig(wayland-client) >= 1.9.91
|
BuildRequires: pkgconfig(wayland-client) >= 1.14.91
|
||||||
BuildRequires: pkgconfig(wayland-cursor) >= 1.9.91
|
BuildRequires: pkgconfig(wayland-cursor) >= 1.9.91
|
||||||
BuildRequires: pkgconfig(wayland-egl)
|
BuildRequires: pkgconfig(wayland-egl)
|
||||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.9
|
BuildRequires: pkgconfig(wayland-protocols) >= 1.9
|
||||||
@ -89,7 +92,6 @@ ranging from small one-off projects to complete application suites.
|
|||||||
Summary: The GTK+ toolkit library (version 4)
|
Summary: The GTK+ toolkit library (version 4)
|
||||||
# gtk4-data is currently not being built, might be an upstream oversight though
|
# gtk4-data is currently not being built, might be an upstream oversight though
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Requires: %{name}-data >= %{version}
|
|
||||||
Requires: %{name}-schema >= %{version}
|
Requires: %{name}-schema >= %{version}
|
||||||
# Require Adwaita Icon Theme: It's GTKs icon set, that's guaranteed to be there
|
# Require Adwaita Icon Theme: It's GTKs icon set, that's guaranteed to be there
|
||||||
Requires: adwaita-icon-theme
|
Requires: adwaita-icon-theme
|
||||||
@ -98,20 +100,20 @@ Requires: adwaita-icon-theme
|
|||||||
# assume it's there and we need to have a low-level package to
|
# assume it's there and we need to have a low-level package to
|
||||||
# bring it in.
|
# bring it in.
|
||||||
Requires: hicolor-icon-theme
|
Requires: hicolor-icon-theme
|
||||||
Requires(post): %{name}-tools
|
|
||||||
# gtk+ can work without branding/translations. Built in defaults will be used then.
|
# gtk+ can work without branding/translations. Built in defaults will be used then.
|
||||||
Recommends: %{name}-branding
|
Recommends: %{name}-branding
|
||||||
# it's nice to have input modules for various locales installed by default
|
|
||||||
Recommends: %{name}-immodule-amharic = %{version}
|
|
||||||
Recommends: %{name}-immodule-inuktitut = %{version}
|
|
||||||
Recommends: %{name}-immodule-thai = %{version}
|
|
||||||
Recommends: %{name}-immodule-tigrigna = %{version}
|
|
||||||
Recommends: %{name}-immodule-vietnamese = %{version}
|
|
||||||
Recommends: %{name}-lang
|
|
||||||
Recommends: gvfs
|
Recommends: gvfs
|
||||||
Obsoletes: %{name}-data < %{version}
|
Obsoletes: %{name}-data
|
||||||
Provides: %{name}-data = %{version}
|
# IM modules have been dropped in 3.94.0
|
||||||
# Provide %%{name} to make the lang and immodules packages installable
|
Obsoletes: immodule-amharic
|
||||||
|
Obsoletes: immodule-broadway
|
||||||
|
Obsoletes: immodule-inuktitut
|
||||||
|
Obsoletes: immodule-multipress
|
||||||
|
Obsoletes: immodule-thai
|
||||||
|
Obsoletes: immodule-tigrigna
|
||||||
|
Obsoletes: immodule-vietnamese
|
||||||
|
Obsoletes: immodule-xim
|
||||||
|
# Provide main package to make the lang subpackage installable
|
||||||
Provides: %{name} = %{version}
|
Provides: %{name} = %{version}
|
||||||
|
|
||||||
%description -n libgtk-4-0
|
%description -n libgtk-4-0
|
||||||
@ -130,131 +132,6 @@ ranging from small one-off projects to complete application suites.
|
|||||||
|
|
||||||
This package provides the GObject Introspection bindings for GTK+.
|
This package provides the GObject Introspection bindings for GTK+.
|
||||||
|
|
||||||
%package immodule-amharic
|
|
||||||
Summary: Amharic input method for the GTK+ toolkit library v4
|
|
||||||
Group: System/Libraries
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires(post): %{name}-tools
|
|
||||||
Requires(postun): %{name}-tools
|
|
||||||
Provides: locale(%{name}:am)
|
|
||||||
|
|
||||||
%description immodule-amharic
|
|
||||||
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.
|
|
||||||
|
|
||||||
This package provides an input method for Amharic.
|
|
||||||
|
|
||||||
%package immodule-broadway
|
|
||||||
Summary: Broadway input method for the GTK+ toolkit library v4
|
|
||||||
Group: System/Libraries
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires(post): %{name}-tools
|
|
||||||
Requires(postun): %{name}-tools
|
|
||||||
|
|
||||||
%description immodule-broadway
|
|
||||||
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.
|
|
||||||
|
|
||||||
This package provides an input method for Broadway.
|
|
||||||
|
|
||||||
%package immodule-inuktitut
|
|
||||||
Summary: Inuktitut input method for the GTK+ toolkit library v4
|
|
||||||
Group: System/Libraries
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires(post): %{name}-tools
|
|
||||||
Requires(postun): %{name}-tools
|
|
||||||
Provides: locale(%{name}:iu)
|
|
||||||
|
|
||||||
%description immodule-inuktitut
|
|
||||||
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.
|
|
||||||
|
|
||||||
This package provides an input method for Inuktitut.
|
|
||||||
|
|
||||||
%package immodule-multipress
|
|
||||||
Summary: Multipress input method for the GTK+ toolkit library v4
|
|
||||||
Group: System/Libraries
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires(post): %{name}-tools
|
|
||||||
Requires(postun): %{name}-tools
|
|
||||||
|
|
||||||
%description immodule-multipress
|
|
||||||
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.
|
|
||||||
|
|
||||||
This package provides an input method which allows text entry via the
|
|
||||||
multi-press method, as on a mobile phone.
|
|
||||||
|
|
||||||
%package immodule-thai
|
|
||||||
Summary: Thai-Lao input method for the GTK+ toolkit library v4
|
|
||||||
Group: System/Libraries
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires(post): %{name}-tools
|
|
||||||
Requires(postun): %{name}-tools
|
|
||||||
Provides: locale(%{name}:lo)
|
|
||||||
Provides: locale(%{name}:th)
|
|
||||||
|
|
||||||
%description immodule-thai
|
|
||||||
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.
|
|
||||||
|
|
||||||
This package provides an input method for Thai-Lao.
|
|
||||||
|
|
||||||
%package immodule-tigrigna
|
|
||||||
Summary: Tigrigna input method for the GTK+ toolkit library v4
|
|
||||||
Group: System/Libraries
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires(post): %{name}-tools
|
|
||||||
Requires(postun): %{name}-tools
|
|
||||||
Provides: %{name}-immodules-tigrigna = %{version}
|
|
||||||
Provides: locale(%{name}:ti)
|
|
||||||
Obsoletes: %{name}-immodules-tigrigna < %{version}
|
|
||||||
|
|
||||||
%description immodule-tigrigna
|
|
||||||
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.
|
|
||||||
|
|
||||||
This package provides two input methods for Tigrigna.
|
|
||||||
|
|
||||||
%package immodule-vietnamese
|
|
||||||
Summary: Vietnamese input method for the GTK+ toolkit library v4
|
|
||||||
Group: System/Libraries
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires(post): %{name}-tools
|
|
||||||
Requires(postun): %{name}-tools
|
|
||||||
Provides: locale(%{name}:vi)
|
|
||||||
|
|
||||||
%description immodule-vietnamese
|
|
||||||
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.
|
|
||||||
|
|
||||||
This package provides an input method for Vietnamese.
|
|
||||||
|
|
||||||
%package immodule-xim
|
|
||||||
Summary: X input method for the GTK+ toolkit library v4
|
|
||||||
Group: System/Libraries
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
Requires(post): %{name}-tools
|
|
||||||
Requires(postun): %{name}-tools
|
|
||||||
Provides: locale(%{name}:ja)
|
|
||||||
Provides: locale(%{name}:ko)
|
|
||||||
Provides: locale(%{name}:th)
|
|
||||||
Provides: locale(%{name}:zh)
|
|
||||||
|
|
||||||
%description immodule-xim
|
|
||||||
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.
|
|
||||||
|
|
||||||
This package provides an input method based on the X Input Method.
|
|
||||||
|
|
||||||
%package tools
|
%package tools
|
||||||
Summary: Auxiliary utilities for the GTK+ toolkit library v4
|
Summary: Auxiliary utilities for the GTK+ toolkit library v4
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
@ -264,16 +141,6 @@ GTK+ is a multi-platform toolkit for creating graphical user interfaces.
|
|||||||
Offering a complete set of widgets, GTK+ is suitable for projects
|
Offering a complete set of widgets, GTK+ is suitable for projects
|
||||||
ranging from small one-off projects to complete application suites.
|
ranging from small one-off projects to complete application suites.
|
||||||
|
|
||||||
%package data
|
|
||||||
Summary: Data files for the GTK+ toolkit library v4
|
|
||||||
Group: System/Libraries
|
|
||||||
BuildArch: noarch
|
|
||||||
|
|
||||||
%description data
|
|
||||||
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.
|
|
||||||
|
|
||||||
%package schema
|
%package schema
|
||||||
Summary: Config schema for the GTK+ toolkit library v4
|
Summary: Config schema for the GTK+ toolkit library v4
|
||||||
# The schema is shared between gtk3 and gtk4 - gtk4 wins
|
# The schema is shared between gtk3 and gtk4 - gtk4 wins
|
||||||
@ -281,7 +148,6 @@ Group: System/Libraries
|
|||||||
Provides: gtk3-schema = %{version}
|
Provides: gtk3-schema = %{version}
|
||||||
Obsoletes: gtk3-schema < %{version}
|
Obsoletes: gtk3-schema < %{version}
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
%glib2_gsettings_schema_requires
|
|
||||||
|
|
||||||
%description schema
|
%description schema
|
||||||
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
|
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
|
||||||
@ -364,124 +230,38 @@ translation-update-upstream
|
|||||||
%find_lang gtk40
|
%find_lang gtk40
|
||||||
%find_lang gtk40-properties
|
%find_lang gtk40-properties
|
||||||
install -m 644 -D %{SOURCE2} %{buildroot}%{_datadir}/gtk-4.0/settings.ini
|
install -m 644 -D %{SOURCE2} %{buildroot}%{_datadir}/gtk-4.0/settings.ini
|
||||||
touch %{buildroot}%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules.cache
|
|
||||||
# create modules directory that should have been created during the build
|
# create modules directory that should have been created during the build
|
||||||
test ! -d %{buildroot}%{_libdir}/gtk-4.0/modules
|
if test ! -d %{buildroot}%{_libdir}/gtk-4.0/modules; then
|
||||||
mkdir %{buildroot}%{_libdir}/gtk-4.0/modules
|
mkdir %{buildroot}%{_libdir}/gtk-4.0/modules
|
||||||
|
else
|
||||||
|
echo 'Remove this no-longer-needed modulesdir hack.'
|
||||||
|
fi
|
||||||
# create theming-engines directory that should have been created during the build
|
# create theming-engines directory that should have been created during the build
|
||||||
test ! -d %{buildroot}%{_libdir}/gtk-4.0/%{gtk_binary_version}/theming-engines
|
if test ! -d %{buildroot}%{_libdir}/gtk-4.0/%{gtk_binary_version}/theming-engines; then
|
||||||
mkdir %{buildroot}%{_libdir}/gtk-4.0/%{gtk_binary_version}/theming-engines
|
mkdir %{buildroot}%{_libdir}/gtk-4.0/%{gtk_binary_version}/theming-engines
|
||||||
|
else
|
||||||
|
echo 'Remove this no-longer-needed themingdir hack.'
|
||||||
|
fi
|
||||||
# Install rpm macros
|
# Install rpm macros
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/rpm
|
mkdir -p %{buildroot}%{_sysconfdir}/rpm
|
||||||
cp %{SOURCE3} %{buildroot}%{_sysconfdir}/rpm
|
cp %{SOURCE3} %{buildroot}%{_sysconfdir}/rpm
|
||||||
%fdupes %{buildroot}%{_datadir}
|
%fdupes %{buildroot}%{_datadir}
|
||||||
%fdupes %{buildroot}%{_libdir}
|
%fdupes %{buildroot}%{_libdir}
|
||||||
|
|
||||||
###########################################################################
|
%post -n libgtk-4-0 -p /sbin/ldconfig
|
||||||
# Note: when updating scriptlets, don't forget to also update baselibs.conf
|
|
||||||
###########################################################################
|
|
||||||
|
|
||||||
# Convenient %%define for the scriplets
|
|
||||||
%define _gtk_query_immodules %{_bindir}/gtk4-query-immodules
|
|
||||||
%define _gtk_query_immodules_update_cache %{_gtk_query_immodules} --update-cache
|
|
||||||
|
|
||||||
%post -n libgtk-4-0
|
|
||||||
/sbin/ldconfig
|
|
||||||
%if 0
|
|
||||||
# In case libgtk-4-0 gets installed before gtk4-tools, we don't want to fail.
|
|
||||||
# So we make the call to gtk4-query-immodules dependent on the existence of
|
|
||||||
# the binary. This is why we also have a %%post for gtk4-tools.
|
|
||||||
%endif
|
|
||||||
if test -f %{_gtk_query_immodules}; then
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
fi
|
|
||||||
|
|
||||||
%post immodule-amharic
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%post immodule-broadway
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%post immodule-inuktitut
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%post immodule-multipress
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%post immodule-thai
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%post immodule-tigrigna
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%post immodule-vietnamese
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%post immodule-xim
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%post tools
|
|
||||||
%if 0
|
|
||||||
# If we install gtk4-tools for the first time, then we should run it in case
|
|
||||||
# libgtk-4-0 was installed first (ie, if
|
|
||||||
# %%{_libdir}/gtk-4.0/%%{gtk_binary_version} already exists) which means
|
|
||||||
# gtk4-query-immodules couldn't run there.
|
|
||||||
%endif
|
|
||||||
if [ $1 = 1 ]; then
|
|
||||||
test -d %{_libdir}/gtk-4.0/%{gtk_binary_version}
|
|
||||||
if test $? -eq 0; then
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%if 0
|
|
||||||
# No need to call gtk-query-immodules-3.0 in postun:
|
|
||||||
# - if it's an upgrade, it will have been called in post
|
|
||||||
# - if it's an uninstall, we don't care about this anymore
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%postun -n libgtk-4-0 -p /sbin/ldconfig
|
%postun -n libgtk-4-0 -p /sbin/ldconfig
|
||||||
%postun immodule-amharic
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%postun immodule-broadway
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%postun immodule-inuktitut
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%postun immodule-multipress
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%postun immodule-thai
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%postun immodule-tigrigna
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%postun immodule-vietnamese
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%postun immodule-xim
|
|
||||||
%{_gtk_query_immodules_update_cache}
|
|
||||||
|
|
||||||
%files -n libgtk-4-0
|
%files -n libgtk-4-0
|
||||||
%license COPYING
|
%license COPYING
|
||||||
%doc AUTHORS NEWS
|
%doc AUTHORS NEWS
|
||||||
%dir %{_sysconfdir}/gtk-4.0
|
|
||||||
%dir %{_libdir}/gtk-4.0
|
%dir %{_libdir}/gtk-4.0
|
||||||
%dir %{_libdir}/gtk-4.0/%{gtk_binary_version}
|
%dir %{_libdir}/gtk-4.0/%{gtk_binary_version}
|
||||||
%dir %{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-cedilla.so
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-cyrillic-translit.so
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-ipa.so
|
|
||||||
%dir %{_libdir}/gtk-4.0/%{gtk_binary_version}/printbackends/
|
%dir %{_libdir}/gtk-4.0/%{gtk_binary_version}/printbackends/
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/printbackends/libprintbackend-cloudprint.so
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/printbackends/libprintbackend-cups.so
|
%{_libdir}/gtk-4.0/%{gtk_binary_version}/printbackends/libprintbackend-cups.so
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/printbackends/libprintbackend-file.so
|
%{_libdir}/gtk-4.0/%{gtk_binary_version}/printbackends/libprintbackend-file.so
|
||||||
#%%{_libdir}/gtk-4.0/%%{gtk_binary_version}/printbackends/libprintbackend-lpr.so
|
%dir %{_libdir}/gtk-4.0/%{gtk_binary_version}/media/
|
||||||
|
%{_libdir}/gtk-4.0/%{gtk_binary_version}/media/libmedia-gstreamer.so
|
||||||
%dir %{_libdir}/gtk-4.0/%{gtk_binary_version}/theming-engines/
|
%dir %{_libdir}/gtk-4.0/%{gtk_binary_version}/theming-engines/
|
||||||
%ghost %{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules.cache
|
|
||||||
%dir %{_libdir}/gtk-4.0/modules
|
%dir %{_libdir}/gtk-4.0/modules
|
||||||
%{_libdir}/libgtk-4.so.*
|
%{_libdir}/libgtk-4.so.*
|
||||||
|
|
||||||
@ -491,40 +271,11 @@ fi
|
|||||||
%{_libdir}/girepository-1.0/Gsk-4.0.typelib
|
%{_libdir}/girepository-1.0/Gsk-4.0.typelib
|
||||||
%{_libdir}/girepository-1.0/Gtk-4.0.typelib
|
%{_libdir}/girepository-1.0/Gtk-4.0.typelib
|
||||||
|
|
||||||
%files immodule-amharic
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-am-et.so
|
|
||||||
|
|
||||||
%files immodule-broadway
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-broadway.so
|
|
||||||
|
|
||||||
%files immodule-inuktitut
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-inuktitut.so
|
|
||||||
|
|
||||||
%files immodule-multipress
|
|
||||||
%doc modules/input/README.multipress
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-multipress.so
|
|
||||||
%config %{_sysconfdir}/gtk-4.0/im-multipress.conf
|
|
||||||
|
|
||||||
%files immodule-thai
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-thai.so
|
|
||||||
|
|
||||||
%files immodule-tigrigna
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-ti-er.so
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-ti-et.so
|
|
||||||
|
|
||||||
%files immodule-vietnamese
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-viqr.so
|
|
||||||
|
|
||||||
%files immodule-xim
|
|
||||||
%{_libdir}/gtk-4.0/%{gtk_binary_version}/immodules/im-xim.so
|
|
||||||
|
|
||||||
%files tools
|
%files tools
|
||||||
%{_bindir}/gtk4-broadwayd
|
|
||||||
%{_bindir}/gtk4-icon-browser
|
%{_bindir}/gtk4-icon-browser
|
||||||
%{_bindir}/gtk4-builder-tool
|
%{_bindir}/gtk4-builder-tool
|
||||||
%{_bindir}/gtk4-encode-symbolic-svg
|
%{_bindir}/gtk4-encode-symbolic-svg
|
||||||
%{_bindir}/gtk4-launch
|
%{_bindir}/gtk4-launch
|
||||||
%{_bindir}/gtk4-query-immodules
|
|
||||||
%{_bindir}/gtk4-query-settings
|
%{_bindir}/gtk4-query-settings
|
||||||
%{_bindir}/gtk4-update-icon-cache
|
%{_bindir}/gtk4-update-icon-cache
|
||||||
%{_datadir}/applications/gtk4-icon-browser.desktop
|
%{_datadir}/applications/gtk4-icon-browser.desktop
|
||||||
@ -533,15 +284,9 @@ fi
|
|||||||
%{_mandir}/man1/gtk4-builder-tool.1%{?ext_man}
|
%{_mandir}/man1/gtk4-builder-tool.1%{?ext_man}
|
||||||
%{_mandir}/man1/gtk4-encode-symbolic-svg.1%{?ext_man}
|
%{_mandir}/man1/gtk4-encode-symbolic-svg.1%{?ext_man}
|
||||||
%{_mandir}/man1/gtk4-launch.1%{?ext_man}
|
%{_mandir}/man1/gtk4-launch.1%{?ext_man}
|
||||||
%{_mandir}/man1/gtk4-query-immodules.1%{?ext_man}
|
|
||||||
%{_mandir}/man1/gtk4-query-settings.1%{?ext_man}
|
%{_mandir}/man1/gtk4-query-settings.1%{?ext_man}
|
||||||
%{_mandir}/man1/gtk4-update-icon-cache.1%{?ext_man}
|
%{_mandir}/man1/gtk4-update-icon-cache.1%{?ext_man}
|
||||||
|
|
||||||
#files data
|
|
||||||
#defattr(-,root,root)
|
|
||||||
#{_datadir}/themes/Default/
|
|
||||||
#{_datadir}/themes/Emacs/
|
|
||||||
|
|
||||||
%files schema
|
%files schema
|
||||||
%{_datadir}/glib-2.0/schemas/org.gtk.Demo.gschema.xml
|
%{_datadir}/glib-2.0/schemas/org.gtk.Demo.gschema.xml
|
||||||
%{_datadir}/glib-2.0/schemas/org.gtk.Settings.ColorChooser.gschema.xml
|
%{_datadir}/glib-2.0/schemas/org.gtk.Settings.ColorChooser.gschema.xml
|
||||||
@ -553,7 +298,7 @@ fi
|
|||||||
%{_datadir}/gtk-4.0/settings.ini
|
%{_datadir}/gtk-4.0/settings.ini
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%doc CONTRIBUTING.md NEWS.pre-1-0 README.commits
|
%doc CONTRIBUTING.md README.commits
|
||||||
%doc %{_datadir}/gtk-doc/html/gdk4/
|
%doc %{_datadir}/gtk-doc/html/gdk4/
|
||||||
%doc %{_datadir}/gtk-doc/html/gsk4/
|
%doc %{_datadir}/gtk-doc/html/gsk4/
|
||||||
%doc %{_datadir}/gtk-doc/html/gtk4/
|
%doc %{_datadir}/gtk-doc/html/gtk4/
|
||||||
@ -564,7 +309,9 @@ fi
|
|||||||
%{_mandir}/man1/gtk4-demo-application.1%{?ext_man}
|
%{_mandir}/man1/gtk4-demo-application.1%{?ext_man}
|
||||||
%{_mandir}/man1/gtk4-widget-factory.1%{?ext_man}
|
%{_mandir}/man1/gtk4-widget-factory.1%{?ext_man}
|
||||||
%{_datadir}/applications/gtk4-demo.desktop
|
%{_datadir}/applications/gtk4-demo.desktop
|
||||||
|
%{_datadir}/metainfo/org.gtk.Demo.appdata.xml
|
||||||
%{_datadir}/applications/gtk4-widget-factory.desktop
|
%{_datadir}/applications/gtk4-widget-factory.desktop
|
||||||
|
%{_datadir}/metainfo/org.gtk.WidgetFactory.appdata.xml
|
||||||
%{_datadir}/gir-1.0/*.gir
|
%{_datadir}/gir-1.0/*.gir
|
||||||
%dir %{_datadir}/gtk-4.0
|
%dir %{_datadir}/gtk-4.0
|
||||||
%{_datadir}/gtk-4.0/gtkbuilder.rng
|
%{_datadir}/gtk-4.0/gtkbuilder.rng
|
||||||
@ -574,7 +321,6 @@ fi
|
|||||||
%{_datadir}/icons/hicolor/*/apps/gtk4-widget-factory-symbolic.symbolic.png
|
%{_datadir}/icons/hicolor/*/apps/gtk4-widget-factory-symbolic.symbolic.png
|
||||||
%{_includedir}/gtk-4.0/
|
%{_includedir}/gtk-4.0/
|
||||||
%{_libdir}/pkgconfig/gtk+-4.0.pc
|
%{_libdir}/pkgconfig/gtk+-4.0.pc
|
||||||
%{_libdir}/pkgconfig/gtk+-broadway-4.0.pc
|
|
||||||
%{_libdir}/pkgconfig/gtk+-wayland-4.0.pc
|
%{_libdir}/pkgconfig/gtk+-wayland-4.0.pc
|
||||||
%{_libdir}/pkgconfig/gtk+-unix-print-4.0.pc
|
%{_libdir}/pkgconfig/gtk+-unix-print-4.0.pc
|
||||||
%{_libdir}/pkgconfig/gtk+-x11-4.0.pc
|
%{_libdir}/pkgconfig/gtk+-x11-4.0.pc
|
||||||
|
423
gtkmm.patch
423
gtkmm.patch
@ -1,423 +0,0 @@
|
|||||||
From 2cbe094b919442471b54685a0fef0d6f83ce44b3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Emmanuele Bassi <ebassi@gnome.org>
|
|
||||||
Date: Thu, 1 Feb 2018 17:43:15 +0100
|
|
||||||
Subject: [PATCH] Allow binding GdkContentFormatsBuilder
|
|
||||||
|
|
||||||
GdkContentFormatsBuilder is currently not introspectable, as it does not
|
|
||||||
have a GType. We can turn it into a boxed type, but we need to implement
|
|
||||||
memory management for it.
|
|
||||||
|
|
||||||
The current gdk_content_formats_builder_free() function returns a newly
|
|
||||||
constructed value, so we cannot use it as a GBoxedFreeFunc; additionally
|
|
||||||
copying a GdkContentFormatsBuilder contents would make it a bit odd, as
|
|
||||||
you could get multiple identical GdkContentFormats out of the copies.
|
|
||||||
|
|
||||||
A simple approach is to model the GdkContentFormatsBuilder API to follow
|
|
||||||
the GBytes one: use reference counting for memory management, and have
|
|
||||||
a function to release a reference, return a GdkContentFormats, and reset
|
|
||||||
the GdkContentFormatsBuilder state.
|
|
||||||
|
|
||||||
For language bindings, we can provide a get_formats() function that
|
|
||||||
returns the GdkContentFormats instance and resets the builder instance,
|
|
||||||
leaving the reference count untouched.
|
|
||||||
|
|
||||||
For C convenience we can keep gdk_content_formats_builder_free(), and
|
|
||||||
make it a wrapper around gdk_content_formats_builder_get_formats(), with
|
|
||||||
the guarantee that it'll free the builder instance regardless of its
|
|
||||||
current reference count.
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=793097
|
|
||||||
https://blogs.gnome.org/otte/2018/02/03/builders/
|
|
||||||
---
|
|
||||||
docs/reference/gdk/gdk4-sections.txt | 7 ++++++-
|
|
||||||
gdk/gdkclipboard.c | 2 +-
|
|
||||||
gdk/gdkcontentdeserializer.c | 4 ++--
|
|
||||||
gdk/gdkcontentformats.c | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------
|
|
||||||
gdk/gdkcontentformats.h | 15 +++++++++++++--
|
|
||||||
gdk/gdkcontentproviderimpl.c | 2 +-
|
|
||||||
gdk/gdkcontentserializer.c | 4 ++--
|
|
||||||
gdk/wayland/gdkprimary-wayland.c | 4 ++--
|
|
||||||
gdk/wayland/gdkselection-wayland.c | 2 +-
|
|
||||||
gdk/win32/gdkdnd-win32.c | 2 +-
|
|
||||||
gdk/x11/gdkclipboard-x11.c | 2 +-
|
|
||||||
gtk/gtkselection.c | 6 +++---
|
|
||||||
12 files changed, 138 insertions(+), 27 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
|
|
||||||
index d492279..cf58129 100644
|
|
||||||
--- a/docs/reference/gdk/gdk4-sections.txt
|
|
||||||
+++ b/docs/reference/gdk/gdk4-sections.txt
|
|
||||||
@@ -438,11 +438,16 @@ gdk_content_formats_union_deserialize_mime_types
|
|
||||||
<SUBSECTION>
|
|
||||||
GdkContentFormatsBuilder
|
|
||||||
gdk_content_formats_builder_new
|
|
||||||
-gdk_content_formats_builder_free
|
|
||||||
+gdk_content_formats_builder_free_to_formats
|
|
||||||
gdk_content_formats_builder_add_formats
|
|
||||||
gdk_content_formats_builder_add_gtype
|
|
||||||
gdk_content_formats_builder_add_mime_type
|
|
||||||
|
|
||||||
+<SUBSECTION>
|
|
||||||
+gdk_content_formats_builder_ref
|
|
||||||
+gdk_content_formats_builder_unref
|
|
||||||
+gdk_content_formats_builder_to_formats
|
|
||||||
+
|
|
||||||
<SUBSECTION Private>
|
|
||||||
GDK_TYPE_FILE_LIST
|
|
||||||
gdk_file_list_get_type
|
|
||||||
diff --git a/gdk/gdkclipboard.c b/gdk/gdkclipboard.c
|
|
||||||
index ee9d8e9..df82147 100644
|
|
||||||
--- a/gdk/gdkclipboard.c
|
|
||||||
+++ b/gdk/gdkclipboard.c
|
|
||||||
@@ -820,7 +820,7 @@ gdk_clipboard_read_value_internal (GdkClipboard *clipboard,
|
|
||||||
|
|
||||||
builder = gdk_content_formats_builder_new ();
|
|
||||||
gdk_content_formats_builder_add_gtype (builder, type);
|
|
||||||
- formats = gdk_content_formats_builder_free (builder);
|
|
||||||
+ formats = gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
formats = gdk_content_formats_union_deserialize_mime_types (formats);
|
|
||||||
|
|
||||||
gdk_clipboard_read_internal (clipboard,
|
|
||||||
diff --git a/gdk/gdkcontentdeserializer.c b/gdk/gdkcontentdeserializer.c
|
|
||||||
index c9df08d..b0df54c 100644
|
|
||||||
--- a/gdk/gdkcontentdeserializer.c
|
|
||||||
+++ b/gdk/gdkcontentdeserializer.c
|
|
||||||
@@ -458,7 +458,7 @@ gdk_content_formats_union_deserialize_gtypes (GdkContentFormats *formats)
|
|
||||||
|
|
||||||
gdk_content_formats_unref (formats);
|
|
||||||
|
|
||||||
- return gdk_content_formats_builder_free (builder);
|
|
||||||
+ return gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@@ -493,7 +493,7 @@ gdk_content_formats_union_deserialize_mime_types (GdkContentFormats *formats)
|
|
||||||
|
|
||||||
gdk_content_formats_unref (formats);
|
|
||||||
|
|
||||||
- return gdk_content_formats_builder_free (builder);
|
|
||||||
+ return gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
diff --git a/gdk/gdkcontentformats.c b/gdk/gdkcontentformats.c
|
|
||||||
index 04bd064..cd3293f 100644
|
|
||||||
--- a/gdk/gdkcontentformats.c
|
|
||||||
+++ b/gdk/gdkcontentformats.c
|
|
||||||
@@ -307,7 +307,7 @@ gdk_content_formats_union (GdkContentFormats *first,
|
|
||||||
gdk_content_formats_unref (first);
|
|
||||||
gdk_content_formats_builder_add_formats (builder, second);
|
|
||||||
|
|
||||||
- return gdk_content_formats_builder_free (builder);
|
|
||||||
+ return gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
@@ -510,12 +510,22 @@ gdk_content_formats_get_mime_types (GdkContentFormats *formats,
|
|
||||||
|
|
||||||
struct _GdkContentFormatsBuilder
|
|
||||||
{
|
|
||||||
+ int ref_count;
|
|
||||||
+
|
|
||||||
+ /* (element-type GType) */
|
|
||||||
GSList *gtypes;
|
|
||||||
gsize n_gtypes;
|
|
||||||
+
|
|
||||||
+ /* (element-type utf8) (interned) */
|
|
||||||
GSList *mime_types;
|
|
||||||
gsize n_mime_types;
|
|
||||||
};
|
|
||||||
|
|
||||||
+G_DEFINE_BOXED_TYPE (GdkContentFormatsBuilder,
|
|
||||||
+ gdk_content_formats_builder,
|
|
||||||
+ gdk_content_formats_builder_ref,
|
|
||||||
+ gdk_content_formats_builder_unref)
|
|
||||||
+
|
|
||||||
/**
|
|
||||||
* gdk_content_formats_builder_new:
|
|
||||||
*
|
|
||||||
@@ -528,19 +538,106 @@ struct _GdkContentFormatsBuilder
|
|
||||||
GdkContentFormatsBuilder *
|
|
||||||
gdk_content_formats_builder_new (void)
|
|
||||||
{
|
|
||||||
- return g_slice_new0 (GdkContentFormatsBuilder);
|
|
||||||
+ GdkContentFormatsBuilder *builder;
|
|
||||||
+
|
|
||||||
+ builder = g_slice_new0 (GdkContentFormatsBuilder);
|
|
||||||
+ builder->ref_count = 1;
|
|
||||||
+
|
|
||||||
+ return builder;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
- * gdk_content_formats_builder_free:
|
|
||||||
+ * gdk_content_formats_builder_ref:
|
|
||||||
* @builder: a #GdkContentFormatsBuilder
|
|
||||||
*
|
|
||||||
- * Frees @builder and creates a new #GdkContentFormats from it.
|
|
||||||
+ * Acquires a reference on the given @builder.
|
|
||||||
*
|
|
||||||
- * Returns: a new #GdkContentFormats with all the formats added to @builder
|
|
||||||
- **/
|
|
||||||
+ * This function is intended primarily for bindings. #GdkContentFormatsBuilder objects
|
|
||||||
+ * should not be kept around.
|
|
||||||
+ *
|
|
||||||
+ * Returns: (transfer none): the given #GdkContentFormatsBuilder with
|
|
||||||
+ * its reference count increased
|
|
||||||
+ */
|
|
||||||
+GdkContentFormatsBuilder *
|
|
||||||
+gdk_content_formats_builder_ref (GdkContentFormatsBuilder *builder)
|
|
||||||
+{
|
|
||||||
+ g_return_val_if_fail (builder != NULL, NULL);
|
|
||||||
+ g_return_val_if_fail (builder->ref_count > 0, NULL);
|
|
||||||
+
|
|
||||||
+ builder->ref_count += 1;
|
|
||||||
+
|
|
||||||
+ return builder;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+gdk_content_formats_builder_clear (GdkContentFormatsBuilder *builder)
|
|
||||||
+{
|
|
||||||
+ g_clear_pointer (&builder->gtypes, g_slist_free);
|
|
||||||
+ g_clear_pointer (&builder->mime_types, g_slist_free);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * gdk_content_formats_builder_unref:
|
|
||||||
+ * @builder: a #GdkContentFormatsBuilder
|
|
||||||
+ *
|
|
||||||
+ * Releases a reference on the given @builder.
|
|
||||||
+ */
|
|
||||||
+void
|
|
||||||
+gdk_content_formats_builder_unref (GdkContentFormatsBuilder *builder)
|
|
||||||
+{
|
|
||||||
+ g_return_if_fail (builder != NULL);
|
|
||||||
+ g_return_if_fail (builder->ref_count > 0);
|
|
||||||
+
|
|
||||||
+ builder->ref_count -= 1;
|
|
||||||
+
|
|
||||||
+ if (builder->ref_count > 0)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ gdk_content_formats_builder_clear (builder);
|
|
||||||
+ g_slice_free (GdkContentFormatsBuilder, builder);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * gdk_content_formats_builder_free_to_formats: (skip)
|
|
||||||
+ * @builder: a #GdkContentFormatsBuilder
|
|
||||||
+ *
|
|
||||||
+ * Creates a new #GdkContentFormats from the current state of the
|
|
||||||
+ * given @builder, and frees the @builder instance.
|
|
||||||
+ *
|
|
||||||
+ * Returns: (transfer full): the newly created #GdkContentFormats
|
|
||||||
+ * with all the formats added to @builder
|
|
||||||
+ */
|
|
||||||
+GdkContentFormats *
|
|
||||||
+gdk_content_formats_builder_free_to_formats (GdkContentFormatsBuilder *builder)
|
|
||||||
+{
|
|
||||||
+ GdkContentFormats *res;
|
|
||||||
+
|
|
||||||
+ g_return_val_if_fail (builder != NULL, NULL);
|
|
||||||
+
|
|
||||||
+ res = gdk_content_formats_builder_to_formats (builder);
|
|
||||||
+
|
|
||||||
+ gdk_content_formats_builder_unref (builder);
|
|
||||||
+
|
|
||||||
+ return res;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * gdk_content_formats_builder_to_formats:
|
|
||||||
+ * @builder: a #GdkContentFormatsBuilder
|
|
||||||
+ *
|
|
||||||
+ * Creates a new #GdkContentFormats from the given @builder.
|
|
||||||
+ *
|
|
||||||
+ * The given #GdkContentFormatsBuilder is reset once this function returns;
|
|
||||||
+ * you cannot call this function multiple times on the same @builder instance.
|
|
||||||
+ *
|
|
||||||
+ * This function is intended primarily for bindings. C code should use
|
|
||||||
+ * gdk_content_formats_builder_free_to_formats().
|
|
||||||
+ *
|
|
||||||
+ * Returns: (transfer full): the newly created #GdkContentFormats
|
|
||||||
+ * with all the formats added to @builder
|
|
||||||
+ */
|
|
||||||
GdkContentFormats *
|
|
||||||
-gdk_content_formats_builder_free (GdkContentFormatsBuilder *builder)
|
|
||||||
+gdk_content_formats_builder_to_formats (GdkContentFormatsBuilder *builder)
|
|
||||||
{
|
|
||||||
GdkContentFormats *result;
|
|
||||||
GType *gtypes;
|
|
||||||
@@ -567,9 +664,7 @@ gdk_content_formats_builder_free (GdkContentFormatsBuilder *builder)
|
|
||||||
result = gdk_content_formats_new_take (gtypes, builder->n_gtypes,
|
|
||||||
mime_types, builder->n_mime_types);
|
|
||||||
|
|
||||||
- g_slist_free (builder->gtypes);
|
|
||||||
- g_slist_free (builder->mime_types);
|
|
||||||
- g_slice_free (GdkContentFormatsBuilder, builder);
|
|
||||||
+ gdk_content_formats_builder_clear (builder);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
diff --git a/gdk/gdkcontentformats.h b/gdk/gdkcontentformats.h
|
|
||||||
index 58bbb10..a383434 100644
|
|
||||||
--- a/gdk/gdkcontentformats.h
|
|
||||||
+++ b/gdk/gdkcontentformats.h
|
|
||||||
@@ -77,12 +77,23 @@ GDK_AVAILABLE_IN_3_94
|
|
||||||
gboolean gdk_content_formats_contain_mime_type (const GdkContentFormats *formats,
|
|
||||||
const char *mime_type);
|
|
||||||
|
|
||||||
+#define GDK_TYPE_CONTENT_FORMATS_BUILDER (gdk_content_formats_builder_get_type ())
|
|
||||||
+
|
|
||||||
typedef struct _GdkContentFormatsBuilder GdkContentFormatsBuilder;
|
|
||||||
|
|
||||||
GDK_AVAILABLE_IN_3_94
|
|
||||||
-GdkContentFormatsBuilder*gdk_content_formats_builder_new (void);
|
|
||||||
+GType gdk_content_formats_builder_get_type (void) G_GNUC_CONST;
|
|
||||||
+
|
|
||||||
+GDK_AVAILABLE_IN_3_94
|
|
||||||
+GdkContentFormatsBuilder *gdk_content_formats_builder_new (void);
|
|
||||||
+GDK_AVAILABLE_IN_3_94
|
|
||||||
+GdkContentFormatsBuilder *gdk_content_formats_builder_ref (GdkContentFormatsBuilder *builder);
|
|
||||||
+GDK_AVAILABLE_IN_3_94
|
|
||||||
+void gdk_content_formats_builder_unref (GdkContentFormatsBuilder *builder);
|
|
||||||
+GDK_AVAILABLE_IN_3_94
|
|
||||||
+GdkContentFormats * gdk_content_formats_builder_free_to_formats (GdkContentFormatsBuilder *builder) G_GNUC_WARN_UNUSED_RESULT;
|
|
||||||
GDK_AVAILABLE_IN_3_94
|
|
||||||
-GdkContentFormats * gdk_content_formats_builder_free (GdkContentFormatsBuilder *builder) G_GNUC_WARN_UNUSED_RESULT;
|
|
||||||
+GdkContentFormats * gdk_content_formats_builder_to_formats (GdkContentFormatsBuilder *builder) G_GNUC_WARN_UNUSED_RESULT;
|
|
||||||
GDK_AVAILABLE_IN_3_94
|
|
||||||
void gdk_content_formats_builder_add_formats (GdkContentFormatsBuilder *builder,
|
|
||||||
const GdkContentFormats *formats);
|
|
||||||
diff --git a/gdk/gdkcontentproviderimpl.c b/gdk/gdkcontentproviderimpl.c
|
|
||||||
index 9ae14e0..e7b70c2 100644
|
|
||||||
--- a/gdk/gdkcontentproviderimpl.c
|
|
||||||
+++ b/gdk/gdkcontentproviderimpl.c
|
|
||||||
@@ -168,7 +168,7 @@ gdk_content_provider_bytes_ref_formats (GdkContentProvider *provider)
|
|
||||||
|
|
||||||
builder = gdk_content_formats_builder_new ();
|
|
||||||
gdk_content_formats_builder_add_mime_type (builder, content->mime_type);
|
|
||||||
- return gdk_content_formats_builder_free (builder);
|
|
||||||
+ return gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
diff --git a/gdk/gdkcontentserializer.c b/gdk/gdkcontentserializer.c
|
|
||||||
index 843c613..92cbb2d 100644
|
|
||||||
--- a/gdk/gdkcontentserializer.c
|
|
||||||
+++ b/gdk/gdkcontentserializer.c
|
|
||||||
@@ -461,7 +461,7 @@ gdk_content_formats_union_serialize_gtypes (GdkContentFormats *formats)
|
|
||||||
|
|
||||||
gdk_content_formats_unref (formats);
|
|
||||||
|
|
||||||
- return gdk_content_formats_builder_free (builder);
|
|
||||||
+ return gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@@ -496,7 +496,7 @@ gdk_content_formats_union_serialize_mime_types (GdkContentFormats *formats)
|
|
||||||
|
|
||||||
gdk_content_formats_unref (formats);
|
|
||||||
|
|
||||||
- return gdk_content_formats_builder_free (builder);
|
|
||||||
+ return gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
diff --git a/gdk/wayland/gdkprimary-wayland.c b/gdk/wayland/gdkprimary-wayland.c
|
|
||||||
index 89f02e6..62a6941 100644
|
|
||||||
--- a/gdk/wayland/gdkprimary-wayland.c
|
|
||||||
+++ b/gdk/wayland/gdkprimary-wayland.c
|
|
||||||
@@ -58,7 +58,7 @@ gdk_wayland_primary_discard_pending (GdkWaylandPrimary *cb)
|
|
||||||
{
|
|
||||||
if (cb->pending_builder)
|
|
||||||
{
|
|
||||||
- GdkContentFormats *ignore = gdk_content_formats_builder_free (cb->pending_builder);
|
|
||||||
+ GdkContentFormats *ignore = gdk_content_formats_builder_free_to_formats (cb->pending_builder);
|
|
||||||
gdk_content_formats_unref (ignore);
|
|
||||||
cb->pending_builder = NULL;
|
|
||||||
}
|
|
||||||
@@ -178,7 +178,7 @@ primary_selection_selection (void *data,
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- formats = gdk_content_formats_builder_free (cb->pending_builder);
|
|
||||||
+ formats = gdk_content_formats_builder_free_to_formats (cb->pending_builder);
|
|
||||||
cb->pending_builder = NULL;
|
|
||||||
cb->pending = NULL;
|
|
||||||
|
|
||||||
diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
|
|
||||||
index 0db6bad..9f7826e 100644
|
|
||||||
--- a/gdk/wayland/gdkselection-wayland.c
|
|
||||||
+++ b/gdk/wayland/gdkselection-wayland.c
|
|
||||||
@@ -124,7 +124,7 @@ data_offer_offer (void *data,
|
|
||||||
gdk_content_formats_builder_add_formats (builder, info->targets);
|
|
||||||
gdk_content_formats_builder_add_mime_type (builder, type);
|
|
||||||
gdk_content_formats_unref (info->targets);
|
|
||||||
- info->targets = gdk_content_formats_builder_free (builder);
|
|
||||||
+ info->targets = gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline GdkDragAction
|
|
||||||
diff --git a/gdk/win32/gdkdnd-win32.c b/gdk/win32/gdkdnd-win32.c
|
|
||||||
index 190386c..1d844a8 100644
|
|
||||||
--- a/gdk/win32/gdkdnd-win32.c
|
|
||||||
+++ b/gdk/win32/gdkdnd-win32.c
|
|
||||||
@@ -552,7 +552,7 @@ query_targets (LPDATAOBJECT pDataObj,
|
|
||||||
for (p = g_list_reverse (result); p; p = p->next)
|
|
||||||
gdk_content_formats_builder_add_mime_type (builder, (const gchar *) p->data);
|
|
||||||
|
|
||||||
- result_formats = gdk_content_formats_builder_free (builder);
|
|
||||||
+ result_formats = gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
g_list_free (result);
|
|
||||||
|
|
||||||
return result_formats;
|
|
||||||
diff --git a/gdk/x11/gdkclipboard-x11.c b/gdk/x11/gdkclipboard-x11.c
|
|
||||||
index 02a0b4e..c7b3780 100644
|
|
||||||
--- a/gdk/x11/gdkclipboard-x11.c
|
|
||||||
+++ b/gdk/x11/gdkclipboard-x11.c
|
|
||||||
@@ -243,7 +243,7 @@ gdk_x11_clipboard_formats_from_atoms (GdkDisplay *display,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- return gdk_content_formats_builder_free (builder);
|
|
||||||
+ return gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c
|
|
||||||
index 66dbd02..5dc56a7 100644
|
|
||||||
--- a/gtk/gtkselection.c
|
|
||||||
+++ b/gtk/gtkselection.c
|
|
||||||
@@ -176,7 +176,7 @@ gtk_content_formats_add_text_targets (GdkContentFormats *list)
|
|
||||||
gdk_content_formats_builder_add_mime_type (builder, text_plain_locale_atom);
|
|
||||||
gdk_content_formats_builder_add_mime_type (builder, text_plain_atom);
|
|
||||||
|
|
||||||
- return gdk_content_formats_builder_free (builder);
|
|
||||||
+ return gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@@ -243,7 +243,7 @@ gtk_content_formats_add_image_targets (GdkContentFormats *list,
|
|
||||||
|
|
||||||
g_slist_free (formats);
|
|
||||||
|
|
||||||
- return gdk_content_formats_builder_free (builder);
|
|
||||||
+ return gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@@ -270,7 +270,7 @@ gtk_content_formats_add_uri_targets (GdkContentFormats *list)
|
|
||||||
|
|
||||||
gdk_content_formats_builder_add_mime_type (builder, text_uri_list_atom);
|
|
||||||
|
|
||||||
- return gdk_content_formats_builder_free (builder);
|
|
||||||
+ return gdk_content_formats_builder_free_to_formats (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
--
|
|
||||||
libgit2 0.26.0
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user