Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Aug 2009 17:26:59 +0300
From:      Anatoly Borodin <anatoly.borodin@gmail.com>
To:        miwi@freebsd.org
Cc:        python@freebsd.org
Subject:   Re: ports/137764: devel/py-setuptools cannot be installed
Message-ID:  <e1e1b0290908140726t31e3f5d9l8dfdb598e982fed1@mail.gmail.com>
In-Reply-To: <200908141345.n7EDj3m0050920@freefall.freebsd.org>
References:  <200908141345.n7EDj3m0050920@freefall.freebsd.org>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
Hi!

On Fri, Aug 14, 2009 at 16:45, <miwi@freebsd.org> wrote:
> I can't confirm this problem, is your portstree 100% correct? all
> workdirs was befor cleaned?

The workdirs have been cleaned. The portstree differs a little from
the ports of 12 August - some local patches and future commits, not
related to python IMHO. The diff is attached.

I'll try to reinstall lang/python26 and write if it helps.

--
Mit freundlichen Grüßen,
Anatoly Borodin
business: anatoly.borodin@gmail.com
privat: fractalizator@gmail.com

[-- Attachment #2 --]
diff --git a/audio/xmms2/Makefile b/audio/xmms2/Makefile
index d42ccc3..963afbd 100644
--- a/audio/xmms2/Makefile
+++ b/audio/xmms2/Makefile
@@ -308,7 +308,7 @@ PLIST_SUB+=	MDNS_AVAHI="@comment "
 BROKEN=		You may choose either MDNS_APPLE or MDNS_AVAHI, but not both
 .endif
 EXCLUDE+=	--without-optionals="avahi"
-LIB_DEPENDS+=	dns_sd:${PORTSDIR}/net/mDNSResponder
+LIB_DEPENDS+=	dns_sd:${PORTSDIR}/net/avahi-libdns
 PLIST_SUB+=	MDNS_APPLE=""
 .else
 EXCLUDE+=	--without-optionals="dns_sd"
diff --git a/databases/sqlrelay/Makefile b/databases/sqlrelay/Makefile
index 53e0322..959196a 100644
--- a/databases/sqlrelay/Makefile
+++ b/databases/sqlrelay/Makefile
@@ -44,6 +44,8 @@ OPTIONS=	MSQL "Build MSQL connection" off \
 		INTERBASE "Build Interbase connection" off \
 		GTK "Build GTK configuration tool" off
 
+WANT_GNOME=	yes
+
 .include <bsd.port.pre.mk>
 
 .if defined(WITH_SQLITE) && ${WITH_SQLITE:L} != no
diff --git a/devel/cvs2darcs/Makefile b/devel/cvs2darcs/Makefile
index 44d9661..5989519 100644
--- a/devel/cvs2darcs/Makefile
+++ b/devel/cvs2darcs/Makefile
@@ -14,7 +14,7 @@ MAINTAINER=	haskell@FreeBSD.org
 COMMENT=	Convert CVS module to darcs repository
 
 BUILD_DEPENDS=	darcs:${PORTSDIR}/devel/darcs \
-		cvsps:${PORTSDIR}/devel/cvsps \
+		cvsps:${PORTSDIR}/devel/cvsps-devel \
 		${SITE_PERL}/HTTP/Date.pm:${PORTSDIR}/www/p5-libwww
 RUN_DEPENDS=	${BUILD_DEPENDS}
 
diff --git a/devel/cvsps-devel/files/patch-Makefile b/devel/cvsps-devel/files/patch-Makefile
new file mode 100644
index 0000000..1cee42b
--- /dev/null
+++ b/devel/cvsps-devel/files/patch-Makefile
@@ -0,0 +1,51 @@
+--- Makefile.orig	2008-03-01 06:52:22.000000000 +0200
++++ Makefile	2008-03-01 06:51:13.000000000 +0200
+@@ -1,8 +1,8 @@
+ MAJOR=2
+ MINOR=1
+ CC?=gcc
+-CFLAGS?=-g -O2 -Wall 
+-CFLAGS+=-I. -DVERSION=\"$(MAJOR).$(MINOR)\"
++CFLAGS?=-g -O2 -Wall
++CPPFLAGS?=-I. -DVERSION=\"$(MAJOR).$(MINOR)\"
+ prefix?=/usr/local
+ OBJS=\
+ 	cbtcommon/debug.o\
+@@ -20,6 +20,9 @@
+ 
+ all: cvsps
+ 
++deps:
++	makedepend -Y -I. *.c cbtcommon/*.c
++
+ cvsps: $(OBJS)
+ 	$(CC) -o cvsps $(OBJS) -lz
+ 
+@@ -33,3 +36,27 @@
+ 	rm -f cvsps *.o cbtcommon/*.o core
+ 
+ .PHONY: install clean
++# DO NOT DELETE
++
++cache.o: ./cbtcommon/hash.h ./cbtcommon/list.h ./cbtcommon/inline.h
++cache.o: ./cbtcommon/debug.h cache.h cvsps_types.h cvsps.h util.h
++cap.o: ./cbtcommon/debug.h ./cbtcommon/inline.h ./cbtcommon/text_util.h cap.h
++cap.o: cvs_direct.h
++cvs_direct.o: ./cbtcommon/debug.h ./cbtcommon/inline.h
++cvs_direct.o: ./cbtcommon/text_util.h ./cbtcommon/tcpsocket.h
++cvs_direct.o: ./cbtcommon/sio.h cvs_direct.h util.h
++cvsps.o: ./cbtcommon/hash.h ./cbtcommon/list.h ./cbtcommon/inline.h
++cvsps.o: ./cbtcommon/list.h ./cbtcommon/text_util.h ./cbtcommon/debug.h
++cvsps.o: ./cbtcommon/rcsid.h cache.h cvsps_types.h cvsps.h util.h stats.h
++cvsps.o: cap.h cvs_direct.h list_sort.h
++list_sort.o: list_sort.h ./cbtcommon/list.h
++stats.o: ./cbtcommon/hash.h ./cbtcommon/list.h ./cbtcommon/inline.h
++stats.o: cvsps_types.h cvsps.h
++util.o: ./cbtcommon/debug.h ./cbtcommon/inline.h util.h
++cbtcommon/debug.o: cbtcommon/debug.h ./cbtcommon/inline.h cbtcommon/rcsid.h
++cbtcommon/hash.o: cbtcommon/debug.h ./cbtcommon/inline.h cbtcommon/hash.h
++cbtcommon/hash.o: ./cbtcommon/list.h cbtcommon/rcsid.h
++cbtcommon/sio.o: cbtcommon/sio.h cbtcommon/rcsid.h
++cbtcommon/tcpsocket.o: cbtcommon/tcpsocket.h cbtcommon/debug.h
++cbtcommon/tcpsocket.o: ./cbtcommon/inline.h cbtcommon/rcsid.h
++cbtcommon/text_util.o: cbtcommon/text_util.h cbtcommon/rcsid.h
diff --git a/devel/cvsps-devel/files/patch-cache.c b/devel/cvsps-devel/files/patch-cache.c
new file mode 100644
index 0000000..a935a46
--- /dev/null
+++ b/devel/cvsps-devel/files/patch-cache.c
@@ -0,0 +1,209 @@
+--- cache.c.orig	2008-03-01 06:52:22.000000000 +0200
++++ cache.c	2008-03-01 06:51:31.000000000 +0200
+@@ -23,7 +23,7 @@
+ #define CACHE_DESCR_BOUNDARY "-=-END CVSPS DESCR-=-\n"
+ 
+ /* change this when making the on-disk cache-format invalid */
+-static int cache_version = 1;
++static int cache_version = 2;
+ 
+ /* the tree walk API pretty much requries use of globals :-( */
+ static FILE * cache_fp;
+@@ -108,10 +108,19 @@
+     int tag_flags = 0;
+     char branchbuff[LOG_STR_MAX] = "";
+     int branch_add = 0;
+-    char logbuff[LOG_STR_MAX] = "";
++    int logbufflen = LOG_STR_MAX + 1;
++    char * logbuff = malloc(logbufflen);
+     time_t cache_date = -1;
+     int read_version;
+ 
++    if (logbuff == NULL)
++    {
++	debug(DEBUG_SYSERROR, "could not malloc %d bytes for logbuff in read_cache", logbufflen);
++	exit(1);
++    }
++
++    logbuff[0] = 0;
++
+     if (!(fp = cache_open("r")))
+ 	goto out;
+ 
+@@ -299,8 +308,19 @@
+ 	    else
+ 	    {
+ 		/* Make sure we have enough in the buffer */
+-		if (strlen(logbuff)+strlen(buff)<LOG_STR_MAX)
+-		    strcat(logbuff, buff);
++		int len = strlen(buff);
++		if (strlen(logbuff) + len >= LOG_STR_MAX)
++		{
++		    logbufflen += (len >= LOG_STR_MAX ? (len+1) : LOG_STR_MAX);
++		    char * newlogbuff = realloc(logbuff, logbufflen);
++		    if (newlogbuff == NULL)
++		    {
++			debug(DEBUG_SYSERROR, "could not realloc %d bytes for logbuff in read_cache", logbufflen);
++			exit(1);
++		    }
++		    logbuff = newlogbuff;
++		}
++		strcat(logbuff, buff);
+ 	    }
+ 	    break;
+ 	case CACHE_NEED_PS_MEMBERS:
+@@ -332,6 +352,7 @@
+  out_close:
+     fclose(fp);
+  out:
++    free(logbuff);
+     return cache_date;
+ }
+ 
+@@ -344,7 +365,24 @@
+     CR_BRANCH_POINT
+ };
+ 
+-static void parse_cache_revision(PatchSetMember * psm, const char * p_buff)
++void get_filename(char* filename, const char* data)
++{
++    char* special;
++    while ( (special = strchr(data, '\\')) ) {
++	int len = special - data;
++	memcpy (filename, data, len);
++
++	/* copy special char, and skip backslash */
++	filename[len] = data[len+1];
++	filename[len+1] = '\0';
++	filename += len + 1;
++	data += len + 2;
++    };
++    /* remainder: text after last protected char */
++    strcpy (filename, data);
++}
++
++static void parse_cache_revision(PatchSetMember * psm, const char * buff)
+ {
+     /* The format used to generate is:
+      * "file:%s; pre_rev:%s; post_rev:%s; dead:%d; branch_point:%d\n"
+@@ -354,35 +392,36 @@
+     char post[REV_STR_MAX];
+     int dead = 0;
+     int bp = 0;
+-    char buff[BUFSIZ];
+     int state = CR_FILENAME;
+-    const char *s;
+-    char * p = buff;
+-
+-    strcpy(buff, p_buff);
+-
+-    while ((s = strsep(&p, ";")))
+-    {
+-	char * c = strchr(s, ':');
+-
+-	if (!c)
+-	{
+-	    debug(DEBUG_APPERROR, "invalid cache revision line '%s'|'%s'", p_buff, s);
+-	    exit(1);
+-	}
+-
+-	*c++ = 0;
++    const char *sep;
++    char * p;
++    char * c;
++
++    for (p = buff, sep = buff;			  /* just ensure sep is non-NULL */
++	 (sep != NULL) && (c = strchr(p, ':'));
++	 p = sep + 1)
++    {
++	size_t len;
++	sep = strchr(c, ';');
++	c++;
++
++	if (sep != NULL)
++	    len = sep - c;
++	else /* last field in the cache line */
++	    len = strlen(c);
+ 
+ 	switch(state)
+ 	{
+ 	case CR_FILENAME:
+-	    strcpy(filename, c);
++	    get_filename(filename, c);
+ 	    break;
+ 	case CR_PRE_REV:
+-	    strcpy(pre, c);
++	    memcpy(pre, c, len);
++	    pre[len] = '\0';
+ 	    break;
+ 	case CR_POST_REV:
+-	    strcpy(post, c);
++	    memcpy(post, c, len);
++	    post[len] = '\0';
+ 	    break;
+ 	case CR_DEAD:
+ 	    dead = atoi(c);
+@@ -488,6 +527,28 @@
+     dump_patch_set(cache_fp, ps);
+ }
+ 
++/*
++ * Outputs a filename with semicolons backslash-quoted
++ */
++static void dump_filename(FILE * fp, const char* filename)
++{
++    size_t len;
++    while(1) {
++	len = strcspn(filename, ";\\");
++
++	if (fwrite (filename, 1, len, fp) != len) {
++	    debug(DEBUG_APPERROR, "short write into cache");
++	    exit(1);
++	}
++	if (filename[len] == '\0')
++	    break;
++
++	/* quote and skip */
++	putc('\\', fp);	putc(filename[len], fp);
++	filename += len + 1;
++    };
++}
++
+ static void dump_patch_set(FILE * fp, PatchSet * ps)
+ {
+     struct list_head * next = ps->members.next;
+@@ -496,8 +557,18 @@
+     fprintf(fp, "patchset: %d\n", ps_counter);
+     fprintf(fp, "date: %d\n", (int)ps->date);
+     fprintf(fp, "author: %s\n", ps->author);
+-    fprintf(fp, "tag: %s\n", ps->tag ? ps->tag : "");
+-    fprintf(fp, "tag_flags: %d\n", ps->tag_flags);
++    {
++	fprintf(fp, "tags:");
++	struct list_head * tag;
++	for (tag = ps->tags.next; tag != &ps->tags; tag = tag->next)
++	{
++            TagName* tagname = list_entry (tag, TagName, link);
++
++	    fprintf(fp, " %s %d%s", tagname->name, tagname->flags,
++		    (tag->next == &ps->tags) ? "" : ",");
++	}
++	fprintf(fp, "\n");
++    }
+     fprintf(fp, "branch: %s\n", ps->branch);
+     fprintf(fp, "branch_add: %d\n", ps->branch_add);
+     fprintf(fp, "descr:\n%s", ps->descr); /* descr is guaranteed to end with LF */
+@@ -514,9 +585,10 @@
+ 	    bp = 0;
+ 
+ 	fflush(fp);
+-    
+-	fprintf(fp, "file:%s; pre_rev:%s; post_rev:%s; dead:%d; branch_point:%d\n", 
+-		psm->file->filename, 
++
++	fputs ("file:", fp);
++	dump_filename (fp, psm->file->filename);
++	fprintf(fp, "; pre_rev:%s; post_rev:%s; dead:%d; branch_point:%d\n", 
+ 		psm->pre_rev ? psm->pre_rev->rev : "INITIAL", psm->post_rev->rev, 
+ 		psm->post_rev->dead, bp);
+ 	next = next->next;
diff --git a/devel/cvsps-devel/files/patch-cap.c b/devel/cvsps-devel/files/patch-cap.c
new file mode 100644
index 0000000..175c83d
--- /dev/null
+++ b/devel/cvsps-devel/files/patch-cap.c
@@ -0,0 +1,24 @@
+--- cap.c.orig	2008-03-01 06:52:22.000000000 +0200
++++ cap.c	2008-03-01 06:51:13.000000000 +0200
+@@ -121,11 +121,19 @@
+ 	return 0;
+     }
+ 
++    /* We might have encountered a FreeBSD system which
++     * has a mucked up version string of:
++     *  Concurrent Versions System (CVS) '1.11.17'-FreeBSD (client/server)
++     * so re-test just in case
++     */
+     p += skip;
+     if (sscanf(p, "%d.%d.%d", &major, &minor, &extra) != 3)
+     {	
+-	debug(DEBUG_APPMSG1, "WARNING: malformed CVS version: %s", str);
+-	return 0;
++        if (sscanf(p, "'%d.%d.%d'", &major, &minor, &extra) != 3)
++	{
++		debug(DEBUG_APPMSG1, "WARNING: malformed CVS version: %s", str);
++		return 0;
++	}
+     }
+ 
+     return (major > req_major || 
diff --git a/devel/cvsps-devel/files/patch-cbtcommon-tcpsocket.c b/devel/cvsps-devel/files/patch-cbtcommon-tcpsocket.c
new file mode 100644
index 0000000..368c310
--- /dev/null
+++ b/devel/cvsps-devel/files/patch-cbtcommon-tcpsocket.c
@@ -0,0 +1,26 @@
+--- cbtcommon/tcpsocket.c.orig	2008-03-01 06:52:22.000000000 +0200
++++ cbtcommon/tcpsocket.c	2008-03-01 06:51:13.000000000 +0200
+@@ -185,20 +185,20 @@
+ int
+ convert_address(long *dest, const char *addr_str)
+ {
+-#ifdef LINUX
++#ifdef __linux__
+   struct in_addr ip;
+ #endif
+   int retval = 0;
+   char errstr[256];
+   
+   /* first try converting "numbers and dots" notation */
+-#ifdef LINUX
++#ifdef __linux__
+   if ( inet_aton(addr_str, &ip) )
+   {
+     memcpy(dest, &ip.s_addr, sizeof(ip.s_addr));
+   }
+ #else
+-  if ( (*dest = inet_addr(addr_str)) != -1)
++  if ( (*dest = inet_addr(addr_str)) != INADDR_NONE)
+   {
+     /* nothing */
+   }
diff --git a/devel/cvsps-devel/files/patch-cvsps.1 b/devel/cvsps-devel/files/patch-cvsps.1
new file mode 100644
index 0000000..a1587e7
--- /dev/null
+++ b/devel/cvsps-devel/files/patch-cvsps.1
@@ -0,0 +1,11 @@
+--- cvsps.1.orig	2008-03-01 06:52:22.000000000 +0200
++++ cvsps.1	2008-03-01 06:51:13.000000000 +0200
+@@ -83,7 +83,7 @@
+ disable the use of rlog internally.  Note: rlog is
+ required for stable PatchSet numbering.  Use with care.
+ .TP
+-.B \-\-diffs\-opts <option string>
++.B \-\-diff\-opts <option string>
+ send a custom set of options to diff, for example to increase
+ the number of context lines, or change the diff format.
+ .TP
diff --git a/devel/cvsps-devel/files/patch-cvsps.c.new b/devel/cvsps-devel/files/patch-cvsps.c.new
new file mode 100644
index 0000000..1bdf769
--- /dev/null
+++ b/devel/cvsps-devel/files/patch-cvsps.c.new
@@ -0,0 +1,710 @@
+--- cvsps.c.orig	2008-03-01 06:52:22.000000000 +0200
++++ cvsps.c	2008-03-01 06:51:37.000000000 +0200
+@@ -39,7 +39,8 @@
+ 
+ enum
+ {
+-    NEED_FILE,
++    NEED_RCS_FILE,
++    NEED_WORKING_FILE,
+     NEED_SYMS,
+     NEED_EOS,
+     NEED_START_LOG,
+@@ -81,9 +82,12 @@
+ static int do_write_cache;
+ static int statistics;
+ static const char * test_log_file;
++/* branch_heads actually store branch "roots": [char *] to [PatchSet *]
++ * It's only used by the track_branch_ancestry option. */
+ static struct hash_table * branch_heads;
+ static struct list_head all_patch_sets;
+ static struct list_head collisions;
++static struct list_head all_branches;
+ 
+ /* settable via options */
+ static int timestamp_fuzz_factor = 300;
+@@ -117,7 +121,9 @@
+ static int parse_rc();
+ static void load_from_cvs();
+ static void init_paths();
+-static CvsFile * parse_file(const char *);
++static CvsFile * build_file_by_name(const char *);
++static CvsFile * parse_rcs_file(const char *);
++static CvsFile * parse_working_file(const char *);
+ static CvsFileRevision * parse_revision(CvsFile * file, char * rev_str);
+ static void assign_pre_revision(PatchSetMember *, CvsFileRevision * rev);
+ static void check_print_patch_set(PatchSet *);
+@@ -143,8 +149,10 @@
+ static int check_rev_funk(PatchSet *, CvsFileRevision *);
+ static CvsFileRevision * rev_follow_branch(CvsFileRevision *, const char *);
+ static int before_tag(CvsFileRevision * rev, const char * tag);
+-static void determine_branch_ancestor(PatchSet * ps, PatchSet * head_ps);
++static void determine_branch_ancestor(const PatchSet * ps, PatchSet * head_ps);
+ static void handle_collisions();
++static void find_branch_parent(PatchSet *ps);
++static int is_ancestor_rev(const char *rev1, const char *rev2);
+ 
+ int main(int argc, char *argv[])
+ {
+@@ -181,6 +189,7 @@
+     branch_heads = create_hash_table(1023);
+     INIT_LIST_HEAD(&all_patch_sets);
+     INIT_LIST_HEAD(&collisions);
++    INIT_LIST_HEAD(&all_branches);
+ 
+     /* this parses some of the CVS/ files, and initializes
+      * the repository_path and other variables 
+@@ -260,12 +269,13 @@
+ {
+     FILE * cvsfp;
+     char buff[BUFSIZ];
+-    int state = NEED_FILE;
++    int state = NEED_RCS_FILE;
+     CvsFile * file = NULL;
+     PatchSetMember * psm = NULL;
+     char datebuff[20];
+     char authbuff[AUTH_STR_MAX];
+-    char logbuff[LOG_STR_MAX + 1];
++    int logbufflen = LOG_STR_MAX + 1;
++    char * logbuff = malloc(logbufflen);
+     int loglen = 0;
+     int have_log = 0;
+     char cmd[BUFSIZ];
+@@ -273,6 +283,12 @@
+     char use_rep_buff[PATH_MAX];
+     char * ltype;
+ 
++    if (logbuff == NULL)
++    {
++	debug(DEBUG_SYSERROR, "could not malloc %d bytes for logbuff in load_from_cvs", logbufflen);
++	exit(1);
++    }
++
+     if (!no_rlog && !test_log_file && cvs_check_cap(CAP_HAVE_RLOG))
+     {
+ 	ltype = "rlog";
+@@ -298,12 +314,12 @@
+ 	 * which is necessary to fill in the pre_rev stuff for a 
+ 	 * PatchSetMember
+ 	 */
+-	snprintf(cmd, BUFSIZ, "cvs %s %s %s -d '%s<;%s' %s", compress_arg, norc, ltype, date_str, date_str, use_rep_buff);
++	snprintf(cmd, BUFSIZ, "cvs %s %s -q %s -d '%s<;%s' %s", compress_arg, norc, ltype, date_str, date_str, use_rep_buff);
+     }
+     else
+     {
+ 	date_str[0] = 0;
+-	snprintf(cmd, BUFSIZ, "cvs %s %s %s %s", compress_arg, norc, ltype, use_rep_buff);
++	snprintf(cmd, BUFSIZ, "cvs %s %s -q %s %s", compress_arg, norc, ltype, use_rep_buff);
+     }
+     
+     debug(DEBUG_STATUS, "******* USING CMD %s", cmd);
+@@ -339,10 +355,26 @@
+ 
+ 	switch(state)
+ 	{
+-	case NEED_FILE:
+-	    if (strncmp(buff, "RCS file", 8) == 0 && (file = parse_file(buff)))
++	case NEED_RCS_FILE:
++	    if (strncmp(buff, "RCS file", 8) == 0) {
++              if ((file = parse_rcs_file(buff)) != NULL)
+ 		state = NEED_SYMS;
++              else
++                state = NEED_WORKING_FILE;
++            }
+ 	    break;
++	case NEED_WORKING_FILE:
++	    if (strncmp(buff, "Working file", 12) == 0) {
++              if ((file = parse_working_file(buff)))
++		state = NEED_SYMS;
++              else
++                state = NEED_RCS_FILE;
++		break;
++	    } else {
++              // Working file come just after RCS file. So reset state if it was not found
++              state = NEED_RCS_FILE;
++            }
++            break;
+ 	case NEED_SYMS:
+ 	    if (strncmp(buff, "symbolic names:", 15) == 0)
+ 		state = NEED_EOS;
+@@ -471,7 +503,7 @@
+ 		have_log = 0;
+ 		psm = NULL;
+ 		file = NULL;
+-		state = NEED_FILE;
++		state = NEED_RCS_FILE;
+ 	    }
+ 	    else
+ 	    {
+@@ -480,24 +512,22 @@
+ 		 */
+ 		if (have_log || !is_revision_metadata(buff))
+ 		{
+-		    /* if the log buffer is full, that's it.  
+-		     * 
+-		     * Also, read lines (fgets) always have \n in them
+-		     * which we count on.  So if truncation happens,
+-		     * be careful to put a \n on.
+-		     * 
+-		     * Buffer has LOG_STR_MAX + 1 for room for \0 if
+-		     * necessary
+-		     */
+-		    if (loglen < LOG_STR_MAX)
++		    /* If the log buffer is full, try to reallocate more. */
++		    if (loglen < logbufflen)
+ 		    {
+ 			int len = strlen(buff);
+ 			
+-			if (len >= LOG_STR_MAX - loglen)
++			if (len >= logbufflen - loglen)
+ 			{
+-			    debug(DEBUG_APPMSG1, "WARNING: maximum log length exceeded, truncating log");
+-			    len = LOG_STR_MAX - loglen;
+-			    buff[len - 1] = '\n';
++			    debug(DEBUG_STATUS, "reallocating logbufflen to %d bytes for file %s", logbufflen, file->filename);
++			    logbufflen += (len >= LOG_STR_MAX ? (len+1) : LOG_STR_MAX);
++			    char * newlogbuff = realloc(logbuff, logbufflen);
++			    if (newlogbuff == NULL)
++			    {
++				debug(DEBUG_SYSERROR, "could not realloc %d bytes for logbuff in load_from_cvs", logbufflen);
++				exit(1);
++			    }
++			    logbuff = newlogbuff;
+ 			}
+ 
+ 			debug(DEBUG_STATUS, "appending %s to log", buff);
+@@ -524,7 +554,7 @@
+ 	exit(1);
+     }
+ 
+-    if (state != NEED_FILE)
++    if (state != NEED_RCS_FILE)
+     {
+ 	debug(DEBUG_APPERROR, "Error: Log file parsing error. (%d)  Use -v to debug", state);
+ 	exit(1);
+@@ -1038,8 +1068,8 @@
+      *
+      * NOTE: because of some bizarre 'feature' in cvs, when 'rlog' is used
+      * (instead of log) it gives the 'real' RCS file path, which can be different
+-     * from the 'nominal' repository path because of symlinks in the server and 
+-     * the like.  See also the 'parse_file' routine
++     * from the 'nominal' repository path because of symlinks in the server and
++     * the like.  See also the 'parse_rcs_file' routine
+      */
+     strip_path_len = snprintf(strip_path, PATH_MAX, "%s/%s/", p, repository_path);
+ 
+@@ -1052,9 +1082,8 @@
+     debug(DEBUG_STATUS, "strip_path: %s", strip_path);
+ }
+ 
+-static CvsFile * parse_file(const char * buff)
++static CvsFile * parse_rcs_file(const char * buff)
+ {
+-    CvsFile * retval;
+     char fn[PATH_MAX];
+     int len = strlen(buff + 10);
+     char * p;
+@@ -1129,6 +1158,28 @@
+ 
+     debug(DEBUG_STATUS, "stripped filename %s", fn);
+ 
++    return build_file_by_name(fn);
++}
++
++static CvsFile * parse_working_file(const char * buff)
++{
++    char fn[PATH_MAX];
++    int len = strlen(buff + 14);
++
++    /* chop the "LF" */
++    len -= 1;
++    memcpy(fn, buff + 14, len);
++    fn[len] = 0;
++
++    debug(DEBUG_STATUS, "working filename %s", fn);
++
++    return build_file_by_name(fn);
++}
++
++static CvsFile * build_file_by_name(const char * fn)
++{
++    CvsFile * retval;
++
+     retval = (CvsFile*)get_hash_object(file_hash, fn);
+ 
+     if (!retval)
+@@ -1259,6 +1310,29 @@
+     return get_branch_ext(buff, rev, NULL);
+ }
+ 
++/* Doesn't have to handle magic branches because parse_sym already did. */
++static int is_ancestor_rev(const char *rev1, const char *rev2)
++{
++    char b1[REV_STR_MAX], b2[REV_STR_MAX];
++    int len1 = strlen(rev1);
++    int len2 = strlen(rev2);
++    int leaf1, leaf2;
++
++    if (len1 > len2)
++        return 0;
++
++    if (strncmp(rev1, rev2, len1) == 0 || strcmp(rev1, "INITIAL") == 0)
++        return 1;
++
++    if (!get_branch_ext(b1, rev1, &leaf1) || !get_branch_ext(b2, rev2, &leaf2))
++        return 0;
++
++    if (strcmp(b1, b2) == 0 && leaf2 >= leaf1)
++        return 1;
++
++    return 0;
++}
++
+ /* 
+  * the goal if this function is to determine what revision to assign to
+  * the psm->pre_rev field.  usually, the log file is strictly 
+@@ -1454,7 +1528,18 @@
+     printf("Branch: %s\n", ps->branch);
+     if (ps->ancestor_branch)
+ 	printf("Ancestor branch: %s\n", ps->ancestor_branch);
+-    printf("Tag: %s %s\n", ps->tag ? ps->tag : "(none)", tag_flag_descr[ps->tag_flags]);
++    {
++	printf("Tags:");
++	struct list_head * tagl;
++	for (tagl = ps->tags.next; tagl != &ps->tags; tagl = tagl->next)
++	{
++            TagName* tag = list_entry (tagl, TagName, link);
++
++	    printf(" %s %s%s", tag->name, tag_flag_descr[tag->flags],
++		   (tagl->next == &ps->tags) ? "" : ",");
++	}
++	printf("\n");
++    }
+     printf("Log:\n%s\n", ps->descr);
+     printf("Members: \n");
+ 
+@@ -1499,11 +1584,15 @@
+ 	    PatchSet * head_ps = (PatchSet*)get_hash_object(branch_heads, ps->branch);
+ 	    if (!head_ps) 
+ 	    {
++                Tag *tag;
+ 		head_ps = ps;
+ 		put_hash_object(branch_heads, ps->branch, head_ps);
++                find_branch_parent(ps);
++                tag = (Tag*)malloc(sizeof(*tag));
++                tag->tag = ps->branch;
++                /* This is our own private tag list, so we use global_link.*/
++                list_add(&tag->global_link,  &all_branches);
+ 	    }
+-	    
+-	    determine_branch_ancestor(ps, head_ps);
+ 	}
+     }
+     else
+@@ -1662,14 +1751,14 @@
+      * know that insertions are unique at this point.
+      */
+ 
+-    diff = ps1->date - ps2->date;
+-    if (diff)
+-	return (diff < 0) ? -1 : 1;
+-
+     ret = compare_patch_sets_by_members(ps1, ps2);
+     if (ret)
+ 	return ret;
+ 
++    diff = ps1->date - ps2->date;
++    if (diff)
++	return (diff < 0) ? -1 : 1;
++
+     ret = strcmp(ps1->author, ps2->author);
+     if (ret)
+ 	return ret;
+@@ -2024,8 +2113,7 @@
+ 	ps->max_date = 0;
+ 	ps->descr = NULL;
+ 	ps->author = NULL;
+-	ps->tag = NULL;
+-	ps->tag_flags = 0;
++	INIT_LIST_HEAD(&ps->tags);
+ 	ps->branch_add = 0;
+ 	ps->funk_factor = 0;
+ 	ps->ancestor_branch = NULL;
+@@ -2104,6 +2192,11 @@
+     
+     if (!get_branch_ext(rev, eot, &leaf))
+     {
++	if (strcmp(tag, "TRUNK") == 0)
++	{
++	    debug(DEBUG_STATUS, "ignoring the TRUNK branch/tag");
++	    return;
++	}
+ 	debug(DEBUG_APPERROR, "malformed revision");
+ 	exit(1);
+     }
+@@ -2254,14 +2347,19 @@
+ 	    return;
+ 	}
+ 
+-	ps->tag = sym->tag;
++	{
++	    TagName* tagname = (TagName*)malloc(sizeof(TagName));
++	    tagname->name = sym->tag;
++	    tagname->flags = 0;
++	    list_add(&tagname->link, &ps->tags);
++	}
+ 
+ 	/* check if this ps is one of the '-r' patchsets */
+-	if (restrict_tag_start && strcmp(restrict_tag_start, ps->tag) == 0)
++	if (restrict_tag_start && strcmp(restrict_tag_start, sym->tag) == 0)
+ 	    restrict_tag_ps_start = ps->psid;
+ 
+ 	/* the second -r implies -b */
+-	if (restrict_tag_end && strcmp(restrict_tag_end, ps->tag) == 0)
++	if (restrict_tag_end && strcmp(restrict_tag_end, sym->tag) == 0)
+ 	{
+ 	    restrict_tag_ps_end = ps->psid;
+ 
+@@ -2306,7 +2404,8 @@
+ 		int flag = check_rev_funk(ps, next_rev);
+ 		debug(DEBUG_STATUS, "file %s revision %s tag %s: TAG VIOLATION %s",
+ 		      rev->file->filename, rev->rev, sym->tag, tag_flag_descr[flag]);
+-		ps->tag_flags |= flag;
++		/* FIXME: using tags.next is somewhat kludgy */
++		list_entry(ps->tags.next, TagName, link)->flags |= flag;
+ 	    }
+ 	}
+     }
+@@ -2384,8 +2483,31 @@
+     for (next = ps->members.next; next != &ps->members; next = next->next) 
+     {
+ 	PatchSetMember * m = list_entry(next, PatchSetMember, link);
+-	if (m->file == psm->file && ps->collision_link.next == NULL) 
+-		list_add(&ps->collision_link, &collisions);
++	if (m->file == psm->file) {
++		int order = compare_rev_strings(psm->post_rev->rev, m->post_rev->rev);
++
++		/*
++		 * Same revision too? Add it to the collision list
++		 * if it isn't already.
++		 */
++		if (!order) {
++			if (ps->collision_link.next == NULL)
++				list_add(&ps->collision_link, &collisions);
++			return;
++		}
++
++		/*
++		 * If this is an older revision than the one we already have
++		 * in this patchset, just ignore it
++		 */
++		if (order < 0)
++			return;
++
++		/*
++		 * This is a newer one, remove the old one
++		 */
++		list_del(&m->link);
++	}
+     }
+ 
+     psm->ps = ps;
+@@ -2394,6 +2516,8 @@
+ 
+ static void set_psm_initial(PatchSetMember * psm)
+ {
++    char *p;
++
+     psm->pre_rev = NULL;
+     if (psm->post_rev->dead)
+     {
+@@ -2405,6 +2529,27 @@
+ 	    debug(DEBUG_APPMSG1, "WARNING: branch_add already set!");
+ 	psm->ps->branch_add = 1;
+     }
++
++    /* Maybe this is the best place to record which branch a file was
++       initially added on.  It seems the most accurate way is
++       also painful - read the commit message. */
++    if (psm->file->initial_branch)
++        debug(DEBUG_APPMSG1, "WARNING: initial_branch already set!");
++
++    psm->file->initial_ps = psm->ps;
++
++    p = strstr(psm->ps->descr, " was initially added on branch ");
++    if (p) {
++        char * end;
++        p += strlen(" was initially added on branch ");
++        end = strchr(p, '.');
++        if (end) {
++            *end = 0;
++            psm->file->initial_branch = get_string(p);
++            return;
++        }
++    }
++    psm->file->initial_branch = psm->ps->branch;
+ }
+ 
+ /* 
+@@ -2415,6 +2560,11 @@
+ {
+     int retval = TAG_FUNKY;
+ 
++    struct list_head * tag;
++    for (tag = ps->tags.next; tag != &ps->tags; tag = tag->next)
++    {
++        char* tagname = list_entry (&tag, TagName, link)->name;
++
+     while (rev)
+     {
+ 	PatchSet * next_ps = rev->post_psm->ps;
+@@ -2427,7 +2577,7 @@
+ 	      ps->date, next_ps->date, rev->rev, rev->branch);
+ 
+ 	/*
+-	 * If the ps->tag is one of the two possible '-r' tags
++	 * If the tagname is one of the two possible '-r' tags
+ 	 * then the funkyness is even more important.
+ 	 *
+ 	 * In the restrict_tag_start case, this next_ps is chronologically
+@@ -2439,9 +2589,9 @@
+ 	 * Start assuming the HIDE/SHOW_ALL case, we will determine
+ 	 * below if we have a split ps case 
+ 	 */
+-	if (restrict_tag_start && strcmp(ps->tag, restrict_tag_start) == 0)
++	if (restrict_tag_start && strcmp(tagname, restrict_tag_start) == 0)
+ 	    next_ps->funk_factor = FNK_SHOW_ALL;
+-	if (restrict_tag_end && strcmp(ps->tag, restrict_tag_end) == 0)
++	if (restrict_tag_end && strcmp(tagname, restrict_tag_end) == 0)
+ 	    next_ps->funk_factor = FNK_HIDE_ALL;
+ 
+ 	/*
+@@ -2454,7 +2604,7 @@
+ 	for (next = next_ps->members.next; next != &next_ps->members; next = next->next)
+ 	{
+ 	    PatchSetMember * psm = list_entry(next, PatchSetMember, link);
+-	    if (before_tag(psm->post_rev, ps->tag))
++	    if (before_tag(psm->post_rev, tagname))
+ 	    {
+ 		retval = TAG_INVALID;
+ 		/* only set bad_funk for one of the -r tags */
+@@ -2467,7 +2617,7 @@
+ 		debug(DEBUG_APPMSG1, 
+ 		      "WARNING: Invalid PatchSet %d, Tag %s:\n"
+ 		      "    %s:%s=after, %s:%s=before. Treated as 'before'", 
+-		      next_ps->psid, ps->tag, 
++		      next_ps->psid, tagname, 
+ 		      rev->file->filename, rev->rev, 
+ 		      psm->post_rev->file->filename, psm->post_rev->rev);
+ 	    }
+@@ -2475,6 +2625,7 @@
+ 
+ 	rev = rev_follow_branch(rev, ps->branch);
+     }
++    }
+ 
+     return retval;
+ }
+@@ -2532,7 +2683,13 @@
+     }
+ }
+ 
+-static void determine_branch_ancestor(PatchSet * ps, PatchSet * head_ps)
++/* When we track ancestor branches, we run determine_branch_ancestor()
++ * for every ps not on HEAD.  But, we only record the ancestor in
++ * head_ps.  head_ps is the first (i.e. "root") ps on the same branch as
++ * ps (which may be the same as ps).  In other words, we record the
++ * ancestor branch in the first patch that "branched-off".
++ */
++static void determine_branch_ancestor(const PatchSet * ps, PatchSet * head_ps)
+ {
+     struct list_head * next;
+     CvsFileRevision * rev;
+@@ -2576,7 +2733,7 @@
+ 	 * note: rev is the pre-commit revision, not the post-commit
+ 	 */
+ 	if (!head_ps->ancestor_branch)
+-	    d1 = 0;
++	    d1 = -1;
+ 	else if (strcmp(ps->branch, rev->branch) == 0)
+ 	    continue;
+ 	else if (strcmp(head_ps->ancestor_branch, "HEAD") == 0)
+@@ -2599,6 +2756,178 @@
+     }
+ }
+ 
++/* only needs to be called once for each new branch we start */
++static void find_branch_parent(PatchSet *ps)
++{
++    const char* child = ps->branch;
++    char* parent;
++    struct list_head *next;
++    struct hash_entry * he_file;
++    Tag *tag;
++
++    /* We use the 'rev' struct member unconventionally: as a flag to mark
++       which branches have not yet been eliminated from consideration. */
++
++    /* Mark every branch for consideration. */
++    for (next = all_branches.next; next != &all_branches; next = next->next)
++    {
++        tag = list_entry(next, Tag, global_link);
++        tag->rev = (CvsFileRevision *) 1; /* cast just to silence compiler */
++    }
++
++    reset_hash_iterator(file_hash);
++    while ((he_file = next_hash_entry(file_hash)))
++    {
++	CvsFile *file = (CvsFile*)he_file->he_obj;
++
++        if (!file->initial_branch) {
++            debug(DEBUG_APPERROR, "invalid initial_branch for file %s, probably from old cache, run with -x.", file->filename);
++            exit(1);
++        }
++
++        /* If the file was introduced later than the branch point, we
++           don't consider it.  NOTE: this won't catch the case where a
++           file is added to branch A, then later branch C branches off
++           of branch B, then branch A is merged into branch C.  In
++           that case, the initial date for the file is earlier than
++           the root-branch patchset, so the absence of the file from
++           branch B *DOES* eliminate B from being the parent of C. */
++        if (file->initial_ps->date > ps->date)
++            continue;
++
++        /* If the file was added on this branch, we can't use it to
++           eliminate other potential parents just because they don't
++           have this file. */
++        if (strcmp(file->initial_branch, child) == 0)
++            continue;
++
++        /* If we haven't yet seen the branch that file was initially
++           added to, then *that* branch may be a child of *this*
++           child.  In that case, we shouldn't expect that this file is
++           necessarily also on the parent branch - for the same reason
++           we ignore files added on the child branch immediately. */
++        if (strcmp(file->initial_branch, "HEAD") != 0 &&
++            NULL == get_hash_object(branch_heads, file->initial_branch))
++            continue;
++
++        /* Pick a branch to consider */
++        for (next = all_branches.next; next != &all_branches; next = next->next)
++        {
++            char *child_rev, *parent_rev;
++            tag = list_entry(next, Tag, global_link);
++            if (!tag->rev)
++                continue;  /* skip branches already eliminated */
++
++            parent = tag->tag;
++            child_rev = get_hash_object(file->branches_sym, child);
++            parent_rev = get_hash_object(file->branches_sym, parent);
++            if (child_rev) {
++                if (parent_rev) {
++                    if (!is_ancestor_rev(parent_rev, child_rev)) {
++                        tag->rev = NULL;
++                        debug(DEBUG_STATUS,
++                              "%s not parent of %s: %s REV %s vs. %s",
++                              parent, child, file->filename, parent_rev,
++                              child_rev);
++                    }
++                } else {
++                    /* If this file is on the child branch but not on
++                       the parent branch, then it's not the true
++                       parent.  WARNING: as commented above, this may
++                       falsely eliminate a parent if a file added to
++                       some other branch before this child's branch
++                       point is later merged onto the child.  That
++                       file may not be on the true parent, but we
++                       eliminate that parent anyway. Bah!
++                       Corner-cases?!  How often do people merge with
++                       children branches?  Anyway, this is too
++                       effective at eliminating incorrect parents to
++                       ignore. */
++                    tag->rev = NULL;
++                    debug(DEBUG_STATUS, "%s not parent of %s: parent missing %s",
++                          parent, child, file->filename);
++                }
++            } else {
++                /* What about the file on the parent but not the child?
++                   The file could have been added to the parent later than
++                   the branch point. But we catch that above.  More
++                   importantly, it could have been added to some other
++                   branch time-wise earlier than the branch point, and
++                   then merged onto this parent after the branch point.
++                   That's too hard to detect.  Also, there's the evil of
++                   partial-tree tagging.  The most common way this arises
++                   is that a child branches off just a portion (usually a
++                   sub-directory) of the tree.  In that case, lots of
++                   files are on the parent but not on the child.  So we'll
++                   be lenient and let this potential parent live another
++                   day. */
++#if 0
++                /* TODO?: maybe an optional "strict" mode could enable
++                   this, if the user is willing to assume there haven't
++                   been any partial-tree taggings. */
++                if (parent_rev) {
++                    tag->rev = NULL;
++                    debug(DEBUG_STATUS, "%s not parent of %s: child missing %s",
++                          parent, child, file->filename);
++                }
++#endif
++
++            }
++        } /* end of loop over potential parents */
++    }
++
++    /* Any remaining branches are possible parents. But, if any of
++       these branches are parents of other possible parents, we'll
++       say they're "grandparents" and not consider them for
++       parenthood. */
++    for (next = all_branches.next; next != &all_branches; next = next->next)
++    {
++        struct list_head *j;
++        tag = list_entry(next, Tag, global_link);
++        if (!tag->rev) continue;
++        for (j = all_branches.next; j != &all_branches; j = j->next)
++        {
++            Tag *tag2 = list_entry(j, Tag, global_link);
++            PatchSet *root_ps;
++            if (!tag2->rev) continue;
++            if (j == next) continue;
++            root_ps = (PatchSet*)get_hash_object(branch_heads, tag2->tag);
++            if (root_ps && strcmp(root_ps->ancestor_branch, tag->tag) == 0) {
++                tag->rev = NULL;
++                debug(DEBUG_STATUS, "eliminate %s: it's GRANDparent of %s via %s",
++                      tag->tag, child, tag2->tag);
++                break;
++            }
++        }
++    }
++
++    parent = NULL;
++    debug(DEBUG_STATUS, "Remaining parents for %s:", child);
++    for (next = all_branches.next; next != &all_branches; next = next->next)
++    {
++        tag = list_entry(next, Tag, global_link);
++        if (tag->rev) {
++            debug(DEBUG_STATUS, "    %s", tag->tag);
++            if (parent)
++                debug(DEBUG_STATUS, "Alternative ambiguous parent of %s: %s",
++                      child, tag->tag);
++            else
++                parent = tag->tag;
++        }
++    }
++
++    if (parent) {
++        debug(DEBUG_STATUS, "Assigning %s as parent of %s", parent, child);
++        ps->ancestor_branch = parent;
++    } else {
++        debug(DEBUG_STATUS, "HEAD parent of %s by default", child);
++        ps->ancestor_branch = "HEAD";
++        /* Strictly speaking, we didn't actually verify that HEAD
++           is a possible parent, but what else can we do if there
++           are no other branches left? */
++    }
++}
++
+ static void handle_collisions()
+ {
+     struct list_head *next;
diff --git a/devel/cvsps-devel/files/patch-cvsps_types.h b/devel/cvsps-devel/files/patch-cvsps_types.h
new file mode 100644
index 0000000..97c5ad3
--- /dev/null
+++ b/devel/cvsps-devel/files/patch-cvsps_types.h
@@ -0,0 +1,50 @@
+--- cvsps_types.h.orig	2008-03-01 06:52:22.000000000 +0200
++++ cvsps_types.h	2008-03-01 06:51:37.000000000 +0200
+@@ -8,7 +8,7 @@
+ 
+ #include <time.h>
+ 
+-#define LOG_STR_MAX 32768
++#define LOG_STR_MAX 65536
+ #define AUTH_STR_MAX 64
+ #define REV_STR_MAX 64
+ #define MIN(a, b) ((a) < (b) ? (a) : (b))
+@@ -21,6 +21,7 @@
+ typedef struct _CvsFileRevision CvsFileRevision;
+ typedef struct _GlobalSymbol GlobalSymbol;
+ typedef struct _Tag Tag;
++typedef struct _TagName TagName;
+ 
+ struct _CvsFileRevision
+ {
+@@ -71,6 +72,8 @@
+      * with the branch attribute NULL.  Later we need to resolve these.
+      */
+     int have_branches;
++    char *initial_branch;
++    PatchSet *initial_ps;
+ };
+ 
+ struct _PatchSetMember
+@@ -112,8 +115,7 @@
+     time_t max_date;
+     char *descr;
+     char *author;
+-    char *tag;
+-    int tag_flags;
++    struct list_head tags;
+     char *branch;
+     char *ancestor_branch;
+     struct list_head members;
+@@ -159,4 +161,11 @@
+     struct list_head rev_link;
+ };
+ 
++struct _TagName
++{
++    char * name;
++    int flags;
++    struct list_head link;
++};
++
+ #endif /* CVSPS_TYPES_H */
diff --git a/devel/cvsps/Makefile b/devel/cvsps/Makefile
index bd7b19f..ef77b3f 100644
--- a/devel/cvsps/Makefile
+++ b/devel/cvsps/Makefile
@@ -15,6 +15,8 @@ MASTER_SITES=	http://www.cobite.com/cvsps/
 MAINTAINER=	stas@FreeBSD.org
 COMMENT=	Create patchset information from CVS
 
