openbsd-ports/net/tightvnc/patches/patch-vncserver
pea 1322d58c0a Update to 1.3.9.
ok ajacoutot@
2009-01-19 08:01:34 +00:00

72 lines
1.9 KiB
Plaintext

$OpenBSD: patch-vncserver,v 1.4 2009/01/19 08:01:34 pea Exp $
--- vncserver.orig Thu Apr 26 12:57:06 2007
+++ vncserver Fri Dec 5 12:37:37 2008
@@ -76,13 +76,23 @@ unless ($xauthorityFile) {
}
}
+$defaultFontPath
+ = (
+ "/usr/X11R6/lib/X11/fonts/Type1/,".
+ "/usr/X11R6/lib/X11/fonts/Speedo/,".
+ "/usr/X11R6/lib/X11/fonts/cyrillic/,".
+ "/usr/X11R6/lib/X11/fonts/misc/,".
+ "/usr/X11R6/lib/X11/fonts/75dpi/,".
+ "/usr/X11R6/lib/X11/fonts/100dpi/"
+ );
+
chop($host = `uname -n`);
# Check command line options
&ParseOptions("-geometry",1,"-depth",1,"-pixelformat",1,"-name",1,"-kill",1,
- "-help",0,"-h",0,"--help",0);
+ "-help",0,"-h",0,"--help",0,"-fp",1);
&Usage() if ($opt{'-help'} || $opt{'-h'} || $opt{'--help'});
@@ -105,6 +115,25 @@ if ($opt{'-pixelformat'}) {
&CheckGeometryAndDepth();
+# bmah: Construct font path. Starting from a list of possible font directories
+# bmah: make up the set of those that have fonts.dir files we can read.
+# bmah: Probably there are way better methods of doing this.
+
+if (!$opt{'-fp'}) {
+ $opt{'-fp'} = $defaultFontPath;
+}
+
+@fontPathElements = split(/,/, "$opt{'-fp'}");
+
+$fontPath = '';
+
+foreach $i (0.."$#fontPathElements") {
+ if (-r "$fontPathElements[$i]/fonts.dir") {
+ $fontPath .= "$fontPathElements[$i],";
+ }
+}
+chop $fontPath;
+
if ($opt{'-name'}) {
$desktopName = $opt{'-name'};
}
@@ -236,6 +265,7 @@ if (-e "/tmp/.X11-unix/X$displayNumber") {
$ENV{DISPLAY}= "$host:$displayNumber";
}
$ENV{VNCDESKTOP}= $desktopName;
+$ENV{XAUTHORITY}= $xauthorityFile;
system("$xstartup >> " . &quotedString($desktopLog) . " 2>&1 &");
@@ -247,6 +277,8 @@ exit;
# CheckGeometryAndDepth simply makes sure that the geometry and depth values
# are sensible.
#
+# bmah: Bring in the fontpath we computed earlier.
+$cmd .= " -fp $fontPath";
sub CheckGeometryAndDepth
{