From cfc7f49578d83041e064596adbdf463e7c4c1ab3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20E=C3=9Fer?= Date: Fri, 9 Apr 2004 12:47:57 +0000 Subject: New port of unshield, a InstallShield cabinet file reader. This prgogarm is particularly useful to extract .SYS and .INF files from NDIS drivers packaged as InstallShield archives, which are required as input to ndiscvt (i.e. for the NDISulator). --- archivers/Makefile | 1 + archivers/unshield/Makefile | 27 +++++++++++++++++++++++++++ archivers/unshield/distinfo | 2 ++ archivers/unshield/files/patch-aa | 10 ++++++++++ archivers/unshield/files/patch-ab | 14 ++++++++++++++ archivers/unshield/pkg-descr | 14 ++++++++++++++ archivers/unshield/pkg-plist | 5 +++++ 7 files changed, 73 insertions(+) create mode 100644 archivers/unshield/Makefile create mode 100644 archivers/unshield/distinfo create mode 100644 archivers/unshield/files/patch-aa create mode 100644 archivers/unshield/files/patch-ab create mode 100644 archivers/unshield/pkg-descr create mode 100644 archivers/unshield/pkg-plist (limited to 'archivers') diff --git a/archivers/Makefile b/archivers/Makefile index 21fa66db9415..3c72ce984028 100644 --- a/archivers/Makefile +++ b/archivers/Makefile @@ -73,6 +73,7 @@ SUBDIR += undms SUBDIR += unlzx SUBDIR += unrar + SUBDIR += unshield SUBDIR += untar SUBDIR += unzip SUBDIR += upx diff --git a/archivers/unshield/Makefile b/archivers/unshield/Makefile new file mode 100644 index 000000000000..157ab32082e2 --- /dev/null +++ b/archivers/unshield/Makefile @@ -0,0 +1,27 @@ +# New ports collection makefile for: unshield +# Date created: 08 April 2004 +# Whom: se +# +# $FreeBSD$ +# + +PORTNAME= unshield +PORTVERSION= 0.2 +CATEGORIES= archivers +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED} +MASTER_SITE_SUBDIR=synce + +MAINTAINER= se@FreeBSD.org +COMMENT= Extract data from InstallShield CAB files + +GNU_CONFIGURE= yes +INSTALLS_SHLIB= yes + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/src/.libs/unshield ${PREFIX}/bin + ${INSTALL_DATA} ${WRKSRC}/lib/libunshield.h ${PREFIX}/include + ${INSTALL_DATA} ${WRKSRC}/lib/.libs/libunshield.a ${PREFIX}/lib + ${INSTALL_DATA} ${WRKSRC}/lib/.libs/libunshield.so.0 ${PREFIX}/lib + ${LN} -sf ${PREFIX}/lib/libunshield.so.0 ${PREFIX}/lib/libunshield.so + +.include diff --git a/archivers/unshield/distinfo b/archivers/unshield/distinfo new file mode 100644 index 000000000000..131f03184b44 --- /dev/null +++ b/archivers/unshield/distinfo @@ -0,0 +1,2 @@ +MD5 (unshield-0.2.tar.gz) = 06aef0726ad58bf51ad929860506c4b5 +SIZE (unshield-0.2.tar.gz) = 216230 diff --git a/archivers/unshield/files/patch-aa b/archivers/unshield/files/patch-aa new file mode 100644 index 000000000000..75ff1bef1f5e --- /dev/null +++ b/archivers/unshield/files/patch-aa @@ -0,0 +1,10 @@ +--- src/unshield.c~ Mon Aug 25 19:17:29 2003 ++++ src/unshield.c Fri Apr 9 13:55:47 2004 +@@ -1,5 +1,7 @@ + #define _BSD_SOURCE 1 ++#if !defined(__FreeBSD__) + #define _POSIX_C_SOURCE 2 ++#endif + #include + #include + #include diff --git a/archivers/unshield/files/patch-ab b/archivers/unshield/files/patch-ab new file mode 100644 index 000000000000..ebc1e8a8a5da --- /dev/null +++ b/archivers/unshield/files/patch-ab @@ -0,0 +1,14 @@ +--- lib/cabfile.h~ Mon Aug 25 10:17:28 2003 ++++ lib/cabfile.h Fri Apr 9 05:30:19 2004 +@@ -4,7 +4,11 @@ + + #include "internal.h" + ++#if __GNUC__ > 2 + #define P __attribute__((packed)) ++#else ++#define P ++#endif + + #define OFFSET_COUNT 0x47 + #define CAB_SIGNATURE 0x28635349 diff --git a/archivers/unshield/pkg-descr b/archivers/unshield/pkg-descr new file mode 100644 index 000000000000..c6c174e75956 --- /dev/null +++ b/archivers/unshield/pkg-descr @@ -0,0 +1,14 @@ +An installer created by the InstallShield software stores the files it will +install inside of InstallShield Cabinet Files. It would thus be desirable +to be able to extract the Microsoft Cabinet Files from the InstallShield +Cabinet Files in order to be able to install the applications without access +to Microsoft Windows. + +- Use a well known open source license (MIT) +- Work on both little-endian and big-endian systems +- Separate the implementation in a tool and a library +- Support InstallShield versions 5 and later +- Be able to list contents of InstallShield Cabinet Files +- Be able to extract files from InstallShield Cabinet Files + +WWW: http://synce.sourceforge.net/synce/unshield.php diff --git a/archivers/unshield/pkg-plist b/archivers/unshield/pkg-plist new file mode 100644 index 000000000000..3788b860119d --- /dev/null +++ b/archivers/unshield/pkg-plist @@ -0,0 +1,5 @@ +bin/unshield +include/libunshield.h +lib/libunshield.a +lib/libunshield.so +lib/libunshield.so.0 -- cgit v1.2.3