mirror of
https://git.freebsd.org/ports.git
synced 2025-05-31 10:26:28 -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 += gctpc
|
||||
SUBDIR += geekcode
|
||||
SUBDIR += getopt
|
||||
SUBDIR += git
|
||||
SUBDIR += gkrellm-reminder
|
||||
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