Download raw body.
x11/gnustep/libobjc2 failed to build
Le Mon, Mar 04, 2024 at 10:26:02PM +0100, Sebastian Reitenbach a écrit :
> On Sunday, March 03, 2024 21:56 CET, Stuart Henderson <stu@spacehopper.org> 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 <bsd.port.mk>
> 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
x11/gnustep/libobjc2 failed to build