[40953] branches/variant-descs-14482/base

raimue at macports.org raimue at macports.org
Sat Oct 18 17:26:55 PDT 2008


Revision: 40953
          http://trac.macports.org/changeset/40953
Author:   raimue at macports.org
Date:     2008-10-18 17:26:55 -0700 (Sat, 18 Oct 2008)
Log Message:
-----------
Merged revisions 38101-38102,38107,38109,38114-38115,38163,38230,38232,38252,38255,38271,38304,38315-38317,38331-38332,38344,38495-38497,38506,38556-38557,38577,38683-38684,38753,38756,38765,38835,38883,38940-38942,38960-38961,38973,39012,39016-39017,39021,39023,39025,39036,39116,39177,39257,39564,39573,39990,40051-40061,40142,40159,40387,40414,40445,40450,40475-40476,40693,40712,40729,40803,40824,40834,40836,40894,40906,40952 via svnmerge from 
https://svn.macports.org/repository/macports/trunk/base

........
  r38101 | raimue at macports.org | 2008-07-06 18:41:47 +0200 (Sun, 06 Jul 2008) | 3 lines
  
  doc/Makefile:
  gzip man pages on make all
........
  r38102 | raimue at macports.org | 2008-07-06 18:43:33 +0200 (Sun, 06 Jul 2008) | 3 lines
  
  doc:
  Ignore generated gzipped man pages
........
  r38107 | raimue at macports.org | 2008-07-06 20:49:40 +0200 (Sun, 06 Jul 2008) | 3 lines
  
  Makefile.in:
  Remove Doxyfile on distclean
........
  r38109 | raimue at macports.org | 2008-07-06 22:27:48 +0200 (Sun, 06 Jul 2008) | 5 lines
  
  base:
  Add a new setupenv.sh script which can be used to setup the environment for
  MacPorts. It will be installed to ${prefix}/share/macports/setupenv.sh and can
  be sourced from your profile.
........
  r38114 | raimue at macports.org | 2008-07-07 02:38:32 +0200 (Mon, 07 Jul 2008) | 3 lines
  
  base:
  Rename setupenv.sh to setupenv.bash to reflect that it is for bash only
........
  r38115 | raimue at macports.org | 2008-07-07 03:00:40 +0200 (Mon, 07 Jul 2008) | 3 lines
  
  setupenv.bash.in:
  Set svn:keywords=Id and svn:eol-style=native
