diff options
Diffstat (limited to 'archivers')
-rw-r--r-- | archivers/unshield/Makefile | 15 | ||||
-rw-r--r-- | archivers/unshield/distinfo | 5 | ||||
-rw-r--r-- | archivers/unshield/files/patch-unshield-v2-format | 212 | ||||
-rw-r--r-- | archivers/unshield/pkg-descr | 4 | ||||
-rw-r--r-- | archivers/unshield/pkg-plist | 4 |
5 files changed, 14 insertions, 226 deletions
diff --git a/archivers/unshield/Makefile b/archivers/unshield/Makefile index fc333bf7d884..376cc8cf62de 100644 --- a/archivers/unshield/Makefile +++ b/archivers/unshield/Makefile @@ -2,10 +2,8 @@ # $FreeBSD$ PORTNAME= unshield -PORTVERSION= 0.6 -PORTREVISION= 7 +PORTVERSION= 1.4 CATEGORIES= archivers -MASTER_SITES= SF/synce/Unshield/${PORTVERSION} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Extract data from InstallShield CAB files @@ -13,9 +11,14 @@ COMMENT= Extract data from InstallShield CAB files LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -GNU_CONFIGURE= yes -INSTALL_TARGET= install-strip +CFLAGS+= -fPIC USE_LDCONFIG= yes -USES= libtool pathfix +USES= cmake pathfix + +GH_ACCOUNT= twogood +USE_GITHUB= yes + +post-patch: + @${REINPLACE_CMD} -e '/CMAKE_INSTALL_DATAROOTDIR/ s|DATAROOTDIR|PREFIX|' ${WRKSRC}/CMakeLists.txt .include <bsd.port.mk> diff --git a/archivers/unshield/distinfo b/archivers/unshield/distinfo index dce39f31bb63..329898a36dfa 100644 --- a/archivers/unshield/distinfo +++ b/archivers/unshield/distinfo @@ -1,2 +1,3 @@ -SHA256 (unshield-0.6.tar.gz) = 2b10e59530c8dff94c1c416ea69f3a09fdef48428b509cd5422e7db9f947041f -SIZE (unshield-0.6.tar.gz) = 320192 +TIMESTAMP = 1483256014 +SHA256 (twogood-unshield-1.4_GH0.tar.gz) = 8ae91961212193a7d3d7973c1c9464f3cd1967c179d6099feb1bb193912f8231 +SIZE (twogood-unshield-1.4_GH0.tar.gz) = 37199 diff --git a/archivers/unshield/files/patch-unshield-v2-format b/archivers/unshield/files/patch-unshield-v2-format deleted file mode 100644 index fae6714ebbcb..000000000000 --- a/archivers/unshield/files/patch-unshield-v2-format +++ /dev/null @@ -1,212 +0,0 @@ ---- lib/component.c.orig 2005-06-28 18:49:36 UTC -+++ lib/component.c -@@ -40,11 +40,13 @@ UnshieldComponent* unshield_component_ne - case 7: - case 8: - case 9: -+ case 10: -+ case 11: -+ case 12: -+ case 13: -+ default: - p += 0x6b; - break; -- -- default: -- abort(); - } - - self->file_group_count = READ_UINT16(p); p += 2; ---- lib/file.c.orig 2007-01-06 14:34:57 UTC -+++ lib/file.c -@@ -77,6 +77,11 @@ static FileDescriptor* unshield_read_fil - case 7: - case 8: - case 9: -+ case 10: -+ case 11: -+ case 12: -+ case 13: -+ default: - saved_p = p = header->data + - header->common.cab_descriptor_offset + - header->cab.file_table_offset + -@@ -117,10 +122,6 @@ static FileDescriptor* unshield_read_fil - - assert((p - saved_p) == 0x57); - break; -- -- default: -- unshield_error("Unknown major version: %i", header->major_version); -- abort(); - } - - if (!(fd->flags & FILE_COMPRESSED) && -@@ -363,6 +364,11 @@ static bool unshield_reader_open_volume( - case 7: - case 8: - case 9: -+ case 10: -+ case 11: -+ case 12: -+ case 13: -+ default: - { - uint8_t six_header[VOLUME_HEADER_SIZE_V6]; - uint8_t* p = six_header; -@@ -389,10 +395,6 @@ static bool unshield_reader_open_volume( - reader->volume_header.last_file_size_compressed_high = READ_UINT32(p); p += 4; - } - break; -- -- default: -- abort(); -- goto exit; - } - - #if VERBOSE >= 2 ---- lib/libunshield.c.orig 2004-08-24 06:10:27 UTC -+++ lib/libunshield.c -@@ -205,7 +205,7 @@ static bool unshield_header_get_file_gro - /** - Read all header files - */ --static bool unshield_read_headers(Unshield* unshield)/*{{{*/ -+static bool unshield_read_headers(Unshield* unshield, int version)/*{{{*/ - { - int i; - bool iterate = true; -@@ -268,8 +268,21 @@ static bool unshield_read_headers(Unshie - unshield_error("Failed to read common header from header file %i", i); - goto error; - } -- -- header->major_version = (header->common.version >> 12) & 0xf; -+ -+ if (version != -1) -+ { -+ header->major_version = version; -+ } -+ else if (header->common.version >> 24 == 1) -+ { -+ header->major_version = (header->common.version >> 12) & 0xf; -+ } -+ else if (header->common.version >> 24 == 2) -+ { -+ header->major_version = (header->common.version & 0xffff); -+ if (header->major_version != 0) -+ header->major_version = header->major_version / 100; -+ } - - #if 0 - if (header->major_version < 5) -@@ -326,6 +339,11 @@ error: - - Unshield* unshield_open(const char* filename)/*{{{*/ - { -+ unshield_open_force_version(filename, -1); -+}/*}}}*/ -+ -+Unshield* unshield_open_force_version(const char* filename, int version)/*{{{*/ -+{ - Unshield* unshield = NEW1(Unshield); - if (!unshield) - { -@@ -339,7 +357,7 @@ Unshield* unshield_open(const char* file - goto error; - } - -- if (!unshield_read_headers(unshield)) -+ if (!unshield_read_headers(unshield, version)) - { - unshield_error("Failed to read header files"); - goto error; ---- lib/libunshield.h.orig 2007-01-06 14:34:57 UTC -+++ lib/libunshield.h -@@ -33,6 +33,7 @@ void unshield_set_log_level(int level); - */ - - Unshield* unshield_open(const char* filename); -+Unshield* unshield_open_force_version(const char* filename, int version); - void unshield_close(Unshield* unshield); - - /* ---- man/unshield.1.orig 2008-02-15 16:36:33 UTC -+++ man/unshield.1 -@@ -2,7 +2,7 @@ - .SH NAME - unshield \- extract CAB files from an InstallShield installer archive - .SH SYNOPSIS --unshield [\-c COMPONENT] [\-d DIRECTORY] [\-D LEVEL] [\-g GROUP] [\-h] [\-j] [\-L] [\-n] [\-o] [\-O] [\-r] [\-v] [\-V] c|g|l|t|x CABFILE -+unshield [\-c COMPONENT] [\-d DIRECTORY] [\-D LEVEL] [\-g GROUP] [\-h] [\-i VERSION] [\-j] [\-L] [\-n] [\-o] [\-O] [\-r] [\-v] [\-V] c|g|l|t|x CABFILE - .SH DESCRIPTION - Unshield extracts CAB files from InstallShield installers, used to - install software on Microsoft Windows based machines. -@@ -27,6 +27,11 @@ Only list/extract this file group - \fB\-h\fR - Show help message - .TP -+\fB\-i\fR VERSION -+Force InstallShield version number (don't autodetect)\n -+.br -+Use this option if you have a very old archive (generated with InstallShield <= 4) and / or the automatic detection fails -+.TP - \fB\-j\fR - Junk paths (do not make directories) - .TP ---- src/unshield.c.orig 2009-06-18 05:11:31 UTC -+++ src/unshield.c -@@ -58,6 +58,7 @@ static OVERWRITE overwrite = - static int log_level = UNSHIELD_LOG_LEVEL_LOWEST; - static int exit_status = 0; - static FORMAT format = FORMAT_NEW; -+static int is_version = -1; - - static bool make_sure_directory_exists(const char* directory)/*{{{*/ - { -@@ -108,7 +109,7 @@ static void show_usage(const char* name) - fprintf(stderr, - "Syntax:\n" - "\n" -- "\t%s [-c COMPONENT] [-d DIRECTORY] [-D LEVEL] [-g GROUP] [-GhlOrV] c|g|l|t|x CABFILE\n" -+ "\t%s [-c COMPONENT] [-d DIRECTORY] [-D LEVEL] [-g GROUP] [-i VERSION] [-GhlOrV] c|g|l|t|x CABFILE\n" - "\n" - "Options:\n" - "\t-c COMPONENT Only list/extract this component\n" -@@ -120,6 +121,7 @@ static void show_usage(const char* name) - "\t 3 - Errors, warnings and debug messages\n" - "\t-g GROUP Only list/extract this file group\n" - "\t-h Show this help message\n" -+ "\t-i VERSION Force InstallShield version number (don't autodetect)\n" - "\t-j Junk paths (do not make directories)\n" - "\t-L Make file and directory names lowercase\n" - "\t-O Use old compression\n" -@@ -152,7 +154,7 @@ static bool handle_parameters( - { - int c; - -- while ((c = getopt(argc, argv, "c:d:D:g:hjLnoOrV")) != -1) -+ while ((c = getopt(argc, argv, "c:d:D:g:hi:jLnoOrV")) != -1) - { - switch (c) - { -@@ -172,6 +174,10 @@ static bool handle_parameters( - file_group_name = optarg; - break; - -+ case 'i': -+ is_version = atoi(optarg); -+ break; -+ - case 'j': - junk_paths = true; - break; -@@ -532,7 +538,7 @@ int main(int argc, char** argv) - - cabfile = argv[last_optind]; - -- unshield = unshield_open(cabfile); -+ unshield = unshield_open_force_version(cabfile, is_version); - if (!unshield) - { - fprintf(stderr, "Failed to open %s as an InstallShield Cabinet File\n", cabfile); diff --git a/archivers/unshield/pkg-descr b/archivers/unshield/pkg-descr index 82462e117bad..80c8d423ff5d 100644 --- a/archivers/unshield/pkg-descr +++ b/archivers/unshield/pkg-descr @@ -11,6 +11,4 @@ to Microsoft Windows. - Be able to list contents of InstallShield Cabinet Files - Be able to extract files from InstallShield Cabinet Files -SVN: https://synce.svn.sourceforge.net/svnroot/synce/trunk/unshield/ -WWW: http://www.synce.org/oldwiki/index.php/Unshield - http://www.synce.org/moin/ComponentOverview +WWW: https://github.com/twogood/unshield diff --git a/archivers/unshield/pkg-plist b/archivers/unshield/pkg-plist index e9dc9dc23999..ab457e35a478 100644 --- a/archivers/unshield/pkg-plist +++ b/archivers/unshield/pkg-plist @@ -1,8 +1,6 @@ bin/unshield include/libunshield.h -lib/libunshield.a lib/libunshield.so -lib/libunshield.so.0 -lib/libunshield.so.0.0.0 +lib/libunshield.so.1.4 libdata/pkgconfig/libunshield.pc man/man1/unshield.1.gz |