Date: Friday, January 24, 2014 @ 06:18:05
  Author: bgyorgy
Revision: 104640

Move xarchiver from unsupported with 174 votes and 11.93 %

Added:
  xarchiver/
  xarchiver/trunk/
  xarchiver/trunk/PKGBUILD
  xarchiver/trunk/xarchiver-0.5.2-add_mime_types.patch
  xarchiver/trunk/xarchiver-0.5.2-add_xz_support.patch
  xarchiver/trunk/xarchiver-0.5.2-disable-rar-support.patch
  xarchiver/trunk/xarchiver-0.5.2-drag-n-drop_escaped_path.patch
  xarchiver/trunk/xarchiver-0.5.2-fix_7z_support.patch
  xarchiver/trunk/xarchiver-0.5.2-no-donators-menu.patch
  xarchiver/trunk/xarchiver-0.5.2-segfault-delete-file.patch
  xarchiver/trunk/xarchiver-0.5.2-segfault-open-with.patch
  xarchiver/trunk/xarchiver.install

------------------------------------------------+
 PKGBUILD                                       |   84 ++++
 xarchiver-0.5.2-add_mime_types.patch           |    9 
 xarchiver-0.5.2-add_xz_support.patch           |  397 +++++++++++++++++++++++
 xarchiver-0.5.2-disable-rar-support.patch      |   35 ++
 xarchiver-0.5.2-drag-n-drop_escaped_path.patch |   13 
 xarchiver-0.5.2-fix_7z_support.patch           |  110 ++++++
 xarchiver-0.5.2-no-donators-menu.patch         |   50 ++
 xarchiver-0.5.2-segfault-delete-file.patch     |   21 +
 xarchiver-0.5.2-segfault-open-with.patch       |   15 
 xarchiver.install                              |   12 
 10 files changed, 746 insertions(+)

Added: xarchiver/trunk/PKGBUILD
===================================================================
--- xarchiver/trunk/PKGBUILD                            (rev 0)
+++ xarchiver/trunk/PKGBUILD    2014-01-24 05:18:05 UTC (rev 104640)
@@ -0,0 +1,84 @@
+# $Id$
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: Andrew Simmons <[email protected]>
+
+pkgname=xarchiver
+pkgver=0.5.2
+pkgrel=6
+pkgdesc="GTK+ frontend to various command line archivers"
+arch=('i686' 'x86_64')
+url="http://xarchiver.sourceforge.net/";
+license=('GPL')
+depends=('gtk2' 'desktop-file-utils')
+makedepends=('intltool')
+optdepends=('zip: ZIP support'
+            'unzip: ZIP support'
+            'p7zip: 7z support'
+            'arj: ARJ support'
+            'lzop: LZOP support'
+            'cpio: RPM support')
+install=xarchiver.install
+source=(http://downloads.sourceforge.net/xarchiver/xarchiver-$pkgver.tar.bz2
+        xarchiver-0.5.2-no-donators-menu.patch
+        xarchiver-0.5.2-add_xz_support.patch
+        xarchiver-0.5.2-segfault-open-with.patch
+        xarchiver-0.5.2-fix_7z_support.patch
+        xarchiver-0.5.2-drag-n-drop_escaped_path.patch
+        xarchiver-0.5.2-segfault-delete-file.patch
+        xarchiver-0.5.2-disable-rar-support.patch
+        xarchiver-0.5.2-add_mime_types.patch)
+md5sums=('2bc7f06403cc6582dd4a8029ec9d038d'
+         '7ef9fe9aee9f0fbc141ed9683e91ea1c'
+         '5d5ef8dd1b8b7790af4ece5fcedcd370'
+         'f9036a44157b318cbc59ed012b04974b'
+         '782f55c1f1021dc02c7739bf8a47336e'
+         'fcd9e04222c5e0ef459977bd7cd0ae4e'
+         'e518b1e0bc4407383aae2783c0c19a04'
+         '10f7f24b177d273dd3153785db8678a2'
+         '573592f04479ed710d3530ca8501f948')
+
+prepare() {
+  cd $pkgname-$pkgver
+
+  # Fix donators menu item (upstream patch)
+  patch -Np2 -i ../xarchiver-0.5.2-no-donators-menu.patch
+
+  # Add XZ support
+  # http://sourceforge.net/p/xarchiver/bugs/28/
+  patch -Np1 -i ../xarchiver-0.5.2-add_xz_support.patch
+
+  # Fix segfault on open with dialog
+  # http://sourceforge.net/p/xarchiver/bugs/52/
+  patch -Np1 -i ../xarchiver-0.5.2-segfault-open-with.patch
+
+  # Fix 7z support
+  # http://sourceforge.net/p/xarchiver/patches/5/
+  patch -Np1 -i ../xarchiver-0.5.2-fix_7z_support.patch
+
+  # Fix extraction when the Drag'n'Drop target path contains spaces
+  patch -Np1 -i ../xarchiver-0.5.2-drag-n-drop_escaped_path.patch
+
+  # Fix segfault when deleting a file
+  patch -Np1 -i ../xarchiver-0.5.2-segfault-delete-file.patch
+
+  # Tempolary disable rar support due to incompatiblity with rar 5.0
+  patch -Np1 -i ../xarchiver-0.5.2-disable-rar-support.patch
+
+  # Add more MIME types in the desktop file
+  patch -Np1 -i ../xarchiver-0.5.2-add_mime_types.patch
+
+  # Update upstream URL
+  find -type f | xargs sed -i 
's|http://xarchiver.xfce.org|http://xarchiver.sf.net|'
+}
+
+build() {
+  cd $pkgname-$pkgver
+  ./configure --prefix=/usr --libexecdir=/usr/lib/xfce4
+  make
+}
+
+package() {
+  cd $pkgname-$pkgver
+  make DESTDIR="$pkgdir" install
+}


Property changes on: xarchiver/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: xarchiver/trunk/xarchiver-0.5.2-add_mime_types.patch
===================================================================
--- xarchiver/trunk/xarchiver-0.5.2-add_mime_types.patch                        
        (rev 0)
+++ xarchiver/trunk/xarchiver-0.5.2-add_mime_types.patch        2014-01-24 
05:18:05 UTC (rev 104640)
@@ -0,0 +1,9 @@
+diff -Naur xarchiver-0.5.2.orig/xarchiver.desktop.in 
xarchiver-0.5.2/xarchiver.desktop.in
+--- xarchiver-0.5.2.orig/xarchiver.desktop.in  2014-01-24 04:05:33.438561000 
+0100
++++ xarchiver-0.5.2/xarchiver.desktop.in       2014-01-24 04:44:00.625750394 
+0100
+@@ -11,4 +11,4 @@
+ X-MultipleArgs=false
+ Categories=GTK;Archiving;Utility;
+ StartupNotify=true
+-MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;multipart/x-zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;
++MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;multipart/x-zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-debian-package;application/x-rpm;

