On FreeBSD 9, the 'Requires.private: zlib' line in tcl.pc causes breakage in
ports that use pkg-config tcl to build their cflags, libraries, etc. This
commit fixes at least the devel/libdistance build on 9; it may fix others, too.
Details
- Reviewers
gahr - Commits
- rP419183: Remove `Requires.private: zlib` on FreeBSD <10.
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
No Lint Coverage - Unit
No Test Coverage - Build Status
Buildable 1391 Build 1396: arc lint + arc unit
Event Timeline
How does the Requires.private break libdistance?
By the way, I just tried to build libdistance on 10.2-RELEASE-p7 and it doesn't build cause it's JOBS_UNSAFE.
Hi,
libdistance uses pkg-config --cflags tcl as part of its build configuration, which works fine on 10 and 11, but not on 9:
build9# pkg-config --cflags tcl Package zlib was not found in the pkg-config search path. Perhaps you should add the directory containing `zlib.pc' to the PKG_CONFIG_PATH environment variable Package 'zlib', required by 'tcl', not found
So, the patch I've proposed makes things that use pkg-config --cflags tcl work again on 9. Once 9-STABLE goes EoL we can probably remove the patch...
On the MAKE_JOBS_UNSAFE thing: I see what you mean now that I try to build with make -j12. Sorry, I'm still pretty new to porting... do I just set MAKE_JOBS_UNSAFE=yes in the Makefile?
Please patch only on 9, then.
Also, please note that you cannot freely rename the wrapper library, as Tcl is looking for the symbol <Library>_Init, in this case _Distance_wrap_Init, which it won't find.
Sorry, I slightly let the ball drop here. How do I create a patch that only applies on one major version?
OSVERSION is your friend. See for example how x11/nvidia-driver conditionally patches based on that value. Valid values are those listed here: https://www.freebsd.org/doc/en/books/porters-handbook/book.html#versions
Most likely, you're looking for:
900010 March 22, 2010 9.0-CURRENT after the import of zlib 1.2.4.