It is quite common for projects to have such a file and it (hopefully)
is a good start when you're looking for information where and how to
submit a patch.
added several includes, such as time.h, iostream, and string, as libc++
requires explicit including of these files. tr1/memory is replaced with
POSIX defined memory
Change-Id: Id859f33f78343d814f47b1e1e34a3dbe23d174e3
Reviewed-on: https://galileo.mailstation.de/gerrit/11152
Reviewed-by: Saleem Abdulrasool <compnerd@compnerd.org>
avoids bugs and confusion that happen occasionally when phases are
accidentally left around but not exported so they don't do anything.
This is also the first step if we want to make the exporting automatic
in the future to make sure that doesn't suddenly activate previously
unexported phases.
Change-Id: I4f7c5de4974e547c2596d138839dd41738d61e68
Convert a number of destructors to default synthesized functions. Try to
inline a few instances into the header. It should be possible to inline all of
them, however, gcc seems to emit a number of warnings. Furthermore, some of the
destructors are pure-virtualed, but provide an implementation. Placing the
definition into the header causes ODR violations.
Add test to verify an exarray with a non-empty default value can be emptied with
an empty require parameter.
Change-Id: I633f4baa6eaf297308e08ac3899c8821e88f3591
Reviewed-on: https://galileo.mailstation.de/gerrit/4944
Reviewed-by: Bo Ørsted Andresen <zlin@exherbo.org>
Although the compiler should be smart enough to do this, this makes reading
through the code a bit quicker since the common expression has been hoisted.
Remove the last remnants of icc support as the current released versions do not
support C++11 and we intend to use clang as the alternate compiler. This cleans
up the compile flags to remove the now obsoleted definition
(-DPALUDIS_USE_VISIBILITY), the unnecessary compile time checks, and the
handling for ICC in the macros.
Introduce the concept of `SUBOPTIONS_NO_DESCRIBE` to the exheres profile. This
allows suboptions to be silenced by default from the description list. This is
useful in rare scenarios, such as `linguas`, where the suboption is common, has
a large set of values. In such a case, the output of the descriptions would
obscure the actual resolution and useful options. This new profile variable
permits the profile to indicate to the "frontend" that the description should be
squelched. Currently, this is consumed only by the cave frontend.
This should be safe because we dont allow empty directories.
So installing a directory into an illegal place would error.
The moment a keepdir is done it gets a file in it and then we
validate this file instead. So this all works out nicely.
Change-Id: I205b21d21a08f0e6afa702f0dc28b8f1d54f047b
Reviewed-on: https://galileo.mailstation.de/gerrit/4660
Reviewed-by: Bo Ørsted Andresen <zlin@exherbo.org>
Apparently bash is going to deprecate the compat* shopts in favour of
the BASH_COMPAT variable, so use that instead. BASH_COMPAT is only
supported in 4.3 and later, but it doesn't hurt to set it anyway - in
fact, this is better than the shopt version because 4.2 doesn't
support shopt compat42. I don't think it's worth messing around with
falling back to shopt for older versions - only EAPIs before 6 would
be affected, and those have survived this long without setting
anything anyway.
Gentoo changed =* to mean almost the same thing as it does in Exherbo
in bug 560466; the difference being that float-like components aren't
treated specially, for example 1.0123 doesn't match a dep saying
=1.012*. Since nothing in Exherbo relies on this anyway, just make it
the same everywhere.
Bash requires extglob to be on even to parse a function that uses it
(at least in some contexts). Such functions still need to use
ebuild_need_extglob so it'll be enabled when they actually run, but
that doesn't help with the initial parsing.