[39000] branches/gsoc08-privileges/base
pmagrath at macports.org
pmagrath at macports.org
Tue Aug 5 13:25:51 PDT 2008
Revision: 39000
http://trac.macosforge.org/projects/macports/changeset/39000
Author: pmagrath at macports.org
Date: 2008-08-05 13:25:51 -0700 (Tue, 05 Aug 2008)
Log Message:
-----------
Merged revisions 38683-38684,38753,38756,38765,38835,38883,38940-38942,38960-38961,38973 via svnmerge from
https://svn.macosforge.org/repository/macports/trunk/base
........
r38683 | febeling at macports.org | 2008-07-28 22:21:33 +0100 (Mon, 28 Jul 2008) | 9 lines
Support for ruby19 ports in the ruby port group.
The command ruby.setup accepts an new optional
parameter "implementation", which is ruby18 by
default, and can also be ruby19. (As more ruby
implementations appear these may be added as
well.) Unit tests are in the new sub-directory
tests/.
........
r38684 | febeling at macports.org | 2008-07-28 22:32:47 +0100 (Mon, 28 Jul 2008) | 2 lines
ChangeLog for ruby group change, #15912.
........
r38753 | afb at macports.org | 2008-07-30 08:30:39 +0100 (Wed, 30 Jul 2008) | 2 lines
update changelog for r38577
........
r38756 | afb at macports.org | 2008-07-30 11:13:23 +0100 (Wed, 30 Jul 2008) | 2 lines
unbreak test case when ruby19 is not installed or not running leopard
........
r38765 | toby at macports.org | 2008-07-30 20:59:14 +0100 (Wed, 30 Jul 2008) | 2 lines
fix distclean
........
r38835 | febeling at macports.org | 2008-08-01 09:47:58 +0100 (Fri, 01 Aug 2008) | 2 lines
remove hard-coded mp prefix in test case setup
........
r38883 | wsiegrist at apple.com | 2008-08-02 00:53:41 +0100 (Sat, 02 Aug 2008) | 2 lines
Make the guide chunkier at <http://guide.macports.org/chunked/>
........
r38940 | raimue at macports.org | 2008-08-03 09:05:42 +0100 (Sun, 03 Aug 2008) | 4 lines
pextlib1.0:
Add a wrapper for isatty(3). Add term_get_size to find the size of a connected
terminal for a channel using ioctl(2).
........
r38941 | raimue at macports.org | 2008-08-03 09:10:26 +0100 (Sun, 03 Aug 2008) | 4 lines
port/port.tcl:
Use isatty and term_get_size from pextlib to determine the size of the
connected terminal. This requires the Pextlib package.
........
r38942 | raimue at macports.org | 2008-08-03 09:19:05 +0100 (Sun, 03 Aug 2008) | 3 lines
pextlib1.0/tty.c:
Tabs to spaces
........
r38960 | afb at macports.org | 2008-08-04 10:23:00 +0100 (Mon, 04 Aug 2008) | 2 lines
add use_lzma for .tar.lzma support
........
r38961 | afb at macports.org | 2008-08-04 10:29:00 +0100 (Mon, 04 Aug 2008) | 2 lines
fix typo
........
r38973 | jmr at macports.org | 2008-08-04 17:11:28 +0100 (Mon, 04 Aug 2008) | 2 lines
mirror sites: order sourceforge mirrors more or less geographically
........
Modified Paths:
--------------
branches/gsoc08-privileges/base/ChangeLog
branches/gsoc08-privileges/base/Makefile.in
branches/gsoc08-privileges/base/configure
branches/gsoc08-privileges/base/configure.ac
branches/gsoc08-privileges/base/doc/portfile.7
branches/gsoc08-privileges/base/portmgr/jobs/GuideRegen.sh
branches/gsoc08-privileges/base/src/pextlib1.0/Makefile
branches/gsoc08-privileges/base/src/pextlib1.0/Pextlib.c
branches/gsoc08-privileges/base/src/port/port.tcl
branches/gsoc08-privileges/base/src/port1.0/portextract.tcl
branches/gsoc08-privileges/base/src/port1.0/portfetch.tcl
branches/gsoc08-privileges/base/src/port1.0/resources/fetch/mirror_sites.tcl
branches/gsoc08-privileges/base/src/port1.0/resources/group/Makefile
branches/gsoc08-privileges/base/src/port1.0/resources/group/ruby-1.0.tcl
Added Paths:
-----------
branches/gsoc08-privileges/base/src/pextlib1.0/tty.c
branches/gsoc08-privileges/base/src/pextlib1.0/tty.h
branches/gsoc08-privileges/base/src/port1.0/resources/group/tests/
branches/gsoc08-privileges/base/src/port1.0/resources/group/tests/ruby-1.0.tcl
Removed Paths:
-------------
branches/gsoc08-privileges/base/src/port1.0/resources/group/tests/ruby-1.0.tcl
Property Changed:
----------------
branches/gsoc08-privileges/base/
Property changes on: branches/gsoc08-privileges/base
___________________________________________________________________
Name: svnmerge-integrated
- /trunk/base:1-38640
+ /trunk/base:1-38999
Modified: branches/gsoc08-privileges/base/ChangeLog
===================================================================
--- branches/gsoc08-privileges/base/ChangeLog 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/ChangeLog 2008-08-05 20:25:51 UTC (rev 39000)
@@ -5,6 +5,14 @@
Unreleased:
+ - Ruby port group now accepts a new (optional) last parameter for the
+ ruby.setup command, "implementation". It is "ruby" by default, and
+ can be set to "ruby19". It names the ruby-implementing port, and can
+ possibly support still other rubys in the future. (#15912, febeling
+ in 38683)
+
+ - Don't use build.nice for complex build.cmd commands (#16091)
+
- The buildmakejobs setting now also affects ports using the scons build
system, so now scons-based ports can be built in parallel too. Previously
only automake-based ports were supported. (ryandesign in r38556)
Modified: branches/gsoc08-privileges/base/Makefile.in
===================================================================
--- branches/gsoc08-privileges/base/Makefile.in 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/Makefile.in 2008-08-05 20:25:51 UTC (rev 39000)
@@ -57,6 +57,7 @@
rm -rf autom4te.cache ${DISTDIR}
rm -f Makefile Mk/macports.autoconf.mk portmgr/fedora/macports.spec portmgr/freebsd/Makefile
rm -f Doxyfile
+ rm -f setupenv.bash
_gettag:
cd ${DISTDIR}; svn co ${SVNURL}/tags/${SVNTAG} ${PKGNAME}-svn
Modified: branches/gsoc08-privileges/base/configure
===================================================================
--- branches/gsoc08-privileges/base/configure 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/configure 2008-08-05 20:25:51 UTC (rev 39000)
@@ -12386,6 +12386,8 @@
test "x$mpprefix" = "xNONE" && mpprefix=$ac_default_prefix
if false && test -d /etc/paths.d -a -d /etc/manpaths.d -a "$mpprefix" = "$ac_default_prefix"; then
PATHCONF=pathconf
+ ac_config_files="$ac_config_files src/pathconf/Makefile src/pathconf/paths src/pathconf/manpaths"
+
{ echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6; }
else
@@ -12474,7 +12476,7 @@
# Output
-ac_config_files="$ac_config_files Doxyfile Makefile Mk/macports.autoconf.mk doc/prefix.mtree doc/macosx.mtree doc/macports.conf portmgr/freebsd/Makefile portmgr/fedora/macports.spec src/Makefile src/macports1.0/macports_autoconf.tcl src/tclobjc1.0/Makefile src/pathconf/Makefile src/pathconf/paths src/pathconf/manpaths src/port1.0/port_autoconf.tcl src/registry1.0/registry_autoconf.tcl src/programs/Makefile src/macports1.0/macports_fastload.tcl setupenv.bash"
+ac_config_files="$ac_config_files Doxyfile Makefile Mk/macports.autoconf.mk doc/prefix.mtree doc/macosx.mtree doc/macports.conf portmgr/freebsd/Makefile portmgr/fedora/macports.spec src/Makefile src/macports1.0/macports_autoconf.tcl src/tclobjc1.0/Makefile src/port1.0/port_autoconf.tcl src/registry1.0/registry_autoconf.tcl src/programs/Makefile src/macports1.0/macports_fastload.tcl setupenv.bash"
cat >confcache <<\_ACEOF
@@ -13032,6 +13034,9 @@
case $ac_config_target in
"src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;;
"src/programs/daemondo/Makefile") CONFIG_FILES="$CONFIG_FILES src/programs/daemondo/Makefile" ;;
+ "src/pathconf/Makefile") CONFIG_FILES="$CONFIG_FILES src/pathconf/Makefile" ;;
+ "src/pathconf/paths") CONFIG_FILES="$CONFIG_FILES src/pathconf/paths" ;;
+ "src/pathconf/manpaths") CONFIG_FILES="$CONFIG_FILES src/pathconf/manpaths" ;;
"Doxyfile") CONFIG_FILES="$CONFIG_FILES Doxyfile" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"Mk/macports.autoconf.mk") CONFIG_FILES="$CONFIG_FILES Mk/macports.autoconf.mk" ;;
@@ -13043,9 +13048,6 @@
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"src/macports1.0/macports_autoconf.tcl") CONFIG_FILES="$CONFIG_FILES src/macports1.0/macports_autoconf.tcl" ;;
"src/tclobjc1.0/Makefile") CONFIG_FILES="$CONFIG_FILES src/tclobjc1.0/Makefile" ;;
- "src/pathconf/Makefile") CONFIG_FILES="$CONFIG_FILES src/pathconf/Makefile" ;;
- "src/pathconf/paths") CONFIG_FILES="$CONFIG_FILES src/pathconf/paths" ;;
- "src/pathconf/manpaths") CONFIG_FILES="$CONFIG_FILES src/pathconf/manpaths" ;;
"src/port1.0/port_autoconf.tcl") CONFIG_FILES="$CONFIG_FILES src/port1.0/port_autoconf.tcl" ;;
"src/registry1.0/registry_autoconf.tcl") CONFIG_FILES="$CONFIG_FILES src/registry1.0/registry_autoconf.tcl" ;;
"src/programs/Makefile") CONFIG_FILES="$CONFIG_FILES src/programs/Makefile" ;;
Modified: branches/gsoc08-privileges/base/configure.ac
===================================================================
--- branches/gsoc08-privileges/base/configure.ac 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/configure.ac 2008-08-05 20:25:51 UTC (rev 39000)
@@ -341,6 +341,7 @@
test "x$mpprefix" = "xNONE" && mpprefix=$ac_default_prefix
if false && test -d /etc/paths.d -a -d /etc/manpaths.d -a "$mpprefix" = "$ac_default_prefix"; then
PATHCONF=pathconf
+ AC_CONFIG_FILES([src/pathconf/Makefile src/pathconf/paths src/pathconf/manpaths])
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
@@ -410,9 +411,6 @@
src/Makefile
src/macports1.0/macports_autoconf.tcl
src/tclobjc1.0/Makefile
- src/pathconf/Makefile
- src/pathconf/paths
- src/pathconf/manpaths
src/port1.0/port_autoconf.tcl
src/registry1.0/registry_autoconf.tcl
src/programs/Makefile
Modified: branches/gsoc08-privileges/base/doc/portfile.7
===================================================================
--- branches/gsoc08-privileges/base/doc/portfile.7 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/doc/portfile.7 2008-08-05 20:25:51 UTC (rev 39000)
@@ -612,7 +612,7 @@
.It Ic use_bzip2
Use bzip2.
.br
-Sets extract.suffix to: .bzip2
+Sets extract.suffix to: .bz2
.br
Sets extract.cmd to: bzip2
.br
@@ -621,6 +621,18 @@
.br
.Sy Example:
.Dl use_bzip2 yes
+.It Ic use_lzma
+Use lzma.
+.br
+Sets extract.suffix to: .lzma
+.br
+Sets extract.cmd to: lzma
+.br
+.Sy Type:
+.Em optional
+.br
+.Sy Example:
+.Dl use_lzma yes
.It Ic dist_subdir
Create a sub-directory in
.Ic distpath
Modified: branches/gsoc08-privileges/base/portmgr/jobs/GuideRegen.sh
===================================================================
--- branches/gsoc08-privileges/base/portmgr/jobs/GuideRegen.sh 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/portmgr/jobs/GuideRegen.sh 2008-08-05 20:25:51 UTC (rev 39000)
@@ -61,9 +61,13 @@
|| { echo "Checking out the doc tree from $REPO_BASE/trunk/doc-new failed." >> $FAILURE_LOG; bail ; }
fi
-# (re)build
+# build single html version
{ cd ${SRCTREE}/doc-new && $MAKE guide > $FAILURE_LOG 2>&1 ; } \
|| { echo "make failed." >> $FAILURE_LOG ; bail ; }
+# build chunked version
+{ cd ${SRCTREE}/doc-new && $MAKE guide-chunked > $FAILURE_LOG 2>&1 ; } \
+ || { echo "make failed." >> $FAILURE_LOG ; bail ; }
+
# At this point the guide was regen'd successfuly, so we cleanup before we exit.
cleanup && exit 0
Modified: branches/gsoc08-privileges/base/src/pextlib1.0/Makefile
===================================================================
--- branches/gsoc08-privileges/base/src/pextlib1.0/Makefile 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/src/pextlib1.0/Makefile 2008-08-05 20:25:51 UTC (rev 39000)
@@ -1,7 +1,7 @@
OBJS= Pextlib.o strsed.o fgetln.o md5cmd.o setmode.o xinstall.o \
fs-traverse.o strcasecmp.o vercomp.o filemap.o \
sha1cmd.o compat.o curl.o rmd160cmd.o readline.o uid.o\
- tracelib.o
+ tracelib.o tty.o
SHLIB_NAME= Pextlib${SHLIB_SUFFIX}
INSTALLDIR= ${DESTDIR}${datadir}/macports/Tcl/pextlib1.0
export MACOSX_DEPLOYMENT_TARGET=10.3
Modified: branches/gsoc08-privileges/base/src/pextlib1.0/Pextlib.c
===================================================================
--- branches/gsoc08-privileges/base/src/pextlib1.0/Pextlib.c 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/src/pextlib1.0/Pextlib.c 2008-08-05 20:25:51 UTC (rev 39000)
@@ -114,6 +114,7 @@
#include "readline.h"
#include "uid.h"
#include "tracelib.h"
+#include "tty.h"
#if HAVE_CRT_EXTERNS_H
#include <crt_externs.h>
@@ -1214,6 +1215,8 @@
Tcl_CreateObjCommand(interp, "gid_to_name", gid_to_nameCmd, NULL, NULL);
Tcl_CreateObjCommand(interp, "tracelib", TracelibCmd, NULL, NULL);
+ Tcl_CreateObjCommand(interp, "isatty", IsattyCmd, NULL, NULL);
+ Tcl_CreateObjCommand(interp, "term_get_size", TermGetSizeCmd, NULL, NULL);
if (Tcl_PkgProvide(interp, "Pextlib", "1.0") != TCL_OK)
return TCL_ERROR;
Copied: branches/gsoc08-privileges/base/src/pextlib1.0/tty.c (from rev 38973, trunk/base/src/pextlib1.0/tty.c)
===================================================================
--- branches/gsoc08-privileges/base/src/pextlib1.0/tty.c (rev 0)
+++ branches/gsoc08-privileges/base/src/pextlib1.0/tty.c 2008-08-05 20:25:51 UTC (rev 39000)
@@ -0,0 +1,124 @@
+/*
+ * tty.c
+ * $Id$
+ * Tcl wrappers for tty control functions
+ *
+ * Author: Rainer Mueller <raimue at macports.org>
+ *
+ * Copyright (c) 2008 Rainer Mueller <raimue at macports.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Computer, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#include <sys/ioctl.h>
+
+#include <tcl.h>
+
+int IsattyCmd(ClientData clientData UNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
+{
+ Tcl_Obj *tcl_result;
+ Tcl_Channel chan;
+ int dir;
+ int fd;
+ int rval;
+
+ if (objc != 2) {
+ Tcl_WrongNumArgs(interp, 1, objv, "channel");
+ return TCL_ERROR;
+ }
+
+ chan = Tcl_GetChannel(interp, Tcl_GetString(objv[1]), &dir);
+ if (chan == NULL) {
+ Tcl_SetResult(interp, "no such channel", TCL_STATIC);
+ return TCL_ERROR;
+ }
+
+ if (Tcl_GetChannelHandle(chan,
+ dir & TCL_READABLE ? TCL_READABLE : TCL_WRITABLE,
+ (ClientData*) &fd) == TCL_ERROR) {
+ return TCL_ERROR;
+ }
+
+ rval = isatty(fd);
+
+ tcl_result = Tcl_NewIntObj(rval);
+ Tcl_SetObjResult(interp, tcl_result);
+
+ return TCL_OK;
+}
+
+int TermGetSizeCmd(ClientData clientData UNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
+{
+ Tcl_Obj *tcl_result;
+ Tcl_Channel chan;
+ int dir;
+ int fd;
+ Tcl_Obj *robjv[2];
+ struct winsize ws = {0, 0, 0, 0};
+
+ if (objc != 2) {
+ Tcl_WrongNumArgs(interp, 1, objv, "channel");
+ return TCL_ERROR;
+ }
+
+ chan = Tcl_GetChannel(interp, Tcl_GetString(objv[1]), &dir);
+ if (chan == NULL) {
+ Tcl_SetResult(interp, "no such channel", TCL_STATIC);
+ return TCL_ERROR;
+ }
+
+ if (Tcl_GetChannelHandle(chan,
+ dir & TCL_READABLE ? TCL_READABLE : TCL_WRITABLE,
+ (ClientData*) &fd) == TCL_ERROR) {
+ return TCL_ERROR;
+ }
+
+ if (!isatty(fd)) {
+ Tcl_SetResult(interp, "channel is not connected to a tty", TCL_STATIC);
+ return TCL_ERROR;
+ }
+
+ if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) == -1) {
+ Tcl_SetResult(interp, "ioctl failed", TCL_STATIC);
+ return TCL_ERROR;
+ }
+
+ robjv[0] = Tcl_NewIntObj(ws.ws_row);
+ robjv[1] = Tcl_NewIntObj(ws.ws_col);
+
+ tcl_result = Tcl_NewListObj(2, robjv);
+ Tcl_SetObjResult(interp, tcl_result);
+
+ return TCL_OK;
+}
Copied: branches/gsoc08-privileges/base/src/pextlib1.0/tty.h (from rev 38973, trunk/base/src/pextlib1.0/tty.h)
===================================================================
--- branches/gsoc08-privileges/base/src/pextlib1.0/tty.h (rev 0)
+++ branches/gsoc08-privileges/base/src/pextlib1.0/tty.h 2008-08-05 20:25:51 UTC (rev 39000)
@@ -0,0 +1,53 @@
+/*
+ * tty.h
+ * $Id$
+ * Tcl wrappers for tty control functions
+ *
+ * Author: Rainer Mueller <raimue at macports.org>
+ *
+ * Copyright (c) 2008 Rainer Mueller <raimue at macports.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Apple Computer, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _PEXTLIB_TTY_H
+#define _PEXTLIB_TTY_H
+
+#include <tcl.h>
+
+/**
+ * A wrapper for isatty(3)
+ */
+int IsattyCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]);
+
+/**
+ * Determines current size of tty
+ *
+ * @returns list with 2 elements, rows and columns
+ */
+int TermGetSizeCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]);
+
+#endif /* _PEXTLIB_TTY_H */
Modified: branches/gsoc08-privileges/base/src/port/port.tcl
===================================================================
--- branches/gsoc08-privileges/base/src/port/port.tcl 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/src/port/port.tcl 2008-08-05 20:25:51 UTC (rev 39000)
@@ -41,6 +41,7 @@
catch {source \
[file join "@TCL_PACKAGE_DIR@" macports1.0 macports_fastload.tcl]}
package require macports
+package require Pextlib 1.0
# Standard procedures
@@ -404,14 +405,20 @@
##
# Makes sure we get the current terminal size
-proc set_term_size {} {
+proc term_init_size {} {
global env
if {![info exists env(COLUMNS)] || ![info exists env(LINES)]} {
- if {![catch {exec stty size} err]} {
- regexp {(\d+) (\d+)} $err -> rows cols
- set env(COLUMNS) $cols
- set env(LINES) $rows
+ if {[isatty stdout]} {
+ set size [term_get_size stdout]
+
+ if {![info exists env(LINES)]} {
+ set env(LINES) [lindex $size 0]
+ }
+
+ if {![info exists env(COLUMNS)]} {
+ set env(COLUMNS) [lindex $size 1]
+ }
}
}
}
@@ -3161,7 +3168,7 @@
# Make sure we get the size of the terminal
# We do this here to save it in the boot_env, in case we determined it manually
-set_term_size
+term_init_size
# Save off a copy of the environment before mportinit monkeys with it
global env boot_env
Modified: branches/gsoc08-privileges/base/src/port1.0/portextract.tcl
===================================================================
--- branches/gsoc08-privileges/base/src/port1.0/portextract.tcl 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/src/port1.0/portextract.tcl 2008-08-05 20:25:51 UTC (rev 39000)
@@ -58,7 +58,7 @@
set_ui_prefix
proc extract_init {args} {
- global extract.only extract.dir extract.cmd extract.pre_args extract.post_args extract.mkdir distfiles use_bzip2 use_zip use_dmg workpath
+ global extract.only extract.dir extract.cmd extract.pre_args extract.post_args extract.mkdir distfiles use_bzip2 use_lzma use_zip use_dmg workpath
# should the distfiles be extracted to worksrcpath instead?
if {[tbool extract.mkdir]} {
@@ -70,6 +70,8 @@
if {[tbool use_bzip2]} {
option extract.cmd [binaryInPath "bzip2"]
+ } elseif {[tbool use_lzma]} {
+ option extract.cmd [binaryInPath "lzma"]
} elseif {[tbool use_zip]} {
option extract.cmd [binaryInPath "unzip"]
option extract.pre_args -q
Modified: branches/gsoc08-privileges/base/src/port1.0/portfetch.tcl
===================================================================
--- branches/gsoc08-privileges/base/src/port1.0/portfetch.tcl 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/src/port1.0/portfetch.tcl 2008-08-05 20:25:51 UTC (rev 39000)
@@ -100,6 +100,7 @@
# Option-executed procedures
option_proc use_bzip2 fix_extract_suffix
+option_proc use_lzma fix_extract_suffix
option_proc use_zip fix_extract_suffix
option_proc use_dmg fix_extract_suffix
@@ -110,6 +111,9 @@
use_bzip2 {
set extract.suffix .tar.bz2
}
+ use_lzma {
+ set extract.suffix .tar.lzma
+ }
use_zip {
set extract.suffix .zip
}
Modified: branches/gsoc08-privileges/base/src/port1.0/resources/fetch/mirror_sites.tcl
===================================================================
--- branches/gsoc08-privileges/base/src/port1.0/resources/fetch/mirror_sites.tcl 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/src/port1.0/resources/fetch/mirror_sites.tcl 2008-08-05 20:25:51 UTC (rev 39000)
@@ -258,21 +258,25 @@
set portfetch::mirror_sites::sites(sourceforge) {
http://downloads.sourceforge.net/
- http://internode.dl.sourceforge.net/
http://easynews.dl.sourceforge.net/
+ http://internap.dl.sourceforge.net/
+ http://superb-east.dl.sourceforge.net/
+ http://superb-west.dl.sourceforge.net/
+ http://voxel.dl.sourceforge.net/
http://ufpr.dl.sourceforge.net/
+ http://dfn.dl.sourceforge.net/
+ http://garr.dl.sourceforge.net/
+ http://heanet.dl.sourceforge.net/
http://kent.dl.sourceforge.net/
- http://jaist.dl.sourceforge.net/
- http://optusnet.dl.sourceforge.net/
- http://nchc.dl.sourceforge.net/
- http://switch.dl.sourceforge.net/
+ http://mesh.dl.sourceforge.net/
http://puzzle.dl.sourceforge.net/
- http://garr.dl.sourceforge.net/
http://surfnet.dl.sourceforge.net/
- http://internap.dl.sourceforge.net/
- http://superb-east.dl.sourceforge.net/
- http://superb-west.dl.sourceforge.net/
+ http://switch.dl.sourceforge.net/
+ http://nchc.dl.sourceforge.net/
+ http://jaist.dl.sourceforge.net/
+ http://internode.dl.sourceforge.net/
http://transact.dl.sourceforge.net/
+ http://optusnet.dl.sourceforge.net/
}
set portfetch::mirror_sites::sites(sourceforge_jp) {
Modified: branches/gsoc08-privileges/base/src/port1.0/resources/group/Makefile
===================================================================
--- branches/gsoc08-privileges/base/src/port1.0/resources/group/Makefile 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/src/port1.0/resources/group/Makefile 2008-08-05 20:25:51 UTC (rev 39000)
@@ -12,6 +12,7 @@
distclean:
test:
+ ${TCLSH} tests/ruby-1.0.tcl
install:
$(INSTALL) -d -o ${DSTUSR} -g ${DSTGRP} -m ${DSTMODE} ${INSTALLDIR}
Modified: branches/gsoc08-privileges/base/src/port1.0/resources/group/ruby-1.0.tcl
===================================================================
--- branches/gsoc08-privileges/base/src/port1.0/resources/group/ruby-1.0.tcl 2008-08-05 20:21:10 UTC (rev 38999)
+++ branches/gsoc08-privileges/base/src/port1.0/resources/group/ruby-1.0.tcl 2008-08-05 20:25:51 UTC (rev 39000)
@@ -31,11 +31,14 @@
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Set some variables.
-set ruby.bin ${prefix}/bin/ruby
-set ruby.rdoc ${prefix}/bin/rdoc
+# Define these variables assuming ruby1.8 to make them accessible in
+# the portfile after port group declaration. They can be modified by
+# ruby.setup, e.g. to use another ruby than 1.8.
+set ruby.bin ${prefix}/bin/ruby
+set ruby.rdoc ${prefix}/bin/rdoc
+set ruby.gem ${prefix}/bin/gem
+
proc ruby.extract_config {var {default ""}} {
global ruby.bin
if {[catch {set val [exec ${ruby.bin} -e "require 'rbconfig';puts Config::CONFIG\[\"${var}\"\]"]}]} {
@@ -51,19 +54,40 @@
set ruby.lib [ruby.extract_config vendorlibdir ${prefix}/lib/ruby/vendor_ruby/${ruby.version}]
set ruby.archlib [ruby.extract_config vendorarchdir ${ruby.lib}/${ruby.arch}]
-# define these empty initially, they are set by ruby.setup arguments
set ruby.module ""
set ruby.filename ""
set ruby.project ""
set ruby.docs {}
set ruby.srcdir ""
-# ruby group setup procedure
-proc ruby.setup {module vers {type "install.rb"} {docs {}} {source "custom"}} {
- global destroot prefix worksrcpath
- global ruby.bin ruby.lib
- global ruby.module ruby.project ruby.filename ruby.docs ruby.srcdir
+# ruby group setup procedure; optional for ruby 1.8 if you want only
+# basic variables, like ruby.lib and ruby.archlib.
+proc ruby.setup {module vers {type "install.rb"} {docs {}} {source "custom"} {implementation "ruby"}} {
+ global destroot prefix worksrcpath os.platform
+ global ruby.bin ruby.rdoc ruby.gem
+ global ruby.version
+ global ruby.lib ruby.archlib
+ global ruby.module ruby.filename ruby.project ruby.docs ruby.srcdir
+ if {${implementation} eq "ruby19"} {
+ set ruby.bin ${prefix}/bin/ruby1.9
+ set ruby.rdoc ${prefix}/bin/rdoc1.9
+ set ruby.gem ${prefix}/bin/gem1.9
+ set ruby.port_prefix rb19
+ } elseif {${implementation} eq "ruby"} {
+ # ruby.bin, ruby.rdoc, and ruby.gem set to 1.8 by default
+ set ruby.port_prefix rb
+ } else {
+ ui_error "ruby.setup: unknown implementation '${implementation}' specified (ruby, ruby19 possible)"
+ return -code error "ruby.setup failed"
+ }
+
+ # re-define variables to pick up possible implemantation change
+ set ruby.version [ruby.extract_config ruby_version]
+ set ruby.arch [ruby.extract_config arch ${os.platform}]
+ set ruby.lib [ruby.extract_config vendorlibdir ${prefix}/lib/ruby/vendor_ruby/${ruby.version}]
+ set ruby.archlib [ruby.extract_config vendorarchdir ${ruby.lib}/${ruby.arch}]
+
# define ruby global names and lists
# check if module is a list or string
if {[llength ${module}] > 1} {
@@ -80,7 +104,7 @@
}
set ruby.docs ${docs}
- name rb-[string tolower ${ruby.module}]
+ name ${ruby.port_prefix}-[string tolower ${ruby.module}]
version ${vers}
categories ruby
@@ -131,7 +155,7 @@
distname ${ruby.filename}-${vers}
dist_subdir ruby
- depends_lib path:${ruby.bin}:ruby
+ depends_lib port:${implementation}
post-extract {
# Create the work directory for gem-based ruby ports.
@@ -275,7 +299,7 @@
}
destroot {
- system "cd ${worksrcpath} && ${prefix}/bin/gem install --local --force --install-dir ${destroot}${prefix}/lib/ruby/gems/${ruby.version} ${distpath}/${distname}"
+ system "cd ${worksrcpath} && ${ruby.gem} install --local --force --install-dir ${destroot}${prefix}/lib/ruby/gems/${ruby.version} ${distpath}/${distname}"
set binDir ${destroot}${prefix}/lib/ruby/gems/${ruby.version}/bin
if {[file isdirectory $binDir]} {
Copied: branches/gsoc08-privileges/base/src/port1.0/resources/group/tests (from rev 38973, trunk/base/src/port1.0/resources/group/tests)
Deleted: branches/gsoc08-privileges/base/src/port1.0/resources/group/tests/ruby-1.0.tcl
===================================================================
--- trunk/base/src/port1.0/resources/group/tests/ruby-1.0.tcl 2008-08-04 16:11:28 UTC (rev 38973)
+++ branches/gsoc08-privileges/base/src/port1.0/resources/group/tests/ruby-1.0.tcl 2008-08-05 20:25:51 UTC (rev 39000)
@@ -1,153 +0,0 @@
-#!/bin/sh
-# This test needs macports to be installed to work
-# start as tcl \
-exec tclsh "$0" "$@"
-
-set prefix [file dirname [file dirname [exec which port]]]
-set os.platform i686-darwin
-
-# mock the commands the ruby group uses
-proc name p0 {
- global name.found
- set name.found $p0
-}
-proc version p0 {
- global version.found
- set version.found $p0
-}
-proc categories p0 {}
-proc distname p0 {}
-proc dist_subdir p0 {}
-proc depends_lib p0 {
- global depends_lib.found
- set depends_lib.found $p0
-}
-proc post-extract p0 {}
-proc configure.cmd {p0 p1 p2} {}
-proc configure.pre_args p0 {}
-proc build.target p0 {
- global build.target.found
- set build.target.found $p0
-}
-proc build.cmd {p0 p1 p2} {}
-proc pre-destroot p0 {}
-proc destroot.cmd {p0 p1 p2} {}
-proc destroot.target p0 {}
-proc destroot.destdir {} {}
-proc post-destroot p0 {}
-
-proc use_configure p0 {}
-proc extract.suffix p0 {}
-proc depends_lib-append p0 {}
-proc extract p0 {}
-proc build p0 {}
-proc destroot p0 {}
-
-# directory which contains test file
-set testdir [file dirname ${argv0}]
-
-namespace eval tests {
- # Backwards compatible behaviour, assumes ruby1.8
- proc test_rubysetup_ruby18_default {} {
- global prefix
- global ruby.bin
- global ruby.version
- global ruby.module
- global ruby.project
- global ruby.filename
- global ruby.docs
- global ruby.lib ruby.archlib
-
- global build.target.found
- global name.found
- global version.found
- global depends_lib.found
-
- ruby.setup {test_module tmod} 9.9 setup.rb {README INSTALL}
-
- if {![file exists ${ruby.bin}]} { return }
- if {"1.8" ne ${ruby.version}} { error "ruby.version failed: ${ruby.version}" }
- if {"test_module" ne ${ruby.module}} { error "ruby.module failed" }
- if {"tmod" ne ${ruby.project}} { error "ruby.project failed" }
- if {"tmod" ne ${ruby.filename}} { error "ruby.filename failed" }
- if {{README INSTALL} ne ${ruby.docs}} { error "ruby.docs failed"}
- if {"setup" ne ${build.target.found}} { error "type-derived field build.target failed: ${build.target.found}"}
- if {"rb-test_module" ne ${name.found}} { error "drived name failed: ${name.found}" }
- if {"9.9" ne ${version.found}} { error "port version set failed" }
- if {"port:ruby" ne ${depends_lib.found}} { error "depends_lib failed: ${depends_lib.found}" }
-
- if {"${prefix}/lib/ruby/vendor_ruby/1.8" ne ${ruby.lib}} { error "ruby.lib failed: ${ruby.lib}" }
- if {!(0 == [string first "${prefix}/lib/ruby/vendor_ruby/1.8/i686-darwin" ${ruby.archlib}])} { error "ruby.archlib failed: ${ruby.archlib}" }
- }
-
- proc test_rubysetup_type_gem {} {
- if {[catch {ruby.setup {test_module tmod} 9.9 gem {README INSTALL}}]} {
- error "gem type port fails"
- }
- }
-
- proc test_rubysetup_ruby19 {} {
- global prefix
- global ruby.version
- global ruby.module
- global ruby.project
- global ruby.filename
- global ruby.bin
- global ruby.docs
- global ruby.lib ruby.archlib
-
- global build.target.found
- global name.found
- global version.found
- global depends_lib.found
-
- ruby.setup {test_module tmod} 9.9 setup.rb {README INSTALL} custom ruby19
-
- # changed prefix
- if {![file exists ${ruby.bin}]} { return }
- if {![string equal "1.9.0" ${ruby.version}]} { error "ruby.version failed: '${ruby.version}'" }
- if {![string equal "rb19-test_module" ${name.found}]} { error "drived name failed: ${name.found}" }
-
- if {![string equal "test_module" ${ruby.module}]} { error "ruby.module failed" }
- if {![string equal "tmod" ${ruby.project}]} { error "ruby.project failed" }
- if {![string equal "tmod" ${ruby.filename}]} { error "ruby.filename failed" }
- if {![string equal {README INSTALL} ${ruby.docs}]} { error "ruby.docs failed"}
- if {![string equal "setup" ${build.target.found}]} { error "type-derived field failed: ${build.target.found}"}
- if {![string equal "9.9" ${version.found}]} { error "port version set failed" }
- if {![string equal "port:ruby19" ${depends_lib.found}]} { error "depends_lib failed: ${depends_lib.found}" }
-
- if {![string equal "${prefix}/lib/ruby/vendor_ruby/1.9.0" ${ruby.lib}]} { error "ruby.lib failed: ${ruby.lib}" }
- if {!(0 == [string first "${prefix}/lib/ruby/vendor_ruby/1.9.0/i686-darwin" ${ruby.archlib}])} { error "ruby.archlib failed: ${ruby.archlib}" }
- }
-
- proc test_setup_implementation_specifics {} {
- if {![catch {ruby.setup {test_module tmod} 9.9 setup.rb {README INSTALL} custom "rubz"}]} {
- error "wrong implementation name signals error"
- }
- }
-
- proc test_variables_exported_without_rubysetup_call {} {
- global prefix
- global ruby.bin ruby.rdoc ruby.gem
- global ruby.version ruby.arch ruby.lib ruby.archlib
- if {"${prefix}/bin/ruby" ne ${ruby.bin}} { error "variable ruby.bin missing" }
- if {"${prefix}/bin/rdoc" ne ${ruby.rdoc}} { error "variable ruby.rdoc missing" }
- if {"${prefix}/bin/gem" ne ${ruby.gem}} { error "variable ruby.gem missing" }
- if {"1.8" ne ${ruby.version}} { error "variable ruby.version missing" }
- if {"" eq ${ruby.arch}} { error "variable ruby.arch missing" }
- if {"${prefix}/lib/ruby/vendor_ruby/1.8" ne ${ruby.lib}} { error "variable ruby.lib missing" }
- if {"" eq ${ruby.archlib}} { error "variable ruby.archlib missing" }
- }
-
- # run all tests
- if {![file executable $prefix/bin/ruby]} {
- puts "WARNING: No ruby found, can't run ruby port group tests without installed ruby port; skipping."
- } else {
- foreach test [info procs test_*] {
- # evaluate port group file in global context
- # to reset global variables
- uplevel {source "${testdir}/../ruby-1.0.tcl"}
- $test
- }
- }
-}
Copied: branches/gsoc08-privileges/base/src/port1.0/resources/group/tests/ruby-1.0.tcl (from rev 38973, trunk/base/src/port1.0/resources/group/tests/ruby-1.0.tcl)
===================================================================
--- branches/gsoc08-privileges/base/src/port1.0/resources/group/tests/ruby-1.0.tcl (rev 0)
+++ branches/gsoc08-privileges/base/src/port1.0/resources/group/tests/ruby-1.0.tcl 2008-08-05 20:25:51 UTC (rev 39000)
@@ -0,0 +1,153 @@
+#!/bin/sh
+# This test needs macports to be installed to work
+# start as tcl \
+exec tclsh "$0" "$@"
+
+set prefix [file dirname [file dirname [exec which port]]]
+set os.platform i686-darwin
+
+# mock the commands the ruby group uses
+proc name p0 {
+ global name.found
+ set name.found $p0
+}
+proc version p0 {
+ global version.found
+ set version.found $p0
+}
+proc categories p0 {}
+proc distname p0 {}
+proc dist_subdir p0 {}
+proc depends_lib p0 {
+ global depends_lib.found
+ set depends_lib.found $p0
+}
+proc post-extract p0 {}
+proc configure.cmd {p0 p1 p2} {}
+proc configure.pre_args p0 {}
+proc build.target p0 {
+ global build.target.found
+ set build.target.found $p0
+}
+proc build.cmd {p0 p1 p2} {}
+proc pre-destroot p0 {}
+proc destroot.cmd {p0 p1 p2} {}
+proc destroot.target p0 {}
+proc destroot.destdir {} {}
+proc post-destroot p0 {}
+
+proc use_configure p0 {}
+proc extract.suffix p0 {}
+proc depends_lib-append p0 {}
+proc extract p0 {}
+proc build p0 {}
+proc destroot p0 {}
+
+# directory which contains test file
+set testdir [file dirname ${argv0}]
+
+namespace eval tests {
+ # Backwards compatible behaviour, assumes ruby1.8
+ proc test_rubysetup_ruby18_default {} {
+ global prefix
+ global ruby.bin
+ global ruby.version
+ global ruby.module
+ global ruby.project
+ global ruby.filename
+ global ruby.docs
+ global ruby.lib ruby.archlib
+
+ global build.target.found
+ global name.found
+ global version.found
+ global depends_lib.found
+
+ ruby.setup {test_module tmod} 9.9 setup.rb {README INSTALL}
+
+ if {![file exists ${ruby.bin}]} { return }
+ if {"1.8" ne ${ruby.version}} { error "ruby.version failed: ${ruby.version}" }
+ if {"test_module" ne ${ruby.module}} { error "ruby.module failed" }
+ if {"tmod" ne ${ruby.project}} { error "ruby.project failed" }
+ if {"tmod" ne ${ruby.filename}} { error "ruby.filename failed" }
+ if {{README INSTALL} ne ${ruby.docs}} { error "ruby.docs failed"}
+ if {"setup" ne ${build.target.found}} { error "type-derived field build.target failed: ${build.target.found}"}
+ if {"rb-test_module" ne ${name.found}} { error "drived name failed: ${name.found}" }
+ if {"9.9" ne ${version.found}} { error "port version set failed" }
+ if {"port:ruby" ne ${depends_lib.found}} { error "depends_lib failed: ${depends_lib.found}" }
+
+ if {"${prefix}/lib/ruby/vendor_ruby/1.8" ne ${ruby.lib}} { error "ruby.lib failed: ${ruby.lib}" }
+ if {!(0 == [string first "${prefix}/lib/ruby/vendor_ruby/1.8/i686-darwin" ${ruby.archlib}])} { error "ruby.archlib failed: ${ruby.archlib}" }
+ }
+
+ proc test_rubysetup_type_gem {} {
+ if {[catch {ruby.setup {test_module tmod} 9.9 gem {README INSTALL}}]} {
+ error "gem type port fails"
+ }
+ }
+
+ proc test_rubysetup_ruby19 {} {
+ global prefix
+ global ruby.version
+ global ruby.module
+ global ruby.project
+ global ruby.filename
+ global ruby.bin
+ global ruby.docs
+ global ruby.lib ruby.archlib
+
+ global build.target.found
+ global name.found
+ global version.found
+ global depends_lib.found
+
+ ruby.setup {test_module tmod} 9.9 setup.rb {README INSTALL} custom ruby19
+
+ # changed prefix
+ if {![file exists ${ruby.bin}]} { return }
+ if {![string equal "1.9.0" ${ruby.version}]} { error "ruby.version failed: '${ruby.version}'" }
+ if {![string equal "rb19-test_module" ${name.found}]} { error "drived name failed: ${name.found}" }
+
+ if {![string equal "test_module" ${ruby.module}]} { error "ruby.module failed" }
+ if {![string equal "tmod" ${ruby.project}]} { error "ruby.project failed" }
+ if {![string equal "tmod" ${ruby.filename}]} { error "ruby.filename failed" }
+ if {![string equal {README INSTALL} ${ruby.docs}]} { error "ruby.docs failed"}
+ if {![string equal "setup" ${build.target.found}]} { error "type-derived field failed: ${build.target.found}"}
+ if {![string equal "9.9" ${version.found}]} { error "port version set failed" }
+ if {![string equal "port:ruby19" ${depends_lib.found}]} { error "depends_lib failed: ${depends_lib.found}" }
+
+ if {![string equal "${prefix}/lib/ruby/vendor_ruby/1.9.0" ${ruby.lib}]} { error "ruby.lib failed: ${ruby.lib}" }
+ if {!(0 == [string first "${prefix}/lib/ruby/vendor_ruby/1.9.0/i686-darwin" ${ruby.archlib}])} { error "ruby.archlib failed: ${ruby.archlib}" }
+ }
+
+ proc test_setup_implementation_specifics {} {
+ if {![catch {ruby.setup {test_module tmod} 9.9 setup.rb {README INSTALL} custom "rubz"}]} {
+ error "wrong implementation name signals error"
+ }
+ }
+
+ proc test_variables_exported_without_rubysetup_call {} {
+ global prefix
+ global ruby.bin ruby.rdoc ruby.gem
+ global ruby.version ruby.arch ruby.lib ruby.archlib
+ if {"${prefix}/bin/ruby" ne ${ruby.bin}} { error "variable ruby.bin missing" }
+ if {"${prefix}/bin/rdoc" ne ${ruby.rdoc}} { error "variable ruby.rdoc missing" }
+ if {"${prefix}/bin/gem" ne ${ruby.gem}} { error "variable ruby.gem missing" }
+ if {"1.8" ne ${ruby.version}} { error "variable ruby.version missing" }
+ if {"" eq ${ruby.arch}} { error "variable ruby.arch missing" }
+ if {"${prefix}/lib/ruby/vendor_ruby/1.8" ne ${ruby.lib}} { error "variable ruby.lib missing" }
+ if {"" eq ${ruby.archlib}} { error "variable ruby.archlib missing" }
+ }
+
+ # run all tests
+ if {![file executable $prefix/bin/ruby]} {
+ puts "WARNING: No ruby found, can't run ruby port group tests without installed ruby port; skipping."
+ } else {
+ foreach test [info procs test_*] {
+ # evaluate port group file in global context
+ # to reset global variables
+ uplevel {source "${testdir}/../ruby-1.0.tcl"}
+ $test
+ }
+ }
+}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080805/9c7941cc/attachment-0001.html
More information about the macports-changes
mailing list