pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Add airconnect. macOS builds, NetBSD needs porting.



Module Name:	pkgsrc-wip
Committed By:	Amitai Schleier <schmonz-web-git%schmonz.com@localhost>
Pushed By:	schmonz
Date:		Thu Aug 14 16:04:25 2025 -0400
Changeset:	f3d0b15c905b55d2a0f3cf82fa8122a0be7a102d

Added Files:
	airconnect/DESCR
	airconnect/Makefile
	airconnect/PLIST
	airconnect/TODO.md
	airconnect/distinfo
	airconnect/patches/patch-aircast_Makefile
	airconnect/patches/patch-aircast_src_castcore.c
	airconnect/patches/patch-airupnp_Makefile
	airconnect/patches/patch-common_libraop_Makefile

Log Message:
Add airconnect. macOS builds, NetBSD needs porting.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=f3d0b15c905b55d2a0f3cf82fa8122a0be7a102d

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 airconnect/DESCR                                 | 15 ++++
 airconnect/Makefile                              | 90 ++++++++++++++++++++++++
 airconnect/PLIST                                 |  3 +
 airconnect/TODO.md                               |  9 +++
 airconnect/distinfo                              | 33 +++++++++
 airconnect/patches/patch-aircast_Makefile        | 52 ++++++++++++++
 airconnect/patches/patch-aircast_src_castcore.c  | 25 +++++++
 airconnect/patches/patch-airupnp_Makefile        | 51 ++++++++++++++
 airconnect/patches/patch-common_libraop_Makefile | 17 +++++
 9 files changed, 295 insertions(+)

