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>