Added: xarchiver/trunk/xarchiver-0.5.2-add_xz_support.patch
===================================================================
--- xarchiver/trunk/xarchiver-0.5.2-add_xz_support.patch                        
        (rev 0)
+++ xarchiver/trunk/xarchiver-0.5.2-add_xz_support.patch        2014-01-24 
05:18:05 UTC (rev 104640)
@@ -0,0 +1,397 @@
+diff -uNr xarchiver-0.5.2.orig/src/add_dialog.c 
xarchiver-0.5.2/src/add_dialog.c
+--- xarchiver-0.5.2.orig/src/add_dialog.c      2008-11-10 19:41:31.000000000 
+0900
++++ xarchiver-0.5.2/src/add_dialog.c   2013-05-11 10:01:47.887094708 +0900
+@@ -209,7 +209,7 @@
+       else
+               gtk_widget_set_size_request (add_dialog->dialog1,530,420);
+ 
+-      if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == 
XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == 
XARCHIVETYPE_LZOP)
++      if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == 
XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == 
XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP)
+               
gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(add_dialog->filechooserwidget1),FALSE);
+       else
+               
gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(add_dialog->filechooserwidget1),TRUE);
+@@ -222,7 +222,7 @@
+       else
+               gtk_widget_set_sensitive(add_dialog->store_path,TRUE);
+       /* 7z doesn't appear to let the user chooses if storing full paths */
+-      if (archive->type == XARCHIVETYPE_7ZIP || archive->type == 
XARCHIVETYPE_LZOP || archive->type == XARCHIVETYPE_BZIP2 || archive->type == 
XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA)
++      if (archive->type == XARCHIVETYPE_7ZIP || archive->type == 
XARCHIVETYPE_LZOP || archive->type == XARCHIVETYPE_BZIP2 || archive->type == 
XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == 
XARCHIVETYPE_XZ )
+       {
+               flag = FALSE;
+       }
+@@ -244,7 +244,7 @@
+               flag = TRUE;
+       gtk_widget_set_sensitive(add_dialog->solid_archive,flag);
+       
+-      if (archive->type != XARCHIVETYPE_TAR && archive->type != 
XARCHIVETYPE_TAR_GZ && archive->type != XARCHIVETYPE_TAR_LZMA && archive->type 
!= XARCHIVETYPE_TAR_BZ2 && archive->type != XARCHIVETYPE_TAR_LZOP)
++      if (archive->type != XARCHIVETYPE_TAR && archive->type != 
XARCHIVETYPE_TAR_GZ && archive->type != XARCHIVETYPE_TAR_LZMA && archive->type 
!= XARCHIVETYPE_TAR_XZ && archive->type != XARCHIVETYPE_TAR_BZ2 && 
archive->type != XARCHIVETYPE_TAR_LZOP)
+       {
+               flag = TRUE;
+               if (archive->type == XARCHIVETYPE_7ZIP)
+@@ -306,7 +306,7 @@
+               g_signal_connect (G_OBJECT 
(add_dialog->compression_value),"value-changed",G_CALLBACK 
(fix_adjustment_value), NULL);
+       gtk_tooltips_set_tip 
(add_dialog->option_tooltip,add_dialog->compression_scale, compression_msg, 
NULL );
+ 
+-      if (archive->type == XARCHIVETYPE_TAR || archive->type == 
XARCHIVETYPE_TAR_GZ || archive->type == XARCHIVETYPE_TAR_LZMA || archive->type 
== XARCHIVETYPE_TAR_BZ2 || archive->type == XARCHIVETYPE_TAR_LZOP)
++      if (archive->type == XARCHIVETYPE_TAR || archive->type == 
XARCHIVETYPE_TAR_GZ || archive->type == XARCHIVETYPE_TAR_LZMA || archive->type 
== XARCHIVETYPE_TAR_XZ || archive->type == XARCHIVETYPE_TAR_BZ2 || 
archive->type == XARCHIVETYPE_TAR_LZOP)
+               flag = FALSE;
+       else
+               flag = TRUE;
+diff -uNr xarchiver-0.5.2.orig/src/archive.h xarchiver-0.5.2/src/archive.h
+--- xarchiver-0.5.2.orig/src/archive.h 2008-11-07 17:49:41.000000000 +0900
++++ xarchiver-0.5.2/src/archive.h      2013-05-11 10:01:47.888094708 +0900
+@@ -30,6 +30,7 @@
+       XARCHIVETYPE_BZIP2,
+       XARCHIVETYPE_GZIP,
+       XARCHIVETYPE_LZMA,
++      XARCHIVETYPE_XZ,
+       XARCHIVETYPE_LZOP,
+       XARCHIVETYPE_RAR,
+       XARCHIVETYPE_RPM,
+@@ -37,6 +38,7 @@
+       XARCHIVETYPE_TAR_BZ2,
+       XARCHIVETYPE_TAR_GZ,
+       XARCHIVETYPE_TAR_LZMA,
++      XARCHIVETYPE_TAR_XZ,
+       XARCHIVETYPE_TAR_LZOP,
+       XARCHIVETYPE_ZIP,
+       XARCHIVETYPE_LHA,
+diff -uNr xarchiver-0.5.2.orig/src/bzip2.c xarchiver-0.5.2/src/bzip2.c
+--- xarchiver-0.5.2.orig/src/bzip2.c   2008-11-10 20:17:48.000000000 +0900
++++ xarchiver-0.5.2/src/bzip2.c        2013-05-11 10:01:47.888094708 +0900
+@@ -54,6 +54,15 @@
+               archive->extract =      extract[archive->type];
+               xa_open_tar_compressed_file(archive);
+       }
++      else if (g_str_has_suffix(archive->escaped_path,".tar.xz") || 
g_str_has_suffix (archive->escaped_path,".txz"))
++      {
++              archive->type = XARCHIVETYPE_TAR_XZ;
++              archive->format = "TAR.XZ";
++              archive->delete =       delete[archive->type];
++              archive->add =          add[archive->type];
++              archive->extract =      extract[archive->type];
++              xa_open_tar_compressed_file(archive);
++      }
+       else if (g_str_has_suffix(archive->escaped_path,".tar.lzop") ||
+               g_str_has_suffix (archive->escaped_path,".tzo") ||
+               g_str_has_suffix(archive->escaped_path,".tar.lzo"))
+@@ -85,6 +94,12 @@
+                       executable = "lzma ";
+                       len = 5;
+               }
++              else if (archive->type == XARCHIVETYPE_XZ)
++              {
++                      archive->format = "XZ";
++                      executable = "xz ";
++                      len = 5;
++              }
+               else if (archive->type == XARCHIVETYPE_LZOP)
+               {
+                       archive->format = "LZOP";
+@@ -163,6 +178,8 @@
+               command = g_strconcat(tar," tfjv ",archive->escaped_path,NULL);
+       else if (archive->type == XARCHIVETYPE_TAR_LZMA)
+               command = g_strconcat(tar," tv --use-compress-program=lzma -f 
",archive->escaped_path,NULL);
++      else if (archive->type == XARCHIVETYPE_TAR_XZ)
++              command = g_strconcat(tar," tv --use-compress-program=xz -f 
",archive->escaped_path,NULL);
+       else if (archive->type == XARCHIVETYPE_TAR_LZOP)
+               command = g_strconcat(tar," tv --use-compress-program=lzop -f 
",archive->escaped_path,NULL);
+       /* else fail? */
+@@ -205,6 +222,11 @@
+               executable = "lzma ";
+               len = 5;
+       }
++      else if (archive->type == XARCHIVETYPE_XZ)
++      {
++              executable = "xz ";
++              len = 5;
++      }
+       else if (archive->type == XARCHIVETYPE_LZOP)
+       {
+               executable = "lzop ";
+diff -uNr xarchiver-0.5.2.orig/src/extract_dialog.c 
xarchiver-0.5.2/src/extract_dialog.c
+--- xarchiver-0.5.2.orig/src/extract_dialog.c  2008-11-10 19:28:11.000000000 
+0900
++++ xarchiver-0.5.2/src/extract_dialog.c       2013-05-11 10:01:47.889094708 
+0900
+@@ -815,6 +815,11 @@
+               archive->type = XARCHIVETYPE_TAR_LZMA;
+               archive->extract =      extract[XARCHIVETYPE_TAR_LZMA];
+       }
++      else if (g_str_has_suffix(archive->escaped_path,".tar.xz")|| 
g_str_has_suffix (archive->escaped_path,".txz"))
++      {
++              archive->type = XARCHIVETYPE_TAR_XZ;
++              archive->extract =      extract[XARCHIVETYPE_TAR_XZ];
++      }
+       else if (g_str_has_suffix(archive->escaped_path,".tar.lzop") ||
+                       g_str_has_suffix (archive->escaped_path,".tzo") ||
+                       g_str_has_suffix(archive->escaped_path,".tar.lzo"))
+diff -uNr xarchiver-0.5.2.orig/src/main.c xarchiver-0.5.2/src/main.c
+--- xarchiver-0.5.2.orig/src/main.c    2008-11-10 20:21:43.000000000 +0900
++++ xarchiver-0.5.2/src/main.c 2013-05-11 10:17:01.696094044 +0900
+@@ -296,9 +296,10 @@
+       open_archive[XARCHIVETYPE_BZIP2]  = &xa_open_bzip2_lzma;
+       open_archive[XARCHIVETYPE_GZIP]  = &xa_open_gzip;
+       open_archive[XARCHIVETYPE_LZMA]  = &xa_open_bzip2_lzma;
++      open_archive[XARCHIVETYPE_XZ]  = &xa_open_bzip2_lzma;
+       open_archive[XARCHIVETYPE_RAR]  = &xa_open_rar;
+       open_archive[XARCHIVETYPE_RPM]  = &xa_open_rpm;
+-      open_archive[XARCHIVETYPE_TAR]  = open_archive[XARCHIVETYPE_TAR_BZ2] = 
open_archive[XARCHIVETYPE_TAR_GZ] = open_archive[XARCHIVETYPE_TAR_LZMA] = 
open_archive[XARCHIVETYPE_TAR_LZOP] = &xa_open_tar;
++      open_archive[XARCHIVETYPE_TAR]  = open_archive[XARCHIVETYPE_TAR_BZ2] = 
open_archive[XARCHIVETYPE_TAR_GZ] = open_archive[XARCHIVETYPE_TAR_LZMA] = 
open_archive[XARCHIVETYPE_TAR_XZ] = open_archive[XARCHIVETYPE_TAR_LZOP] = 
&xa_open_tar;
+       open_archive[XARCHIVETYPE_ZIP] = &xa_open_zip;
+       open_archive[XARCHIVETYPE_LHA] = &xa_open_lha;
+       open_archive[XARCHIVETYPE_LZOP] = &xa_open_bzip2_lzma;
+@@ -310,9 +311,10 @@
+       delete[XARCHIVETYPE_BZIP2]  = 0;
+       delete[XARCHIVETYPE_GZIP]  = 0;
+       delete[XARCHIVETYPE_LZMA]  = 0;
++      delete[XARCHIVETYPE_XZ]  = 0;
+       delete[XARCHIVETYPE_RAR]  = &xa_rar_delete;
+       delete[XARCHIVETYPE_RPM]  = 0;
+-      delete[XARCHIVETYPE_TAR]  = delete[XARCHIVETYPE_TAR_BZ2] = 
delete[XARCHIVETYPE_TAR_GZ] = delete[XARCHIVETYPE_TAR_LZMA] = 
delete[XARCHIVETYPE_TAR_LZOP] = &xa_tar_delete;
++      delete[XARCHIVETYPE_TAR]  = delete[XARCHIVETYPE_TAR_BZ2] = 
delete[XARCHIVETYPE_TAR_GZ] = delete[XARCHIVETYPE_TAR_LZMA] = 
delete[XARCHIVETYPE_TAR_XZ] = delete[XARCHIVETYPE_TAR_LZOP] = &xa_tar_delete;
+       delete[XARCHIVETYPE_ZIP] = &xa_zip_delete;
+       delete[XARCHIVETYPE_LHA] = &xa_lha_delete;
+       delete[XARCHIVETYPE_LZOP] = 0;
+@@ -322,10 +324,10 @@
+       add[XARCHIVETYPE_7ZIP]  = &xa_7zip_add;
+       add[XARCHIVETYPE_ARJ]  = &xa_arj_add;
+       add[XARCHIVETYPE_DEB]  = 0;
+-      add[XARCHIVETYPE_BZIP2]  = add[XARCHIVETYPE_GZIP] = 
add[XARCHIVETYPE_LZMA] = &xa_tar_add;
++      add[XARCHIVETYPE_BZIP2]  = add[XARCHIVETYPE_GZIP] = 
add[XARCHIVETYPE_LZMA] = add[XARCHIVETYPE_XZ] = &xa_tar_add;
+       add[XARCHIVETYPE_RAR]  = &xa_rar_add;
+       add[XARCHIVETYPE_RPM]  = 0;
+-      add[XARCHIVETYPE_TAR]  = add[XARCHIVETYPE_TAR_BZ2] = 
add[XARCHIVETYPE_TAR_GZ] = add[XARCHIVETYPE_TAR_LZMA] = 
add[XARCHIVETYPE_TAR_LZOP] = &xa_tar_add;
++      add[XARCHIVETYPE_TAR]  = add[XARCHIVETYPE_TAR_BZ2] = 
add[XARCHIVETYPE_TAR_GZ] = add[XARCHIVETYPE_TAR_LZMA] = 
add[XARCHIVETYPE_TAR_XZ] = add[XARCHIVETYPE_TAR_LZOP] = &xa_tar_add;
+       add[XARCHIVETYPE_ZIP] = &xa_zip_add;
+       add[XARCHIVETYPE_LHA] = &xa_lha_add;
+       add[XARCHIVETYPE_LZOP] = &xa_tar_add;
+@@ -334,10 +336,10 @@
+       extract[XARCHIVETYPE_7ZIP]  = &xa_7zip_extract;
+       extract[XARCHIVETYPE_ARJ]  = &xa_arj_extract;
+       extract[XARCHIVETYPE_DEB]  = &xa_deb_extract;;
+-      extract[XARCHIVETYPE_BZIP2]  = extract[XARCHIVETYPE_GZIP] = 
extract[XARCHIVETYPE_LZMA] = &xa_tar_extract;
++      extract[XARCHIVETYPE_BZIP2]  = extract[XARCHIVETYPE_GZIP] = 
extract[XARCHIVETYPE_LZMA] = extract[XARCHIVETYPE_XZ] = &xa_tar_extract;
+       extract[XARCHIVETYPE_RAR]  = &xa_rar_extract;
+       extract[XARCHIVETYPE_RPM]  = &xa_rpm_extract;
+-      extract[XARCHIVETYPE_TAR]  = extract[XARCHIVETYPE_TAR_BZ2] = 
extract[XARCHIVETYPE_TAR_GZ] = extract[XARCHIVETYPE_TAR_LZMA] = 
extract[XARCHIVETYPE_TAR_LZOP] = &xa_tar_extract;
++      extract[XARCHIVETYPE_TAR]  = extract[XARCHIVETYPE_TAR_BZ2] = 
extract[XARCHIVETYPE_TAR_GZ] = extract[XARCHIVETYPE_TAR_LZMA] = 
extract[XARCHIVETYPE_TAR_XZ] = extract[XARCHIVETYPE_TAR_LZOP] = &xa_tar_extract;
+       extract[XARCHIVETYPE_ZIP] = &xa_zip_extract;
+       extract[XARCHIVETYPE_LHA] = &xa_lha_extract;
+       extract[XARCHIVETYPE_LZOP] = &xa_tar_extract;
+@@ -345,10 +347,10 @@
+       test[0]  = 0;
+       test[XARCHIVETYPE_7ZIP]  = &xa_7zip_test;
+       test[XARCHIVETYPE_ARJ]  = &xa_arj_test;
+-      test[XARCHIVETYPE_DEB]  = test[XARCHIVETYPE_BZIP2] = 
test[XARCHIVETYPE_GZIP] = test[XARCHIVETYPE_LZMA] = 0;
++      test[XARCHIVETYPE_DEB]  = test[XARCHIVETYPE_BZIP2] = 
test[XARCHIVETYPE_GZIP] = test[XARCHIVETYPE_LZMA] = test[XARCHIVETYPE_XZ] = 0;
+       test[XARCHIVETYPE_RAR]  = &xa_rar_test;
+       test[XARCHIVETYPE_RPM]  = 0;
+-      test[XARCHIVETYPE_TAR]  = test[XARCHIVETYPE_TAR_BZ2] = 
test[XARCHIVETYPE_TAR_GZ] = test[XARCHIVETYPE_TAR_LZMA] = 
test[XARCHIVETYPE_TAR_LZOP] = 0;
++      test[XARCHIVETYPE_TAR]  = test[XARCHIVETYPE_TAR_BZ2] = 
test[XARCHIVETYPE_TAR_GZ] = test[XARCHIVETYPE_TAR_LZMA] = 
test[XARCHIVETYPE_TAR_XZ] = test[XARCHIVETYPE_TAR_LZOP] = 0;
+       test[XARCHIVETYPE_ZIP] = &xa_zip_test;
+       test[XARCHIVETYPE_LHA] = &xa_lha_test;
+       test[XARCHIVETYPE_LZOP] = 0;
+@@ -392,6 +394,14 @@
+               g_free (absolute_path);
+       }
+ 
++      absolute_path = g_find_program_in_path("xz");
++      if ( absolute_path )
++      {
++              ArchiveType = g_list_append(ArchiveType, "xz");
++              ArchiveSuffix = g_list_append(ArchiveSuffix, "*.xz");
++              g_free (absolute_path);
++      }
++
+       absolute_path = g_find_program_in_path("lzop");
+       if ( absolute_path )
+       {
+@@ -460,6 +470,11 @@
+                       ArchiveType = g_list_append(ArchiveType, "tar.lzma");
+                       ArchiveSuffix = g_list_append(ArchiveSuffix, "*.tlz");
+               }
++              if ( g_list_find ( ArchiveType , "xz") )
++              {
++                      ArchiveType = g_list_append(ArchiveType, "tar.xz");
++                      ArchiveSuffix = g_list_append(ArchiveSuffix, "*.txz");
++              }
+               if ( g_list_find ( ArchiveType , "lzo") )
+               {
+                       ArchiveType = g_list_append(ArchiveType, "tar.lzo");
+@@ -528,6 +543,8 @@
+               archive->type = XARCHIVETYPE_TAR_GZ;
+       else if ( g_str_has_suffix ( archive->escaped_path , ".tar.lzma") || 
g_str_has_suffix ( archive->escaped_path , ".tlz") )
+               archive->type = XARCHIVETYPE_TAR_LZMA;
++      else if ( g_str_has_suffix ( archive->escaped_path , ".tar.xz") || 
g_str_has_suffix ( archive->escaped_path , ".txz") )
++              archive->type = XARCHIVETYPE_TAR_XZ;
+       else if ( g_str_has_suffix ( archive->escaped_path , ".tar.lzo") ||
+               g_str_has_suffix ( archive->escaped_path , ".tzo") ||
+               g_str_has_suffix ( archive->escaped_path , ".tar.lzop"))
+diff -uNr xarchiver-0.5.2.orig/src/new_dialog.c 
xarchiver-0.5.2/src/new_dialog.c
+--- xarchiver-0.5.2.orig/src/new_dialog.c      2008-11-11 17:28:46.000000000 
+0900
++++ xarchiver-0.5.2/src/new_dialog.c   2013-05-11 10:01:47.890094708 +0900
+@@ -202,6 +202,8 @@
+                       type = XARCHIVETYPE_GZIP;
+               else if (strcmp ( ComboArchiveType,"lzma") == 0)
+                       type = XARCHIVETYPE_LZMA;
++              else if (strcmp ( ComboArchiveType,"xz") == 0)
++                      type = XARCHIVETYPE_XZ;
+               else if (strcmp ( ComboArchiveType,"lzo") == 0)
+                       type = XARCHIVETYPE_LZOP;
+               else if (strcmp ( ComboArchiveType,"rar") == 0)
+@@ -214,6 +216,8 @@
+                       type = XARCHIVETYPE_TAR_GZ;
+               else if (strcmp ( ComboArchiveType,"tar.lzma") == 0)
+                       type = XARCHIVETYPE_TAR_LZMA;
++              else if (strcmp ( ComboArchiveType,"tar.xz") == 0)
++                      type = XARCHIVETYPE_TAR_XZ;
+               else if (strcmp ( ComboArchiveType,"tar.lzo") == 0)
+                       type = XARCHIVETYPE_TAR_LZOP;
+               else if (strcmp ( ComboArchiveType,"jar") == 0 || strcmp ( 
ComboArchiveType,"zip") == 0 )
+diff -Naur xarchiver-0.5.2.orig/src/rpm.c xarchiver-0.5.2/src/rpm.c
+--- xarchiver-0.5.2.orig/src/rpm.c     2014-01-24 03:07:47.729711000 +0100
++++ xarchiver-0.5.2/src/rpm.c  2014-01-24 03:12:43.717122918 +0100
+@@ -111,8 +111,10 @@
+       }
+       if (xa_detect_archive_type (gzip_tmp) == XARCHIVETYPE_GZIP)
+               executable = "gzip -dc ";
+-      else
++      else if (xa_detect_archive_type (gzip_tmp) == XARCHIVETYPE_BZIP2)
+               executable = "bzip2 -dc ";
++      else
++              executable = "xz -dc ";
+ 
+       command = g_strconcat("sh -c \"",executable,gzip_tmp," > 
",archive->tmp,"/file.cpio\"",NULL);
+       g_free(gzip_tmp);diff -uNr xarchiver-0.5.2.orig/src/tar.c 
xarchiver-0.5.2/src/tar.c
+--- xarchiver-0.5.2.orig/src/tar.c     2008-11-10 19:28:34.000000000 +0900
++++ xarchiver-0.5.2/src/tar.c  2013-05-11 10:12:01.027094262 +0900
+@@ -242,6 +242,17 @@
+                                                                       
files->str , NULL );
+               break;
+               
++              case XARCHIVETYPE_TAR_XZ:
++              if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS ) 
)
++                      xa_add_delete_bzip2_gzip_lzma_compressed_tar 
(files,archive,1);
++              else
++                      command = g_strconcat (tar, " ",
++                                                                      
archive->add_recurse ? "" : "--no-recursion ",
++                                                                      
archive->remove_files ? "--remove-files " : "",
++                                                                      
"--use-compress-program=xz -cvvf ",archive->escaped_path,
++                                                                      
files->str , NULL );
++              break;
++              
+               case XARCHIVETYPE_TAR_LZOP:
+               if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS ) 
)
+                       xa_add_delete_bzip2_gzip_lzma_compressed_tar 
(files,archive,1);
+@@ -265,6 +276,10 @@
+                       command = g_strconcat("sh -c \"lzma -c ",files->str,"> 
",archive->escaped_path,"\"",NULL);
+               break;
+ 
++              case XARCHIVETYPE_XZ:
++                      command = g_strconcat("sh -c \"xz -c ",files->str,"> 
",archive->escaped_path,"\"",NULL);
++              break;
++
+               case XARCHIVETYPE_LZOP:
+                       command = g_strconcat("sh -c \"lzop -c ",files->str,"> 
",archive->escaped_path,"\"",NULL);
+               break;
+@@ -378,6 +393,25 @@
+               }
+               break;
+ 
++              case XARCHIVETYPE_TAR_XZ:
++              if (archive->full_path == 1)
++              {
++                      command = g_strconcat (tar, " --use-compress-program=xz 
-xvf " , archive->escaped_path,
++                                              #ifdef __FreeBSD__
++                                                              
archive->overwrite ? " " : " -k",
++                                              #else
++                                                              
archive->overwrite ? " --overwrite" : " --keep-old-files",
++                                              #endif
++                                                              
archive->tar_touch ? " --touch" : "",
++                                                              " -C 
",archive->extraction_path," ",names->str,NULL);
++              }
++              else
++              {
++                      result = xa_extract_tar_without_directories ( "tar 
--use-compress-program=xz -xvf ",archive,names->str);
++                      command = NULL;
++              }
++              break;
++
+               case XARCHIVETYPE_TAR_LZOP:
+               if (archive->full_path == 1)
+               {
+@@ -402,6 +436,11 @@
+               command = NULL;
+               break;
+ 
++              case XARCHIVETYPE_XZ:
++              result = lzma_bzip2_extract(archive,NULL);
++              command = NULL;
++              break;
++
+               case XARCHIVETYPE_LZOP:
+               result = lzma_bzip2_extract(archive,NULL);
+               command = NULL;
+@@ -449,6 +488,10 @@
+                       executable = "lzma -f ";
+                       filename = "dummy.lzma";
+               break;
++              case XARCHIVETYPE_TAR_XZ:
++                      executable = "xz -f ";
++                      filename = "dummy.xz";
++              break;
+               case XARCHIVETYPE_TAR_LZOP:
+                       executable = "lzop -f ";
+                       filename = "dummy.lzo";
+@@ -493,7 +536,7 @@
+ 
+ gboolean is_tar_compressed (gint type)
+ {
+-      return (type == XARCHIVETYPE_TAR_BZ2 || type == XARCHIVETYPE_TAR_GZ || 
type == XARCHIVETYPE_TAR_LZMA || type == XARCHIVETYPE_TAR_LZOP);
++      return (type == XARCHIVETYPE_TAR_BZ2 || type == XARCHIVETYPE_TAR_GZ || 
type == XARCHIVETYPE_TAR_LZMA || type == XARCHIVETYPE_TAR_XZ || type == 
XARCHIVETYPE_TAR_LZOP);
+ }
+ 
+ gboolean xa_extract_tar_without_directories (gchar *string,XArchive 
*archive,gchar *files_to_extract)
+diff -uNr xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c
+--- xarchiver-0.5.2.orig/src/window.c  2008-11-11 17:31:45.000000000 +0900
++++ xarchiver-0.5.2/src/window.c       2013-05-11 10:01:47.892094708 +0900
+@@ -1125,6 +1125,8 @@
+               xx = XARCHIVETYPE_GZIP;
+       else if (memcmp ( magic,"\x5d\x00\x00\x80",4) == 0)
+               xx = XARCHIVETYPE_LZMA;
++      else if ((memcmp ( magic,"\xFD" "7zXZ\x00\x00",7) == 0) || (memcmp ( 
magic,"\xFD" "7zXZ\x00\x10",7) == 0))
++              xx = XARCHIVETYPE_XZ;
+       else if (memcmp ( magic,"\211LZO",4) == 0)
+               xx = XARCHIVETYPE_LZOP;
+       else if (memcmp ( magic,"\xed\xab\xee\xdb",4) == 0)
+@@ -1462,6 +1464,7 @@
+               case XARCHIVETYPE_GZIP:
+               case XARCHIVETYPE_BZIP2:
+               case XARCHIVETYPE_LZMA:
++              case XARCHIVETYPE_XZ:
+               case XARCHIVETYPE_LZOP:
+               case XARCHIVETYPE_RPM:
+               pos = 3;
+@@ -1481,6 +1484,7 @@
+               case XARCHIVETYPE_TAR_GZ:
+               case XARCHIVETYPE_TAR_BZ2:
+               case XARCHIVETYPE_TAR_LZMA:
++              case XARCHIVETYPE_TAR_XZ:
+               case XARCHIVETYPE_TAR_LZOP:
+               case XARCHIVETYPE_TAR:
+               case XARCHIVETYPE_ZIP:
+@@ -1525,6 +1529,7 @@
+               case XARCHIVETYPE_GZIP:
+               case XARCHIVETYPE_BZIP2:
+               case XARCHIVETYPE_LZMA:
++              case XARCHIVETYPE_XZ:
+               case XARCHIVETYPE_LZOP:
+               case XARCHIVETYPE_RPM:
+               pos = 3;
+@@ -1544,6 +1549,7 @@
+               case XARCHIVETYPE_TAR_GZ:
+               case XARCHIVETYPE_TAR_BZ2:
+               case XARCHIVETYPE_TAR_LZMA:
++              case XARCHIVETYPE_TAR_XZ:
+               case XARCHIVETYPE_TAR_LZOP:
+               case XARCHIVETYPE_TAR:
+               case XARCHIVETYPE_ZIP:

Added: xarchiver/trunk/xarchiver-0.5.2-disable-rar-support.patch
===================================================================
--- xarchiver/trunk/xarchiver-0.5.2-disable-rar-support.patch                   
        (rev 0)
+++ xarchiver/trunk/xarchiver-0.5.2-disable-rar-support.patch   2014-01-24 
05:18:05 UTC (rev 104640)
@@ -0,0 +1,35 @@
+diff -Naur xarchiver-0.5.2.orig/src/main.c xarchiver-0.5.2/src/main.c
+--- xarchiver-0.5.2.orig/src/main.c    2014-01-24 04:31:20.288863040 +0100
++++ xarchiver-0.5.2/src/main.c 2014-01-24 04:31:45.252847778 +0100
+@@ -420,7 +420,7 @@
+               //ArchiveSuffix = g_list_append(ArchiveSuffix, "");
+       }
+ 
+-      absolute_path = g_find_program_in_path ("rar");
++      /* absolute_path = g_find_program_in_path ("rar");
+     if ( absolute_path )
+       {
+               ArchiveType = g_list_append(ArchiveType, "rar");
+@@ -437,7 +437,7 @@
+                       ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar");
+                       g_free (absolute_path);
+               }
+-      }
++      } */
+ 
+       absolute_path = g_find_program_in_path("cpio");
+     if ( absolute_path )
+diff -Naur xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c
+--- xarchiver-0.5.2.orig/src/window.c  2014-01-24 04:05:33.455228000 +0100
++++ xarchiver-0.5.2/src/window.c       2014-01-24 04:15:30.624117028 +0100
+@@ -1117,8 +1117,9 @@
+               xx = XARCHIVETYPE_ZIP;
+       else if (memcmp (magic,"\x60\xea",2) == 0)
+               xx = XARCHIVETYPE_ARJ;
++        /* Tempolary disable rar support due to incompatiblity with rar 5.0
+       else if (memcmp ( magic,"\x52\x61\x72\x21",4) == 0)
+-              xx = XARCHIVETYPE_RAR;
++              xx = XARCHIVETYPE_RAR; */
+       else if (memcmp ( magic,"\x42\x5a\x68",3) == 0)
+               xx = XARCHIVETYPE_BZIP2;
+       else if (memcmp ( magic,"\x1f\x8b",2) == 0 || memcmp ( 
magic,"\x1f\x9d",2) == 0)

Added: xarchiver/trunk/xarchiver-0.5.2-drag-n-drop_escaped_path.patch
===================================================================
--- xarchiver/trunk/xarchiver-0.5.2-drag-n-drop_escaped_path.patch              
                (rev 0)
+++ xarchiver/trunk/xarchiver-0.5.2-drag-n-drop_escaped_path.patch      
2014-01-24 05:18:05 UTC (rev 104640)
@@ -0,0 +1,13 @@
+diff -Naur xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c
+--- xarchiver-0.5.2.orig/src/window.c  2012-01-12 13:28:54.000000000 +0100
++++ xarchiver-0.5.2/src/window.c       2012-01-23 20:43:49.622745851 +0100
+@@ -1724,6 +1724,9 @@
+                       gtk_tree_selection_selected_foreach 
(selection,(GtkTreeSelectionForeachFunc) xa_concat_selected_filenames,&names);
+                       archive->full_path = 
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (extract_window->extract_full));
+                       archive->overwrite = 
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON 
(extract_window->overwrite_check));
++                      gchar *unescaped_extraction_path = 
archive->extraction_path;
++                      archive->extraction_path = 
xa_escape_filename(unescaped_extraction_path, "$'`\"\\!?* ()[]&|:;<>#");
++                      g_free(unescaped_extraction_path);
+                       (*archive->extract) (archive,names);
+ 
+                       g_list_foreach (row_list,(GFunc) 
gtk_tree_path_free,NULL);

