Bug 278307 - net/rsplib: Update to new release 3.4.8
Summary: net/rsplib: Update to new release 3.4.8
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: freebsd-ports-bugs (Nobody)
URL: https://www.nntb.no/~dreibh/rserpool/
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-11 08:37 UTC by Thomas Dreibholz
Modified: 2024-04-13 19:39 UTC (History)
2 users (show)

See Also:


Attachments
The diff (783 bytes, patch)
2024-04-11 08:37 UTC, Thomas Dreibholz
thomas.dreibholz: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Dreibholz 2024-04-11 08:37:53 UTC
Created attachment 249894 [details]
The diff

The latest upstream version of rsplib is 3.4.8.
Therefore, the port net/rsplib needs an update.

Fix: The updated diff file rsplib-3.4.8.diff is attached.
Comment 1 Nuno Teixeira freebsd_committer freebsd_triage 2024-04-12 22:01:39 UTC
Hello,

Sugestion:

1. Pet portlint by adding a DOCS option:

pkg-plist: [162]: If and only if your port is DOCSDIR-safe (that is, a user can override DOCSDIR when building this port and the port will still work correctly) consider using DOCSDIR macro; if you are unsure if this port is DOCSDIR-safe, then ignore this warning

2. Drop compiler:c++11-lang from USES as cmake set it on its own:

SET(CMAKE_CXX_STANDARD 14)
SET(CMAKE_CXX_STANDARD_REQUIRED ON)

Thanks
Comment 2 Daniel Engberg freebsd_committer freebsd_triage 2024-04-13 14:58:52 UTC
Actually it should be updated to compiler:c++14-lang not removed
Comment 3 Nuno Teixeira freebsd_committer freebsd_triage 2024-04-13 18:12:40 UTC
(In reply to Daniel Engberg from comment #2)

Isn't compiler obsolete? It was used on old compilers that do not have determined features like c++17, etc.

Compilers available, llvm and gcc, don't need this check.

When we need to force a compiler standard we use USE_CSTD and USE_CXXSTD.
Comment 4 Daniel Engberg freebsd_committer freebsd_triage 2024-04-13 18:18:46 UTC
Still valid and USE_C**** should be avoided if the framework supports such as settings like in the case of cmake and meson to avoid conflicting settings and incorrect ones (CMake for example defaults to gnu extensions).
Comment 5 Nuno Teixeira freebsd_committer freebsd_triage 2024-04-13 18:25:20 UTC
(In reply to Daniel Engberg from comment #4)

So in this particular case, when upstream configure cmake like:

SET(CMAKE_CXX_STANDARD 14)
SET(CMAKE_CXX_STANDARD_REQUIRED ON)

does this means that it will use gnu c++14 instead of c++14?
Comment 6 Daniel Engberg freebsd_committer freebsd_triage 2024-04-13 18:33:45 UTC
It's defined by https://cmake.org/cmake/help/latest/variable/CMAKE_CXX_EXTENSIONS.html and it defaults to GNU.
Comment 7 Nuno Teixeira freebsd_committer freebsd_triage 2024-04-13 18:45:48 UTC
(In reply to Daniel Engberg from comment #6)

Correcting cmake cxx spec for this port, since c++14 was a requisite of head.

This port have cmakelists configured as:

SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_CXX_STANDARD_REQUIRED ON)

with or without compiler in USES, result is the same: -std=c++11 and not gnu.

So, your can set it to c++20, result is the same.

Also, porters handbook, talk about capabilities only:

---
Determines which compiler to use based on any given wishes. Use C++17-lang if the port needs a C++17-capable compiler, C++14-lang if the port needs a C++14-capable compiler, C++11-lang if the port needs a C++11-capable compiler
---
Comment 8 Nuno Teixeira freebsd_committer freebsd_triage 2024-04-13 18:47:41 UTC
(In reply to Nuno Teixeira from comment #7)

And since all available compiler supports c++11 and all listed, compiler turns obsolete.
Comment 9 Daniel Engberg freebsd_committer freebsd_triage 2024-04-13 19:39:49 UTC
As I mentioned before it defaults to non GNU extensions because the CMake variable(s) are set.

Around L330
SET(CMAKE_CXX_EXTENSIONS OFF)
SET(CMAKE_C_EXTENSIONS OFF)

Again, there's nothing wrong to define compiler and it may help 3rd party users (consumers) of the ports tree nor is there a need to remove it. If there's such a need it'll be done in a treewide sweep.