git: ebfb113f1cd6 - main - devel/getopt-ada: New Port, Ada POSIX getopt lib

From: Thierry Thomas <thierry_at_FreeBSD.org>
Date: Wed, 15 Jul 2026 16:34:53 UTC
The branch main has been updated by thierry:

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

commit ebfb113f1cd67f2b871581bde3c206632a8c9e33
Author:     Alastair Hogge <agh@riseup.net>
AuthorDate: 2026-07-02 13:01:33 +0000
Commit:     Thierry Thomas <thierry@FreeBSD.org>
CommitDate: 2026-07-15 16:34:49 +0000

    devel/getopt-ada: New Port, Ada POSIX getopt lib
    
    New Port, Ada POSIX getopt library:
     * A simple Ada package implementing a POSIX-compliant getopt(3)
    
    https://git.sr.ht/~nytpu/getopt
    
     PR:            296454
---
 devel/Makefile             |  1 +
 devel/getopt-ada/Makefile  | 48 ++++++++++++++++++++++++++++++++++++++++++++++
 devel/getopt-ada/distinfo  |  3 +++
 devel/getopt-ada/pkg-descr |  6 ++++++
 devel/getopt-ada/pkg-plist |  8 ++++++++
 5 files changed, 66 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index e95cd3e2ef7c..82393903a066 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -834,6 +834,7 @@
     SUBDIR += gengetopt
     SUBDIR += genht
     SUBDIR += genie
+    SUBDIR += getopt-ada
     SUBDIR += getoptions
     SUBDIR += gettext
     SUBDIR += gettext-lint
diff --git a/devel/getopt-ada/Makefile b/devel/getopt-ada/Makefile
new file mode 100644
index 000000000000..6cf5a0952b85
--- /dev/null
+++ b/devel/getopt-ada/Makefile
@@ -0,0 +1,48 @@
+PORTNAME=	getopt-ada
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.0.0
+CATEGORIES=	devel
+MASTER_SITES=	https://git.sr.ht/~${_SRHT_ACCOUNT}/${_SRHT_PROJECT}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
+
+MAINTAINER=	ada@FreeBSD.org
+COMMENT=	Ada POSIX getopt(3) library
+WWW=		https://git.sr.ht/~nytpu/getopt-ada
+
+LICENSE=	MPL20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	gprbuild>0:devel/gprbuild
+
+USES=		ada:run
+
+MAKE_CMD=	gprbuild
+
+EXAMPLESDIR=	${PREFIX}/share/examples/${_ADA_UNIT}
+
+OPTIONS_DEFINE=	EXAMPLES
+
+_ADA_UNIT=		${PORTNAME:S|-ada||}
+_GPRBUILD_ARGS=		-j${MAKE_JOBS_NUMBER} -p -vh -vP2 \
+			-XGETOPT_BUILD_MODE=${WITH_DEBUG:Uoptimize:Ddebug}
+_GPRINSTALL_ARGS=	--prefix='${STAGEDIR}${PREFIX}' -p -v
+_SRHT_ACCOUNT=		nytpu
+_SRHT_PROJECT=		${PORTNAME}
+
+do-build:
+	(cd ${WRKSRC} && \
+		${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_GPRBUILD_ARGS} -P \
+		${_ADA_UNIT})
+
+do-install:
+	(cd ${WRKSRC} && \
+		${SETENV} ${MAKE_ENV} gprinstall ${_GPRINSTALL_ARGS} -P \
+		${_ADA_UNIT})
+
+post-install-EXAMPLES-on:
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+	${INSTALL_DATA} ${WRKSRC}/${_ADA_UNIT}_example.gpr \
+		${STAGEDIR}${EXAMPLESDIR}
+	${INSTALL_DATA} ${WRKSRC}/src/example/example.adb \
+		${STAGEDIR}${EXAMPLESDIR}
+
+.include <bsd.port.mk>
diff --git a/devel/getopt-ada/distinfo b/devel/getopt-ada/distinfo
new file mode 100644
index 000000000000..1b8e70484b56
--- /dev/null
+++ b/devel/getopt-ada/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1781183213
+SHA256 (getopt-ada-v2.0.0.tar.gz) = 2c0816539b61aa27c3accac795ab9278102857c836f27c498bf09387ae2c92d9
+SIZE (getopt-ada-v2.0.0.tar.gz) = 11954
diff --git a/devel/getopt-ada/pkg-descr b/devel/getopt-ada/pkg-descr
new file mode 100644
index 000000000000..a3b17b1819eb
--- /dev/null
+++ b/devel/getopt-ada/pkg-descr
@@ -0,0 +1,6 @@
+An Ada library implementing a POSIX-compliant getopt(3) parser.
+
+POSIX-compliant and portable Ada-2012 library to the familiar get option
+(getopt(3)) character and command line argument parser function common in the
+Standard C Library. This library can be used as replacement for getopt(3) for
+users of Ada working on POSIX supporting systems.
diff --git a/devel/getopt-ada/pkg-plist b/devel/getopt-ada/pkg-plist
new file mode 100644
index 000000000000..9b35317ee298
--- /dev/null
+++ b/devel/getopt-ada/pkg-plist
@@ -0,0 +1,8 @@
+include/getopt/getopts.adb
+include/getopt/getopts.ads
+lib/getopt/getopts.ali
+lib/getopt/libgetopt-ada.a
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example.adb
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/getopt_example.gpr
+share/gpr/getopt.gpr
+share/gpr/manifests/getopt