During an exp-run for llvm 15 (see bug 265425), it turned out that
databases/soci failed to build with clang 15:
In file included from /wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/tests/empty/test-empty.cpp:8:
In file included from /wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/include/soci/soci.h:12:
In file included from /wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/include/soci/soci-platform.h:18:
In file included from /usr/include/c++/v1/string:551:
In file included from /usr/include/c++/v1/string_view:222:
In file included from /usr/include/c++/v1/algorithm:1851:
In file included from /usr/include/c++/v1/__algorithm/ranges_sample.h:13:
In file included from /usr/include/c++/v1/__algorithm/sample.h:18:
/usr/include/c++/v1/__random/uniform_int_distribution.h:235:5: error: static assertion failed due to requirement '__libcpp_random_is_valid_urng<Catch::RandomNumberGenerator, void>::value':
static_assert(__libcpp_random_is_valid_urng<_URNG>::value, "");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/__algorithm/shuffle.h:154:35: note: in instantiation of function template specialization 'std::uniform_int_distribution<long>::operator()<Catch::RandomNumberGenerator>' requested here
difference_type __i = __uid(__g, _Pp(0, __d));
^
/usr/include/c++/v1/__algorithm/shuffle.h:166:14: note: in instantiation of function template specialization 'std::__shuffle<std::_ClassicAlgPolicy, std::__wrap_iter<Catch::TestCase *>, std::__wrap_iter<Catch::TestCase *>, Catch::RandomNumberGenerator &>' requested here
(void)std::__shuffle<_ClassicAlgPolicy>(
^
/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/tests/catch.hpp:7186:18: note: in instantiation of function template specialization 'std::shuffle<std::__wrap_iter<Catch::TestCase *>, Catch::RandomNumberGenerator &>' requested here
std::shuffle( vector.begin(), vector.end(), rng );
^
/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/tests/catch.hpp:7204:44: note: in instantiation of function template specialization 'Catch::RandomNumberGenerator::shuffle<std::vector<Catch::TestCase>>' requested here
RandomNumberGenerator::shuffle( sorted );
^
This is because soci declares its RandomNumberGenerator class with a
result_type of std::ptrdiff_t, which is signed. However, the urng class
used for std::shuffle must have an unsigned integer type as its result
type. Use std::size_t instead.
PR: 269035
Approved by: nc (maintainer)
MFH: 2023Q1
Commit b7f05445c0 has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.
There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.
The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.
Approved by: portmgr (tcberner)
Reason: Many bug reports (including bug#253256) related to jlaffaye's ports timed out in the period from April 2020 to now.
PR: 253256
Approved by: jlaffaye (maintainer's timeout 14 days)
The maintainer reset rule was not applied correctly. jlaffaye's ports
are reassigned back to him, with the exception of lang/go where both
quantity and length of timeouts made the reset appropriate and
necessary.
With hat: portmgr
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
With CMake 3.11, configure fails with this error:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
MYSQL_EMBEDDED_LIBRARIES
linked by target "cmTC_ec547" in directory /wrkdirs/usr/ports/databases/soci/work/soci-3.2.2/CMakeFiles/CMakeTmp
CMake Error at /usr/local/share/cmake/Modules/CheckIncludeFile.cmake:60 (try_compile):
Failed to configure test project build system.
Call Stack (most recent call first):
/usr/local/share/cmake/Modules/FindThreads.cmake:121 (CHECK_INCLUDE_FILE)
core/CMakeLists.txt:17 (include)
The underlying issue is that the test for MySQL embedded leaks the
library into CMAKE_REQUIRED_LIBRARIES, which are then picked up in
other feature tests. If the library wasn't found (which is normal,
it's not a dependency in the port) then those later tests fail.
CMake 3.11 is somehow stricter about this than CMake 3.10.
No PORTREVISION bump because it's a pre-emptive build fix and nothing
changes on the port.
Approved by: tcberner (mentor, implicit)
This simplifies the Makefile somewhat -- it is only a cosmetic change.
While here, massage COMMENT to satisfy portlint.
PR: 224422
Reviewed by: jlaffaye (maintainer)
Approved by: rakuco (mentor)
Differential Revision: https://reviews.freebsd.org/D12957
This makes the soci port obey the FIREBIRD option (otherwise it always
looks for Firebird, even when you don't want it to).
Submitted by yuri@ in PR 209530, maintainer timeout (17 months).
PR: 209530
Submitted by: yuri@FreeBSD.org
Reviewed by: yuri (submitter)
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D12919