Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Jan 2016 19:01:35 +0000 (UTC)
From:      Alexey Dokuchaev <danfe@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r405480 - in head/archivers: . unarchiver unarchiver/files
Message-ID:  <201601071901.u07J1Z3A003620@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: danfe
Date: Thu Jan  7 19:01:34 2016
New Revision: 405480
URL: https://svnweb.freebsd.org/changeset/ports/405480

Log:
  - Add a port of The Unarchiver, GNUstep-based unpacker for a vast variety
    of file formats, both old and new
  - Use external wavpack library instead of the bundled one, so that if it
    has a security vulnerability, the port would not have to be recompiled
  
  WWW: http://unarchiver.c3.cx/commandline

Added:
  head/archivers/unarchiver/
  head/archivers/unarchiver/Makefile   (contents, props changed)
  head/archivers/unarchiver/distinfo   (contents, props changed)
  head/archivers/unarchiver/files/
  head/archivers/unarchiver/files/patch-UniversalDetector_Makefile.freebsd   (contents, props changed)
  head/archivers/unarchiver/files/patch-XADMaster_Makefile.common   (contents, props changed)
  head/archivers/unarchiver/files/patch-XADMaster_Makefile.freebsd   (contents, props changed)
  head/archivers/unarchiver/files/patch-XADMaster_XADWinZipWavPackHandle.h   (contents, props changed)
  head/archivers/unarchiver/pkg-descr   (contents, props changed)
Modified:
  head/archivers/Makefile

Modified: head/archivers/Makefile
==============================================================================
--- head/archivers/Makefile	Thu Jan  7 18:38:23 2016	(r405479)
+++ head/archivers/Makefile	Thu Jan  7 19:01:34 2016	(r405480)
@@ -204,6 +204,7 @@
     SUBDIR += unace
     SUBDIR += unadf
     SUBDIR += unalz
+    SUBDIR += unarchive
     SUBDIR += unarj
     SUBDIR += undms
     SUBDIR += unfoo

Added: head/archivers/unarchiver/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/unarchiver/Makefile	Thu Jan  7 19:01:34 2016	(r405480)
@@ -0,0 +1,45 @@
+# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME=	unar
+PORTVERSION=	1.9.1
+CATEGORIES=	archivers gnustep
+MASTER_SITES=	http://wakaba.c3.cx/releases/TheUnarchiver/
+DISTNAME=	${PORTNAME}${PORTVERSION}_src
+
+MAINTAINER=	danfe@FreeBSD.org
+COMMENT=	Unarchiver for a vast variety of file formats
+
+LICENSE=	LGPL21
+LICENSE_FILE=	${WRKSRC}/License.txt
+
+# XXX: USES=gnustep overrides MAKEFILE we set below, so depend explicitly
+LIB_DEPENDS=	libgnustep-base.so:${PORTSDIR}/lang/gnustep-base \
+		libwavpack.so:${PORTSDIR}/audio/wavpack
+
+USES=		gmake zip
+
+MAKEFILE=	Makefile.freebsd
+WRKSRC=		${WRKDIR}/The\ Unarchiver
+BUILD_WRKSRC=	${WRKSRC}/XADMaster
+
+PLIST_FILES=	bin/lsar bin/unar man/man1/lsar.1.gz man/man1/unar.1.gz
+PORTDOCS=	README.md
+PORTEXAMPLES=	lsar.bash_completion unar.bash_completion
+
+OPTIONS_DEFINE=	DOCS EXAMPLES
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/XADMaster/??ar ${STAGEDIR}${PREFIX}/bin
+	${INSTALL_MAN} ${WRKSRC}/Extra/??ar.1 ${STAGEDIR}${MANPREFIX}/man/man1
+
+do-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
+
+do-install-EXAMPLES-on:
+	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+	${INSTALL_DATA} ${WRKSRC}/Extra/??ar.bash_completion \
+		${STAGEDIR}${EXAMPLESDIR}
+
+.include <bsd.port.mk>

Added: head/archivers/unarchiver/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/unarchiver/distinfo	Thu Jan  7 19:01:34 2016	(r405480)
@@ -0,0 +1,2 @@
+SHA256 (unar1.9.1_src.zip) = 28045fb688563c002b7c2807e80575d3f9af8eb024739f9ab836f681bb8e822c
+SIZE (unar1.9.1_src.zip) = 2541499

Added: head/archivers/unarchiver/files/patch-UniversalDetector_Makefile.freebsd
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/unarchiver/files/patch-UniversalDetector_Makefile.freebsd	Thu Jan  7 19:01:34 2016	(r405480)
@@ -0,0 +1,26 @@
+--- UniversalDetector/Makefile.freebsd.orig	2015-09-23 20:24:59 UTC
++++ UniversalDetector/Makefile.freebsd
+@@ -1,10 +1,7 @@
+ # Compilers and linkers
+ 
+-OBJCC = clang
+-CC = clang
+-CXX = clang++
++OBJCC ?= $(CC)
+ LD = $(CXX)
+-AR = ar
+ 
+ # Options for compilation
+ 
+@@ -16,10 +13,9 @@ GNUSTEP_OPTS =	-DGNUSTEP \
+ 		-fobjc-exceptions \
+ 		-fconstant-string-class=NSConstantString
+ 
+-GCC_OPTS = 	-O2 \
++GCC_OPTS = 	$(CFLAGS) \
+ 		-Wno-import \
+ 		-Wno-multichar \
+-		-g \
+ 		-D_FILE_OFFSET_BITS=64 \
+ 		-isystem /usr/local/GNUstep/System/Library/Headers \
+ 		-I/usr/local/include

