SHARED_LIBS enumerates the libraries like so:
SHARED_LIBS= foo 1.0 \
zop 2.5 \
tag 3.0
This just defines LIBfoo_VERSION=1.0, LIBzop_VERSION=2.5, LIBtag_VERSION=3.0
and adds these to SUBST_VAR, further tweaks must be done, usually at the
MAKE_FLAGS/MAKE_ENV level.
For gnu ports that use automake, the supplementary MODGNU_SHARED_LIBS
variable can be used like this:
MODGNU_SHARED_LIBS= foo '-no-undefined'
and it will define libfoo_la_LD_FLAGS=--version-info 1:0:0 -no-undefined
Some gnu ports have weird variable names for libraries. For instance,
the libORBit-2 is set using libORBit_2.
LIBORbit-2_ALIAS=ORBit_2
will make sure the correct name is used.
much feedback from bernd@
the main directory... since pseudo-flavors are not entered as pkgpath,
this is necessary to ensure the top-level directory gets cleaned up
correctly...
Problem reported by Moritz Grimm.
it makes more sense to have a subdir variable as input, split it
into toset and dir as output, and to unsetenv FLAVOR SUBPACKAGE along
the lines.
End result should be equivalent, but slightly more readable.
no objection from my neighbors either...
for errors (and get rid of _NODEPS since it's not needed any more)
* set check to Failed in *libresolve_fragment, so that we can test
for it and report properly.
guys here have no objection...
over 256 characters, so we create an extra file for each wantlib, and
depend on it. That way the full _DEPlibs_COOKIE is regenerated (and retested)
each time WANTLIB changes.
Now, resolve-lib can take a big list of libraries with full paths,
and it can solve a big list of spec at once.
Basically, we move most of the parsing of spec paths into resolve-lib.
Since print-package-signature does build a full list of libs, let's solve
it all at once, instead of invoking a costly perl script repeatedly.
Add some caching possibilities for out-of-date. Specifically:
- store libraries for each package under the directory _PORT_LIBS_CACHE
- use the dependency cache _DEPENDS_FILE to avoid recreating dependency
chains, add a new file _DEPENDS_CACHE that will accumulate all dependencies,
and extract these with a simple script extract-dependencies.
Use echo to build libraries lists instead of ls, that's a bit simpler...
Some more clean-up will happen: it's probably simpler to parse libspecs
at once, extract the libraries needed and go fetch the corresponding libraries
just once.
Add internal NODEPS to turn off computing dependencies.
Write code similar to _print-package-args that is strictly ports based,
and hence really walks the wantlibs, and needs the pkg_create stuff
to get at the real ports contents.
Recode print-package-signature to refer to the ports tree contents
exclusively (pkg_info -S for the package).
Thx bernd@ for trying that out.
This should make for a slow, but accurate, out-of-date printer.
the FULLPKGPATH, thus providing changes to packing-lists which shouldn't
happen, and making update more difficult.
Accordingly, bump all pkgnames with PSEUDO_FLAVORS, and provide an
update @pkgpath for the bug for most of them (left out the ones with 3
or 4 pseudo flavors for space constraints...)
- plist repository under PLIST_DB (optional).
- print-package-signatures shows what's used for signatures.
- make fetch shows full url you can copy/paste, simpler to look for typos
that way.