Created attachment 211953 [details]
poudriere build log for handbrake
System: 12.1-RELEASE-p1 FreeBSD 12.1-RELEASE-p1 GENERIC amd64
Ports tree rev: 526573
A poudriere build of handbrake failed with the error
ERROR: dav1d >= 0.2.1 not found using pkg-config
apparently during the build of its private version of ffmpeg? This is odd
because the log (attached) shows an apparently successful build of dav1d 0.5.1.
Steps to reproduce:
poudriere bulk -f <port list including multimedia/handbrake> -j <12.1 jail>
Expected result: successful build
Actual result: error noted above
(In reply to Steve Peurifoy from comment #0)
It seems strange.
> apparently during the build of its private version of ffmpeg? This is odd
> because the log (attached) shows an apparently successful build of dav1d 0.5.1.
Yes, dav1d is provided from HandBrake master site and should be found
according to the successful build log.
My poudriere build with r527229 (my latest) finished successfully.
I'm going to retry with r526573.
Created attachment 211983 [details]
Fix for pkgconfig paths during build
This is a patch I made to fix it, at least, for myself. The issue is where the build places pkgconfig files. It has two directories. There is probably a better solution.
In essence, dav1d places files in libdata/pkgconfig while HandBrake is looking in lib/pkgconfig. I just linked the two together during the post-extract stage.
Created attachment 211986 [details]
Fix meson path
(In reply to Sean Farley from comment #2)
Thank you very much for the pkgconfig path patch.
The default pkgconfig path of meson is libdata/pkgconfig on FreeBSD.
It's correct but in the HandBrake build it should be as same as Linux environment.
So, I patched `meson.build` file to fix as same as HandBrake lib/pkgconfig path.
In my poudriere environment, there are two dav1d.
One is HandBrake contib, the other is FreeBSD ports.
HandBrake requires gstreamer1-libav port for HandBrake preview feature,
It requires ffmpeg port and ffmpeg default option includes DAV1D.
So, my dav1d.pc is solved by /usr/local/libdata/pkgconfig/dav1.pc
in my poudriere environment.
`Fix meson path` patch file should fix this problem.
Please check and see it.
After applying Naito-san's patch, handbrake built fine.
(In reply to Steve Peurifoy from comment #5)
Thanks for the confirmation.
Please apply 'Fix meson path' patch to Ports tree.
Is quarterly affected?
@Maintainer, Please set maintainer-approval attachment flag on patches for ports you maintain to signify maintainer approval
(In reply to Kubilay Kocak from comment #7)
> Is quarterly affected?
Yes. Quarterly has previous version of HandBrake and it has same problem.
My patch can be applied to both head and 2020Q1.
I set maintainer approval flag to my patch.
It built for me under poudriere as well.
For more information,
Meson pkgconfig path has been changed since 0.53.0 by this commit.
This problem didn't happen before meson 0.53.0.
as meson in quarterly is still < 0.53, there is no need to MFH this then.
Hm, is this actually still required? The port builds fine for me as is.
(In reply to Tobias C. Berner from comment #12)
> Hm, is this actually still required? The port builds fine for me as is
Yes, It's still required.
Please check following sequence how to reproduce.
How to reproduce:
1. Make sure that devel/meson version >= 0.50
2. Unset DAV1D option of devel/ffmpeg
3. Make sure that dav1d is not installed
4. Build multimedia/handbrake
I see that devel/meson version is 0.52.1 in ports/branches/2020Q1/devel/meson.
Quarterly branch has same problem, too.
A commit references this bug:
Date: Thu Mar 12 19:25:04 UTC 2020
New revision: 528315
multimedia/handbrake: Fails to build against ffmpeg with DAV1D=off
Submitted by: Yuichiro NAITO <firstname.lastname@example.org> (maintainer)
Reported by: Steve Peurifoy <email@example.com>