Added: xarchiver/trunk/xarchiver-0.5.2-fix_7z_support.patch
===================================================================
--- xarchiver/trunk/xarchiver-0.5.2-fix_7z_support.patch                        
        (rev 0)
+++ xarchiver/trunk/xarchiver-0.5.2-fix_7z_support.patch        2014-01-24 
05:18:05 UTC (rev 104640)
@@ -0,0 +1,110 @@
+diff -Nur xarchiver-0.5.2.orig/src/7zip.c xarchiver-0.5.2/src/7zip.c
+--- xarchiver-0.5.2.orig/src/7zip.c    2008-10-25 00:41:17.000000000 +1300
++++ xarchiver-0.5.2/src/7zip.c 2010-12-15 11:24:26.000000000 +1300
+@@ -64,15 +64,14 @@
+       XEntry *entry;
+       gchar *filename;
+       gpointer item[5];
+-      gint linesize = 0,n = 0,a = 0;
+-      gboolean dir = FALSE;
++      gint linesize = 0,a = 0;
+ 
+       if (last_line)
+               return;
+ 
+       if (jump_header == FALSE)
+       {
+-              if (line[0] == '-')
++              if ((line[0] == '-') && (line[3] != NULL)) 
+               {
+                       jump_header = TRUE;
+                       return;
+@@ -93,71 +92,42 @@
+       item[4] = line;
+ 
+       /* Time */
+-      for(n=13; n < linesize; ++n)
+-              if(line[n] == ' ')
+-                      break;
+-      line[n] = '\0';
++      line[19] = '\0';
+       item[3] = line + 11;
+-      a = ++n;
+       
+       /* Permissions */
+-      for(; n < linesize; n++)
+-              if(line[n] == ' ')
+-                      break;
+-      line[n] = '\0';
+-      if ((line+a)[0] == 'D')
+-              dir = TRUE;
+-      item[2] = line + a;
++      line[25] = '\0';
++      item[2] = line + 20;
+       
+       /* Size */
+-      for(++n; n < linesize; ++n)
+-              if(line[n] >= '0' && line[n] <= '9')
++      for(a=26; a < linesize; ++a)
++              if(line[a] >= '0' && line[a] <= '9')
+                       break;
+-      a = n;
+ 
+-      for(; n < linesize; ++n)
+-              if(line[n] == ' ')
+-                      break;
+-
+-      line[n] = '\0';
++      line[38] = '\0';
+       item[0] = line + a;
+       archive->dummy_size += g_ascii_strtoull(item[0],NULL,0);
+ 
+       /* Compressed */
+-      for(++n; n < linesize; ++n)
+-              if(line[n] >= '0' && line[n] <= '9')
+-                      break;
+-      a = n;
+-
+-      for(; n < linesize; ++n)
+-              if(line[n] == ' ')
+-                      break;
+-
+-      line[n] = '\0';
+-
+-      if (line[50] != ' ')
++      /* Is this item solid? */
++      if (line[50] == ' ')
+       {
+-              n+=2;
+-              item[1] = line + a;
+               line[linesize-1] = '\0';
+-              filename = g_strdup(line + n);
++              filename = g_strdup(line + 53);
+       }
+-      /* Is this a solid archive? */
++
+       else
+       {
+-              item[1] = "0";
+-              line[n-1] = '\0';
++              for(a=39; a < linesize; ++a)
++                      if(line[a] >= '0' && line[a] <= '9')
++                              break;
++
++              line[51] = '\0';
++              item[1] = line + a;
++              line[linesize-1] = '\0';
+               filename = g_strdup(line + 53);
+       }
+ 
+-      /* Work around for 7za which doesn't
+-      * output / with directories */
+-      if (dir)
+-      {
+-              gchar *filename_with_slash = g_strconcat (filename,"/",NULL);
+-              g_free (filename);
+-              filename = filename_with_slash;
+-      }
+       entry = xa_set_archive_entries_for_each_row (archive,filename,item);
+       g_free(filename);
+ }

Added: xarchiver/trunk/xarchiver-0.5.2-no-donators-menu.patch
===================================================================
--- xarchiver/trunk/xarchiver-0.5.2-no-donators-menu.patch                      
        (rev 0)
+++ xarchiver/trunk/xarchiver-0.5.2-no-donators-menu.patch      2014-01-24 
05:18:05 UTC (rev 104640)
@@ -0,0 +1,50 @@
+--- xarchiver/trunk/src/interface.c    2009/03/19 18:03:52     29676
++++ xarchiver/trunk/src/interface.c    2009/03/19 20:48:19     29677
+@@ -310,22 +310,14 @@
+       gtk_widget_show (tmp_image);
+       gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1),tmp_image);
+ 
++      donate = gtk_image_menu_item_new_with_mnemonic (_("_Donate"));
++      gtk_widget_show (donate);
++      gtk_container_add (GTK_CONTAINER (menuitem4_menu),donate);
++
+       about1 = gtk_image_menu_item_new_from_stock ("gtk-about",accel_group);
+       gtk_widget_show (about1);
+       gtk_container_add (GTK_CONTAINER (menuitem4_menu),about1);
+ 
+-      thanks_to = gtk_image_menu_item_new_with_mnemonic (_("_Thanks to"));
+-      gtk_widget_show (thanks_to);
+-      gtk_container_add (GTK_CONTAINER (menuitem4_menu),thanks_to);
+-
+-      thanks_to_submenu = gtk_menu_new();
+-      gtk_widget_show (thanks_to_submenu);
+-      gtk_menu_item_set_submenu (GTK_MENU_ITEM (thanks_to),thanks_to_submenu);
+-
+-      donators = gtk_image_menu_item_new_with_mnemonic ("Your name and 
website here");
+-      gtk_widget_show (donators);
+-      gtk_container_add (GTK_CONTAINER (thanks_to_submenu),donators);
+-
+       /* Create the toolbar */
+       toolbar1 = gtk_toolbar_new ();
+       gtk_widget_show (toolbar1);
+@@ -543,7 +535,7 @@
+       g_signal_connect ((gpointer) multi_extract_menu,"activate",G_CALLBACK 
(xa_show_multi_extract_dialog),NULL);
+       g_signal_connect ((gpointer) help1,"activate",G_CALLBACK 
(xa_show_help),NULL);
+       g_signal_connect ((gpointer) about1,"activate",G_CALLBACK 
(xa_about),NULL);
+-      g_signal_connect ((gpointer) donators,"activate",G_CALLBACK 
(xa_show_donate_page_on_the_web),NULL);
++      g_signal_connect ((gpointer) donate,"activate",G_CALLBACK 
(xa_show_donate_page_on_the_web),NULL);
+ 
+       g_signal_connect ((gpointer) New_button,        "clicked",G_CALLBACK 
(xa_new_archive),NULL);
+       g_signal_connect ((gpointer) Open_button,       "clicked",G_CALLBACK 
(xa_open_archive),NULL);
+--- xarchiver/trunk/src/interface.h    2008/11/04 10:06:17     28603
++++ xarchiver/trunk/src/interface.h    2009/03/19 20:48:19     29677
+@@ -48,8 +48,8 @@
+ *name_label, *type_label, *compression_data, *encrypted_data, 
*encrypted_label,*number_of_files_data, *content_data, *comment_data, 
*size_data, *modified_data, *path_data, *type_data,
+ *name_data, *separatormenuitem1, *separatormenuitem2, *separatormenuitem3, 
*separatormenuitem4, *separatormenuitem5, *separatormenuitem6, *quit1,
+ *close1, *check_menu, *properties, *menuitem2, *menuitem2_menu, *addfile, 
*extract_menu, *delete_menu, *comment_menu, 
*multi_extract_menu,*view_shell_output1,
+-*prefs_menu,*password_entry_menu, *image1, *image2, *menuitem4, 
*thanks_to,*thanks_to_submenu,*select_all,*deselect_all,*select_pattern, 
*exe_menu, *menuitem4_menu,
+-*about1, *help1, *donators,*toolbar1, *toolbar2, *hbox1, *tmp_image, 
*pad_image, *New_button, *Open_button, *back_button, *home_button, 
*forward_button,
++*prefs_menu,*password_entry_menu, *image1, *image2, *menuitem4, 
*donate,*select_all,*deselect_all,*select_pattern, *exe_menu, *menuitem4_menu,
++*about1, *help1,*toolbar1, *toolbar2, *hbox1, *tmp_image, *pad_image, 
*New_button, *Open_button, *back_button, *home_button, *forward_button,
+ 
*up_button,*separatortoolitem1,*separatortoolitem2,*separatortoolitem3,*AddFile_button,*Extract_button,*Stop_button,*toolitem1,*location_label,
+ 
*location_entry,*hpaned1,*archive_dir_treeview,*scrolledwindow2,*ddelete,*rename_menu,*rrename,*cut,*copy,*paste,*view,*open_popupmenu;

Added: xarchiver/trunk/xarchiver-0.5.2-segfault-delete-file.patch
===================================================================
--- xarchiver/trunk/xarchiver-0.5.2-segfault-delete-file.patch                  
        (rev 0)
+++ xarchiver/trunk/xarchiver-0.5.2-segfault-delete-file.patch  2014-01-24 
05:18:05 UTC (rev 104640)
@@ -0,0 +1,21 @@
+diff -Naur xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c
+--- xarchiver-0.5.2.orig/src/window.c  2014-01-24 01:22:27.931903000 +0100
++++ xarchiver-0.5.2/src/window.c       2014-01-24 01:24:49.952825715 +0100
+@@ -1573,7 +1573,7 @@
+               gtk_widget_show(selected_frame);
+               gtk_widget_set_sensitive(deselect_all,TRUE);
+       }
+-      if ( (archive->type == XARCHIVETYPE_RAR && unrar) || archive->type == 
XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP)
++      if ( (archive->type == XARCHIVETYPE_RAR && unrar) || archive->type == 
XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == 
XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == 
XARCHIVETYPE_LZOP)
+       {
+               gtk_widget_set_sensitive (delete_menu,FALSE);
+               gtk_widget_set_sensitive (rename_menu,FALSE);
+@@ -2287,7 +2287,7 @@
+                       else
+                               value = TRUE;
+               }
+-              if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == 
XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_DEB || archive->type == 
XARCHIVETYPE_RPM)
++              if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == 
XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == 
XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP || archive->type == 
XARCHIVETYPE_DEB || archive->type == XARCHIVETYPE_RPM)
+               {
+                       gtk_widget_set_sensitive(ddelete,FALSE);
+                       gtk_widget_set_sensitive(rrename,FALSE);

Added: xarchiver/trunk/xarchiver-0.5.2-segfault-open-with.patch
===================================================================
--- xarchiver/trunk/xarchiver-0.5.2-segfault-open-with.patch                    
        (rev 0)
+++ xarchiver/trunk/xarchiver-0.5.2-segfault-open-with.patch    2014-01-24 
05:18:05 UTC (rev 104640)
@@ -0,0 +1,15 @@
+diff -pur xarchiver-0.5.2/src/open-with-dlg.c 
xarchiver-0.5.2.new/src/open-with-dlg.c
+--- xarchiver-0.5.2/src/open-with-dlg.c        2008-10-17 14:06:03.000000000 
+0200
++++ xarchiver-0.5.2.new/src/open-with-dlg.c    2011-05-16 21:48:49.042839556 
+0200
+@@ -289,7 +289,10 @@ static void xa_open_with_dialog_selectio
+       GtkTreeIter iter;
+       GtkTreeModel *model;
+ 
+-      gtk_tree_selection_get_selected(selection,&model,&iter);
++      if (!gtk_tree_selection_get_selected(selection,&model,&iter)) {
++              return;
++      }
++
+       gtk_tree_model_get(model,&iter,2,&exec,-1);
+       
+       gtk_entry_set_text(GTK_ENTRY(data->custom_command_entry),exec);

Added: xarchiver/trunk/xarchiver.install
===================================================================
--- xarchiver/trunk/xarchiver.install                           (rev 0)
+++ xarchiver/trunk/xarchiver.install   2014-01-24 05:18:05 UTC (rev 104640)
@@ -0,0 +1,12 @@
+post_install() {
+  update-desktop-database -q
+  gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}

Reply via email to