git: 4ddfd281f8eb - main - misc/getopt: Re-add getopt 1.1.6

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 03 Nov 2024 11:50:26 UTC
The branch main has been updated by sunpoet:

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

commit 4ddfd281f8eb07657fd1e268fed59478a4a2ce38
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2024-11-03 11:34:23 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2024-11-03 11:34:23 +0000

    misc/getopt: Re-add getopt 1.1.6
    
    PR:             281625
---
 MOVED                            |  1 -
 misc/Makefile                    |  1 +
 misc/getopt/Makefile             | 38 +++++++++++++++++++++++++++++++
 misc/getopt/distinfo             |  3 +++
 misc/getopt/files/patch-Makefile | 49 ++++++++++++++++++++++++++++++++++++++++
 misc/getopt/pkg-descr            | 11 +++++++++
 misc/getopt/pkg-plist            | 28 +++++++++++++++++++++++
 7 files changed, 130 insertions(+), 1 deletion(-)

diff --git a/MOVED b/MOVED
index 7d96a4d146ee..6d75cf949f97 100644
--- a/MOVED
+++ b/MOVED
@@ -3577,4 +3577,3 @@ misc/uk-phone||2024-10-31|Has expired: Obsolete, 20+ year old data
 textproc/ssddiff||2024-10-31|Has expired: Abandonware, unfetchable and upstream is gone
 sysutils/pydf||2024-11-02|Has expired: Inactive upstream. Does not properly work on FreeBSD
 ports-mgmt/freebsd-bugzilla-cli||2024-11-02|Has expired: Broken. Upstream unavailable
-misc/getopt||2024-11-02|Has expired: Use getopt from devel/util-linux instead
diff --git a/misc/Makefile b/misc/Makefile
index f6b464417a65..34195fc80e54 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -152,6 +152,7 @@
     SUBDIR += g810-led
     SUBDIR += gedkeeper
     SUBDIR += geekcode
+    SUBDIR += getopt
     SUBDIR += gimp-help-en
     SUBDIR += gkrellm-gamma
     SUBDIR += gkrellm-xkb
