ports/86461: [NEW PORT] textproc/sdcv: A text-based utility for work with dictionaries in StarDict's format

chinsan chinsan.tw at gamilc.om
Thu Sep 22 13:30:22 UTC 2005


>Number:         86461
>Category:       ports
>Synopsis:       [NEW PORT] textproc/sdcv: A text-based utility for work with dictionaries in StarDict's format
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Sep 22 13:30:21 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     chinsan
>Release:        FreeBSD 5.4-STABLE i386
>Organization:
Giga
>Environment:
System: FreeBSD chinsan.twbbs.org 5.4-STABLE FreeBSD 5.4-STABLE #0: Sun Aug 14 21:25:08 CST 2005 root at chinsan.twbbs.org:/usr/obj/usr/src/sys/TAKAKO i386
>Description:

 sdcv(StarDict under Console Version) is simple, cross-platform text-based utility 
 for work with dictionaries in StarDict's format. 

 It is a text-based utility for work with dictionaries in StarDict's format


>How-To-Repeat:
 cd /usr/ports/textproc
 sh sdcv.shar ; cd sdcv
 make install clean

>Fix:

--- sdcv.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	sdcv
#	sdcv/Makefile
#	sdcv/distinfo
#	sdcv/pkg-descr
#	sdcv/pkg-plist
#	sdcv/files
#	sdcv/files/patch-config.h.in
#	sdcv/files/patch-configure.ac
#	sdcv/files/patch-src-sdcv.cpp
#	sdcv/files/patch-src-Makefile.in
#	sdcv/files/patch-src-getopt.h
#	sdcv/files/patch-po-Makefile.in.in
#
echo c - sdcv
mkdir -p sdcv > /dev/null 2>&1
echo x - sdcv/Makefile
sed 's/^X//' >sdcv/Makefile << 'END-of-sdcv/Makefile'
X# Ports collection makefile for:	sdcv
X# Date created:			2005/07/07
X# Whom:				chinsan <chinsan.tw at gmail.com>
X# $FreeBSD$
X#
X
XPORTNAME=	sdcv
XPORTVERSION=	0.4
XCATEGORIES=	textproc
XMASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR=	${PORTNAME}
X
XMAINTAINER=	chinsan.tw at gmail.com
XCOMMENT=	A text-based utility for work with dictionaries in StarDict's format
X
XUSE_BZIP2=	yes
XUSE_REINPLACE=	yes
XGNU_CONFIGURE=	yes
XUSE_GMAKE=	yes
XUSE_GCC=	3.4
XUSE_LIBTOOL_VER=	13
XUSE_GETTEXT=	yes
XCPPFLAGS+=	-I${LOCALBASE}/include
XLDFLAGS+=	-L${LOCALBASE}/lib
XCONFIGURE_ENV+=	CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
X
XMAN1=		sdcv.1
X
Xpost-patch:
X	@${REINPLACE_CMD} -e 's|/usr/share|/usr/local/share|g' -i "" ${WRKSRC}/doc/sdcv.1
X
X.include <bsd.port.mk>
END-of-sdcv/Makefile
echo x - sdcv/distinfo
sed 's/^X//' >sdcv/distinfo << 'END-of-sdcv/distinfo'
XMD5 (sdcv-0.4.tar.bz2) = a01cf09608e8c0ae1c6e9fb7aeb82bc1
XSIZE (sdcv-0.4.tar.bz2) = 166180
END-of-sdcv/distinfo
echo x - sdcv/pkg-descr
sed 's/^X//' >sdcv/pkg-descr << 'END-of-sdcv/pkg-descr'
XSDCV(StarDict under Console Version) is simple, cross-platform text-based utility 
Xfor work with dictionaries in StarDict's format.
X
XThe word from "list of words" may be string with leading '/' for using Fuzzy search algorithm, 
Xstring may contain '?' and '*' for using regexp search. 
XIt work in interactive and not interactive mode. 
X
XWWW: http://sdcv.sourceforge.net/
END-of-sdcv/pkg-descr
echo x - sdcv/pkg-plist
sed 's/^X//' >sdcv/pkg-plist << 'END-of-sdcv/pkg-plist'
Xbin/sdcv
Xshare/locale/ru/LC_MESSAGES/sdcv.mo
Xshare/locale/sk/LC_MESSAGES/sdcv.mo
Xshare/locale/zh_CN/LC_MESSAGES/sdcv.mo
END-of-sdcv/pkg-plist
echo c - sdcv/files
mkdir -p sdcv/files > /dev/null 2>&1
echo x - sdcv/files/patch-config.h.in
sed 's/^X//' >sdcv/files/patch-config.h.in << 'END-of-sdcv/files/patch-config.h.in'
X--- config.h.in.orig	Sun Jul 17 20:18:50 2005
X+++ config.h.in	Sun Jul 17 20:18:50 2005
X@@ -20,6 +20,9 @@
X /* Define if you have the iconv() function. */
X #undef HAVE_ICONV
X 
X+/* Define to 1 if you have the etopt_long' function. */
X+#undef HAVE_GETOPT_LONG
X+
X /* Define to 1 if you have the <inttypes.h> header file. */
X #undef HAVE_INTTYPES_H
X 
END-of-sdcv/files/patch-config.h.in
echo x - sdcv/files/patch-configure.ac
sed 's/^X//' >sdcv/files/patch-configure.ac << 'END-of-sdcv/files/patch-configure.ac'
X--- configure.ac.orig	Sun Jul 17 20:23:45 2005
X+++ configure.ac	Sun Jul 17 20:23:45 2005
X@@ -26,6 +26,7 @@
X AC_FUNC_MMAP
X 
X AC_CHECK_LIB(z,zlibVersion,LIBS="$LIBS -lz",[AC_MSG_ERROR([zlib not found])])
X+AC_CHECK_FUNCS(mkdir select strdup strtol getopt_long)
X 
X # Check for readline support
X SDCV_CHECK_READLINE
END-of-sdcv/files/patch-configure.ac
echo x - sdcv/files/patch-src-sdcv.cpp
sed 's/^X//' >sdcv/files/patch-src-sdcv.cpp << 'END-of-sdcv/files/patch-src-sdcv.cpp'
X--- src/sdcv.cpp.orig	Mon Jun  6 05:56:53 2005
X+++ src/sdcv.cpp	Sun Jul 17 21:26:55 2005
X@@ -23,6 +23,9 @@
X #include <clocale>
X #include <glib.h>
X #include <glib/gi18n.h>
X+#ifdef HAVE_CONFIG_H
X+#include "../config.h"
X+#endif
X #include <getopt.h>
X #include <string>
X #include <vector>
X@@ -458,7 +461,7 @@
X     data_dir=stardict_data_dir;
X 
X   if (data_dir.empty())
X-    data_dir="/usr/share/stardict";
X+    data_dir="/usr/local/share/stardict";
X 
X   if (show_list_dicts) {
X     DictInfoList  dict_info_list;
END-of-sdcv/files/patch-src-sdcv.cpp
echo x - sdcv/files/patch-src-Makefile.in
sed 's/^X//' >sdcv/files/patch-src-Makefile.in << 'END-of-sdcv/files/patch-src-Makefile.in'
X--- src/Makefile.in.orig	Mon Jun  6 05:56:53 2005
X+++ src/Makefile.in	Mon Jul 18 19:37:52 2005
X@@ -137,7 +137,7 @@
X SET_MAKE = @SET_MAKE@
X SHELL = @SHELL@
X STRIP = @STRIP@
X-USE_NLS = @USE_NLS@
X+USE_NLS = yes
X VERSION = @VERSION@
X XGETTEXT = @XGETTEXT@
X ac_ct_CC = @ac_ct_CC@
X@@ -180,7 +180,7 @@
X sharedstatedir = @sharedstatedir@
X sysconfdir = @sysconfdir@
X target_alias = @target_alias@
X-sdcv_SOURCES = sdcv.cpp getopt.c getopt1.c getopt.h\
X+sdcv_SOURCES = sdcv.cpp getopt.c getopt1.c \
X 	lib.cpp lib.h \
X 	distance.cpp distance.h      \
X 	dictziplib.c dictziplib.h
END-of-sdcv/files/patch-src-Makefile.in
echo x - sdcv/files/patch-src-getopt.h
sed 's/^X//' >sdcv/files/patch-src-getopt.h << 'END-of-sdcv/files/patch-src-getopt.h'
X--- src/getopt.h	Mon Jun  6 05:56:53 2005
X+++ /dev/null	Sun Jul 17 21:13:54 2005
X@@ -1,179 +0,0 @@
X-/* Declarations for getopt.
X-   Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
X-   This file is part of the GNU C Library.
X-
X-   This program is free software; you can redistribute it and/or modify
X-   it under the terms of the GNU General Public License as published by
X-   the Free Software Foundation; either version 2, or (at your option)
X-   any later version.
X-
X-   This program is distributed in the hope that it will be useful,
X-   but WITHOUT ANY WARRANTY; without even the implied warranty of
X-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X-   GNU General Public License for more details.
X-
X-   You should have received a copy of the GNU General Public License
X-   along with this program; if not, write to the Free Software Foundation,
X-   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
X-
X-#ifndef _GETOPT_H
X-
X-#ifndef __need_getopt
X-# define _GETOPT_H 1
X-#endif
X-
X-/* If __GNU_LIBRARY__ is not already defined, either we are being used
X-   standalone, or this is the first header included in the source file.
X-   If we are being used with glibc, we need to include <features.h>, but
X-   that does not exist if we are standalone.  So: if __GNU_LIBRARY__ is
X-   not defined, include <ctype.h>, which will pull in <features.h> for us
X-   if it's from glibc.  (Why ctype.h?  It's guaranteed to exist and it
X-   doesn't flood the namespace with stuff the way some other headers do.)  */
X-#if !defined __GNU_LIBRARY__
X-# include <ctype.h>
X-#endif
X-
X-#ifdef	__cplusplus
X-extern "C" {
X-#endif
X-
X-/* For communication from `getopt' to the caller.
X-   When `getopt' finds an option that takes an argument,
X-   the argument value is returned here.
X-   Also, when `ordering' is RETURN_IN_ORDER,
X-   each non-option ARGV-element is returned here.  */
X-
X-extern char *optarg;
X-
X-/* Index in ARGV of the next element to be scanned.
X-   This is used for communication to and from the caller
X-   and for communication between successive calls to `getopt'.
X-
X-   On entry to `getopt', zero means this is the first call; initialize.
X-
X-   When `getopt' returns -1, this is the index of the first of the
X-   non-option elements that the caller should itself scan.
X-
X-   Otherwise, `optind' communicates from one call to the next
X-   how much of ARGV has been scanned so far.  */
X-
X-extern int optind;
X-
X-/* Callers store zero here to inhibit the error message `getopt' prints
X-   for unrecognized options.  */
X-
X-extern int opterr;
X-
X-/* Set to an option character which was unrecognized.  */
X-
X-extern int optopt;
X-
X-#ifndef __need_getopt
X-/* Describe the long-named options requested by the application.
X-   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
X-   of `struct option' terminated by an element containing a name which is
X-   zero.
X-
X-   The field `has_arg' is:
X-   no_argument		(or 0) if the option does not take an argument,
X-   required_argument	(or 1) if the option requires an argument,
X-   optional_argument 	(or 2) if the option takes an optional argument.
X-
X-   If the field `flag' is not NULL, it points to a variable that is set
X-   to the value given in the field `val' when the option is found, but
X-   left unchanged if the option is not found.
X-
X-   To have a long-named option do something other than set an `int' to
X-   a compiled-in constant, such as set a value from `optarg', set the
X-   option's `flag' field to zero and its `val' field to a nonzero
X-   value (the equivalent single-letter option character, if there is
X-   one).  For long options that have a zero `flag' field, `getopt'
X-   returns the contents of the `val' field.  */
X-
X-struct option
X-{
X-# if (defined __STDC__ && __STDC__) || defined __cplusplus
X-  const char *name;
X-# else
X-  char *name;
X-# endif
X-  /* has_arg can't be an enum because some compilers complain about
X-     type mismatches in all the code that assumes it is an int.  */
X-  int has_arg;
X-  int *flag;
X-  int val;
X-};
X-
X-/* Names for the values of the `has_arg' field of `struct option'.  */
X-
X-# define no_argument		0
X-# define required_argument	1
X-# define optional_argument	2
X-#endif	/* need getopt */
X-
X-
X-/* Get definitions and prototypes for functions to process the
X-   arguments in ARGV (ARGC of them, minus the program name) for
X-   options given in OPTS.
X-
X-   Return the option character from OPTS just read.  Return -1 when
X-   there are no more options.  For unrecognized options, or options
X-   missing arguments, `optopt' is set to the option letter, and '?' is
X-   returned.
X-
X-   The OPTS string is a list of characters which are recognized option
X-   letters, optionally followed by colons, specifying that that letter
X-   takes an argument, to be placed in `optarg'.
X-
X-   If a letter in OPTS is followed by two colons, its argument is
X-   optional.  This behavior is specific to the GNU `getopt'.
X-
X-   The argument `--' causes premature termination of argument
X-   scanning, explicitly telling `getopt' that there are no more
X-   options.
X-
X-   If OPTS begins with `--', then non-option arguments are treated as
X-   arguments to the option '\0'.  This behavior is specific to the GNU
X-   `getopt'.  */
X-
X-#if (defined __STDC__ && __STDC__) || defined __cplusplus
X-# ifdef __GNU_LIBRARY__
X-/* Many other libraries have conflicting prototypes for getopt, with
X-   differences in the consts, in stdlib.h.  To avoid compilation
X-   errors, only prototype getopt for the GNU C library.  */
X-extern int getopt (int __argc, char *const *__argv, const char *__shortopts);
X-# else /* not __GNU_LIBRARY__ */
X-extern int getopt ();
X-# endif /* __GNU_LIBRARY__ */
X-
X-# ifndef __need_getopt
X-extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts,
X-		        const struct option *__longopts, int *__longind);
X-extern int getopt_long_only (int __argc, char *const *__argv,
X-			     const char *__shortopts,
X-		             const struct option *__longopts, int *__longind);
X-
X-/* Internal only.  Users should not call this directly.  */
X-extern int _getopt_internal (int __argc, char *const *__argv,
X-			     const char *__shortopts,
X-		             const struct option *__longopts, int *__longind,
X-			     int __long_only);
X-# endif
X-#else /* not __STDC__ */
X-extern int getopt ();
X-# ifndef __need_getopt
X-extern int getopt_long ();
X-extern int getopt_long_only ();
X-
X-extern int _getopt_internal ();
X-# endif
X-#endif /* __STDC__ */
X-
X-#ifdef	__cplusplus
X-}
X-#endif
X-
X-/* Make sure we later can get all the definitions and declarations.  */
X-#undef __need_getopt
X-
X-#endif /* getopt.h */
END-of-sdcv/files/patch-src-getopt.h
echo x - sdcv/files/patch-po-Makefile.in.in
sed 's/^X//' >sdcv/files/patch-po-Makefile.in.in << 'END-of-sdcv/files/patch-po-Makefile.in.in'
X--- po/Makefile.in.in.orig	Mon Jul 18 19:35:13 2005
X+++ po/Makefile.in.in	Mon Jul 18 19:35:13 2005
X@@ -74,7 +74,7 @@
X 	mv t-$@ $@
X 
X 
X-all: all- at USE_NLS@
X+all: all-yes
X 
X all-yes: stamp-po
X all-no:
X@@ -141,7 +141,7 @@
X 
X install: install-exec install-data
X install-exec:
X-install-data: install-data- at USE_NLS@
X+install-data: install-data-yes
X 	if test "$(PACKAGE)" = "gettext-tools"; then \
X 	  $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
X 	  for file in $(DISTFILES.common) Makevars.template; do \
X@@ -200,7 +200,7 @@
X 
X installdirs: installdirs-exec installdirs-data
X installdirs-exec:
X-installdirs-data: installdirs-data- at USE_NLS@
X+installdirs-data: installdirs-data-yes
X 	if test "$(PACKAGE)" = "gettext-tools"; then \
X 	  $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
X 	else \
X@@ -245,7 +245,7 @@
X 
X uninstall: uninstall-exec uninstall-data
X uninstall-exec:
X-uninstall-data: uninstall-data- at USE_NLS@
X+uninstall-data: uninstall-data-yes
X 	if test "$(PACKAGE)" = "gettext-tools"; then \
X 	  for file in $(DISTFILES.common) Makevars.template; do \
X 	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
END-of-sdcv/files/patch-po-Makefile.in.in
exit
--- sdcv.shar ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list