Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Sep 2015 00:12:20 +0000 (UTC)
From:      Danilo Egea Gondolfo <danilo@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r397093 - in head/archivers/xarchiver: . files
Message-ID:  <201509170012.t8H0CK3a074336@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: danilo
Date: Thu Sep 17 00:12:19 2015
New Revision: 397093
URL: https://svnweb.freebsd.org/changeset/ports/397093

Log:
  - Replace '--touch' option with '-m'
  - Fix '--use-compress-program' usage with bsdtar where needed
  - Improve LZMA detection
  - Add missing dependency to zipinfo (required to view contents of ZIP archives)
  - Add ARJ and LZO options
  - Sort USES
  while here
  - Add RAR option
  
  PR:		203103
  Submitted by:	Andriy Voskoboinyk <s3erios@gmail.com>
  MFH:		2015Q3

Added:
  head/archivers/xarchiver/files/
  head/archivers/xarchiver/files/patch-src_bzip2.c   (contents, props changed)
  head/archivers/xarchiver/files/patch-src_tar.c   (contents, props changed)
  head/archivers/xarchiver/files/patch-src_window.c   (contents, props changed)
Modified:
  head/archivers/xarchiver/Makefile

Modified: head/archivers/xarchiver/Makefile
==============================================================================
--- head/archivers/xarchiver/Makefile	Wed Sep 16 23:38:56 2015	(r397092)
+++ head/archivers/xarchiver/Makefile	Thu Sep 17 00:12:19 2015	(r397093)
@@ -3,6 +3,7 @@
 
 PORTNAME=	xarchiver
 PORTVERSION=	0.5.4
+PORTREVISION=	1
 CATEGORIES=	archivers
 MASTER_SITES=	SF/${PORTNAME:tl}
 
@@ -13,16 +14,29 @@ LICENSE=	GPLv2
 
 RUN_DEPENDS=	xdg-open:${PORTSDIR}/devel/xdg-utils \
 		7zr:${PORTSDIR}/archivers/p7zip \
-		zip:${PORTSDIR}/archivers/zip
+		zip:${PORTSDIR}/archivers/zip \
+		zipinfo:${PORTSDIR}/archivers/unzip
 
-USES=		tar:bzip2 gmake pkgconfig desktop-file-utils
+USES=		desktop-file-utils gmake pkgconfig tar:bzip2
 USE_GNOME=	glib20 gtk20 intltool
 GNU_CONFIGURE=	yes
 INSTALLS_ICONS=	yes
 
 OPTIONS_DEFINE=	DOCS NLS
+OPTIONS_GROUP=	FORMATS
+OPTIONS_GROUP_FORMATS=	ARJ LZO RAR
 OPTIONS_SUB=	yes
 
+FORMATS_DESC=	Additional compression formats support
+ARJ_DESC=	ARJ compression support
+LZO_DESC=	LZO compression support
+RAR_DESC=	RAR compression support
+
+ARJ_RUN_DEPENDS=	arj:${PORTSDIR}/archivers/arj
+LZO_RUN_DEPENDS=	lzop:${PORTSDIR}/archivers/lzop
+RAR_RUN_DEPENDS=	unrar:${PORTSDIR}/archivers/unrar \
+			rar:${PORTSDIR}/archivers/rar
+
 NLS_USES=	gettext
 NLS_CPPFLAGS+=	-I${LOCALBASE}/include
 NLS_LDFLAGS+=	-L${LOCALBASE}/lib

