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.
* Alt-Tab Window Switching
Changes 0.90.0:
* NetWM / EWMH Support
* Antialiased font support
* Global Submenus
* UTF-8 Support
* Icon Panel for Alt-Tabbing
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
by moving the inclusion of buildlink3.mk files outside of the protected
region. This bug would be seen by users that have set PREFER_PKGSRC
or PREFER_NATIVE to non-default values.
BUILDLINK_PACKAGES should be ordered so that for any package in the
list, that package doesn't depend on any packages to the left of it
in the list. This ordering property is used to check for builtin
packages in the correct order. The problem was that including a
buildlink3.mk file for <pkg> correctly ensured that <pkg> was removed
from BUILDLINK_PACKAGES and appended to the end. However, since the
inclusion of any other buildlink3.mk files within that buildlink3.mk
was in a region that was protected against multiple inclusion, those
dependencies weren't also moved to the end of BUILDLINK_PACKAGES.
"Package Makefiles should refer to PKG_SYSCONFBASEDIR instead of
PKG_SYSCONFBASE when they want PKG_SYSCONFDIR stripped of
PKG_SYSCONFSUBDIR. This makes PKG_SYSCONFBASE=/etc work with pkgviews by
installing all config files into /etc/packages/<pkg> instead of
occasionally putting some directly into /etc."
USE_GCC2 or USE_GCC3 where appropriate.
the functionality of the old gcc.buildlink2.mk has been rolled into
compiler.mk now, which is automatically used.
more changes to come later...
now and not NetBSD-*-arm32. Changes include one or more of:
- Change MACHINE_ARCH == arm32 to also match arm
- Where ONLY_FOR_PLATFORM includes NetBSD-*-arm32, add NetBSD-*-arm
- Where BROKEN or worked around for arm gcc bugs, set USE_GCC3
The last may shake out a few more broken packages the next bulk build.
have it be automatically included by bsd.pkg.mk if USE_PKGINSTALL is set
to "YES". This enforces the requirement that bsd.pkg.install.mk be
included at the end of a package Makefile. Idea suggested by Julio M.
Merino Vidal <jmmv at menta.net>.
- Fixed a bug that crashed wmaker when closing a window if multiple screens
were managed by wmaker
- Fixed a problem that crashed wmaker when trying to read an unexisting
WMState.<number> file on multihead system
- Fixed problem with keyboard shortcuts executed an every screen for
multihead systems
- Updated traditional chinese translations
- Fixed buglet in non-caching rootmenu option
- Added Malay translation
- Fixed problem with kcalc not having a miniaturize button
- Added "Hide Others" to the window menu
- Fixed text in info panel for multibyte
- Separated the font caches for normal fonts and fontsets in WINGs (they can
have the same names and collide in the cache giving unwanted results)
- Fixed Legal Panel not to display rectangles in place of new lines
- Fixed problem with losing focus when changing to an empty workspace and back
- Fixed another focus related problem when changing workspaces
- Fixed problem with saving session when shared appicon is enabled (not
all instances were saved in the session, only one per shared appicon)
- Added support for the ukrainian language in wsetfont
- Fixed a bug that crashed Window Maker when setting the "Emulate AppIcon"
option for a window using the window Inspector
- Let XRender transparent window be see-through to desktop
- Added Greek (el) language pixmap
- Fixes icons being reduced twice when icon size != 64x64
- Fixed a bug that crashed wmaker when selecting the "Start alternate window
manager" option in the crashing dialog panel
- Window Maker will now use the WINDOWMAKER_ALT_WM environment variable (if
it is defined) to overwrite the default hardcoded fallback window manager
- Fixed marks for menu entries to be grayed as the text for disabled entries
- Fixed Clip's "Autoraise" option to be marked as disabled when the
"Keep on Top" option is active
- Added ability to browse for files/directories in the WPrefs menu editor
- Added Czech translations of documentation
- Fixed segfault with incomplete WM_CLASS specifications
- Fixed a bug about arranging subviews in a WMBox after removing a subview
and a memleak occuring in the same situation
- Fixed a bug in wdread
- Fixed bug with windows that have WM_HINTS.take_focus = False. These windows
will not receive focus at all
- Fixed a buffer overflow in winmenu.c
- Fixed a bug that crashed wmaker when closing a window if multiple screens
were managed by wmaker
- Fixed a problem that crashed wmaker when trying to read an unexisting
WMState.<number> file on multihead system
- Fixed problem with keyboard shortcuts executed an every screen for
multihead systems
- Updated traditional chinese translations
- Fixed buglet in non-caching rootmenu option
- Added Malay translation
- Fixed problem with kcalc not having a miniaturize button
- Added "Hide Others" to the window menu
- Fixed text in info panel for multibyte
- Separated the font caches for normal fonts and fontsets in WINGs (they can
have the same names and collide in the cache giving unwanted results)
- Fixed Legal Panel not to display rectangles in place of new lines
- Fixed problem with losing focus when changing to an empty workspace and back
- Fixed another focus related problem when changing workspaces
- Fixed problem with saving session when shared appicon is enabled (not
all instances were saved in the session, only one per shared appicon)
- Added support for the ukrainian language in wsetfont
- Fixed a bug that crashed Window Maker when setting the "Emulate AppIcon"
option for a window using the window Inspector
- Let XRender transparent window be see-through to desktop
- Added Greek (el) language pixmap
- Fixes icons being reduced twice when icon size != 64x64
- Fixed a bug that crashed wmaker when selecting the "Start alternate window
manager" option in the crashing dialog panel
- Window Maker will now use the WINDOWMAKER_ALT_WM environment variable (if
it is defined) to overwrite the default hardcoded fallback window manager
- Fixed marks for menu entries to be grayed as the text for disabled entries
- Fixed Clip's "Autoraise" option to be marked as disabled when the
"Keep on Top" option is active
- Added ability to browse for files/directories in the WPrefs menu editor
- Added Czech translations of documentation
- Fixed segfault with incomplete WM_CLASS specifications
- Fixed a bug about arranging subviews in a WMBox after removing a subview
and a memleak occuring in the same situation
- Fixed a bug in wdread
- Fixed bug with windows that have WM_HINTS.take_focus = False. These windows
will not receive focus at all
- Fixed a buffer overflow in winmenu.c
- Fixed a bug that crashed wmaker when closing a window if multiple screens
were managed by wmaker
- Fixed a problem that crashed wmaker when trying to read an unexisting
WMState.<number> file on multihead system
- Fixed problem with keyboard shortcuts executed an every screen for
multihead systems
- Updated traditional chinese translations
- Fixed buglet in non-caching rootmenu option
- Added Malay translation
- Fixed problem with kcalc not having a miniaturize button
- Added "Hide Others" to the window menu
- Fixed text in info panel for multibyte
- Separated the font caches for normal fonts and fontsets in WINGs (they can
have the same names and collide in the cache giving unwanted results)
- Fixed Legal Panel not to display rectangles in place of new lines
- Fixed problem with losing focus when changing to an empty workspace and back
- Fixed another focus related problem when changing workspaces
- Fixed problem with saving session when shared appicon is enabled (not
all instances were saved in the session, only one per shared appicon)
- Added support for the ukrainian language in wsetfont
- Fixed a bug that crashed Window Maker when setting the "Emulate AppIcon"
option for a window using the window Inspector
- Let XRender transparent window be see-through to desktop
- Added Greek (el) language pixmap
- Fixes icons being reduced twice when icon size != 64x64
- Fixed a bug that crashed wmaker when selecting the "Start alternate window
manager" option in the crashing dialog panel
- Window Maker will now use the WINDOWMAKER_ALT_WM environment variable (if
it is defined) to overwrite the default hardcoded fallback window manager
- Fixed marks for menu entries to be grayed as the text for disabled entries
- Fixed Clip's "Autoraise" option to be marked as disabled when the
"Keep on Top" option is active
- Added ability to browse for files/directories in the WPrefs menu editor
- Added Czech translations of documentation
- Fixed segfault with incomplete WM_CLASS specifications
- Fixed a bug about arranging subviews in a WMBox after removing a subview
and a memleak occuring in the same situation
- Fixed a bug in wdread
- Fixed bug with windows that have WM_HINTS.take_focus = False. These windows
will not receive focus at all
- Fixed a buffer overflow in winmenu.c
buildlink2.mk files back into the main trunk. This provides sufficient
buildlink2 infrastructure to start merging other packages from the
buildlink2 branch that have already been converted to use the buildlink2
framework.
Remove `-p' from mkdir arguments, it is already part of ${MKDIR}.
While here substitute a couple of ${PREFIX} by `%D' in
`@exec ${MKDIR} ...' lines and add a couple of missing `%D' in such lines too!
all dependencies on packages depending on "png" which contain shared
libraries, all for the (imminent) update to the "png" package.
[List courtesy of John Darrow, courtesy of "bulk-build".]
[Note: If you've used Windowmaker before, you might want to read
the NEWS file included with the distribution (on each update, really).]
More interesting changes:
- Disabled window birth animation by default (while it was ok with normal
windows, it was very annoying with menus editing in WPrefs.app)
- Added ability to shade/unshade a window using the mouse wheel.
- Added "Save workspace state" switch button on the exit confirmation panel
(based on a patch sent by Jan Tomka <judas@linux.sk>)
- SIGTERM is now handled and saves the internal state before exiting (like
SIGHUP and SIGINT already do). Now a "kill wmaker_pid" will exit cleanly
saving dock/clip/session information on exit.
- Deminiaturizing a window that is also shaded, will perform an unshade too.
(Note that this only applies to deminiaturizing shaded windows. Unhiding
an application will keep the shaded/unshaded state of windows.)
- Removed compile time option for definable cursors and made them available by
default.
- Mapping a new window that belongs to a running application that is hidden,
will unhide the application.
- Removed the collapse appicons thing.
- Added real appicon sharing (apps of the same kind will have a single shared
appicon).
- Fixed user and global defaults domain merging to preserve values present in
global but not in user, in sub-dictionaries.
- Made dock/clip steal appicons of applications that were started from a
shell/xterm or from the main menu, if there is a docked appicon of that
class that is not running at the time the app is launched.
- Added animation to show that the appicon was stolen by the dock (the way
NEXTSTEP did - map an appicon as it normally would have been, then slide it
to the position the docked appicon is).
- Updated the animation constants for scrolling/sliding/shading to better
adapt to newer/faster machines. Also used wusleep(10) when the delay was 0
to get rid of the jerky animation when there was no delay.
- Saving a domain file will first strip all entries that are also present in
the global domain as well and are exactly the same. This fixes a bug where
settings from the global domain file were merged in the user domain file
and further changes in the global domain file for those merged values was
ignored making a system admin unable to set global defaults for all users
using the global domains.
Also, some bug fixes and localization updates.
redefines about which buildlink.mk files would care is BUILDLINK_X11_DIR,
which points to the location of the X11R6 hierarchy used during building.
If x11.buildlink.mk isn't included, then BUILDLINK_X11_DIR defaults to
${X11BASE} (set in bsd.pkg.mk), so its value is always safe to use. Remove
the ifdefs surrounding the use of BUILDLINK_X11_DIR in tk/buildlink.mk and
revert changes to move x11.buildlink.mk before the other buildlink.mk files.
use X11_BUILDLINK_MK as a test value. Generally just reordering the
inclusions so that x11.buildlink.mk comes before the other buildlink.mk
files will make everthing work.
by me.
Changes are bugfixes, and the following:
- copy/paste launching in Dock
- internal code clean-up with notifications for window state change and other
stuff
- removed the libPropList dependancy by adding property list handling
code to WINGs. This code is not only better integrated with the other
WINGs data structures, but it's also more robust. Also a backward
compatibility header file is provided which maps old libPropList
function names to the new WINGs based proplist names allowing old code
to be linked to WINGs with minimal changes. For details on how to use
the compat mode, read the comments on top of WINGs/WINGs/proplist-compat.h
More details about this can be found in WINGs/ChangeLog and WINGs/NEWS.
Say bye, bye libPropList =)
- rewrote all Window Maker code to use the new WINGs based proplist functions.
to ${X11BASE} in the header and library search paths into references to
${LOCALBASE}/share/x11-links. These packages should now be strongly-
buildlinked regardless of whether xpkgwedge is installed.
Changes well-tested on NetBSD-1.5X/i386 with and without xpkgwedge and
lightly-tested on NetBSD-1.5.1/alpha without xpkgwedge.
Include a bugfix for lisp_LISP independently discovered by me that has
been pulled up to the automake-1-4 branch of automake cvs.
Changes are:
New in 1.4-p5:
* Allow AM_PROG_LIBTOOL again.
* Diagnose AC_CONFIG_HEADERS the same as AC_CONFIG_HEADER.
* Display distributed file list correctly in usage message.
* Allow numbers in macro names.
* Bugfixes.
New in 1.4-p4:
* Deal with configure.ac as well as configure.in -- this time for real!
* The version numbering system now allows three point version numbers,
such as 1.4.4, without thinking they are alpha release numbers.
New in 1.4-p3:
* Deal with configure.ac as well as configure.in.
* Don't complain if `version.texi' is included in multiple places.
New in 1.4-p2:
* Deal with AC_CONFIG_FILES from autoconf-2.50.
* Improvements to f77 support.
* DESTDIR now works for script targets.
* distcheck-hook works correctly.
New in 1.4-p1:
* The version numbering system now allows fork identifiers (such as
the p1 in this version of automake).
* Cope gracefully with various versions of libtool which may or may not
require ltconfig, ltcf-c.sh, ltcf-cxx.sh or ltcf-gcj.sh.
* Bugfixes.
0.65.0 are:
- removed FocusFollowMouse from wmaker and WPrefs
- fixed problem with alpha images showing a blue tint on big endian machines
- fixed problem with WINGs based apps exiting with a "X_RotateProperties"
related error when text was selected in a textfiled (including WPrefs.app
and Window Maker itself).
- fixed bug with maximization of windows with fixed resize increments
- added None geometry display type
- fixed window enumeration bug
- removed GNUisms from wsetfont (Marcelo E. Magallon <marcelo.magallon@bigfoot.com>, Masahide -mac- NODA <mac@clave.gr.jp>)
- added slovakian translations from (tomka@oalevice.sk)
- added WINGs i18n patch from tomka@oalevice.sk
- fixed wmsetbg.c to work in servers capable of multiple depths (overlay)
- added HMaximizeKey (Ruda Moura <ruda@conectiva.com.br>)
- fixed bad SIGPIPE handling setup across forks (Philippe Troin <phil@fifi.org>)
- added workaround for bug in locale handling on font set creation (Seiichi SATO <sato@cvs-net.co.jp>)
- Fixed some non-portable shell constructs used in installed scripts
(Johnny C. Lam <lamj@stat.cmu.edu>)
- Fixed crash with long titles in the window list menu (buffer overflow)
(Alban Hertroys <dalroi@wit401310.student.utwente.nl>, reported by
Robert Marshall <robert@chezmarshall.freeserve.co.uk>)
- Replaced almost all sprintf() calls with snprintf()
- fixed crash when removing menu entry for Window List or Workspace submenu
BUILDLINK_PREFIX.<pkgname>. This allows buildlink to find X11BASE packages
regardless of whether they were installed before or after xpkgwedge was
installed. Idea by Alistair Crooks <agc@pkgsrc.org>.
(1) [ doesn't understand ==; use = instead.
(2) i=${!tmp} is apparently intended to do the equivalent of
eval i=\$$tmp; so use the latter instead.
I don't see how this script ever worked before.
(1) [ doesn't understand ==; use = instead.
(2) (( ... )) isn't valid /bin/sh; use [ ... ] instead.
(3) ${foo:0:4} to get the first 4 letters of ${foo} isn't valid
/bin/sh, so use a loop to remove letters off the end until
only 4 letters remain.
Bug fixes for GNOME interaction; fixes for window positions/states after
wm crashes; removed single appicon stuff; fixed race conditions on signal
handlers; SIGINT will gently exit, SIGTERM will not be handled; better alpha
handling in some cases; MouseButton handling done differently (don't bind
Button to Action, but Action to Button); made "Keep on Top" in the dock/clip
menu a checked menu entry.
Please note: There was a bug in XPM saving -- please delete your icons in
~/GNUstep/.AppInfo/WindowMaker, they will be recreated on the next start
of the corresponding programs.
first component is now a package name+version/pattern, no more
executable/patchname/whatnot.
While there, introduce BUILD_USES_MSGFMT as shorthand to pull in
devel/gettext unless /usr/bin/msgfmt exists (i.e. on post-1.5 -current).
Patch by Alistair Crooks <agc@netbsd.org>
- fixed messup in get-{wings,wutil,wraster}-flags
- fixed #wmdatadir# substitution in wmaker.inst
(Seiichi SATO <sato@cvs-net.co.jp>)
- Removed spurious focus disabling for GNUstep applications
- Fixed broken panels.
- decreased nice() value in wmsetbg
- applied gnome panel not-covering patch
- added item copy to WPrefs menu editor
- added locale selection code for menu in wmaker.inst
- fixed bug in built-in xpm support
- removed plugin support
- fixed a crash bug in WPrefs menu editor
- added updated single-click patch
- fixed WindozeCycling config in WPrefs
- fixed circulate raise withour WindozeCycling
- added wmagnify utility
- changed behaviour of control/shift double click on titlebar for maximize
- updated getstyle to account for extendspace options
- fixed weird color bug in jpeg loader
- improved and simplified fonts configuration for multibyte languages
- cleaned ParseCommand() and renamed to TokenizeString()
- rewrote menu editor in WPrefs
- fixed circulateraise on non-windoze cycling mode
- fixed bug with incorrect reading of ppm files
- fixed bug with incorrect window placement using automatic placement, while
there were shaded windows on other workspaces
- fixed some buffer overflow issues in WINGs
- fixed bug with WPrefs.app not selecting the menu appearance options after
startup.
- fixed some memory leaks generated by wstrappend()
- fixed code that was dependant on the order of evaluation in wrlib. This
fixed a number of problems, like greyscale jpegs that showed up in red
and possibly the problems with pseudocolor displays.
- made clicks on unfocused windows be effective on focus follow mouse/sloppy
using the newest PNG library won't work on system with an older one. To
prevent such problems with precompiled binary packages require at least
"png-1.0.9nb1" in all dependences.
out of date - it was based on a.out OBJECT_FMT, and added entries in the
generated PLISTs to reflect the symlinks that ELF packages uses. It also
tried to be clever, and removed and recreated any symbolic links that were
created, which has resulted in some fun, especially with packages which
use dlopen(3) to load modules. Some recent changes to our ld.so to bring
it more into line with other Operating Systems also exposed some cracks.
+ Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain
the ELF symlinks.
+ Don't mess about with file system entries when handling shared objects in
bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will
have got it right, and have a much better idea than we do.
+ Modify PLISTs to contain "ELF symlinks"
+ On a.out platforms, delete any "ELF symlinks" from the generated PLISTs
+ On ELF platforms, no extra processing needs to be done in bsd.pkg.mk
+ Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on
a.out platforms
+ Update the documentation in Packages.txt
With many thanks to Thomas Klausner for keeping me honest with this.