On Fri, Sep 13, 2024 at 05:48:16PM +0200, Jeremie Courreges-Anglas wrote: > On Fri, Sep 13, 2024 at 08:50:00AM +0200, Antoine Jacoutot wrote: > > On Thu, Sep 12, 2024 at 06:38:17PM +0200, Jeremie Courreges-Anglas wrote: > > > On Thu, Sep 12, 2024 at 08:49:33AM +0200, Matthieu Herrb wrote: > > > > On Wed, Sep 11, 2024 at 10:51:50PM +0200, Antoine Jacoutot wrote: > > > > > On Wed, Sep 11, 2024 at 10:13:12PM +0200, Jeremie Courreges-Anglas > > > > > wrote: > > > > > > (List found with grep '^checking for threads.h' on the latest amd64 > > > > > > build logs.) > > > > > > > > > > > > I can think of several approaches to fix this: > > > > > > > > > > > > 1. add libstdthreads as a build dep to all those ports. Simple but > > > > > > slightly problematic: > > > > > > - IIUC, brings no functional value > > > > > > - increases the chance of libstdthreads being picked up by future > > > > > > ports > > > > > > > > > > > > 2. "poison" threads.h detection for gnu.port.mk ports. This should > > > > > > be > > > > > > enough for the gnulib occurences. > > > > > > > > > > > > 3. move libstdthreads header and libs to a subdirectory, to avoid > > > > > > threads.h being picked up just because it's in the commonly used > > > > > > /usr/local/include directory. > > > > > > > > > > > > The diff below, tested with sysutils/ggrep, implements approach #2. > > > > > > If a gnu.port.mk port really wants libstdthreads, one needs to add > > > > > > devel/libstdthreads to BUILD_DEPENDS (even though it really belongs > > > > > > in > > > > > > LIB_DEPENDS), or add an override in CONFIGURE_ENV. > > > > > > The diff isn't complete: it lacks at least REVISION bumps for at > > > > > > least > > > > > > octave, pspp and link-grammar, and possibly safety bumps for all > > > > > > other > > > > > > affected ports; but it shows the intent. > > > > > > > > > > > > Approach #3 seems to work too but is slightly tricker. wayland/foot > > > > > > would need a meson.build patch. > > > > > > > > > > > > Thoughts? > > > > > > > > > > I vote for #1. > > > > > This is something we should have. > > > > > > Probably, but "when" and "how" also matter. > > > > > > As also stressed by sthen, adding it blindly as a build dep to all > > > those ports may uncover even more unregistered deps. > > > > > > Also, it brings *no value* to the ports using gnulib: they're already > > > using pthread-based threading and locking implementations. And > > > detecting threads.h brings some #ifdef maze using weak symbols. The > > > implementation in libstdthreads.so isn't even used. > > > > > > > > #3 is horrible, we already struggle with such constructs in ports and > > > > > honestly > > > > > it's a pain > > > > > > I agree that #3 is a pain and not desirable. I looked less ugly to me > > > than #1, though... > > > > > > > > (aka, this should be a short term solution that always ends up for > > > > > eternity). > > > > > > > > > > Matthieu, should this be implemented / moved into base at some > > > > > point? > > > > > > > > Yes that's what I've been saying since c2k23 in Tallinn. The consensus > > > > was to first add it in ports and wait. > > > > > > > > Ihmo if it causes too much trouble for the release just un-hook it > > > > again (with UNLINKED = wayland) together with fcft and foot. > > > > > > > > No one will miss those ports. and we can work on this later again. > > > > > > Let's call that approach #4. Current ranking of the options here > > > would be #4, #2, #1 and #3 from most to least desirable. Option #4 > > > has the advantage to leave us with a clean slate after release. > > > > > > Antoine, would you object to just going back to the status quo ante? > > > > It would mean downgrading textproc/link-grammar and fixing > > multimedia/pipewire/pipewire as well as going back to the previous state > > for the > > ports that matthieu mentioned. > > > > Would poisonning threads.h be enough for gnu ports and we can leave > > pipewire and > > link-grammar as-is? > > I hope the answer is "yes". That was the idea behind my initial > proposal. The result of the poisoning: > > checking for threads.h... (cached) no > > ok? > > > Index: infrastructure/db/config.no-stdthreads > =================================================================== > RCS file: infrastructure/db/config.no-stdthreads > diff -N infrastructure/db/config.no-stdthreads > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ infrastructure/db/config.no-stdthreads 13 Sep 2024 13:42:26 -0000 > @@ -0,0 +1,3 @@ > +# $OpenBSD$ > +# included unless devel/libstdthreads > +ac_cv_header_threads_h=${ac_cv_header_threads_h=no} > Index: infrastructure/mk/gnu.port.mk > =================================================================== > RCS file: /home/cvs/ports/infrastructure/mk/gnu.port.mk,v > diff -u -p -r1.61 gnu.port.mk > --- infrastructure/mk/gnu.port.mk 14 May 2019 14:59:56 -0000 1.61 > +++ infrastructure/mk/gnu.port.mk 13 Sep 2024 13:42:26 -0000 > @@ -43,7 +43,8 @@ CONFIG_SITE_LIST += config.site > textproc/gsed gsed \ > archivers/gtar* gtar \ > lang/gawk gawk \ > - sysutils/coreutils coreutils > + sysutils/coreutils coreutils \ > + devel/libstdthreads stdthreads > . if !defined(BUILD_DEPENDS) || !${BUILD_DEPENDS:M$d} > CONFIG_SITE_LIST += config.no-${name} > . endif
Nice! I wasn't aware this was doable like this. OK for me but I am just discovering this feature :-) > Index: math/octave/Makefile > =================================================================== > RCS file: /home/cvs/ports/math/octave/Makefile,v > diff -u -p -r1.142 Makefile > --- math/octave/Makefile 4 Sep 2024 07:30:39 -0000 1.142 > +++ math/octave/Makefile 13 Sep 2024 13:50:03 -0000 > @@ -2,7 +2,7 @@ COMMENT = Scientific Programming La > > VERSION = 7.3.0 > DISTNAME = octave-${VERSION} > -REVISION = 8 > +REVISION = 9 > EXTRACT_SUFX = .tar.xz > CATEGORIES = math > > @@ -40,7 +40,6 @@ MODULES = fortran \ > x11/qt5 > > BUILD_DEPENDS = ${MODFORTRAN_BUILD_DEPENDS} \ > - devel/libstdthreads \ > math/gnuplot \ > print/texinfo \ > textproc/gsed > Index: math/pspp/Makefile > =================================================================== > RCS file: /home/cvs/ports/math/pspp/Makefile,v > diff -u -p -r1.16 Makefile > --- math/pspp/Makefile 9 Sep 2024 11:25:30 -0000 1.16 > +++ math/pspp/Makefile 13 Sep 2024 13:53:36 -0000 > @@ -1,6 +1,6 @@ > COMMENT = program for statistical analysis of sampled data > DISTNAME = pspp-1.4.1 > -REVISION = 5 > +REVISION = 6 > CATEGORIES = math x11 > > HOMEPAGE = https://www.gnu.org/software/pspp/ > @@ -30,7 +30,6 @@ MODULES = lang/python > MODPY_RUNDEP = No > > BUILD_DEPENDS = devel/gettext,-tools \ > - devel/libstdthreads \ > print/texinfo > > LIB_DEPENDS = databases/postgresql \ > > > -- > jca > -- Antoine