Added: head/archivers/xarchiver/files/patch-src_bzip2.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/xarchiver/files/patch-src_bzip2.c	Thu Sep 17 00:12:19 2015	(r397093)
@@ -0,0 +1,17 @@
+--- src/bzip2.c.orig	2014-02-09 15:26:24 UTC
++++ src/bzip2.c
+@@ -171,11 +171,11 @@ void xa_open_tar_compressed_file(XArchiv
+ 	if (archive->type == XARCHIVETYPE_TAR_BZ2)
+ 		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);
++		command = g_strconcat(tar," tv --use-compress-program='lzma -d' -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);
++		command = g_strconcat(tar," tv --use-compress-program='xz -d' -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);
++		command = g_strconcat(tar," tv --use-compress-program='lzop -d' -f ",archive->escaped_path,NULL);
+ 	/* else fail? */
+ 
+ 	archive->has_properties = archive->can_add = archive->can_extract = archive->has_test = TRUE;

Added: head/archivers/xarchiver/files/patch-src_tar.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/xarchiver/files/patch-src_tar.c	Thu Sep 17 00:12:19 2015	(r397093)
@@ -0,0 +1,123 @@
+--- src/tar.c.orig	2014-09-28 20:10:38 UTC
++++ src/tar.c
+@@ -331,7 +331,7 @@ gboolean xa_tar_extract(XArchive *archiv
+ 						#else
+ 								archive->overwrite ? " --overwrite" : " --keep-old-files",
+ 						#endif
+-								archive->tar_touch ? " --touch" : "",
++								archive->tar_touch ? " -m" : "",
+ 								" -C ",archive->extraction_path," ",names->str,NULL);
+ 		}
+ 		else
+@@ -350,7 +350,7 @@ gboolean xa_tar_extract(XArchive *archiv
+ 						#else
+ 								archive->overwrite ? " --overwrite" : " --keep-old-files",
+ 						#endif
+-								archive->tar_touch ? " --touch" : "",
++								archive->tar_touch ? " -m" : "",
+ 								" -C ",archive->extraction_path," ",names->str,NULL);
+ 		}
+ 		else
+@@ -369,7 +369,7 @@ gboolean xa_tar_extract(XArchive *archiv
+ 						#else
+ 								archive->overwrite ? " --overwrite" : " --keep-old-files",
+ 						#endif
+-								archive->tar_touch ? " --touch" : "",
++								archive->tar_touch ? " -m" : "",
+ 								" -C ",archive->extraction_path," ",names->str,NULL);
+ 		}
+ 		else
+@@ -382,18 +382,18 @@ gboolean xa_tar_extract(XArchive *archiv
+ 		case XARCHIVETYPE_TAR_LZMA:
+ 		if (archive->full_path || multi_extract)
+ 		{
+-			command = g_strconcat (tar, " --use-compress-program=lzma -xvf " , archive->escaped_path,
++			command = g_strconcat (tar, " --use-compress-program='lzma -d' -xvf " , archive->escaped_path,
+ 						#ifdef __FreeBSD__
+ 								archive->overwrite ? " " : " -k",
+ 						#else
+ 								archive->overwrite ? " --overwrite" : " --keep-old-files",
+ 						#endif
+-								archive->tar_touch ? " --touch" : "",
++								archive->tar_touch ? " -m" : "",
+ 								" -C ",archive->extraction_path," ",names->str,NULL);
+ 		}
+ 		else
+ 		{
+-			result = xa_extract_tar_without_directories ( "tar --use-compress-program=lzma -xvf ",archive,names->str);
++			result = xa_extract_tar_without_directories ( "tar --use-compress-program='lzma -d' -xvf ",archive,names->str);
+ 			command = NULL;
+ 		}
+ 		break;
+@@ -401,18 +401,18 @@ gboolean xa_tar_extract(XArchive *archiv
+ 		case XARCHIVETYPE_TAR_LZOP:
+ 		if (archive->full_path || multi_extract)
+ 		{
+-			command = g_strconcat (tar, " --use-compress-program=lzop -xvf " , archive->escaped_path,
++			command = g_strconcat (tar, " --use-compress-program='lzop -d' -xvf " , archive->escaped_path,
+ 						#ifdef __FreeBSD__
+ 								archive->overwrite ? " " : " -k",
+ 						#else
+ 								archive->overwrite ? " --overwrite" : " --keep-old-files",
+ 						#endif
+-								archive->tar_touch ? " --touch" : "",
++								archive->tar_touch ? " -m" : "",
+ 								" -C ",archive->extraction_path," ",names->str,NULL);
+ 		}
+ 		else
+ 		{
+-			result = xa_extract_tar_without_directories ( "tar --use-compress-program=lzop -xvf ",archive,names->str);
++			result = xa_extract_tar_without_directories ( "tar --use-compress-program='lzop -d' -xvf ",archive,names->str);
+ 			command = NULL;
+ 		}
+ 		break;
+@@ -420,18 +420,18 @@ gboolean xa_tar_extract(XArchive *archiv
+ 		case XARCHIVETYPE_TAR_XZ:
+ 		if (archive->full_path || multi_extract)
+ 		{
+-			command = g_strconcat (tar, " --use-compress-program=xz -xvf " , archive->escaped_path,
++			command = g_strconcat (tar, " --use-compress-program='xz -d' -xvf " , archive->escaped_path,
+ 						#ifdef __FreeBSD__
+ 								archive->overwrite ? " " : " -k",
+ 						#else
+ 								archive->overwrite ? " --overwrite" : " --keep-old-files",
+ 						#endif
+-								archive->tar_touch ? " --touch" : "",
++								archive->tar_touch ? " -m" : "",
+ 								" -C ",archive->extraction_path," ",names->str,NULL);
+ 		}
+ 		else
+ 		{
+-			result = xa_extract_tar_without_directories ( "tar --use-compress-program=xz -xvf ",archive,names->str);
++			result = xa_extract_tar_without_directories ( "tar --use-compress-program='xz -d' -xvf ",archive,names->str);
+ 			command = NULL;
+ 		}
+ 		break;
+@@ -567,7 +567,7 @@ gboolean xa_extract_tar_without_director
+ 											archive->overwrite ? " --overwrite" : " --keep-old-files",
+ 											" --no-wildcards ",
+ 										#endif
+-										archive->tar_touch ? " --touch" : "",
++										archive->tar_touch ? " -m" : "",
+ 										"-C ",archive->tmp," ",files_to_extract,NULL);
+ 	list = g_slist_append(list,command);
+ 	if (strstr(files_to_extract,"/") || strcmp(archive->tmp,archive->extraction_path) != 0)
+@@ -618,15 +618,15 @@ void xa_tar_test(XArchive *archive)
+ 		break;
+ 
+ 		case XARCHIVETYPE_TAR_LZMA:
+-			command = g_strconcat (tar, " --use-compress-program=lzma -tvf ",archive->path, NULL);
++			command = g_strconcat (tar, " --use-compress-program='lzma -d' -tvf ",archive->path, NULL);
+ 		break;
+ 
+ 		case XARCHIVETYPE_TAR_LZOP:
+-			command = g_strconcat (tar, " --use-compress-program=lzop -tvf ",archive->path, NULL);
++			command = g_strconcat (tar, " --use-compress-program='lzop -d' -tvf ",archive->path, NULL);
+ 		break;
+ 		
+ 		case XARCHIVETYPE_TAR_XZ:
+-			command = g_strconcat (tar, " --use-compress-program=xz -tvf ",archive->path, NULL);
++			command = g_strconcat (tar, " --use-compress-program='xz -d' -tvf ",archive->path, NULL);
+ 		break;
+ 
+ 		case XARCHIVETYPE_LZMA:

Added: head/archivers/xarchiver/files/patch-src_window.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/xarchiver/files/patch-src_window.c	Thu Sep 17 00:12:19 2015	(r397093)
@@ -0,0 +1,11 @@
+--- src/window.c.orig	2014-09-28 20:42:37 UTC
++++ src/window.c
+@@ -1130,7 +1130,7 @@ XArchiveType xa_detect_archive_type (gch
+ 		xx = XARCHIVETYPE_BZIP2;
+ 	else if (memcmp ( magic,"\x1f\x8b",2) == 0 || memcmp ( magic,"\x1f\x9d",2) == 0)
+ 		xx = XARCHIVETYPE_GZIP;
+-	else if (memcmp ( magic,"\x5d\x00\x00\x80",4) == 0)
++	else if (memcmp ( magic,"\x5d\x00\x00",3) == 0)
+ 		xx = XARCHIVETYPE_LZMA;
+ 	else if (memcmp ( magic,"\xfd\x37\x7a\x58\x5a",5) == 0)
+ 		xx = XARCHIVETYPE_XZ;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201509170012.t8H0CK3a074336>