On 2022/07/12 12:13, Rafael Sadowski wrote:
> On Sun Jul 10, 2022 at 09:54:00PM +0200, Omar Polo wrote:
> > I was taking a look at deadbeef for curiosity and it seems that newer
> > versions needs this Grand Central Dispatch thingy. Fortunately, an
> > impavid user has already done the though work to get this working on
> > OpenBSD [0], so this took just minutes to port. (thanks!)
> >
> > [0]: https://github.com/apple/swift-corelibs-libdispatch/pull/559
> >
> > (I've just added two small patches on top to drop a -O3 and -Werror)
> >
> > All but one test are passing!
> >
> > As-is this conflicts with devel/blocksruntime due to
> > /usr/local/include/Block.h. FWIW the two headers are practically
> > identical. Maybe this libdispatch will deprecate blocksruntime? Never
> > used blocks before so I don't know.
> >
> > With this installed i manage to start compiling deadbeef and get until
> > the linking of the deadbeef executable (which fails for other reasons
> > than libdispatch.)
As long as the telegram-related ports are checked and handled if needed
I'm ok with importing libdispatch and removing BlocksRuntime (I doubt
anyone will have installed it, but just in case, please add @pkgpath)
> This may help us with asterisk? Of course this requires run-time tests. I
> have no chance to test this. Don't shoot the messenger!
I have a different diff for Asterisk that's less likely to break gcc archs.
It does seem to work in initial testing with 19. (I'll do more tests before
committing it).
Index: Makefile.inc
===================================================================
RCS file: /cvs/ports/telephony/asterisk/Makefile.inc,v
retrieving revision 1.13
diff -u -p -r1.13 Makefile.inc
--- Makefile.inc 12 May 2022 20:51:20 -0000 1.13
+++ Makefile.inc 30 Jul 2022 21:24:19 -0000
@@ -31,28 +31,12 @@ DEBUG_PACKAGES= ${BUILD_PACKAGES}
DPB_PROPERTIES= parallel
# Asterisk requires either nested functions (gcc extension), or -fblocks (clang).
-# However -fblocks fails:
-#
-# - configure test fails on ld.bfd arches:
-#
-# echo 'int main(){return ^{return 42;}();}' | \
-# clang -o /tmp/blockstest -fblocks -x c -L/usr/local/lib -lBlocksRuntime -
-#
-# -> undefined reference to `_NSConcreteGlobalBlock' (also can be tested
-# on ld.lld arches by adding "-fuse-ld=bfd")
-#
-# - runtime fails on ld.lld arches: dlopen()ing the .so modules results in
-# undefined symbols from the BlocksRuntime lib (_NSConcreteStackBlock,
-# _Block_object_dispose, _Block_object_assign, etc); Asterisk appears to
-# start up but without modules loaded it is useless.
-#
-# So, as things stand, this requires building with gcc.
-#
-# If this is fixed and moved to clang, update telephony/asterisk-g729 in sync.
-COMPILER= ports-gcc
+
+# Keep telephony/asterisk-g729 in sync.
+COMPILER= base-clang ports-gcc
# XXX bsd.port.arch.mk is included below, before compiler.port.mk can set
# ONLY_FOR_ARCHS
-ONLY_FOR_ARCHS= ${GCC49_ARCHS}
+ONLY_FOR_ARCHS= ${CLANG_ARCHS} ${GCC49_ARCHS}
SHARED_LIBS+= asteriskssl ${SHLIB_V}
SHARED_LIBS+= asteriskpj ${SHLIB_V}
@@ -179,14 +163,14 @@ CFLAGS += -DHAVE_OPENSSL_BIO_METHOD
.include <bsd.port.arch.mk>
-#.if ${PROPERTIES:Mclang}
-#BUILD_DEPENDS += devel/blocksruntime
-#LDFLAGS += -lBlocksRuntime
-#WANTLIB-main += ${COMPILER_LIBCXX}
-#.else
+.if ${PROPERTIES:Mclang}
+LDFLAGS += -lBlocksRuntime
+BLOCKSLIBDEP = devel/libdispatch
+BLOCKSWANTLIB = BlocksRuntime
+.else
CFLAGS += -ftrampolines
WANTLIB-main += ${MODGCC4_CPPWANTLIB}
-#.endif
+.endif
# calendar
COMMENT-calendar= calendar support for Asterisk
@@ -312,9 +296,13 @@ EXAMPLEFILES= cdr.conf extensions.ael e
PKGSPEC-main= asterisk-${VERSION_SPEC}
-.for i in ${MULTI_PACKAGES:N-main}
+.for i in ${MULTI_PACKAGES}
+. if "$i" != "-main"
PKGNAME$i ?= asterisk$i-${VER}
RUN_DEPENDS$i += telephony/asterisk/${SHORTVER}=${VER}
+. endif
+LIB_DEPENDS$i += ${BLOCKSLIBDEP}
+WANTLIB$i += ${BLOCKSWANTLIB}
.endfor
# some of the patches have MS-DOS line endings which patch doesn't like.
Index: 16/Makefile
===================================================================
RCS file: /cvs/ports/telephony/asterisk/16/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- 16/Makefile 27 Jun 2022 08:23:06 -0000 1.17
+++ 16/Makefile 30 Jul 2022 21:24:19 -0000
@@ -3,6 +3,6 @@ PJ_V= 2.12
SHLIB_V= 0.0
VERSION_SPEC= >=16.0,<17.0
PORTROACH= limit:^16\.
-REVISION-main= 0
+REVISION= 1
.include <bsd.port.mk>
Index: 18/Makefile
===================================================================
RCS file: /cvs/ports/telephony/asterisk/18/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- 18/Makefile 27 Jun 2022 08:23:07 -0000 1.19
+++ 18/Makefile 30 Jul 2022 21:24:19 -0000
@@ -3,6 +3,6 @@ PJ_V= 2.12
SHLIB_V= 0.0
VERSION_SPEC= >=18.0,<19.0
PORTROACH= limit:^18\.
-REVISION-main= 0
+REVISION= 1
.include <bsd.port.mk>
Index: 19/Makefile
===================================================================
RCS file: /cvs/ports/telephony/asterisk/19/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- 19/Makefile 27 Jun 2022 08:23:07 -0000 1.17
+++ 19/Makefile 30 Jul 2022 21:24:19 -0000
@@ -3,6 +3,6 @@ PJ_V= 2.12
SHLIB_V= 0.0
VERSION_SPEC= >=19.0,<20.0
# no PORTROACH marker for the highest branch, to allow finding new branches
-REVISION-main= 0
+REVISION= 1
.include <bsd.port.mk>
No comments:
Post a Comment