From: Jeremie Courreges-Anglas Subject: Re: x11/gnustep/libobjc2 failed to build To: Sebastian Reitenbach Cc: Stuart Henderson , Antoine Jacoutot , Theo Buehler , ports@openbsd.org Date: Mon, 4 Mar 2024 22:48:46 +0100 Le Mon, Mar 04, 2024 at 10:26:02PM +0100, Sebastian Reitenbach a écrit : > On Sunday, March 03, 2024 21:56 CET, Stuart Henderson wrote: > > > On 2024/03/03 20:52, Stuart Henderson wrote: > > > On 2024/03/03 20:31, Sebastian Reitenbach wrote: > > > > If I understand removing the @pkgpath fixed the bigger part of the issue? > > > > PS "bigger part of the issue" = "bulk builds were breaking because the > > dependency loop resulted in too much disk space being eatern" but the > > remaining problem is still fairly important. > > > > > The conflicting file is the include/Block.h > > Nothing that depends on libobjc2, really needs it. gnustep-base is configured to > not search for Blocks runtime. I'm testing something similar, slightly more conservative: move Block.h and Block_private.h to /usr/local/include/gnustep/; the idea is that directory is prepended to C(PP)FLAGS during the build of the gnustep ports/consumers, thus ports that really need to include Block.h can find it out of the box. This partial build is still ongoing: I=515 B=21 Q=2 T=25 F=0 !=0 and so far ''stat /usr/local/include/gnustep/Block.h'' says no port has tried to include the file. So you're definitely on the right track. The build should complete later this night. > This, with another bump of libdispatch, and removed @conflict in PLIST > should do the trick. > > OK? You're just moving a header, so why the shared lib major bump? (You've already bumped the major in the last update.) Depending on my ongoing build it could be better to move both Block*.h headers to /usr/local/include/gnustep where they can be used, or to just zap both of them if they're really not useful. > Sebastian > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/x11/gnustep/libobjc2/Makefile,v > diff -u -r1.35 Makefile > --- Makefile 3 Mar 2024 12:28:24 -0000 1.35 > +++ Makefile 4 Mar 2024 20:02:11 -0000 > @@ -4,15 +4,15 @@ > > # note: this port does not use the gnustep module > VERSION = 2.2 > -REVISION = 1 > +REVISION = 2 > GH_ACCOUNT = gnustep > GH_PROJECT = libobjc2 > GH_TAGNAME = v${VERSION} > DISTNAME = libobjc2-${VERSION:S/_//} > PKGNAME = gnustep-${DISTNAME} > > -SHARED_LIBS += objc2 2.0 > -SHARED_LIBS += objcxx 1.0 > +SHARED_LIBS += objc2 3.0 > +SHARED_LIBS += objcxx 2.0 > > CATEGORIES = x11/gnustep devel > > @@ -45,5 +45,8 @@ > > MAKE_FLAGS += LIBOBJCLIBNAME=objc2 \ > LIBOBJC=libobjc2 > + > +post-install: > + mv ${PREFIX}/include/Block.h ${PREFIX}/include/Block-libobjc2.h > > .include > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/x11/gnustep/libobjc2/pkg/PLIST,v > diff -u -r1.6 PLIST > --- pkg/PLIST 3 Mar 2024 12:28:24 -0000 1.6 > +++ pkg/PLIST 4 Mar 2024 20:02:11 -0000 > @@ -1,5 +1,4 @@ > -@conflict libdispatch-* > -include/Block.h > +include/Block-libobjc2.h > include/Block_private.h > include/gnustep/ > include/gnustep/objc/ > -- jca