some existing COMPILER lines with arch restrictions etc. In the usual
case this is now using "COMPILER = base-clang ports-gcc base-gcc" on
ports with c++ libraries in WANTLIB.
This is basically intended to be a noop on architectures using clang
as the system compiler, but help with other architectures where we
currently have many ports knocked out due to building with an unsuitable
compiler -
- some ports require c++11/newer so the GCC version in base that is used
on these archirtectures is too old.
- some ports have conflicts where an executable is built with one compiler
(e.g. gcc from base) but a library dependency is built with a different
one (e.g. gcc from ports), resulted in mixing incompatible libraries in the
same address space.
devel/gmp is intentionally skipped as it's on the path to building gcc -
the c++ library there is unused in ports (and not built by default upstream)
so intending to disable building gmpcxx in a future commit.
ok rsadowski@, additional testing Charlene Wendling
Elvish is a cross-platform shell. It features an expressive programming
language, with features like namespacing and anonymous functions, and a
fully programmable user interface with friendly defaults. It is suitable
for both interactive use and scripting.
This replaces shells/osh. Current osh users will be upgraded to etsh.
ok sthen@
The Etsh Project provides two ports of the original /bin/sh from Sixth
Edition (V6) UNIX (circa 1975).
Etsh(1) is an enhanced, backward-compatible port of the Sixth Edition
Thompson shell. Tsh(1) is an unenhanced port of the shell, and glob(1)
is a port of its global command. Together, tsh and glob provide a user
interface which is backward compatible with that provided by the Sixth
Edition Thompson shell and global command, but without the obvious
enhancements found in etsh.
The original Thompson shell was principally written by Ken Thompson of
Bell Labs.
Additionally, this project includes the following shell utilities:
* if(1) - conditional command (ported from Sixth Edition UNIX)
* goto(1) - transfer command (ported from Sixth Edition UNIX)
* fd2(1) - redirect from/to file descriptor 2
- remove termlib from WANTLIB replace with curses
- remove second MASTER_SITE old/ since this is the current version.
- HOMEPAGE is down, but assume it's just temporary.
From George Rosamond <george || ceetonetechnology | com> Thanks!
Fish offers some nice things like:
- Autosuggestions
- Man page completions
- OpenBSD specific completions for things like vmctl
- "Configless" config
OK rsadowski@
in the checks.
Someone clearly did not read the autoconf documentation because
using the following functions with a function declaration inside
the body will end up declaring a function inside a function.
- AC_TRY_COMPILE( [], [ int main() { return 0; } ],
- AC_LANG_PROGRAM([[]], [[int main (void) { return 0; }]])],
- AC_TRY_LINK([], [int main (void) { return 0; }],
Result:
int
main ()
{
int main (void) { return 0; }
;
return 0;
}
nested functions is a gcc extension which is not supported by
clang.
test.c:4:17: error: function definition is not allowed here
int main (void) { return 0; }
^
1 error generated.
This causes tests to fail in the configure scripts resulting in
missing compile and link time flags from the builds.
This resulted in weird behaviour of several software, like gnome
hanging completely due to gtk+3 not being built properly.
This change intrudces the following fixes:
- remove int main() declaration from AC_TRY_COMPILE, AC_LANG_PROGRAM, AC_TRY_LINK
as it comes with a declaration already, and people misused them
- change to use AC_LANG_SOURCE when needed in case a complete source block is specified
Most of the changes are in configure.(ac|in), however there were some cases
where autoconf is either broken or the build failed because of an autoconf
generated configure script. Everytihng else is switched to autoconf, so
the maintainers can go ahead and upstream these diffs.
There are more to come, we are continously checking the tree for these issues
and in the future the infrastructure will error if such a case is found.