Created attachment 199011 [details] Patch converting port to OPTIONS framework, disabling MAKE_JOBS_UNSAFE Hi, When building devel/libical primarily for use in mail/cyrus-imapd30, I discovered it pulled in a lot of dependencies that seemed unnecessary for my use case. (This is a server system; I had no need for Vala or the other hardcoded dependencies). The attached patch allows people to disable either the Vala, GObject Introspection or GLib bindings using the familiar OPTIONS dialog. I tried building with MAKE_JOBS_UNSAFE uncommented and it succeeded. To minimize modifications, I left both the Vala, GObject introspection and the GLib bindings enabled in the default package so that the default users should see no difference. I bumped PORTREVISION to be on the safe side. Please let me know if I can be of any further assistance. Thank you, Peter.
Comment on attachment 199011 [details] Patch converting port to OPTIONS framework, disabling MAKE_JOBS_UNSAFE +#MAKE_JOBS_UNSAFE= yes Remove, since it is not being used put OPTIONS_SUB below OPTIONS_DEFAULT For appearance, I'd put a space between each option +CMAKE_ARGS+= -DICAL_BUILD_DOCS=false Does not belong below OPTIONS_ as it is not part of OPTIONS block. Nothing should go after OPTIONS_ except, for example: post-install: and similar
Created attachment 199041 [details] Patch V2 Hi Nathen, Thanks for the feedback. In the attached patch, I have tried to address your points. I am, however, not sure where CMAKE_ARGS and CFLAGS_AMD64 belongs in this Makefile. Hope this version of the patch is better, Peter.
Comment on attachment 199041 [details] Patch V2 +CMAKE_ARGS+= -DICAL_BUILD_DOCS=false +CFLAGS_amd64= -fPIC Goes below USE_GNOME with space: https://www.freebsd.org/doc/en/books/porters-handbook/porting-order.html
Created attachment 199073 [details] Patch Version 3 - re-ordered variables Thanks, the attached patch tries to re-order the variables according to section 15 of the Porter's Handbook.
Comment on attachment 199073 [details] Patch Version 3 - re-ordered variables Please run portlint -C and fix all the errors it outputs: WARN: Makefile: [22]: use a tab (not space) after a variable name FATAL: Makefile: [25]: use a tab (not space) after a variable name FATAL: Makefile: [26]: use a tab (not space) after a variable name FATAL: Makefile: [29]: use a tab (not space) after a variable name FATAL: Makefile: [30]: use a tab (not space) after a variable name FATAL: Makefile: [31]: use a tab (not space) after a variable name FATAL: Makefile: [33]: use a tab (not space) after a variable name WARN: Makefile: [34]: use a tab (not space) after a variable name FATAL: Makefile: [35]: use a tab (not space) after a variable name FATAL: Makefile: [37]: use a tab (not space) after a variable name
Created attachment 201409 [details] Fix portlint -C errors - patch version 4 Thanks, Tobias - bugs and warnings should be fixed in this version of the patch.
It looks misleading to me to name an option related to GObject introspection after 'GOBJECT'. GObject introspection is a separate project, while GObject is a part of GLib.
Agreed when you put it like that. I'll rename the option to INTROSPECTION and make sure that the pkg-plist is corrected so that it applies after the port was updated to 3.0.4 in the tree. Thank you Peter.
Created attachment 202677 [details] Rename option GOBJECT to INTROSPECTION; ensure patch applies against version 3.0.4 As promised in the previous comment.
Comment on attachment 202677 [details] Rename option GOBJECT to INTROSPECTION; ensure patch applies against version 3.0.4 >+INTROSPECTION_DESC= Build GObject Introspection >+INTROSPECTION_USE+= gnome=introspection:build >+INTROSPECTION_CMAKE_BOOL= INTROSPECTION_INTROSPECTION Shouldn't it be GOBJECT_INTROSPECTION instead of INTROSPECTION_INTROSPECTION?
Created attachment 202784 [details] Replace the INTROSPECTION_INTROSPECTION line with GOBJECT_INTROSPECTION, which it should have been. Thanks for noticing. Replace INTROSPECTION_INTROSPECTION with the correct variable. (Thanks for noticing)
Any news here?
Created attachment 212191 [details] Add build options to libical port. Tested: make package For all build combinations. This resulted in some fixes. --HPS
A commit references this bug: Author: hselasky Date: Fri Mar 6 15:13:07 UTC 2020 New revision: 527882 URL: https://svnweb.freebsd.org/changeset/ports/527882 Log: Add build OPTIONS to be able to minimize dependencies. PR: 233023 Submitted by: Peter Laursen <freebsd@mosedal.net> Approved by: pi Changes: head/devel/libical/Makefile head/devel/libical/pkg-plist
Thank you for the contribution!