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

From: Daniel Engberg <daniel.engberg.lists_at_pyret.net>
Date: Sun, 03 Nov 2024 12:30:39 UTC
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>];
> 
> 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