NLS language fix (German + others)
Problem: VirtualBox reports "Could not find a language file for the language de in /usr/lib/virtualbox/nls"
Fix: Add after libraries installation (~line 135 in package()):
```bash
NLS languages for /usr/lib/virtualbox/nls (fixes German language)
install -d -m0755 "${pkgdir}/usr/lib/virtualbox/nls"
install -m0644 "${srcdir}/VirtualBox-${_vboxver}/out/linux.amd64/release/bin/nls/"*.qm \
"${pkgdir}/usr/lib/virtualbox/nls/"
Re-added the --disable-hardening option (although hardening is supported).
The reasons have been discussed here.
In short, hardening is a security wrapper if certain virtualbox binaries are setuid root. However, compiled with the kvm module, virtualbox does not need root privileges, only access to /dev/kvm.
@dragonn The problem seems to be due to the build process splitting soapC.cpp into multiple smaller files (to enhance compilation speed). Somehow the cut is currently done at a wrong position so the resulting split source files don't compile anymore.
I've added a fix to the latest PKGBUILD (along with the update to VirtualBox 7.2.6).
Fails to build on my system:
virtualbox-kvm/src/VirtualBox-7.2.4/out/linux.amd64/release/obj/webservice/soapC-7.cpp:5:39: error: ‘soap_codes_vbox__PartitionType’ was not declared in this scope; did you mean ‘soap_out_vbox__PartitionType’?
5 | const char *s = soap_code_str(soap_codes_vbox__PartitionType, (long)n);
| ^~
| soap_out_vbox__PartitionType
Any idea?
@aaronjames.vicen: Hardening does in fact work but requires some permission changes (setuid for some binaries). I've already locally updated PKGBUILD and will push the changes later today.
Update: New PKGBUILD has been pushed.
*removing --disable-hardening from PKGBUILD does NOT work in the current build. But it seems that it could work.
@knoelli Forcing to build curl in package seems to have fixed my issues with compilation as well. Probably some curl changes upstream than. Thanks :)
Perfect - works again! Thanks!
I just updated PKGBUILD which should fix compilation and runtime errors by using source supplied curl library.