freebsd-ports/x11-wm
Alexey Dokuchaev 529fb56e36 Get rid of hand-rolled do-build' and do-install' targets which serve the
sole purpose to avoid using our standard MAKE_ENV.

They were introduced in r279589 as part of "update to 0.0.6" PR 159499 by
Kato (duh!) some four years ago; in r359185 bapt@ had mentioned that "lots
of invocation of MAKE_CMD here are wrong as they do not properly respect
MAKE_ENV" (which is ironic as avoiding MAKE_ENV *is* their only point) but
the the real problem was neither fixed nor rationale for ugly work-around
explained.

The port builds itself through a series of recursive make(1) calls, and is
using variables to pass various bits of internal state to submakes.  This
approach typically requires strict discipline and can be hard to implement
correctly, to an extent being considered harmful [Miller 1997].

Incidentally, ${MAKE_ENV} includes variables that are 1) used by the port's
own build logic and 2) are not handled in a robust way by it.

Problem #1: consider the following code from `Makefile.rules.gnu.in':

  ifndef LIBDIR
    LIBDIR=.
  endif

This is roughly equivalent to the following:

  ifeq ($(origin LIBDIR), undefined)
    LIBDIR=.
  else
    # use whatever LIBDIR value make(1) can deduce
  endif

Knowing that LIBDIR is set to some other value (`..') by inner makefiles,
that code can be rewritten more elaborately like this:

  ifeq ($(origin LIBDIR), undefined)
    LIBDIR=.
  else ifeq ($(origin LIBDIR), file)
    # use LIBDIR value set by some Makefile
  else
    # use whatever LIBDIR value make(1) can deduce
  endif

Now, because LIBDIR is passed to make(1) via MAKE_ENV and the code above
does not have "ifeq ($(origin LIBDIR), environment)" check, the build was
affected by unexpected bogus value of it and subsequently failed.  Since
the only valid place we can expect "our" LIBDIR to come from is makefiles,
we can inhibit unwanted pollution from the environment by rewriting the
initial code like this:

  ifneq ($(origin LIBDIR), file)
    LIBDIR=.
  endif

Problem #2 is similar: checking for CFLAGS and LDFLAGS to protect their
initial assignment is very fragile as many frameworks akin to the Ports
Collection would provide some default values.  While it is usually safe
to append to them, it is almost always a bad idea to use them verbatim.

Apparently, these checks were put there to support resetting CFLAGS and
LDFLAGS in `util/Makefile', but since removing them does not hurt do so
regardless of small pollution in that one case that does not affect the
build in any noticeable way.
2015-10-19 15:05:16 +00:00
..
aewm Convert to option helpers 2015-09-13 14:11:08 +00:00
afterstep - cleanup 2015-10-08 03:57:16 +00:00
afterstep-stable It seems some people keep adding $FreeBSD$ to patch files. 2015-09-16 13:03:45 +00:00
amiwm - Fix shebangs 2015-09-02 22:49:14 +00:00
antiwm Reset dhn's ports 2015-06-12 20:58:13 +00:00
awesome Switch ports depending on docbook* through a directory name to a package name, 2015-01-23 22:50:49 +00:00
awesome-vicious - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
awesome2 - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
bbkeys
bbpager - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
blackbox - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
bspwm - Don't duplicate examples in DOCSDIR 2015-06-16 00:08:58 +00:00
ccsm Part 2 of adding USE_GNOME=intltool to ports that require it. 2015-08-05 07:39:47 +00:00
clementine Remove $FreeBSD$ from patches files everywhere. 2015-05-22 20:34:27 +00:00
compiz Part 1 of adding USE_GNOME=intltool to ports that require it. 2015-08-02 20:23:55 +00:00
compiz-fusion x11-wm/compiz-fusion: cleanup 2015-07-15 20:58:53 +00:00
compiz-plugins-extra Make sure these compiz ports depend on gconf2 so the GCONF_SCHEMAS 2015-08-09 18:56:48 +00:00
compiz-plugins-main Make sure these compiz ports depend on gconf2 so the GCONF_SCHEMAS 2015-08-09 18:56:48 +00:00
compiz-plugins-unsupported Make sure these compiz ports depend on gconf2 so the GCONF_SCHEMAS 2015-08-09 18:56:48 +00:00
compizconfig-backend-gconf
compizconfig-python By default libtool replaces -export-symbols <file> with -retain-symbols-file 2015-08-02 15:03:19 +00:00
compton Update ports in the remaining categories to not use GH_COMMIT. 2015-05-07 20:24:15 +00:00
ctwm Convert to USES=jpeg 2015-06-22 18:33:20 +00:00
cwm Replace most occurences of github.com in MASTER_SITES with USE_GITHUB usage. 2015-05-18 17:07:45 +00:00
devilspie Part 1 of adding USE_GNOME=intltool to ports that require it. 2015-08-02 20:23:55 +00:00
dwm
e-module-alarm Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-cpu Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-deskshow Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-diskio Deprecate ports broken for more than 6 months 2015-09-26 21:39:10 +00:00
e-module-everything-places Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-everything-websearch Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-forecasts Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-mem Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-mpdule Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-net Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-penguins Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-places Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-rmb Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-tclock Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-module-wlan Over to the enlightement team 2015-04-16 21:55:10 +00:00
e-modules Back to the pool. 2015-04-16 20:13:43 +00:00
e16 - Add LICENSE_FILE 2015-09-02 22:40:54 +00:00
e16-docs Over to the enlightement team 2015-04-16 21:55:10 +00:00
echinus
ede Improve shebangfix framework 2015-10-19 14:50:52 +00:00
emerald Part 2 of adding USE_GNOME=intltool to ports that require it. 2015-08-05 07:39:47 +00:00
enlightenment Update to 0.19.12 2015-10-07 00:06:45 +00:00
epplets over to enlightenment@ 2015-04-16 22:16:07 +00:00
euclid-wm MASTER_SITES cleanup. 2015-05-14 10:15:04 +00:00
evilwm
fbcmd
fluxbox MASTER_SITES cleanup. 2015-05-14 10:15:04 +00:00
fluxconf - Add LICENSE 2015-09-03 18:50:52 +00:00
fluxter - attach license 2015-02-19 00:08:23 +00:00
flwm - clerify 2015-05-29 11:03:46 +00:00
fvwm - cleanup 2015-10-08 04:02:05 +00:00
fvwm-crystal - Add NO_ARCH 2015-09-04 21:33:46 +00:00
fvwm2 Remove UNIQUENAME and LATEST_LINK. 2015-08-17 14:20:40 +00:00
gcompmgr - Switch to USES=autoreconf 2015-06-23 16:33:11 +00:00
genmenu
golem Get rid of hand-rolled do-build' and do-install' targets which serve the 2015-10-19 15:05:16 +00:00
herbstluftwm - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
hs-xmonad - Update The Glorious Glasgow Haskell Compiler to version 7.10.2 2015-08-20 23:02:14 +00:00
hs-xmonad-contrib - Update The Glorious Glasgow Haskell Compiler to version 7.10.2 2015-08-20 23:02:14 +00:00
i3 Update to 4.11 2015-10-08 23:21:52 +00:00
icewm converters/libiconv: 2015-04-15 08:20:27 +00:00
ion - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
jewel - Add LICENSE 2015-09-01 14:14:24 +00:00
jwm - Update to version 2.3.2 2015-10-16 19:39:40 +00:00
larswm
libcompizconfig 8 ports categories: Remove $PTHREAD_LIBS 2015-03-24 13:51:17 +00:00
libdockapp MASTER_SITES cleanup. 2015-05-14 10:15:04 +00:00
libwraster Update to 0.95.7. Changes include: 2015-10-06 05:12:56 +00:00
lwm
lxmed - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
lxsession - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
marco Update macro to 1.10.2. 2015-09-04 09:45:46 +00:00
matwm2
mcwm
metacity The FreeBSD GNOME team proudly presents GNOME 3.16 for FreeBSD. 2015-08-05 19:13:24 +00:00
muffin Replace most occurences of github.com in MASTER_SITES with USE_GITHUB usage. 2015-05-18 17:07:45 +00:00
musca Reset dhn's ports 2015-06-12 20:58:13 +00:00
mutter The FreeBSD GNOME team proudly presents GNOME 3.16 for FreeBSD. 2015-08-05 19:13:24 +00:00
nickleby - Update to 2.2.2 2015-09-03 09:52:06 +00:00
obapps
obconf - Switch to options helpers 2015-09-18 14:01:14 +00:00
obkey - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
obmenu Fix runtime error: 2015-07-17 15:42:29 +00:00
obpager
olvwm MASTER_SITES cleanup. 2015-05-14 10:15:04 +00:00
openbox Update to 3.6. 2015-06-01 15:53:55 +00:00
oroborus - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
pager
pawm - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
peksystray
pekwm Convert to USES=jpeg 2015-06-22 18:33:20 +00:00
phluid - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
piewm - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
plank - Update to 0.10.1 2015-10-11 18:23:43 +00:00
plwm
pwm - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
qlwm
qtile - Add LICENSE_FILE 2015-09-04 21:33:39 +00:00
ratmen
ratmenu
ratpoison 1: Upgrade to 1.4.8. 2015-09-02 23:15:47 +00:00
sawfish - Strip libraries 2015-06-05 19:40:54 +00:00
selectwm
simple-ccsm Part 2 of adding USE_GNOME=intltool to ports that require it. 2015-08-05 07:39:47 +00:00
spectrwm Update to 2.7.2 2015-07-05 13:59:38 +00:00
swm x11-wm/swm: This is not jobs-safe 2015-02-02 16:32:47 +00:00
tinywm
transset
treewm - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
tvtwm MASTER_SITES cleanup. 2015-05-14 10:15:04 +00:00
twm - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
vtwm
w9wm
weewm
windowlab
windowmaker Update to 0.95.7. Changes include: 2015-10-06 05:12:56 +00:00
wm2 - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
wmakerconf - Add LICENSE_FILE 2015-10-08 13:27:00 +00:00
wmanager Remove $FreeBSD$ from patches files everywhere. 2015-05-22 20:34:27 +00:00
wmanager-addons - Drop @dirrm* from and add empty directories to pkg-plists 2015-01-28 01:07:54 +00:00
wmconfig gmake:lite is only intended to be used for possible gmake dependencies 2015-03-07 13:19:46 +00:00
wmfs - Cleanup, update MASTER_SITES 2015-09-03 14:03:33 +00:00
wmii - Pet portlint 2015-03-08 02:33:19 +00:00
wmii-devel - Pet portlint 2015-03-08 02:33:27 +00:00
wmname
xcompmgr
xfce4 Remove UNIQUENAME and LATEST_LINK. 2015-08-17 14:20:40 +00:00
xfce4-desktop Update to 4.12.3 (bugfix release) 2015-07-19 16:31:51 +00:00
xfce4-panel By default libtool replaces -export-symbols <file> with -retain-symbols-file 2015-08-02 15:03:19 +00:00
xfce4-session Bump PORTREVISION for libupower-glib library version bump in r393607. 2015-08-17 08:21:50 +00:00
xfce4-wm Update to 4.12.3 (bugfix) 2015-05-16 19:52:31 +00:00
Makefile Add euclid-wm 0.4.3, minimalist, tiling window manager for X11. 2015-04-28 03:50:28 +00:00