summaryrefslogtreecommitdiff
path: root/filesystems/hfsutils
diff options
context:
space:
mode:
Diffstat (limited to 'filesystems/hfsutils')
-rw-r--r--filesystems/hfsutils/Makefile56
-rw-r--r--filesystems/hfsutils/distinfo3
-rw-r--r--filesystems/hfsutils/files/patch-Makefile.in36
-rw-r--r--filesystems/hfsutils/pkg-descr14
-rw-r--r--filesystems/hfsutils/pkg-plist40
5 files changed, 149 insertions, 0 deletions
diff --git a/filesystems/hfsutils/Makefile b/filesystems/hfsutils/Makefile
new file mode 100644
index 000000000000..80c19431f37e
--- /dev/null
+++ b/filesystems/hfsutils/Makefile
@@ -0,0 +1,56 @@
+PORTNAME= hfsutils
+PORTVERSION= 3.2.6
+PORTREVISION= 4
+CATEGORIES= filesystems sysutils
+MASTER_SITES= ftp://ftp.mars.org/pub/hfs/
+
+MAINTAINER= ports@FreeBSD.org
+COMMENT= Utilities for accessing Apple's HFS volumes
+WWW= https://www.mars.org/home/rob/proj/hfs/
+
+LICENSE= GPLv2+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+CONFLICTS= hfs
+
+USES= gmake # passing -jX breaks BSD make(1)
+GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+ALL_TARGET= all hfsck/hfsck
+
+PORTDOCS= *
+
+OPTIONS_DEFINE= TCLTK DEVLIBS DOCS
+OPTIONS_SUB= yes
+
+TCLTK_DESC= Enable Tcl interface (HFS "shell") and Tk-based GUI
+DEVLIBS_DESC= Install developer libraries and header files
+
+TCLTK_CATEGORIES= tcl tk
+TCLTK_USES= tk
+TCLTK_CPPFLAGS= -I${LOCALBASE}/include
+TCLTK_CONFIGURE_ON= --with-tcl=${TCL_LIBDIR} --with-tk=${TK_LIBDIR}
+TCLTK_CONFIGURE_OFF= --without-tcl --without-tk
+
+DEVLIBS_CONFIGURE_ON= --enable-devlibs
+
+post-patch:
+# Unbreak against Tcl 8.6
+ @${ECHO_CMD} '#define USE_INTERP_RESULT 1' >> ${WRKSRC}/config.h.in
+# Allow staging (support DESTDIR)
+ @${FIND} ${WRKSRC} -type f -name Makefile.in | ${XARGS} \
+ ${REINPLACE_CMD} -e '/^...DEST =/s,@,$$(DESTDIR)&,'
+
+post-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/hfsck/hfsck ${STAGEDIR}${PREFIX}/bin
+
+post-install-TCLTK-on:
+ @${CHMOD} 755 ${STAGEDIR}${PREFIX}/bin/hfs
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+.for f in BLURB CHANGES README TODO doc/*.txt
+ ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}
+.endfor
+
+.include <bsd.port.mk>
diff --git a/filesystems/hfsutils/distinfo b/filesystems/hfsutils/distinfo
new file mode 100644
index 000000000000..518b017fcb0c
--- /dev/null
+++ b/filesystems/hfsutils/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1730905175
+SHA256 (hfsutils-3.2.6.tar.gz) = bc9d22d6d252b920ec9cdf18e00b7655a6189b3f34f42e58d5bb152957289840
+SIZE (hfsutils-3.2.6.tar.gz) = 207697
diff --git a/filesystems/hfsutils/files/patch-Makefile.in b/filesystems/hfsutils/files/patch-Makefile.in
new file mode 100644
index 000000000000..d736f4db0809
--- /dev/null
+++ b/filesystems/hfsutils/files/patch-Makefile.in
@@ -0,0 +1,36 @@
+--- Makefile.in.orig 1998-08-31 18:40:14 UTC
++++ Makefile.in
+@@ -64,7 +64,8 @@ TARGETS = $(CLITARGETS) $(TCLTARGETS) $(
+
+ CLITARGETS = hattrib hcd hcopy hdel hdir hformat hls hmkdir hmount hpwd \
+ hrename hrmdir humount hvol
+-TCLTARGETS = hfssh hfs
++TCLTARGETS = hfssh
++TCLSCRIPTS = hfs
+ TKTARGETS = xhfs
+
+ LIBHFS = libhfs/libhfs.a
+@@ -96,7 +97,7 @@ UTILOBJS = crc.o binhex.o copyin.o copyo
+ all :: @MAKE_TARGETS@
+
+ all_cli :: $(CLITARGETS)
+-all_tcl :: $(TCLTARGETS)
++all_tcl :: $(TCLTARGETS) $(TCLSCRIPTS)
+ all_tk :: $(TKTARGETS)
+ all_lib :: $(LIBHFS) $(LIBRSRC)
+
+@@ -129,9 +130,13 @@ install_tcl :: all_tcl
+ $(BININSTALL) $$file "$(BINDEST)/."; \
+ done
+
++ for file in $(TCLSCRIPTS); do \
++ $(LIBINSTALL) $$file "$(BINDEST)/."; \
++ done
++
+ if [ -f "$(BINDEST)/hfs" ]; then \
+ sed -e '1d' "$(BINDEST)/hfs" > "$(BINDEST)/hfs.new"; \
+- $(BININSTALL) "$(BINDEST)/hfs.new" "$(BINDEST)/hfs"; \
++ $(LIBINSTALL) "$(BINDEST)/hfs.new" "$(BINDEST)/hfs"; \
+ rm -f "$(BINDEST)/hfs.new"; \
+ fi
+
diff --git a/filesystems/hfsutils/pkg-descr b/filesystems/hfsutils/pkg-descr
new file mode 100644
index 000000000000..5a79840b7135
--- /dev/null
+++ b/filesystems/hfsutils/pkg-descr
@@ -0,0 +1,14 @@
+HFS is the "Hierarchical File System" used on modern Macintosh computers.
+With this package, you can read and write Macintosh-formatted media such as
+floppy disks, CD-ROMs, and SCSI hard disks on most Unix platforms. You can
+also format raw media or file into an HFS volume.
+
+This package contains a number of different tools:
+
+ - Several command-line programs (hmount, hls, hcopy, et al.)
+ - Tk-based front-end for browsing and copying files through a
+ variety of transfer modes (MacBinary, BinHex, text, etc.)
+ - Tcl package and interface for scriptable access to volumes
+ - C library for low-level access to volumes
+
+Support for Apple's new Extended Format (HFS+) is currently not available.
diff --git a/filesystems/hfsutils/pkg-plist b/filesystems/hfsutils/pkg-plist
new file mode 100644
index 000000000000..287d168c53cd
--- /dev/null
+++ b/filesystems/hfsutils/pkg-plist
@@ -0,0 +1,40 @@
+bin/hattrib
+bin/hcd
+bin/hcopy
+bin/hdel
+bin/hdir
+bin/hformat
+%%TCLTK%%bin/hfs
+bin/hfsck
+%%TCLTK%%bin/hfssh
+bin/hls
+bin/hmkdir
+bin/hmount
+bin/hpwd
+bin/hrename
+bin/hrmdir
+bin/humount
+bin/hvol
+%%TCLTK%%bin/xhfs
+%%DEVLIBS%%include/hfs.h
+%%DEVLIBS%%include/rsrc.h
+%%DEVLIBS%%lib/libhfs.a
+%%DEVLIBS%%lib/librsrc.a
+share/man/man1/hattrib.1.gz
+share/man/man1/hcd.1.gz
+share/man/man1/hcopy.1.gz
+share/man/man1/hdel.1.gz
+share/man/man1/hdir.1.gz
+share/man/man1/hformat.1.gz
+%%TCLTK%%share/man/man1/hfs.1.gz
+%%TCLTK%%share/man/man1/hfssh.1.gz
+share/man/man1/hfsutils.1.gz
+share/man/man1/hls.1.gz
+share/man/man1/hmkdir.1.gz
+share/man/man1/hmount.1.gz
+share/man/man1/hpwd.1.gz
+share/man/man1/hrename.1.gz
+share/man/man1/hrmdir.1.gz
+share/man/man1/humount.1.gz
+share/man/man1/hvol.1.gz
+%%TCLTK%%share/man/man1/xhfs.1.gz