Use it where we can, including WRKOBJDIR `real' names.
NOTE: if you are using WRKOBJDIR, *all* flavored builds directories
will change names, from work-no_x11 to work,no_x11
dir-depends: list of SUBDIRS this port depends on (with flavors, subpackages),
to use with tsort.
build-depends-list, run-depends-list: list of pkgspec:dir needed for this
port, no recursion. To use for INDEX.
- move FLAVOR_EXT up so that WRK* are correct when they're needed for
dependencies.
- build a list of _PACKAGE_COOKIES, one for each subpackage.
- let package go through an indirection:
package: ${_PACKAGE_COOKIES}
_PACKAGE_COOKIE_${SUB}:
SUBPACKAGE=${SUB} ${MAKE} _package
so that all packages are `flat', and subpackages can depend on each other
freely.
don't work, as they propagate down subdirs.
Use `FLAVOR=a make' (sh) or `env FLAVOR=a make' (csh) instead.
Error out with a useful error message if old usage is encountered.
always define _ALWAYS_DEP, _BUILD_DEP, _RUN_DEP and test for emptiness
instead of definedness, so that the code is still optimized away when
dependency lists are defined, but empty.
NetBSD did this a while ago, this is a natural idea. It just took me
some time to figure out how to do that in a MULTI_PACKAGE context,
while maintaining compatibility with existing stuff.
* pull every dependency under the same rule, using specialized fragments.
* re-check after the dependency is expanded, unless earlyexit is true.
* explicitly recognize /nonexistent as a specific way to have always
triggered dependencies, use it to handle DEPENDS in a uniform way.
* parse dependencies fully. Note that we know have a pkg variable that will
be used.
Thanks to naddy@ for useful tweaks.
This is probably not quite perfect yet, stuff may break. Other stuff that
remain to be done:
- handle library dependencies better, so that lib.10 will match only
lib.10.x and not lib.100.
- handle default FLAVORS correctly. This involves not
passing FLAVOR='', but rearranging ${MAKE} ${_DEPEND_THRU} to remove
FLAVOR from the environment and from MAKEFLAGS (yucky).
The cleaner fix would be to create the package to stdout under SUDO
and redirect it, but that junk (pkg_create) is actively fighting that.
God, I've got to rewrite it and retire that crap.
it's so seldom used now).
Remove a few targets that are not really needed (mirror-distfiles, use
mirror-maker instead).
More changes to fake to come, once they've been properly tested.
this is stupid (BATCH is only there to skip IS_INTERACTIVE ports).
Make PATCH_CHECK_ONLY a Yes/No switch.
Let it be a slightly better no-op, e.g., skip creating the cookies
in checkpatch operation.
Use some weird code to allow backward compatibility.
Rely on distfiles suffixes and a case statement (with matching variable
EXTRACT_CASES) to allow distinct extraction rules for multiple distfiles.
incompatibility with NetBSD).
This patch rearranges code so that PKGPATH is maintained
- when recursing into subdirs,
- when computing dependencies.
So that this reduces the number of `pwd` calls overall.
Should be especially noticeable for mirror-maker.
WRKPKG should seldom be changed, unless it conflicts with the port's
actual naming conventions (default is ${WRKBUILD}/pkg).
Substitute stuff in INSTALL/DEINSTALL script as well.
The only drawback is that those LOOK like shell variables, but are actually
simple sed substitution.
Preconise a style such as
prefix=${PREFIX}
(then use ${prefix}) to avoid confusion.
invocations. This works around a bug in autoconf-generated scripts that
is present up to autoconf 2.13.
In recursive configure, INSTALL is re-set from ac_given_INSTALL, to handle
relative paths correctly. However, sometimes ac_given_INSTALL hasn't been
set yet, and we end up with a `BSD compatible INSTALL' of ../
- the PLIST, MESSAGE, DESCR variables refer to the sources.
- files are generated under ${WRKBUILD}, always.
- SUBST_VARS refer to the variables being substituted. ARCH,
HOMEPAGE, PREFIX are always substituted.
Use $\{VAR} to escape substitution.
Plus ${FLAVORS} -> -flavor1-flavor2 for PLIST.
- the %%FRAG%% and %%!FRAG%% notations are always used for PLIST.
- SED_PLIST can be augmented if needed.
Plus some compatibility kludges with the current situation.