git: ee854fc081b6 - main - comms/[py-]libimobiledevice: Update to 1.4.0

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Thu, 16 Oct 2025 06:32:32 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ee854fc081b663728949a05465f7aa66524164b6

commit ee854fc081b663728949a05465f7aa66524164b6
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2025-10-16 06:07:05 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2025-10-16 06:32:11 +0000

    comms/[py-]libimobiledevice: Update to 1.4.0
    
    Switch back to pre-rolled release.
    
    Refactor bindings, folding most variables and all targets into the
    parent port for easier maintainence and less trickery.
    
    https://github.com/libimobiledevice/libimobiledevice/releases/tag/1.4.0
---
 comms/libimobiledevice/Makefile                 | 57 +++++++++++++++++--------
 comms/libimobiledevice/distinfo                 |  6 +--
 comms/libimobiledevice/files/patch-configure    | 13 ++++++
 comms/libimobiledevice/files/patch-configure.ac | 13 ------
 comms/libimobiledevice/pkg-plist                |  3 +-
 comms/py-libimobiledevice/Makefile              | 31 +-------------
 6 files changed, 59 insertions(+), 64 deletions(-)

diff --git a/comms/libimobiledevice/Makefile b/comms/libimobiledevice/Makefile
index acfa4759a88c..c55c56ed183d 100644
--- a/comms/libimobiledevice/Makefile
+++ b/comms/libimobiledevice/Makefile
@@ -1,9 +1,8 @@
 PORTNAME=	libimobiledevice
-DISTVERSION=	1.3.0-300
+DISTVERSION=	1.4.0
 PORTREVISION?=	0
-DISTVERSIONSUFFIX=	-gcb34a17
 CATEGORIES?=	comms
-#MASTER_SITES=	https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/
+MASTER_SITES=	https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/
 
 MAINTAINER?=	jhale@FreeBSD.org
 COMMENT?=	Library to communicate with Apple iOS devices
@@ -12,23 +11,35 @@ WWW=		https://www.libimobiledevice.org
 LICENSE=	LGPL21+
 LICENSE_FILE=	${WRKSRC}/COPYING.LESSER
 
-USES+=		autoreconf cpe libtool localbase:ldflags pkgconfig \
-		readline ssl
-USE_GITHUB=	yes
+LIB_DEPENDS=	libplist-2.0.so:devel/libplist
+
+USES=		cpe libtool localbase:ldflags pkgconfig \
+		readline ssl tar:bz2
 
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS+=openssl_CFLAGS="-I${OPENSSLINC}" \
+CONFIGURE_ARGS= openssl_CFLAGS="-I${OPENSSLINC}" \
 		openssl_LIBS="-L${OPENSSLLIB} -lssl -lcrypto"
 INSTALL_TARGET=	install-strip
 
 CFLAGS+=	-Wno-error=int-conversion
 
-SLAVE_PORT?=	no
+.if defined(_LIMD_BINDING) && ${_LIMD_BINDING} == "py"
+LIB_DEPENDS+=	libimobiledevice-1.0.so:${MASTER_PORT}
+BUILD_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}libplist>=2.2.0:devel/py-libplist@${PY_FLAVOR}
+RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}libplist>=2.2.0:devel/py-libplist@${PY_FLAVOR}
+
+USES+=		python
+USE_PYTHON=	cython3 flavors
+
+CONFIGURE_ENV+=	PYTHON_LDFLAGS="`pkg-config --libs python-${PYTHON_VER}`"
 
-.if ${SLAVE_PORT} == no
+BINARY_ALIAS=	cython=cython-${PYTHON_VER} \
+		python=${PYTHON_VERSION}
 
-LIB_DEPENDS=	libplist-2.0.so:devel/libplist \
-		libimobiledevice-glue-1.0.so:comms/libimobiledevice-glue \
+BUILD_WRKSRC=	${WRKSRC}/cython
+INSTALL_WRKSRC=	${BUILD_WRKSRC}
+.else # parent port
+LIB_DEPENDS+=	libimobiledevice-glue-1.0.so:comms/libimobiledevice-glue \
 		libusbmuxd-2.0.so:comms/libusbmuxd \
 		libtatsu.so:security/libtatsu
 