........
  r38163 | jmr at macports.org | 2008-07-10 03:50:57 +0200 (Thu, 10 Jul 2008) | 2 lines
  
  In fetch, gracefully handle failure to spawn ping processes. (#15906)
........
  r38230 | raimue at macports.org | 2008-07-13 12:06:54 +0200 (Sun, 13 Jul 2008) | 3 lines
  
  port/port.tcl:
  Exit gracefully if an invalid global option was given
........
  r38232 | jmr at macports.org | 2008-07-13 12:25:29 +0200 (Sun, 13 Jul 2008) | 2 lines
  
  Mirror sites: add new transact SourceForge mirror
........
  r38252 | raimue at macports.org | 2008-07-13 23:40:06 +0200 (Sun, 13 Jul 2008) | 3 lines
  
  doc/port.1:
  Document 'port edit --editor'
........
  r38255 | raimue at macports.org | 2008-07-14 00:38:40 +0200 (Mon, 14 Jul 2008) | 4 lines
  
  port/port.tcl:
  Convert list to string to allow additional parameters,
  for example  port edit --editor 'vim -y'
........
  r38271 | mww at macports.org | 2008-07-14 16:29:47 +0200 (Mon, 14 Jul 2008) | 3 lines
  
  add 'llvm-gcc-4.2' compiler suite (from XCode 3.1);
  make a wild guess at default compiler choice for 10.6;
........
  r38304 | raimue at macports.org | 2008-07-15 07:33:22 +0200 (Tue, 15 Jul 2008) | 6 lines
  
  port1.0/portconfigure.tcl:
  Add a new command 'use_autoreconf'
  This can replace instances of 'system' in our Portfiles, especially when a port
  runs any combination of aclocal/autoconf/automake/, as autoreconf automatically
  figures out what needs to be run.
........
  r38315 | ryandesign at macports.org | 2008-07-15 11:38:03 +0200 (Tue, 15 Jul 2008) | 2 lines
  
  portbuild.tcl: simplify port output by no longer showing the build target; closes #15881
........
  r38316 | ryandesign at macports.org | 2008-07-15 11:44:14 +0200 (Tue, 15 Jul 2008) | 2 lines
  
  ChangeLog: Note fix for #15881
........
  r38317 | jmr at macports.org | 2008-07-15 14:47:07 +0200 (Tue, 15 Jul 2008) | 2 lines
  
  Don't use quotes when setting MACOSX_DEPLOYMENT_TARGET in the env_array, for consistency
........
  r38331 | jmr at macports.org | 2008-07-16 07:35:46 +0200 (Wed, 16 Jul 2008) | 2 lines
  
  ChangeLog: distfiles mirror is added to patch_sites too
........
  r38332 | jmr at macports.org | 2008-07-16 07:47:24 +0200 (Wed, 16 Jul 2008) | 2 lines
  
  ChangeLog: note the fix for the case-sensitive deactivate bug (#11759)
........
  r38344 | raimue at macports.org | 2008-07-16 17:00:40 +0200 (Wed, 16 Jul 2008) | 4 lines
  
  Makefile.in:
  Added the install line for setupenv.bash at the wrong place which prevented
  install to complete due to a missing directory.
........
  r38495 | wsiegrist at apple.com | 2008-07-22 20:09:32 +0200 (Tue, 22 Jul 2008) | 2 lines
  
  Add checks to cleanup exports leftover from failed mprsyncup runs
........
  r38496 | wsiegrist at apple.com | 2008-07-22 20:36:55 +0200 (Tue, 22 Jul 2008) | 2 lines
  
  Updating jobs scripts from servers:  Use a more appropriate tmp dir
........
  r38497 | wsiegrist at apple.com | 2008-07-22 20:40:15 +0200 (Tue, 22 Jul 2008) | 2 lines
  
  Adding scripts used on the servers for mirroring during post-commit and daily
........
  r38506 | rhwood at macports.org | 2008-07-23 11:43:14 +0200 (Wed, 23 Jul 2008) | 7 lines
  
  Armahg's patch to macports::ui_init for the GSOC08 frameworks project.
  
  This patch allows users of the Tcl API for MacPorts to define custom ui_*
  procedures message handling mechanisms.
  
  Closes #15913, committing per email and IRC conversation.
........
  r38556 | ryandesign at macports.org | 2008-07-25 08:58:30 +0200 (Fri, 25 Jul 2008) | 2 lines
  
  portbuild.tcl: allow parallel builds for scons too, not just for make
........
  r38557 | ryandesign at macports.org | 2008-07-25 09:06:16 +0200 (Fri, 25 Jul 2008) | 2 lines
  
  ChangeLog: note parallel build support for scons-based ports in r38556
........
  r38577 | afb at macports.org | 2008-07-25 11:44:33 +0200 (Fri, 25 Jul 2008) | 2 lines
  
  don't use build.nice for creative build.cmd lines (#16091)
........
  r38683 | febeling at macports.org | 2008-07-28 23:21:33 +0200 (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 23:32:47 +0200 (Mon, 28 Jul 2008) | 2 lines
  
  ChangeLog for ruby group change, #15912.
........
  r38753 | afb at macports.org | 2008-07-30 09:30:39 +0200 (Wed, 30 Jul 2008) | 2 lines
  
  update changelog for r38577
........
  r38756 | afb at macports.org | 2008-07-30 12:13:23 +0200 (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 21:59:14 +0200 (Wed, 30 Jul 2008) | 2 lines
  
  fix distclean
........
  r38835 | febeling at macports.org | 2008-08-01 10:47:58 +0200 (Fri, 01 Aug 2008) | 2 lines
  
  remove hard-coded mp prefix in test case setup
........
  r38883 | wsiegrist at apple.com | 2008-08-02 01:53:41 +0200 (Sat, 02 Aug 2008) | 2 lines
  
  Make the guide chunkier at <http://guide.macports.org/chunked/>
........
  r38940 | raimue at macports.org | 2008-08-03 10:05:42 +0200 (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 10:10:26 +0200 (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 10:19:05 +0200 (Sun, 03 Aug 2008) | 3 lines
  
  pextlib1.0/tty.c:
  Tabs to spaces
........
  r38960 | afb at macports.org | 2008-08-04 11:23:00 +0200 (Mon, 04 Aug 2008) | 2 lines
  
  add use_lzma for .tar.lzma support
........
  r38961 | afb at macports.org | 2008-08-04 11:29:00 +0200 (Mon, 04 Aug 2008) | 2 lines
  
  fix typo
........
  r38973 | jmr at macports.org | 2008-08-04 18:11:28 +0200 (Mon, 04 Aug 2008) | 2 lines
  
  mirror sites: order sourceforge mirrors more or less geographically
........
  r39012 | jmr at macports.org | 2008-08-06 08:56:11 +0200 (Wed, 06 Aug 2008) | 2 lines
  
  Fix invalid DOCTYPE in generated launchd .plists. Thanks to blb for the patch. Closes #16200.
........
  r39016 | afb at macports.org | 2008-08-06 09:42:34 +0200 (Wed, 06 Aug 2008) | 2 lines
  
  work around Leopard Tcl bugs (#16010)
........
  r39017 | afb at macports.org | 2008-08-06 09:46:08 +0200 (Wed, 06 Aug 2008) | 2 lines
  
  work around Leopard Tcl bugs (#16233)
........
  r39021 | afb at macports.org | 2008-08-06 09:53:18 +0200 (Wed, 06 Aug 2008) | 2 lines
  
  update changelog
........
  r39023 | ryandesign at macports.org | 2008-08-06 10:00:26 +0200 (Wed, 06 Aug 2008) | 2 lines
  
  ChangeLog: consolidate entries for Leopard environment variable issue
........
  r39025 | ryandesign at macports.org | 2008-08-06 10:36:18 +0200 (Wed, 06 Aug 2008) | 2 lines
  
  portlint.tcl, portutil.tcl: undo changes inadvertently committed in r39023
........
  r39036 | raimue at macports.org | 2008-08-06 15:56:52 +0200 (Wed, 06 Aug 2008) | 4 lines
  
  port/port.tcl:
  In 'port gohome', use homepage variable from PortIndex if available. Otherwise
  read it from the Portfile. This way, this command works faster. Closes #16146.
........
  r39116 | jmr at macports.org | 2008-08-08 18:12:16 +0200 (Fri, 08 Aug 2008) | 2 lines
  
  Add clean_dep_map proc to registry, for removing duplicate dependency entries. (See #8763)
........
  r39177 | simon at macports.org | 2008-08-11 14:22:33 +0200 (Mon, 11 Aug 2008) | 2 lines
  
  base: Typo fix in portfetch.tcl.
........
  r39257 | afb at macports.org | 2008-08-14 15:05:43 +0200 (Thu, 14 Aug 2008) | 2 lines
  
  add new primary category: office (#16311)
........
  r39564 | ryandesign at macports.org | 2008-08-25 07:06:35 +0200 (Mon, 25 Aug 2008) | 2 lines
  
  gcc-dp-* was renamed to gcc-mp-* quite some time ago
........
  r39573 | raimue at macports.org | 2008-08-25 19:18:20 +0200 (Mon, 25 Aug 2008) | 3 lines
  
  port1.0/portconfigure.tcl:
  Return an error if an invalid value was given to configure.compiler
........
  r39990 | ryandesign at macports.org | 2008-09-16 00:54:08 +0200 (Tue, 16 Sep 2008) | 2 lines
  
  PortIndexRegen.sh: fix typo in comment
........
  r40051 | toby at macports.org | 2008-09-19 04:08:13 +0200 (Fri, 19 Sep 2008) | 2 lines
  
  fix warnings
........
  r40052 | toby at macports.org | 2008-09-19 04:08:41 +0200 (Fri, 19 Sep 2008) | 2 lines
  
  eliminate some -Wformat-security issues
........
  r40053 | toby at macports.org | 2008-09-19 04:12:52 +0200 (Fri, 19 Sep 2008) | 2 lines
  
  another -Wformat-security fix
........
  r40054 | toby at macports.org | 2008-09-19 04:22:41 +0200 (Fri, 19 Sep 2008) | 2 lines
  
  fix typecasts
........
  r40055 | toby at macports.org | 2008-09-19 04:33:48 +0200 (Fri, 19 Sep 2008) | 3 lines
  
  Prefer -UTF8String over long-deprecated -cString.
  Eliminate a format string issue.
........
  r40056 | toby at macports.org | 2008-09-19 04:42:46 +0200 (Fri, 19 Sep 2008) | 2 lines
  
  Stop setting MACOSX_DEPLOYMENT_TARGET
........
  r40057 | toby at macports.org | 2008-09-19 04:49:56 +0200 (Fri, 19 Sep 2008) | 2 lines
  
  -framework Foundation is meaningless when compiling, don't include in CFLAGS
........
  r40058 | toby at macports.org | 2008-09-19 04:53:51 +0200 (Fri, 19 Sep 2008) | 2 lines
  
  another typecast fix
........
  r40059 | toby at macports.org | 2008-09-19 05:14:25 +0200 (Fri, 19 Sep 2008) | 2 lines
  
  Somewhat ugly hack to eliminate PACKAGE_* warning spam.
........
  r40060 | toby at macports.org | 2008-09-19 05:20:22 +0200 (Fri, 19 Sep 2008) | 2 lines
  
  handle _ in arch name (x86_64)
........
  r40061 | toby at macports.org | 2008-09-19 05:26:27 +0200 (Fri, 19 Sep 2008) | 2 lines
  
  more warning fixes
........
  r40142 | jmr at macports.org | 2008-09-22 12:43:46 +0200 (Mon, 22 Sep 2008) | 2 lines
  
  Run a script in 'make install' and .dmg postflight which removes any duplicate entries from the dep_map (#8763)
........
  r40159 | jmr at macports.org | 2008-09-23 03:12:18 +0200 (Tue, 23 Sep 2008) | 2 lines
  
  Run dep_map_clean.tcl *after* installing, so it works on new installs.
........
  r40387 | jmpp at macports.org | 2008-09-30 09:35:42 +0200 (Tue, 30 Sep 2008) | 8 lines
  
  
  It doesn't really matter as we don't have any Portfiles with non-ascii characters, as far as I've been able to see...
  But stil, since we operate fully on utf8 mode when reading the Portfiles, we might as well store them as such in the db.
  
  PS: As far as I'm aware, changes to this script require manual reinstallation, as our Makefiles don't install it by default.
  PSS: Once reinstalled and the new, fully utf8 tables have been created, a "mysql_set_charset('utf8',$portsdb_connection);"
  instruction would be appropriate in the else block of the portsdb_connect() function in trunk/www/includes/common.inc.
........
  r40414 | raimue at macports.org | 2008-10-01 04:53:38 +0200 (Wed, 01 Oct 2008) | 4 lines
  
  port/port.tcl:
  Quote homepage URL to avoid problems with special shell characters like '&'.
  Closes #16491
........
  r40445 | febeling at macports.org | 2008-10-02 10:02:08 +0200 (Thu, 02 Oct 2008) | 2 lines
  
  portlint.tcl: add erlang primary category
........
  r40450 | macsforever2000 at macports.org | 2008-10-02 15:13:44 +0200 (Thu, 02 Oct 2008) | 2 lines
  
  Added finance and gis as primary categories.
........
  r40475 | toby at macports.org | 2008-10-02 23:11:13 +0200 (Thu, 02 Oct 2008) | 2 lines
  
  s/Keven/Kevin/
........
  r40476 | toby at macports.org | 2008-10-02 23:12:32 +0200 (Thu, 02 Oct 2008) | 3 lines
  
  Include stdint.h to correctly get intptr_t.
  Fixes #16718
........
  r40693 | raimue at macports.org | 2008-10-11 01:35:39 +0200 (Sat, 11 Oct 2008) | 4 lines
  
  port/port.tcl:
  Fix 'port cat'; A newline was always appended on the end of the file and there
  was a problem with files larger than 4096 bytes. Closes #16817
........
  r40712 | raimue at macports.org | 2008-10-12 04:53:54 +0200 (Sun, 12 Oct 2008) | 4 lines
  
  base:
  Inheritance of macports.conf, patch by Adam Byrtek
  Closes #16329
........
  r40729 | jmr at macports.org | 2008-10-13 01:37:22 +0200 (Mon, 13 Oct 2008) | 2 lines
  
  Make 'port deps' show the correct dependencies when variants are given. (#11891)
........
  r40803 | jmr at macports.org | 2008-10-15 12:17:48 +0200 (Wed, 15 Oct 2008) | 2 lines
  
  Move default frameworks_dir under prefix, and use it in portgroups
........
  r40824 | nox at macports.org | 2008-10-15 18:35:54 +0200 (Wed, 15 Oct 2008) | 2 lines
  
  Fixed a bug introduced in r40803, variables were not imported in the proc scope.
........
  r40834 | jmr at macports.org | 2008-10-16 01:25:40 +0200 (Thu, 16 Oct 2008) | 2 lines
  
  Fix _libtest breakage introduced in r40803 (#16877)
........
  r40836 | toby at macports.org | 2008-10-16 03:32:21 +0200 (Thu, 16 Oct 2008) | 2 lines
  
  support platform releases with multiple versions, because nine plus one is ten
........
  r40894 | simon at macports.org | 2008-10-17 15:33:45 +0200 (Fri, 17 Oct 2008) | 2 lines
  
  base: Add support to fetch using Mercurial.
........
  r40906 | ryandesign at macports.org | 2008-10-18 01:18:28 +0200 (Sat, 18 Oct 2008) | 2 lines
  
  mirror_sites.tcl: remove stale ftp.uu.net mirror; see http://lists.macosforge.org/pipermail/macports-dev/2008-October/006191.html
........
  r40952 | blb at macports.org | 2008-10-19 01:37:46 +0200 (Sun, 19 Oct 2008) | 2 lines
  
  Fix unarchive using xar, #16806
........

Modified Paths:
--------------
    branches/variant-descs-14482/base/ChangeLog
    branches/variant-descs-14482/base/Makefile.in
    branches/variant-descs-14482/base/Mk/macports.autoconf.mk.in
    branches/variant-descs-14482/base/aclocal.m4
    branches/variant-descs-14482/base/configure
    branches/variant-descs-14482/base/configure.ac
    branches/variant-descs-14482/base/doc/Makefile
    branches/variant-descs-14482/base/doc/macports.conf.5
    branches/variant-descs-14482/base/doc/port.1
    branches/variant-descs-14482/base/doc/portfile.7
    branches/variant-descs-14482/base/doc/portgroup.7
    branches/variant-descs-14482/base/doc/porthier.7
    branches/variant-descs-14482/base/m4/foundation.m4
    branches/variant-descs-14482/base/portmgr/dmg/postflight
    branches/variant-descs-14482/base/portmgr/jobs/GuideRegen.sh
    branches/variant-descs-14482/base/portmgr/jobs/PortIndex2MySQL.tcl
    branches/variant-descs-14482/base/portmgr/jobs/PortIndexRegen.sh
    branches/variant-descs-14482/base/portmgr/jobs/mprsyncup
    branches/variant-descs-14482/base/src/darwintracelib1.0/darwintrace.c
    branches/variant-descs-14482/base/src/macports1.0/macports.tcl
    branches/variant-descs-14482/base/src/package1.0/portunarchive.tcl
    branches/variant-descs-14482/base/src/pextlib1.0/Makefile
    branches/variant-descs-14482/base/src/pextlib1.0/Pextlib.c
    branches/variant-descs-14482/base/src/pextlib1.0/filemap.c
    branches/variant-descs-14482/base/src/pextlib1.0/readline.c
    branches/variant-descs-14482/base/src/port/port.tcl
    branches/variant-descs-14482/base/src/port1.0/portbuild.tcl
    branches/variant-descs-14482/base/src/port1.0/portconfigure.tcl
    branches/variant-descs-14482/base/src/port1.0/portextract.tcl
    branches/variant-descs-14482/base/src/port1.0/portfetch.tcl
    branches/variant-descs-14482/base/src/port1.0/portlint.tcl
    branches/variant-descs-14482/base/src/port1.0/portmain.tcl
    branches/variant-descs-14482/base/src/port1.0/portstartupitem.tcl
    branches/variant-descs-14482/base/src/port1.0/portutil.tcl
    branches/variant-descs-14482/base/src/port1.0/resources/fetch/mirror_sites.tcl
    branches/variant-descs-14482/base/src/port1.0/resources/group/Makefile
    branches/variant-descs-14482/base/src/port1.0/resources/group/gnustep-1.0.tcl
    branches/variant-descs-14482/base/src/port1.0/resources/group/python24-1.0.tcl
    branches/variant-descs-14482/base/src/port1.0/resources/group/python30-1.0.tcl
    branches/variant-descs-14482/base/src/port1.0/resources/group/ruby-1.0.tcl
    branches/variant-descs-14482/base/src/programs/daemondo/main.c
    branches/variant-descs-14482/base/src/registry1.0/receipt_flat.tcl
    branches/variant-descs-14482/base/src/registry1.0/registry.tcl
    branches/variant-descs-14482/base/src/registry2.0/Makefile
    branches/variant-descs-14482/base/src/registry2.0/entry.c
    branches/variant-descs-14482/base/src/registry2.0/registry.c
    branches/variant-descs-14482/base/src/tclobjc1.0/Makefile.in
    branches/variant-descs-14482/base/src/tclobjc1.0/objc_encoding.m
    branches/variant-descs-14482/base/src/tclobjc1.0/tclobjc.h
    branches/variant-descs-14482/base/src/tclobjc1.0/tclobjc.m

Added Paths:
-----------
    branches/variant-descs-14482/base/portmgr/jobs/mirror_macports.sh
    branches/variant-descs-14482/base/portmgr/jobs/portfile_mirror.pl
    branches/variant-descs-14482/base/setupenv.bash.in
    branches/variant-descs-14482/base/src/dep_map_clean.tcl
    branches/variant-descs-14482/base/src/pextlib1.0/tty.c
    branches/variant-descs-14482/base/src/pextlib1.0/tty.h
    branches/variant-descs-14482/base/src/port1.0/resources/group/tests/
    branches/variant-descs-14482/base/src/port1.0/resources/group/tests/ruby-1.0.tcl

Removed Paths:
-------------
    branches/variant-descs-14482/base/src/port1.0/resources/group/tests/ruby-1.0.tcl

Property Changed:
----------------
    branches/variant-descs-14482/base/
    branches/variant-descs-14482/base/doc/


Property changes on: branches/variant-descs-14482/base
___________________________________________________________________
Modified: svn:ignore
   - autom4te.cache
config.log
config.status
Makefile
Doxyfile
tcldox

   + autom4te.cache
config.log
config.status
Makefile
Doxyfile
tcldox
setupenv.bash

Modified: svnmerge-integrated
   - /trunk/base:1-38098
   + /trunk/base:1-40952
Added: svn:mergeinfo
   + /trunk/base:38101-40952

Modified: branches/variant-descs-14482/base/ChangeLog
===================================================================
--- branches/variant-descs-14482/base/ChangeLog	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/ChangeLog	2008-10-19 00:26:55 UTC (rev 40953)
@@ -5,6 +5,33 @@
 
 
 Unreleased:
+    - Changes in loading of configuration files. Currently the global
+      configuration file is loaded first, then user defined one (if present),
+      PORTSRC environment variable is loaded last. Last defined value is used
+      for each configuration option. (#16329, contributed by Adam Byrtek)
+
+    - 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)
+
+    - User-supplied port names are now treated in a fully case-insensitive
+      manner. This fixes a bug where giving the name with incorrect case when
+      deactivating/uninstalling would cause all the port's files to be left
+      behind. (#11759, jmr/raimue in r37349, 37621)
+    
+    - The non-verbose output for the build phase no longer shows what target
+      was used. This makes the build phase consistent with the other phases
+      which also do not show details. If details are desired, the debug or
+      verbose switches should be used. (#15881, raimue/ryandesign in r38315)
+
     - Make missing sed extended regexp (for reinplace -E) into a runtime error.
       (#15577, afb in r37501)
 
@@ -14,7 +41,8 @@
       running (raimue)
 
     - We now have a mirror of (almost) all distfiles at distfiles.macports.org,
-      and it is automatically appended to master_sites (#15456, jmr in r37217)
+      and it is automatically appended to master_sites and patch_sites (#15456,
+      jmr in r37217, 37255)
 
     - port search looks now in name, description and long_description for the
       search pattern and prints the list sorted (#15434, raimue in r37119,
@@ -49,7 +77,8 @@
     - Declaring a dependency on a nonexistent port now always causes an error
       (#10768, jmr in r36648)
 
-    - Explicitly use unsetenv(3) on all environment variables (#13930)
+    - Explicitly use unsetenv(3) on all environment variables (#13930, #16010,
+      #16233)
 
     - Make the included tclthread compile on Leopard if configured (#13495)
 

Modified: branches/variant-descs-14482/base/Makefile.in
===================================================================
--- branches/variant-descs-14482/base/Makefile.in	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/Makefile.in	2008-10-19 00:26:55 UTC (rev 40953)
@@ -37,6 +37,9 @@
 include Mk/macports.subdir.mk
 
 install::
+	$(INSTALL) -o ${DSTUSR} -g ${DSTGRP} -m 444 setupenv.bash  ${datadir}/macports/
+# Remove duplicate entries from the dependency map (could occur with 1.6 and earlier):
+	$(TCLSH) src/dep_map_clean.tcl ${TCL_PACKAGE_DIR}
 	@echo ""; echo "Congratulations, you have successfully installed the MacPorts system. To get the Portfiles and update the system, run:"; echo ""
 	@echo "sudo port -v selfupdate"; echo ""
 	@echo "Please read \"man port\", the MacPorts guide at http://guide.macports.org/ and Wiki at http://trac.macports.org/ for full documentation."; echo ""
@@ -48,6 +51,8 @@
 	rm -f config.log config.status configure.lineno
 	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/variant-descs-14482/base/Mk/macports.autoconf.mk.in
===================================================================
--- branches/variant-descs-14482/base/Mk/macports.autoconf.mk.in	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/Mk/macports.autoconf.mk.in	2008-10-19 00:26:55 UTC (rev 40953)
@@ -10,7 +10,7 @@
 CFLAGS			= @CFLAGS@ $(CFLAGS_QUICHEEATERS) $(CFLAGS_WERROR) $(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE) $(CPPFLAGS)
 OBJCFLAGS		= @OBJCFLAGS@ $(CFLAGS_WERROR) ${CFLAGS_DEBUG} $(CFLAGS_OPTIMIZE) $(CPPFLAGS)
 CPPFLAGS		= @CPPFLAGS@ @DEFS@ @INCLUDES@ @TCL_INCLUDES@
-TCL_DEFS		= @TCL_DEFS@
+TCL_DEFS		= @TCL_DEFS@ -UPACKAGE_NAME -UPACKAGE_TARNAME -UPACKAGE_VERSION -UPACKAGE_STRING -UPACKAGE_BUGREPORT
 SHLIB_CFLAGS		= @SHLIB_CFLAGS@
 CFLAGS_DEBUG		= @CFLAGS_DEBUG@
 CFLAGS_OPTIMIZE		= @CFLAGS_OPTIMIZE@

Modified: branches/variant-descs-14482/base/aclocal.m4
===================================================================
--- branches/variant-descs-14482/base/aclocal.m4	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/aclocal.m4	2008-10-19 00:26:55 UTC (rev 40953)
@@ -388,11 +388,7 @@
     AC_MSG_CHECKING([for Frameworks installation directory])
 
 	if test "x$MPFRAMEWORKSDIR" = "x" ; then
-	    if test "$DSTUSR" = "root" ; then
-		MPFRAMEWORKSDIR="/Library/Frameworks"
-	    else
-		MPFRAMEWORKSDIR="~$DSTUSR/Library/Frameworks"
-	    fi
+		MPFRAMEWORKSDIR="${prefix}/Library/Frameworks"
 	fi
 
 	AC_MSG_RESULT([$MPFRAMEWORKSDIR])
@@ -821,7 +817,7 @@
 	CFLAGS_LIBCURL=$($CURL_CONFIG --cflags)
 	# Due to a bug in dist, --arch flags are improperly supplied by curl-config.
 	# Get rid of them.
-	LDFLAGS_LIBCURL=$($CURL_CONFIG --libs | [sed 's/-arch [A-Za-z0-9]* //g'])
+	LDFLAGS_LIBCURL=$($CURL_CONFIG --libs | [sed 's/-arch [A-Za-z0-9_]* //g'])
 
 	AC_SUBST(CFLAGS_LIBCURL)
 	AC_SUBST(LDFLAGS_LIBCURL)

Modified: branches/variant-descs-14482/base/configure
===================================================================
--- branches/variant-descs-14482/base/configure	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/configure	2008-10-19 00:26:55 UTC (rev 40953)
@@ -6061,7 +6061,7 @@
 echo $ECHO_N "checking for Apple Foundation library... $ECHO_C" >&6; }
 
 		# Set NeXT LIBS and CFLAGS
-		APPLE_FOUNDATION_CFLAGS="-framework Foundation"
+		APPLE_FOUNDATION_CFLAGS=""
 		APPLE_FOUNDATION_LIBS="-framework Foundation"
 
 		if test "${ac_cv_objc_foundation_apple+set}" = set; then
@@ -6848,11 +6848,7 @@
 echo $ECHO_N "checking for Frameworks installation directory... $ECHO_C" >&6; }
 
 	if test "x$MPFRAMEWORKSDIR" = "x" ; then
-	    if test "$DSTUSR" = "root" ; then
-		MPFRAMEWORKSDIR="/Library/Frameworks"
-	    else
-		MPFRAMEWORKSDIR="~$DSTUSR/Library/Frameworks"
-	    fi
+		MPFRAMEWORKSDIR="${prefix}/Library/Frameworks"
 	fi
 
 	{ echo "$as_me:$LINENO: result: $MPFRAMEWORKSDIR" >&5
@@ -12019,7 +12015,7 @@
 	CFLAGS_LIBCURL=$($CURL_CONFIG --cflags)
 	# Due to a bug in dist, --arch flags are improperly supplied by curl-config.
 	# Get rid of them.
-	LDFLAGS_LIBCURL=$($CURL_CONFIG --libs | sed 's/-arch [A-Za-z0-9]* //g')
+	LDFLAGS_LIBCURL=$($CURL_CONFIG --libs | sed 's/-arch [A-Za-z0-9_]* //g')
 
 
 
@@ -12289,6 +12285,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
@@ -12377,7 +12375,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"
+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
@@ -12935,6 +12933,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" ;;
@@ -12946,13 +12947,11 @@
     "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" ;;
     "src/macports1.0/macports_fastload.tcl") CONFIG_FILES="$CONFIG_FILES src/macports1.0/macports_fastload.tcl" ;;
+    "setupenv.bash") CONFIG_FILES="$CONFIG_FILES setupenv.bash" ;;
 
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}

Modified: branches/variant-descs-14482/base/configure.ac
===================================================================
--- branches/variant-descs-14482/base/configure.ac	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/configure.ac	2008-10-19 00:26:55 UTC (rev 40953)
@@ -336,6 +336,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])
@@ -405,13 +406,11 @@
 	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_OUTPUT


Property changes on: branches/variant-descs-14482/base/doc
___________________________________________________________________
Modified: svn:ignore
   - macports.conf
prefix.mtree
macosx.mtree

   + macports.conf
prefix.mtree
macosx.mtree
*[0-9].gz


Modified: branches/variant-descs-14482/base/doc/Makefile
===================================================================
--- branches/variant-descs-14482/base/doc/Makefile	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/doc/Makefile	2008-10-19 00:26:55 UTC (rev 40953)
@@ -8,7 +8,7 @@
 include ../Mk/macports.autoconf.mk
 endif
 
-all:
+all: ${MAN1:.1=.1.gz} ${MAN5:.5=.5.gz} ${MAN7:.7=.7.gz}
 
 clean:
 	rm -f *.{1,5,7}.gz
@@ -27,7 +27,7 @@
 %.7.gz: %.7
 	gzip -c $^ > $@
 
-install: ${MAN1:.1=.1.gz} ${MAN5:.5=.5.gz} ${MAN7:.7=.7.gz}
+install: all
 	$(INSTALL) -d -o ${DSTUSR} -g ${DSTGRP} -m ${DSTMODE} ${INSTALLDIR}
 	$(INSTALL) -d -o ${DSTUSR} -g ${DSTGRP} -m ${DSTMODE} ${DESTDIR}${mpconfigdir}
 

Modified: branches/variant-descs-14482/base/doc/macports.conf.5
===================================================================
--- branches/variant-descs-14482/base/doc/macports.conf.5	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/doc/macports.conf.5	2008-10-19 00:26:55 UTC (rev 40953)
@@ -96,7 +96,7 @@
 Directory containing Frameworks installed from ports.
 .br
 .Ic Default:
-/Library/Frameworks
+${prefix}/Library/Frameworks
 .It Va sources_conf
 Location of the sources file. This file enables rsync synchronization of the default ports tree with the
 MacPorts rsync server (through the "sync" target of the

Modified: branches/variant-descs-14482/base/doc/port.1
===================================================================
--- branches/variant-descs-14482/base/doc/port.1	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/doc/port.1	2008-10-19 00:26:55 UTC (rev 40953)
@@ -437,6 +437,12 @@
 with your default editor specified in your shell's environment variable. Alias
 .Ar ed
 also invokes this command.
+.Pp
+You can also use the
+.Fl -editor
+flag on the command line to specify an alternative editor. For example:
+.Dl port edit --editor nano apache2
+.Pp
 .Ss unarchive
 Unpack the port from a pre-built binary archive. When archive mode is enabled, this command is called automatically, prior to
 .Ar fetch ,

Modified: branches/variant-descs-14482/base/doc/portfile.7
===================================================================
--- branches/variant-descs-14482/base/doc/portfile.7	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/doc/portfile.7	2008-10-19 00:26:55 UTC (rev 40953)
@@ -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/variant-descs-14482/base/doc/portgroup.7
===================================================================
--- branches/variant-descs-14482/base/doc/portgroup.7	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/doc/portgroup.7	2008-10-19 00:26:55 UTC (rev 40953)
@@ -142,9 +142,9 @@
 .Em optional
 .br
 .Sy Default:
-.Em /Library/Frameworks
+.Em ${prefix}/Library/Frameworks
 or
-.Em /Application/MacPorts depending on xcode.destroot.type
+.Em /Applications/MacPorts depending on xcode.destroot.type
 .br
 .It Ic xcode.destroot.settings
 Additional settings passed to the xcode build tool during the destroot phase.

Modified: branches/variant-descs-14482/base/doc/porthier.7
===================================================================
--- branches/variant-descs-14482/base/doc/porthier.7	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/doc/porthier.7	2008-10-19 00:26:55 UTC (rev 40953)
@@ -53,6 +53,8 @@
 archive libraries
 .It Pa libexec/
 system daemons & system utilities (executed by other programs)
+.It Pa Library/Frameworks/
+Native Mac OS X Library Frameworks
 .It Pa sbin/
 system programs and administration utilities
 .It Pa share/
@@ -127,8 +129,6 @@
 .El
 .It Pa /Applications/MacPorts/
 Native Mac OS X applications
-.It Pa /Library/Frameworks/
-Native Mac OS X Library Frameworks
 .Pp
 .El
 .El

Modified: branches/variant-descs-14482/base/m4/foundation.m4
===================================================================
--- branches/variant-descs-14482/base/m4/foundation.m4	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/m4/foundation.m4	2008-10-19 00:26:55 UTC (rev 40953)
@@ -307,7 +307,7 @@
 		AC_MSG_CHECKING([for Apple Foundation library])
 
 		# Set NeXT LIBS and CFLAGS
-		APPLE_FOUNDATION_CFLAGS="-framework Foundation"
+		APPLE_FOUNDATION_CFLAGS=""
 		APPLE_FOUNDATION_LIBS="-framework Foundation"
 
 		AC_CACHE_VAL(ac_cv_objc_foundation_apple, [

Modified: branches/variant-descs-14482/base/portmgr/dmg/postflight
===================================================================
--- branches/variant-descs-14482/base/portmgr/dmg/postflight	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/portmgr/dmg/postflight	2008-10-19 00:26:55 UTC (rev 40953)
@@ -42,6 +42,8 @@
 BINPATH=${PREFIX}/bin
 SBINPATH=${PREFIX}/sbin
 MANPAGES=${PREFIX}/share/man
+TCLSH=/usr/bin/tclsh
+TCL_PACKAGE_DIR=/Library/Tcl
 TIMESTAMP=$(date +"%Y-%m-%d_at_%H:%M:%S")
 BACKUP_SUFFIX=macports-saved_${TIMESTAMP}
 OUR_STRING="MacPorts Installer addition on ${TIMESTAMP}"
@@ -56,6 +58,9 @@
     else
         echo "Successful!"
     fi
+    
+    # Remove any duplicates from the dep map (could occur with 1.6 and earlier)
+    ${TCLSH} dep_map_clean.tcl ${TCL_PACKAGE_DIR}
 }
 
 # Through this command we write an environment variable to an appropriate shell configuration file,

Modified: branches/variant-descs-14482/base/portmgr/jobs/GuideRegen.sh
===================================================================
--- branches/variant-descs-14482/base/portmgr/jobs/GuideRegen.sh	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/portmgr/jobs/GuideRegen.sh	2008-10-19 00:26:55 UTC (rev 40953)
@@ -11,7 +11,7 @@
 # Configuration
 LOCKFILE=/tmp/.mp_svn_guide_regen.lock
 # ROOT directory, where everything is. This needs to exist!
-ROOT=/opt/mp_guide_regen
+ROOT=/var/tmp/macports/
 # e-mail address to spam in case of failure.
 SPAM_LOVERS=macports-dev at lists.macosforge.org,markd at macports.org,wsiegrist at apple.com
 
@@ -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/variant-descs-14482/base/portmgr/jobs/PortIndex2MySQL.tcl
===================================================================
--- branches/variant-descs-14482/base/portmgr/jobs/PortIndex2MySQL.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/portmgr/jobs/PortIndex2MySQL.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -234,25 +234,25 @@
 # Initial creation of database tables: log, portfiles, categories, maintainers, dependencies, variants and platforms.
 # Do we need any other?
 puts $sqlfile_fd "DROP TABLE IF EXISTS log;"
-puts $sqlfile_fd "CREATE TABLE log (activity VARCHAR(255), activity_time TIMESTAMP(14));"
+puts $sqlfile_fd "CREATE TABLE log (activity VARCHAR(255), activity_time TIMESTAMP(14)) DEFAULT CHARSET=utf8;"
 
 puts $sqlfile_fd "DROP TABLE IF EXISTS portfiles;"
-puts $sqlfile_fd "CREATE TABLE portfiles (name VARCHAR(255) PRIMARY KEY NOT NULL, path VARCHAR(255), version VARCHAR(255),  description TEXT);"
+puts $sqlfile_fd "CREATE TABLE portfiles (name VARCHAR(255) PRIMARY KEY NOT NULL, path VARCHAR(255), version VARCHAR(255),  description TEXT) DEFAULT CHARSET=utf8;"
 
 puts $sqlfile_fd "DROP TABLE IF EXISTS categories;"
-puts $sqlfile_fd "CREATE TABLE categories (portfile VARCHAR(255), category VARCHAR(255), is_primary INTEGER);"
+puts $sqlfile_fd "CREATE TABLE categories (portfile VARCHAR(255), category VARCHAR(255), is_primary INTEGER) DEFAULT CHARSET=utf8;"
 
 puts $sqlfile_fd "DROP TABLE IF EXISTS maintainers;"
-puts $sqlfile_fd "CREATE TABLE maintainers (portfile VARCHAR(255), maintainer VARCHAR(255), is_primary INTEGER);"
+puts $sqlfile_fd "CREATE TABLE maintainers (portfile VARCHAR(255), maintainer VARCHAR(255), is_primary INTEGER) DEFAULT CHARSET=utf8;"
 
 puts $sqlfile_fd "DROP TABLE IF EXISTS dependencies;"
-puts $sqlfile_fd "CREATE TABLE dependencies (portfile VARCHAR(255), library VARCHAR(255));"
+puts $sqlfile_fd "CREATE TABLE dependencies (portfile VARCHAR(255), library VARCHAR(255)) DEFAULT CHARSET=utf8;"
 
 puts $sqlfile_fd "DROP TABLE IF EXISTS variants;"
-puts $sqlfile_fd "CREATE TABLE variants (portfile VARCHAR(255), variant VARCHAR(255));"
+puts $sqlfile_fd "CREATE TABLE variants (portfile VARCHAR(255), variant VARCHAR(255)) DEFAULT CHARSET=utf8;"
 
 puts $sqlfile_fd "DROP TABLE IF EXISTS platforms;"
-puts $sqlfile_fd "CREATE TABLE platforms (portfile VARCHAR(255), platform VARCHAR(255));"
+puts $sqlfile_fd "CREATE TABLE platforms (portfile VARCHAR(255), platform VARCHAR(255)) DEFAULT CHARSET=utf8;"
 
 
 # Iterate over each matching port, extracting its information from the

Modified: branches/variant-descs-14482/base/portmgr/jobs/PortIndexRegen.sh
===================================================================
--- branches/variant-descs-14482/base/portmgr/jobs/PortIndexRegen.sh	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/portmgr/jobs/PortIndexRegen.sh	2008-10-19 00:26:55 UTC (rev 40953)
@@ -47,7 +47,7 @@
     cleanup; exit 1
 }
 
-# Cleanup fuction for runtime files.
+# Cleanup function for runtime files.
 cleanup () {
     rm -f $COMMIT_MSG $FAILURE_LOG
     rm -f $LOCKFILE

Copied: branches/variant-descs-14482/base/portmgr/jobs/mirror_macports.sh (from rev 40952, trunk/base/portmgr/jobs/mirror_macports.sh)
===================================================================
--- branches/variant-descs-14482/base/portmgr/jobs/mirror_macports.sh	                        (rev 0)
+++ branches/variant-descs-14482/base/portmgr/jobs/mirror_macports.sh	2008-10-19 00:26:55 UTC (rev 40953)
@@ -0,0 +1,63 @@
+#!/bin/bash
+####
+# Run "port mirror" for each variant of each port 
+# Created by William Siegrist,
+# e-mail: wsiegrist at apple.com
+# $Id$
+####
+
+# regexp of ports that we do not mirror
+EXCLUSIONS='^(molden)$'
+
+# macports really wants this, so lets appease it
+export COLUMNS=80
+export LINES=24
+
+# send all output here
+LOG="/admin/var/log/macports.log"
+
+PORT="/opt/local/bin/port"
+CUT=/usr/bin/cut
+GREP=/usr/bin/grep
+XARGS=/usr/bin/xargs
+EGREP=/usr/bin/egrep
+
+exec >> $LOG 2>&1
+
+echo "------------------------------
+  Beginning mirror run 
+------------------------------";
+
+# for each port
+for P in `$PORT list | $CUT -f 1 -d " " | $EGREP -v $EXCLUSIONS`;
+do
+
+  NOW=`/bin/date`;
+  echo "TIME: ${NOW}";
+
+  # mirror with no variants
+  echo "Mirroring ${P}";
+  $PORT clean $P;
+  $PORT mirror $P;
+
+  # for each variant
+  for V in `$PORT variants $P | $GREP -v 'has no variants' | $GREP -v 'has the variants' | $CUT -d " " -f 1 | $CUT -d ":" -f 1 | $GREP -v universal | $XARGS`;
+  do
+    # mirror with each variant
+    echo "Mirroring ${P} +${V}";
+    $PORT clean $P; 
+    $PORT mirror $P +$V; 
+  done
+
+  # clean up the work area
+  $PORT clean --work $P;
+
+done
+
+# record the last time we mirrored
+/bin/date > /rsync/macports-san/distfiles/TIMESTAMP
+
+echo "------------------------------
+  End of mirror run 
+------------------------------";
+

Modified: branches/variant-descs-14482/base/portmgr/jobs/mprsyncup
===================================================================
--- branches/variant-descs-14482/base/portmgr/jobs/mprsyncup	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/portmgr/jobs/mprsyncup	2008-10-19 00:26:55 UTC (rev 40953)
@@ -58,7 +58,13 @@
 else
     ${SVN} checkout ${SVNURL}/trunk/base ${TBASE}
 fi
+
+# Delete old exports if they exist
+if [ -d ${TBASE}-export ]; then
+    $RM -rf ${TBASE}-export;
+fi
 ${SVN} export ${TBASE} ${TBASE}-export
+
 if [ ! -d ${RSYNCROOT}/trunk/base ]; then
     ${MKDIR} -p ${RSYNCROOT}/trunk
 fi
@@ -76,7 +82,13 @@
 else
     ${SVN} checkout ${RELEASE_URL} ${RBASE}
 fi
+
+# Delete old exports if they exist
+if [ -d ${RBASE}-export ]; then
+    $RM -rf ${RBASE}-export;
+fi
 ${SVN} export ${RBASE} ${RBASE}-export
+
 if [ ! -d ${RSYNCROOT}/release/base ]; then
     ${MKDIR} -p ${RSYNCROOT}/release/base
 fi
@@ -89,7 +101,13 @@
 else
     ${SVN} checkout ${SVNURL}/trunk/dports ${PORTS}
 fi
+
+# Delete old exports if they exist
+if [ -d ${PORTS}-export ]; then
+    $RM -rf ${PORTS}-export;
+fi
 ${SVN} export ${PORTS} ${PORTS}-export
+
 if [ ! -d ${RSYNCROOT}/release/ports ]; then
     ${MKDIR} -p ${RSYNCROOT}/release/ports
 fi

Copied: branches/variant-descs-14482/base/portmgr/jobs/portfile_mirror.pl (from rev 40952, trunk/base/portmgr/jobs/portfile_mirror.pl)
===================================================================
--- branches/variant-descs-14482/base/portmgr/jobs/portfile_mirror.pl	                        (rev 0)
+++ branches/variant-descs-14482/base/portmgr/jobs/portfile_mirror.pl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -0,0 +1,88 @@
+#!/opt/local/bin/perl -w
+###
+# Run "port mirror" for all Portfiles changed in a given revision
+# Created by William Siegrist,
+# e-mail: wsiegrist at apple.com
+# $Id$
+###
+
+use strict;
+use Mail::Sendmail;
+
+my $REPOPATH = "/svn/repositories/macports/";
+my $REPOHOST = "http://svn.macosforge.org/repository/macports";
+my $SVNLOOK = "/opt/local/bin/svnlook";
+my $PORTCMD = "/opt/local/bin/port";
+my $SVN = "/opt/local/bin/svn -q --non-interactive";
+my $MKDIR = "/bin/mkdir -p";
+
+my $rev = $ARGV[0] or usage();
+my $TMPROOT = "/tmp/mp_mirror/$rev";
+
+my @changes = `$SVNLOOK changed $REPOPATH -r $rev`;
+
+foreach my $change (@changes) {
+    if ($change =~ /Portfile/) { 
+	# remove svn status and whitespace
+	chop($change);
+	$change =~ s/\w\s+([\/\w]+)/$1/g; 
+	# extract the portname from parent dir of Portfile
+	my $port = $change;
+	$port =~ s/^.*\/([^\/]+)\/Portfile$/$1/g;
+
+	# get the group directory
+	my $group = $change;
+	$group =~ s/^.*\/([^\/]+)\/[^\/]+\/Portfile$/$1/g;	
+
+	# make a temporary work area
+	`$MKDIR $TMPROOT/$group/$port`;
+	chdir("$TMPROOT/$group/$port") or die("Failed to change dir for port: $port");	
+	`$SVN co $REPOHOST/trunk/dports/$group/$port/ .`;
+	
+	_mirror($port);
+    }
+}
+
+
+#
+# Subroutines
+#
+
+sub _mirror {
+    my ($port) = @_; 
+    my $errors = `sudo $PORTCMD -qc mirror`;
+
+    if ($errors) {
+	my $maintainers = `$PORTCMD -q info --maintainer $port`;
+	# strip everything but the email addresses
+	$maintainers =~ s/maintainer: //;
+	$maintainers =~ s/openmaintainer\@macports.org//;
+	$maintainers =~ s/nomaintainer\@macports.org//;
+	chop($maintainers);
+
+	_mail($port, $maintainers, $errors);
+    }
+}
+
+sub _mail {
+    my ($port, $maintainers, $errors) = @_;
+
+    my %mail = (
+             To => $maintainers,
+             From => 'noreply at macports.org',
+             Subject => "[MacPorts Mirror] Portfile Mirror Errors for: $port",
+             Message => "Portfile: $port \n\n\n Errors: $errors \n\n",
+             smtp => 'relay.apple.com',
+             );
+
+    sendmail(%mail) or die $Mail::Sendmail::error;
+}
+
+sub usage {
+	print "usage: portfile_mirror.pl <rev>\n";
+	exit();
+}
+
+
+
+

Copied: branches/variant-descs-14482/base/setupenv.bash.in (from rev 40952, trunk/base/setupenv.bash.in)
===================================================================
--- branches/variant-descs-14482/base/setupenv.bash.in	                        (rev 0)
+++ branches/variant-descs-14482/base/setupenv.bash.in	2008-10-19 00:26:55 UTC (rev 40953)
@@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: shell-script-mode; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=sh:et:sw=4:ts=4:sts=4
+#
+# Copyright (c) 2008 Rainer Mueller <raimue at macports.org>, The MacPorts Project.
+# 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, Inc., The MacPorts Project 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.
+#
+# $Id$
+
+function export_path() {
+    local binpath="@prefix_expanded@/bin"
+    local sbinpath="@prefix_expanded@/sbin"
+
+    local IFS=":"
+    for p in $PATH; do
+        if [ "$p" == "$binpath" ]; then
+            binpath=""
+        elif [ "$p" == "$sbinpath" ]; then
+            sbinpath=""
+        fi
+    done
+
+    if [ -n "$binpath" ]; then
+        binpath+=":"
+    fi
+
+    if [ -n "$sbinpath" ]; then
+        sbinpath+=":"
+    fi
+
+    export PATH="${binpath}${sbinpath}${PATH}"
+}
+
+function export_manpath() {
+    mpath="@prefix_expanded@/share/man"
+
+    local IFS=":"
+    for p in $MANPATH; do
+        if [ "$p" == "$mpath" ]; then
+            mpath=""
+        fi
+    done
+
+    if [ -n "$mpath" ]; then
+        mpath+=":"
+    fi
+
+    export MANPATH="${mpath}${MANPATH}"
+}
+
+function export_display() {
+    if [ -z $DISPLAY ]; then
+        export DISPLAY=":0.0"
+    fi
+}
+
+export_path
+export_manpath
+export_display
+
+# Remove defined functions to prevent them from cluttering the shell,
+# but they are needed to restrict variables to the local scope
+unset export_path
+unset export_manpath
+unset export_display

Modified: branches/variant-descs-14482/base/src/darwintracelib1.0/darwintrace.c
===================================================================
--- branches/variant-descs-14482/base/src/darwintracelib1.0/darwintrace.c	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/darwintracelib1.0/darwintrace.c	2008-10-19 00:26:55 UTC (rev 40953)
@@ -320,7 +320,7 @@
 static void ask_for_filemap()
 {
 	filemap=exchange_with_port("filemap\t", sizeof("filemap\t"), 1, 0);
-	if((int)filemap==-1)
+	if(filemap==(char*)-1)
 		filemap=0;
 }
 
@@ -339,7 +339,9 @@
 				dprintf("darwintrace: connect successful. socket %d\n", sock);
 				__darwintrace_fd=sock;
 				ask_for_filemap();
-			}else dprintf("connect failed %d :-(\n", errno);
+			} else {
+				dprintf("connect failed %d :-(\n", errno);
+			}
 			errno = olderrno;
 		}
 	}
@@ -473,7 +475,7 @@
 	strcpy(buffer, "dep_check\t");
 	strcpy(buffer+10, path);
 	p=exchange_with_port(buffer, strlen(buffer)+1, 1, 0);
-	if((int)p==-1||!p)
+	if(p==(char*)-1||!p)
 		return 0;
 	
 	if(*p=='+')

Copied: branches/variant-descs-14482/base/src/dep_map_clean.tcl (from rev 40952, trunk/base/src/dep_map_clean.tcl)
===================================================================
--- branches/variant-descs-14482/base/src/dep_map_clean.tcl	                        (rev 0)
+++ branches/variant-descs-14482/base/src/dep_map_clean.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -0,0 +1,18 @@
+#!/usr/bin/env tclsh
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
+# $Id$
+
+# Removes any duplicate entries from the MacPorts registry's dependency map.
+# Takes one argument, which should be TCL_PACKAGE_DIR.
+
+source [file join [lindex $argv 0] macports1.0 macports_fastload.tcl]
+package require macports 1.0
+package require registry 1.0
+
+mportinit
+
+registry::open_dep_map
+registry::clean_dep_map
+registry::write_dep_map
+
+exit 0

Modified: branches/variant-descs-14482/base/src/macports1.0/macports.tcl
===================================================================
--- branches/variant-descs-14482/base/src/macports1.0/macports.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/macports1.0/macports.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -76,6 +76,13 @@
 # ui_channels returns a list of channels to output the message to, empty for
 #     no message.
 # if these functions are not provided, defaults are used.
+# Clients of the library may optionally provide ui_init with the following
+# prototype.
+#     proc ui_init {priority prefix channels message}
+# ui_init needs to correctly define the proc ::ui_$priority {message} or throw
+# an error.
+# if this function is not provided or throws an error, default procedures for
+# ui_$priority are defined.
 
 # ui_options accessor
 proc macports::ui_isset {val} {
@@ -118,15 +125,19 @@
             set prefix [ui_prefix_default $priority]
         }
 
-        if {$nbchans == 1} {
-            set chan [lindex $channels 0]
-            proc ::ui_$priority {str} [subst { puts $chan "$prefix\$str" }]
-        } else {
-            proc ::ui_$priority {str} [subst {
-                foreach chan \$channels {
-                    puts $chan "$prefix\$str"
-                }
-            }]
+        try {
+            ::ui_init $priority $prefix $channels $message
+        } catch * {
+            if {$nbchans == 1} {
+                set chan [lindex $channels 0]
+                proc ::ui_$priority {str} [subst { puts $chan "$prefix\$str" }]
+            } else {
+                proc ::ui_$priority {str} [subst {
+                    foreach chan \$channels {
+                        puts $chan "$prefix\$str"
+                    }
+                }]
+            }
         }
 
         # Call ui_$priority
@@ -358,14 +369,14 @@
     
     # Configure the search path for configuration files
     set conf_files ""
+    lappend conf_files "${macports_conf_path}/macports.conf"
+    if { [file isdirectory $macports_user_dir] } {
+        lappend conf_files "${macports_user_dir}/macports.conf"
+    }
     if {[info exists env(PORTSRC)]} {
         set PORTSRC $env(PORTSRC)
         lappend conf_files ${PORTSRC}
     }
-    if { [file isdirectory $macports_user_dir] } {
-        lappend conf_files "${macports_user_dir}/macports.conf"
-    }
-    lappend conf_files "${macports_conf_path}/macports.conf"
     
     # Process the first configuration file we find on conf_files list
     foreach file $conf_files {
@@ -380,7 +391,6 @@
                     }
                 }
             }            
-            break
         }
     }
     
@@ -686,6 +696,13 @@
     } else {
         return -code error "Library directory '$libpath' must exist"
     }
+
+    # unset environment an extra time, to work around bugs in Leopard Tcl
+    foreach envkey [array names env] {
+        if {[lsearch $keepenvkeys $envkey] == -1} {
+            unsetenv $envkey
+        }
+    }
 }
 
 proc macports::worker_init {workername portpath porturl portbuildpath options variations} {
@@ -1064,11 +1081,13 @@
     global env tcl_platform
     set depline [lindex [split $depspec :] 1]
     set prefix [_mportkey $mport prefix]
+    set frameworks_dir [_mportkey $mport frameworks_dir]
+    set x11prefix [_mportkey $mport x11prefix]
     
     if {[info exists env(DYLD_FRAMEWORK_PATH)]} {
         lappend search_path $env(DYLD_FRAMEWORK_PATH)
     } else {
-        lappend search_path /Library/Frameworks /Network/Library/Frameworks /System/Library/Frameworks
+        lappend search_path ${frameworks_dir} /Library/Frameworks /Network/Library/Frameworks /System/Library/Frameworks
     }
     if {[info exists env(DYLD_FALLBACK_FRAMEWORK_PATH)]} {
         lappend search_path $env(DYLD_FALLBACK_FRAMEWORK_PATH)
@@ -1076,7 +1095,7 @@
     if {[info exists env(DYLD_LIBRARY_PATH)]} {
         lappend search_path $env(DYLD_LIBRARY_PATH)
     }
-    lappend search_path /lib /usr/lib /usr/X11R6/lib /usr/X11/lib ${prefix}/lib
+    lappend search_path /lib /usr/lib ${x11prefix}/lib ${prefix}/lib
     if {[info exists env(DYLD_FALLBACK_LIBRARY_PATH)]} {
         lappend search_path $env(DYLD_FALLBACK_LIBRARY_PATH)
     }

Modified: branches/variant-descs-14482/base/src/package1.0/portunarchive.tcl
===================================================================
--- branches/variant-descs-14482/base/src/package1.0/portunarchive.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/package1.0/portunarchive.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -229,7 +229,7 @@
 				ui_debug "Using $xar"
 				set unarchive.cmd "$xar"
 				set unarchive.pre_args {-xvpf}
-				set unarchive.args "${unarchive.path} ."
+				set unarchive.args "${unarchive.path}"
 			} else {
 				ui_debug $errmsg
 				return -code error "No '$xar' was found on this system!"

Modified: branches/variant-descs-14482/base/src/pextlib1.0/Makefile
===================================================================
--- branches/variant-descs-14482/base/src/pextlib1.0/Makefile	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/pextlib1.0/Makefile	2008-10-19 00:26:55 UTC (rev 40953)
@@ -1,10 +1,9 @@
 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
 
 include ../../Mk/macports.autoconf.mk
 include ../../Mk/macports.tea.mk

Modified: branches/variant-descs-14482/base/src/pextlib1.0/Pextlib.c
===================================================================
--- branches/variant-descs-14482/base/src/pextlib1.0/Pextlib.c	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/pextlib1.0/Pextlib.c	2008-10-19 00:26:55 UTC (rev 40953)
@@ -36,6 +36,7 @@
 #include <config.h>
 #endif
 
+#include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
@@ -114,6 +115,7 @@
 #include "readline.h"
 #include "uid.h"
 #include "tracelib.h"
+#include "tty.h"
 
 #if HAVE_CRT_EXTERNS_H
 #include <crt_externs.h>
@@ -536,7 +538,7 @@
 		Tcl_SetResult(interp, "error getting channel handle", TCL_STATIC);
 		return TCL_ERROR;
 	}
-	fd = (int) handle;
+	fd = (int)(intptr_t)handle;
 
 	for (i = 2; i < objc; i++) {
 		char *arg = Tcl_GetString(objv[i]);
@@ -772,7 +774,7 @@
 		free(fd_as_char_star);
 	}
 
-	theChannel = Tcl_MakeFileChannel((ClientData) fd, readOrWrite);
+	theChannel = Tcl_MakeFileChannel((ClientData)(intptr_t)fd, readOrWrite);
 	if (theChannel == NULL) {
 		return TCL_ERROR;
 	}
@@ -831,7 +833,7 @@
 		return TCL_ERROR;
 	}
 
-	channel = Tcl_MakeFileChannel((ClientData) fd, TCL_READABLE|TCL_WRITABLE);
+	channel = Tcl_MakeFileChannel((ClientData)(intptr_t)fd, TCL_READABLE|TCL_WRITABLE);
 	Tcl_RegisterChannel(interp, channel);
 	channelname = (char *)Tcl_GetChannelName(channel);
 	Tcl_AppendResult(interp, channelname, " ", template, NULL);
@@ -1214,6 +1216,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;

Modified: branches/variant-descs-14482/base/src/pextlib1.0/filemap.c
===================================================================
--- branches/variant-descs-14482/base/src/pextlib1.0/filemap.c	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/pextlib1.0/filemap.c	2008-10-19 00:26:55 UTC (rev 40953)
@@ -767,7 +767,7 @@
 
 		/* one char too far */
 		endCursor--;
-		partLength = (int) endCursor - (int) beginCursor;
+		partLength = endCursor - beginCursor;
 
 		/* do we have a node for this entry? */
 		for (indexSubnodes = 0; indexSubnodes < nbSubnodes; indexSubnodes++)
@@ -907,7 +907,7 @@
 
 		/* one char too far */
 		endCursor--;
-		partLength = (int) endCursor - (int) beginCursor;
+		partLength = endCursor - beginCursor;
 
 		/* do we have a node for this entry? */
 		for (indexSubnodes = 0; indexSubnodes < nbSubnodes; indexSubnodes++)
@@ -1106,7 +1106,7 @@
 
 		/* one char too far */
 		endCursor--;
-		partLength = (int) endCursor - (int) beginCursor;
+		partLength = endCursor - beginCursor;
 
 		/* do we have a node for this entry? */
 		for (indexSubnodes = 0; indexSubnodes < nbSubnodes; indexSubnodes++)

Modified: branches/variant-descs-14482/base/src/pextlib1.0/readline.c
===================================================================
--- branches/variant-descs-14482/base/src/pextlib1.0/readline.c	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/pextlib1.0/readline.c	2008-10-19 00:26:55 UTC (rev 40953)
@@ -162,8 +162,10 @@
 {
 	char* action;
 	Tcl_Obj *tcl_result;
+#if HAVE_LIBREADLINE
 	int argbase;
 	int argcnt;
+#endif
 	
 	/* Get the action */
 	if (objc < 2) {
@@ -276,9 +278,11 @@
 int RLHistoryCmd(ClientData clientData UNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
 {
 	char* action = NULL;
+#if HAVE_LIBREADLINE
 	char* s = NULL;
 	int i = 0;
 	Tcl_Obj *tcl_result;
+#endif
 
 	if (objc < 2) {
 		Tcl_WrongNumArgs(interp, 1, objv, "action");

Copied: branches/variant-descs-14482/base/src/pextlib1.0/tty.c (from rev 40952, trunk/base/src/pextlib1.0/tty.c)
===================================================================
--- branches/variant-descs-14482/base/src/pextlib1.0/tty.c	                        (rev 0)
+++ branches/variant-descs-14482/base/src/pextlib1.0/tty.c	2008-10-19 00:26:55 UTC (rev 40953)
@@ -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/variant-descs-14482/base/src/pextlib1.0/tty.h (from rev 40952, trunk/base/src/pextlib1.0/tty.h)
===================================================================
--- branches/variant-descs-14482/base/src/pextlib1.0/tty.h	                        (rev 0)
+++ branches/variant-descs-14482/base/src/pextlib1.0/tty.h	2008-10-19 00:26:55 UTC (rev 40953)
@@ -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/variant-descs-14482/base/src/port/port.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port/port.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port/port.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -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
@@ -400,14 +401,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]
+            }
         }
     }
 }
@@ -1994,6 +2001,13 @@
 
         array unset portinfo
         array set portinfo [lindex $result 1]
+        if {[catch {set mport [mportopen $portinfo(porturl) [array get options] [array get variations]]} result]} {
+           ui_debug "$::errorInfo"
+           break_softcontinue "Unable to open port: $result" 1 status
+        }
+        array unset portinfo
+        array set portinfo [mportinfo $mport]
+        mportclose $mport
         # set portname again since the one we were passed may not have had the correct case
         set portname $portinfo(name)
 
@@ -2299,7 +2313,7 @@
                     # Copy the portfile to standard output
                     set f [open $portfile RDONLY]
                     while { ![eof $f] } {
-                        puts [read $f 4096]
+                        puts -nonewline [read $f 4096]
                     }
                     close $f
                 }
@@ -2311,14 +2325,14 @@
                     # We need it to evaluate the editor, and the editor
                     # may want stuff from it as well, like TERM.
                     array unset env_save; array set env_save [array get env]
-                    array unset env *; array set env [array get boot_env]
+                    array unset env *; unsetenv *; array set env [array get boot_env]
                     
                     # Find an editor to edit the portfile
                     set editor ""
                     if {[info exists local_options(ports_edit_editor)]} {
-                        set editor $local_options(ports_edit_editor)
+                        set editor [join $local_options(ports_edit_editor)]
                     } elseif {[info exists local_options(ports_ed_editor)]} {
-                        set editor $local_options(ports_ed_editor)
+                        set editor [join $local_options(ports_ed_editor)]
                     } else {
                         foreach ed { VISUAL EDITOR } {
                             if {[info exists env($ed)]} {
@@ -2337,7 +2351,7 @@
                     }
                     
                     # Restore internal MacPorts environment
-                    array unset env *; array set env [array get env_save]
+                    array unset env *; unsetenv *; array set env [array get env_save]
                 }
 
                 dir {
@@ -2370,19 +2384,27 @@
                 }
 
                 gohome {
-                    # Get the homepage for the port by opening the portfile
-                    if {![catch {set ctx [mportopen $porturl]} result]} {
+                    set homepage ""
+
+                    # Get the homepage as read from PortIndex
+                    if {[info exists portinfo(homepage)]} {
+                        set homepage $portinfo(homepage)
+                    }
+
+                    # If not available, get the homepage for the port by opening the Portfile
+                    if {$homepage == "" && ![catch {set ctx [mportopen $porturl]} result]} {
                         array set portinfo [mportinfo $ctx]
-                        set homepage $portinfo(homepage)
+                        if {[info exists portinfo(homepage)]} {
+                            set homepage $portinfo(homepage)
+                        }
                         mportclose $ctx
                     }
 
                     # Try to open a browser to the homepage for the given port
-                    set homepage $portinfo(homepage)
                     if { $homepage != "" } {
-                        system "${macports::autoconf::open_path} $homepage"
+                        system "${macports::autoconf::open_path} '$homepage'"
                     } else {
-                        puts "(no homepage)"
+                        ui_error [format "No homepage for %s" $portname]
                     }
                 }
             }
@@ -3143,7 +3165,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
@@ -3169,7 +3191,11 @@
 }
 
 # Parse global options that will affect all subsequent commands
-parse_options "global" ui_options global_options
+if {[catch {parse_options "global" ui_options global_options} result]} {
+    puts "Error: $result"
+    print_usage
+    exit 1
+}
 
 # Get arguments remaining after option processing
 set remaining_args [lrange $cmd_argv $cmd_argn end]

Modified: branches/variant-descs-14482/base/src/port1.0/portbuild.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/portbuild.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/portbuild.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -100,7 +100,7 @@
 }
 
 proc build_getnicevalue {args} {
-    if {![exists build.nice]} {
+    if {![exists build.nice] || [string match "* *" [option build.cmd]]} {
         return ""
     }
     set nice [option build.nice]
@@ -118,7 +118,7 @@
     }
     ui_debug "port allows a parallel build"
 
-    if {![exists build.jobs] || ![string match "*make*" [option build.cmd]]} {
+    if {![exists build.jobs] || !([string match "*make*" [option build.cmd]] || [string match "*scons*" [option build.cmd]])} {
         return ""
     }
     set jobs [option build.jobs]
@@ -135,11 +135,7 @@
 proc build_start {args} {
     global UI_PREFIX
     
-    if {[string length [option build.target]]} {
-        ui_msg "$UI_PREFIX [format [msgcat::mc "Building %s with target %s"] [option portname] [option build.target]]"
-    } else {
-        ui_msg "$UI_PREFIX [format [msgcat::mc "Building %s"] [option portname]]"
-    }
+    ui_msg "$UI_PREFIX [format [msgcat::mc "Building %s"] [option portname]]"
 }
 
 proc build_main {args} {

Modified: branches/variant-descs-14482/base/src/port1.0/portconfigure.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/portconfigure.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/portconfigure.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -40,12 +40,14 @@
 target_prerun ${org.macports.configure} configure_start
 
 # define options
-commands configure automake autoconf xmkmf libtool
+commands configure autoreconf automake autoconf xmkmf libtool
 # defaults
 default configure.env       ""
 default configure.pre_args  {--prefix=${prefix}}
 default configure.cmd       ./configure
 default configure.dir       {${worksrcpath}}
+default autoreconf.dir      {${worksrcpath}}
+default autoreconf.pre_args {--install}
 default autoconf.dir        {${worksrcpath}}
 default automake.dir        {${worksrcpath}}
 default xmkmf.cmd           xmkmf
@@ -259,12 +261,19 @@
 
 proc configure_main {args} {
     global [info globals]
-    global worksrcpath use_configure use_autoconf use_automake use_xmkmf
+    global worksrcpath use_configure use_autoreconf use_autoconf use_automake use_xmkmf
     global configure.env configure.pipe configure.cflags configure.cppflags configure.cxxflags configure.objcflags configure.ldflags configure.libs configure.fflags configure.f90flags configure.fcflags configure.classpath
     global configure.perl configure.python configure.ruby configure.install configure.awk configure.bison configure.pkg_config configure.pkg_config_path
     global configure.ccache configure.distcc configure.cc configure.cxx configure.cpp configure.objc configure.f77 configure.f90 configure.fc configure.javac configure.compiler prefix
     global os.platform os.major
     
+    if {[tbool use_autoreconf]} {
+        # XXX depend on autoreconf
+        if {[catch {command_exec autoreconf} result]} {
+            return -code error "[format [msgcat::mc "%s failure: %s"] autoreconf $result]"
+        }
+    }
+    
     if {[tbool use_automake]} {
         # XXX depend on automake
         if {[catch {command_exec automake} result]} {
@@ -285,6 +294,7 @@
             "darwin 7" { set configure.compiler gcc-3.3 }
             "darwin 8" { set configure.compiler gcc-4.0 }
             "darwin 9" { set configure.compiler gcc-4.0 }
+            "darwin 10" { set configure.compiler llvm-gcc-4.2 }
         }
     }
 
@@ -308,6 +318,12 @@
                 objc /usr/bin/gcc-4.2 \
                 cxx /usr/bin/g++-4.2 \
                 cpp /usr/bin/cpp-4.2 }
+        llvm-gcc-4.2 {
+            select_compiler "Mac OS X llvm-gcc 4.2" \
+                cc  /Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 \
+                objc /Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 \
+                cxx /Developer/usr/llvm-gcc-4.2/bin/llvm-g++-4.2 \
+                cpp /Developer/usr/llvm-gcc-4.2/bin/llvm-cpp-4.2 }
         apple-gcc-3.3 {
             select_compiler "MacPorts Apple gcc 3.3" \
                 cc  ${prefix}/bin/gcc-apple-3.3 \
@@ -373,7 +389,7 @@
                 f77 ${prefix}/bin/gfortran-mp-4.4 \
                 f90 ${prefix}/bin/gfortran-mp-4.4 }
         default {
-            ui_debug "No compiler collection selected explicitly" }
+            return -code error "Invalid value for configure.compiler" }
     }
     
     if {[tbool use_xmkmf]} {

Modified: branches/variant-descs-14482/base/src/port1.0/portextract.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/portextract.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/portextract.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -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/variant-descs-14482/base/src/port1.0/portfetch.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/portfetch.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/portfetch.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -46,7 +46,8 @@
 	master_sites.mirror_subdir patch_sites.mirror_subdir portname \
 	cvs.module cvs.root cvs.password cvs.date cvs.tag \
 	svn.url svn.tag \
-	git.url git.branch
+	git.url git.branch \
+	hg.url hg.tag
 	
 # XXX we use the command framework to buy us some useful features,
 # but this is not a user-modifiable command
@@ -79,6 +80,9 @@
 default git.dir {${workpath}}
 default git.branch {}
 
+default hg.dir {${workpath}}
+default hg.tag {tip}
+
 # Set distfiles
 default distfiles {[suffix $distname]}
 default dist_subdir {${portname}}
@@ -100,6 +104,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 +115,9 @@
             use_bzip2 {
                 set extract.suffix .tar.bz2
             }
+            use_lzma {
+                set extract.suffix .tar.lzma
+            }
             use_zip {
                 set extract.suffix .zip
             }
@@ -132,7 +140,8 @@
     switch -- "${fetch.type}" {
     	cvs			-
     	svn			-
-    	git			{ return "" }
+    	git			-
+    	hg			{ return "" }
     	standard	-
     	default 	{ return "${distname}${extract.suffix}" }
     }
@@ -361,10 +370,15 @@
                 }
             }
             if { ![info exists seen($host)] } {
-                set seen($host) yes
-                lappend hosts $host
-                ui_debug "Pinging $host..."
-                set fds($host) [open "|ping -noq -c3 -t3 $host | grep round-trip | cut -d / -f 5"]
+                if {[catch {set fds($host) [open "|ping -noq -c3 -t3 $host | grep round-trip | cut -d / -f 5"]}]} {
+                    ui_debug "Spawning ping for $host failed"
+                    # will end up after all hosts that were pinged OK but before those that didn't respond
+                    set pingtimes($host) 5000
+                } else {
+                    ui_debug "Pinging $host..."
+                    set seen($host) yes
+                    lappend hosts $host
+                }
             }
         }
 
@@ -529,8 +543,40 @@
     return 0
 }
 
+# Perform a mercurial fetch.
+proc hgfetch {args} {
+    global worksrcpath prefix_frozen
+    global hg.url hg.tag
+
+    # Look for the hg command.
+    set hg.cmd {}
+    foreach hgcmd "$prefix_frozen/bin/hg hg" {
+        if {[file executable $hgcmd]} {
+            set hg.cmd $hgcmd
+            break
+        }
+    }
+    if {${hg.cmd} == {}} {
+        ui_error "hg is required to fetch ${hg.url}"
+        ui_error "Please install the mercurial port before proceeding."
+        return -code error [msgcat::mc "Mercurial command not found"]
+    }
+
+    set cmdstring "${hg.cmd} clone --rev ${hg.tag} ${hg.url} ${worksrcpath} 2>&1"
+    ui_debug "Executing: $cmdstring"
+    if {[catch {system $cmdstring} result]} {
+        return -code error [msgcat::mc "Mercurial clone failed"]
+    }
+
+    if {[info exists patchfiles]} {
+        return [fetchfiles]
+    }
+
+    return 0
+}
+
 # Perform a standard fetch, assembling fetch urls from
-# the listed url varable and associated distfile
+# the listed url variable and associated distfile
 proc fetchfiles {args} {
 	global distpath all_dist_files UI_PREFIX fetch_urls
 	global fetch.user fetch.password fetch.use_epsv fetch.ignore_sslcert fetch.remote_time
@@ -662,7 +708,7 @@
 proc fetch_main {args} {
     global distname distpath all_dist_files fetch.type
 
-    # Check for files, download if neccesary
+    # Check for files, download if necessary
     if {![info exists all_dist_files] && "${fetch.type}" == "standard"} {
         return 0
     }
@@ -672,6 +718,7 @@
     	cvs		{ return [cvsfetch] }
     	svn		{ return [svnfetch] }
     	git		{ return [gitfetch] }
+    	hg		{ return [hgfetch] }
     	standard -
     	default	{ return [fetchfiles] }
     }

Modified: branches/variant-descs-14482/base/src/port1.0/portlint.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/portlint.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/portlint.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -39,9 +39,12 @@
 	"devel" \
 	"editors" \
 	"emulators" \
+	"erlang" \
+	"finance" \
 	"fuse" \
 	"games" \
 	"genealogy" \
+	"gis" \
 	"gnome" \
 	"gnustep" \
 	"graphics" \
@@ -55,6 +58,7 @@
 	"multimedia" \
 	"net" \
 	"news" \
+	"office" \
 	"palm" \
 	"perl" \
 	"print" \

Modified: branches/variant-descs-14482/base/src/port1.0/portmain.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/portmain.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/portmain.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -60,7 +60,7 @@
 default prefix /opt/local
 default x11prefix /usr/X11R6
 default applications_dir /Applications/MacPorts
-default frameworks_dir /Library/Frameworks
+default frameworks_dir {${prefix}/Library/Frameworks}
 default destdir destroot
 default destpath {${workpath}/${destdir}}
 # destroot is provided as a clearer name for the "destpath" variable

Modified: branches/variant-descs-14482/base/src/port1.0/portstartupitem.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/portstartupitem.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/portstartupitem.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -556,8 +556,8 @@
     set plist [open "${destroot}${itemdir}/${plistname}" w 0644]
     
     puts ${plist} "<?xml version='1.0' encoding='UTF-8'?>"
-    puts ${plist} "<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN"
-    puts ${plist} "http://www.apple.com/DTDs/PropertyList-1.0.dtd >"
+    puts ${plist} "<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\""
+    puts ${plist} "\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\" >"
     puts ${plist} "<plist version='1.0'>"
     puts ${plist} "<dict>"
     

Modified: branches/variant-descs-14482/base/src/port1.0/portutil.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/portutil.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/portutil.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -329,7 +329,7 @@
         parse_environment ${command}
     }
     if {[option macosx_deployment_target] ne ""} {
-        set ${command}.env_array("MACOSX_DEPLOYMENT_TARGET") [option macosx_deployment_target]
+        set ${command}.env_array(MACOSX_DEPLOYMENT_TARGET) [option macosx_deployment_target]
     }
     
     # Debug that.
@@ -605,7 +605,7 @@
     set ditem [variant_new "temp-variant"]
     
     foreach arg $args {
-        if {[regexp {(^[0-9]$)} $arg match result]} {
+        if {[regexp {(^[0-9]+$)} $arg match result]} {
             set release $result
         } elseif {[regexp {([a-zA-Z0-9]*)} $arg match result]} {
             set arch $result

Modified: branches/variant-descs-14482/base/src/port1.0/resources/fetch/mirror_sites.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/resources/fetch/mirror_sites.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/resources/fetch/mirror_sites.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -94,7 +94,6 @@
     http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/
     http://mirrors.kernel.org/gnu/
     http://www.mirrorservice.org/sites/ftp.gnu.org/gnu/
-    ftp://ftp.uu.net/archive/systems/gnu/
     ftp://ftp.funet.fi/pub/gnu/prep/
     ftp://ftp.kddlabs.co.jp/pub/gnu/gnu/
     ftp://ftp.kddlabs.co.jp/pub/gnu/old-gnu/
@@ -258,20 +257,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://mesh.dl.sourceforge.net/
+    http://puzzle.dl.sourceforge.net/
+    http://surfnet.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/
-    http://nchc.dl.sourceforge.net/
-    http://switch.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/
 }
 
 set portfetch::mirror_sites::sites(sourceforge_jp) {

Modified: branches/variant-descs-14482/base/src/port1.0/resources/group/Makefile
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/resources/group/Makefile	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/resources/group/Makefile	2008-10-19 00:26:55 UTC (rev 40953)
@@ -12,6 +12,7 @@
 distclean:
 
 test:
+	${TCLSH} tests/ruby-1.0.tcl
 
 install:
 	$(INSTALL) -d -o ${DSTUSR} -g ${DSTGRP} -m ${DSTMODE} ${INSTALLDIR}

Modified: branches/variant-descs-14482/base/src/port1.0/resources/group/gnustep-1.0.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/resources/group/gnustep-1.0.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/resources/group/gnustep-1.0.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -66,7 +66,7 @@
 #                               for the gnustep FilesystemLayout
 #
 #
-# default gnustep.cc            CC=gcc-dp-4.2
+# default gnustep.cc            CC=gcc-mp-4.2
 #
 # default use_configure         no
 # default configure.env         Sets the environment for the gnustep FilesystemLayout

Modified: branches/variant-descs-14482/base/src/port1.0/resources/group/python24-1.0.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/resources/group/python24-1.0.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/resources/group/python24-1.0.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -34,9 +34,9 @@
 
 set python.bin	${prefix}/bin/python2.4
 set python.lib	${prefix}/lib/libpython2.4.dylib
-set python.libdir ${prefix}/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4
+set python.libdir ${frameworks_dir}/Python.framework/Versions/2.4/lib/python2.4
 set python.pkgd	${prefix}/lib/python2.4/site-packages
-set python.include	${prefix}/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4
+set python.include	${frameworks_dir}/Python.framework/Versions/2.4/include/python2.4
 
 categories		python
 

Modified: branches/variant-descs-14482/base/src/port1.0/resources/group/python30-1.0.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/resources/group/python30-1.0.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/resources/group/python30-1.0.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -32,7 +32,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
-set prefix ${prefix}/Library/Frameworks/Python.framework/Versions/3.0
+set prefix ${frameworks_dir}/Python.framework/Versions/3.0
 
 set python.bin	${prefix}/bin/python3.0
 set python.lib	${prefix}/lib/libpython3.0.dylib

Modified: branches/variant-descs-14482/base/src/port1.0/resources/group/ruby-1.0.tcl
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/resources/group/ruby-1.0.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/resources/group/ruby-1.0.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -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]} {

Deleted: branches/variant-descs-14482/base/src/port1.0/resources/group/tests/ruby-1.0.tcl
===================================================================
--- trunk/base/src/port1.0/resources/group/tests/ruby-1.0.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/port1.0/resources/group/tests/ruby-1.0.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -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/variant-descs-14482/base/src/port1.0/resources/group/tests/ruby-1.0.tcl (from rev 40952, trunk/base/src/port1.0/resources/group/tests/ruby-1.0.tcl)
===================================================================
--- branches/variant-descs-14482/base/src/port1.0/resources/group/tests/ruby-1.0.tcl	                        (rev 0)
+++ branches/variant-descs-14482/base/src/port1.0/resources/group/tests/ruby-1.0.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -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
+		}
+	}
+}

Modified: branches/variant-descs-14482/base/src/programs/daemondo/main.c
===================================================================
--- branches/variant-descs-14482/base/src/programs/daemondo/main.c	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/programs/daemondo/main.c	2008-10-19 00:26:55 UTC (rev 40953)
@@ -249,7 +249,7 @@
         "\n"
         ;
         
-    printf(helpText);
+    printf("%s", helpText);
 }
 
 

Modified: branches/variant-descs-14482/base/src/registry1.0/receipt_flat.tcl
===================================================================
--- branches/variant-descs-14482/base/src/registry1.0/receipt_flat.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/registry1.0/receipt_flat.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -763,6 +763,28 @@
 	set dep_map $new_map
 }
 
+# remove duplicate entries from the dep_map
+# (could be put there by older versions of MacPorts)
+proc clean_dep_map {args} {
+    variable dep_map
+    set new_map [list]
+    set oldlen [llength $dep_map]
+    ui_debug "Current dep_map has $oldlen entries"
+    foreach de $dep_map {
+        if {[lsearch -exact $new_map $de] == -1} {
+            lappend new_map $de
+        } else {
+            ui_debug "Removing $de from dep_map"
+        }
+    }
+    set dep_map $new_map
+    
+    set newlen [llength $dep_map]
+    set diff [expr $oldlen - $newlen]
+    ui_debug "New dep_map has $newlen entries"
+    ui_info "Removed $diff duplicate entries from the dependency map"
+}
+
 proc write_dep_map {args} {
 	global macports::registry.path
 	variable dep_map

Modified: branches/variant-descs-14482/base/src/registry1.0/registry.tcl
===================================================================
--- branches/variant-descs-14482/base/src/registry1.0/registry.tcl	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/registry1.0/registry.tcl	2008-10-19 00:26:55 UTC (rev 40953)
@@ -370,6 +370,11 @@
 	return [${macports::registry.format}::unregister_dep $dep $type $port]
 }
 
+proc clean_dep_map {args} {
+    global macports::registry.format
+    return [${macports::registry.format}::clean_dep_map $args]
+}
+
 proc write_dep_map {args} {
 	global macports::registry.format
 	return [${macports::registry.format}::write_dep_map $args]

Modified: branches/variant-descs-14482/base/src/registry2.0/Makefile
===================================================================
--- branches/variant-descs-14482/base/src/registry2.0/Makefile	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/registry2.0/Makefile	2008-10-19 00:26:55 UTC (rev 40953)
@@ -7,7 +7,6 @@
 
 SHLIB_NAME= registry${SHLIB_SUFFIX}
 INSTALLDIR= ${DESTDIR}${datadir}/macports/Tcl/registry2.0
-export MACOSX_DEPLOYMENT_TARGET=10.3
 
 include ../../Mk/macports.autoconf.mk
 include ../../Mk/macports.tea.mk

Modified: branches/variant-descs-14482/base/src/registry2.0/entry.c
===================================================================
--- branches/variant-descs-14482/base/src/registry2.0/entry.c	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/registry2.0/entry.c	2008-10-19 00:26:55 UTC (rev 40953)
@@ -66,6 +66,7 @@
     entry->proc = NULL;
 }
 
+/*
 static int obj_to_entry(Tcl_Interp* interp, reg_entry** entry, Tcl_Obj* obj,
         reg_error* errPtr) {
     reg_entry* result = get_entry(interp, Tcl_GetString(obj), errPtr);
@@ -77,7 +78,6 @@
     }
 }
 
-/*
 static int list_obj_to_entry(Tcl_Interp* interp, reg_entry*** entries,
         const Tcl_Obj** objv, int objc, reg_error* errPtr) {
     return recast(interp, (cast_function*)obj_to_entry, NULL, (void***)entries,

Modified: branches/variant-descs-14482/base/src/registry2.0/registry.c
===================================================================
--- branches/variant-descs-14482/base/src/registry2.0/registry.c	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/registry2.0/registry.c	2008-10-19 00:26:55 UTC (rev 40953)
@@ -107,12 +107,12 @@
     reg_error error;
     if (((reg_registry*)reg)->status & reg_attached) {
         if (!registry_tcl_detach(interp, (reg_registry*)reg, &error)) {
-            fprintf(stderr, error.description);
+            fprintf(stderr, "%s", error.description);
             reg_error_destruct(&error);
         }
     }
     if (!reg_close((reg_registry*)reg, &error)) {
-        fprintf(stderr, error.description);
+        fprintf(stderr, "%s", error.description);
         reg_error_destruct(&error);
     }
 }

Modified: branches/variant-descs-14482/base/src/tclobjc1.0/Makefile.in
===================================================================
--- branches/variant-descs-14482/base/src/tclobjc1.0/Makefile.in	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/tclobjc1.0/Makefile.in	2008-10-19 00:26:55 UTC (rev 40953)
@@ -1,7 +1,6 @@
 OBJS=		tclobjc.o tclobjc_types.o MPMethodSignatureExtensions.o objc_encoding.o
 SHLIB_NAME=	tclobjc${SHLIB_SUFFIX}
 INSTALLDIR=	${DESTDIR}${datadir}/macports/Tcl/tclobjc1.0
-export MACOSX_DEPLOYMENT_TARGET=10.3
 
 include ../../Mk/macports.autoconf.mk
 include ../../Mk/macports.tea.mk

Modified: branches/variant-descs-14482/base/src/tclobjc1.0/objc_encoding.m
===================================================================
--- branches/variant-descs-14482/base/src/tclobjc1.0/objc_encoding.m	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/tclobjc1.0/objc_encoding.m	2008-10-19 00:26:55 UTC (rev 40953)
@@ -36,6 +36,7 @@
 /* Required by glibc for asprintf() */
 #define _GNU_SOURCE
 
+#include <stdint.h>
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
@@ -55,7 +56,7 @@
 			*objPtr = Tcl_NewStringObj((char *) val, -1);
 			return (TCL_OK);
 		case _C_INT:
-			*objPtr = Tcl_NewIntObj((int) val);
+			*objPtr = Tcl_NewIntObj((int)(intptr_t)val);
 			return (TCL_OK);
 		case _C_ID:
 			*objPtr = TclObjC_NewIdObj(val);

Modified: branches/variant-descs-14482/base/src/tclobjc1.0/tclobjc.h
===================================================================
--- branches/variant-descs-14482/base/src/tclobjc1.0/tclobjc.h	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/tclobjc1.0/tclobjc.h	2008-10-19 00:26:55 UTC (rev 40953)
@@ -2,7 +2,7 @@
  * TclObjC.m
  *
  * Authors:
- * 	Keven Van Vechten <kvv at apple.com>
+ * 	Kevin Van Vechten <kvv at apple.com>
  * 	Landon J. Fuller  <landonf at macports.org>
  *
  * Copyright (c) 2003 Kevin Van Vechten <kvv at apple.com>

Modified: branches/variant-descs-14482/base/src/tclobjc1.0/tclobjc.m
===================================================================
--- branches/variant-descs-14482/base/src/tclobjc1.0/tclobjc.m	2008-10-18 23:37:46 UTC (rev 40952)
+++ branches/variant-descs-14482/base/src/tclobjc1.0/tclobjc.m	2008-10-19 00:26:55 UTC (rev 40953)
@@ -114,7 +114,7 @@
             if (Tcl_GetLongFromObj(interp, objv[i], &value) == TCL_OK) {
                 if (value > UINT_MAX || value < 0) {
                     NSString *str = [NSString stringWithFormat:@"Unsigned integer argument invalid: %ld", value];
-                    Tcl_Obj *tcl_result = Tcl_NewStringObj([str cString], -1);
+                    Tcl_Obj *tcl_result = Tcl_NewStringObj([str UTF8String], -1);
                     Tcl_SetObjResult(interp, tcl_result);
                     result = TCL_ERROR;
                 } else {
@@ -129,7 +129,7 @@
 				[invocation setArgument:&buf atIndex:arg_num];
 		} else {
 			NSString* str = [NSString stringWithFormat:@"unexpected argument type %s at %s:%d", arg_type, __FILE__, __LINE__];
-			Tcl_Obj* tcl_result = Tcl_NewStringObj([str cString], -1);
+			Tcl_Obj* tcl_result = Tcl_NewStringObj([str UTF8String], -1);
 			Tcl_SetObjResult(interp, tcl_result);
 			result = TCL_ERROR;
 			break;
@@ -140,7 +140,7 @@
 	if (result == TCL_OK) {
 		Tcl_Obj *tcl_result;
 		[invocation invoke];
-		fprintf(stderr, "result size = %d\n", [signature methodReturnLength]);
+		fprintf(stderr, "result size = %lu\n", (unsigned long)[signature methodReturnLength]);
 		void* result_ptr;
 		[invocation getReturnValue:&result_ptr];        
 		
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20081018/f4f2262f/attachment-0001.html 


More information about the macports-changes mailing list