summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archivers/xarchiver/Makefile22
-rw-r--r--archivers/xarchiver/distinfo6
-rw-r--r--archivers/xarchiver/files/patch-src_bzip2.c17
-rw-r--r--archivers/xarchiver/files/patch-src_gzip__et__al.c38
-rw-r--r--archivers/xarchiver/files/patch-src_main.c25
-rw-r--r--archivers/xarchiver/files/patch-src_tar.c56
-rw-r--r--archivers/xarchiver/files/patch-src_window.c20
-rw-r--r--archivers/xarchiver/pkg-plist9
8 files changed, 100 insertions, 93 deletions
diff --git a/archivers/xarchiver/Makefile b/archivers/xarchiver/Makefile
index da49fe27c881..5aa2a8ecbd71 100644
--- a/archivers/xarchiver/Makefile
+++ b/archivers/xarchiver/Makefile
@@ -2,21 +2,23 @@
# $FreeBSD$
PORTNAME= xarchiver
-PORTVERSION= 0.5.4.7
+PORTVERSION= 0.5.4.15
CATEGORIES= archivers
MAINTAINER= danilo@FreeBSD.org
-COMMENT= Desktop-agnostic GTK+2 frontend to various archiving tools
+COMMENT= Desktop-agnostic GTK frontend to various archiving tools
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
-RUN_DEPENDS= xdg-open:devel/xdg-utils \
- 7zr:archivers/p7zip \
- zip:archivers/zip \
- zipinfo:archivers/unzip
+RUN_DEPENDS= 7zr:archivers/p7zip \
+ gtar:archivers/gtar \
+ gzip:archivers/gzip \
+ ${LOCALBASE}/bin/unzip:archivers/unzip \
+ xdg-open:devel/xdg-utils \
+ zip:archivers/zip
USES= desktop-file-utils gmake gnome pkgconfig
@@ -32,7 +34,7 @@ OPTIONS_GROUP= FORMATS
OPTIONS_GROUP_FORMATS= ARJ LZO RAR
OPTIONS_SINGLE= GTK
OPTIONS_SINGLE_GTK= GTK2 GTK3
-OPTIONS_DEFAULT= GTK2
+OPTIONS_DEFAULT= GTK3
OPTIONS_SUB= yes
FORMATS_DESC= Additional compression formats support
@@ -45,6 +47,8 @@ LZO_RUN_DEPENDS= lzop:archivers/lzop
RAR_RUN_DEPENDS= unrar:archivers/unrar \
rar:archivers/rar
+DOCS_USE= GNOME=libxslt
+
GTK2_CONFIGURE_ENABLE= gtk2
GTK2_USE= GNOME=gtk20
GTK3_USE= GNOME=gtk30
@@ -52,6 +56,10 @@ GTK3_USE= GNOME=gtk30
NLS_USES= gettext localbase
NLS_USES_OFF= gettext-tools
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+ ${WRKSRC}/src/main.c
+
post-patch-DOCS-off:
@${REINPLACE_CMD} -e 's|doc||g' ${WRKSRC}/Makefile.in
diff --git a/archivers/xarchiver/distinfo b/archivers/xarchiver/distinfo
index a30c838e34a3..39d0b6b4ba99 100644
--- a/archivers/xarchiver/distinfo
+++ b/archivers/xarchiver/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1573391800
-SHA256 (ib-xarchiver-0.5.4.7_GH0.tar.gz) = 73a018f14dbb0d6eda9759103cb31ebef65f12a4297dc7a00a770d5395f2ad21
-SIZE (ib-xarchiver-0.5.4.7_GH0.tar.gz) = 985956
+TIMESTAMP = 1593522406
+SHA256 (ib-xarchiver-0.5.4.15_GH0.tar.gz) = 2a18f5a8932516ecc5c50152ff6ce77bc3f58a0b221d6db9c70d089cf90d7182
+SIZE (ib-xarchiver-0.5.4.15_GH0.tar.gz) = 1072943
diff --git a/archivers/xarchiver/files/patch-src_bzip2.c b/archivers/xarchiver/files/patch-src_bzip2.c
deleted file mode 100644
index debaa115fbfe..000000000000
--- a/archivers/xarchiver/files/patch-src_bzip2.c
+++ /dev/null
@@ -1,17 +0,0 @@
---- src/bzip2.c.orig 2016-07-19 21:54:07 UTC
-+++ src/bzip2.c
-@@ -176,11 +176,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;
diff --git a/archivers/xarchiver/files/patch-src_gzip__et__al.c b/archivers/xarchiver/files/patch-src_gzip__et__al.c
new file mode 100644
index 000000000000..861220efb44d
--- /dev/null
+++ b/archivers/xarchiver/files/patch-src_gzip__et__al.c
@@ -0,0 +1,38 @@
+--- src/gzip_et_al.c.orig 2020-05-30 14:10:55 UTC
++++ src/gzip_et_al.c
+@@ -109,7 +109,7 @@ gchar *xa_gzip_et_al_get_command (const gchar *program
+ password_str = xa_gzip_et_al_password_str(password, type);
+ workfile = xa_escape_bad_chars(workfile, "\"");
+ archive = xa_quote_shell_command(archive, TRUE);
+- command = g_strconcat("sh -c \"", program, " ", workfile, password_str, type == XARCHIVETYPE_LRZIP ? " -fo " : " -c > ", archive, "\"", NULL);
++ command = g_strconcat("sh -c \"", program, type == XARCHIVETYPE_LRZIP ? " " : " -c ", workfile, password_str, type == XARCHIVETYPE_LRZIP ? " -fo " : " > ", archive, "\"", NULL);
+ g_free(archive);
+ g_free(workfile);
+ g_free(password_str);
+@@ -468,7 +468,7 @@ void xa_gzip_et_al_list (XArchive *archive)
+ archive_path = xa_quote_shell_command(archive->path[0], TRUE);
+
+ archive->child_dir = g_strdup(archive->working_dir);
+- command = g_strconcat("sh -c \"", archiver[archive->type].program[0], " -d", password_str, " ", archive_path, lrzip ? " -fo " : " -c > ", decompfile, "\"", NULL);
++ command = g_strconcat("sh -c \"", archiver[archive->type].program[0], lrzip ? " " : " -c ", "-d", password_str, " ", archive_path, lrzip ? " -fo " : " > ", decompfile, "\"", NULL);
+ xa_run_command(archive, command);
+ g_free(command);
+
+@@ -702,7 +702,7 @@ gboolean xa_gzip_et_al_extract (XArchive *archive, GSL
+ if (archive->do_overwrite || !g_file_test(out_file, G_FILE_TEST_EXISTS))
+ {
+ password_str = xa_gzip_et_al_password_str(archive->password, archive->type);
+- command = g_strconcat("sh -c \"", archiver[archive->type].program[0], " -d", password_str, " ", archive_path, lrzip ? " -fo " : " -c > ", extraction_dir, "/", files_str, "\"", NULL);
++ command = g_strconcat("sh -c \"", archiver[archive->type].program[0], lrzip ? " " : " -c ", "-d", password_str, " ", archive_path, lrzip ? " -fo " : " > ", extraction_dir, "/", files_str, "\"", NULL);
+ g_free(password_str);
+ }
+ else
+@@ -777,7 +777,7 @@ void xa_gzip_et_al_add (XArchive *archive, GSList *fil
+ move = g_strdup("");
+
+ password_str = xa_gzip_et_al_password_str(archive->password, archive->type);
+- command = g_strconcat("sh -c \"", archiver[archive->type].program[0], " -", compress ? "b " : (lrzip ? "L " : ""), compression, password_str, files_str, lrzip ? " -fo " : " -c > ", archive_path, move, "\"", NULL);
++ command = g_strconcat("sh -c \"", archiver[archive->type].program[0], lrzip ? " -" : " -c -", compress ? "b " : (lrzip ? "L " : ""), compression, password_str, files_str, lrzip ? " -fo " : " > ", archive_path, move, "\"", NULL);
+ g_free(password_str);
+
+ g_free(move);
diff --git a/archivers/xarchiver/files/patch-src_main.c b/archivers/xarchiver/files/patch-src_main.c
new file mode 100644
index 000000000000..aacadce39eb4
--- /dev/null
+++ b/archivers/xarchiver/files/patch-src_main.c
@@ -0,0 +1,25 @@
+--- src/main.c.orig 2020-05-30 14:10:55 UTC
++++ src/main.c
+@@ -387,7 +387,7 @@ static void xa_check_available_archivers ()
+ /* GNU zip */
+
+ type = XARCHIVETYPE_GZIP;
+- path = g_find_program_in_path("gzip");
++ path = g_find_program_in_path("%%LOCALBASE%%/bin/gzip");
+
+ if (path)
+ archiver[type].is_compressor = TRUE;
+@@ -799,11 +799,11 @@ static void xa_check_available_archivers ()
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(prefs_window->prefer_unzip)) ||
+ (!is7za && !lsar))
+ {
+- path = g_find_program_in_path("unzip");
++ path = g_find_program_in_path("%%LOCALBASE%%/bin/unzip");
+
+ if (path)
+ {
+- gchar *zip = g_find_program_in_path("zip");
++ gchar *zip = g_find_program_in_path("%%LOCALBASE%%/bin/zip");
+
+ if (zip)
+ {
diff --git a/archivers/xarchiver/files/patch-src_tar.c b/archivers/xarchiver/files/patch-src_tar.c
deleted file mode 100644
index 3722360be86b..000000000000
--- a/archivers/xarchiver/files/patch-src_tar.c
+++ /dev/null
@@ -1,56 +0,0 @@
---- src/tar.c.orig 2016-07-19 21:54:07 UTC
-+++ src/tar.c
-@@ -334,7 +334,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
-@@ -353,7 +353,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
-@@ -372,7 +372,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
-@@ -391,7 +391,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
-@@ -410,7 +410,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
-@@ -429,7 +429,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
diff --git a/archivers/xarchiver/files/patch-src_window.c b/archivers/xarchiver/files/patch-src_window.c
index 6d7f91b64490..9cb92732efd6 100644
--- a/archivers/xarchiver/files/patch-src_window.c
+++ b/archivers/xarchiver/files/patch-src_window.c
@@ -1,11 +1,11 @@
---- src/window.c.orig 2016-07-19 21:54:07 UTC
+--- src/window.c.orig 2020-06-30 13:19:44 UTC
+++ src/window.c
-@@ -1181,7 +1181,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;
+@@ -1823,7 +1823,7 @@ ArchiveType xa_detect_archive_type (const gchar *filen
+ xa.type = XARCHIVETYPE_LZ4;
+ else if (memcmp(magic, "LZIP", 4) == 0)
+ xa.type = XARCHIVETYPE_LZIP;
+- else if (memcmp(magic, "\x5d\x00\x00\x80", 4) == 0)
++ else if (memcmp(magic, "\x5d\x00\x00", 3) == 0)
+ xa.type = XARCHIVETYPE_LZMA;
+ else if (memcmp(magic, "\211LZO", 4) == 0)
+ xa.type = XARCHIVETYPE_LZOP;
diff --git a/archivers/xarchiver/pkg-plist b/archivers/xarchiver/pkg-plist
index b3bfb17227ac..189efc39f08b 100644
--- a/archivers/xarchiver/pkg-plist
+++ b/archivers/xarchiver/pkg-plist
@@ -1,5 +1,6 @@
bin/xarchiver
libexec/thunar-archive-plugin/xarchiver.tap
+man/man1/xarchiver.1.gz
share/applications/xarchiver.desktop
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
@@ -60,7 +61,9 @@ share/icons/hicolor/scalable/apps/xarchiver.svg
%%NLS%%share/locale/ja/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/kk/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/ku/LC_MESSAGES/xarchiver.mo
+%%NLS%%share/locale/lt/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/lv/LC_MESSAGES/xarchiver.mo
+%%NLS%%share/locale/ms/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/nb/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/nl/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/pa/LC_MESSAGES/xarchiver.mo
@@ -72,14 +75,20 @@ share/icons/hicolor/scalable/apps/xarchiver.svg
%%NLS%%share/locale/si/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/sk/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/sq/LC_MESSAGES/xarchiver.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/sv/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/te/LC_MESSAGES/xarchiver.mo
+%%NLS%%share/locale/th/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/tr/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/ug/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/uk/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/ur/LC_MESSAGES/xarchiver.mo
+%%NLS%%share/locale/vi/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/xarchiver.mo
%%NLS%%share/locale/zh_TW/LC_MESSAGES/xarchiver.mo
share/pixmaps/xarchiver/xarchiver-add.png
+share/pixmaps/xarchiver/xarchiver-close.png
share/pixmaps/xarchiver/xarchiver-extract.png
+share/pixmaps/xarchiver/xarchiver-green.png
share/pixmaps/xarchiver/xarchiver-html.png
+share/pixmaps/xarchiver/xarchiver-red.png