diffs:
diff --git a/airconnect/DESCR b/airconnect/DESCR
new file mode 100644
index 0000000000..791a7d8748
--- /dev/null
+++ b/airconnect/DESCR
@@ -0,0 +1,15 @@
+AirConnect is a collection of programs that allow AirPlay clients to
+play to UPnP/DLNA and Chromecast devices that do not natively
+support AirPlay.
+
+It includes:
+
+- airupnp: Bridge between AirPlay and UPnP/DLNA/Sonos players
+- aircast: Bridge between AirPlay and Chromecast devices
+
+AirConnect can run on any machine that has access to your local network.
+It does not need to be on your main computer. (For example, a Raspberry
+Pi works well). It will detect UPnP/Sonos/Chromecast players, create as
+many virtual AirPlay devices as needed, and act as a bridge/proxy
+between AirPlay clients (iPhone, iPad, iTunes, MacOS, AirFoil ...) and
+the real UPnP/Sonos/Chromecast players.
diff --git a/airconnect/Makefile b/airconnect/Makefile
new file mode 100644
index 0000000000..4e8de5375c
--- /dev/null
+++ b/airconnect/Makefile
@@ -0,0 +1,90 @@
+# $NetBSD$
+
+DISTNAME=		AirConnect-1.8.3
+PKGNAME=		${DISTNAME:tl}
+CATEGORIES=		audio net
+MASTER_SITES=		${MASTER_SITE_GITHUB:=philippe44/}
+GITHUB_TAG=		${PKGVERSION_NOREV}
+
+MAINTAINER=		schmonz%NetBSD.org@localhost
+HOMEPAGE=		https://github.com/philippe44/AirConnect/
+COMMENT=		AirPlay bridge to UPnP/Sonos and Chromecast
+LICENSE=		mit
+
+GITHUB_SUBMODULES+=	nanopb nanopb ea54d265a96e5f2bf8d1e1aa1e2ca70dfcc75d0b aircast/nanopb
+GITHUB_SUBMODULES+=	philippe44 crosstools 8b0081f88b669c6918b85979188b3859ca430e5e common/crosstools
+GITHUB_SUBMODULES+=	philippe44 dmap-parser 2f8ee61e2427a177beea919d72dde8931084fe51 common/dmap-parser
+GITHUB_SUBMODULES+=	philippe44 libcodecs fb2cf6b096cce2e630f0c05174ab3aa9bd3503c1 common/libcodecs
+GITHUB_SUBMODULES+=	philippe44 libmdns d7f58bf2791c3c25fd729d739a9267ce9db5b696 common/libmdns
+GITHUB_SUBMODULES+=	philippe44 libpthreads4w 2ae750783281db5b5cd867649880b3b951ced781 common/libpthreads4w
+GITHUB_SUBMODULES+=	philippe44 libpupnp 11a9750e2fa6da392345fcc8868b307444e13341 common/libpupnp
+GITHUB_SUBMODULES+=	philippe44 libraop 09c64996fa863f5f327ea441030fe20e48092121 common/libraop
+
+USE_TOOLS+=		pax bash gmake
+
+TOOL_DEPENDS+=		bash>=4.0:../../shells/bash
+TOOLS_PLATFORM.bash=	${PREFIX}/bin/bash
+
+# Map pkgsrc platform variables to AirConnect's naming conventions
+AC_ARCH=		${MACHINE_ARCH:S/aarch64/arm64/:S/i386/x86/:S/amd64/x86_64/}
+AC_OS=			${OPSYS:tl:S/darwin/macos/:S/netbsd/freebsd/}
+AC_COMPILER=		${AC_ARCH}-${AC_OS}-${OPSYS:Mdarwin:?cc:gcc}
+AC_BINDIR=		${AC_OS}/${AC_ARCH}
+BASH_SCRIPTS=		aircast/nanopb/tools/list_authors.sh
+BASH_SCRIPTS+=		aircast/nanopb/tools/make_mac_package.sh
+BASH_SCRIPTS+=		aircast/nanopb/tools/set_version.sh
+BASH_SCRIPTS+=		aircast/nanopb/tools/make_windows_package.sh
+BASH_SCRIPTS+=		aircast/nanopb/tools/make_linux_package.sh
+BASH_SCRIPTS+=		aircast/nanopb/extra/poetry/poetry_build.sh
+BASH_SCRIPTS+=		updater
+BASH_SCRIPTS+=		common/libcodecs/build.sh
+BASH_SCRIPTS+=		common/libmdns/build.sh
+BASH_SCRIPTS+=		common/libpupnp/build.sh
+BASH_SCRIPTS+=		common/libraop/build.sh
+BASH_SCRIPTS+=		build.sh
+
+REPLACE_BASH+=		${BASH_SCRIPTS}
+
+INSTALLATION_DIRS=	bin
+
+BUILDLINK_TRANSFORM+=	rm:-fno-temp-file
+
+post-extract:
+	cd ${WRKDIR} && mv ${DISTNAME} ${PKGNAME_NOREV}
+	# Fix nested directory structure on case-sensitive filesystems
+	if [ -d ${WRKSRC}/${DISTNAME} ]; then \
+		cd ${WRKSRC}/${DISTNAME} && ${PAX} -rw . ${WRKSRC}/; \
+		cd ${WRKSRC} && ${RM} -rf ${DISTNAME}; \
+	fi
+	cd ${WRKSRC} && ${CHMOD} +x ${BASH_SCRIPTS}
+.if !exists(${WRKSRC}/common/libpupnp/targets/${AC_OS}/${AC_ARCH})
+	cd ${WRKSRC}/common/libpupnp; \
+	${MKDIR} targets/${AC_OS}; \
+	${CP} -Rp targets/freebsd/x86_64 targets/${AC_OS}/${AC_ARCH}
+.endif
+
+do-configure:
+	# Create fake cross-compiler to match build system expectations
+	${MKDIR} ${WRKSRC}/.fake-cc
+	cd ${WRKSRC}/.fake-cc && ${PRINTF} '#!/bin/sh\nexec %s "$$@"\n' 'cc' > ${AC_COMPILER}
+	cd ${WRKSRC}/.fake-cc && ${PRINTF} '#!/bin/sh\nexec %s "$$@"\n' 'c++' > ${AC_COMPILER:S/cc$/c++/:S/gcc$/g++/}
+	${CHMOD} +x ${WRKSRC}/.fake-cc/*
+
+do-build:
+	# Create necessary output directories
+	${MKDIR} ${WRKSRC}/bin/${AC_BINDIR}
+	# Build dynamic versions using pkgsrc's wrapped compilers
+	cd ${WRKSRC}/airupnp && ${SETENV} ${MAKE_ENV} CC=${WRKSRC}/.fake-cc/${AC_COMPILER} HOST=${AC_OS} PLATFORM=${AC_ARCH} ${GMAKE} ../bin/airupnp-${AC_OS}-${AC_ARCH}
+	cd ${WRKSRC}/aircast && ${SETENV} ${MAKE_ENV} CC=${WRKSRC}/.fake-cc/${AC_COMPILER} HOST=${AC_OS} PLATFORM=${AC_ARCH} ${GMAKE} ../bin/aircast-${AC_OS}-${AC_ARCH}
+	# Create the universal binaries that the install expects
+	#cd ${WRKSRC}/bin && ln -sf airupnp-${AC_OS}-${AC_ARCH} airupnp-${AC_OS}
+	#cd ${WRKSRC}/bin && ln -sf aircast-${AC_OS}-${AC_ARCH} aircast-${AC_OS}
+
+do-install:
+	cd ${WRKSRC}/bin; \
+	${INSTALL_PROGRAM} airupnp-${AC_OS}-${AC_ARCH} ${DESTDIR}${PREFIX}/bin/airupnp; \
+	${INSTALL_PROGRAM} aircast-${AC_OS}-${AC_ARCH} ${DESTDIR}${PREFIX}/bin/aircast
+
+.include "../../security/openssl/buildlink3.mk"
+.include "../../textproc/jansson/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/airconnect/PLIST b/airconnect/PLIST
new file mode 100644
index 0000000000..a1ab8cafa3
--- /dev/null
+++ b/airconnect/PLIST
@@ -0,0 +1,3 @@
+@comment $NetBSD$
+bin/aircast
+bin/airupnp
diff --git a/airconnect/TODO.md b/airconnect/TODO.md
new file mode 100644
index 0000000000..8fc5674203
--- /dev/null
+++ b/airconnect/TODO.md
@@ -0,0 +1,9 @@
+# TODO:
+
+- port to NetBSD
+- are some BASH_SCRIPTS maybe not needed for the build?
+- test on many platforms
+- make sure every change is really needed
+- add rc.d scripts
+
+
diff --git a/airconnect/distinfo b/airconnect/distinfo
new file mode 100644
index 0000000000..1ce8aa60c8
--- /dev/null
+++ b/airconnect/distinfo
@@ -0,0 +1,33 @@
+$NetBSD$
+
+BLAKE2s (AirConnect-1.8.3.tar.gz) = 91d5e83786fedb7d28d33e035188c4856315f8c23e392e3f180a67cafb478aba
+SHA512 (AirConnect-1.8.3.tar.gz) = 419ade9867392877b78c00f38305c42f070db07fdbc53dbb054849859956293613f76d7eb575c638318b39675cefbf56e6bfd203e0bfccced3017f9e9c54c7b2
+Size (AirConnect-1.8.3.tar.gz) = 69366470 bytes
+BLAKE2s (nanopb-nanopb-ea54d265a96e5f2bf8d1e1aa1e2ca70dfcc75d0b.tar.gz) = 1d2bffdb3ef80bb0790b6da5d21972541c99e74a689c9aaa856785d7530322bc
+SHA512 (nanopb-nanopb-ea54d265a96e5f2bf8d1e1aa1e2ca70dfcc75d0b.tar.gz) = 1b886cb62af5a860edaa745aaa6f02e1219ace54679c5baf5fcb21c3d04ace7d18fbcdb0b3ab99c545f63029416cc0f0e94f4ba606af68a0d76f3c66a8e92891
+Size (nanopb-nanopb-ea54d265a96e5f2bf8d1e1aa1e2ca70dfcc75d0b.tar.gz) = 1149554 bytes
+BLAKE2s (philippe44-crosstools-8b0081f88b669c6918b85979188b3859ca430e5e.tar.gz) = 0e75aff305337c03818b9c948027ca5c034b9b0fc4a262a8804258635742a5a7
+SHA512 (philippe44-crosstools-8b0081f88b669c6918b85979188b3859ca430e5e.tar.gz) = 279c953a12e3c9e21da50894f191bcc9c2c00ba5190b468785efb4337c91104cbb96e0b1629db3a15f0e57730565eea5b61ebc0c2a85886e4eb8a365d72f3a94
+Size (philippe44-crosstools-8b0081f88b669c6918b85979188b3859ca430e5e.tar.gz) = 21437 bytes
+BLAKE2s (philippe44-dmap-parser-2f8ee61e2427a177beea919d72dde8931084fe51.tar.gz) = fc96d2fc932de2929573454f3400360df5b1de25c1874ae38034b4b5a4a319fc
+SHA512 (philippe44-dmap-parser-2f8ee61e2427a177beea919d72dde8931084fe51.tar.gz) = 2f1577044f3a308bf9d083fb79f9692fbac33e3c81af525186f2d1ebbca2e07e1a76590c247e6fb6b395625d9df621f255d8013ae6f9f0b30a4ba23709d5d196
+Size (philippe44-dmap-parser-2f8ee61e2427a177beea919d72dde8931084fe51.tar.gz) = 13615 bytes
+BLAKE2s (philippe44-libcodecs-fb2cf6b096cce2e630f0c05174ab3aa9bd3503c1.tar.gz) = 9c459ca3fbb1c4c688e171dff701c495c9880c1cbe0eda429826a41b07c68a20
+SHA512 (philippe44-libcodecs-fb2cf6b096cce2e630f0c05174ab3aa9bd3503c1.tar.gz) = 465a8ed155dc191fe4892732d6eab41057f6cf418a7fee86791b7f9f02ecb69219938ff5e6246b99a73945ab1e567b753eb3bbfb53888daf233feb588f9efaa1
+Size (philippe44-libcodecs-fb2cf6b096cce2e630f0c05174ab3aa9bd3503c1.tar.gz) = 31198958 bytes
+BLAKE2s (philippe44-libmdns-d7f58bf2791c3c25fd729d739a9267ce9db5b696.tar.gz) = 3679eb9f3f5ea810f5c6e49ec9e78aea3872d41c5f9f8312dc5ff9e9a12b5336
+SHA512 (philippe44-libmdns-d7f58bf2791c3c25fd729d739a9267ce9db5b696.tar.gz) = 42be9bfcc341d1aa36195befd258f0d62aa75f2f699e4a7c723b7c6e29e43bb95928e3f461a46da86930dbf70153749258b824e80a4276f467a0c0f5cf485c33
+Size (philippe44-libmdns-d7f58bf2791c3c25fd729d739a9267ce9db5b696.tar.gz) = 1711897 bytes
+BLAKE2s (philippe44-libpthreads4w-2ae750783281db5b5cd867649880b3b951ced781.tar.gz) = 83303134eb7158246636e674bc47e6a90bcd839507fd7cefaf2b4ac8c09b8aa9
+SHA512 (philippe44-libpthreads4w-2ae750783281db5b5cd867649880b3b951ced781.tar.gz) = 89049f6b91d2f38e4d444512b1655cb082a4dcb98c7d212d016b1b38f049e735ce5cc5b42ba2cab2df7bb537b5cbf122cb82ae1552883b3c5348045e5744b288
+Size (philippe44-libpthreads4w-2ae750783281db5b5cd867649880b3b951ced781.tar.gz) = 1004863 bytes
+BLAKE2s (philippe44-libpupnp-11a9750e2fa6da392345fcc8868b307444e13341.tar.gz) = 92dcbd80c73a4911083cc32fc9d1bd312437e1cf336e164bf91a1ff1e6adc8e8
+SHA512 (philippe44-libpupnp-11a9750e2fa6da392345fcc8868b307444e13341.tar.gz) = 2f6ab110e0f6ac6aed507b1b6586ba0ef82d3d8e58fbba0329bba00a570f194120b82d8561046125c22fc6b274446165b934ea06d35de4fea34d2e1f3676388f
+Size (philippe44-libpupnp-11a9750e2fa6da392345fcc8868b307444e13341.tar.gz) = 5647045 bytes
+BLAKE2s (philippe44-libraop-09c64996fa863f5f327ea441030fe20e48092121.tar.gz) = ad3d62f6acf8bb9913c861360e39cbfc17a83fcb39fc6f1fa1b930061cc1ae24
+SHA512 (philippe44-libraop-09c64996fa863f5f327ea441030fe20e48092121.tar.gz) = 0718032c46160148be1e48a23f48cfb671f6bf0009dbec125bdeea37097ad87c0900bc1bc43d0b7375867e569f4696130666256c62add3172cabf487ffb26ab2
+Size (philippe44-libraop-09c64996fa863f5f327ea441030fe20e48092121.tar.gz) = 32997503 bytes
+SHA1 (patch-aircast_Makefile) = 834659de4878284ebb132dec21c2731a44580ad2
+SHA1 (patch-aircast_src_castcore.c) = d7f7bd8927652a2ecc7ebaae6debd058897b6b10
+SHA1 (patch-airupnp_Makefile) = 62e4999dceb6cef45131b97249386b841a855acd
+SHA1 (patch-common_libraop_Makefile) = 60792d3bfa31519c7a048044d22e4d729f5f47db
diff --git a/airconnect/patches/patch-aircast_Makefile b/airconnect/patches/patch-aircast_Makefile
new file mode 100644
index 0000000000..349d5d6e47
--- /dev/null
+++ b/airconnect/patches/patch-aircast_Makefile
@@ -0,0 +1,52 @@
+$NetBSD$
+
+Link with external openssl and jansson.
+Don't bother building a single-arch "universal" binary on macOS.
+
+--- aircast/Makefile.orig	2024-02-01 09:13:45.000000000 +0000
++++ aircast/Makefile
+@@ -39,6 +39,7 @@ NANOPB		= nanopb
+ JANSSON		= libjansson/targets/$(HOST)/$(PLATFORM)
+ 
+ DEFINES 	+= -D_FILE_OFFSET_BITS=64 -DPB_FIELD_16BIT -DNDEBUG -D_GNU_SOURCE -DUPNP_STATIC_LIB
++DEFINES 	+= -DSSL_STATIC_LIB
+ CFLAGS  	+= -Wall -fPIC -ggdb -O2 $(DEFINES) -fdata-sections -ffunction-sections -std=gnu11
+ LDFLAGS 	+= -lpthread -ldl -lm -L. 
+ 
+@@ -55,7 +56,7 @@ INCLUDE = -I$(OPENSSL)/include \
+ 		  -I$(NANOPB) \
+ 		  -I$(JANSSON)/include
+ 		  		  
+-DEPS	= $(SRC)/aircast.h $(LIBRARY) $(LIBRARY_STATIC)
++DEPS	= $(SRC)/aircast.h
+ 				  
+ SOURCES = castcore.c castmessage.pb.c aircast.c cast_util.c cast_parse.c config_cast.c  \
+ 	  cross_util.c cross_log.c cross_net.c cross_thread.c platform.c \
+@@ -69,8 +70,7 @@ OBJECTS_STATIC 	= $(patsubst %.c,$(BUILD
+ LIBRARY		= $(RAOP)/$(HOST)/$(PLATFORM)/libraop.a \
+ 			  $(PUPNP)/libpupnp.a \
+ 			  $(CODECS)/$(HOST)/$(PLATFORM)/libcodecs.a \
+-			  $(MDNS)/$(HOST)/$(PLATFORM)/libmdns.a \
+-			  $(JANSSON)/libjansson.a
++			  $(MDNS)/$(HOST)/$(PLATFORM)/libmdns.a -lssl -lcrypto -ljansson
+ 				  
+ LIBRARY_STATIC 	= $(LIBRARY) $(OPENSSL)/libopenssl.a
+ 
+@@ -78,17 +78,9 @@ all: directory $(EXECUTABLE) $(EXECUTABL
+ 
+ $(EXECUTABLE): $(OBJECTS)
+ 	$(CC) $(OBJECTS) $(LIBRARY) $(CFLAGS) $(LDFLAGS) -o $@
+-ifeq ($(HOST),macos)
+-	rm -f $(CORE)
+-	lipo -create -output $(CORE) $$(ls $(CORE)* | grep -v '\-static')
+-endif
+ 
+ $(EXECUTABLE_STATIC): $(OBJECTS_STATIC)
+ 	$(CC) $(OBJECTS_STATIC) $(LIBRARY_STATIC) $(CFLAGS) $(LDFLAGS) $(LINKSTATIC) -o $@
+-ifeq ($(HOST),macos)
+-	rm -f $(CORE)-static
+-	lipo -create -output $(CORE)-static $(CORE)-*-static
+-endif
+ 
+ $(OBJECTS) $(OBJECTS_STATIC): $(DEPS)
+ 
diff --git a/airconnect/patches/patch-aircast_src_castcore.c b/airconnect/patches/patch-aircast_src_castcore.c
new file mode 100644
index 0000000000..35a24496c8
--- /dev/null
+++ b/airconnect/patches/patch-aircast_src_castcore.c
@@ -0,0 +1,25 @@
+$NetBSD$
+
+Remove API calls deprecated in OpenSSL 3.x.
+
+--- aircast/src/castcore.c.orig	2024-02-01 09:13:45.000000000 +0000
++++ aircast/src/castcore.c
+@@ -548,9 +548,6 @@ static void *CastPingThread(void *args)
+ 		crossthreads_sleep(1500);
+ 	}
+ 
+-	// clear SSL error allocated memorry
+-	ERR_remove_thread_state(NULL);
+-
+ 	return NULL;
+ }
+ 
+@@ -695,8 +692,5 @@ static void *CastSocketThread(void *args
+ 		}
+ 	}
+ 
+-	// clear SSL error allocated memorry
+-	ERR_remove_thread_state(NULL);
+-
+ 	return NULL;
+ }
diff --git a/airconnect/patches/patch-airupnp_Makefile b/airconnect/patches/patch-airupnp_Makefile
new file mode 100644
index 0000000000..96c9e80121
--- /dev/null
+++ b/airconnect/patches/patch-airupnp_Makefile
@@ -0,0 +1,51 @@
+$NetBSD$
+
+Link with external openssl and jansson.
+Don't bother building a single-arch "universal" binary on macOS.
+
+--- airupnp/Makefile.orig	2024-02-01 09:13:45.000000000 +0000
++++ airupnp/Makefile
+@@ -37,6 +37,7 @@ CODECS		= $(COMMON)/libcodecs/targets
+ OPENSSL		= $(COMMON)/libopenssl/targets/$(HOST)/$(PLATFORM)
+ 
+ DEFINES 	+= -DNDEBUG -D_GNU_SOURCE -DUPNP_STATIC_LIB
++DEFINES 	+= -DSSL_STATIC_LIB
+ CFLAGS  	+= -Wall -fPIC -ggdb -O2 $(DEFINES) -fdata-sections -ffunction-sections
+ LDFLAGS 	+= -lpthread -ldl -lm -L.
+ 
+@@ -51,7 +52,7 @@ INCLUDE = -I$(OPENSSL)/include \
+ 		  -I$(PUPNP)/include/upnp -I$(PUPNP)/include/ixml -I$(PUPNP)/include/addons \
+ 		  -I$(MDNS)/include/mdnssvc -I$(MDNS)/include/mdnssd
+ 
+-DEPS	= $(SRC)/airupnp.h $(LIBRARY) $(LIBRARY_STATIC)
++DEPS	= $(SRC)/airupnp.h
+ 
+ SOURCES = avt_util.c airupnp.c mr_util.c config_upnp.c  \
+ 	  cross_util.c cross_log.c cross_net.c cross_thread.c platform.c
+@@ -64,7 +65,7 @@ OBJECTS_STATIC 	= $(patsubst %.c,$(BUILD
+ LIBRARY	= $(RAOP)/$(HOST)/$(PLATFORM)/libraop.a \
+ 			$(PUPNP)/libpupnp.a \
+ 			$(CODECS)/$(HOST)/$(PLATFORM)/libcodecs.a \
+-			$(MDNS)/$(HOST)/$(PLATFORM)/libmdns.a
++			$(MDNS)/$(HOST)/$(PLATFORM)/libmdns.a -lssl -lcrypto -ljansson
+ 
+ LIBRARY_STATIC = $(LIBRARY) $(OPENSSL)/libopenssl.a
+ 
+@@ -72,17 +73,9 @@ all: directory $(EXECUTABLE) $(EXECUTABL
+ 
+ $(EXECUTABLE): $(OBJECTS)
+ 	$(CC) $(OBJECTS) $(LIBRARY) $(CFLAGS) $(LDFLAGS) -o $@
+-ifeq ($(HOST),macos)
+-	rm -f $(CORE)
+-	lipo -create -output $(CORE) $$(ls $(CORE)* | grep -v '\-static')
+-endif
+ 
+ $(EXECUTABLE_STATIC): $(OBJECTS_STATIC)
+ 	$(CC) $(OBJECTS_STATIC) $(LIBRARY_STATIC) $(CFLAGS) $(LDFLAGS) $(LINKSTATIC) -o $@
+-ifeq ($(HOST),macos)
+-	rm -f $(CORE)-static
+-	lipo -create -output $(CORE)-static $(CORE)-*-static
+-endif
+ 
+ $(OBJECTS) $(OBJECTS_STATIC): $(DEPS)
+ 
diff --git a/airconnect/patches/patch-common_libraop_Makefile b/airconnect/patches/patch-common_libraop_Makefile
new file mode 100644
index 0000000000..26943ca9d5
--- /dev/null
+++ b/airconnect/patches/patch-common_libraop_Makefile
@@ -0,0 +1,17 @@
+$NetBSD$
+
+Don't bother building a single-arch "universal" binary on macOS.
+
+--- common/libraop/Makefile.orig	2025-08-14 18:46:08.772087842 +0000
++++ common/libraop/Makefile
+@@ -72,10 +72,6 @@ directory:
+ 
+ $(EXECUTABLE): $(SOURCES_BIN:%.c=$(BUILDDIR)/%.o) $(LIB) 
+ 	$(CC) $^ $(LIBRARY) $(CFLAGS) $(LDFLAGS) -o $@
+-ifeq ($(HOST),macos)
+-	rm -f $(CORE)
+-	lipo -create -output $(CORE) $$(ls $(CORE)* | grep -v '\-static')
+-endif	
+ 
+ $(LIB): $(OBJECTS)
+ 	$(AR) rcs $@ $^


Home | Main Index | Thread Index | Old Index