After ports commit 0e94a54ee19481e569344e95d5d28732ce3a86ef ("devel/libsoup: Massage features and options", see bug 235207 and bug 231160), I get a circular dependency error from poudriere: [00:00:21] Sanity checking build queue [00:00:21] Error: Dependency loop detected: These packages depend on each other: libsoup-2.72.0_3 samba413-4.13.8 tracker-2.3.4_3 This is because I enabled the SPOTLIGHT option in net/samba413, which pulls in sysutils/tracker: SPOTLIGHT_BUILD_DEPENDS= tracker>=1.4.1:sysutils/tracker SPOTLIGHT_RUN_DEPENDS= tracker>=1.4.1:sysutils/tracker In turn, sysutils/tracker depends on devel/libsoup: LIB_DEPENDS= libuuid.so:misc/e2fsprogs-libuuid \ libsoup-2.4.so:devel/libsoup \ libdbus-1.so:devel/dbus \ libjson-glib-1.0.so:devel/json-glib \ libicutu.so:devel/icu Is the only option now to disable the SMB option for libsoup?
Created attachment 225755 [details] Patch to make samba a run-time dep This picks up an idea from PR 235207 and applies it to meson. It ought to break the circular dependency, although I haven't tested that specifically.
Please apply patch to ports (patch -p0) and try to build the things you're interested in. If it works out, I'll commit it.
Ping? I'd really like to have this tested / built by someone who cares about the specific functionality, rather than the "it compiles, ship it" that I would have to apply.
(In reply to Adriaan de Groot from comment #3) Hmm, it doesn't seem to make difference for "make index", at least: % git status On branch main Your branch is up to date with 'origin/main'. Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: devel/libsoup/Makefile new file: devel/libsoup/files/patch-meson.build Untracked files: (use "git add <file>..." to include in what will be committed) devel-libsoup.patch % nice make index Generating INDEX-14 - please wait..--- describe.accessibility --- --- describe.arabic --- --- describe.archivers --- --- describe.astro --- --- describe.audio --- --- describe.benchmarks --- --- describe.biology --- --- describe.cad --- --- describe.chinese --- --- describe.comms --- --- describe.converters --- --- describe.databases --- --- describe.deskutils --- --- describe.devel --- --- describe.dns --- --- describe.editors --- --- describe.emulators --- --- describe.finance --- --- describe.french --- --- describe.ftp --- --- describe.games --- --- describe.german --- --- describe.graphics --- --- describe.hebrew --- --- describe.hungarian --- --- describe.irc --- --- describe.japanese --- --- describe.java --- --- describe.korean --- --- describe.lang --- --- describe.mail --- --- describe.math --- --- describe.misc --- --- describe.multimedia --- --- describe.net --- --- describe.net-im --- --- describe.net-mgmt --- --- describe.net-p2p --- --- describe.news --- --- describe.polish --- --- describe.ports-mgmt --- --- describe.portuguese --- --- describe.print --- --- describe.russian --- --- describe.science --- --- describe.security --- --- describe.shells --- --- describe.sysutils --- --- describe.textproc --- --- describe.ukrainian --- --- describe.vietnamese --- --- describe.www --- --- describe.x11 --- --- describe.x11-clocks --- --- describe.x11-drivers --- --- describe.x11-fm --- --- describe.x11-fonts --- --- describe.x11-servers --- --- describe.x11-themes --- --- describe.x11-toolkits --- --- describe.x11-wm --- make_index: Circular dependency loop found: libsoup-2.72.0_4 depends upon itself. Done. I can probably build the ports themselves, but if make index keeps complaining we might not want to bother.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=ed9df2d08f7837c866f525515b8fc8c83a919694 commit ed9df2d08f7837c866f525515b8fc8c83a919694 Author: Adriaan de Groot <adridg@FreeBSD.org> AuthorDate: 2021-06-12 14:19:46 +0000 Commit: Adriaan de Groot <adridg@FreeBSD.org> CommitDate: 2021-06-28 14:39:46 +0000 devel/libsoup: make samba a (not registered) runtime dep This picks up an idea from PR 235207 again, where NTLM authentication is optional. Previous commits made samba a build-dependency so that the --enable-ntlm option would work. The meson build -- even though the dep is entirely runtime -- would check for the presence of ntlm_auth at build-time, to be able to pass in the path to ntlm_auth to the build. Re-jig this to not do the check, accept the option as-is, and use a likely path to ntlm_auth instead (which is what the original patch in 235207 did). A circular dependency from samba41[23] -> libsoup and back can be triggered by setting option SMB in libsoup and option SPOTLIGHT in samba. Originally the runtime dependency was registered as USES= samba:run A _RUN dependency still wants to build, though, and package and index builds failed. Cut the circular dependency by **not** registering samba as a runtime dependency and using a pkg-message to tell users to possibly install samba. Anyone who now has "but my samba is installed in a different prefix" can file a PR with a patch fixing meson better. PR: 256076 Reported by: Dimitry Andric devel/libsoup/Makefile | 31 +++++++++++++++++++++-------- devel/libsoup/files/patch-meson.build (new) | 17 ++++++++++++++++ devel/libsoup/pkg-message (new) | 10 ++++++++++ 3 files changed, 50 insertions(+), 8 deletions(-)
I played with it a while, but it comes down to _RUN being just as hard a dependency as any other, for the ports system. So I cut it at libsoup and added a message instead. You can build samba / tracker / libsoup now with the options you like; installing samba should get you NTLM auth at runtime.