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

From: Daniel Engberg <daniel.engberg.lists_at_pyret.net>
Date: Mon, 04 Nov 2024 23:36:49 UTC
On 2024-11-03T20:38:16.000+01:00, Po-Chuan Hsieh <sunpoet@freebsd.org>
wrote:

> On Sun, Nov 3, 2024 at 8:30 PM Daniel Engberg <
> 
> daniel.engberg.lists@pyret.net> wrote:
> 
>>  On 2024-11-03T12:50:26.000+01:00, Po-Chuan Hsieh
>>  <sunpoet@FreeBSD.org>
>>  
>>   wrote:
>>  
>>   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> [http://bsd.port.mk>];
>>  <http://bsd.port.mk%3E> [http://bsd.port.mk%3E>];;
>>  
>>   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 [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/cs/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/da/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/de/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/es/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/et/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/eu/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/fi/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/fr/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/gl/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/hr/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/hu/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/id/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/it/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/ja/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/nl/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/pl/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/pt_BR/LC_MESSAGES/getopt.mo
>>  [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/ru/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/sl/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/sv/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/tr/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/uk/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/vi/LC_MESSAGES/getopt.mo [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/zh_CN/LC_MESSAGES/getopt.mo
>>  [http://getopt.mo]
>>  
>>   +%%NLS%%share/locale/zh_TW/LC_MESSAGES/getopt.mo
>>  [http://getopt.mo]
>>  
>>   +share/man/man1/getopt.1.gz
>>  
>>   Hi,
>>  
>>   Versioning is incorrect
>>  
>>   work/stage/usr/local/bin/getopt -V
>>  
>>   getopt from util-linux 2.39.4
>>  
>>   This approach is also bound to get unsynced with util-linux, if
>>  anything
>>  
>>   it should be a slave port until subpackages are usable.
>>  
>>   Best regards,
>>  
>>   Daniel
> 
> Why should this port get in sync with util-linux port?

Hi,

Because one would assume that we keep util-linux in sync within the
tree, avoid unnecessary compatibility issues and not waste bandwidth
downloading multiple release archives of the same project?

Best regards,

Daniel