aboutsummaryrefslogtreecommitdiffstats
path: root/archivers
diff options
context:
space:
mode:
Diffstat (limited to 'archivers')
-rw-r--r--archivers/unshield/Makefile15
-rw-r--r--archivers/unshield/distinfo5
-rw-r--r--archivers/unshield/files/patch-unshield-v2-format212
-rw-r--r--archivers/unshield/pkg-descr4
-rw-r--r--archivers/unshield/pkg-plist4
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