+CONFLICTS=      cvsps-devel-1.*
+
 USE_GMAKE=	yes
 ALL_TARGET=	cvsps
 
diff --git a/devel/directfb/Makefile b/devel/directfb/Makefile
index f97694f..d90f24a 100644
--- a/devel/directfb/Makefile
+++ b/devel/directfb/Makefile
@@ -6,12 +6,11 @@
 #
 
 PORTNAME=	directfb
-PORTVERSION=	1.1.1
-PORTREVISION=	1
+DISTVERSION=	1.2.0-rc1
 CATEGORIES=	devel
 MASTER_SITES=	http://www.directfb.org/downloads/Core/ \
 		http://www.directfb.org/downloads/Old/
-DISTNAME=	DirectFB-${PORTVERSION}
+DISTNAME=	DirectFB-${DISTVERSION}
 
 MAINTAINER=	anatoly.borodin@gmail.com
 COMMENT=	Graphic development lightweight API
@@ -21,18 +20,19 @@ LIB_DEPENDS=	jpeg.10:${PORTSDIR}/graphics/jpeg \
 
 CONFIGURE_ENV=	CPPFLAGS="${PTHREAD_CFLAGS}" LDFLAGS="${PTHREAD_LIBS}"
 USE_AUTOTOOLS=	libtool:22
