diff options
author | Jeremy Olexa <darkside@gentoo.org> | 2010-06-13 01:32:25 +0000 |
---|---|---|
committer | Jeremy Olexa <darkside@gentoo.org> | 2010-06-13 01:32:25 +0000 |
commit | 84df3dc84efdf6471765ebbd9cab2c25d1f37edb (patch) | |
tree | 44106ac72430347a265ed5a7f17affdeeed4f782 /app-arch | |
parent | Remove stale versions of enigmail that build against versions of thunderbird ... (diff) | |
download | historical-84df3dc84efdf6471765ebbd9cab2c25d1f37edb.tar.gz historical-84df3dc84efdf6471765ebbd9cab2c25d1f37edb.tar.bz2 historical-84df3dc84efdf6471765ebbd9cab2c25d1f37edb.zip |
Revision bump to add .tar.xz support, bug 320849 (Patch from slackware). Small style changes to DOCS installation and xfconf_use_debug.
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64
Diffstat (limited to 'app-arch')
-rw-r--r-- | app-arch/xarchiver/ChangeLog | 9 | ||||
-rw-r--r-- | app-arch/xarchiver/Manifest | 4 | ||||
-rw-r--r-- | app-arch/xarchiver/files/xarchiver-0.5.2-add_xz_support.patch | 314 | ||||
-rw-r--r-- | app-arch/xarchiver/xarchiver-0.5.2-r2.ebuild | 57 |
4 files changed, 382 insertions, 2 deletions
diff --git a/app-arch/xarchiver/ChangeLog b/app-arch/xarchiver/ChangeLog index ac353690d6b0..2a60ef3e2dc2 100644 --- a/app-arch/xarchiver/ChangeLog +++ b/app-arch/xarchiver/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-arch/xarchiver # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/xarchiver/ChangeLog,v 1.22 2010/04/14 17:45:52 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-arch/xarchiver/ChangeLog,v 1.23 2010/06/13 01:32:24 darkside Exp $ + +*xarchiver-0.5.2-r2 (13 Jun 2010) + + 13 Jun 2010; Jeremy Olexa <darkside@gentoo.org> + +xarchiver-0.5.2-r2.ebuild, +files/xarchiver-0.5.2-add_xz_support.patch: + Revision bump to add .tar.xz support, bug 320849 (Patch from slackware). + Small style changes to DOCS installation and xfconf_use_debug. 14 Apr 2010; Jeroen Roovers <jer@gentoo.org> xarchiver-0.5.2-r1.ebuild: Stable for HPPA (bug #305657). diff --git a/app-arch/xarchiver/Manifest b/app-arch/xarchiver/Manifest index 1be22164a503..3c2161007c58 100644 --- a/app-arch/xarchiver/Manifest +++ b/app-arch/xarchiver/Manifest @@ -1,5 +1,7 @@ +AUX xarchiver-0.5.2-add_xz_support.patch 14741 RMD160 fc0883c2c9f43bb74c68259bcdbfb26d8fe7e0ce SHA1 095d30622d22d1834290a95c8f82e7e650e5d8fb SHA256 ee5c761073b0065fa62e11302e5f7c81a90d5c896b8bcdadbc0753531fd15a02 AUX xarchiver-0.5.2-stack-smash.patch 581 RMD160 fec3a7501eaa584295c0118ba27f4ac85baa238b SHA1 990c62541b183594f76b523ba2e7c5c2d6a59307 SHA256 2032d3a7cdafc23b2577a6798af5ca93a913ff2a10ac4cf5adaf176433e9e424 DIST xarchiver-0.5.2.tar.bz2 755418 RMD160 77b1daadd39fd86c5582c75f774282f4bec41bf7 SHA1 8c8f0ee82c93abcdcf9974fa30611aa05fa51bd0 SHA256 cea932ff9d505969201fd502470bbebbc5726ab3d6765e142fc8295aa677ad2a EBUILD xarchiver-0.5.2-r1.ebuild 1312 RMD160 ebfa4c734e15676e8c4ee3acc2f646c32a61ef38 SHA1 dbca8f7b0395f0db5d249458954360bbb958ba73 SHA256 f073aee5402255db3b95b7eba2214999f7bc51c7c8a242f2c05a6018e5fbf5a0 -MISC ChangeLog 6761 RMD160 9da416468ed09b9d3a66e19d2a0c11aa1fd7abde SHA1 fba3d602f8f5bfdd975e73710297d2e5ec2f3a22 SHA256 d4d64cbd4e88074919f970b47e39cf6798efc4c8d8fe289a9e798eef8157bba6 +EBUILD xarchiver-0.5.2-r2.ebuild 1719 RMD160 fce2d733fc5d0a46f20878ee3945943ec0a3117f SHA1 7dc88f046e40716c2364fadbcb110b09c67a46a3 SHA256 7b1827000c78bfa1442926247ed3302872de19819ed6a43dc0732219a2bc218e +MISC ChangeLog 7067 RMD160 8c0321f00bcbe0109f6c5e21d932fc9b9beb65bc SHA1 51226dc46e9b820d6e190e972d28409b74de22b5 SHA256 da420b5630dcd3aea730237213bf4ef0cf9cd705e4ef6bf5b30a4122abe17bfc MISC metadata.xml 282 RMD160 91094ad401347628de4ab3e48ebbb5d620d6e2dd SHA1 cae64548911eb2bcbaca4e9ffd107b55404080f3 SHA256 e4c094365dccc476d8033116d416b8c037c870c34df1b13260dca4552b0826eb diff --git a/app-arch/xarchiver/files/xarchiver-0.5.2-add_xz_support.patch b/app-arch/xarchiver/files/xarchiver-0.5.2-add_xz_support.patch new file mode 100644 index 000000000000..09361138b309 --- /dev/null +++ b/app-arch/xarchiver/files/xarchiver-0.5.2-add_xz_support.patch @@ -0,0 +1,314 @@ +Patch from: http://slackbuilds.org/repository/13.1/system/xarchiver/ + +Not submitted upstream because the upstream author rewrote the code. So, this +patch may be dropped when/if upstream releases a new version + +diff -Nur 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 04:41:31.000000000 -0600 ++++ xarchiver-0.5.2/src/add_dialog.c 2009-11-30 13:17:54.983349491 -0600 +@@ -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 -Nur 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 02:49:41.000000000 -0600 ++++ xarchiver-0.5.2/src/archive.h 2009-11-30 13:17:54.984326164 -0600 +@@ -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 -Nur 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 05:17:48.000000000 -0600 ++++ xarchiver-0.5.2/src/bzip2.c 2009-11-30 13:17:54.984326164 -0600 +@@ -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 -Nur 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 04:28:11.000000000 -0600 ++++ xarchiver-0.5.2/src/extract_dialog.c 2009-11-30 13:17:54.985326653 -0600 +@@ -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 -Nur 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 05:21:43.000000000 -0600 ++++ xarchiver-0.5.2/src/main.c 2009-11-30 13:17:54.986351656 -0600 +@@ -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,6 +311,7 @@ + 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; +@@ -325,7 +327,7 @@ + add[XARCHIVETYPE_BZIP2] = add[XARCHIVETYPE_GZIP] = add[XARCHIVETYPE_LZMA] = &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; +@@ -337,7 +339,7 @@ + extract[XARCHIVETYPE_BZIP2] = extract[XARCHIVETYPE_GZIP] = extract[XARCHIVETYPE_LZMA] = &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; +@@ -348,7 +350,7 @@ + test[XARCHIVETYPE_DEB] = test[XARCHIVETYPE_BZIP2] = test[XARCHIVETYPE_GZIP] = test[XARCHIVETYPE_LZMA] = 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 -Nur 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 02:28:46.000000000 -0600 ++++ xarchiver-0.5.2/src/new_dialog.c 2009-11-30 13:17:54.987349701 -0600 +@@ -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 -Nur 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 04:28:34.000000000 -0600 ++++ xarchiver-0.5.2/src/tar.c 2009-11-30 13:19:34.037344951 -0600 +@@ -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); +@@ -449,6 +460,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"; +diff -Nur 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 02:31:45.000000000 -0600 ++++ xarchiver-0.5.2/src/window.c 2009-11-30 13:17:54.990326583 -0600 +@@ -1125,6 +1125,8 @@ + xx = XARCHIVETYPE_GZIP; + else if (memcmp ( magic,"\x5d\x00\x00\x80",4) == 0) + xx = XARCHIVETYPE_LZMA; ++ else if (memcmp ( magic,"\xFD7zXZ\x00\0x00",3) || memcmp ( magic, "\xFD7zXZ\x00\0x10",3) == 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: diff --git a/app-arch/xarchiver/xarchiver-0.5.2-r2.ebuild b/app-arch/xarchiver/xarchiver-0.5.2-r2.ebuild new file mode 100644 index 000000000000..65032b598fc1 --- /dev/null +++ b/app-arch/xarchiver/xarchiver-0.5.2-r2.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-arch/xarchiver/xarchiver-0.5.2-r2.ebuild,v 1.1 2010/06/13 01:32:24 darkside Exp $ + +EAPI=2 +inherit xfconf + +DESCRIPTION="a GTK+ based and advanced archive manager that can be used with Thunar" +HOMEPAGE="http://xarchiver.sourceforge.net" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux" +IUSE="debug" + +RDEPEND=">=x11-libs/gtk+-2.10:2 + >=dev-libs/glib-2.10:2" +DEPEND="${RDEPEND} + dev-util/intltool + dev-util/pkgconfig" + +pkg_setup() { + PATCHES=( "${FILESDIR}"/${P}-stack-smash.patch + "${FILESDIR}"/${P}-add_xz_support.patch ) + XFCONF="--disable-dependency-tracking + $(xfconf_use_debug)" + DOCS="AUTHORS ChangeLog NEWS README TODO" +} + +src_prepare() { + # Don't install the COPYING file. + sed -i -e '/COPYING/d' doc/Makefile.in || die + xfconf_src_prepare +} + +src_install() { + # xfconf_src_install will not work here because you cannot add variables to + # the emake call. Yay for code duplication. + emake DESTDIR="${D}" DOCDIR="${D}/usr/share/doc/${PF}" install || die "emake install failed" + + if [[ -n ${DOCS} ]]; then + dodoc ${DOCS} || die "dodoc failed" + fi +} + +pkg_postinst() { + xfconf_pkg_postinst + elog "You need external programs for some formats, including" + elog "7zip - app-arch/p7zip" + elog "arj - app-arch/unarj app-arch/arj" + elog "lha - app-arch/lha" + elog "lzop - app-arch/lzop" + elog "rar - app-arch/unrar app-arch/rar" + elog "zip - app-arch/unzip app-arch/zip" + elog "Make sure to install xfce-extra/thunar-archive-plugin." +} |