diff options
Diffstat (limited to 'source/xap/xfce')
-rw-r--r-- | source/xap/xfce/patches/exo_quoting_fix.diff | 66 | ||||
-rw-r--r-- | source/xap/xfce/patches/launcher-plugin-migrate-icon-cat.diff | 48 | ||||
-rw-r--r-- | source/xap/xfce/patches/migrate-itheme-smartly.diff | 92 | ||||
-rw-r--r-- | source/xap/xfce/patches/terminal-0.4.0-fixup_docdir.diff | 132 | ||||
-rw-r--r-- | source/xap/xfce/patches/terminal.gtk.2.18.fix.diff | 101 | ||||
-rw-r--r-- | source/xap/xfce/patches/thunar-1.0.1-png14.diff | 11 | ||||
-rw-r--r-- | source/xap/xfce/patches/thunar-fix_umask_properly.diff | 52 | ||||
-rw-r--r-- | source/xap/xfce/patches/xfce-utils.xinitrc.consolekit.diff | 11 | ||||
-rw-r--r-- | source/xap/xfce/patches/xfce4-settings.libxklavier5.diff | 11 | ||||
-rwxr-xr-x | source/xap/xfce/xfce.SlackBuild | 65 |
10 files changed, 234 insertions, 355 deletions
diff --git a/source/xap/xfce/patches/exo_quoting_fix.diff b/source/xap/xfce/patches/exo_quoting_fix.diff deleted file mode 100644 index ac654457..00000000 --- a/source/xap/xfce/patches/exo_quoting_fix.diff +++ /dev/null @@ -1,66 +0,0 @@ -Index: exo-open/main.c -=================================================================== ---- exo-open/main.c (revision 30250) -+++ exo-open/main.c (revision 30251) -@@ -36,7 +36,17 @@ - #include <exo/exo.h> - - -+/** -+ * For testing this code the following commands should work: -+ * -+ * exo-open --launch WebBrowser http://xfce.org (bug #5461). -+ * exo-open http://xfce.org -+ * exo-open --launch TerminalEmulator ./script.sh 'something with a space' 'nospace' (bug #5132). -+ * exo-open --launch TerminalEmulator ssh -l username some.host.com -+ **/ - -+ -+ - static gboolean opt_help = FALSE; - static gboolean opt_version = FALSE; - static gchar *opt_launch = NULL; -@@ -143,6 +153,8 @@ - { - if (argc > 1) - { -+ /* NOTE: see the comment at the top of this document! */ -+ - /* combine all specified parameters to one parameter string */ - join = g_string_new (NULL); - for (i = 1; argv[i] != NULL; i++) -@@ -150,11 +162,18 @@ - /* separate the arguments */ - if (i > 1) - join = g_string_append_c (join, ' '); -- -- /* append the quoted argument */ -- quoted = g_shell_quote (argv[i]); -- join = g_string_append (join, quoted); -- g_free (quoted); -+ -+ /* only quote arguments with spaces */ -+ if (strchr (argv[i], ' ') != NULL) -+ { -+ quoted = g_shell_quote (argv[i]); -+ join = g_string_append (join, quoted); -+ g_free (quoted); -+ } -+ else -+ { -+ join = g_string_append (join, argv[i]); -+ } - } - parameter = g_string_free (join, FALSE); - } -@@ -163,6 +182,10 @@ - parameter = NULL; - } - -+#ifndef NDEBUG -+ g_message ("launch=%s, wd=%s, parameters (%d)=%s", opt_launch, opt_working_directory, argc, parameter); -+#endif -+ - /* run the preferred application */ - if (!exo_execute_preferred_application (opt_launch, parameter, opt_working_directory, NULL, &err)) - { diff --git a/source/xap/xfce/patches/launcher-plugin-migrate-icon-cat.diff b/source/xap/xfce/patches/launcher-plugin-migrate-icon-cat.diff deleted file mode 100644 index 4370281a..00000000 --- a/source/xap/xfce/patches/launcher-plugin-migrate-icon-cat.diff +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/plugins/launcher/launcher.c b/plugins/launcher/launcher.c -index 8edc66c..1e370c4 100644 ---- a/plugins/launcher/launcher.c -+++ b/plugins/launcher/launcher.c -@@ -37,6 +37,30 @@ - #include "launcher-exec.h" - #include "launcher-dialog.h" - -+/* for 4.4 settings migration */ -+static const gchar *icon_category_map[] = { -+ "applications-other", -+ "accessories-text-editor", -+ "system-file-manager", -+ "applications-accessories", -+ "applications-games", -+ "help-browser", -+ "applications-multimedia", -+ "applications-internet", -+ "applications-graphics", -+ "printer", -+ "office-calendar", -+ "applications-office", -+ "audio-card", -+ "utilities-terminal", -+ "applications-development", -+ "preferences-desktop", -+ "applications-system", -+ "applications-other", -+ "applications-accessories", -+}; -+#define ICON_CATEGORY_MAP_MAX (G_N_ELEMENTS (icon_category_map) - 1) -+ - /* prototypes */ - static void launcher_utility_icon_theme_changed (GtkIconTheme *icon_theme, - LauncherPlugin *launcher); -@@ -1216,6 +1240,12 @@ launcher_plugin_read (LauncherPlugin *launcher) - entry->name = launcher_plugin_read_entry (rc, "Name"); - entry->comment = launcher_plugin_read_entry (rc, "Comment"); - entry->icon = launcher_plugin_read_entry (rc, "Icon"); -+ if (G_UNLIKELY (!entry->icon)) -+ { -+ gint icon_category = xfce_rc_read_int_entry (rc, "X-XFCE-IconCategory", -1); -+ if (G_LIKELY (icon_category >= 0 && icon_category <= ICON_CATEGORY_MAP_MAX)) -+ entry->icon = g_strdup (icon_category_map[icon_category]); -+ } - entry->exec = launcher_plugin_read_entry (rc, "Exec"); - entry->path = launcher_plugin_read_entry (rc, "Path"); - diff --git a/source/xap/xfce/patches/migrate-itheme-smartly.diff b/source/xap/xfce/patches/migrate-itheme-smartly.diff deleted file mode 100644 index e9c66ed2..00000000 --- a/source/xap/xfce/patches/migrate-itheme-smartly.diff +++ /dev/null @@ -1,92 +0,0 @@ -Index: scripts/xfconf-migration-4.6.pl.in -=================================================================== ---- a/scripts/xfconf-migration-4.6.pl.in (revision 29645) -+++ b/scripts/xfconf-migration-4.6.pl.in (working copy) -@@ -256,6 +256,77 @@ - return $mcs.'.xml'; - } - -+sub icon_theme_exists -+{ -+ my ($dirref,$themename) = @_; -+ my @dirs = @{$dirref}; -+ -+ foreach my $d (@dirs) { -+ return 1 if(-f "$d/$themename/index.theme"); -+ } -+ -+ return 0; -+} -+ -+sub migrate_icon_theme -+{ -+ my ($ref,$chan) = @_; -+ my %opts = %{$ref}; -+ my $opt = 'Net/IconThemeName'; -+ -+ return if(!defined($opts{$opt})); -+ my $val = $opts{$opt}->{'value'}; -+ -+ if(lc($val) eq 'rodent') { -+ # we don't ship rodent anymore, so try to find something suitable -+ my @icondirs; -+ if(defined($ENV{'XDG_DATA_HOME'})) { -+ @icondirs = ( $ENV{'XDG_DATA_HOME'} . '/icons' ); -+ } else { -+ @icondirs = ( $ENV{'HOME'} . '/.local/share/icons' ); -+ } -+ -+ if(defined($ENV{'XDG_DATA_DIRS'})) { -+ push(@icondirs, split(/:/, $ENV{'XDG_DATA_DIRS'})); -+ } else { -+ push(@icondirs, ( '/usr/share/icons', '/usr/local/share/icons' )); -+ } -+ -+ $val = undef; -+ foreach my $itheme (('Tango', 'gnome', 'crystalsvg')) { -+ if(icon_theme_exists(\@icondirs, $itheme)) { -+ $val = $itheme; -+ last; -+ } -+ } -+ -+ if(!defined($val)) { -+ # pick the first one that is not 'hicolor' -+ foreach my $d (@icondirs) { -+ opendir(DIR, $d) and do { -+ my @subdirs = grep { $_ ne 'hicolor' && -d "$d/$_" } readdir(DIR); -+ foreach my $sd (@subdirs) { -+ if(-f "$d/$sd/index.theme") { -+ $val = $sd; -+ last; -+ } -+ } -+ closedir(DIR); -+ }; -+ last if(defined($val)); -+ } -+ -+ if(!defined($val)) { -+ # ok, their system is kinda b0rked; not much we can do -+ warn("Couldn't find a suitable icon theme to migrate to"); -+ return; -+ } -+ } -+ } -+ -+ xfconf_set($chan, 'string', '/Net/IconThemeName', $val); -+} -+ - sub migrate_xsettings - { - my $mcs = 'gtk'; -@@ -283,8 +354,7 @@ - '/Net/CursorBlinkTime', 'int'); - save_xfconf_prop($ref, $chan, 'Net/DndDragThreshold', - '/Net/DndDragThreshold', 'int'); -- save_xfconf_prop($ref, $chan, 'Net/IconThemeName', -- '/Net/IconThemeName', 'string'); -+ migrate_icon_theme($ref, $chan); - save_xfconf_prop($ref, $chan, 'Net/ThemeName', - '/Net/ThemeName', 'string'); - diff --git a/source/xap/xfce/patches/terminal-0.4.0-fixup_docdir.diff b/source/xap/xfce/patches/terminal-0.4.0-fixup_docdir.diff deleted file mode 100644 index d9608470..00000000 --- a/source/xap/xfce/patches/terminal-0.4.0-fixup_docdir.diff +++ /dev/null @@ -1,132 +0,0 @@ -diff -Nur Terminal-0.4.0.orig/Makefile.in Terminal-0.4.0/Makefile.in ---- Terminal-0.4.0.orig/Makefile.in 2009-07-20 13:04:04.000000000 -0500 -+++ Terminal-0.4.0/Makefile.in 2009-07-20 13:50:20.529864039 -0500 -@@ -986,7 +986,7 @@ - - TerminalHelp: TerminalHelp.in Makefile - rm -f TerminalHelp.gen TerminalHelp -- sed -e "s,\@datadir\@,$(datadir),g" \ -+ sed -e "s,\@docdir\@,$(docdir),g" \ - < $(srcdir)/TerminalHelp.in \ - > TerminalHelp.gen - mv TerminalHelp.gen TerminalHelp -diff -Nur Terminal-0.4.0.orig/TerminalHelp.in Terminal-0.4.0/TerminalHelp.in ---- Terminal-0.4.0.orig/TerminalHelp.in 2009-07-20 13:03:50.000000000 -0500 -+++ Terminal-0.4.0/TerminalHelp.in 2009-07-20 13:50:20.529864039 -0500 -@@ -19,7 +19,7 @@ - # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - # - --HELPDIR="@datadir@/doc/Terminal/" -+HELPDIR="@docdir@/" - - if test -n "$LC_ALL"; then - LC=$LC_ALL -diff -Nur Terminal-0.4.0.orig/doc/C/Makefile.in Terminal-0.4.0/doc/C/Makefile.in ---- Terminal-0.4.0.orig/doc/C/Makefile.in 2009-07-20 13:04:02.000000000 -0500 -+++ Terminal-0.4.0/doc/C/Makefile.in 2009-07-20 13:50:20.533867320 -0500 -@@ -260,7 +260,7 @@ - SUBDIRS = \ - images - --TARGET_DIR = $(datadir)/doc/Terminal/C -+TARGET_DIR = $(docdir)/C - STYLESHEET = ../terminal.xsl - DOCUMENT = Terminal.xml - -diff -Nur Terminal-0.4.0.orig/doc/C/images/Makefile.in Terminal-0.4.0/doc/C/images/Makefile.in ---- Terminal-0.4.0.orig/doc/C/images/Makefile.in 2009-07-20 13:04:02.000000000 -0500 -+++ Terminal-0.4.0/doc/C/images/Makefile.in 2009-07-20 13:50:20.533867320 -0500 -@@ -240,7 +240,7 @@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --imagesdir = $(datadir)/doc/Terminal/C/images -+imagesdir = $(docdir)/C/images - images_DATA = \ - terminal-compose-shortcut.png \ - terminal-edit-preferences.png \ -diff -Nur Terminal-0.4.0.orig/doc/Makefile.in Terminal-0.4.0/doc/Makefile.in ---- Terminal-0.4.0.orig/doc/Makefile.in 2009-07-20 13:04:02.000000000 -0500 -+++ Terminal-0.4.0/doc/Makefile.in 2009-07-20 13:51:00.229192942 -0500 -@@ -286,7 +286,7 @@ - fr \ - ja - --cssdir = $(datadir)/doc/Terminal -+cssdir = $(docdir)/ - css_DATA = \ - terminal.css - -diff -Nur Terminal-0.4.0.orig/doc/da/Makefile.in Terminal-0.4.0/doc/da/Makefile.in ---- Terminal-0.4.0.orig/doc/da/Makefile.in 2009-07-20 13:04:02.000000000 -0500 -+++ Terminal-0.4.0/doc/da/Makefile.in 2009-07-20 13:50:20.533867320 -0500 -@@ -260,7 +260,7 @@ - SUBDIRS = \ - images - --TARGET_DIR = $(datadir)/doc/Terminal/da -+TARGET_DIR = $(docdir)/da - STYLESHEET = ../terminal.xsl - DOCUMENT = Terminal.xml - -diff -Nur Terminal-0.4.0.orig/doc/da/images/Makefile.in Terminal-0.4.0/doc/da/images/Makefile.in ---- Terminal-0.4.0.orig/doc/da/images/Makefile.in 2009-07-20 13:04:02.000000000 -0500 -+++ Terminal-0.4.0/doc/da/images/Makefile.in 2009-07-20 13:50:20.533867320 -0500 -@@ -240,7 +240,7 @@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --imagesdir = $(datadir)/doc/Terminal/da/images -+imagesdir = $(docdir)/da/images - images_DATA = \ - terminal-compose-shortcut.png \ - terminal-edit-preferences.png \ -diff -Nur Terminal-0.4.0.orig/doc/fr/Makefile.in Terminal-0.4.0/doc/fr/Makefile.in ---- Terminal-0.4.0.orig/doc/fr/Makefile.in 2009-07-20 13:04:02.000000000 -0500 -+++ Terminal-0.4.0/doc/fr/Makefile.in 2009-07-20 13:50:20.533867320 -0500 -@@ -260,7 +260,7 @@ - SUBDIRS = \ - images - --TARGET_DIR = $(datadir)/doc/Terminal/fr -+TARGET_DIR = $(docdir)/fr - STYLESHEET = ../terminal.xsl - DOCUMENT = Terminal.xml - -diff -Nur Terminal-0.4.0.orig/doc/fr/images/Makefile.in Terminal-0.4.0/doc/fr/images/Makefile.in ---- Terminal-0.4.0.orig/doc/fr/images/Makefile.in 2009-07-20 13:04:03.000000000 -0500 -+++ Terminal-0.4.0/doc/fr/images/Makefile.in 2009-07-20 13:50:20.533867320 -0500 -@@ -240,7 +240,7 @@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --imagesdir = $(datadir)/doc/Terminal/fr/images -+imagesdir = $(docdir)/fr/images - images_DATA = \ - terminal-compose-shortcut.png \ - terminal-edit-preferences.png \ -diff -Nur Terminal-0.4.0.orig/doc/ja/Makefile.in Terminal-0.4.0/doc/ja/Makefile.in ---- Terminal-0.4.0.orig/doc/ja/Makefile.in 2009-07-20 13:04:03.000000000 -0500 -+++ Terminal-0.4.0/doc/ja/Makefile.in 2009-07-20 13:50:20.537889876 -0500 -@@ -260,7 +260,7 @@ - SUBDIRS = \ - images - --TARGET_DIR = $(datadir)/doc/Terminal/ja -+TARGET_DIR = $(docdir)/ja - STYLESHEET = ../terminal.xsl - DOCUMENT = Terminal.xml - -diff -Nur Terminal-0.4.0.orig/doc/ja/images/Makefile.in Terminal-0.4.0/doc/ja/images/Makefile.in ---- Terminal-0.4.0.orig/doc/ja/images/Makefile.in 2009-07-20 13:04:03.000000000 -0500 -+++ Terminal-0.4.0/doc/ja/images/Makefile.in 2009-07-20 13:50:20.537889876 -0500 -@@ -240,7 +240,7 @@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --imagesdir = $(datadir)/doc/Terminal/ja/images -+imagesdir = $(docdir)/ja/images - images_DATA = \ - terminal-compose-shortcut.png \ - terminal-edit-preferences.png \ diff --git a/source/xap/xfce/patches/terminal.gtk.2.18.fix.diff b/source/xap/xfce/patches/terminal.gtk.2.18.fix.diff new file mode 100644 index 00000000..69a9e70e --- /dev/null +++ b/source/xap/xfce/patches/terminal.gtk.2.18.fix.diff @@ -0,0 +1,101 @@ +From 028dc2efd846defe796c7fa097ed84818bb43431 Mon Sep 17 00:00:00 2001 +From: Nick Schermer <nick@xfce.org> +Date: Sun, 21 Mar 2010 22:05:31 +0000 +Subject: Disconnect bindings before closing the dialog. + +This avoids possible problems when Gtk+ emits property +changes before the widgets are destroyed. This is currently +the case for text entries in some Gtk 2.18 releases. +--- +diff --git a/terminal/terminal-preferences-dialog.c b/terminal/terminal-preferences-dialog.c +index 587bd92..8f33628 100644 +--- a/terminal/terminal-preferences-dialog.c ++++ b/terminal/terminal-preferences-dialog.c +@@ -64,24 +64,28 @@ terminal_preferences_dialog_class_init (TerminalPreferencesDialogClass *klass) + + + #define BIND_PROPERTIES(name, property) \ +- { object = gtk_builder_get_object (GTK_BUILDER (dialog), name); \ ++ G_STMT_START { \ ++ object = gtk_builder_get_object (GTK_BUILDER (dialog), name); \ + terminal_return_if_fail (G_IS_OBJECT (object)); \ +- exo_mutual_binding_new (G_OBJECT (dialog->preferences), name, \ +- G_OBJECT (object), property); } ++ binding = exo_mutual_binding_new (G_OBJECT (dialog->preferences), name, \ ++ G_OBJECT (object), property); \ ++ dialog->bindings = g_slist_prepend (dialog->bindings, binding); \ ++ } G_STMT_END + + + + static void + terminal_preferences_dialog_init (TerminalPreferencesDialog *dialog) + { +- GError *error = NULL; +- guint i; +- GObject *object, *object2; +- GtkWidget *editor; +- gchar palette_name[16]; +- GtkFileFilter *filter; +- gchar *file; +- const gchar *props_active[] = { "title-mode", "command-login-shell", ++ GError *error = NULL; ++ guint i; ++ GObject *object, *object2; ++ GtkWidget *editor; ++ gchar palette_name[16]; ++ GtkFileFilter *filter; ++ gchar *file; ++ ExoMutualBinding *binding; ++ const gchar *props_active[] = { "title-mode", "command-login-shell", + "command-update-records", "scrolling-single-line", + "scrolling-on-output", "scrolling-on-keystroke", + "scrolling-bar", "font-allow-bold", +@@ -94,9 +98,9 @@ terminal_preferences_dialog_init (TerminalPreferencesDialog *dialog) + , "font-anti-alias" + #endif + }; +- const gchar *props_color[] = { "color-foreground", "color-cursor", +- "color-background", "tab-activity-color", +- "color-selection" }; ++ const gchar *props_color[] = { "color-foreground", "color-cursor", ++ "color-background", "tab-activity-color", ++ "color-selection" }; + + dialog->preferences = terminal_preferences_get (); + +@@ -248,6 +252,8 @@ terminal_preferences_dialog_response (GtkWidget *widget, + gint response, + TerminalPreferencesDialog *dialog) + { ++ GSList *li; ++ + /* check if we should open the user manual */ + if (G_UNLIKELY (response == 1)) + { +@@ -256,6 +262,11 @@ terminal_preferences_dialog_response (GtkWidget *widget, + } + else + { ++ /* disconnect all the bindings */ ++ for (li = dialog->bindings; li != NULL; li = li->next) ++ exo_mutual_binding_unbind (li->data); ++ g_slist_free (dialog->bindings); ++ + /* close the preferences dialog */ + gtk_widget_destroy (widget); + } +diff --git a/terminal/terminal-preferences-dialog.h b/terminal/terminal-preferences-dialog.h +index b2db4f5..268d70a 100644 +--- a/terminal/terminal-preferences-dialog.h ++++ b/terminal/terminal-preferences-dialog.h +@@ -48,6 +48,7 @@ struct _TerminalPreferencesDialog + + TerminalPreferences *preferences; + guint signal_id; ++ GSList *bindings; + }; + + GType terminal_preferences_dialog_get_type (void) G_GNUC_CONST; +-- +cgit v0.8.2.1 diff --git a/source/xap/xfce/patches/thunar-1.0.1-png14.diff b/source/xap/xfce/patches/thunar-1.0.1-png14.diff new file mode 100644 index 00000000..6c67a407 --- /dev/null +++ b/source/xap/xfce/patches/thunar-1.0.1-png14.diff @@ -0,0 +1,11 @@ +--- ./thunar-vfs/thunar-vfs-thumb.c.orig 2009-01-12 14:38:49.000000000 -0600 ++++ ./thunar-vfs/thunar-vfs-thumb.c 2010-02-12 13:24:33.000000000 -0600 +@@ -1169,7 +1169,7 @@ + goto done0; + + /* verify the png signature */ +- if (G_LIKELY (png_check_sig ((png_bytep) signature, sizeof (signature)))) ++ if (G_LIKELY (png_sig_cmp ((png_bytep) signature, 0, sizeof (signature)) == 0)) + rewind (fp); + else + goto done0; diff --git a/source/xap/xfce/patches/thunar-fix_umask_properly.diff b/source/xap/xfce/patches/thunar-fix_umask_properly.diff new file mode 100644 index 00000000..2070b580 --- /dev/null +++ b/source/xap/xfce/patches/thunar-fix_umask_properly.diff @@ -0,0 +1,52 @@ +commit eb58c6a6ba7f77c2c16016db064524df598ef421 +Author: Jannis Pohlmann <jannis@xfce.org> +Date: Sat Oct 3 11:49:41 2009 +0200 + + Fix bugs #3532 (umask < 0022 not honoured) and #5813 properly (I hope). + + The previous patch applied in e53de71e6add9b28ba034111a1d19db7def8f7e7 + made things worse than before: it used DEFFILEMODE which seems to be + BSD-specific for creating files. It also reset the umask to 0 when + creating the first directory with _thunar_vfs_io_jobs_mkdir(). + + What we really want is to use 0777 (dirs) and 0666 (files) and let the + standard C system calls like open() apply the umask value. This should + work on all POSIX-compliant systems. + + Patch provided by Craig Ringer <craig@postnewspapers.com.au>. + +diff --git a/thunar-vfs/thunar-vfs-io-jobs.c b/thunar-vfs/thunar-vfs-io-jobs.c +index 8d70812..c94523a 100644 +--- a/thunar-vfs/thunar-vfs-io-jobs.c ++++ b/thunar-vfs/thunar-vfs-io-jobs.c +@@ -432,8 +432,12 @@ _thunar_vfs_io_jobs_create (ThunarVfsJob *job, + absolute_path = thunar_vfs_path_dup_string (lp->data); + + again: +- /* try to create the file at the given path */ +- fd = g_open (absolute_path, O_CREAT | O_EXCL | O_WRONLY, DEFFILEMODE); ++ /* Try to create the file at the given path. ++ * ++ * Note that despite the 0666 mask, we won't really create a world-writable ++ * file unless the user's umask permits it (ie the umask is 0000). ++ */ ++ fd = g_open (absolute_path, O_CREAT | O_EXCL | O_WRONLY, 0666); + if (G_UNLIKELY (fd < 0)) + { + /* check if the file already exists */ +@@ -707,8 +711,13 @@ _thunar_vfs_io_jobs_mkdir (ThunarVfsJob *job, + /* update the progress information */ + _thunar_vfs_job_process_path (job, lp); + +- /* try to create the target directory */ +- if (!_thunar_vfs_io_ops_mkdir (lp->data, 0777 & ~umask(0), THUNAR_VFS_IO_OPS_NONE, error)) ++ /* try to create the target directory ++ * ++ * Note that the mode specified here is limited by the user's umask, so we will not ++ * actually be creating a world writable directory unless the user's umask permits ++ * it. ++ */ ++ if (!_thunar_vfs_io_ops_mkdir (lp->data, 0777, THUNAR_VFS_IO_OPS_NONE, error)) + return FALSE; + } + diff --git a/source/xap/xfce/patches/xfce-utils.xinitrc.consolekit.diff b/source/xap/xfce/patches/xfce-utils.xinitrc.consolekit.diff new file mode 100644 index 00000000..a8d5b2a5 --- /dev/null +++ b/source/xap/xfce/patches/xfce-utils.xinitrc.consolekit.diff @@ -0,0 +1,11 @@ +--- ./scripts/xinitrc.in.in.orig 2009-04-09 18:21:13.000000000 -0500 ++++ ./scripts/xinitrc.in.in 2010-05-06 03:06:02.000000000 -0500 +@@ -131,7 +131,7 @@ + x|xno*) + ;; + *) +- $xfcesm ++ ck-launch-session $xfcesm + + if test $kill_sshagent -eq 1; then + eval `$sshagent -k` diff --git a/source/xap/xfce/patches/xfce4-settings.libxklavier5.diff b/source/xap/xfce/patches/xfce4-settings.libxklavier5.diff new file mode 100644 index 00000000..d5f8ed8c --- /dev/null +++ b/source/xap/xfce/patches/xfce4-settings.libxklavier5.diff @@ -0,0 +1,11 @@ +--- ./dialogs/keyboard-settings/xfce-keyboard-settings.c.orig 2010-01-02 07:31:06.000000000 -0600 ++++ ./dialogs/keyboard-settings/xfce-keyboard-settings.c 2010-02-12 02:11:05.000000000 -0600 +@@ -457,7 +457,7 @@ + + #ifdef HAVE_LIBXKLAVIER + /* Stop xklavier engine */ +- xkl_engine_stop_listen (settings->priv->xkl_engine); ++ xkl_engine_stop_listen (settings->priv->xkl_engine, XKLL_TRACK_KEYBOARD_STATE); + #endif /* HAVE_LIBXKLAVIER */ + + g_object_unref (settings->priv->provider); diff --git a/source/xap/xfce/xfce.SlackBuild b/source/xap/xfce/xfce.SlackBuild index 2ed8042e..a59aa949 100755 --- a/source/xap/xfce/xfce.SlackBuild +++ b/source/xap/xfce/xfce.SlackBuild @@ -1,7 +1,7 @@ #!/bin/sh # Copyright 2003 Slackware Linux, Inc., Concord, CA, USA -# Copyright 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2007, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,20 +22,35 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. VERSION=4.6.1 -ARCH=${ARCH:-x86_64} -BUILD=${BUILD:-5} +BUILD=${BUILD:-8} # A few tarballs have different versions; handle them here -XDT_VERS=4.6.0 # xfce4-dev-tools version -EXO_VERS=0.3.101 # exo version +XDT_VERS=4.7.2 # xfce4-dev-tools version +# We're going to ship xdt from git (targeting xfce-4.8) since it's not used +# for building release tarballs anyway, but it's handy to have around for +# building from git, and some folks might want to do that later... +EXO_VERS=0.3.106 # exo version THUNAR_VERS=1.0.1 # thunar version GXE_VERS=2.6.0 # gtk-xfce-engine version -TERM_VERS=0.4.0 # terminal version +TERM_VERS=0.4.4 # terminal version MPAD_VERS=0.2.16 # mousepad version XFWMTHEME_VERS=4.6.0 # xfwm4-themes version +SETTINGS_VERS=4.6.4 # xfce4-settings version +PANEL_VERS=4.6.3 # xfce4-panel version +XFCEGUI_VERS=4.6.3 # libxfcegui4 version NUMJOBS=${NUMJOBS:--j6} +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + CWD=$(pwd) TMP=${TMP:-/tmp/xfce-build-dir} PKG=$TMP/package-xfce @@ -49,6 +64,9 @@ elif [ "$ARCH" = "s390" ]; then elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi rm -rf $PKG @@ -66,12 +84,12 @@ for file in \ xfce4-dev-tools-$XDT_VERS.tar.$COMPRESSION \ libxfce4util-$VERSION.tar.$COMPRESSION \ xfconf-$VERSION.tar.$COMPRESSION \ - libxfcegui4-$VERSION.tar.$COMPRESSION \ + libxfcegui4-$XFCEGUI_VERS.tar.$COMPRESSION \ libxfce4menu-$VERSION.tar.$COMPRESSION \ exo-$EXO_VERS.tar.$COMPRESSION \ - xfce4-panel-$VERSION.tar.$COMPRESSION \ + xfce4-panel-$PANEL_VERS.tar.$COMPRESSION \ Thunar-$THUNAR_VERS.tar.$COMPRESSION \ - xfce4-settings-$VERSION.tar.$COMPRESSION \ + xfce4-settings-$SETTINGS_VERS.tar.$COMPRESSION \ xfce4-session-$VERSION.tar.$COMPRESSION \ xfdesktop-$VERSION.tar.$COMPRESSION \ xfwm4-$VERSION.tar.$COMPRESSION \ @@ -100,24 +118,29 @@ do if [ "$file" = "orage-$VERSION.tar.$COMPRESSION" ]; then zcat $CWD/patches/xfcalendar.desktop.in.diff.gz | patch -p1 || exit 1 fi - # Fix http://bugzilla.xfce.org/show_bug.cgi?id=5461 - # and enable python bindings in libexo - if [ "$file" = "exo-$EXO_VERS.tar.$COMPRESSION" ]; then - zcat $CWD/patches/exo_fix_quoting.diff.gz | patch -p0 || exit 1 - PACKAGE_SPECIFIC_OPTIONS="--enable-python" - fi - # Make Terminal respect --docdir + # Fix Terminal's title bar and preferences problems with GTK+ 2.18: if [ "$file" = "Terminal-$TERM_VERS.tar.$COMPRESSION" ]; then - zcat $CWD/patches/terminal-0.4.0-fixup_docdir.diff.gz | patch -p1 || exit 1 + zcat $CWD/patches/terminal.gtk.2.18.fix.diff.gz | patch -p1 || exit 1 fi # Make Thunar respect --docdir if [ "$file" = "Thunar-$THUNAR_VERS.tar.$COMPRESSION" ]; then zcat $CWD/patches/thunar-1.0.1-fixup_docdir.diff.gz | patch -p1 || exit 1 + zcat $CWD/patches/thunar-fix_umask_properly.diff.gz | patch -p1 || exit 1 + # Port to PNG 1.4.0: + zcat $CWD/patches/thunar-1.0.1-png14.diff.gz | patch -p1 || exit 1 fi # Fix the missing education icon in the desktop menu if [ "$file" = "xfdesktop-$VERSION.tar.$COMPRESSION" ]; then zcat $CWD/patches/xfdesktop-fix_education_icon.diff.gz | patch -p1 || exit 1 fi + # Port xfce4-settings to libxklavier-5.x: + if [ "$file" = "xfce4-settings-$SETTINGS_VERS.tar.$COMPRESSION" ]; then + zcat $CWD/patches/xfce4-settings.libxklavier5.diff.gz | patch -p1 || exit 1 + fi + # Launch xfce through consolekit so that ck enabled stuff works in xfce: + if [ "$file" = "xfce-utils-$VERSION.tar.$COMPRESSION" ]; then + zcat $CWD/patches/xfce-utils.xinitrc.consolekit.diff.gz | patch -p1 || exit 1 + fi # End patches/package-specific stuff CFLAGS="$SLKCFLAGS" \ @@ -148,6 +171,14 @@ do $PKG/usr/doc/xfce-$VERSION/$(basename $file .tar.$COMPRESSION) \ 2> /dev/null || true + # If there's a ChangeLog, installing at least part of the recent history + # is useful, but don't let it get totally out of control: + if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/xfce-$VERSION/$(basename $file .tar.$COMPRESSION)) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog + fi + cd - ; done |