-USE_SDL=	sdl
 GNU_CONFIGURE=	yes
 USE_GMAKE=	yes
 USE_GNOME=	gnomehack
 USE_LDCONFIG=	yes
 USE_PERL5=	yes
-PLIST_SUB+=	DIRECTFB_VERSION=${PORTVERSION} DIRECTFB_VER=1.1-0
+PLIST_SUB+=	DIRECTFB_VERSION=${DISTVERSION} DIRECTFB_VER=1.2-0
 
 .if exists(${LOCALBASE}/lib/libfreetype.so.9)
 WITH_FREETYPE2=	yes
 .endif
 
+CONFIGURE_ARGS+=	--enable-debug --enable-debug-support --disable-trace
+
 .if defined(WITH_FREETYPE2)
 LIB_DEPENDS+=	freetype.9:${PORTSDIR}/print/freetype2
 CONFIGURE_ARGS+=	--enable-freetype
@@ -58,7 +58,6 @@ PLIST_SUB+=	SDL="" GFXDRIVERS=""
 .else
 CONFIGURE_ARGS+=	--disable-sdl
 PLIST_SUB+=	SDL="@comment " GFXDRIVERS="@comment "
-
 .endif
 
 .if defined(WITH_SDL) || defined(WITH_X11)
@@ -67,6 +66,7 @@ PLIST_SUB+=	INPUTDRIVERS=""
 PLIST_SUB+=	INPUTDRIVERS="@comment "
 .endif
 
