opencv[semifree] contains nonfree module and some nonfree data
libre.patch has been taken from Parabola and converted from git diff to -Np1 format because xbps can't process it otherwise:
# Convert git diff to be used with -Np1
sed -i '/^diff --git/d' libre.patch
sed -i '/^index /d' libre.patch
Accompanying libre.patch.args have been created with -Np1 content to keep it independent from template.
Some commands were taken from mksource() function of Parabola's PKGBUILD and placed on post_patch() function on template. contrib related commands were skipped, because opencv does not install it (but however opencv4 does).
Template changes are there in l_template_changes.patch.
opencv package is mostly similar, just adds contrib parts.