Page MenuHomeFreeBSD

net/linphone: Update to 4.4.8
ClosedPublic

Authored by zirias on Jul 13 2022, 1:44 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Dec 4, 11:05 PM
Unknown Object (File)
Wed, Dec 4, 4:44 AM
Unknown Object (File)
Mon, Nov 18, 8:56 AM
Unknown Object (File)
Mon, Nov 18, 8:45 AM
Unknown Object (File)
Mon, Nov 18, 7:36 AM
Unknown Object (File)
Mon, Nov 18, 5:29 AM
Unknown Object (File)
Oct 26 2024, 1:24 AM
Unknown Object (File)
Oct 18 2024, 3:39 AM
Subscribers

Details

Summary

Linphone 4.1.1 no longer builds with updated support libs. Udate to latest tagged version of linphone-desktop.

PR: 264734

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 46440
Build 43329: arc lint + arc unit

Event Timeline

Avoid rebuilding during stage phase.

There's a lot of hacking the cmake build system necessary to convince it to
*only* build the Qt app. I didn't find a way to "fix" installation though,
so added a manual do-install.

Tested on 13.1-RELEASE/amd64, phone calls are working.

poudriere testport:
12.3-i386 OK
12.3-amd64 OK
13.1-aarch64 OK
13.1-amd64 OK
14-aarch64 pending
14-amd64 OK

Add explanation about RPATH, as it's non-obvious

This revision was not accepted when it landed; it landed in state Needs Review.Jul 19 2022, 9:24 AM
This revision was automatically updated to reflect the committed changes.

FYI - FreeBSD 14-current

/bin/mkdir -p /usr/img/freebsd.ports/net/linphone/work/.build
CMake Warning (dev) at /usr/local/share/bctoolbox/cmake/bctoolboxTargets.cmake:54 (add_library):
  ADD_LIBRARY called with SHARED option but the target platform does not
  support dynamic linking.  Building a STATIC library instead.  This may lead
  to problems.
Call Stack (most recent call first):
  /usr/local/share/bctoolbox/cmake/bctoolboxConfig.cmake:56 (include)
  CMakeLists.txt:24 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/local/share/bctoolbox/cmake/bctoolboxTargets.cmake:61 (add_library):
  ADD_LIBRARY called with SHARED option but the target platform does not
  support dynamic linking.  Building a STATIC library instead.  This may lead
  to problems.
Call Stack (most recent call first):
  /usr/local/share/bctoolbox/cmake/bctoolboxConfig.cmake:56 (include)
  CMakeLists.txt:24 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

FYI - FreeBSD 14-current
[...]

Yes, something is fishy with the cmake magic in bctoolbox, but it doesn't seem to have any effect. It builds one binary (linphone) and one shared lib (libapp-plugin.so) as it should.

It bails out like this currently.

CMake Error at /usr/local/share/bctoolbox/cmake/bctoolboxCMakeUtils.cmake:146 (message):
  invalid git describe version: ''
Call Stack (most recent call first):
  build/CMakeLists.txt:49 (bc_compute_full_version)

I can't reproduce that.

bc_compute_full_version should never be called, it's patched out by the very first line of post-patch, I also checked the actual commit here: https://cgit.freebsd.org/ports/commit/?id=46dfe1ded5c6b4a625dc6ff5138b64244e69ad8c

See also my testport log for -CURRENT (which *does* include the strange shared lib warnings) here: https://home.palmen-it.de/testbuilder/data/14a-default/2022-07-16_09h34m48s/logs/linphone-4.4.8,1.log

I'm not sure exactly what is going on, but this patch fixes it on my side:

diff --git a/net/linphone/Makefile b/net/linphone/Makefile
index 4f64d36ec09e..024e5350a619 100644
--- a/net/linphone/Makefile
+++ b/net/linphone/Makefile
@@ -40,6 +40,7 @@ post-patch:
                -e 's/set(FULL_VERSION /&${PORTVERSION}/' \
                -e 's/INSTALL_RPATH_USE_LINK_PATH/BUILD_WITH_INSTALL_RPATH/' \
                -e '/add_subdirectory.*linphone_package/d' \
+               -e '/add_subdirectory.*build/d' \
                -e '/add_custom_command/d' -e '/deployqt_hack/d' \
                ${WRKSRC}/CMakeLists.txt
        @${REINPLACE_CMD} 's/LINPHONE_QT_GIT_VERSION/"${PORTVERSION}"/' \

Yes, the main net/linphone/work/linphone-desktop-da40aed848da44e851d67a2039e7e966c5257d3b/linphone-app/CMakeLists.txt gets patches, but there is one more instance in net/linphone/work/linphone-desktop-da40aed848da44e851d67a2039e7e966c5257d3b/linphone-app/build/CMakeLists.txt which didn't get patched.

The issue happens when linphone is built straight off a git checkout.

I'm not sure exactly what is going on, but this patch fixes it on my side:
[...]

And, looking at upstream sources again, this patch looks perfectly sane. We don't need this "build" subdir, it seems its only purpose is building some packages with bundled deps.

Still I'm puzzled all my testport runs were fine without it, that's very strange.

Will you handle this one-liner or should I?

Will you handle this one-liner or should I?

I think this still needs a few "testport" runs? My builder is currently busy... so, please feel free. I'm still puzzled why it affects you an none of my testports, but I'm pretty sure it won't hurt!

If you want to run it through a bit more tests, no issue. My builder is currently down due to two missing fans for the extra CPU :-)

@hselasky I will do so ASAP (read: as soon as my builder machine is done rebuilding my package repos).

FYI, in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264734 a very plausible explanation emerged: the build only fails when git is installed, which will never be the case in a poudriere jail.

In D35805#814260, @felix_palmen-it.de wrote:

@hselasky I will do so ASAP (read: as soon as my builder machine is done rebuilding my package repos).

FYI, in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264734 a very plausible explanation emerged: the build only fails when git is installed, which will never be the case in a poudriere jail.

I have GIT installed. Makes sense.

Ping - anyone working on the one-liner to build Linphone w/GIT installed?

Ping - anyone working on the one-liner to build Linphone w/GIT installed?

See the original PR here: https://bugs.freebsd.org/264734

Just today, I pinged @bofh on IRC about it ;)