+NOMANCOMPRESS=	yes
 MAN1=		directfb-csource.1 dfbg.1
 MAN5=		directfbrc.5
 
diff --git a/devel/directfb/distinfo b/devel/directfb/distinfo
index 2aa1fda..eee6895 100644
--- a/devel/directfb/distinfo
+++ b/devel/directfb/distinfo
@@ -1,3 +1,3 @@
-MD5 (DirectFB-1.1.1.tar.gz) = c75255049ca8d5c69afe4db58f603028
-SHA256 (DirectFB-1.1.1.tar.gz) = f12ec5f0864d85268a8d67e4919cb7f3d7f0e06ed6cc278c952f6c342673d931
-SIZE (DirectFB-1.1.1.tar.gz) = 2614203
+MD5 (DirectFB-1.2.0-rc1.tar.gz) = 9b42f76cca6a750183aafe20c2ebc5c9
+SHA256 (DirectFB-1.2.0-rc1.tar.gz) = 60a41be5c8ecad9441791a8d564e7ef82b726e8ddd8a256913758b63e5087b5d
+SIZE (DirectFB-1.2.0-rc1.tar.gz) = 2652237
diff --git a/devel/directfb/pkg-plist b/devel/directfb/pkg-plist
index 75749f5..0d8b170 100644
--- a/devel/directfb/pkg-plist
+++ b/devel/directfb/pkg-plist
@@ -3,6 +3,7 @@ bin/dfbfx
 bin/dfbg
 bin/dfbinfo
 bin/dfbinput
