ports/128664: [NEW PORT]devel/rubygem-main:A Class Factory and Dsl for Generating Command Line Programs

Wen Heping wenheping at gmail.com
Fri Nov 7 06:30:03 UTC 2008


>Number:         128664
>Category:       ports
>Synopsis:       [NEW PORT]devel/rubygem-main:A Class Factory and Dsl for Generating Command Line Programs
>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:   Fri Nov 07 06:30:02 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Wen Heping
>Release:        FreeBSD-8.0 Current
>Organization:
ChangAn Middle School
>Environment:
FreeBSD fb8.wenjing.com 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Sun Sep 21 18:56:51 HKT 2008     root at fb8.wenjing.com:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
main.rb features the following:
    - unification of option, argument, keyword, and environment
parameter parsing
    - auto generation of usage and help messages
    - support for mode/sub-commands
    - io redirection support
    - logging hooks using ruby's built-in logging mechanism
    - intelligent error handling and exit codes
    - use as dsl or library for building Main objects
    - parsing user defined ARGV and ENV
    - zero requirements for understanding the obtuse apis of any
command line option parsers
    - leather pants

  In short main.rb aims to drastically lower the barrier to writing
uniform command line applications.

WWW:    http://codeforpeople.com/lib/ruby/main/


(It require rubygem-arrayfields and rubygem-fattr:
http://www.freebsd.org/cgi/query-pr.cgi?pr=128662
http://www.freebsd.org/cgi/query-pr.cgi?pr=128663)
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# 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:
#
#	rubygem-main
#	rubygem-main/pkg-plist
#	rubygem-main/pkg-descr
#	rubygem-main/distinfo
#	rubygem-main/Makefile
#
echo c - rubygem-main
mkdir -p rubygem-main > /dev/null 2>&1
echo x - rubygem-main/pkg-plist
sed 's/^X//' >rubygem-main/pkg-plist << 'c892073907b3a2ecdc4ae5d8dc0b8432'
X%%GEM_CACHE%%
X%%GEM_LIB_DIR%%/README
X%%GEM_LIB_DIR%%/TODO
X%%GEM_LIB_DIR%%/gemspec.rb
X%%GEM_LIB_DIR%%/gen_readme.rb
X%%GEM_LIB_DIR%%/install.rb
X%%GEM_LIB_DIR%%/lib/main.rb
X%%GEM_LIB_DIR%%/lib/main/base.rb
X%%GEM_LIB_DIR%%/lib/main/cast.rb
X%%GEM_LIB_DIR%%/lib/main/factories.rb
X%%GEM_LIB_DIR%%/lib/main/getoptlong.rb
X%%GEM_LIB_DIR%%/lib/main/logger.rb
X%%GEM_LIB_DIR%%/lib/main/mode.rb
X%%GEM_LIB_DIR%%/lib/main/parameter.rb
X%%GEM_LIB_DIR%%/lib/main/softspoken.rb
X%%GEM_LIB_DIR%%/lib/main/stdext.rb
X%%GEM_LIB_DIR%%/lib/main/usage.rb
X%%GEM_LIB_DIR%%/lib/main/util.rb
X%%GEM_LIB_DIR%%/samples/a.rb
X%%GEM_LIB_DIR%%/samples/b.rb
X%%GEM_LIB_DIR%%/samples/c.rb
X%%GEM_LIB_DIR%%/samples/d.rb
X%%GEM_LIB_DIR%%/samples/e.rb
X%%GEM_LIB_DIR%%/samples/f.rb
X%%GEM_LIB_DIR%%/samples/g.rb
X%%GEM_LIB_DIR%%/samples/h.rb
X%%GEM_LIB_DIR%%/test/main.rb
X%%GEM_SPEC%%
X at dirrm %%GEM_LIB_DIR%%/test
X at dirrm %%GEM_LIB_DIR%%/lib/main
X at dirrm %%GEM_LIB_DIR%%/lib
X at dirrm %%GEM_LIB_DIR%%/samples
X at dirrm %%GEM_LIB_DIR%%
X at dirrm %%GEM_DOC_DIR%%
c892073907b3a2ecdc4ae5d8dc0b8432
echo x - rubygem-main/pkg-descr
sed 's/^X//' >rubygem-main/pkg-descr << '0416c1c463dd7a46ae0f449b0bb509c7'
Xmain.rb features the following:
X    - unification of option, argument, keyword, and environment
Xparameter parsing
X    - auto generation of usage and help messages
X    - support for mode/sub-commands
X    - io redirection support
X    - logging hooks using ruby's built-in logging mechanism
X    - intelligent error handling and exit codes 
X    - use as dsl or library for building Main objects
X    - parsing user defined ARGV and ENV
X    - zero requirements for understanding the obtuse apis of any
Xcommand line option parsers
X    - leather pants
X
X  In short main.rb aims to drastically lower the barrier to writing
Xuniform command line applications.
X
XWWW:	http://codeforpeople.com/lib/ruby/main/
0416c1c463dd7a46ae0f449b0bb509c7
echo x - rubygem-main/distinfo
sed 's/^X//' >rubygem-main/distinfo << '502256dbdf61d77f29e385dfb597a080'
XMD5 (rubygem/main-2.8.3.gem) = dcb344a9ad5f72cdc03c34a496400d73
XSHA256 (rubygem/main-2.8.3.gem) = 013b059565cd133ab5dfddf53c9cb265949e6d6ad717296617c3381b4fb7e05a
XSIZE (rubygem/main-2.8.3.gem) = 30720
502256dbdf61d77f29e385dfb597a080
echo x - rubygem-main/Makefile
sed 's/^X//' >rubygem-main/Makefile << 'f918eaea60889e6cfe818e0df7504e31'
X# New ports collection makefile for:	rubygem-main
X# Date created:		07, Nov 2008
X# Whom:			Wen Heping <wenheping at gmail.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	main
XPORTVERSION=	2.8.3
XCATEGORIES=	devel rubygems
XMASTER_SITES=	${MASTER_SITE_RUBYFORGE}
XMASTER_SITE_SUBDIR=	codeforpeople
X
XMAINTAINER=	wenheping at gmail.com
XCOMMENT=	A Class Factory and Dsl for Generating Command Line Programs
X
XBUILD_DEPENDS=	rubygem-fattr>=1.0.3:${PORTSDIR}/devel/rubygem-fattr \
X		rubygem-arrayfields>=4.5.0:${PORTSDIR}/devel/rubygem-arrayfields
XRUN_DEPENDS=	${BUILD_DEPENDS}
X
XUSE_RUBY=	yes
XUSE_RUBYGEMS=	yes
X
X.include <bsd.port.mk>
f918eaea60889e6cfe818e0df7504e31
exit



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



More information about the freebsd-ports-bugs mailing list