git: a0ad22995ee8 - main - misc/swissfileknife (new port): command-line multi-function tool

From: Alexey Dokuchaev <danfe_at_FreeBSD.org>
Date: Thu, 02 Jun 2022 07:51:05 UTC
The branch main has been updated by danfe:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a0ad22995ee8ca719a58f5275070e90712c341a5

commit a0ad22995ee8ca719a58f5275070e90712c341a5
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2022-06-02 07:44:36 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2022-06-02 07:44:36 +0000

    misc/swissfileknife (new port): command-line multi-function tool
    
    SFK was made to make things easy.  File exchange between machines,
    find duplicates, find and replace text, list directory tree sizes,
    and tons of other functions for daily tasks -- it's all contained
    within a single, truly portable executable.
    
    WWW: http://stahlworks.com/dev/swiss-file-knife.html
---
 misc/Makefile                 |  1 +
 misc/swissfileknife/Makefile  | 35 +++++++++++++++++++++++++++++++++++
 misc/swissfileknife/distinfo  |  3 +++
 misc/swissfileknife/pkg-descr | 14 ++++++++++++++
 4 files changed, 53 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index f4cda4785aa5..32b9793490cf 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -482,6 +482,7 @@
     SUBDIR += susv2
     SUBDIR += susv3
     SUBDIR += susv4
+    SUBDIR += swissfileknife
     SUBDIR += sword
     SUBDIR += table.el
     SUBDIR += talkfilters
diff --git a/misc/swissfileknife/Makefile b/misc/swissfileknife/Makefile
new file mode 100644
index 000000000000..41383be3d175
--- /dev/null
+++ b/misc/swissfileknife/Makefile
@@ -0,0 +1,35 @@
+# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
+
+PORTNAME=	swissfileknife
+PORTVERSION=	1.9.8
+CATEGORIES=	misc
+MASTER_SITES=	SF/${PORTNAME}/1-${PORTNAME}/${PORTVERSION}.0
+DISTNAME=	sfk-${PORTVERSION}
+
+MAINTAINER=	danfe@FreeBSD.org
+COMMENT=	One hundred command-line tools in one binary
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+GNU_CONFIGURE=	yes
+CPPFLAGS+=	-DVER_STR_OS=\\\"${OPSYS:tl}-${ARCH}\\\"
+
+PLIST_FILES=	bin/sfk
+PORTDOCS=	ChangeLog README
+
+OPTIONS_DEFINE=	DOCS
+
+post-patch:
+	@${REINPLACE_CMD} -e 's,ifndef MAC_OS_X,ifdef __linux__, ;\
+		s,ifdef MAC_OS_X,ifdef __FreeBSD__,' ${WRKSRC}/sfkbase.hpp
+	@${REINPLACE_CMD} -e 's,defined(MAC_OS_X) || defined(SOLARIS),&\
+		|| defined(__FreeBSD__),' \
+			${WRKSRC}/sfk.cpp ${WRKSRC}/sfkext.cpp
+	@${REINPLACE_CMD} -e '/_STDINT_H/,+6d' ${WRKSRC}/sfkmatch.hpp
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/misc/swissfileknife/distinfo b/misc/swissfileknife/distinfo
new file mode 100644
index 000000000000..46615767a52c
--- /dev/null
+++ b/misc/swissfileknife/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1618257363
+SHA256 (sfk-1.9.8.tar.gz) = 837c7a3fabd1549c0ea5748d05ece5f259d906358226ce04799c4c13e59f1968
+SIZE (sfk-1.9.8.tar.gz) = 1227217
diff --git a/misc/swissfileknife/pkg-descr b/misc/swissfileknife/pkg-descr
new file mode 100644
index 000000000000..3c1feaa2997a
--- /dev/null
+++ b/misc/swissfileknife/pkg-descr
@@ -0,0 +1,14 @@
+This is the Swiss File Knife (SFK), a command-line multi-function tool
+created by StahlWorks Technologies.
+
+SFK was made to make things easy.  File exchange between machines, find
+duplicates, find and replace text, list directory tree sizes, and tons
+of other functions for daily tasks -- all contained within a single,
+truly portable executable.
+
+Forget about installing dozens of tools on every new machine, battling
+with missing or wrong versioned DLL's, missing admin rights, missing
+package dependencies, user account configurations, spammed registries
+and endless time wasting in general.
+
+WWW: http://stahlworks.com/dev/swiss-file-knife.html