+bin/dfbinspector
 bin/dfblayer
 bin/dfbpenmount
 bin/dfbscreen
@@ -141,9 +142,6 @@ lib/directfb-%%DIRECTFB_VER%%/interfaces/IDirectFBImageProvider/libidirectfbimag
 lib/directfb-%%DIRECTFB_VER%%/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.a
 lib/directfb-%%DIRECTFB_VER%%/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.la
 lib/directfb-%%DIRECTFB_VER%%/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so
-lib/directfb-%%DIRECTFB_VER%%/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.a
-lib/directfb-%%DIRECTFB_VER%%/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.la
-lib/directfb-%%DIRECTFB_VER%%/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_mpeg2.so
 lib/directfb-%%DIRECTFB_VER%%/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.a
 lib/directfb-%%DIRECTFB_VER%%/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.la
 lib/directfb-%%DIRECTFB_VER%%/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so
@@ -162,18 +160,18 @@ lib/directfb-%%DIRECTFB_VER%%/systems/libdirectfb_devmem.so
 lib/directfb-%%DIRECTFB_VER%%/wm/libdirectfbwm_default.a
 lib/directfb-%%DIRECTFB_VER%%/wm/libdirectfbwm_default.la
 lib/directfb-%%DIRECTFB_VER%%/wm/libdirectfbwm_default.so