diff --git a/misc/getopt/Makefile b/misc/getopt/Makefile
new file mode 100644
index 000000000000..7dcb45220b28
--- /dev/null
+++ b/misc/getopt/Makefile
@@ -0,0 +1,38 @@
+PORTNAME=	getopt
+PORTVERSION=	1.1.6
+PORTREVISION=	1
+CATEGORIES=	misc
+MASTER_SITES=	http://frodo.looijaard.name/system/files/software/getopt/ \
+		LOCAL/sunpoet
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Replacement for getopt(1) that supports GNU-style long options
+WWW=		https://software.frodo.looijaard.name/getopt/
+
+LICENSE=	GPLv2 GPLv3
+LICENSE_COMB=	dual
+
+DEPRECATED=	Use getopt from devel/util-linux instead
+EXPIRATION_DATE=2024-10-31
+
+OPTIONS_DEFINE=	DOCS NLS
+OPTIONS_SUB=	yes
+
+MAKE_ARGS=	CC=${CC} LIBCGETOPT=0
+USES=		gmake
+
+PORTDOCS=	Changelog README
+
+NLS_MAKE_ARGS=		WITHOUT_GETTEXT=0
+NLS_MAKE_ARGS_OFF=	WITHOUT_GETTEXT=1
+NLS_LDFLAGS=		-lintl
+NLS_USES=		gettext localbase:ldflags
+
+post-install:
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/getopt
+
+post-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}/
+	cd ${WRKSRC}/ && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/
+
+.include <bsd.port.mk>
diff --git a/misc/getopt/distinfo b/misc/getopt/distinfo
new file mode 100644
index 000000000000..649952d571db
--- /dev/null
+++ b/misc/getopt/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1730633654
+SHA256 (getopt-1.1.6.tar.gz) = d0bf1dc642a993e7388a1cddfb9409bed375c21d5278056ccca3a0acd09dc5fe
+SIZE (getopt-1.1.6.tar.gz) = 58926
diff --git a/misc/getopt/files/patch-Makefile b/misc/getopt/files/patch-Makefile
new file mode 100644
index 000000000000..3383ee09c28f
--- /dev/null
+++ b/misc/getopt/files/patch-Makefile
@@ -0,0 +1,49 @@
+--- Makefile.orig	2014-11-24 12:33:39 UTC
++++ Makefile
+@@ -1,9 +1,9 @@ DESTDIR=
+ .SUFFIXES:
+ 
+ DESTDIR=
+-prefix=/usr/local
++prefix=$(PREFIX)
+ bindir=$(prefix)/bin
+-mandir=$(prefix)/man
++mandir=$(prefix)/share/man
+ man1dir=$(mandir)/man1
+ sharedir=$(prefix)/share
+ getoptdir=$(sharedir)/getopt
+@@ -32,18 +32,15 @@ MOFILES:=$(patsubst %,po/%.mo,$(LANGUAGES))
+ LANGUAGES = ca cs da de es et eu fi fr gl hr hu id it ja nl pl pt_BR ru sl sv tr uk vi zh_CN zh_TW
+ MOFILES:=$(patsubst %,po/%.mo,$(LANGUAGES))
+ 
+-CPPFLAGS=-DLIBCGETOPT=$(LIBCGETOPT) -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) -DLOCALEDIR=\"$(localedir)\" -DNOT_UTIL_LINUX -Dprogram_invocation_short_name=\"$(PACKAGE)\"  -Dprogram_version=\"$(VERSION)\"
++CPPFLAGS+=-DLIBCGETOPT=$(LIBCGETOPT) -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) -DLOCALEDIR=\"$(localedir)\" -DNOT_UTIL_LINUX -Dprogram_invocation_short_name=\"$(PACKAGE)\"  -Dprogram_version=\"$(VERSION)\"
+ ifeq ($(LIBCGETOPT),0)
+-CPPFLAGS+=-I./gnu 
++CPPFLAGS+=-I./gnu
+ endif
+ WARNINGS=-Wall \
+          -W -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual \
+          -Wcast-align -Wmissing-declarations \
+          -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
+          -Wnested-externs -Winline
+-OPTIMIZE=-O3 -fno-strength-reduce
+-CFLAGS=$(WARNINGS) $(OPTIMIZE)
+-LDFLAGS=
+ 
+ sources=getopt.c
+ ifeq ($(LIBCGETOPT),0)
+@@ -54,11 +51,11 @@ binaries=getopt
+ 
+ binaries=getopt
+ 
+-.PHONY: all clean realclean 
++.PHONY: all clean realclean
+ all: $(binaries) all_po
+ 
+ clean: clean_po
+-	-$(RM) $(objects) $(binaries) 
++	-$(RM) $(objects) $(binaries)
+ 
+ getopt: $(objects)
+ 	$(CC) $(LDFLAGS) -o $@ $(objects)
diff --git a/misc/getopt/pkg-descr b/misc/getopt/pkg-descr
new file mode 100644
index 000000000000..799c23ba34c8
--- /dev/null
+++ b/misc/getopt/pkg-descr
@@ -0,0 +1,11 @@
+Rewrite of getopt(1) with the following features:
+
+* It can do anything that the GNU getopt(3) routines can do.
+* It can cope with spaces and shell metacharacters within arguments.
+* It can parse long parameters.
+* It can shuffle parameters, so you can mix options and other parameters
+  on the command-line.
+* It can be easily identified as an enhanced getopt(1) from within shell
+  scripts.
+* It can report parse errors as coming from the shell script.
+* It compiles cleanly with both libc-5 and glibc-2.
diff --git a/misc/getopt/pkg-plist b/misc/getopt/pkg-plist
new file mode 100644
index 000000000000..c1a68f51212d
--- /dev/null
+++ b/misc/getopt/pkg-plist
@@ -0,0 +1,28 @@
+bin/getopt
+%%NLS%%share/locale/ca/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/da/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/de/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/es/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/et/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/eu/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/gl/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/hr/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/hu/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/id/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/it/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/ja/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/nl/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/sl/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/tr/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/vi/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/getopt.mo
+%%NLS%%share/locale/zh_TW/LC_MESSAGES/getopt.mo
+share/man/man1/getopt.1.gz