Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/extra/virtualbox/PKGBUILD
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2023-05-22 20:18:50 +0200
committerErich Eckner <git@eckner.net>2023-05-22 20:18:50 +0200
commite74cde76c104df82b120a7b13964cb786da8f565 (patch)
tree39967e24037929c04aaf79922aa260b437a60a5e /extra/virtualbox/PKGBUILD
parent73e1d3b448cc583ab38cae4d61a26f313fad946b (diff)
community -> extra
Diffstat (limited to 'extra/virtualbox/PKGBUILD')
-rw-r--r--extra/virtualbox/PKGBUILD49
1 files changed, 49 insertions, 0 deletions
diff --git a/extra/virtualbox/PKGBUILD b/extra/virtualbox/PKGBUILD
new file mode 100644
index 00000000..037684be
--- /dev/null
+++ b/extra/virtualbox/PKGBUILD
@@ -0,0 +1,49 @@
+# set manually sysctl vm.mmap_min_addr=0 before building this package
+
+# linker runs out of memory on 32-bit
+eval "$(
+ declare -f build | \
+ sed '
+ 3 i LDFLAGS+=" -Wl,--no-keep-memory"
+ 3 i CFLAGS+=" -g1"
+ 3 i CXXFLAGS+=" -g1"
+ '
+)"
+
+# Parallel builds lead to "virtual memory exhausted"?
+# not sure, if still needed (or in fact, working)
+eval "$(
+ declare -f build | \
+ sed '
+ \@^\s*echo @ {
+ N
+ \@\n\s*kmk @ d
+ }
+ s|kmk|kmk -j 1|
+ ' | \
+ sed '
+ \@^\s*\./configure @ {
+ s@--disable-\S\+@@g
+ s@--enable-\S\+@@g
+ s@configure @\0--only-additions --disable-kmods @
+ }
+ ';
+)"
+
+pkgname=(
+ $(
+ printf '%s\n' "${pkgname[@]}" \
+ | grep '^virtualbox-guest-' \
+ | grep -v -- '-nox$'
+ )
+)
+
+# let's not use too much memory, gcc tmpfiles can in this
+# case also be put on a real /tmp (instead of tmpfs) to reduce
+# preasure on the RAM
+eval "$(
+ declare -f build | \
+ sed '
+ /source/ i \ sed -i 's/-pipe//g' Config.kmk
+ '
+)"