-lib/libdirect-1.1.so
-lib/libdirect-1.1.so.1
+lib/libdirect-1.2.so
+lib/libdirect-1.2.so.0
 lib/libdirect.a
 lib/libdirect.la
 lib/libdirect.so
-lib/libdirectfb-1.1.so
-lib/libdirectfb-1.1.so.1
+lib/libdirectfb-1.2.so
+lib/libdirectfb-1.2.so.0
 lib/libdirectfb.a
 lib/libdirectfb.la
 lib/libdirectfb.so
-lib/libfusion-1.1.so
-lib/libfusion-1.1.so.1
+lib/libfusion-1.2.so
+lib/libfusion-1.2.so.0
 lib/libfusion.a
 lib/libfusion.la
 lib/libfusion.so
diff --git a/games/freesci/Makefile b/games/freesci/Makefile
index efaf1ba..b5991e8 100644
--- a/games/freesci/Makefile
+++ b/games/freesci/Makefile
@@ -63,7 +63,7 @@ CONFIGURE_ARGS+=	--without-sdl
 .endif
 
 .if defined(WITH_DIRECTFB) && !defined(WITHOUT_DIRECTFB)
-LIB_DEPENDS+=	directfb-1.1.1:${PORTSDIR}/devel/directfb
+LIB_DEPENDS+=	directfb-1.2.0:${PORTSDIR}/devel/directfb
 CONFIGURE_ARGS+=	--with-directfb-include=${LOCALBASE}/include/directfb \
 			--with-directfb-libraries=${LOCALBASE}/lib
 .else
diff --git a/graphics/cairo/Makefile b/graphics/cairo/Makefile
index 8028c03..35c2f04 100644
--- a/graphics/cairo/Makefile
+++ b/graphics/cairo/Makefile
@@ -43,7 +43,8 @@ PLIST_SUB+=	X11=""
 .endif
 
 OPTIONS+=	GLITZ "Enable Glitz OpenGL Support" Off \
-		XCB "Enable XCB (X C-language Binding) Support" On
+		XCB "Enable XCB (X C-language Binding) Support" On \
+		DIRECTFB "Enable DirectFB Support" Off
 
 .include <bsd.port.pre.mk>
 
@@ -66,6 +67,15 @@ CONFIGURE_ARGS+=	--disable-xcb
 PLIST_SUB+=		XCB="@comment "
 .endif
 
