From 2705dd431c33ae6cbf5f66c64f62f450f21e2619 Mon Sep 17 00:00:00 2001 From: "Jason E. Hale" Date: Wed, 10 Jul 2024 20:55:39 -0400 Subject: [PATCH] comms/*libimobiledevice: Update to latest git commit The libimobiledevice stack has been undergoing great changes over the years and it has come to a head where modern iOS/iPadOS users are unable to make practical use of these tools in the official releases. Since most iOS/iPadOS users are likely using the most recent versions, I have decided the best course of action is to follow the git repo and created a couple of new support ports (comms/libimobiledevice-glue and security/libtatsu) needed for this to be a reality. PR: 280014 Reported by: --- comms/libimobiledevice/Makefile | 41 +++++++++---------- comms/libimobiledevice/distinfo | 6 +-- comms/libimobiledevice/files/patch-configure | 13 ------ .../libimobiledevice/files/patch-configure.ac | 13 ++++++ comms/libimobiledevice/pkg-plist | 7 ++++ comms/py-libimobiledevice/Makefile | 33 ++++++++------- 6 files changed, 62 insertions(+), 51 deletions(-) delete mode 100644 comms/libimobiledevice/files/patch-configure create mode 100644 comms/libimobiledevice/files/patch-configure.ac diff --git a/comms/libimobiledevice/Makefile b/comms/libimobiledevice/Makefile index ec385103a71b..00e6c574c368 100644 --- a/comms/libimobiledevice/Makefile +++ b/comms/libimobiledevice/Makefile @@ -1,8 +1,9 @@ PORTNAME= libimobiledevice -PORTVERSION= 1.3.0 -PORTREVISION?= 1 +DISTVERSION= 1.3.0-241 +PORTREVISION?= 0 +DISTVERSIONSUFFIX= -g2a0a6d5 CATEGORIES?= comms -MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${PORTVERSION}/ +#MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/ MAINTAINER?= jhale@FreeBSD.org COMMENT?= Library to communicate with Apple iOS devices @@ -11,44 +12,42 @@ WWW= https://www.libimobiledevice.org LICENSE= LGPL21+ LICENSE_FILE= ${WRKSRC}/COPYING.LESSER -SLAVE_PORT?= no +USES+= autoreconf cpe libtool localbase:ldflags pathfix pkgconfig ssl +USE_GITHUB= yes -USES+= cpe libtool localbase:ldflags pathfix pkgconfig ssl tar:bzip2 GNU_CONFIGURE= yes -GNU_CONFIGURE_MANPREFIX=${PREFIX}/share 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 ${SLAVE_PORT} == no LIB_DEPENDS= libplist-2.0.so:devel/libplist \ - libusbmuxd-2.0.so:comms/libusbmuxd + libimobiledevice-glue-1.0.so:comms/libimobiledevice-glue \ + libusbmuxd-2.0.so:comms/libusbmuxd \ + libtatsu.so:security/libtatsu -USES+= gnome -USE_GNOME= glib20 -CONFIGURE_ARGS+=--without-cython -USE_CSTD= gnu89 USE_LDCONFIG= yes +CONFIGURE_ARGS+=--without-cython + PORTDOCS= AUTHORS NEWS README.md OPTIONS_DEFINE= DOCS -post-patch: - @${REINPLACE_CMD} -e 's, *@ssl_requires@,,' \ - ${WRKSRC}/src/${PORTNAME}*.pc.in - post-install: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR} .endif # ${SLAVE_PORT} == no -.include +post-patch: + @${REINPLACE_CMD} -e 's| *@ssl_requires@||' \ + ${WRKSRC}/src/${PORTNAME}*.pc.in + @echo "${DISTVERSIONFULL}" > ${WRKSRC}/.tarball-version -.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400079 || ( ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 )) -CFLAGS+= -Wno-error=int-conversion -.endif - -.include +.include diff --git a/comms/libimobiledevice/distinfo b/comms/libimobiledevice/distinfo index d1d59e0b8b98..6c8b853e7d26 100644 --- a/comms/libimobiledevice/distinfo +++ b/comms/libimobiledevice/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1611089282 -SHA256 (libimobiledevice-1.3.0.tar.bz2) = 53f2640c6365cd9f302a6248f531822dc94a6cced3f17128d4479a77bd75b0f6 -SIZE (libimobiledevice-1.3.0.tar.bz2) = 733949 +TIMESTAMP = 1720418798 +SHA256 (libimobiledevice-libimobiledevice-1.3.0-241-g2a0a6d5_GH0.tar.gz) = 75e7c7b778b0b377f961b2bc642f6b30fc2e7f73221153c6a94de7e2bffc4dcf +SIZE (libimobiledevice-libimobiledevice-1.3.0-241-g2a0a6d5_GH0.tar.gz) = 411083 diff --git a/comms/libimobiledevice/files/patch-configure b/comms/libimobiledevice/files/patch-configure deleted file mode 100644 index fa067e1b4ff6..000000000000 --- a/comms/libimobiledevice/files/patch-configure +++ /dev/null @@ -1,13 +0,0 @@ -Remove bash-ism from configure script - ---- configure.orig 2021-01-21 13:07:51 UTC -+++ configure -@@ -18422,7 +18422,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ - - 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 new file mode 100644 index 000000000000..b9595b147b48 --- /dev/null +++ b/comms/libimobiledevice/files/patch-configure.ac @@ -0,0 +1,13 @@ +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 3f706a2de9e6..361b606c2223 100644 --- a/comms/libimobiledevice/pkg-plist +++ b/comms/libimobiledevice/pkg-plist @@ -1,10 +1,13 @@ +bin/afcclient bin/idevice_id bin/idevicebackup bin/idevicebackup2 +bin/idevicebtlogger bin/idevicecrashreport bin/idevicedate bin/idevicedebug bin/idevicedebugserverproxy +bin/idevicedevmodectl bin/idevicediagnostics bin/ideviceenterrecovery bin/ideviceimagemounter @@ -36,6 +39,7 @@ include/libimobiledevice/notification_proxy.h include/libimobiledevice/preboard.h include/libimobiledevice/property_list_service.h include/libimobiledevice/restore.h +include/libimobiledevice/reverse_proxy.h include/libimobiledevice/sbservices.h include/libimobiledevice/screenshotr.h include/libimobiledevice/service.h @@ -46,13 +50,16 @@ lib/libimobiledevice-1.0.so lib/libimobiledevice-1.0.so.6 lib/libimobiledevice-1.0.so.6.0.0 libdata/pkgconfig/libimobiledevice-1.0.pc +share/man/man1/afcclient.1.gz share/man/man1/idevice_id.1.gz share/man/man1/idevicebackup.1.gz share/man/man1/idevicebackup2.1.gz +share/man/man1/idevicebtlogger.1.gz share/man/man1/idevicecrashreport.1.gz share/man/man1/idevicedate.1.gz share/man/man1/idevicedebug.1.gz share/man/man1/idevicedebugserverproxy.1.gz +share/man/man1/idevicedevmodectl.1.gz share/man/man1/idevicediagnostics.1.gz share/man/man1/ideviceenterrecovery.1.gz share/man/man1/ideviceimagemounter.1.gz diff --git a/comms/py-libimobiledevice/Makefile b/comms/py-libimobiledevice/Makefile index c5e10705f4b4..f44618dab70e 100644 --- a/comms/py-libimobiledevice/Makefile +++ b/comms/py-libimobiledevice/Makefile @@ -7,30 +7,35 @@ 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} +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libplist>=2.2.0:devel/py-libplist@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}cython3>=3.0.0:lang/cython3@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libplist>=2.2.0:devel/py-libplist@${PY_FLAVOR} +USES+= python +USE_PYTHON= 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 -USES= python -USE_PYTHON= flavors cython -BINARY_ALIAS= cython=cython-${PYTHON_VER} -CONFIGURE_ENV= PYTHON_LDFLAGS="`pkg-config --libs python-${PYTHON_VER}`" -SLAVE_PORT= yes -MASTERDIR= ${.CURDIR:H:H}/comms/libimobiledevice - -PLIST= ${.CURDIR}/pkg-plist 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 + ${PYTHONPREFIX_SITELIBDIR:S|^${PREFIX}/||}/imobiledevice.a \ + ${PYTHONPREFIX_SITELIBDIR:S|^${PREFIX}/||}/imobiledevice.so -post-patch: +_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)//' \ + -e 's|$$(top_builddir)/src/libimobiledevice-1.0.la|-limobiledevice-1.0|' \ + -e 's|$$(imobiledevice_la_DEPENDENCIES)||' \ ${BUILD_WRKSRC}/Makefile.in post-install: