diff --git a/320.apk_tools.build b/320.apk_tools.build
deleted file mode 120000
index 52bb82e..0000000
--- a/320.apk_tools.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/320.inputproto.build b/320.inputproto.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/320.inputproto.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/321.bash.build b/321.bash.build
deleted file mode 120000
index 52bb82e..0000000
--- a/321.bash.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/321.bash.vars b/321.bash.vars
deleted file mode 100644
index 9cd822b..0000000
--- a/321.bash.vars
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-# . ./build.vars and set -o errexit -o noglob are assumed.
-#
-
-PKG_BASH_PATCHES_EXTRA_URL="https://ftp.gnu.org/gnu/bash/bash-${PKG_BASH_VERSION}-patches/";
-PKG_BASH_PATCHES_EXTRA_MANIFEST="
-bash43-001 ecb3dff2648667513e31554b3ad054ccd89fce38e33367c9459ac3a285153742
-bash43-002 eee7cd7062ab29a9e4f02924d9c367264dcb8b162703f74ff6eb8f175a91502b
-bash43-003 000e6eac50cd9053ce0630db01239dcdead04a2c2c351c47e2b51dac1ac1087d
-bash43-004 5ea0a42c6506720d26e6d3c5c358e9a0d49f6f189d69a8ed34d5935964821338
-bash43-005 1ac83044032b9f5f11aeca8a344ae3c524ec2156185d3adbb8ad3e7a165aa3fa
-bash43-006 a0648ee72d15e4a90c8b77a5c6b19f8d89e28c1bc881657d22fe26825f040213
-bash43-007 1113e321c59cf6a8648a36245bbe4217cf8acf948d71e67886dad7d486f8f3a3
-bash43-008 9941a98a4987192cc5ce3d45afe879983cad2f0bec96d441a4edd9033767f95e
-bash43-009 c0226d6728946b2f53cdebf090bcd1c01627f01fee03295768605caa80bb40a5
-bash43-010 ce05799c0137314c70c7b6ea0477c90e1ac1d52e113344be8e32fa5a55c9f0b7
-bash43-011 7c63402cdbc004a210f6c1c527b63b13d8bb9ec9c5a43d5c464a9010ff6f7f3b
-bash43-012 3e1379030b35fbcf314e9e7954538cf4b43be1507142b29efae39eef997b8c12
-bash43-013 bfa8ca5336ab1f5ef988434a4bdedf71604aa8a3659636afa2ce7c7446c42c79
-bash43-014 5a4d6fa2365b6eb725a9d4966248b5edf7630a4aeb3fa8d526b877972658ac13
-bash43-015 13293e8a24e003a44d7fe928c6b1e07b444511bed2d9406407e006df28355e8d
-bash43-016 92d60bcf49f61bd7f1ccb9602bead6f2c9946d79dea0e5ec0589bb3bfa5e0773
-bash43-017 1267c25c6b5ba57042a7bb6c569a6de02ffd0d29530489a16666c3b8a23e7780
-bash43-018 7aa8b40a9e973931719d8cc72284a8fb3292b71b522db57a5a79052f021a3d58
-bash43-019 a7a91475228015d676cafa86d2d7aa9c5d2139aa51485b6bbdebfdfbcf0d2d23
-bash43-020 ca5e86d87f178128641fe91f2f094875b8c1eb2de9e0d2e9154f5d5cc0336c98
-bash43-021 41439f06883e6bd11c591d9d5e9ae08afbc2abd4b935e1d244b08100076520a9
-bash43-022 fd4d47bb95c65863f634c4706c65e1e3bae4ee8460c72045c0a0618689061a88
-bash43-023 9ac250c7397a8f53dbc84dfe790d2a418fbf1fe090bcece39b4a5c84a2d300d4
-bash43-024 3b505882a0a6090667d75824fc919524cd44cc3bd89dd08b7c4e622d3f960f6c
-bash43-025 1e5186f5c4a619bb134a1177d9e9de879f3bb85d9c5726832b03a762a2499251
-bash43-026 2ecc12201b3ba4273b63af4e9aad2305168cf9babf6d11152796db08724c214d
-bash43-027 1eb76ad28561d27f7403ff3c76a36e932928a4b58a01b868d663c165f076dabe
-bash43-028 e8b0dbed4724fa7b9bd8ff77d12c7f03da0fbfc5f8251ef5cb8511eb082b469d
-bash43-029 4cc4a397fe6bc63ecb97d030a4e44258ef2d4e076d0e90c77782968cc43d6292
-bash43-030 85434f8a2f379d0c49a3ff6d9ffa12c8b157188dd739e556d638217d2a58385b
-bash43-031 cd529f59dd0f2fdd49d619fe34691da6f0affedf87cc37cd460a9f3fe812a61d
-bash43-032 889357d29a6005b2c3308ca5b6286cb223b5e9c083219e5db3156282dd554f4a
-bash43-033 fb2a7787a13fbe027a7335aca6eb3c21cdbd813e9edc221274b6a9d8692eaa16
-bash43-034 f1694f04f110defe1330a851cc2768e7e57ddd2dfdb0e3e350ca0e3c214ff889
-bash43-035 370d85e51780036f2386dc18c5efe996eba8e652fc1973f0f4f2ab55a993c1e3
-bash43-036 ac5f82445b36efdb543dbfae64afed63f586d7574b833e9aa9cd5170bc5fd27c
-bash43-037 33f170dd7400ab3418d749c55c6391b1d161ef2de7aced1873451b3a3fca5813
-bash43-038 adbeaa500ca7a82535f0e88d673661963f8a5fcdc7ad63445e68bf5b49786367
-bash43-039 ab94dced2215541097691f60c3eb323cc28ef2549463e6a5334bbcc1e61e74ec
-bash43-040 84bb396b9262992ca5424feab6ed3ec39f193ef5c76dfe4a62b551bd8dd9d76b
-bash43-041 4ec432966e4198524a7e0cd685fe222e96043769c9613e66742ac475db132c1a
-bash43-042 ac219322db2791da87a496ee6e8e5544846494bdaaea2626270c2f73c1044919";
-
-pkg_bash_patch_post() {
-	rm_if_exists -m -c ${PKG_SUBDIR}-patches-extra;
-	wget -c -nd -np -r -R \*.htm\* -R \*.sig ${PKG_BASH_PATCHES_EXTRA_URL};
-	for __pbpp_patch_fname in		\
-			$(find . -type f -not -iname \*.sig | sort); do
-		patch -b -d ../${PKG_SUBDIR} -p0 < ${__pbpp_patch_fname};
-	done; unset __pbpp_patch_fname;
-	echo ${PKG_BASH_PATCHES_EXTRA_MANIFEST} | while read __pbpp_manifest_line; do
-		set -- ${__pbpp_manifest_line};
-		if ! compare_hash ${1} ${2}; then
-			log_msg failexit "Error: hash mismatch for patch file \`${1}'.";
-		fi;
-	done;
-	cd ${OLDPWD};
-};
-
-# vim:filetype=sh
diff --git a/321.kbproto.build b/321.kbproto.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/321.kbproto.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/322.bzip2.build b/322.bzip2.build
deleted file mode 120000
index 52bb82e..0000000
--- a/322.bzip2.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/322.xcb_proto.build b/322.xcb_proto.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/322.xcb_proto.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/323.coreutils.build b/323.coreutils.build
deleted file mode 120000
index 52bb82e..0000000
--- a/323.coreutils.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/323.xproto.build b/323.xproto.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/323.xproto.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/324.cron.build b/324.cron.build
deleted file mode 120000
index 52bb82e..0000000
--- a/324.cron.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/324.libXau.build b/324.libXau.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/324.libXau.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/325.curl.build b/325.curl.build
deleted file mode 120000
index 52bb82e..0000000
--- a/325.curl.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/325.libpthread_stubs.build b/325.libpthread_stubs.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/325.libpthread_stubs.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/326.dash.build b/326.dash.build
deleted file mode 120000
index 52bb82e..0000000
--- a/326.dash.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/326.xcb.build b/326.xcb.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/326.xcb.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/327.diffutils.build b/327.diffutils.build
deleted file mode 120000
index 52bb82e..0000000
--- a/327.diffutils.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/327.xextproto.build b/327.xextproto.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/327.xextproto.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/328.ed.build b/328.ed.build
deleted file mode 120000
index 52bb82e..0000000
--- a/328.ed.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/328.xtrans.build b/328.xtrans.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/328.xtrans.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/329.findutils.build b/329.findutils.build
deleted file mode 120000
index 52bb82e..0000000
--- a/329.findutils.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/329.libX11.build b/329.libX11.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/329.libX11.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/330.gawk.build b/330.gawk.build
deleted file mode 120000
index 52bb82e..0000000
--- a/330.gawk.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/331.git.build b/331.git.build
deleted file mode 120000
index 52bb82e..0000000
--- a/331.git.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/332.grep.build b/332.grep.build
deleted file mode 120000
index 52bb82e..0000000
--- a/332.grep.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/333.hexcurse.build b/333.hexcurse.build
deleted file mode 120000
index 52bb82e..0000000
--- a/333.hexcurse.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/334.htop.build b/334.htop.build
deleted file mode 120000
index 52bb82e..0000000
--- a/334.htop.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/335.inetutils.build b/335.inetutils.build
deleted file mode 120000
index 52bb82e..0000000
--- a/335.inetutils.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/336.irssi.build b/336.irssi.build
deleted file mode 120000
index 52bb82e..0000000
--- a/336.irssi.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/337.less.build b/337.less.build
deleted file mode 120000
index 52bb82e..0000000
--- a/337.less.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/338.lua.build b/338.lua.build
deleted file mode 120000
index 52bb82e..0000000
--- a/338.lua.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/339.lynx.build b/339.lynx.build
deleted file mode 120000
index 52bb82e..0000000
--- a/339.lynx.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/340.apk_tools.build b/340.apk_tools.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/340.apk_tools.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/340.man_db.build b/340.man_db.build
deleted file mode 120000
index 52bb82e..0000000
--- a/340.man_db.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/341.bash.build b/341.bash.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/341.bash.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/341.bash.vars b/341.bash.vars
new file mode 100644
index 0000000..9cd822b
--- /dev/null
+++ b/341.bash.vars
@@ -0,0 +1,66 @@
+#
+# . ./build.vars and set -o errexit -o noglob are assumed.
+#
+
+PKG_BASH_PATCHES_EXTRA_URL="https://ftp.gnu.org/gnu/bash/bash-${PKG_BASH_VERSION}-patches/";
+PKG_BASH_PATCHES_EXTRA_MANIFEST="
+bash43-001 ecb3dff2648667513e31554b3ad054ccd89fce38e33367c9459ac3a285153742
+bash43-002 eee7cd7062ab29a9e4f02924d9c367264dcb8b162703f74ff6eb8f175a91502b
+bash43-003 000e6eac50cd9053ce0630db01239dcdead04a2c2c351c47e2b51dac1ac1087d
+bash43-004 5ea0a42c6506720d26e6d3c5c358e9a0d49f6f189d69a8ed34d5935964821338
+bash43-005 1ac83044032b9f5f11aeca8a344ae3c524ec2156185d3adbb8ad3e7a165aa3fa
+bash43-006 a0648ee72d15e4a90c8b77a5c6b19f8d89e28c1bc881657d22fe26825f040213
+bash43-007 1113e321c59cf6a8648a36245bbe4217cf8acf948d71e67886dad7d486f8f3a3
+bash43-008 9941a98a4987192cc5ce3d45afe879983cad2f0bec96d441a4edd9033767f95e
+bash43-009 c0226d6728946b2f53cdebf090bcd1c01627f01fee03295768605caa80bb40a5
+bash43-010 ce05799c0137314c70c7b6ea0477c90e1ac1d52e113344be8e32fa5a55c9f0b7
+bash43-011 7c63402cdbc004a210f6c1c527b63b13d8bb9ec9c5a43d5c464a9010ff6f7f3b
+bash43-012 3e1379030b35fbcf314e9e7954538cf4b43be1507142b29efae39eef997b8c12
+bash43-013 bfa8ca5336ab1f5ef988434a4bdedf71604aa8a3659636afa2ce7c7446c42c79
+bash43-014 5a4d6fa2365b6eb725a9d4966248b5edf7630a4aeb3fa8d526b877972658ac13
+bash43-015 13293e8a24e003a44d7fe928c6b1e07b444511bed2d9406407e006df28355e8d
+bash43-016 92d60bcf49f61bd7f1ccb9602bead6f2c9946d79dea0e5ec0589bb3bfa5e0773
+bash43-017 1267c25c6b5ba57042a7bb6c569a6de02ffd0d29530489a16666c3b8a23e7780
+bash43-018 7aa8b40a9e973931719d8cc72284a8fb3292b71b522db57a5a79052f021a3d58
+bash43-019 a7a91475228015d676cafa86d2d7aa9c5d2139aa51485b6bbdebfdfbcf0d2d23
+bash43-020 ca5e86d87f178128641fe91f2f094875b8c1eb2de9e0d2e9154f5d5cc0336c98
+bash43-021 41439f06883e6bd11c591d9d5e9ae08afbc2abd4b935e1d244b08100076520a9
+bash43-022 fd4d47bb95c65863f634c4706c65e1e3bae4ee8460c72045c0a0618689061a88
+bash43-023 9ac250c7397a8f53dbc84dfe790d2a418fbf1fe090bcece39b4a5c84a2d300d4
+bash43-024 3b505882a0a6090667d75824fc919524cd44cc3bd89dd08b7c4e622d3f960f6c
+bash43-025 1e5186f5c4a619bb134a1177d9e9de879f3bb85d9c5726832b03a762a2499251
+bash43-026 2ecc12201b3ba4273b63af4e9aad2305168cf9babf6d11152796db08724c214d
+bash43-027 1eb76ad28561d27f7403ff3c76a36e932928a4b58a01b868d663c165f076dabe
+bash43-028 e8b0dbed4724fa7b9bd8ff77d12c7f03da0fbfc5f8251ef5cb8511eb082b469d
+bash43-029 4cc4a397fe6bc63ecb97d030a4e44258ef2d4e076d0e90c77782968cc43d6292
+bash43-030 85434f8a2f379d0c49a3ff6d9ffa12c8b157188dd739e556d638217d2a58385b
+bash43-031 cd529f59dd0f2fdd49d619fe34691da6f0affedf87cc37cd460a9f3fe812a61d
+bash43-032 889357d29a6005b2c3308ca5b6286cb223b5e9c083219e5db3156282dd554f4a
+bash43-033 fb2a7787a13fbe027a7335aca6eb3c21cdbd813e9edc221274b6a9d8692eaa16
+bash43-034 f1694f04f110defe1330a851cc2768e7e57ddd2dfdb0e3e350ca0e3c214ff889
+bash43-035 370d85e51780036f2386dc18c5efe996eba8e652fc1973f0f4f2ab55a993c1e3
+bash43-036 ac5f82445b36efdb543dbfae64afed63f586d7574b833e9aa9cd5170bc5fd27c
+bash43-037 33f170dd7400ab3418d749c55c6391b1d161ef2de7aced1873451b3a3fca5813
+bash43-038 adbeaa500ca7a82535f0e88d673661963f8a5fcdc7ad63445e68bf5b49786367
+bash43-039 ab94dced2215541097691f60c3eb323cc28ef2549463e6a5334bbcc1e61e74ec
+bash43-040 84bb396b9262992ca5424feab6ed3ec39f193ef5c76dfe4a62b551bd8dd9d76b
+bash43-041 4ec432966e4198524a7e0cd685fe222e96043769c9613e66742ac475db132c1a
+bash43-042 ac219322db2791da87a496ee6e8e5544846494bdaaea2626270c2f73c1044919";
+
+pkg_bash_patch_post() {
+	rm_if_exists -m -c ${PKG_SUBDIR}-patches-extra;
+	wget -c -nd -np -r -R \*.htm\* -R \*.sig ${PKG_BASH_PATCHES_EXTRA_URL};
+	for __pbpp_patch_fname in		\
+			$(find . -type f -not -iname \*.sig | sort); do
+		patch -b -d ../${PKG_SUBDIR} -p0 < ${__pbpp_patch_fname};
+	done; unset __pbpp_patch_fname;
+	echo ${PKG_BASH_PATCHES_EXTRA_MANIFEST} | while read __pbpp_manifest_line; do
+		set -- ${__pbpp_manifest_line};
+		if ! compare_hash ${1} ${2}; then
+			log_msg failexit "Error: hash mismatch for patch file \`${1}'.";
+		fi;
+	done;
+	cd ${OLDPWD};
+};
+
+# vim:filetype=sh
diff --git a/341.make.build b/341.make.build
deleted file mode 120000
index 52bb82e..0000000
--- a/341.make.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/342.bzip2.build b/342.bzip2.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/342.bzip2.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/342.mc.build b/342.mc.build
deleted file mode 120000
index 52bb82e..0000000
--- a/342.mc.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/343.coreutils.build b/343.coreutils.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/343.coreutils.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/343.mksh.build b/343.mksh.build
deleted file mode 120000
index 52bb82e..0000000
--- a/343.mksh.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/344.cron.build b/344.cron.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/344.cron.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/344.nano.build b/344.nano.build
deleted file mode 120000
index 52bb82e..0000000
--- a/344.nano.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/345.curl.build b/345.curl.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/345.curl.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/345.netcat.build b/345.netcat.build
deleted file mode 120000
index 52bb82e..0000000
--- a/345.netcat.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/346.dash.build b/346.dash.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/346.dash.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/346.openssh.build b/346.openssh.build
deleted file mode 120000
index 52bb82e..0000000
--- a/346.openssh.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/347.diffutils.build b/347.diffutils.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/347.diffutils.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/347.pacman.build b/347.pacman.build
deleted file mode 120000
index 52bb82e..0000000
--- a/347.pacman.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/348.ed.build b/348.ed.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/348.ed.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/348.patch.build b/348.patch.build
deleted file mode 120000
index 52bb82e..0000000
--- a/348.patch.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/349.findutils.build b/349.findutils.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/349.findutils.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/349.perl.build b/349.perl.build
deleted file mode 120000
index 52bb82e..0000000
--- a/349.perl.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/349.perl.vars b/349.perl.vars
deleted file mode 100644
index 853bef9..0000000
--- a/349.perl.vars
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# . ./build.vars and set -o errexit -o noglob are assumed.
-#
-
-pkg_perl_extract_post() {
-	git clone https://github.com/lalbornoz/perl-cross;
-	for _ppep_fname_src in $(find perl-cross -type f	\
-			-not -path perl-cross/.git/\* -not -name .gitignore); do
-		_ppep_fname_dst=perl-${PKG_VERSION}${_ppep_fname_src#perl-cross};
-		if [ -f ${_ppep_fname_dst} ]; then
-			mv -- ${_ppep_fname_dst} ${_ppep_fname_dst}.orig;
-		fi;
-		if [ ! -d "$(dirname ${_ppep_fname_dst})" ]; then
-			mkdir -p -- $(dirname ${_ppep_fname_dst});
-		fi;
-		cp -- ${_ppep_fname_src} ${_ppep_fname_dst};
-	done;
-	for _ppep_cflag in ${PKG_CFLAGS_CONFIGURE}; do
-		PKG_CONFIGURE_ARGS="${PKG_CONFIGURE_ARGS:+${PKG_CONFIGURE_ARGS} }-A ccflags=${_ppep_cflag}";
-	done;
-	unset _ppep_fname_src _ppep_fname_dst _ppep_cflag;
-};
-
-# vim:filetype=sh
diff --git a/350.gawk.build b/350.gawk.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/350.gawk.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/350.procps_ng.build b/350.procps_ng.build
deleted file mode 120000
index 52bb82e..0000000
--- a/350.procps_ng.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/351.git.build b/351.git.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/351.git.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/351.python3.build b/351.python3.build
deleted file mode 120000
index 52bb82e..0000000
--- a/351.python3.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/351.python3.vars b/351.python3.vars
deleted file mode 100644
index 9cdc016..0000000
--- a/351.python3.vars
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# . ./build.vars and set -o errexit -o noglob are assumed.
-#
-
-pkg_python3_configure_pre() {
-	(cd ../${PKG_SUBDIR} && autoconf);
-	(unset AR BLDSHARED CC CFLAGS CPPFLAGS LDFLAGS RANLIB;
-	mv -- config.cache ../${PKG_SUBDIR}/config.cache;
-	../${PKG_SUBDIR}/configure;
-	make	_FIP=Programs/host_freeze_importlib Programs/host_freeze_importlib	\
-		BUILDPYTHON=hostpython hostpython					\
-		PGEN=Parser/hostpgen Parser/hostpgen;
-	make distclean);
-	mv -- ../${PKG_SUBDIR}/config.cache .;
-};
-
-# vim:filetype=sh
diff --git a/352.grep.build b/352.grep.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/352.grep.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/352.rsync.build b/352.rsync.build
deleted file mode 120000
index 52bb82e..0000000
--- a/352.rsync.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/353.hexcurse.build b/353.hexcurse.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/353.hexcurse.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/353.sed.build b/353.sed.build
deleted file mode 120000
index 52bb82e..0000000
--- a/353.sed.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/354.htop.build b/354.htop.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/354.htop.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/354.tar.build b/354.tar.build
deleted file mode 120000
index 52bb82e..0000000
--- a/354.tar.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/355.inetutils.build b/355.inetutils.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/355.inetutils.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/355.tcsh.build b/355.tcsh.build
deleted file mode 120000
index 52bb82e..0000000
--- a/355.tcsh.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/356.irssi.build b/356.irssi.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/356.irssi.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/356.the_silver_searcher.build b/356.the_silver_searcher.build
deleted file mode 120000
index 52bb82e..0000000
--- a/356.the_silver_searcher.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/357.less.build b/357.less.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/357.less.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/357.tmux.build b/357.tmux.build
deleted file mode 120000
index 52bb82e..0000000
--- a/357.tmux.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/358.lua.build b/358.lua.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/358.lua.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/358.util_linux.build b/358.util_linux.build
deleted file mode 120000
index 52bb82e..0000000
--- a/358.util_linux.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/359.lynx.build b/359.lynx.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/359.lynx.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/359.vim.build b/359.vim.build
deleted file mode 120000
index 52bb82e..0000000
--- a/359.vim.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/360.man_db.build b/360.man_db.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/360.man_db.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/360.which.build b/360.which.build
deleted file mode 120000
index 52bb82e..0000000
--- a/360.which.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/361.make.build b/361.make.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/361.make.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/361.whois.build b/361.whois.build
deleted file mode 120000
index 52bb82e..0000000
--- a/361.whois.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/362.mc.build b/362.mc.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/362.mc.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/362.zsh.build b/362.zsh.build
deleted file mode 120000
index 52bb82e..0000000
--- a/362.zsh.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build
\ No newline at end of file
diff --git a/363.mksh.build b/363.mksh.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/363.mksh.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/364.nano.build b/364.nano.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/364.nano.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/365.netcat.build b/365.netcat.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/365.netcat.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/366.openssh.build b/366.openssh.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/366.openssh.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/367.pacman.build b/367.pacman.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/367.pacman.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/368.patch.build b/368.patch.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/368.patch.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/369.perl.build b/369.perl.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/369.perl.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/369.perl.vars b/369.perl.vars
new file mode 100644
index 0000000..853bef9
--- /dev/null
+++ b/369.perl.vars
@@ -0,0 +1,24 @@
+#
+# . ./build.vars and set -o errexit -o noglob are assumed.
+#
+
+pkg_perl_extract_post() {
+	git clone https://github.com/lalbornoz/perl-cross;
+	for _ppep_fname_src in $(find perl-cross -type f	\
+			-not -path perl-cross/.git/\* -not -name .gitignore); do
+		_ppep_fname_dst=perl-${PKG_VERSION}${_ppep_fname_src#perl-cross};
+		if [ -f ${_ppep_fname_dst} ]; then
+			mv -- ${_ppep_fname_dst} ${_ppep_fname_dst}.orig;
+		fi;
+		if [ ! -d "$(dirname ${_ppep_fname_dst})" ]; then
+			mkdir -p -- $(dirname ${_ppep_fname_dst});
+		fi;
+		cp -- ${_ppep_fname_src} ${_ppep_fname_dst};
+	done;
+	for _ppep_cflag in ${PKG_CFLAGS_CONFIGURE}; do
+		PKG_CONFIGURE_ARGS="${PKG_CONFIGURE_ARGS:+${PKG_CONFIGURE_ARGS} }-A ccflags=${_ppep_cflag}";
+	done;
+	unset _ppep_fname_src _ppep_fname_dst _ppep_cflag;
+};
+
+# vim:filetype=sh
diff --git a/370.procps_ng.build b/370.procps_ng.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/370.procps_ng.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/371.python3.build b/371.python3.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/371.python3.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/371.python3.vars b/371.python3.vars
new file mode 100644
index 0000000..9cdc016
--- /dev/null
+++ b/371.python3.vars
@@ -0,0 +1,17 @@
+#
+# . ./build.vars and set -o errexit -o noglob are assumed.
+#
+
+pkg_python3_configure_pre() {
+	(cd ../${PKG_SUBDIR} && autoconf);
+	(unset AR BLDSHARED CC CFLAGS CPPFLAGS LDFLAGS RANLIB;
+	mv -- config.cache ../${PKG_SUBDIR}/config.cache;
+	../${PKG_SUBDIR}/configure;
+	make	_FIP=Programs/host_freeze_importlib Programs/host_freeze_importlib	\
+		BUILDPYTHON=hostpython hostpython					\
+		PGEN=Parser/hostpgen Parser/hostpgen;
+	make distclean);
+	mv -- ../${PKG_SUBDIR}/config.cache .;
+};
+
+# vim:filetype=sh
diff --git a/372.rsync.build b/372.rsync.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/372.rsync.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/373.sed.build b/373.sed.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/373.sed.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/374.tar.build b/374.tar.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/374.tar.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/375.tcsh.build b/375.tcsh.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/375.tcsh.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/376.the_silver_searcher.build b/376.the_silver_searcher.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/376.the_silver_searcher.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/377.tmux.build b/377.tmux.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/377.tmux.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/378.util_linux.build b/378.util_linux.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/378.util_linux.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/379.vim.build b/379.vim.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/379.vim.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/380.which.build b/380.which.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/380.which.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/381.whois.build b/381.whois.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/381.whois.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/382.zsh.build b/382.zsh.build
new file mode 120000
index 0000000..52bb82e
--- /dev/null
+++ b/382.zsh.build
@@ -0,0 +1 @@
+pkg.build
\ No newline at end of file
diff --git a/build.vars b/build.vars
index 4d93da1..157c385 100644
--- a/build.vars
+++ b/build.vars
@@ -16,20 +16,20 @@ else
 	log_msg failexit "Error: invalid architecture \`${ARCH}'.";
 fi;
 if [ "${BUILD:=debug}" = debug ]; then
-	PKG_LVL0_CFLAGS_CONFIGURE="-g2 -O0";
-	PKG_LVL1_CFLAGS_CONFIGURE="-g2 -O0";
-	PKG_LVL2_CFLAGS_CONFIGURE="-g3 -O0";
-	PKG_LVL3_CFLAGS_CONFIGURE="-g2 -O0";
+	PKG_LVL0_CFLAGS_CONFIGURE_DEFAULT="-g2 -O0";
+	PKG_LVL1_CFLAGS_CONFIGURE_DEFAULT="-g2 -O0";
+	PKG_LVL2_CFLAGS_CONFIGURE_DEFAULT="-g3 -O0";
+	PKG_LVL3_CFLAGS_CONFIGURE_DEFAULT="-g2 -O0";
 elif [ "${BUILD}" = release ]; then
-	PKG_LVL0_CFLAGS_CONFIGURE="-g0 -O2";
-	PKG_LVL1_CFLAGS_CONFIGURE="-g0 -O2";
-	PKG_LVL2_CFLAGS_CONFIGURE="-g0 -O2";
-	PKG_LVL3_CFLAGS_CONFIGURE="-g0 -O2";
+	PKG_LVL0_CFLAGS_CONFIGURE_DEFAULT="-g0 -O2";
+	PKG_LVL1_CFLAGS_CONFIGURE_DEFAULT="-g0 -O2";
+	PKG_LVL2_CFLAGS_CONFIGURE_DEFAULT="-g0 -O2";
+	PKG_LVL3_CFLAGS_CONFIGURE_DEFAULT="-g0 -O2";
 else
 	log_msg failexit "Error: unknown build type \`${BUILD}'.";
 fi;
 
-: ${PREFIX:=${HOME}/midipix/${ARCH}};
+: ${PREFIX:=${HOME}/midipix/${ARCH}/${BUILD}};
 : ${PREFIX_NATIVE:=${PREFIX}/native};
 : ${PREFIX_CROSS:=${PREFIX}/${TARGET}};
 : ${DLCACHEDIR:=${HOME}/midipix/dlcache};
@@ -67,18 +67,21 @@ DEFAULT_MAKEFLAGS_BUILD=-j8;
 PKG_BUILD_VARS="BUILD_CMDLINE BUILD_DIR BUILD_TYPE CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE CFLAGS_CONFIGURE_EXTRA CFLAGS_INSTALL_EXTRA CONFIG_CACHE_EXTRA CONFIGURE_ARGS CONFIGURE_ARGS_EXTRA ENV_VARS_EXTRA FNAME GIT_ARGS_EXTRA INSTALL_FILES INSTALL_TARGET LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE LDFLAGS_CONFIGURE_EXTRA LDFLAGS_INSTALL_EXTRA MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA MAKEFLAGS_INSTALL MAKEFLAGS_INSTALL_EXTRA NO_CLEAN NO_MAKE_INSTALL PREFIX_EXTRA SHA256SUM SLIBTOOL SUBDIR SUBDIR_CREATE URL URL_FNAME URL_TYPE VERSION";
 PKG_LVL0_PREFIX="${PREFIX_CROSS}";
 PKG_LVL0_BUILD_TYPE="host";
+PKG_LVL0_CFLAGS_CONFIGURE="${PKG_LVL0_CFLAGS_CONFIGURE_DEFAULT}";
 PKG_LVL0_CONFIGURE_ARGS="-C --disable-nls --host=${TARGET} --prefix= --target=${TARGET}";
 PKG_LVL1_PREFIX="${PREFIX_NATIVE}";
+PKG_LVL1_CFLAGS_CONFIGURE="${PKG_LVL1_CFLAGS_CONFIGURE_DEFAULT}";
 PKG_LVL1_CONFIGURE_ARGS="--disable-nls --host=${TARGET} --prefix=/ --target=${TARGET}";
 PKG_LVL1_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}";
 PKG_LVL2_BUILD_TYPE="cross";
 PKG_LVL2_PREFIX="${PREFIX_NATIVE}";
+PKG_LVL2_CFLAGS_CONFIGURE="${PKG_LVL2_CFLAGS_CONFIGURE_DEFAULT}";
 PKG_LVL2_CONFIGURE_ARGS="--prefix= --strict --host=${TARGET}";
 PKG_LVL2_ENV_VARS_EXTRA="CFLAGS_PATH=-I${PREFIX_NATIVE}/include:LDFLAGS_PATH=-L${PREFIX_NATIVE}/lib";
 PKG_LVL2_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}";
 PKG_LVL2_URL_TYPE="git";
 PKG_LVL3_PREFIX="${PREFIX_NATIVE}";
-PKG_LVL3_CFLAGS_CONFIGURE="${PKG_LVL3_CFLAGS_CONFIGURE:+${PKG_LVL3_CFLAGS_CONFIGURE} }--sysroot=${PREFIX_NATIVE}";
+PKG_LVL3_CFLAGS_CONFIGURE="${PKG_LVL3_CFLAGS_CONFIGURE_DEFAULT:+${PKG_LVL3_CFLAGS_CONFIGURE_DEFAULT} }--sysroot=${PREFIX_NATIVE}";
 PKG_LVL3_LDFLAGS_CONFIGURE="--sysroot=${PREFIX_NATIVE}";
 PKG_LVL3_CONFIGURE_ARGS="-C --disable-nls --host=${TARGET} --prefix= --target=${TARGET}";
 PKG_LVL3_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}";
@@ -153,7 +156,7 @@ PKG_LVL3_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}";
 : ${PKG_PSXTYPES_MAKEFLAGS_BUILD:="DESTDIR=${PREFIX_NATIVE}"};
 
 #
-# Build level 3 (3rd party packages)
+# Build level 3, 300-319 (3rd party packages)
 # Dependencies
 #
 : ${PKG_GDBM_VERSION:=1.12};
@@ -240,7 +243,45 @@ PKG_LVL3_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}";
 : ${PKG_XZ_URL:=http://tukaani.org/xz/xz-${PKG_XZ_VERSION}.tar.gz};
 
 #
-# Build level 3 (3rd party packages)
+# Build level 3, 320-339 (3rd party packages)
+# X11 dependencies
+#
+: ${PKG_INPUTPROTO_VERSION:=2.3.2};
+: ${PKG_INPUTPROTO_SHA256SUM:=893a6af55733262058a27b38eeb1edc733669f01d404e8581b167f03c03ef31d};
+: ${PKG_INPUTPROTO_URL:=https://www.x.org/releases/individual/proto/inputproto-${PKG_INPUTPROTO_VERSION}.tar.bz2};
+: ${PKG_KBPROTO_VERSION:=1.0.7};
+: ${PKG_KBPROTO_SHA256SUM:=f882210b76376e3fa006b11dbd890e56ec0942bc56e65d1249ff4af86f90b857};
+: ${PKG_KBPROTO_URL:=https://www.x.org/releases/individual/proto/kbproto-${PKG_KBPROTO_VERSION}.tar.bz2};
+: ${PKG_XCB_VERSION:=1.12};
+: ${PKG_XCB_SHA256SUM:=4adfb1b7c67e99bc9c2ccb110b2f175686576d2f792c8a71b9c8b19014057b5b};
+: ${PKG_XCB_URL:=https://www.x.org/releases/individual/xcb/libxcb-${PKG_XCB_VERSION}.tar.bz2};
+: ${PKG_XCB_CONFIGURE_ARGS_EXTRA:=--disable-randr};
+: ${PKG_XCB_MAKEFLAGS_BUILD_EXTRA:=V=99};
+: ${PKG_XCB_PROTO_VERSION:=1.12};
+: ${PKG_XCB_PROTO_SHA256SUM:=5922aba4c664ab7899a29d92ea91a87aa4c1fc7eb5ee550325c3216c480a4906};
+: ${PKG_XCB_PROTO_URL:=https://www.x.org/releases/individual/xcb/xcb-proto-${PKG_XCB_PROTO_VERSION}.tar.bz2};
+: ${PKG_XCB_PROTO_MAKEFLAGS_INSTALL:="DESTDIR=${PREFIX_NATIVE}/"};
+: ${PKG_XEXTPROTO_VERSION:=7.3.0};
+: ${PKG_XEXTPROTO_SHA256SUM:=f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0};
+: ${PKG_XEXTPROTO_URL:=https://www.x.org/releases/individual/proto/xextproto-${PKG_XEXTPROTO_VERSION}.tar.bz2};
+: ${PKG_XPROTO_VERSION:=7.0.29};
+: ${PKG_XPROTO_SHA256SUM:=6c1a477092ca73233902b8d5f33012635c4b0208f17e7833cc7efe5c93ba9f8a};
+: ${PKG_XPROTO_URL:=https://www.x.org/releases/individual/proto/xproto-${PKG_XPROTO_VERSION}.tar.bz2};
+: ${PKG_XTRANS_VERSION:=1.1};
+: ${PKG_XTRANS_SHA256SUM:=16bc4646f105efd3d0dd105899ac19035d67acf50950ca8c70cf68772508272d};
+: ${PKG_XTRANS_URL:=https://www.x.org/releases/individual/lib/xtrans-${PKG_XTRANS_VERSION}.tar.bz2};
+: ${PKG_LIBPTHREAD_STUBS_VERSION:=0.3};
+: ${PKG_LIBPTHREAD_STUBS_SHA256SUM:=35b6d54e3cc6f3ba28061da81af64b9a92b7b757319098172488a660e3d87299};
+: ${PKG_LIBPTHREAD_STUBS_URL:=https://xcb.freedesktop.org/dist/libpthread-stubs-${PKG_LIBPTHREAD_STUBS_VERSION}.tar.bz2};
+: ${PKG_LIBX11_VERSION:=1.6.3};
+: ${PKG_LIBX11_SHA256SUM:=cf31a7c39f2f52e8ebd0db95640384e63451f9b014eed2bb7f5de03e8adc8111};
+: ${PKG_LIBX11_URL:=https://www.x.org/releases/individual/lib/libX11-${PKG_LIBX11_VERSION}.tar.bz2};
+: ${PKG_LIBXAU_VERSION:=1.0.8};
+: ${PKG_LIBXAU_SHA256SUM:=fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2};
+: ${PKG_LIBXAU_URL:=https://www.x.org/releases/individual/lib/libXau-${PKG_LIBXAU_VERSION}.tar.bz2};
+
+#
+# Build level 3, 340-399 (3rd party packages)
 # Leaf packages
 #
 : ${PKG_APK_TOOLS_VERSION:=2.6.6};
diff --git a/config.cache b/config.cache
index 06856b2..1c13121 100644
--- a/config.cache
+++ b/config.cache
@@ -140,6 +140,9 @@ bash_cv_ulimit_maxfds=yes
 bash_cv_under_sys_siglist=yes
 bash_cv_unusable_rtsigs=no
 
+# libX11
+xorg_cv_malloc0_returns_null=yes
+
 # procps_ng
 ac_cv_func_realloc_0_nonnull=yes
 
diff --git a/pkg.build b/pkg.build
index 6d44e3a..1af2206 100644
--- a/pkg.build
+++ b/pkg.build
@@ -2,7 +2,7 @@
 # . ./build.vars and set -o errexit -o noglob are assumed.
 #
 
-parse_with_pkg_name ${SCRIPT_FNAME%[0-9][0-9]*} ${2} ${PKG_BUILD_NAMES};
+parse_with_pkg_name ${SCRIPT_FNAME%%[0-9][0-9].*} ${2} ${PKG_BUILD_NAMES};
 if [ "${ARG_RESTART_SCRIPT_AT}" = diff ]; then
 	printf "" > ${MIDIPIX_BUILD_PWD}/${PKG_SUBDIR}.local.patch.new;
 	for __ in $(find ${PKG_SUBDIR} -name \*.orig); do