From owner-freebsd-ports Mon Aug 19 01:42:25 1996 Return-Path: owner-ports Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id BAA27937 for ports-outgoing; Mon, 19 Aug 1996 01:42:25 -0700 (PDT) Received: from dfw-ix7.ix.netcom.com (dfw-ix7.ix.netcom.com [206.214.98.7]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id BAA27930 for ; Mon, 19 Aug 1996 01:42:22 -0700 (PDT) Received: from baloon.mimi.com (sjx-ca56-36.ix.netcom.com [205.186.122.100]) by dfw-ix7.ix.netcom.com (8.6.13/8.6.12) with ESMTP id BAA23274; Mon, 19 Aug 1996 01:41:16 -0700 Received: (from asami@localhost) by baloon.mimi.com (8.7.5/8.6.12) id AAA13189; Mon, 19 Aug 1996 00:48:57 -0700 (PDT) Date: Mon, 19 Aug 1996 00:48:57 -0700 (PDT) Message-Id: <199608190748.AAA13189@baloon.mimi.com> To: chuckr@glue.umd.edu CC: obrien@Nuxi.cs.ucdavis.edu, freebsd-ports@freebsd.org In-reply-to: (message from Chuck Robey on Sun, 18 Aug 1996 10:34:47 -0400 (EDT)) Subject: Re: PREFIX with X11 ports From: asami@cs.berkeley.edu (Satoshi Asami) Sender: owner-ports@freebsd.org X-Loop: FreeBSD.org Precedence: bulk * I can make X installs do anything I want, it's not difficult, by * redefining the xmkmf call in bsd.port.mk. That's not the trouble, I * already gave Satoshi a dmonstration patch that did that. The hitch is the * X Resource Manager library calls, that all good X applications use to read * their defaults with. The path /usr/X11R6/lib/X11/app-defaults is * hardcoded into the library call, so if we don't install stuff into * /usr/X11R6 (or I should say, at a minimum, the app-defaults files) then X * applications won't be able to read their defaults. * * I can put stuff anywhere I please, imake gives me great flexibility (I * actually like imake better the autoconf). Installing it isn't the * problem. I know that. I'm not concerned about the actual mechanics of installation into separate trees, I'm more worried about how the applications will function after that. >From what I have gathered, there are two major problems: (1) The app-defaults path is hardcoded into the shared libXt (or whatever shared library), so there is no way we can change this so that system binaries (i.e., one that Rich compiles for us) will read it from /usr/X11R6 and others read it from, say, /usr/local/X11. (2) The library and include directories are assumed to be a single pathname, not a list, in imake macros. For instance, we can't compile a program that requires libXpm (which we put in /usr/local/X11) and libXt (whit is in /usr/X11R6/lib) without patching the Imakefile. (3) The imake macros assume that where we get the standard X stuff (/usr/X11R6) is also where we are installing our stuff. (3) is not difficult to solve as Chuck mentioned. (2) is not too much of the problem either, since most of the software allow for specifying locations of non-standard libraries/include files (XPMLIB, JPEGINCLUDE and such). (1) is a real killer though. :( Satoshi