summaryrefslogtreecommitdiff
path: root/sysutils/dmsdos
diff options
context:
space:
mode:
authordrochner <drochner@pkgsrc.org>2008-02-08 21:18:44 +0000
committerdrochner <drochner@pkgsrc.org>2008-02-08 21:18:44 +0000
commit6264cdb9b4fd35ebe6792e4e90255d49b55d944b (patch)
treeb284af8d117daf939ffa5bef459c53a2aa25a773 /sysutils/dmsdos
parent561f41f8bdeced57aea1a81d0104c06eb53d1f8e (diff)
downloadpkgsrc-6264cdb9b4fd35ebe6792e4e90255d49b55d944b.tar.gz
Import dmsdos-0.9.2.3pre2 -- this is the userland part of some code
which can access files on DBLSPACE compressed MSDOS volumes. Not maintained, but it just helped me to salvage files from an old harddisk, so I thought it is worth keeping. (It can be integrated into the "mc" norton-commander clone - you'll find out details in its documentation.)
Diffstat (limited to 'sysutils/dmsdos')
-rw-r--r--sysutils/dmsdos/DESCR7
-rw-r--r--sysutils/dmsdos/Makefile32
-rw-r--r--sysutils/dmsdos/PLIST2
-rw-r--r--sysutils/dmsdos/distinfo7
-rw-r--r--sysutils/dmsdos/patches/patch-aa15
-rw-r--r--sysutils/dmsdos/patches/patch-ab15
6 files changed, 78 insertions, 0 deletions
diff --git a/sysutils/dmsdos/DESCR b/sysutils/dmsdos/DESCR
new file mode 100644
index 00000000000..1368b85c3ae
--- /dev/null
+++ b/sysutils/dmsdos/DESCR
@@ -0,0 +1,7 @@
+DMSDOS reads and writes compressed DOS filesystems (CVF-FAT).
+The following configurations are supported:
+ DoubleSpace / DriveSpace (MS-DOS 6.x)
+ DoubleSpace / DriveSpace (Windows 95)
+ DriveSpace 3 (Windows 95 with Plus! pack)
+ Stacker 3
+ Stacker 4
diff --git a/sysutils/dmsdos/Makefile b/sysutils/dmsdos/Makefile
new file mode 100644
index 00000000000..783e280ed73
--- /dev/null
+++ b/sysutils/dmsdos/Makefile
@@ -0,0 +1,32 @@
+# $NetBSD: Makefile,v 1.1.1.1 2008/02/08 21:18:44 drochner Exp $
+#
+
+DISTNAME= dmsdos-0.9.2.3-pre2
+PKGNAME= dmsdos-0.9.2.3pre2
+CATEGORIES= sysutils
+MASTER_SITES= http://cmp.felk.cvut.cz/~pisa/dmsdos/sources/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://cmp.felk.cvut.cz/~pisa/dmsdos/
+COMMENT= Program to access DBLSPACE/DRVSPACE containers
+
+WRKSRC= ${WRKDIR}/dmsdos-0.9.2.3-pre2/src
+
+F= mcdmsdos.c dblspace_dec.c lib_interface.c dblspace_interface.c \
+ dblspace_chk.c dblspace_tables.c dstacker_alloc.c dblspace_alloc.c \
+ dblspace_compr.c dstacker_compr.c dstacker_dec.c dblspace_methsq.c
+
+post-extract:
+ find ${WRKDIR}/dmsdos-0.9.2.3-pre2 -type d -exec chmod +x {} \;
+
+do-configure:
+ ${CP} ${WRKSRC}/dmsdos-config.h.default ${WRKSRC}/dmsdos-config.h
+
+do-build:
+ cd ${WRKSRC} && ${CC} -D__DMSDOS_LIB__ ${F} -o mcdmsdos
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/mcdmsdos ${PREFIX}/bin
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/dmsdos/PLIST b/sysutils/dmsdos/PLIST
new file mode 100644
index 00000000000..e3220da7737
--- /dev/null
+++ b/sysutils/dmsdos/PLIST
@@ -0,0 +1,2 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2008/02/08 21:18:44 drochner Exp $
+bin/mcdmsdos
diff --git a/sysutils/dmsdos/distinfo b/sysutils/dmsdos/distinfo
new file mode 100644
index 00000000000..e7ae180599b
--- /dev/null
+++ b/sysutils/dmsdos/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1.1.1 2008/02/08 21:18:44 drochner Exp $
+
+SHA1 (dmsdos-0.9.2.3-pre2.tgz) = d967cc70aac39d8cff66e78dfcf2632ac36275dc
+RMD160 (dmsdos-0.9.2.3-pre2.tgz) = 19cc815452270460ea1382615a312289820bd39e
+Size (dmsdos-0.9.2.3-pre2.tgz) = 280421 bytes
+SHA1 (patch-aa) = 408981c4e21feaee3865f0f8bfa90ca26b795360
+SHA1 (patch-ab) = 5560a52438cedc5c52e77ed4e4b0ccd16f682a9e
diff --git a/sysutils/dmsdos/patches/patch-aa b/sysutils/dmsdos/patches/patch-aa
new file mode 100644
index 00000000000..a6d1281aa52
--- /dev/null
+++ b/sysutils/dmsdos/patches/patch-aa
@@ -0,0 +1,15 @@
+$NetBSD: patch-aa,v 1.1.1.1 2008/02/08 21:18:44 drochner Exp $
+
+--- dstacker_compr.c.orig 2008-02-08 20:30:49.000000000 +0100
++++ dstacker_compr.c
+@@ -139,8 +139,8 @@ INLINE __u16 swap_bytes_in_word(__u16 x)
+ /* this is problematic on architectures, */
+ /* which cannot do __u16 access to odd address. */
+ /* used for temporary storage of LZ intercode. */
+-#define C_ST_u16(p,v) {put_unaligned(v,((__u16*)p)++);}
+-#define C_LD_u16(p,v) {v=get_unaligned(((__u16*)p)++);}
++#define C_ST_u16(p,v) {put_unaligned(v,p);p=(__u16*)p+1;}
++#define C_LD_u16(p,v) {v=get_unaligned(p);p=(__u16*)p+1;}
+
+ /* for reading and writting from/to bitstream */
+ typedef
diff --git a/sysutils/dmsdos/patches/patch-ab b/sysutils/dmsdos/patches/patch-ab
new file mode 100644
index 00000000000..7276b4af989
--- /dev/null
+++ b/sysutils/dmsdos/patches/patch-ab
@@ -0,0 +1,15 @@
+$NetBSD: patch-ab,v 1.1.1.1 2008/02/08 21:18:44 drochner Exp $
+
+--- dblspace_methsq.c.orig 2008-02-08 20:40:57.000000000 +0100
++++ dblspace_methsq.c
+@@ -69,8 +69,8 @@ extern int debug;
+ /* this is problematic on architectures, */
+ /* which cannot do __u16 access to odd address. */
+ /* used for temporary storage of LZ intercode. */
+-#define C_ST_u16(p,v) {put_unaligned(v,((__u16*)p)++);}
+-#define C_LD_u16(p,v) {v=get_unaligned(((__u16*)p)++);}
++#define C_ST_u16(p,v) {put_unaligned(v,p);p=(__u16*)p+1;}
++#define C_LD_u16(p,v) {v=get_unaligned(p);p=(__u16*)p+1;}
+
+ /* high speed compare and move routines */
+ #if defined(__GNUC__) && defined(__i386__) && defined(USE_ASM)