@@ -39,16 +50,26 @@ CONFIGURE_ARGS+=--without-cython
 PORTDOCS=	AUTHORS NEWS README.md
 
 OPTIONS_DEFINE=	DOCS
-
-post-install:
-	@${MKDIR} ${STAGEDIR}${DOCSDIR}
-	${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
-
-.endif # ${SLAVE_PORT} == no
+.endif
 
 post-patch:
 	@${REINPLACE_CMD} -e 's| *@ssl_requires@||' \
 		${WRKSRC}/src/${PORTNAME}*.pc.in
-	@echo "${DISTVERSIONFULL}" > ${WRKSRC}/.tarball-version
+.if defined(_LIMD_BINDING)
+	@${REINPLACE_CMD} \
+		-e 's|$$(top_builddir)/src/libimobiledevice-1.0.la|-limobiledevice-1.0|' \
+		-e 's|$$(imobiledevice_la_DEPENDENCIES)||' \
+		${BUILD_WRKSRC}/Makefile.in
+.endif
+
+post-install:
+.if defined(_LIMD_BINDING) && ${_LIMD_BINDING} == "py"
+	@${MKDIR} ${STAGEDIR}${PREFIX}/include/imobiledevice/cython
+	${INSTALL_DATA} ${INSTALL_WRKSRC}/imobiledevice.pxd \
+		${STAGEDIR}${PREFIX}/include/imobiledevice/cython
+.else # parent port
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+.endif
 
 .include <bsd.port.mk>
diff --git a/comms/libimobiledevice/distinfo b/comms/libimobiledevice/distinfo
index 8ec9aee3f8a7..4ec7114043a0 100644
--- a/comms/libimobiledevice/distinfo
+++ b/comms/libimobiledevice/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751600582
-SHA256 (libimobiledevice-libimobiledevice-1.3.0-300-gcb34a17_GH0.tar.gz) = a3bd75332a403855e46458606fb8bccc166e54c4755c7481bb5ddae275394069
-SIZE (libimobiledevice-libimobiledevice-1.3.0-300-gcb34a17_GH0.tar.gz) = 420171
+TIMESTAMP = 1760586833
+SHA256 (libimobiledevice-1.4.0.tar.bz2) = 23cc0077e221c7d991bd0eb02150a0d49199bcca1ddf059edccee9ffd914939d
+SIZE (libimobiledevice-1.4.0.tar.bz2) = 714628
diff --git a/comms/libimobiledevice/files/patch-configure b/comms/libimobiledevice/files/patch-configure
new file mode 100644
index 000000000000..50c2e684e9dd
--- /dev/null
+++ b/comms/libimobiledevice/files/patch-configure
@@ -0,0 +1,13 @@
+Remove bash-ism from configure script
+
+--- configure.orig	2025-10-07 03:17:25 UTC
++++ configure
+@@ -22303,7 +22303,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.b
+ 
+   if test "X$flag_ok" = Xyes ; then
+ 
+-                  CYTHON_CFLAGS+=" -Wno-cast-function-type"
++                  CYTHON_CFLAGS="$CYTHON_CFLAGS -Wno-cast-function-type"
+ 
+ 
+ 
diff --git a/comms/libimobiledevice/files/patch-configure.ac b/comms/libimobiledevice/files/patch-configure.ac
deleted file mode 100644
index b9595b147b48..000000000000
--- a/comms/libimobiledevice/files/patch-configure.ac
+++ /dev/null
@@ -1,13 +0,0 @@
-Remove bash-ism from configure script
-
---- configure.ac.orig	2024-07-01 16:27:27 UTC
-+++ configure.ac
-@@ -139,7 +139,7 @@ if test "$build_cython" = "true"; then
-               AM_PATH_PYTHON([3.0], [
-                 CYTHON_PYTHON
-                 AS_COMPILER_FLAG([-Wno-cast-function-type -Werror], [
--                  CYTHON_CFLAGS+=" -Wno-cast-function-type"
-+                  CYTHON_CFLAGS="$CYTHON_CFLAGS -Wno-cast-function-type"
-                   AC_SUBST([CYTHON_CFLAGS])
-                 ], [])
-               ])
diff --git a/comms/libimobiledevice/pkg-plist b/comms/libimobiledevice/pkg-plist
index 5d80ce566f8f..0e173a86acc7 100644
--- a/comms/libimobiledevice/pkg-plist
+++ b/comms/libimobiledevice/pkg-plist
@@ -20,6 +20,7 @@ bin/idevicescreenshot
 bin/idevicesetlocation
 bin/idevicesyslog
 include/libimobiledevice/afc.h
+include/libimobiledevice/bt_packet_logger.h
 include/libimobiledevice/companion_proxy.h
 include/libimobiledevice/debugserver.h
 include/libimobiledevice/diagnostics_relay.h
@@ -49,7 +50,7 @@ include/libimobiledevice/webinspector.h
 lib/libimobiledevice-1.0.a
 lib/libimobiledevice-1.0.so
 lib/libimobiledevice-1.0.so.6
-lib/libimobiledevice-1.0.so.6.0.0
+lib/libimobiledevice-1.0.so.6.1.0
 libdata/pkgconfig/libimobiledevice-1.0.pc
 share/man/man1/afcclient.1.gz
 share/man/man1/idevice_id.1.gz
diff --git a/comms/py-libimobiledevice/Makefile b/comms/py-libimobiledevice/Makefile
index 4b2a98ec349a..baff82aad8af 100644
--- a/comms/py-libimobiledevice/Makefile
+++ b/comms/py-libimobiledevice/Makefile
@@ -1,45 +1,18 @@
-PORTREVISION=	1
+PORTREVISION=	0
 CATEGORIES=	comms python
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
 MAINTAINER=	jhale@FreeBSD.org
 COMMENT=	Python bindings for libimobiledevice
 
-LIB_DEPENDS=	libimobiledevice-1.0.so:${MASTER_PORT} \
-		libplist-2.0.so:devel/libplist
-BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}libplist>=2.2.0:devel/py-libplist@${PY_FLAVOR}
-RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}libplist>=2.2.0:devel/py-libplist@${PY_FLAVOR}
-
-USES+=		python
-USE_PYTHON=	cython3 flavors
-
-CONFIGURE_ENV=	PYTHON_LDFLAGS="`pkg-config --libs python-${PYTHON_VER}`"
-
-BINARY_ALIAS=	cython=cython-${PYTHON_VER}
 MASTERDIR=	${.CURDIR:H:H}/comms/libimobiledevice
 PORTSCOUT=	ignore:1
 
