Accepting request 45092 from GNOME:Factory
Copy from GNOME:Factory/gtk3 based on submit request 45092 from user vuntz OBS-URL: https://build.opensuse.org/request/show/45092 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gtk3?expand=0&rev=1
This commit is contained in:
commit
1ff05983ee
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
12
README.SUSE
Normal file
12
README.SUSE
Normal file
@ -0,0 +1,12 @@
|
||||
README for bi-architecture 64 bit platforms users
|
||||
=================================================
|
||||
|
||||
The GTK_PATH64 environment variable is used instead of GTK_PATH
|
||||
for the 64 bit library. See the GTK+ documentation for how to use
|
||||
GTK_PATH.
|
||||
|
||||
The GTK+ IM modules are different, based on the architecture of
|
||||
the package. To update the cache of IM modules, run:
|
||||
|
||||
+ for 32 bit version: /usr/bin/gtk-query-immodules-3.0
|
||||
+ for 64 bit version: /usr/bin/gtk-query-immodules-3.0-64
|
6
baselibs.conf
Normal file
6
baselibs.conf
Normal file
@ -0,0 +1,6 @@
|
||||
gtk3-tools
|
||||
+/usr/bin/gtk-query-immodules-3.0(-64)?
|
||||
post "if [ $1 == 1 ]; then test -d %{_libdir}/gtk-3.0/3.0.0; if test $? -eq 0; then %{_bindir}/gtk-query-immodules-3.0 --update-cache; fi; fi"
|
||||
libgtk-3_0-0
|
||||
provides "gtk3-<targettype> = <version>"
|
||||
post "test -f %{_bindir}/gtk-query-immodules-3.0 && %{_bindir}/gtk-query-immodules-3.0 --update-cache"
|
3
gtk+-2.90.5.tar.bz2
Normal file
3
gtk+-2.90.5.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8c3c2b461c5a9e0c07dcc320d6362728284e8294f2cd77428d51694c15681264
|
||||
size 17028893
|
13
gtk3-GTK_PATH64.patch
Normal file
13
gtk3-GTK_PATH64.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: gtk+-2.90.5/gtk/gtkmodules.c
|
||||
===================================================================
|
||||
--- gtk+-2.90.5.orig/gtk/gtkmodules.c
|
||||
+++ gtk+-2.90.5/gtk/gtkmodules.c
|
||||
@@ -67,7 +67,7 @@ get_module_path (void)
|
||||
if (home_dir)
|
||||
home_gtk_dir = g_build_filename (home_dir, ".gtk-3.0", NULL);
|
||||
|
||||
- module_path_env = g_getenv ("GTK_PATH");
|
||||
+ module_path_env = g_getenv ("GTK_PATH64");
|
||||
exe_prefix = g_getenv ("GTK_EXE_PREFIX");
|
||||
|
||||
if (exe_prefix)
|
48
gtk3-bnc129753-localize-font-style-name.patch
Normal file
48
gtk3-bnc129753-localize-font-style-name.patch
Normal file
@ -0,0 +1,48 @@
|
||||
Index: gtk+-2.19.0/gtk/gtkfontbutton.c
|
||||
===================================================================
|
||||
--- gtk+-2.19.0.orig/gtk/gtkfontbutton.c
|
||||
+++ gtk+-2.19.0/gtk/gtkfontbutton.c
|
||||
@@ -893,7 +893,7 @@ gtk_font_button_update_font_info (GtkFon
|
||||
if (style == NULL || !g_ascii_strcasecmp (style, "Regular"))
|
||||
family_style = g_strdup (family);
|
||||
else
|
||||
- family_style = g_strdup_printf ("%s %s", family, style);
|
||||
+ family_style = g_strdup_printf ("%s %s", family, _(style));
|
||||
|
||||
gtk_label_set_text (GTK_LABEL (font_button->priv->font_label), family_style);
|
||||
|
||||
Index: gtk+-2.19.0/gtk/gtkfontsel.c
|
||||
===================================================================
|
||||
--- gtk+-2.19.0.orig/gtk/gtkfontsel.c
|
||||
+++ gtk+-2.19.0/gtk/gtkfontsel.c
|
||||
@@ -76,6 +76,21 @@
|
||||
|
||||
#define DEFAULT_FONT_NAME "Sans 10"
|
||||
|
||||
+/* These are the commonly used font styles, listed here only for
|
||||
+ translations. */
|
||||
+#define FONT_STYLE_ULTRA_LIGHT N_("Ultra-Light")
|
||||
+#define FONT_STYLE_LIGHT N_("Light")
|
||||
+#define FONT_STYLE_MEDIUM N_("Medium")
|
||||
+#define FONT_STYLE_NORMAL N_("Normal")
|
||||
+#define FONT_STYLE_REGULAR N_("Regular")
|
||||
+#define FONT_STYLE_ITALIC N_("Italic")
|
||||
+#define FONT_STYLE_OBLIQUE N_("Oblique")
|
||||
+#define FONT_STYLE_SEMI_BOLD N_("Semi-Bold")
|
||||
+#define FONT_STYLE_BOLD N_("Bold")
|
||||
+#define FONT_STYLE_ULTRA_BOLD N_("Ultra-Bold")
|
||||
+#define FONT_STYLE_HEAVY N_("Heavy")
|
||||
+#define FONT_STYLE_BOLD_ITALIC N_("Bold Italic")
|
||||
+
|
||||
/* This is the initial and maximum height of the preview entry (it expands
|
||||
when large font sizes are selected). Initial height is also the minimum. */
|
||||
#define INITIAL_PREVIEW_HEIGHT 44
|
||||
@@ -869,7 +884,7 @@ gtk_font_selection_show_available_styles
|
||||
gtk_list_store_append (model, &iter);
|
||||
gtk_list_store_set (model, &iter,
|
||||
FACE_COLUMN, faces[i],
|
||||
- FACE_NAME_COLUMN, str,
|
||||
+ FACE_NAME_COLUMN, _(str),
|
||||
-1);
|
||||
|
||||
if (i == 0)
|
267
gtk3-bnc130159-bgo319483-async-font-selection.patch
Normal file
267
gtk3-bnc130159-bgo319483-async-font-selection.patch
Normal file
@ -0,0 +1,267 @@
|
||||
Index: gtk+-2.16.0/gtk/gtkfontsel.c
|
||||
===================================================================
|
||||
--- gtk+-2.16.0.orig/gtk/gtkfontsel.c
|
||||
+++ gtk+-2.16.0/gtk/gtkfontsel.c
|
||||
@@ -588,11 +588,24 @@ static void
|
||||
gtk_font_selection_finalize (GObject *object)
|
||||
{
|
||||
GtkFontSelection *fontsel;
|
||||
+ guint selection_timeout;
|
||||
|
||||
g_return_if_fail (GTK_IS_FONT_SELECTION (object));
|
||||
|
||||
fontsel = GTK_FONT_SELECTION (object);
|
||||
|
||||
+ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "font-selection-timeout"));
|
||||
+ if (selection_timeout)
|
||||
+ g_source_remove (selection_timeout);
|
||||
+
|
||||
+ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "style-selection-timeout"));
|
||||
+ if (selection_timeout)
|
||||
+ g_source_remove (selection_timeout);
|
||||
+
|
||||
+ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "size-selection-timeout"));
|
||||
+ if (selection_timeout)
|
||||
+ g_source_remove (selection_timeout);
|
||||
+
|
||||
gtk_font_selection_ref_family (fontsel, NULL);
|
||||
gtk_font_selection_ref_face (fontsel, NULL);
|
||||
|
||||
@@ -631,6 +644,9 @@ gtk_font_selection_reload_fonts (GtkFont
|
||||
PangoFontDescription *desc;
|
||||
desc = gtk_font_selection_get_font_description (fontsel);
|
||||
|
||||
+ /* Disable selection timeout */
|
||||
+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1));
|
||||
+
|
||||
gtk_font_selection_show_available_fonts (fontsel);
|
||||
gtk_font_selection_show_available_sizes (fontsel, TRUE);
|
||||
gtk_font_selection_show_available_styles (fontsel);
|
||||
@@ -638,6 +654,9 @@ gtk_font_selection_reload_fonts (GtkFont
|
||||
gtk_font_selection_select_font_desc (fontsel, desc, NULL, NULL);
|
||||
gtk_font_selection_scroll_to_selection (fontsel);
|
||||
|
||||
+ /* Enable selection timeout */
|
||||
+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0));
|
||||
+
|
||||
pango_font_description_free (desc);
|
||||
}
|
||||
}
|
||||
@@ -714,10 +733,10 @@ gtk_font_selection_scroll_on_map (GtkWid
|
||||
}
|
||||
|
||||
/* This is called when a family is selected in the list. */
|
||||
-static void
|
||||
-gtk_font_selection_select_font (GtkTreeSelection *selection,
|
||||
- gpointer data)
|
||||
+static gboolean
|
||||
+gtk_font_selection_real_select_font (gpointer data)
|
||||
{
|
||||
+ GtkTreeSelection *selection;
|
||||
GtkFontSelection *fontsel;
|
||||
GtkTreeModel *model;
|
||||
GtkTreeIter iter;
|
||||
@@ -725,7 +744,11 @@ gtk_font_selection_select_font (GtkTreeS
|
||||
const gchar *family_name;
|
||||
#endif
|
||||
|
||||
+ if (!g_object_get_data (G_OBJECT (data), "immediate-selection"))
|
||||
+ GDK_THREADS_ENTER ();
|
||||
+
|
||||
fontsel = GTK_FONT_SELECTION (data);
|
||||
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->family_list));
|
||||
|
||||
if (gtk_tree_selection_get_selected (selection, &model, &iter))
|
||||
{
|
||||
@@ -747,6 +770,40 @@ gtk_font_selection_select_font (GtkTreeS
|
||||
|
||||
g_object_unref (family);
|
||||
}
|
||||
+
|
||||
+ g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (0));
|
||||
+
|
||||
+ if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection"))
|
||||
+ GDK_THREADS_LEAVE ();
|
||||
+
|
||||
+ /* Remove ourselves */
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+gtk_font_selection_select_font (GtkTreeSelection *selection,
|
||||
+ gpointer data)
|
||||
+{
|
||||
+ GtkFontSelection *fontsel;
|
||||
+ guint selection_timeout = 0;
|
||||
+ guint immediate_selection = 0;
|
||||
+
|
||||
+ fontsel = GTK_FONT_SELECTION (data);
|
||||
+ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "font-selection-timeout"));
|
||||
+ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection"));
|
||||
+
|
||||
+ if (selection_timeout)
|
||||
+ g_source_remove (selection_timeout);
|
||||
+
|
||||
+ if (immediate_selection)
|
||||
+ {
|
||||
+ gtk_font_selection_real_select_font (data);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_font, data);
|
||||
+ g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout));
|
||||
+ }
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -949,14 +1006,20 @@ gtk_font_selection_select_best_style (Gt
|
||||
|
||||
|
||||
/* This is called when a style is selected in the list. */
|
||||
-static void
|
||||
-gtk_font_selection_select_style (GtkTreeSelection *selection,
|
||||
- gpointer data)
|
||||
+static gboolean
|
||||
+gtk_font_selection_real_select_style (gpointer data)
|
||||
{
|
||||
- GtkFontSelection *fontsel = GTK_FONT_SELECTION (data);
|
||||
+ GtkTreeSelection *selection;
|
||||
+ GtkFontSelection *fontsel;
|
||||
GtkTreeModel *model;
|
||||
GtkTreeIter iter;
|
||||
|
||||
+ if (!g_object_get_data (G_OBJECT (data), "immediate-selection"))
|
||||
+ GDK_THREADS_ENTER ();
|
||||
+
|
||||
+ fontsel = GTK_FONT_SELECTION (data);
|
||||
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->face_list));
|
||||
+
|
||||
if (gtk_tree_selection_get_selected (selection, &model, &iter))
|
||||
{
|
||||
PangoFontFace *face;
|
||||
@@ -968,6 +1031,40 @@ gtk_font_selection_select_style (GtkTree
|
||||
|
||||
gtk_font_selection_show_available_sizes (fontsel, FALSE);
|
||||
gtk_font_selection_select_best_size (fontsel);
|
||||
+
|
||||
+ g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (0));
|
||||
+
|
||||
+ if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection"))
|
||||
+ GDK_THREADS_LEAVE ();
|
||||
+
|
||||
+ /* Remove ourselves */
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+gtk_font_selection_select_style (GtkTreeSelection *selection,
|
||||
+ gpointer data)
|
||||
+{
|
||||
+ GtkFontSelection *fontsel;
|
||||
+ guint selection_timeout = 0;
|
||||
+ guint immediate_selection = 0;
|
||||
+
|
||||
+ fontsel = GTK_FONT_SELECTION (data);
|
||||
+ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "style-selection-timeout"));
|
||||
+ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection"));
|
||||
+
|
||||
+ if (selection_timeout)
|
||||
+ g_source_remove (selection_timeout);
|
||||
+
|
||||
+ if (immediate_selection)
|
||||
+ {
|
||||
+ gtk_font_selection_real_select_style (data);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_style, data);
|
||||
+ g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout));
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1100,22 +1197,60 @@ gtk_font_selection_size_focus_out (GtkWi
|
||||
}
|
||||
|
||||
/* This is called when a size is selected in the list. */
|
||||
-static void
|
||||
-gtk_font_selection_select_size (GtkTreeSelection *selection,
|
||||
- gpointer data)
|
||||
+static gboolean
|
||||
+gtk_font_selection_real_select_size (gpointer data)
|
||||
{
|
||||
+ GtkTreeSelection *selection;
|
||||
GtkFontSelection *fontsel;
|
||||
GtkTreeModel *model;
|
||||
GtkTreeIter iter;
|
||||
gint new_size;
|
||||
|
||||
+ if (!g_object_get_data (G_OBJECT (data), "immediate-selection"))
|
||||
+ GDK_THREADS_ENTER ();
|
||||
+
|
||||
fontsel = GTK_FONT_SELECTION (data);
|
||||
-
|
||||
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->size_list));
|
||||
+
|
||||
if (gtk_tree_selection_get_selected (selection, &model, &iter))
|
||||
{
|
||||
gtk_tree_model_get (model, &iter, SIZE_COLUMN, &new_size, -1);
|
||||
gtk_font_selection_set_size (fontsel, new_size * PANGO_SCALE);
|
||||
}
|
||||
+
|
||||
+ g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (0));
|
||||
+
|
||||
+ if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection"))
|
||||
+ GDK_THREADS_LEAVE ();
|
||||
+
|
||||
+ /* Remove ourselves */
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+gtk_font_selection_select_size (GtkTreeSelection *selection,
|
||||
+ gpointer data)
|
||||
+{
|
||||
+ GtkFontSelection *fontsel;
|
||||
+ guint selection_timeout = 0;
|
||||
+ guint immediate_selection = 0;
|
||||
+
|
||||
+ fontsel = GTK_FONT_SELECTION (data);
|
||||
+ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "size-selection-timeout"));
|
||||
+ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection"));
|
||||
+
|
||||
+ if (selection_timeout)
|
||||
+ g_source_remove (selection_timeout);
|
||||
+
|
||||
+ if (immediate_selection)
|
||||
+ {
|
||||
+ gtk_font_selection_real_select_size (data);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_size, data);
|
||||
+ g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout));
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1449,6 +1584,9 @@ gtk_font_selection_select_font_desc (Gtk
|
||||
if (!new_family)
|
||||
return FALSE;
|
||||
|
||||
+ /* Disable selection timeout */
|
||||
+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1));
|
||||
+
|
||||
if (pfamily)
|
||||
*pfamily = new_family;
|
||||
else
|
||||
@@ -1499,6 +1637,9 @@ gtk_font_selection_select_font_desc (Gtk
|
||||
|
||||
gtk_font_selection_set_size (fontsel, pango_font_description_get_size (new_desc));
|
||||
|
||||
+ /* Enable selection timeout */
|
||||
+ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0));
|
||||
+
|
||||
return TRUE;
|
||||
}
|
||||
|
94
gtk3-path-local.patch
Normal file
94
gtk3-path-local.patch
Normal file
@ -0,0 +1,94 @@
|
||||
https://bugzilla.novell.com/show_bug.cgi?id=369696
|
||||
|
||||
This patch adds support for /usr/local without setting of GTK_PATH.
|
||||
/usr/local path preference is a behavior expected by FHS.
|
||||
This patch cannot be upstreamed as is:
|
||||
- It needs to be platform dependent.
|
||||
- It needs to solve situation, when prefix != /usr (and maybe add /usr
|
||||
to the search path, but after the default_dir).
|
||||
- There is no consensus for /usr/local/lib x /usr/local/lib64 yet.
|
||||
Defaulting to /usr/local/lib64 may need /usr/local/share/config.site
|
||||
file (bnc#382344).
|
||||
|
||||
Note that the patch it does not provide solution for bi-arch path clash:
|
||||
http://bugzilla.gnome.org/show_bug.cgi?id=153848
|
||||
|
||||
Index: gtk/gtkmodules.c
|
||||
===================================================================
|
||||
--- gtk/gtkmodules.c.orig
|
||||
+++ gtk/gtkmodules.c
|
||||
@@ -58,6 +58,7 @@ get_module_path (void)
|
||||
gchar *home_gtk_dir = NULL;
|
||||
gchar *module_path;
|
||||
gchar *default_dir;
|
||||
+ gchar *local_dir;
|
||||
static gchar **result = NULL;
|
||||
|
||||
if (result)
|
||||
@@ -71,25 +72,32 @@ get_module_path (void)
|
||||
exe_prefix = g_getenv ("GTK_EXE_PREFIX");
|
||||
|
||||
if (exe_prefix)
|
||||
+ {
|
||||
default_dir = g_build_filename (exe_prefix, "lib", "gtk-3.0", NULL);
|
||||
+ local_dir = g_build_filename ("/usr/local", "lib", "gtk-3.0", NULL);
|
||||
+ }
|
||||
else
|
||||
+ {
|
||||
default_dir = g_build_filename (GTK_LIBDIR, "gtk-3.0", NULL);
|
||||
+ local_dir = g_build_filename ("/usr/local", SUSE_HACK_LIB, "gtk-3.0", NULL);
|
||||
+ }
|
||||
|
||||
if (module_path_env && home_gtk_dir)
|
||||
module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
|
||||
- module_path_env, home_gtk_dir, default_dir, NULL);
|
||||
+ module_path_env, home_gtk_dir, local_dir, default_dir, NULL);
|
||||
else if (module_path_env)
|
||||
module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
|
||||
- module_path_env, default_dir, NULL);
|
||||
+ module_path_env, local_dir, default_dir, NULL);
|
||||
else if (home_gtk_dir)
|
||||
module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
|
||||
- home_gtk_dir, default_dir, NULL);
|
||||
+ home_gtk_dir, local_dir, default_dir, NULL);
|
||||
else
|
||||
module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
|
||||
- default_dir, NULL);
|
||||
+ local_dir, default_dir, NULL);
|
||||
|
||||
g_free (home_gtk_dir);
|
||||
g_free (default_dir);
|
||||
+ g_free (local_dir);
|
||||
|
||||
result = pango_split_file_list (module_path);
|
||||
g_free (module_path);
|
||||
Index: gtk/Makefile.am
|
||||
===================================================================
|
||||
--- gtk/Makefile.am.orig
|
||||
+++ gtk/Makefile.am
|
||||
@@ -32,8 +32,10 @@ endif
|
||||
endif
|
||||
endif
|
||||
|
||||
+suse_hack_lib=`echo $(libdir) | sed 's:.*/::'`
|
||||
INCLUDES = \
|
||||
-DG_LOG_DOMAIN=\"Gtk\" \
|
||||
+ -DSUSE_HACK_LIB=\"$(suse_hack_lib)\" \
|
||||
-DGTK_LIBDIR=\"$(libdir)\" \
|
||||
-DGTK_DATADIR=\"$(datadir)\" \
|
||||
-DGTK_DATA_PREFIX=\"$(prefix)\" \
|
||||
Index: gtk/Makefile.in
|
||||
===================================================================
|
||||
--- gtk/Makefile.in.orig
|
||||
+++ gtk/Makefile.in
|
||||
@@ -926,8 +926,10 @@ DIST_SUBDIRS = theme-bits tests
|
||||
@HAVE_CUPS_FALSE@@HAVE_PAPI_CUPS_FALSE@@HAVE_PAPI_TRUE@GTK_PRINT_BACKENDS = file,papi
|
||||
@HAVE_CUPS_TRUE@@HAVE_PAPI_CUPS_FALSE@GTK_PRINT_BACKENDS = file,cups
|
||||
@HAVE_PAPI_CUPS_TRUE@GTK_PRINT_BACKENDS = file,papi,cups
|
||||
+suse_hack_lib=`echo $(libdir) | sed 's:.*/::'`
|
||||
INCLUDES = \
|
||||
-DG_LOG_DOMAIN=\"Gtk\" \
|
||||
+ -DSUSE_HACK_LIB=\"$(suse_hack_lib)\" \
|
||||
-DGTK_LIBDIR=\"$(libdir)\" \
|
||||
-DGTK_DATADIR=\"$(datadir)\" \
|
||||
-DGTK_DATA_PREFIX=\"$(prefix)\" \
|
47
gtk3.changes
Normal file
47
gtk3.changes
Normal file
@ -0,0 +1,47 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 21 21:14:46 CEST 2010 - vuntz@opensuse.org
|
||||
|
||||
- Clean up package.
|
||||
- Improve summaries and descriptions.
|
||||
- Remove _with_gobject define, which isn't needed anymore.
|
||||
- Add README.SUSE for biarch systems.
|
||||
- Add baselibs.conf.
|
||||
- Add missing cups-devel BuildRequires, as well as many explicit
|
||||
pkgconfig() BuildRequires.
|
||||
- Rename gtk3 to gtk3-tools, and split some data files to
|
||||
gtk3-data.
|
||||
- Make libgtk-3_0-0 provide gtk3, and add Requires for gtk3-tools
|
||||
for the post/postun scriptlets. Also add Recommends for branding,
|
||||
data and lang subpackages, as well as gvfs and hicolor-icon-theme
|
||||
for improved user experience.
|
||||
- Add pyxml Requires to devel package, since it's needed by
|
||||
gtk-builder-convert.
|
||||
- Remove hack on gtk-query-immodules-3.0 since there's no need to
|
||||
make it parallel installable, and instead add back the change
|
||||
from gtk2 needed for biarch, where gtk-query-immodules-3.0-64 is
|
||||
used on 64bit systems.
|
||||
- Move %{_sysconfdir}/gtk-3.0/im-multipress.conf to libgtk-3_0-0
|
||||
and gtk-builder-convert-3.0 to devel subpackage.
|
||||
- Add patches based on the gtk2 package:
|
||||
+ gtk3-GTK_PATH64.patch: contains the remaining part of
|
||||
gtk64.patch, to use the GTK_PATH64 environment variable on
|
||||
64bit systems
|
||||
+ gtk3-path-local.patch: based on gtk-path-local.patch
|
||||
+ gtk3-bnc129753-localize-font-style-name.patch: based on
|
||||
bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff
|
||||
+ gtk3-bnc130159-bgo319483-async-font-selection.patch: based on
|
||||
gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff
|
||||
- Add gnome-patch-translation support because of
|
||||
gtk3-bnc129753-localize-font-style-name.patch.
|
||||
- Comments on patches not brought from the gtk2 package:
|
||||
+ bugzilla-131498-allow-xim-for-all-languages.patch: this was a
|
||||
patch to make it possible to set input to Japanese characters
|
||||
on 32bit applications running on a 64bit system. This is
|
||||
needed because somehow, scim-32bit is not installed by default.
|
||||
The right fix is to have scim-32bit installed by default, then.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 7 13:29:32 UTC 2010 - dimstar@opensuse.org
|
||||
|
||||
- Initial package of GTK+ 3.0
|
||||
|
276
gtk3.spec
Normal file
276
gtk3.spec
Normal file
@ -0,0 +1,276 @@
|
||||
#
|
||||
# spec file for package gtk3 (Version 2.90.5)
|
||||
#
|
||||
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2010 Dominique Leuenebrger, Amsterdam, Netherlands
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
|
||||
Name: gtk3
|
||||
%define _name gtk+
|
||||
Version: 2.90.5
|
||||
Release: 1
|
||||
# FIXME: 2.90.5 doesn't compile with parallel build (bgo#624304). Check if this is still true for later versions.
|
||||
License: LGPLv2.1+
|
||||
Summary: The GTK+ toolkit library (version 3)
|
||||
Url: http://www.gtk.org/
|
||||
Group: System/Libraries
|
||||
Source: ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.90/%{_name}-%{version}.tar.bz2
|
||||
Source1: README.SUSE
|
||||
Source2: gtkrc
|
||||
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
|
||||
# PATCH-FIX-OPENSUSE gtk3-path-local.patch Search in /usr/local/%{_lib} by default. bnc369696 bgo534474
|
||||
Patch1: gtk3-path-local.patch
|
||||
# PATCH-FEATURE-UPSTREAM gtk3-bnc129753-localize-font-style-name.patch bnc129753 bgo319484 mfabian@novell.com - Translate the font styles in the GUI
|
||||
Patch2: gtk3-bnc129753-localize-font-style-name.patch
|
||||
# PATCH-FIX-UPSTREAM gtk3-bnc130159-bgo319483-async-font-selection.patch bnc130159 bgo319483 federico@novell.com - Load fonts asynchronously in GtkFontSelection to make it appear faster for CJK languages
|
||||
Patch3: gtk3-bnc130159-bgo319483-async-font-selection.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: cups-devel
|
||||
BuildRequires: gnome-patch-translation
|
||||
BuildRequires: pkgconfig(atk)
|
||||
BuildRequires: pkgconfig(cairo)
|
||||
BuildRequires: pkgconfig(fontconfig)
|
||||
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.21.0
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
||||
BuildRequires: pkgconfig(pango)
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(xcomposite)
|
||||
BuildRequires: pkgconfig(xcursor)
|
||||
BuildRequires: pkgconfig(xdamage)
|
||||
BuildRequires: pkgconfig(xext)
|
||||
BuildRequires: pkgconfig(xfixes)
|
||||
BuildRequires: pkgconfig(xi)
|
||||
BuildRequires: pkgconfig(xinerama)
|
||||
BuildRequires: pkgconfig(xrandr)
|
||||
BuildRequires: pkgconfig(xrender)
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%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 projects to complete application suites.
|
||||
|
||||
%package -n libgtk-3_0-0
|
||||
License: LGPLv2.1+
|
||||
Summary: The GTK+ toolkit library (version 3)
|
||||
Group: System/Libraries
|
||||
# Provide %{name} to make the lang package installable
|
||||
Provides: %{name} = %{version}
|
||||
Requires(post): %{name}-tools
|
||||
Requires(postun): %{name}-tools
|
||||
# gtk+ can work without branding/data/translations. Built in defaults will be used then.
|
||||
Recommends: %{name}-branding
|
||||
Recommends: %{name}-data = %{version}
|
||||
Recommends: %{name}-lang = %{version}
|
||||
Recommends: gvfs
|
||||
Recommends: hicolor-icon-theme
|
||||
|
||||
%description -n libgtk-3_0-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.
|
||||
|
||||
%package tools
|
||||
License: LGPLv2.1+
|
||||
Summary: The GTK+ toolkit library (version 3) -- Tools
|
||||
Group: System/Libraries
|
||||
|
||||
%description tools
|
||||
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 data
|
||||
License: LGPLv2.1+
|
||||
Summary: The GTK+ toolkit library (version 3) -- Data Files
|
||||
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 branding-upstream
|
||||
License: LGPLv2.1+
|
||||
Summary: The GTK+ toolkit library (version 3) -- Branding Files
|
||||
Group: System/Libraries
|
||||
Provides: %{name}-branding = %{version}
|
||||
Conflicts: otherproviders(%{name}-branding)
|
||||
Supplements: packageand(%{name}:branding-upstream)
|
||||
|
||||
%description branding-upstream
|
||||
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 devel
|
||||
License: LGPLv2.1+
|
||||
Summary: The GTK+ toolkit library (version 3) -- Development Files
|
||||
Group: Development/Libraries/X11
|
||||
Requires: libgtk-3_0-0 = %{version}
|
||||
# gtk-builder-convert needs this.
|
||||
Requires: pyxml
|
||||
|
||||
%description devel
|
||||
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 contains the development files for GTK+ 3.x.
|
||||
|
||||
%lang_package
|
||||
%prep
|
||||
%setup -q -n %{_name}-%{version}
|
||||
gnome-patch-translation-prepare
|
||||
%if "%_lib" == "lib64"
|
||||
cp -a %{S:1} .
|
||||
%patch0 -p1
|
||||
%endif
|
||||
%patch1 -p0
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
gnome-patch-translation-update
|
||||
|
||||
%build
|
||||
%configure \
|
||||
--disable-static \
|
||||
--enable-man \
|
||||
--with-xinput=xfree \
|
||||
--enable-introspection
|
||||
# building of gobject-introspection seems to fail with -j 'n>1' (see bgo#624304)
|
||||
#%{__make} %{?_smp_mflags}
|
||||
%{__make}
|
||||
|
||||
%install
|
||||
%makeinstall
|
||||
find %{buildroot}%{_libdir} -name '*.la' -delete -print
|
||||
%find_lang gtk30
|
||||
%find_lang gtk30-properties
|
||||
install -m 644 -D %{S:2} %{buildroot}%{_sysconfdir}/gtk-3.0/gtkrc
|
||||
touch %{buildroot}%{_libdir}/gtk-3.0/3.0.0/immodules.cache
|
||||
%if "%_lib" == "lib64"
|
||||
mv %{buildroot}%{_bindir}/gtk-query-immodules-3.0 %{buildroot}%{_bindir}/gtk-query-immodules-3.0-64
|
||||
mv %{buildroot}%{_mandir}/man1/gtk-query-immodules-3.0.1 %{buildroot}%{_mandir}/man1/gtk-query-immodules-3.0-64.1
|
||||
%endif
|
||||
%fdupes %{buildroot}%{_datadir}
|
||||
%fdupes %{buildroot}%{_libdir}
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
# In case libgtk-3_0-0 gets installed before
|
||||
# gtk3-tools, we don't want to fail. So we make the call to
|
||||
# gtk-query-immodules-3.0 dependent on the existence of
|
||||
# the binary. This is why we also have a %post for
|
||||
# gtk3-tools.
|
||||
|
||||
%post -n libgtk-3_0-0
|
||||
/sbin/ldconfig
|
||||
%if "%_lib" == "lib64"
|
||||
test -f %{_bindir}/gtk-query-immodules-3.0-64 && %{_bindir}/gtk-query-immodules-3.0-64 --update-cache
|
||||
%else
|
||||
test -f %{_bindir}/gtk-query-immodules-3.0 && %{_bindir}/gtk-query-immodules-3.0 --update-cache
|
||||
%endif
|
||||
|
||||
# If we install gtk3-tools for the first time,
|
||||
# then we should run it in case libgtk-3_0-0 was installed
|
||||
# first (ie, if %{_libdir}/gtk-3.0/3.0.0 already exists) which means
|
||||
# gtk-query-immodules-3.0 couldn't run there.
|
||||
|
||||
%post tools
|
||||
if [ $1 == 1 ]; then
|
||||
test -d %{_libdir}/gtk-3.0/3.0.0
|
||||
if test $? -eq 0; then
|
||||
%if "%_lib" == "lib64"
|
||||
%{_bindir}/gtk-query-immodules-3.0-64 --update-cache
|
||||
%else
|
||||
%{_bindir}/gtk-query-immodules-3.0 --update-cache
|
||||
%endif
|
||||
fi
|
||||
fi
|
||||
|
||||
# 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
|
||||
|
||||
%postun -n libgtk-3_0-0 -p /sbin/ldconfig
|
||||
|
||||
%files -n libgtk-3_0-0
|
||||
%defattr(-, root, root)
|
||||
%doc AUTHORS COPYING README NEWS ChangeLog
|
||||
%if "%_lib" == "lib64"
|
||||
%doc README.SUSE
|
||||
%endif
|
||||
%config %{_sysconfdir}/gtk-3.0/im-multipress.conf
|
||||
%dir %{_libdir}/gtk-3.0
|
||||
%dir %{_libdir}/gtk-3.0/3.0.0
|
||||
%{_libdir}/gtk-3.0/modules/
|
||||
%{_libdir}/gtk-3.0/3.0.0/engines/
|
||||
%{_libdir}/gtk-3.0/3.0.0/immodules/
|
||||
%{_libdir}/gtk-3.0/3.0.0/printbackends/
|
||||
%ghost %{_libdir}/gtk-3.0/3.0.0/immodules.cache
|
||||
%{_libdir}/libgailutil-3.0.so.*
|
||||
%{_libdir}/libgdk-x11-3.0.so.*
|
||||
%{_libdir}/libgtk-x11-3.0.so.*
|
||||
%{_libdir}/girepository-1.0/*.typelib
|
||||
|
||||
%files tools
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/gtk-query-immodules-3.0*
|
||||
%{_bindir}/gtk-update-icon-cache-3.0
|
||||
%{_mandir}/man1/gtk-query-immodules-3.0*.1*
|
||||
%{_mandir}/man1/gtk-update-icon-cache-3.0.1*
|
||||
|
||||
%files data
|
||||
%defattr(-,root,root)
|
||||
%{_datadir}/themes/Default/gtk-3.0-key/gtkrc
|
||||
%{_datadir}/themes/Emacs/gtk-3.0-key/gtkrc
|
||||
%{_datadir}/themes/Raleigh/gtk-3.0/gtkrc
|
||||
|
||||
%files branding-upstream
|
||||
%defattr(-,root,root)
|
||||
%config %{_sysconfdir}/gtk-3.0/gtkrc
|
||||
|
||||
%files lang -f gtk30.lang -f gtk30-properties.lang
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%doc %{_datadir}/gtk-doc/html/*
|
||||
%{_bindir}/gtk3-demo
|
||||
%{_bindir}/gtk-builder-convert-3.0
|
||||
%{_mandir}/man1/gtk-builder-convert-3.0.1*
|
||||
%{_datadir}/aclocal/gtk-3.0.m4
|
||||
%dir %{_datadir}/gtk-3.0
|
||||
%{_datadir}/gtk-3.0/demo/
|
||||
%{_datadir}/gir-1.0/*.gir
|
||||
%{_includedir}/gail-3.0/
|
||||
%{_includedir}/gtk-3.0/
|
||||
%{_libdir}/gtk-3.0/include/
|
||||
%{_libdir}/pkgconfig/gail-3.0.pc
|
||||
%{_libdir}/pkgconfig/gdk-3.0.pc
|
||||
%{_libdir}/pkgconfig/gdk-x11-3.0.pc
|
||||
%{_libdir}/pkgconfig/gtk+-3.0.pc
|
||||
%{_libdir}/pkgconfig/gtk+-unix-print-3.0.pc
|
||||
%{_libdir}/pkgconfig/gtk+-x11-3.0.pc
|
||||
%{_libdir}/libgailutil-3.0.so
|
||||
%{_libdir}/libgdk-x11-3.0.so
|
||||
%{_libdir}/libgtk-x11-3.0.so
|
||||
|
||||
%changelog
|
11
gtkrc
Normal file
11
gtkrc
Normal file
@ -0,0 +1,11 @@
|
||||
#
|
||||
# gtkrc file allows you to define system wide defaults for all GTK+ applications.
|
||||
# This file is branding specific.
|
||||
#
|
||||
# For complete list of available settings see the Resource Files chapter in the
|
||||
# GTK+ documentation.
|
||||
#
|
||||
# You most probably want:
|
||||
#gtk-theme-name = ""
|
||||
#gtk-icon-theme-name = ""
|
||||
#gtk-fallback-icon-theme = "gnome"
|
Loading…
Reference in New Issue
Block a user