Commit Graph

1562 Commits

Author SHA1 Message Date
846effdb14
Exheredrey: Initial commit
Signed-off-by: Jacob Hrbek <kreyren@rixotstudio.cz>
2020-10-21 17:15:50 +02:00
Heiko Becker
5b8e37aaa5 emagicdocs: Also install CONTRIBUTING* files
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.
2020-02-19 12:03:16 +01:00
Marc-Antoine Perennou
c48be59159 tests: fix BASH_COMPAT tests with bash 5
Bash now overrides this with a new value with no dot

Fixes #2

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2019-04-18 17:03:44 +02:00
Benedikt Morbach
3169132a32 set USER and LOGNAME when running with userpriv
some builds/tests get confused when running as paludisbuild with USER=root.
2018-04-09 20:49:00 +02:00
Bjorn Pagen
55711eef11 build: fix compile against libc++ using clang
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>
2018-02-04 20:54:40 +01:00
Benedikt Morbach
c37bdeabc5 disallow unexported phases
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
2017-05-23 14:31:14 +00:00
Bo Ørsted Andresen
347f009f36 build: add missing dependencies on generated headers
These depend upon libpaludisutils' generated headers.  Found by the Jenkins
build bot.
2017-01-18 19:46:58 +01:00
Saleem Abdulrasool
6b0e48f888 paludis: c++11-ify repository iteration
Add a `repositories` in `Environment` which provides an iterator range
for the repositories, allowing C++11 style range based iteration.
2017-01-16 13:56:45 -08:00
Michał Górny
41c5a92518 build: Add missing linkage between shared libraries 2016-12-16 20:25:16 -08:00
Saleem Abdulrasool
4a9892e3de repositories: ensure that the destructor is materialised 2016-12-13 15:10:52 -08:00
Saleem Abdulrasool
98edb4e4b0 repositories: avoid a shadowing warning
The string is used in one place, inline it.  It is passed as an argument and the
life time will be extended around the call.
2016-12-11 15:28:53 -08:00
Benedikt Morbach
8fadf6b03b re-add builtin_tidyuprm.bash to exheres-0 CmakeLists.txt
Change-Id: I8acf352cc1effa69088570be8cd823f5565d58fa
2016-12-08 19:36:32 -08:00
Heiko Becker
e8889f3e5c build: Install bash scripts as 'PROGRAMS'
...to make them executable.
2016-12-05 18:35:04 -08:00
Saleem Abdulrasool
ff7bac0305 build: remove autotools based build
There can be only one!
2016-11-30 08:25:19 -08:00
Saleem Abdulrasool
a8c9e5d64d build: introduce cmake based build system 2016-11-30 08:25:19 -08:00
Saleem Abdulrasool
9cb3984eb0 paludis: mark the command template executable
This makes it simpler to generate the executables with the execute permission
preset.  NFC.
2016-11-28 20:23:05 -08:00
Saleem Abdulrasool
32d091137b tests: standardise test naming
Canonicalise the test naming.  Mark the tests as executable.
2016-11-28 20:23:05 -08:00
Saleem Abdulrasool
64ba7d5be8 modernize: use default method synthesis
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.
2016-08-06 11:58:04 -07:00
Saleem Abdulrasool
1ad5f5ce20 modernize: use override annotations
Automated addition of override to overridden functions.  NFC.
2016-08-04 22:16:44 -07:00
Saleem Abdulrasool
d81457e420 modernize: use nullptr rather than 0 or NULL
Automated conversion to nullptr.  NFC.
2016-08-04 22:11:01 -07:00
Saleem Abdulrasool
f3cd245511 modernize: convert to range based for-loops
Automated conversion to range based for loops.  NFC
2016-08-04 22:11:01 -07:00
Bo Ørsted Andresen
30332e5ac6 Fail if bzip2 fails.
Change-Id: I40c988c5abf315722259909f4f33e8deb584c0db
2016-03-17 13:29:25 +01:00
Bo Ørsted Andresen
46bab1c193 Support emptying a default set exparam array.
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>
2016-02-19 19:33:10 +01:00
David Leverton
bd3f7da01b Support pbins for EAPI 6
Fixes: ticket:1338
2016-02-01 19:08:59 +00:00
David Leverton
c39c79c8a7 Update another comment
See also cfca8b3.
2016-02-01 19:08:59 +00:00
Saleem Abdulrasool
ba6066d2a5 paludis: range-based for loop ebuild.cc 2016-01-22 10:53:36 -08:00
Saleem Abdulrasool
df87b8d827 paludis: hoist some expressions into local variables
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.
2016-01-22 10:53:36 -08:00
Saleem Abdulrasool
02f339e87a build: unconditionally use visibility flags
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.
2016-01-17 10:04:48 -08:00
Heiko Becker
77160677af Ban einstall for exheres-0
Change-Id: I30a4221cec2ac5492e932eaa7ba3b9f47b6a5df3
Reviewed-on: https://galileo.mailstation.de/gerrit/4899
Reviewed-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Reviewed-by: Bo Ørsted Andresen <zlin@exherbo.org>
2016-01-15 19:39:39 +01:00
Saleem Abdulrasool
fff8a3b796 support hiding suboptions
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.
2016-01-13 21:14:45 -08:00
David Leverton
1684b44671 Clear out MERGE_TYPE for non-installs 2016-01-12 16:43:22 +00:00
Wouter van Kesteren
6892a7edbc Assert assumption made by merger
Error:
  ...
  * When loading EAPI data:
  * When loading EAPI file '/usr/share/paludis/eapis/pbin-1+exheres-0.conf':
  * EAPI configuration error: Merger code doesn't handle having both allow_empty_dirs and permitted_directories (paludis::erepository::EAPIConfigurationError)

