to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
libXext/buildlink3.mk, now that it is included there.
Leave the places where its API version is set or variables from it
are used directly (about 3 packages).
Take over maintainership.
Changes for 1.1.1
*08/09/14:
* Fixed a minor pixmap resource leak (Henrik)
FbTk/Menu.cc, FbTk/ImageControl.cc/hh
*08/09/11:
* Fixed unshading crash (Mark)
src/FbWinFrame.cc
* Be aware of badly specified _NET_WM_ICONS (Mathias)
Ewmh.cc
*08/09/03:
* Added windowmenu to distpackage (Mark)
-----------------------------
Changes for 1.1.0
*08/09/01:
* When the current menu item gets disabled, highlight its nearest
neighbor and add separators to the focus model menu (Mark)
Screen.cc FbTk/Menu.cc
*08/08/22:
* Remove borders from maximized windows (Mark)
FbWinFrame.cc
* Add -sync command line option for debugging X issues (Mark)
fluxbox.cc/hh main.cc
*08/08/21:
* Added SendToNextHead and SendToPrevHead commands (Mark)
CurrentWindowCmd.cc/hh
*08/08/20:
* Added SetDecor key command (Mark)
CurrentWindowCmd.cc/hh
*08/08/19:
* Add new [transient] tag to apps file to match transient windows (Mark)
ClientPattern.cc/hh Remember.cc
*08/08/18:
* Combined code for MoveTo key command and saved window positions (Mark)
Side effects:
- both now have the following options: TopLeft Left BottomLeft Top
Center
Bottom TopRight Right BottomRight
- the CENTER reference in apps now behaves like WINCENTER
- some previously saved positions will be wrong, since they are now
computed relative to the toolbar and slit
- CENTER/WINCENTER will now work properly with Xinerama when placing
the window on a head other than the top left one
CurrentWindowCmd.cc/hh Remember.cc Window.cc/hh
* Add Top Center, Left Center, Right Center, and Bottom Center tab
placement options (Mark)
FbWinFrame.cc/hh Screen.cc FbTk/Container.cc/hh
*08/08/17:
* Add new key commands SetTitle and SetTitleDialog (thanks Matteo
Galiazzo)
CommandDialog.cc/hh TextDialog.cc/hh CurrentWindowCmd.cc/hh Makefile.am
*08/08/06:
* Created manual for fluxbox-remote (Mark)
doc/asciidoc/fluxbox-remote.txt doc/fluxbox-remote.1
* Automatically restore the previous background on startup (Mark)
RootTheme.cc/hh util/fbsetbg startfluxbox.in
*08/08/05:
* Fixed Focus key command (Mark)
CurrentWindowCmd.cc/hh FocusableList.cc/hh
* Added new SetLayer key command (Mark)
CurrentWindowCmd.cc/hh
* Make ShowDesktop command toggle between showing windows and desktop
(Mark)
WorkspaceCmd.cc
* Created new `fluxbox-keys' man page (thanks Jim Ramsay)
doc/asciidoc/fluxbox-keys.txt
* Make resize cursors consistent (thanks Dmitry E. Oboukhov)
FbWinFrameTheme.cc
*08/08/04:
* Add selection box to various "choose one of these" menu items (Mark)
Toolbar.cc Slit.cc Screen.cc LayerMenu.hh Xinerama.hh
StyleMenuItem.cc/hh
added FbTk/RadioMenuItem.hh
* Add window list argument to ArrangeWindows (Mark)
WorkspaceCmd.cc/hh
*08/06/26:
* Remove antiquated dithering code (Mark)
FbTk/ImageControl.cc/hh FbTk/TextureRender.cc Screen.cc/hh
*08/06/20:
* Move default window menu to ~/.fluxbox/windowmenu (Mark)
configure.in data/Makefile.am data/windowmenu Screen.cc
*08/06/08:
* Add (urgent=yes|no) option to client patterns (Mark)
ClientPattern.cc/hh
*08/06/06:
* Allow window menu items in ordinary menus (Mark)
MenuCreator.cc/hh
*08/06/04:
* Leave titlebar and handle borders alone with borderless windows (Mark)
FbWinFrame.cc/hh
*08/06/03:
* Add -list-commands command line option, which prints a list of valid
fluxbox commands (Mark)
main.cc
*08/05/13:
* Only reload custom menus when necessary (Mark)
FbCommands.cc/hh
*08/05/12:
* Only reload the keys file if the contents have changed (Mark)
Keys.cc/hh fluxbox.cc/hh
* Modifying the apps file no longer requires a reconfigure (Mark)
Remember.cc/hh
*08/05/09:
* Made tooltip in toolbar update when the title changes (Henrik)
Tooltip.cc/hh, Screen.cc/cc, OSDWindow.hh
*08/05/05:
* Add tooltips for iconbar buttons (thanks Matteo Galiazzo)
TooltipWindow.cc/hh
*08/05/02:
* Minor changes for fluxbox-generate_menu (thanks skiidoo)
util/fluxbox-generate_menu.in
*08/05/01:
* Notice when user replaces a non-existent menu file (Mark)
fluxbox.cc Screen.cc
*08/04/30:
* Don't allow empty root menu (Mark)
Screen.cc
*08/04/27:
* Added SimpleObserver class. (Henrik)
SimpleObserver.hh, SendToMenu.hh/cc, Toolbar.hh/cc,
SystemTray.hh/cc
*08/01/27:
* Reload the Xinerama layout on RandR signal (Tomas)
Screen.cc/hh
* Move windows out of inactive heads upon Xinerama layout change (Tomas)
Screen.cc/hh
*07/12/28:
* Added new key command :Delay {<command>} [<int>], which runs the
command
after a delay of <int> microseconds (default is 200 milliseconds)
(Mark)
FbTk/Timer.cc/hh
*07/12/25:
* Updated german translations for maximization menu (thanks Christian
Loosli)
nls/de_*/Translation.m
* Removed KDE configure option, since it didn't do anything (Mark)
configure.in config.h.in main.cc
* Added resource session.screen<N>.slit.acceptKdeDockapps: <boolean>
(Mark)
Screen.cc Slit.cc/hh
*07/12/23:
* Added new style items window.(un)focus.border{Width,Color} (Mark)
FbWinFrameTheme.cc/hh FbWinFrame.cc
*07/12/21:
* Added new key command :StartTabbing (Mark)
Window.cc/hh CurrentWindowCmd.cc/hh
*07/12/20:
* Added new key command :ForEach (or :Map) (Mark)
- :ForEach {<command>} [{ [{<list opts>}] [<bool command>] }]
- For example, the following command will shade all windows on the
current workspace:
ForEach {shade} {{groups} Matches (workspace=[current])}
- <list opts> can be any combination of `static' and `groups' where
static means windows are listed in creation order, and groups means
individual tabs are not considered separately
- This replaces syntax such as `:Minimize (layer)', which no longer
works
WorkspaceCmd.cc/hh
*07/12/19:
* Don't let transient windows steal focus from other programs (Mark)
Window.cc
*07/12/18:
* NLS entries for Mouse Tab Focus and Click Tab Focus were switched -
please make sure they're right now in your language, bug #1786566
(Mark)
fluxbox-nls.hh
* Open transient windows on same workspace as parent (thanks Sascha
Hunold)
Window.cc
* Holding control while clicking on a menu item will now keep the menu
open (Mark)
FbTk/Menu.cc MenuItem.cc/hh
*07/12/17:
* Fix startup items in apps file with specified screen number, bug
#1843325 (thanks Martin)
Remember.cc
*07/12/14:
* Fix compiling with gcc 4.3 (thanks Dmitry E. Oboukhov)
main.cc
*07/12/13:
* Fix configure option --with-style (thanks Slava Semushin)
configure.in Makefile.am
* Close menus only when they lose focus (Mark)
MenuCreator.cc FbTk/Menu.cc
* Moved command parsing code all over the place -- expect any patches
that add new commands to be broken (Mark, Simon)
Added FbTk/CommandRegistry.cc/hh
Removed FbCommandFactory.cc/hh CommandParser.cc/hh
*07/12/11:
* Added new resize modes for key command StartResizing: NearestEdge,
Left, Right, Top, Bottom (Mark)
Window.cc
* Only allow one menu to be open at a time (Mark)
FbTk/Menu.cc/hh
*07/12/09:
* Added OnTitlebar and Double modifiers to the keys file for clicks on
the titlebar and double clicks, respectively (Mark, thanks Matteo
Galiazzo)
- For example, `OnTitlebar Double Mouse3 :Maximize' will maximize a
window when you double click on the titlebar with the right mouse
button
- Note: if you have commands bound to both a single and double click,
the single click command will still be executed on the first half of
a double click
- Added new key commands ShadeOn and ShadeOff that set whether or not a
window is shaded, rather than toggling the current state
Window.cc Keys.cc/hh FbCommandFactory.cc
*07/11/22:
* Added some new special keys to the keys file: FocusIn, FocusOut,
MouseOver,
MouseOut, ChangeWorkspace (Mark)
- FocusIn/FocusOut correspond to a window gaining or losing focus, e.g.
the
following will raise all xterms when one gains focus:
FocusIn :If {Matches (xterm)} {Raise (xterm)} {}
- MouseOver/MouseOut correspond to the mouse moving over the window or
toolbar (when used with OnToolbar) -- OnDesktop not yet supported,
e.g.
the following will unshade a window when you move your mouse over it
with
alt pressed:
Mod1 MouseOver :If {Matches (shaded=yes)} {Shade} {}
- ChangeWorkspace corresponds to the workspace being changed, e.g. the
following will set a different wallpaper for each workspace:
ChangeWorkspace :Exec fbsetbg ~/.fluxbox/bg$(xprop -root
_NET_CURRENT_DESKTOP | awk '{print $3}').png
Keys.cc Window.cc Screen.cc Toolbar.cc
* Added translations for zh_TW (thanks Wei-Lun Chao)
* Fix division by 0 error when resize increments are set to 0 by an
application, bug #1836182
WinClient.cc
* Added conditional statements to key commands (Mark)
- for example, this will search for an open xterm window, cycle through
them if there are any, or else open one:
Mod4 t :If {Some Matches (xterm)} {NextWindow (xterm)} {Exec xterm}
- the syntax is :If {<test>} {<command if true>} {<command if false>}
- `Matches <pattern>' is currently the only test you can make; when
used
alone, it tests the focused window or the clicked window for OnWindow
mouse events
- there are many ways to combine tests:
- `Some <test>' returns true if any open client matches <test>
- `Every <test>' returns true if every open client matches <test>
- `Not <test>' negates the value of <test>
- `Or {<test>} {<test>} ...' returns true if any of the tests is true
- `And {<test>} {<test>} ...' returns true if all of the tests are
true
- `Xor {<test>} {<test>} ...' returns the boolean xor of the truth
values
FbCommandFactory.cc CurrentWindowCmd.cc/hh WorkspaceCmd.cc/hh
FbTk/Command.hh FbTk/SimpleCommand.hh, added files
FbTk/LogicCommands.cc/hh
*07/11/16:
* Added new key command :Focus [<pattern>] that focuses a window (e.g.,
using OnWindow or specified using a window pattern) (Mark, thanks Tomas
Janousek)
FbCommandFactory.cc
* Using ToggleDecor from Deco=TAB should hide tabs (thanks Tomas
Janousek)
Window.cc
*07/11/12:
* Allow arbitrary window patterns for the iconbar mode (Mark)
- Note: for now, if you match against the current head of a window, it
will
not be updated as expected in the toolbar
ClientPattern.cc/hh FocusControl.cc/hh IconbarTool.cc/hh
FbTk/Subject.cc fluxbox.cc, added FocusableList.cc/hh
*07/11/08:
* Fix crash when cycling focus and window closes, bug #1787345 (Mark)
FocusControl.cc
*07/11/04:
* Update autoraise delay on reconfigure (Mark)
Window.cc
*07/10/31:
* Move fullscreen windows to normal layer when they lose focus (Mark)
Window.cc FocusControl.cc
*07/10/24:
* Fixed some gcc 2.96 compile issues ( Henrik )
Layer.hh, MinOverlapPlacement.cc, Workspace.cc
* Introduced (workspacename=...) for pattern matching and changed
(workspace=...) to use the workspace number, indexed from 0 (Mark)
ClientPattern.cc/hh
* Reenabled raising window if window was moved by mouse by 0 pixels
(Mathias)
Window.cc
*07/10/23:
* Adding/removing workspaces wasn't updating menu (Mark)
Screen.cc
* Support remembering maximized, minimized, and fullscreen state (Mark)
- [Maximized] {yes|no|horz|vert}
- [Minimized] {yes|no}
- [Fullscreen] {yes|no}
- also fixed window placement when remembering head but not position
Window.cc/hh Remember.cc/hh Screen.cc/hh Ewmh.cc fluxbox-nls.hh
CurrentWindowCmd.cc
* Allow negated patterns, e.g. (name!=xterm) (Mark)
ClientPattern.cc/hh
*07/10/22:
* Added option "mouse" to client pattern ( Henrik )
This is usefull for xinerama. For example:
Mod1 Tab :NextWindow (head=[mouse])
This will cycle focus through windows that are on the same head as
the mouse pointer.
ClientPattern.cc
* Fixed crash bug at restart. ( Henrik )
Window.cc
* Replaced modKey with new commands StartMoving and StartResizing (Mark)
- your keys file should be updated automatically
- they must be used with a mouse button, or they won't work
- StartResizing takes one or none of the following arguments:
NearestCorner, Center, TopLeft, TopRight, BottomLeft, BottomRight
Window.cc/hh CurrentWindowCmd.cc/hh FbCommandFactory.cc Screen.cc/hh
fluxbox.cc/hh ScreenResources.cc FbCommands.cc/hh
util/fluxbox-update_configs.cc
*07/10/21:
* Allow decorations bitmask to be specified using '0x' (Mark)
Window.cc
*07/10/18:
* Fixed gcc 2.96 compile problem ( Thanks rumpole at hotmail )
bug #1809786
src/FbTk/TextBox.cc
*07/10/15:
* Added OnWindow modifier to keys file (Mark)
Keys.cc Window.cc Screen.cc CurrentWindowCmd.cc
*07/10/14:
* Added support for transient windows in window patterns, e.g.
(transient=yes|no), defaulting to "no" for the apps file (Mark)
Remember.cc ClientPattern.cc/hh Focusable.hh Window.cc/hh
* Bugfix for SendToPrevWorkspace/TakeToPrevWorkspace (Mathias)
CurrentWindowCmd.cc/hh
*07/10/13:
* Merged pre-devel branch; see all Changes since 1.0.0 (Mark)
* Updated ru_RU (Thanks Konstantin Shashkin)
* deiconify windows via :Deiconify in reverse order (Mathias)
FbCommands.cc
*07/05/23:
* Added key command :Attach <pattern> which groups all windows matching
the given pattern (Mark)
FbCommandFactory.cc WorkspaceCmd.cc/hh
*07/05/20:
* Added resources session.screen<N>.maxDisable{Move,Resize}: <boolean>,
which
prevent maximized windows from being moved/resized (Mark)
Window.cc Screen.cc/hh nls/fluxbox-nls.hh
*07/05/19:
* Changed behavior of resource session.screen<N>.followModel (Mark)
- now only options are Ignore and Follow, the latter using the setting
in
session.screen<N>.userFollowModel
Window.cc/hh Ewmh.cc Screen.cc/hh
*07/05/16:
* Added new resource session.screen<N>.noFocusWhileTypingDelay: <int>
(Mark)
- specifies a time in milliseconds that new windows should not gain
focus while the user is typing in the focused window
Window.cc/hh Screen.cc/hh
*07/05/13:
* Added new placement policies {Row,Col}MinOverlapPlacement. They behave
the same as {Row,Col}SmartPlacement when the window fits but fall back
on minimizing overlap with other windows instead of CascadePlacement
(Mark)
MinOverlapPlacement.cc/hh ScreenPlacement.cc/hh
*07/04/23:
* Set IconicState on all unmapped clients and unmap clients with frames,
as per ICCCM 4.1.4 (Mark)
Screen.cc Window.cc FocusControl.cc
* Added ClientMenu key command, which pops up a menu of open windows,
based
on a pattern match
- e.g. :ClientMenu (workspace=[current]) (minimized=no)
ClientMenu.cc FbCommands.cc/hh FbCommandFactory.cc
*07/04/11:
* Added resource session.screen<N>.maxIgnoreIncrement: <boolean>, to
disable size checking when maximizing a window (e.g. terminals) (Mark)
- Also added a new configuration submenu for maximize options, to be
filled at a later date
Screen.cc/hh Window.cc
*07/04/08:
* Added OnToolbar modifier to keys file (Mark)
Keys.cc/hh Toolbar.cc/hh Screen.cc/hh IconbarTool.cc fluxbox.cc
*07/04/06:
* More changes to theme handling (Mark)
- introduced window.label.(un)focused.{justify,border{Color,Width}},
which fallback to window.label.{justify,border{Color,Width}} before
window.{justify,border{Color,Width}}
- this has the backwards-incompatible effect that
toolbar.iconbar.(un)focused.* fallback first to toolbar.iconbar.* and
then to window.label.*
FbWinFrame.cc/hh IconbarTool.cc/hh IconButton.cc/hh IconbarTheme.cc
FbWinFrameTheme.cc/hh
*07/04/03:
* Added window.label.(un)focused.font to styles (Mark)
FbWinFrame.cc
*07/03/31:
* [group] tag in apps file may now have a pattern appended to it, and a
new window will only be automatically attached to the group if the group
matches that pattern -- e.g. [group] (workspace) (shaded=no) will only
automatically group with windows on the current workspace that are not
shaded (Mark)
Remember.cc/hh
* Lots of window commands now take a client pattern as an additional
argument, and the command will then be applied to all matching windows
(Mark)
- For example: `SendToWorkspace 2 (xterm)' will send all xterm windows
to workspace 2
- Here is the full list of affected commands (which is not to imply they
all necessarily make sense to do): Fullscreen, Minimize, Maximize,
MaximizeVertical, MaximizeHorizontal, SetAlpha, Resize, ResizeTo,
ResizeHorizontal, ResizeVertical, MoveTo, Move, MoveRight, MoveLeft,
MoveUp, MoveDown, Raise, RaiseLayer, Lower, LowerLayer, Close, Kill,
Shade, Stick, ToggleDecor, SetHead, Tab, SendToNextWorkspace,
SendToPrevWorkspace, TakeToNextWorkspace, TakeToPrevWorkspace,
SendToWorkspace, TakeToWorkspace, NextTab, PrevTab, MoveTabLeft,
MoveTabRight, DetachClient
WorkspaceCmd.cc/hh CurrentWindowCmd.cc/hh FbCommandFactory.cc
*07/03/30:
* Changed syntax for window cycling (Mark)
- Instead of a bitmask, the window cycling functions NextWindow,
PrevWindow, TypeAheadFocus, and GoToWindow now take a list of options
enclosed in {} followed by a pattern similar to those used in the
apps
file.
- Examples:
* NextWindow {static groups} (shaded=yes) (name=xterm)
- cycles through all shaded xterms in creation order, only
focusing
the active tab in the group
* GoToWindow 3 (title=[current])
- focuses the third client in last-focused order with the same
title
as the currently focused window
- The options are: name, class, title, role, maximized, minimized,
shaded, stuck, focushidden (can't be disabled), iconhidden, workspace
(matches workspace names, not numbers), head (numbers), and layer
(names)
- Parsing is a pain, so you'll have to update your keys file yourself
for now.
*07/03/29:
* Removed groups file; entries will be added to the apps file
automatically (Mark)
* Fixed a problem with programs starting in IconicState (Mark)
*07/03/27:
* Added new resource session.screen<N>.clientMenu.usePixmap that puts the
window's icon in the workspace and icons menus: default true. (Mark)
- For some reason, it doesn't work with un-shaped icons yet, but I've
spent way too many hours already trying to figure out why
* Use IconTitle in iconbar for minimized windows (Mark)
*07/03/25:
* Added new resource session.screen<N>.tabs.usePixmap that puts the
window's
icon in the tab, if available. This is on by default. (Mark)
Window.cc FbWinFrame.cc/hh WinClient.cc Screen.cc/hh
*07/03/24:
* Added new key command GoToWindow (Mark)
- Syntax is GoToWindow <int> [<bitmask>], where the int gives the
position of the desired window with respect to a list of windows,
and the bitmask is the same as for NextWindow. A negative number for
<int> will count back from the end of the list.
- Particularly useful examples are GoToWindow <int> 9 and
GoToWindow <int> 25, which will focus the window at position <int> in
the iconbar modes Workspace and WorkspaceNoIcons, respectively.
* Fixed creation order window cycling with tabbed windows (Mark)
*07/03/21:
* Added new command TypeAheadFocus (Mark)
- syntax is the same as for NextWindow; when you run the command, you
can start typing the title of the window, and it will gain focus;
pressing tab will cycle through all matching entries using the
options specified; when you've found the window you want, just press
return or escape
WinClient.hh Screen.cc/hh FbCommandFactory.cc WorkspaceCmd.cc/hh
News in 1.0.0:
* New default style: bloe
* New styles:
ostrich zimek_darkblue, zimek_green, zimek_bisque,
carp, arch, bora_black, bora_blue, bora_green, green_tea, bloe
* Fixed shape handling, now shaped corners have border.
* Allow negative numbers in command "Workspace"
* Added utility fluxbox-remote
* Allows script access to most fluxbox commands;
Support must be turned on in the init file with
session.screen.allowRemoteActions; the syntax is, e.g.,
fluxbox-remote "CustomMenu ~/.fluxbox/custommenu"
* Added keycommands :AddWorkspace and :RemoveLastWorkspace
* Added some missing Open Office entries and window managers,
plus some other minor changes in fluxbox-generate_menu
* Updated languages:
sv_SE, zh_CN, de_*, es_ES, es_AR, en_US, en_GB, pt_*
fi_FI, fr_FR, ru_RU
And a lot of bugfixes, please review the Changelog file for more info.
Apply a patch by Dan Bilik to remove optimisation flags that cause compiler to
fail
Changelog contains many bugfixes and improvements:
- New resource/command: session.modKey, command SetModKey
- More ewmh support: _NET_WM_WINDOW_TYPE_DIALOG and _NET_FRAME_EXTENTS
- External tabs are back
- Added support for net wm atoms
- Added new commands: ToggleCmd, CloseAllWindows
- Supports urgency hint ( flashing titlebar/iconbar )
- Pressing shift while pressing enter in menu item will fake a right mouse
button press.
- Better UTF-8 handling
- Added option to reverse desktop wheeling: session.screen0.reversewheeling
- Vertical toolbar is back
packages with the modular Xorg equivalent. Those are falling back
to the old location by default, so this commmit doesn't change
dependencies.
graphics/xpm ==> x11/libXpm
fonts/Xft2 ==> x11/libXft
x11/Xfixes ==> x11/libXfixes
x11/xcursor ==> x11/libXcursor
x11/Xrender ==> x11/libXrender
x11/Xrandr ==> libXrandr
Remove patch-a{b,d} as they are already applied upstream
Main changelog entries:
in 0.9.15.1:
- Removed the green background on styles that are not using the new background
option.
- Bug fixes (compile errors, crash and placement config)
in 0.9.15:
* Added styleOverlay resource
- session.styleOverlay: ~/.fluxbox/overlay
* New theme item: background.*
* Added new resize mode: Center
* Resources changes for titlebar:
- The titlebar is now configured by setting:
* session.screen.titlebar.left
* session.screen.titlebar.right
* nls changes: added ko_KR, updated zh_CN, nb_NO
* Many bug fixes
by fluxbox and is not compatible with blackbox's bsetroot any more. This
was caused by an incomplete bsetroot->fbsetroot rename in fluxbox's code
(not our fault); will report to authors in a minute. Bump PKGREVISION to 3.
Fixes PR 30229
The changelog contains:
* Massive speed- and memory- improvements
* Added new Buttons for the Titlebar
* Added more Key Actions to TextBoxes
* Added some style resources
* Added new Iconbar Modes
* Added -screen <"all"|int[,int]>
and a few bugfixes, segfaults and 64 bit issues
approved by jmcneill@
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.