mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
A getopt(1) replacement that supports GNU-style long options
Submitted by: Sergei Kolobov <sergei@kolobov.com> PR: 53174 Approved by: fjoe (implicit)
This commit is contained in:
parent
c57d4aa83c
commit
445d53b2d1
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=82963
7 changed files with 156 additions and 0 deletions
|
@ -88,6 +88,7 @@
|
||||||
SUBDIR += ftree
|
SUBDIR += ftree
|
||||||
SUBDIR += gctpc
|
SUBDIR += gctpc
|
||||||
SUBDIR += geekcode
|
SUBDIR += geekcode
|
||||||
|
SUBDIR += getopt
|
||||||
SUBDIR += git
|
SUBDIR += git
|
||||||
SUBDIR += gkrellm-reminder
|
SUBDIR += gkrellm-reminder
|
||||||
SUBDIR += gkrellmaflag
|
SUBDIR += gkrellmaflag
|
||||||
|
|
34
misc/getopt/Makefile
Normal file
34
misc/getopt/Makefile
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# New ports collection makefile for: getopt
|
||||||
|
# Date created: 2003-06-05
|
||||||
|
# Whom: Sergei Kolobov <sergei@kolobov.com>
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
#
|
||||||
|
|
||||||
|
PORTNAME= getopt
|
||||||
|
PORTVERSION= 1.1.3
|
||||||
|
CATEGORIES= misc
|
||||||
|
MASTER_SITES= http://huizen.dds.nl/~frodol/
|
||||||
|
|
||||||
|
MAINTAINER= sergei@kolobov.com
|
||||||
|
COMMENT= A getopt(1) replacement that supports GNU-style long options
|
||||||
|
|
||||||
|
LIB_DEPENDS= intl:${PORTSDIR}/devel/gettext
|
||||||
|
|
||||||
|
USE_GMAKE= yes
|
||||||
|
USE_GETOPT_LONG= yes
|
||||||
|
|
||||||
|
CFLAGS+= -I${LOCALBASE}/include
|
||||||
|
LDFLAGS+= -L${LOCALBASE}/lib -lintl
|
||||||
|
MAKE_ENV= LIBCGETOPT=0 CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
|
||||||
|
|
||||||
|
MAN1= getopt.1
|
||||||
|
DOCS= Changelog README
|
||||||
|
|
||||||
|
.if !defined(NOPORTDOCS)
|
||||||
|
post-install:
|
||||||
|
@${MKDIR} ${DOCSDIR}
|
||||||
|
@cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR}
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.include <bsd.port.mk>
|
1
misc/getopt/distinfo
Normal file
1
misc/getopt/distinfo
Normal file
|
@ -0,0 +1 @@
|
||||||
|
MD5 (getopt-1.1.3.tar.gz) = 7b7637dcb0ac531f1af29f4d6b018e86
|
38
misc/getopt/files/patch-Makefile
Normal file
38
misc/getopt/files/patch-Makefile
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
--- Makefile.orig Thu Jan 23 23:52:29 2003
|
||||||
|
+++ Makefile Thu Jun 5 16:17:44 2003
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
|
DESTDIR=
|
||||||
|
-prefix=/usr/local
|
||||||
|
+prefix=$(PREFIX)
|
||||||
|
bindir=$(prefix)/bin
|
||||||
|
mandir=$(prefix)/man
|
||||||
|
man1dir=$(mandir)/man1
|
||||||
|
@@ -29,7 +29,7 @@
|
||||||
|
LANGUAGES = cs de es fr it ja nl pt_BR
|
||||||
|
MOFILES:=$(patsubst %,po/%.mo,$(LANGUAGES))
|
||||||
|
|
||||||
|
-CPPFLAGS=-DLIBCGETOPT=$(LIBCGETOPT) -DWITH_GETTEXT=$(WITH_GETTEXT) -DLOCALEDIR=\"$(localedir)\" -DNOT_UTIL_LINUX
|
||||||
|
+CPPFLAGS+=-DLIBCGETOPT=$(LIBCGETOPT) -DWITH_GETTEXT=$(WITH_GETTEXT) -DLOCALEDIR=\"$(localedir)\" -DNOT_UTIL_LINUX
|
||||||
|
ifeq ($(LIBCGETOPT),0)
|
||||||
|
CPPFLAGS+=-I./gnu
|
||||||
|
endif
|
||||||
|
@@ -39,8 +39,6 @@
|
||||||
|
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
|
||||||
|
-Wnested-externs -Winline
|
||||||
|
OPTIMIZE=-O3 -fno-strength-reduce
|
||||||
|
-CFLAGS=$(WARNINGS) $(OPTIMIZE)
|
||||||
|
-LDFLAGS=
|
||||||
|
|
||||||
|
sources=getopt.c
|
||||||
|
ifeq ($(LIBCGETOPT),0)
|
||||||
|
@@ -71,7 +69,7 @@
|
||||||
|
getopt-test.bash getopt-test.tcsh \
|
||||||
|
$(DESTDIR)$(getoptdir)
|
||||||
|
|
||||||
|
-ifeq ($(WITH_GETTEXT),1)
|
||||||
|
+ifeq ($(WITHOUT_GETTEXT),0)
|
||||||
|
all_po: $(MOFILES)
|
||||||
|
install_po: all_po
|
||||||
|
$(INSTALL) -m 755 -d $(DESTDIR)$(localedir)
|
55
misc/getopt/files/patch-getopt.c
Normal file
55
misc/getopt/files/patch-getopt.c
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
--- getopt.c.orig Thu Jun 5 16:00:34 2003
|
||||||
|
+++ getopt.c Thu Jun 5 16:02:34 2003
|
||||||
|
@@ -66,7 +66,6 @@
|
||||||
|
int quiet_errors=0; /* 0 is not quiet. */
|
||||||
|
int quiet_output=0; /* 0 is not quiet. */
|
||||||
|
int quote=1; /* 1 is do quote. */
|
||||||
|
-int alternative=0; /* 0 is getopt_long, 1 is getopt_long_only */
|
||||||
|
|
||||||
|
/* Function prototypes */
|
||||||
|
void *our_malloc(size_t size);
|
||||||
|
@@ -188,9 +187,7 @@
|
||||||
|
opterr=0;
|
||||||
|
optind=0; /* Reset getopt(3) */
|
||||||
|
|
||||||
|
- while ((opt = (alternative?
|
||||||
|
- getopt_long_only(argc,argv,optstr,longopts,&longindex):
|
||||||
|
- getopt_long(argc,argv,optstr,longopts,&longindex)))
|
||||||
|
+ while ((opt = getopt_long(argc,argv,optstr,longopts,&longindex))
|
||||||
|
!= EOF)
|
||||||
|
if (opt == '?' || opt == ':' )
|
||||||
|
exit_code = 1;
|
||||||
|
@@ -325,7 +322,6 @@
|
||||||
|
fputs(_(" getopt [options] [--] optstring parameters\n"),stderr);
|
||||||
|
fputs(_(" getopt [options] -o|--options optstring [options] [--]\n"),stderr);
|
||||||
|
fputs(_(" parameters\n"),stderr);
|
||||||
|
- fputs(_(" -a, --alternative Allow long options starting with single -\n"),stderr);
|
||||||
|
fputs(_(" -h, --help This small usage guide\n"),stderr);
|
||||||
|
fputs(_(" -l, --longoptions=longopts Long options to be recognized\n"),stderr);
|
||||||
|
fputs(_(" -n, --name=progname The name under which errors are reported\n"),stderr);
|
||||||
|
@@ -355,14 +351,13 @@
|
||||||
|
{"test",no_argument,NULL,'T'},
|
||||||
|
{"unquoted",no_argument,NULL,'u'},
|
||||||
|
{"help",no_argument,NULL,'h'},
|
||||||
|
- {"alternative",no_argument,NULL,'a'},
|
||||||
|
{"name",required_argument,NULL,'n'},
|
||||||
|
{"version",no_argument,NULL,'V'},
|
||||||
|
{NULL,0,NULL,0}
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Stop scanning as soon as a non-option argument is found! */
|
||||||
|
-static const char *shortopts="+ao:l:n:qQs:TuhV";
|
||||||
|
+static const char *shortopts="+o:l:n:qQs:TuhV";
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
@@ -405,9 +400,6 @@
|
||||||
|
|
||||||
|
while ((opt=getopt_long(argc,argv,shortopts,longopts,NULL)) != EOF)
|
||||||
|
switch (opt) {
|
||||||
|
- case 'a':
|
||||||
|
- alternative=1;
|
||||||
|
- break;
|
||||||
|
case 'h':
|
||||||
|
print_help();
|
||||||
|
exit(0);
|
14
misc/getopt/pkg-descr
Normal file
14
misc/getopt/pkg-descr
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
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.
|
||||||
|
|
||||||
|
Author: Frodo Looijaard <frodol@dds.nl>
|
||||||
|
WWW: http://huizen.dds.nl/~frodol/getopt.html
|
13
misc/getopt/pkg-plist
Normal file
13
misc/getopt/pkg-plist
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
@comment $Id$
|
||||||
|
bin/getopt
|
||||||
|
%%PORTDOCS%%%%DOCSDIR%%/Changelog
|
||||||
|
%%PORTDOCS%%%%DOCSDIR%%/README
|
||||||
|
%%PORTDOCS%%@dirrm %%DOCSDIR%%
|
||||||
|
share/locale/cs/LC_MESSAGES/getopt.mo
|
||||||
|
share/locale/de/LC_MESSAGES/getopt.mo
|
||||||
|
share/locale/es/LC_MESSAGES/getopt.mo
|
||||||
|
share/locale/fr/LC_MESSAGES/getopt.mo
|
||||||
|
share/locale/it/LC_MESSAGES/getopt.mo
|
||||||
|
share/locale/ja/LC_MESSAGES/getopt.mo
|
||||||
|
share/locale/nl/LC_MESSAGES/getopt.mo
|
||||||
|
share/locale/pt_BR/LC_MESSAGES/getopt.mo
|
Loading…
Add table
Reference in a new issue