-BUILD_WRKSRC=	${WRKSRC}/cython
-INSTALL_WRKSRC=	${BUILD_WRKSRC}
-
 PLIST=		${.CURDIR}/pkg-plist
 PLIST_FILES=	include/imobiledevice/cython/imobiledevice.pxd \
 		${PYTHONPREFIX_SITELIBDIR:S|^${PREFIX}/||}/imobiledevice.a \
 		${PYTHONPREFIX_SITELIBDIR:S|^${PREFIX}/||}/imobiledevice.so
 
-_USES_configure+=	471:post-autoreconf
-
-SLAVE_PORT=	yes
-
-post-autoreconf:
-	@${REINPLACE_CMD} \
-		-e 's|$$(top_builddir)/src/libimobiledevice-1.0.la|-limobiledevice-1.0|' \
-		-e 's|$$(imobiledevice_la_DEPENDENCIES)||' \
-		${BUILD_WRKSRC}/Makefile.in
-
-post-install:
-	@${MKDIR} ${STAGEDIR}${PREFIX}/include/imobiledevice/cython
-	${INSTALL_DATA} ${INSTALL_WRKSRC}/imobiledevice.pxd \
-		${STAGEDIR}${PREFIX}/include/imobiledevice/cython
+_LIMD_BINDING=	py
 
 .include "${MASTERDIR}/Makefile"