Added: head/archivers/unarchiver/files/patch-XADMaster_Makefile.common
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/unarchiver/files/patch-XADMaster_Makefile.common	Thu Jan  7 19:01:34 2016	(r405480)
@@ -0,0 +1,15 @@
+--- XADMaster/Makefile.common.orig	2015-09-23 20:24:59 UTC
++++ XADMaster/Makefile.common
+@@ -206,12 +206,6 @@ LIBRARY_C_FILES =	BWT.c \
+ 			PPMd/VariantG.c \
+ 			PPMd/VariantH.c \
+ 			PPMd/VariantI.c \
+-			wavpack/bits.c \
+-			wavpack/float.c \
+-			wavpack/metadata.c \
+-			wavpack/unpack.c \
+-			wavpack/words.c \
+-			wavpack/wputils.c \
+ 			WinZipJPEG/ArithmeticDecoder.c \
+ 			WinZipJPEG/Decompressor.c \
+ 			WinZipJPEG/JPEG.c

Added: head/archivers/unarchiver/files/patch-XADMaster_Makefile.freebsd
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/unarchiver/files/patch-XADMaster_Makefile.freebsd	Thu Jan  7 19:01:34 2016	(r405480)
@@ -0,0 +1,52 @@
+--- XADMaster/Makefile.freebsd.orig	2015-09-23 20:24:59 UTC
++++ XADMaster/Makefile.freebsd
+@@ -1,10 +1,7 @@
+ # Compilers and linkers
+ 
+-OBJCC = clang
+-CC = clang
+-CXX = clang++
++OBJCC ?= $(CC)
+ LD = $(CXX)
+-AR = ar
+ 
+ # Options for compilation
+ 
+@@ -16,10 +13,8 @@ GNUSTEP_OPTS =	-DGNUSTEP \
+ 		-fobjc-exceptions \
+ 		-fconstant-string-class=NSConstantString
+ 
+-GCC_OPTS = 	-O2 \
+-		-Wno-import \
++GCC_OPTS = 	$(CFLAGS) -Wno-import \
+ 		-Wno-multichar \
+-		-g \
+ 		-D_FILE_OFFSET_BITS=64 \
+ 		-isystem /usr/local/GNUstep/System/Library/Headers \
+ 		-I/usr/local/include
+@@ -42,6 +37,7 @@ LIBS =	-Wl,--no-whole-archive \
+ 	-lgnustep-base \
+ 	-lz \
+ 	-lbz2 \
++	-lwavpack \
+ 	-licuuc \
+ 	-lobjc \
+ 	-lm
+@@ -74,7 +70,7 @@ libXADMaster.a: $(LIBRARY_OBJS)
+ 	$(AR) rcs $@ $^
+ 
+ ../UniversalDetector/libUniversalDetector.a:
+-	gmake -C ../UniversalDetector -f Makefile.linux
++	$(MAKE) -C ../UniversalDetector -f Makefile.freebsd
+ 
+ XADTest2: $(XADTEST2_OBJS) libXADMaster.a ../UniversalDetector/libUniversalDetector.a
+ 	$(LD) $(ALL_LDFLAGS) -o $@ $^ $(LIBS)
+@@ -99,7 +95,7 @@ lsar: $(LSAR_OBJS) $(CMDLINE_OBJS) libXA
+ 
+ clean:
+ 	rm -rf $(BUILD_DIR) $(EXECUTABLE_FILES) $(LIBRARY_FILES)
+-	gmake -C ../UniversalDetector -f Makefile.linux clean
++	$(MAKE) -C ../UniversalDetector -f Makefile.freebsd clean
+ 
+ .PHONY: ../UniversalDetector/libUniversalDetector.a clean
+ 

Added: head/archivers/unarchiver/files/patch-XADMaster_XADWinZipWavPackHandle.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/unarchiver/files/patch-XADMaster_XADWinZipWavPackHandle.h	Thu Jan  7 19:01:34 2016	(r405480)
@@ -0,0 +1,10 @@
+--- XADMaster/XADWinZipWavPackHandle.h.orig	2015-09-23 20:24:59 UTC
++++ XADMaster/XADWinZipWavPackHandle.h
+@@ -1,6 +1,6 @@
+ #import "CSBlockStreamHandle.h"
+ 
+-#import "wavpack/wavpack.h"
++#import <wavpack/wavpack.h>
+ 
+ @interface XADWinZipWavPackHandle:CSBlockStreamHandle
+ {

Added: head/archivers/unarchiver/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/unarchiver/pkg-descr	Thu Jan  7 19:01:34 2016	(r405480)
@@ -0,0 +1,11 @@
+The Unarchiver is an archive unpacker program with support for the lots of
+popular ZIP, RAR, 7z, tar, gzip, bzip2, LZMA, XZ, CAB, MSI, NSIS, EXE, ISO,
+BIN, split file formats, as well as the old Stuffit, Stuffit X, DiskDouble,
+Compact Pro, Packit, cpio, compress (.Z), ARJ, ARC, PAK, ACE, ZOO, LZH, ADF,
+DMS, LZX, PowerPacker, LBR, Squeeze, Crunch, and other old/obscure formats.
+
+It can also handle filenames in foreign character sets, created with non-
+English versions of some operating systems, and is particularly useful for
+processing CJK archives correctly.
+
+WWW: https://unarchiver.c3.cx/commandline



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