+.if defined(WITH_DIRECTFB)
+LIB_DEPENDS+=	directfb-1.2.0:${PORTSDIR}/devel/directfb
+CONFIGURE_ARGS+=	--enable-directfb
+PLIST_SUB+=	DIRECTFB=""
+.else
+CONFIGURE_ARGS+=	--disable-directfb
+PLIST_SUB+=	DIRECTFB="@comment "
+.endif
+
 post-patch:
 	@${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|' \
 		${WRKSRC}/test/Makefile.in
diff --git a/graphics/cairo/pkg-plist b/graphics/cairo/pkg-plist
index ec0206e..98a969b 100644
--- a/graphics/cairo/pkg-plist
+++ b/graphics/cairo/pkg-plist
@@ -1,4 +1,5 @@
 include/cairo/cairo-deprecated.h
+%%DIRECTFB%%include/cairo/cairo-directfb.h
 include/cairo/cairo-features.h
 include/cairo/cairo-ft.h
 %%GLITZ%%include/cairo/cairo-glitz.h
@@ -16,6 +17,7 @@ lib/libcairo.la
 lib/libcairo.so
 lib/libcairo.so.2
 libdata/pkgconfig/cairo.pc
+%%DIRECTFB%%libdata/pkgconfig/cairo-directfb.pc
 libdata/pkgconfig/cairo-ft.pc
 %%GLITZ%%libdata/pkgconfig/cairo-glitz.pc
 libdata/pkgconfig/cairo-pdf.pc
diff --git a/graphics/cfdg/Makefile b/graphics/cfdg/Makefile
index 600c0b2..9bb647e 100644
--- a/graphics/cfdg/Makefile
+++ b/graphics/cfdg/Makefile
@@ -6,9 +6,10 @@
 #
 
 PORTNAME=	cfdg
-PORTVERSION=	2.1
+PORTVERSION=	2.2
 CATEGORIES=	graphics math
-MASTER_SITES=	http://www.contextfreeart.org/download/
+MASTER_SITES=	http://www.contextfreeart.org/download/ \
+		http://glyphic.s3.amazonaws.com/cfa/download/
 DISTNAME=	ContextFreeSource${PORTVERSION}
 EXTRACT_SUFX=	.tgz
 
diff --git a/graphics/cfdg/distinfo b/graphics/cfdg/distinfo
index 175321e..3be08bf 100644
--- a/graphics/cfdg/distinfo
+++ b/graphics/cfdg/distinfo
@@ -1,3 +1,3 @@
-MD5 (ContextFreeSource2.1.tgz) = 477242e74c4f953ceca7bf06e944a46e
-SHA256 (ContextFreeSource2.1.tgz) = 041a67e34292c898890568fe7236eaafd1608d196951bdaccedeb2275ca198b4
-SIZE (ContextFreeSource2.1.tgz) = 1363136
+MD5 (ContextFreeSource2.2.tgz) = e48c1967e4ec0b7764ef698b4a887ae5
+SHA256 (ContextFreeSource2.2.tgz) = ea2cf7b060c756f5c734e3293917483c41a28301af3cf0dc4cb6ae103a717ecb
+SIZE (ContextFreeSource2.2.tgz) = 1606144
diff --git a/graphics/cfdg/files/patch-Makefile b/graphics/cfdg/files/patch-Makefile
index 201c9d8..6209228 100644
--- a/graphics/cfdg/files/patch-Makefile
+++ b/graphics/cfdg/files/patch-Makefile
@@ -1,6 +1,6 @@
---- Makefile.orig	2007-04-29 08:51:20.000000000 +0300
-+++ Makefile	2008-03-14 21:17:24.000000000 +0200
-@@ -52,7 +52,7 @@
+--- Makefile.orig
++++ Makefile
+@@ -54,7 +54,7 @@ $(OBJS): $(OBJ_DIR)/Sentry
  # Under Cygwin replace strip $@ with strip $@.exe
  
  cfdg: $(OBJS)
@@ -9,12 +9,12 @@
  	strip $@
  
  
-@@ -103,7 +103,7 @@
+@@ -105,7 +105,7 @@ $(OUTPUT_DIR)/rtest-2k.png: cfdg $(RTEST_CFDG)
  #
  
  CPPFLAGS += $(patsubst %,-I%,$(INC_DIRS))
--CPPFLAGS += -O3
-+CPPFLAGS += `libpng-config --cflags`
+-CPPFLAGS += -O3 -Wall
++CPPFLAGS += -Wall `libpng-config --cflags`
  #CPPFLAGS += -ggdb
  
  $(OBJ_DIR)/%.o : %.cpp
diff --git a/graphics/cfdg/pkg-plist b/graphics/cfdg/pkg-plist
index a899b86..a6f26a5 100644
--- a/graphics/cfdg/pkg-plist
+++ b/graphics/cfdg/pkg-plist
@@ -6,7 +6,6 @@ bin/cfdg
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/ciliasun.cfdg
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/demo1.cfdg
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/demo2.cfdg
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dong.cfdg
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/funky_flower.cfdg
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/i_curves.cfdg
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/i_pix.cfdg
diff --git a/multimedia/libxine/Makefile b/multimedia/libxine/Makefile
index 32d0503..2147925 100644
--- a/multimedia/libxine/Makefile
+++ b/multimedia/libxine/Makefile
@@ -45,7 +45,6 @@ USE_GMAKE=	yes
 USE_XORG=	x11 xv xinerama
 USE_GL=		gl glu
 USE_PERL5_BUILD=yes
-USE_SDL=	sdl
 USE_LDCONFIG=	yes
 CONFIGURE_ENV=	CFLAGS="${CFLAGS} -fno-force-addr -I${LOCALBASE}/include -I${LOCALBASE}/include/dvdread" \
 		CPPFLAGS="-I${LOCALBASE}/include" \
@@ -69,6 +68,7 @@ OPTIONS=	ARTS "Enable aRts support" off \
 		AALIB "Enable aalib support" off \
 		IMAGEMAGICK "Enable ImageMagick support" off \
 		GTK2 "Enable gdkpixbuf support" off \
+		SDL "Enable SDL support" off \
 		WAVPACK "Enable WavPack support" on \
 		FAAD "Enable external faad support" off
 
@@ -179,6 +179,14 @@ PLIST_SUB+=	WITH_GTK2="@comment "
 CONFIGURE_ARGS+=	--disable-gdkpixbuf
 .endif
 
+.if defined(WITH_SDL)
+USE_SDL+=	sdl
+PLIST_SUB+=	WITH_SDL=""
+.else
+PLIST_SUB+=	WITH_SDL="@comment "
+CONFIGURE_ARGS+=	--without-sdl
+.endif
+
 .if defined(WITH_WAVPACK)
 LIB_DEPENDS+=	wavpack.1:${PORTSDIR}/audio/wavpack
 PLIST_SUB+=	WITH_WAVPACK=""
diff --git a/multimedia/libxine/pkg-plist b/multimedia/libxine/pkg-plist
index 66d86c0..d07af79 100644
--- a/multimedia/libxine/pkg-plist
+++ b/multimedia/libxine/pkg-plist
@@ -143,7 +143,7 @@ lib/libxine.so.1
 %%PLUGINSDIR%%/xineplug_vo_out_none.so
 %%PLUGINSDIR%%/xineplug_vo_out_opengl.so
 %%PLUGINSDIR%%/xineplug_vo_out_raw.so
-%%PLUGINSDIR%%/xineplug_vo_out_sdl.so
+%%WITH_SDL%%%%PLUGINSDIR%%/xineplug_vo_out_sdl.so
 %%WITH_VIDIX%%%%PLUGINSDIR%%/xineplug_vo_out_vidix.so
 %%PLUGINSDIR%%/xineplug_vo_out_xcbshm.so
 %%PLUGINSDIR%%/xineplug_vo_out_xcbxv.so
diff --git a/multimedia/mplayer/Makefile b/multimedia/mplayer/Makefile
index da55d3d..368e1fb 100644
--- a/multimedia/mplayer/Makefile
+++ b/multimedia/mplayer/Makefile
@@ -80,6 +80,7 @@ CONFIGURE_ARGS+=	--disable-ssse3 \
 			--disable-directfb \
 			--disable-faac \
 			--disable-twolame \
+			--disable-directfb \
 			--disable-mencoder
 
 .include "${.CURDIR}/Makefile.options"
diff --git a/net/tryst-examples/Makefile b/net/tryst-examples/Makefile
index 195aa52..1a7289d 100644
--- a/net/tryst-examples/Makefile
+++ b/net/tryst-examples/Makefile
@@ -18,7 +18,7 @@ EXTRACT_SUFX=	.tgz
 MAINTAINER=	dinoex@FreeBSD.org
 COMMENT=	TBrowser and TChat
 
-LIB_DEPENDS=	dns_sd:${PORTSDIR}/net/mDNSResponder
+LIB_DEPENDS=	dns_sd:${PORTSDIR}/net/avahi-libdns
 
 USE_GNUSTEP=	yes
 USE_GNUSTEP_PREFIX=	yes
diff --git a/net/tryst/Makefile b/net/tryst/Makefile
index 9329614..9a3393d 100644
--- a/net/tryst/Makefile
+++ b/net/tryst/Makefile
@@ -17,7 +17,7 @@ EXTRACT_SUFX=	.tgz
 MAINTAINER=	dinoex@FreeBSD.org
 COMMENT=	Implementation of Apples Bonjour for GNUstep
 
-LIB_DEPENDS=	dns_sd:${PORTSDIR}/net/mDNSResponder
+LIB_DEPENDS=	dns_sd:${PORTSDIR}/net/avahi-libdns
 
 USE_GNUSTEP=	yes
 USE_GNUSTEP_PREFIX=	yes
diff --git a/print/teTeX-base/Makefile b/print/teTeX-base/Makefile
index 548c9c6..241af14 100644
--- a/print/teTeX-base/Makefile
+++ b/print/teTeX-base/Makefile
@@ -28,6 +28,8 @@ LIB_DEPENDS=	png.5:${PORTSDIR}/graphics/png \
 		t1.5:${PORTSDIR}/devel/t1lib \
 		gd.4:${PORTSDIR}/graphics/gd
 
+CONFLICTS=	texinfo-*
+
 WRKSRC=		${WRKDIR}/tetex-src-${PORTVERSION}
 GNU_CONFIGURE=	yes
 USE_GMAKE=	yes
diff --git a/print/texinfo/Makefile b/print/texinfo/Makefile
index 79bfe1f..ce26a4b 100644
--- a/print/texinfo/Makefile
+++ b/print/texinfo/Makefile
@@ -21,6 +21,8 @@ INSTALL_TARGET=	install install-tex
 PKGDEINSTALL=	${PKGINSTALL}
 MAKE_JOBS_SAFE=	yes
 
+CONFLICTS=	teTeX-base-*
+
 MAKE_ARGS=	TEXMF=${PREFIX}/${TEXMFLOCAL}
 CONFIGURE_ARGS=	\
 		--without-included-gettext
diff --git a/security/gpgme/Makefile b/security/gpgme/Makefile
index 4c0315c..d393002 100644
--- a/security/gpgme/Makefile
+++ b/security/gpgme/Makefile
@@ -56,6 +56,7 @@ PLIST_SUB+=	WITH_PTH=''
 CONFIGURE_ARGS+=--without-pth --without-pth-test
 PLIST_SUB+=	WITH_PTH='@comment '
 .endif
+CONFIGURE_ARGS+=--disable-gpg-test --disable-gpgsm-test
 
 verify: checksum
 	gpg --verify ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}.sig