Change-Id: I89625552c6887039058de4882c47f5d588dfb064
Reviewed-on: https://galileo.mailstation.de/gerrit/4662
Reviewed-by: Bo Ørsted Andresen <zlin@exherbo.org>
2016-01-08 19:00:03 +01:00
Wouter van Kesteren
dc7578140a Make tests not install to /
Change-Id: I6707744dd5889d6645a28518454f4f190a7f0d27
Reviewed-on: https://galileo.mailstation.de/gerrit/4661
Reviewed-by: Bo Ørsted Andresen <zlin@exherbo.org>
2016-01-08 18:59:52 +01:00
Wouter van Kesteren
d8b7236f58 Let merger check dirnames instead of actual dirs
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>
2016-01-08 18:59:45 +01:00
Wouter van Kesteren
5cd1f72f94 Test permitted_directories
Change-Id: I3017ac9e1d5d4527c5993d25e3beac5f94b50110
Reviewed-on: https://galileo.mailstation.de/gerrit/4659
Reviewed-by: Bo Ørsted Andresen <zlin@exherbo.org>
2016-01-08 18:59:34 +01:00
David Leverton
d08eaf3c81 Give eapply some output 2015-11-11 21:16:08 +00:00
David Leverton
ac5169c87e Change bash compatibility level handling
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.
2015-11-11 21:12:50 +00:00
David Leverton
27173447c8 Unify =* behaviour
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.
2015-11-08 22:31:38 +00:00
David Leverton
53e89a76f6 EAPI 6 finalised by Council 2015-11-08 20:08:02 +00:00
David Leverton
3a15cc2c58 Set appropriate compat* shopt
EAPI 6 specifies bash 4.2 instead of 3.2.  The spec now recommends
setting the compatibility level for both old and new EAPIs.
2015-11-08 20:06:17 +00:00
David Leverton
5b89f3bd40 EAPI 6 default_src_prepare uses eapply 2015-11-05 18:21:15 +00:00
David Leverton
55daefe197 EAPI 6 has eapply_user
Just a stub implementation for now.
2015-11-05 18:19:07 +00:00
David Leverton
53f810cb0b EAPI 6 has eapply 2015-11-05 17:37:29 +00:00
David Leverton
e7180b72c4 Load ebuild modules with extglob on
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.
2015-11-05 17:37:29 +00:00
David Leverton
3a86159f73 EAPI 6 default_src_install uses einstalldocs 2015-11-05 17:37:29 +00:00
David Leverton
8ebd4aced7 EAPI 6 has einstalldocs 2015-11-05 17:37:28 +00:00
David Leverton
01a7fdc763 EAPI 6 has in_iuse 2015-11-05 17:37:28 +00:00
David Leverton
5ac2a51522 Remove obsolete check
Originally this was so the IUSE_EFFECTIVE check didn't happen in EAPIs
that didn't have it, but that isn't relevant since bfb1bd7.
2015-11-05 17:37:28 +00:00
David Leverton
96cdd89b70 EAPI 6 bans einstall 2015-11-05 17:37:28 +00:00
David Leverton
d9fa141466 EAPI 6 has get_libdir 2015-11-05 17:37:28 +00:00