Opened 19 years ago

Closed 19 years ago

Last modified 19 years ago

#3335 closed enhancement (fixed)

graphviz - patch to enable Quartz renderer

Reported by: master@… Owned by: gwright@…
Priority: Normal Milestone:
Component: ports Version: 1.0
Keywords: Cc:
Port:

Description

As you can read at the graphviz home page, there is an excelent Mac GUI version, but it is outdated a bit. Aside from GUI, that version brought a quartz renderer (it is in quartzgen.c). It can render in pdf and bitmap formats via QuickTime.

But the support of that renderer was not fully integrated into graphviz main sources. Enabling it required some tweaking. One of the main sources of problems was it's intention to replace the main gd renderer.

How to use 1) Use Postscript names for fonts (like Times-Roman, Times-Bold),

not Fontconfig ones (may be cured, if there is demand for such a change)

2) Use -Tepdf, -Tqt_png or -Tqt_smth.

How to complie

0) copy quartzgen.c from mac/dotneato to dotneato/common

Add to Portfile:

pre-patch {

file copy ${worksrcpath}/mac/dotneato/quartzgen.c ${worksrcpath}/dotneato/common/ }

1) patch configure and config.h.in

a) to define QUARTZ_RENDER and add to LDFLAGS

-framework ApplicationServices -framework QuickTime

on Mac OS X

b) to fix "fontconfig library not found" problem

in dotneato/common 2) patch emit.c to prepend "qt_" to names of quicktime renderers 3) patch Makefile.in to mention quartzgen.c among other sources 4) patch quartzgen.c to rename gd_textsize into quartz_textsize

and change it along the lines gd_textsize changed since 1.13 Make quartzgen.c compile conditionally (on QUARTZ_RENDER)

5) patch renderprocs.h to mention quartzgen.c 6) patch fontmetrics.c to call quartz_textsize for appropriate

output languages.

Attachments (1)

graphviz_patches.tgz (16.2 KB) - added by master@… 19 years ago.
patch flies and an example graph rendered into pdf

Download all attachments as: .zip

Change History (5)

Changed 19 years ago by master@…

Attachment: graphviz_patches.tgz added

patch flies and an example graph rendered into pdf

comment:1 Changed 19 years ago by gwright@…

Status: newassigned

Thanks Michail! I will work on integrating this into the Portfile.

I will make it a variant at first (+quartz) so that users can choose it or the usual build. It should be made part of the default build on darwin eventually.

-Greg

comment:2 Changed 19 years ago by gwright@…

Resolution: fixed
Status: assignedclosed

Changes are committed. As I mentioned, I added a +quartz variant which uses the patches.

Thanks!

-Greg

comment:3 Changed 19 years ago by master@…

Dear Greg,

thank you for commiting the quartz renderer enabler patch. I have compiled and run it OK. BUT I am likely to be the only user of this patch, since the "quartz" variant is not mentioned in the Portfile description section.

Sincerely, Michail

comment:4 Changed 19 years ago by gwright@…

I'll add a mention of the quartz renderer in the description. Thanks!

-Greg

Note: See TracTickets for help on using tickets.