diff --git a/textproc/docproj/Makefile b/textproc/docproj/Makefile
index 1ca3f27..ac4e2c4 100644
--- a/textproc/docproj/Makefile
+++ b/textproc/docproj/Makefile
@@ -22,11 +22,11 @@ USE_PERL5_RUN=	yes
 # required ports in src/release/Makefile.inc.docports.
 
 RUN_DEPENDS=	fixrtf:${PORTSDIR}/textproc/fixrtf \
-		links:${PORTSDIR}/www/links1 \
+		links:${PORTSDIR}/www/links \
 		pngtopnm:${PORTSDIR}/graphics/netpbm \
 		scr2png:${PORTSDIR}/graphics/scr2png \
 		scr2txt:${PORTSDIR}/textproc/scr2txt \
-		tidy:${PORTSDIR}/www/tidy \
+		tidy:${PORTSDIR}/www/tidy-lib \
 		xsltproc:${PORTSDIR}/textproc/libxslt \
 		peps:${PORTSDIR}/graphics/peps \
 		${LOCALBASE}/share/sgml/docbook/dsssl/modular:${PORTSDIR}/textproc/dsssl-docbook-modular \
diff --git a/www/links/Makefile b/www/links/Makefile
index e3a4266..7174d50 100644
--- a/www/links/Makefile
+++ b/www/links/Makefile
@@ -56,7 +56,7 @@ CONFIGURE_ARGS+=	--without-svgalib
 .endif
 
 .ifdef(WITH_DIRECTFB)
-LIB_DEPENDS+=		directfb-1.1.1:${PORTSDIR}/devel/directfb
+LIB_DEPENDS+=		directfb-1.2.0:${PORTSDIR}/devel/directfb
 CONFIGURE_ARGS+=	--with-directfb
 .else
 CONFIGURE_ARGS+=	--without-directfb
diff --git a/www/neonpp/Makefile b/www/neonpp/Makefile
index b18ab0d..938fc99 100644
--- a/www/neonpp/Makefile
+++ b/www/neonpp/Makefile
@@ -17,7 +17,7 @@ MAINTAINER=	novel@FreeBSD.org
 COMMENT=	C++ wrapper library for neon
 
 LIB_DEPENDS=	sigc-2.0.0:${PORTSDIR}/devel/libsigc++20 \
-		neon.26:${PORTSDIR}/www/neon26
+		neon.28:${PORTSDIR}/www/neon28
 
 USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
diff --git a/www/pecl-tidy/Makefile b/www/pecl-tidy/Makefile
index 5d25b47..d12a5e3 100644
--- a/www/pecl-tidy/Makefile
+++ b/www/pecl-tidy/Makefile
@@ -16,7 +16,7 @@ DIST_SUBDIR=	PECL
 MAINTAINER=	rick@wzoeterwoude.net
 COMMENT=	Tidy HTML Repairing and Parsing
 
-BUILD_DEPENDS+=	${LOCALBASE}/include/tidy/tidy.h:${PORTSDIR}/www/tidy-devel
+BUILD_DEPENDS+=	${LOCALBASE}/include/tidy/tidy.h:${PORTSDIR}/www/tidy-lib
 
 USE_PHP=	yes
 USE_PHPEXT=	yes
diff --git a/www/xpi-gbutts/Makefile b/www/xpi-gbutts/Makefile
index 2608d51..a72d12d 100644
--- a/www/xpi-gbutts/Makefile
+++ b/www/xpi-gbutts/Makefile
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	gbutts
-PORTVERSION=	1.5.8
+PORTVERSION=	1.6
 DISTVERSIONSUFFIX=	-fx
 CATEGORIES=	www
 
diff --git a/www/xpi-gbutts/distinfo b/www/xpi-gbutts/distinfo
index 91c6416..bbb26ac 100644
--- a/www/xpi-gbutts/distinfo
+++ b/www/xpi-gbutts/distinfo
@@ -1,3 +1,3 @@
-MD5 (xpi/gbutts-1.5.8-fx.xpi) = 66d40399e36ce6298a9cb4323fa4b40b
-SHA256 (xpi/gbutts-1.5.8-fx.xpi) = 4946d297502454eb9268b2ca1628e5fb4ee882b3112129faa7724864e995acae
-SIZE (xpi/gbutts-1.5.8-fx.xpi) = 68450
+MD5 (xpi/gbutts-1.6-fx.xpi) = b0b8bb50f83785e16e79bb103c24ecce
+SHA256 (xpi/gbutts-1.6-fx.xpi) = be29406c2311f7ee225ca9f827791d681b41ef9f75f668db12361179d6d1d317
+SIZE (xpi/gbutts-1.6-fx.xpi) = 68538
diff --git a/www/xpi-xhtml-ruby-support/Makefile b/www/xpi-xhtml-ruby-support/Makefile
index 33c0160..0b2d254 100644
--- a/www/xpi-xhtml-ruby-support/Makefile
+++ b/www/xpi-xhtml-ruby-support/Makefile
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	xhtml-ruby-support
-PORTVERSION=	2.1.2008040101
+PORTVERSION=	3.0.2009060901
 DISTVERSIONSUFFIX=	-fx
 CATEGORIES=	www
 
@@ -17,7 +17,7 @@ XPI_DISTNAME=	xhtml_ruby_support
 XPI_ID=		{0620B69D-7B58-416d-A92A-0198860C2757}
 XPI_NUM=	1935
 XPI_FILES=	chrome/rubysupport.jar chrome.manifest \
-		defaults/preferences/rubysupport.js install.js install.rdf
+		defaults/preferences/rubysupport.js install.rdf
 XPI_DIRS=	chrome defaults/preferences defaults
 
 .include "${.CURDIR}/../xpi-adblock/Makefile.xpi"
diff --git a/www/xpi-xhtml-ruby-support/distinfo b/www/xpi-xhtml-ruby-support/distinfo
index f8f9419..1378a41 100644
--- a/www/xpi-xhtml-ruby-support/distinfo
+++ b/www/xpi-xhtml-ruby-support/distinfo
@@ -1,3 +1,3 @@
-MD5 (xpi/xhtml_ruby_support-2.1.2008040101-fx.xpi) = 87bc54cae0a9d09f7106d6111a481013
-SHA256 (xpi/xhtml_ruby_support-2.1.2008040101-fx.xpi) = 96005307616c54688565f31804d1fdd9740492a1401c310e433654aab7399ffe
-SIZE (xpi/xhtml_ruby_support-2.1.2008040101-fx.xpi) = 29745
+MD5 (xpi/xhtml_ruby_support-3.0.2009060901-fx.xpi) = c095a18b81a51284395c05bc68f01c4d
+SHA256 (xpi/xhtml_ruby_support-3.0.2009060901-fx.xpi) = e20978ce303bb9c92e9140730e25a203ab91608fb1cbba9c77869b34af22ec55
+SIZE (xpi/xhtml_ruby_support-3.0.2009060901-fx.xpi) = 22361
diff --git a/x11-toolkits/nucleo/Makefile b/x11-toolkits/nucleo/Makefile
index 5b6ee1d..6bf2cf8 100644
--- a/x11-toolkits/nucleo/Makefile
+++ b/x11-toolkits/nucleo/Makefile
@@ -50,7 +50,7 @@ PLIST_SUB+=	QT4="@comment "
 .if exists(${LOCALBASE}/include/avahi-compat-libdns_sd/dns_sd.h)
 LIB_DEPENDS+=	dns_sd.1:${PORTSDIR}/net/avahi-libdns
 .elif defined(WITH_DNSSD)
-LIB_DEPENDS+=	dns_sd.1:${PORTSDIR}/net/mDNSResponder
+LIB_DEPENDS+=	dns_sd.1:${PORTSDIR}/net/avahi-libdns
 .endif
 
 .include <bsd.port.post.mk>
diff --git a/x11/kdelibs3/Makefile b/x11/kdelibs3/Makefile
index 18b83c6..fbd1b62 100644
--- a/x11/kdelibs3/Makefile
+++ b/x11/kdelibs3/Makefile
@@ -22,7 +22,7 @@ LIB_DEPENDS=	IlmImf:${PORTSDIR}/graphics/OpenEXR \
 		art_lgpl_2.5:${PORTSDIR}/graphics/libart_lgpl \
 		artsc.0:${PORTSDIR}/audio/arts \
 		aspell:${PORTSDIR}/textproc/aspell \
-		dns_sd:${PORTSDIR}/net/mDNSResponder \
+		dns_sd:${PORTSDIR}/net/avahi-libdns \
 		idn:${PORTSDIR}/dns/libidn \
 		jasper:${PORTSDIR}/graphics/jasper \
 		pcre:${PORTSDIR}/devel/pcre \
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e1e1b0290908140726t31e3f5d9l8dfdb598e982fed1>