Date: Wed, 19 Apr 1995 08:54:05 -0400 From: Travis L Priest <T.L.Priest@LaRC.NASA.GOV> To: asami@cs.berkeley.edu Cc: ports@FreeBSD.org Subject: Re: Ports hackers wanted! (fwd) Message-ID: <199504191254.IAA12736@licorice.larc.nasa.gov> In-Reply-To: <199504191150.EAA09504@silvia.HIP.Berkeley.EDU> References: <199504181945.UAA16150@nietzsche> <199504191150.EAA09504@silvia.HIP.Berkeley.EDU>
next in thread | previous in thread | raw e-mail | index | archive | help
Wed, Satoshi Asami <asami@cs.berkeley.edu> wrote: > * In light of this, I would like to see our X-packages go into a seperate > * /usr/local/X11 tree. I don't want to reinstall all X-packages when > * I upgrade my /usr/X11R6 tree, everytime a new XFree86. > > I'd love to see this too, but how is it going to work? Binaries are > okay, but what's going to happen if your port has a library that it > wants to install? Or a header file? Let's take xpm for example. On my FreeBSD system, I've built it into /usr/local/xpm-3.4c (with bin, lib, and man subdirs) and linked it into /usr/local/{bin,lib,man}. Now I want to build fvwm-1.24r, which uses the xpm libraries (among others). In the Imakefile, I made the following changes: CDEBUGFLAGS = -L/usr/local/lib (and this stuff in configure.h) #define FVWMDIR "/usr/local/fvwm-1.24r/bin" #define FVWM_ICONDIR "/usr/local/fvwm-1.24r/bitmaps" #define FVWMRC "/usr/local/fvwm-1.24r/lib/system.fvwmrc" #define COMPILER CC=gcc -I/usr/local/include That's it. The build goes cleanly and installs just like xpm. If I have other things installed, like libtiff and libjpeg, a -L/usr/local/lib and -I/usr/local/include takes care of those, too. Some Imakefiles aren't quite as nice as fvwm's, and I have to do something like the following (which works about 70% of the time): LOCALROOT = /usr/local/pkg-rev BINDIR = $(LOCALROOT)/bin MANPATH = $(LOCALROOT)/man XAPPLOADDIR= ($LOCALROOT)/lib/app-defaults MKDIRHIER = $(PROJECTROOT)/bin/mkdirhier [content deleted for brevity] > > Adding a "required" environment variable to the user's space is a > bad idea, IMHO. XAPPLRESDIR should be left to the user in case she > wants to put her own stuff in a different place. We leave XENVIRONMENT to the user for this purpose, and set XAPPLERESDIR system wide to point to /usr/local/lib/app-defaults for local app-defaults files. We're about to leap from R5 to R6 on our systems, and I'm willing to bet all of our X clients (lots) will continue to work until we can rebuild them (may have to link /usr/local/X11R5 -> /usr/local/X11R6 so that libs can be found). Think of FreeBSD and /usr/X11R6 as a 'vendor supplied OS,' and the ports as 'gifts' that someone can install locally. If you upgrade the OS from SNAP to SNAP, the 'gifts' still work barring incompatible library changes. Travis
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199504191254.IAA12736>