gnu: gtk+-2: Look in system data dirs for themes.
* gnu/packages/patches/gtk2-theme-paths.patch: New patch. * gnu/packages/gtk.scm (gtk+-2)[source]: Use it. * gnu-system.am (dist_patch_DATA): Add it. Signed-off-by: 宋文武 <iyzsong@gmail.com>
This commit is contained in:
		
							parent
							
								
									2f52438403
								
							
						
					
					
						commit
						dbc3860ceb
					
				
					 3 changed files with 44 additions and 1 deletions
				
			
		|  | @ -513,6 +513,7 @@ dist_patch_DATA =						\ | |||
|   gnu/packages/patches/guile-relocatable.patch			\ | ||||
|   gnu/packages/patches/guile-rsvg-pkgconfig.patch		\ | ||||
|   gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch	\ | ||||
|   gnu/packages/patches/gtk2-theme-paths.patch			\ | ||||
|   gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch	\ | ||||
|   gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ | ||||
|   gnu/packages/patches/hop-bigloo-4.0b.patch			\ | ||||
|  |  | |||
|  | @ -557,7 +557,8 @@ is part of the GNOME accessibility project.") | |||
|             (sha256 | ||||
|              (base32 | ||||
|               "0l6aqk86aw5w132ygy6hv6nlxvd1h6xg7c85qbm60p6mnv1ww58d")) | ||||
|             (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch")))) | ||||
|             (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch" | ||||
|                                      "gtk2-theme-paths.patch")))) | ||||
|    (build-system gnu-build-system) | ||||
|    (outputs '("out" "doc")) | ||||
|    (propagated-inputs | ||||
|  |  | |||
							
								
								
									
										41
									
								
								gnu/packages/patches/gtk2-theme-paths.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								gnu/packages/patches/gtk2-theme-paths.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,41 @@ | |||
| From: Jookia <166291@gmail.com> | ||||
| Subject: [PATCHv2] gtk: Patch GTK+ to look for themes in profiles. | ||||
| To: guix-devel@gnu.org | ||||
| Date: Sun, 13 Mar 2016 15:17:37 +1100 | ||||
| Url: https://lists.gnu.org/archive/html/guix-devel/2016-03/msg00492.html | ||||
| 
 | ||||
| diff -Naur gtk+-2.24.28.new/gtk/gtkrc.c gtk+-2.24.28/gtk/gtkrc.c
 | ||||
| --- gtk+-2.24.28.new/gtk/gtkrc.c	2016-03-13 10:31:14.413644362 +1100
 | ||||
| +++ gtk+-2.24.28/gtk/gtkrc.c	2016-03-13 12:51:34.723398423 +1100
 | ||||
| @@ -808,6 +808,8 @@
 | ||||
|    gchar *path = NULL; | ||||
|    const gchar *home_dir; | ||||
|    gchar *subpath; | ||||
| +  const gchar * const *xdg_data_dirs;
 | ||||
| +  gint i;
 | ||||
|   | ||||
|    if (type) | ||||
|      subpath = g_strconcat ("gtk-2.0-", type, | ||||
| @@ -830,6 +832,22 @@
 | ||||
|      } | ||||
|   | ||||
|    if (!path) | ||||
| +    {
 | ||||
| +      xdg_data_dirs = g_get_system_data_dirs ();
 | ||||
| +      for (i = 0; xdg_data_dirs[i]; i++)
 | ||||
| +        {
 | ||||
| +          path = g_build_filename (xdg_data_dirs[i], "themes", name, subpath, NULL);
 | ||||
| +          if (g_file_test (path, G_FILE_TEST_EXISTS))
 | ||||
| +            break;
 | ||||
| +          else
 | ||||
| +            {
 | ||||
| +              g_free (path);
 | ||||
| +              path = NULL;
 | ||||
| +            }
 | ||||
| +        }
 | ||||
| +    }
 | ||||
| +
 | ||||
| +  if (!path)
 | ||||
|      { | ||||
|        gchar *theme_dir = gtk_rc_get_theme_dir (); | ||||
|        path = g_build_filename (theme_dir, name, subpath, NULL); | ||||
		Reference in a new issue