summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
l---------000.slibtool_host.build1
l---------001.perk_host.build1
l---------002.binutils_host.build1
l---------003.gcc.stage1.build1
l---------004.psxstub.build1
l---------005.musl.no-complex.build1
l---------006.gcc.runtime.build1
l---------008.gcc.libstdc++-v3.build1
l---------010.pkgconf_host.build1
l---------011.file_host.build1
l---------100.slibtool.build1
l---------101.perk.build1
l---------102.pkgconf.build1
l---------103.gmp.build1
l---------104.mpfr.build1
l---------105.mpc.build1
l---------106.libelf.build1
l---------107.binutils.build1
l---------108.musl.native.build1
l---------109.gcc.native.build1
l---------200.psxtypes.build1
l---------201.pemagine.build1
l---------202.dalist.build1
l---------203.ntcon.build1
l---------204.ntapi.build1
l---------205.psxscl.build1
l---------206.psxscl_strace.build1
l---------207.ntctty.build1
l---------208.ptycon.build1
l---------300.expat.build1
l---------301.libz.build1
l---------302.libffi.build1
l---------303.gdbm.build1
l---------304.pcre.build1
l---------305.glib.build1
l---------306.gzip.build1
l---------307.libarchive.build1
l---------308.libpipeline.build1
l---------309.libressl.build1
l---------310.libevent.build1
l---------311.libfetch.build1
l---------312.libgpg_error.build1
l---------313.libassuan.build1
l---------314.libfirm.build1
l---------315.libgcrypt.build1
l---------316.libksba.build1
l---------317.lua.build1
l---------318.ncurses.build1
l---------319.ncursestw.build1
l---------320.ncursesw.build1
l---------321.npth.build1
l---------322.xz.build1
l---------350.inputproto.build1
l---------351.kbproto.build1
l---------352.xcb_proto.build1
l---------353.xproto.build1
l---------354.libXau.build1
l---------355.libpthread_stubs.build1
l---------356.xcb.build1
l---------357.xextproto.build1
l---------358.xtrans.build1
l---------359.libX11.build1
l---------360.libXext.build1
l---------361.libICE.build1
l---------362.libSM.build1
l---------363.libXt.build1
l---------364.libXmu.build1
l---------365.renderproto.build1
l---------366.Xrender.build1
l---------367.libXpm.build1
l---------368.libXaw.build1
l---------369.libxkbfile.build1
l---------400.apk_tools.build1
l---------401.bash.build1
l---------402.bzip2.build1
l---------403.coreutils.build1
l---------404.cparser.build1
l---------405.cron.build1
l---------406.curl.build1
l---------407.dash.build1
l---------408.diffutils.build1
l---------409.dos2unix.build1
l---------410.ed.build1
l---------411.file.build1
l---------412.findutils.build1
l---------413.gawk.build1
l---------414.git.build1
l---------415.gnupg.build1
l---------416.grep.build1
l---------417.hexcurse.build1
l---------418.htop.build1
l---------419.inetutils.build1
l---------420.infounzip.build1
l---------421.infozip.build1
l---------422.irssi.build1
l---------423.john.build1
l---------424.less.build1
l---------425.lynx.build1
l---------426.man_db.build1
l---------427.make.build1
l---------428.mc.build1
l---------429.mksh.build1
l---------430.nano.build1
l---------431.netcat.build1
l---------432.openssh.build1
l---------433.p7zip.build1
l---------434.pacman.build1
l---------435.patch.build1
l---------436.perl.build1
l---------437.procps_ng.build1
l---------438.python3.build1
l---------439.rsync.build1
l---------440.rxvt_unicode.build1
l---------441.sed.build1
l---------442.tar.build1
l---------443.tcsh.build1
l---------444.the_silver_searcher.build1
l---------445.tmux.build1
l---------446.util_linux.build1
l---------447.vim.build1
l---------448.weechat.build1
l---------449.which.build1
l---------450.whois.build1
l---------451.xeyes.build1
l---------452.xwd.build1
l---------453.zsh.build1
-rw-r--r--997.strip.build18
-rw-r--r--999.tarballs.build102
-rwxr-xr-xbuild.sh225
-rw-r--r--build.subr349
-rw-r--r--build.usage60
-rw-r--r--etc/LICENCE (renamed from LICENCE)0
-rw-r--r--etc/README (renamed from README)46
-rw-r--r--etc/TESTED_ON (renamed from TESTED_ON)0
-rw-r--r--etc/build.usage49
-rw-r--r--etc/config.cache (renamed from config.cache)0
-rw-r--r--etc/config.sub (renamed from config.sub)0
-rwxr-xr-xetc/midipix.sh (renamed from midipix.sh)0
-rwxr-xr-xetc/midipix_check.sh (renamed from midipix_check.sh)0
-rw-r--r--etc/midipix_shortcut.vbs (renamed from Create `Midipix mintty shell' shortcut.vbs)0
-rw-r--r--patches/Python-3.5.1.local.patch (renamed from Python-3.5.1.local.patch)0
-rw-r--r--patches/apk-tools-2.6.6.local.patch (renamed from apk-tools-2.6.6.local.patch)0
-rw-r--r--patches/bash-4.3.local.patch (renamed from bash-4.3.local.patch)0
-rw-r--r--patches/binutils-2.24.51.local.patch (renamed from binutils-2.24.51.local.patch)0
-rw-r--r--patches/coreutils-8.23.local.patch (renamed from coreutils-8.23.local.patch)0
-rw-r--r--patches/curl-7.47.1.local.patch (renamed from curl-7.47.1.local.patch)0
-rw-r--r--patches/findutils-4.5.14.local.patch (renamed from findutils-4.5.14.local.patch)0
-rw-r--r--patches/glib-2.46.2.local.patch (renamed from glib-2.46.2.local.patch)0
-rw-r--r--patches/gmp-5.1.3.local.patch (renamed from gmp-5.1.3.local.patch)0
-rw-r--r--patches/gnupg-2.1.15.local.patch (renamed from gnupg-2.1.15.local.patch)0
-rw-r--r--patches/hexcurse.local.patch (renamed from hexcurse.local.patch)0
-rw-r--r--patches/htop-2.0.1.local.patch (renamed from htop-2.0.1.local.patch)0
-rw-r--r--patches/irssi-0.8.18.local.patch (renamed from irssi-0.8.18.local.patch)0
-rw-r--r--patches/john-1.8.0.local.patch (renamed from john-1.8.0.local.patch)0
-rw-r--r--patches/libarchive-3.1.2.local.patch (renamed from libarchive-3.1.2.local.patch)0
-rw-r--r--patches/libassuan-2.4.3.local.patch (renamed from libassuan-2.4.3.local.patch)0
-rw-r--r--patches/libelf-0.8.13.local.patch (renamed from libelf-0.8.13.local.patch)0
-rw-r--r--patches/libevent-2.0.22-stable.local.patch (renamed from libevent-2.0.22-stable.local.patch)0
-rw-r--r--patches/libfetch-2.33.local.patch (renamed from libfetch-2.33.local.patch)0
-rw-r--r--patches/libffi-3.2.1.local.patch (renamed from libffi-3.2.1.local.patch)0
-rw-r--r--patches/libgcrypt-1.7.3.local.patch (renamed from libgcrypt-1.7.3.local.patch)0
-rw-r--r--patches/libgpg-error-1.24.local.patch (renamed from libgpg-error-1.24.local.patch)0
-rw-r--r--patches/libksba-1.3.5.local.patch (renamed from libksba-1.3.5.local.patch)0
-rw-r--r--patches/libressl-2.2.6.local.patch (renamed from libressl-2.2.6.local.patch)0
-rw-r--r--patches/lua-5.3.3.local.patch (renamed from lua-5.3.3.local.patch)0
-rw-r--r--patches/mc-4.8.17.local.patch (renamed from mc-4.8.17.local.patch)0
-rw-r--r--patches/nc110.local.patch (renamed from nc110.local.patch)0
-rw-r--r--patches/ncurses-6.0.local.patch (renamed from ncurses-6.0.local.patch)0
-rw-r--r--patches/p7zip.local.patch (renamed from p7zip.local.patch)0
-rw-r--r--patches/pacman-5.0.1.local.patch (renamed from pacman-5.0.1.local.patch)0
-rw-r--r--patches/pkg-cron.git.local.patch (renamed from pkg-cron.git.local.patch)0
-rw-r--r--patches/tcsh-6.19.00.local.patch (renamed from tcsh-6.19.00.local.patch)0
-rw-r--r--patches/tmux-2.2.local.patch (renamed from tmux-2.2.local.patch)0
-rw-r--r--patches/unzip60.local.patch (renamed from unzip60.local.patch)0
-rw-r--r--patches/vim-7.4.1952.local.patch (renamed from vim-7.4.1952.local.patch)0
-rw-r--r--patches/weechat-1.6.local.patch (renamed from weechat-1.6.local.patch)27
-rw-r--r--patches/zip30.local.patch (renamed from zip30.local.patch)0
-rw-r--r--scripts/gcc.full.build (renamed from 009.gcc.full.build)28
l---------scripts/gcc.libstdc++-v3.build1
l---------scripts/gcc.native.build1
l---------scripts/gcc.runtime.build1
l---------scripts/gcc.stage1.build1
-rw-r--r--scripts/midipix_sh.build (renamed from 998.midipix_sh.build)5
-rw-r--r--scripts/musl.full.build (renamed from 007.musl.full.build)12
l---------scripts/musl.native.build1
l---------scripts/musl.no-complex.build1
-rw-r--r--scripts/pkg.build (renamed from pkg.build)39
-rw-r--r--subr/build.subr140
-rw-r--r--subr/pkg.subr145
-rw-r--r--subr/rtl.subr102
-rw-r--r--subr/strip.subr19
-rw-r--r--subr/tarballs.subr108
-rw-r--r--vars/build.vars (renamed from build.vars)756
-rw-r--r--vars/cparser.vars (renamed from 404.cparser.vars)0
-rw-r--r--vars/libfirm.vars (renamed from 314.libfirm.vars)0
l---------vars/ncurses.vars1
l---------vars/ncursestw.vars1
-rw-r--r--vars/ncursesw.vars (renamed from 320.ncursesw.vars)0
-rw-r--r--vars/perl.vars (renamed from 436.perl.vars)0
-rw-r--r--vars/pkgconf_host.vars (renamed from 010.pkgconf_host.vars)0
-rw-r--r--vars/psxstub.vars (renamed from 004.psxstub.vars)0
-rw-r--r--vars/python3.vars (renamed from 438.python3.vars)0
202 files changed, 1097 insertions, 1267 deletions
diff --git a/000.slibtool_host.build b/000.slibtool_host.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/000.slibtool_host.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/001.perk_host.build b/001.perk_host.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/001.perk_host.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/002.binutils_host.build b/002.binutils_host.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/002.binutils_host.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/003.gcc.stage1.build b/003.gcc.stage1.build
deleted file mode 120000
index f1fa8b29..00000000
--- a/003.gcc.stage1.build
+++ /dev/null
@@ -1 +0,0 @@
-009.gcc.full.build \ No newline at end of file
diff --git a/004.psxstub.build b/004.psxstub.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/004.psxstub.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/005.musl.no-complex.build b/005.musl.no-complex.build
deleted file mode 120000
index 5455612b..00000000
--- a/005.musl.no-complex.build
+++ /dev/null
@@ -1 +0,0 @@
-007.musl.full.build \ No newline at end of file
diff --git a/006.gcc.runtime.build b/006.gcc.runtime.build
deleted file mode 120000
index f1fa8b29..00000000
--- a/006.gcc.runtime.build
+++ /dev/null
@@ -1 +0,0 @@
-009.gcc.full.build \ No newline at end of file
diff --git a/008.gcc.libstdc++-v3.build b/008.gcc.libstdc++-v3.build
deleted file mode 120000
index f1fa8b29..00000000
--- a/008.gcc.libstdc++-v3.build
+++ /dev/null
@@ -1 +0,0 @@
-009.gcc.full.build \ No newline at end of file
diff --git a/010.pkgconf_host.build b/010.pkgconf_host.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/010.pkgconf_host.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/011.file_host.build b/011.file_host.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/011.file_host.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/100.slibtool.build b/100.slibtool.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/100.slibtool.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/101.perk.build b/101.perk.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/101.perk.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/102.pkgconf.build b/102.pkgconf.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/102.pkgconf.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/103.gmp.build b/103.gmp.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/103.gmp.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/104.mpfr.build b/104.mpfr.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/104.mpfr.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/105.mpc.build b/105.mpc.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/105.mpc.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/106.libelf.build b/106.libelf.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/106.libelf.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/107.binutils.build b/107.binutils.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/107.binutils.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/108.musl.native.build b/108.musl.native.build
deleted file mode 120000
index 5455612b..00000000
--- a/108.musl.native.build
+++ /dev/null
@@ -1 +0,0 @@
-007.musl.full.build \ No newline at end of file
diff --git a/109.gcc.native.build b/109.gcc.native.build
deleted file mode 120000
index f1fa8b29..00000000
--- a/109.gcc.native.build
+++ /dev/null
@@ -1 +0,0 @@
-009.gcc.full.build \ No newline at end of file
diff --git a/200.psxtypes.build b/200.psxtypes.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/200.psxtypes.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/201.pemagine.build b/201.pemagine.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/201.pemagine.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/202.dalist.build b/202.dalist.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/202.dalist.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/203.ntcon.build b/203.ntcon.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/203.ntcon.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/204.ntapi.build b/204.ntapi.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/204.ntapi.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/205.psxscl.build b/205.psxscl.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/205.psxscl.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/206.psxscl_strace.build b/206.psxscl_strace.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/206.psxscl_strace.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/207.ntctty.build b/207.ntctty.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/207.ntctty.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/208.ptycon.build b/208.ptycon.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/208.ptycon.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/300.expat.build b/300.expat.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/300.expat.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/301.libz.build b/301.libz.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/301.libz.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/302.libffi.build b/302.libffi.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/302.libffi.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/303.gdbm.build b/303.gdbm.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/303.gdbm.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/304.pcre.build b/304.pcre.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/304.pcre.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/305.glib.build b/305.glib.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/305.glib.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/306.gzip.build b/306.gzip.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/306.gzip.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/307.libarchive.build b/307.libarchive.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/307.libarchive.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/308.libpipeline.build b/308.libpipeline.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/308.libpipeline.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/309.libressl.build b/309.libressl.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/309.libressl.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/310.libevent.build b/310.libevent.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/310.libevent.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/311.libfetch.build b/311.libfetch.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/311.libfetch.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/312.libgpg_error.build b/312.libgpg_error.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/312.libgpg_error.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/313.libassuan.build b/313.libassuan.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/313.libassuan.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/314.libfirm.build b/314.libfirm.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/314.libfirm.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/315.libgcrypt.build b/315.libgcrypt.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/315.libgcrypt.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/316.libksba.build b/316.libksba.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/316.libksba.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/317.lua.build b/317.lua.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/317.lua.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/318.ncurses.build b/318.ncurses.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/318.ncurses.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/319.ncursestw.build b/319.ncursestw.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/319.ncursestw.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/320.ncursesw.build b/320.ncursesw.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/320.ncursesw.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/321.npth.build b/321.npth.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/321.npth.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/322.xz.build b/322.xz.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/322.xz.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/350.inputproto.build b/350.inputproto.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/350.inputproto.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/351.kbproto.build b/351.kbproto.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/351.kbproto.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/352.xcb_proto.build b/352.xcb_proto.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/352.xcb_proto.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/353.xproto.build b/353.xproto.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/353.xproto.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/354.libXau.build b/354.libXau.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/354.libXau.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/355.libpthread_stubs.build b/355.libpthread_stubs.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/355.libpthread_stubs.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/356.xcb.build b/356.xcb.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/356.xcb.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/357.xextproto.build b/357.xextproto.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/357.xextproto.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/358.xtrans.build b/358.xtrans.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/358.xtrans.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/359.libX11.build b/359.libX11.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/359.libX11.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/360.libXext.build b/360.libXext.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/360.libXext.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/361.libICE.build b/361.libICE.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/361.libICE.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/362.libSM.build b/362.libSM.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/362.libSM.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/363.libXt.build b/363.libXt.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/363.libXt.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/364.libXmu.build b/364.libXmu.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/364.libXmu.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/365.renderproto.build b/365.renderproto.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/365.renderproto.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/366.Xrender.build b/366.Xrender.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/366.Xrender.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/367.libXpm.build b/367.libXpm.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/367.libXpm.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/368.libXaw.build b/368.libXaw.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/368.libXaw.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/369.libxkbfile.build b/369.libxkbfile.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/369.libxkbfile.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/400.apk_tools.build b/400.apk_tools.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/400.apk_tools.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/401.bash.build b/401.bash.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/401.bash.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/402.bzip2.build b/402.bzip2.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/402.bzip2.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/403.coreutils.build b/403.coreutils.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/403.coreutils.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/404.cparser.build b/404.cparser.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/404.cparser.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/405.cron.build b/405.cron.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/405.cron.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/406.curl.build b/406.curl.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/406.curl.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/407.dash.build b/407.dash.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/407.dash.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/408.diffutils.build b/408.diffutils.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/408.diffutils.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/409.dos2unix.build b/409.dos2unix.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/409.dos2unix.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/410.ed.build b/410.ed.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/410.ed.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/411.file.build b/411.file.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/411.file.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/412.findutils.build b/412.findutils.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/412.findutils.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/413.gawk.build b/413.gawk.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/413.gawk.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/414.git.build b/414.git.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/414.git.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/415.gnupg.build b/415.gnupg.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/415.gnupg.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/416.grep.build b/416.grep.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/416.grep.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/417.hexcurse.build b/417.hexcurse.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/417.hexcurse.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/418.htop.build b/418.htop.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/418.htop.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/419.inetutils.build b/419.inetutils.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/419.inetutils.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/420.infounzip.build b/420.infounzip.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/420.infounzip.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/421.infozip.build b/421.infozip.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/421.infozip.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/422.irssi.build b/422.irssi.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/422.irssi.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/423.john.build b/423.john.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/423.john.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/424.less.build b/424.less.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/424.less.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/425.lynx.build b/425.lynx.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/425.lynx.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/426.man_db.build b/426.man_db.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/426.man_db.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/427.make.build b/427.make.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/427.make.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/428.mc.build b/428.mc.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/428.mc.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/429.mksh.build b/429.mksh.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/429.mksh.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/430.nano.build b/430.nano.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/430.nano.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/431.netcat.build b/431.netcat.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/431.netcat.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/432.openssh.build b/432.openssh.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/432.openssh.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/433.p7zip.build b/433.p7zip.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/433.p7zip.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/434.pacman.build b/434.pacman.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/434.pacman.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/435.patch.build b/435.patch.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/435.patch.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/436.perl.build b/436.perl.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/436.perl.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/437.procps_ng.build b/437.procps_ng.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/437.procps_ng.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/438.python3.build b/438.python3.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/438.python3.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/439.rsync.build b/439.rsync.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/439.rsync.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/440.rxvt_unicode.build b/440.rxvt_unicode.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/440.rxvt_unicode.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/441.sed.build b/441.sed.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/441.sed.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/442.tar.build b/442.tar.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/442.tar.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/443.tcsh.build b/443.tcsh.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/443.tcsh.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/444.the_silver_searcher.build b/444.the_silver_searcher.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/444.the_silver_searcher.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/445.tmux.build b/445.tmux.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/445.tmux.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/446.util_linux.build b/446.util_linux.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/446.util_linux.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/447.vim.build b/447.vim.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/447.vim.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/448.weechat.build b/448.weechat.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/448.weechat.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/449.which.build b/449.which.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/449.which.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/450.whois.build b/450.whois.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/450.whois.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/451.xeyes.build b/451.xeyes.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/451.xeyes.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/452.xwd.build b/452.xwd.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/452.xwd.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/453.zsh.build b/453.zsh.build
deleted file mode 120000
index 52bb82e5..00000000
--- a/453.zsh.build
+++ /dev/null
@@ -1 +0,0 @@
-pkg.build \ No newline at end of file
diff --git a/997.strip.build b/997.strip.build
deleted file mode 100644
index 7db5f5ca..00000000
--- a/997.strip.build
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# . ./build.vars and set -o errexit -o noglob are assumed.
-#
-
-if [ "${BUILD}" != "release" ]; then
- exit;
-else
- for __ in $(find ${PREFIX_NATIVE}/bin -perm -0100 \( -type f -or -type l \)); do
- set +o errexit;
- if [ -n "$(${PKG_TARGET}-objdump -h ${__} 2>/dev/null | awk '/\.debug_info\s/{print}')" ]; then
- echo ${PKG_TARGET}-strip ${__};
- ${PKG_TARGET}-strip ${__};
- fi;
- set -o errexit;
- done;
-fi;
-
-# vim:filetype=sh
diff --git a/999.tarballs.build b/999.tarballs.build
deleted file mode 100644
index 19ab7f7a..00000000
--- a/999.tarballs.build
+++ /dev/null
@@ -1,102 +0,0 @@
-#
-# . ./build.vars and set -o errexit -o noglob are assumed.
-#
-
-if [ ${ARG_TARBALL:-0} -eq 0 ]; then
- exit;
-else
- log_msg info "Building distribution tarballs...";
- cd ${PREFIX};
-fi;
-if [ "${TARBALL_SUFFIX}" = "bz2" ]; then
- if [ -n "$(which pbzip2 2>/dev/null)" ]; then
- TARBALL_COMPRESS_CMD="pbzip2";
- else
- TARBALL_COMPRESS_CMD="bzip2";
- fi;
-elif [ "${TARBALL_SUFFIX}" = "gz" ]; then
- if [ -n "$(which pigz 2>/dev/null)" ]; then
- TARBALL_COMPRESS_CMD="pigz";
- else
- TARBALL_COMPRESS_CMD="gzip";
- fi;
-elif [ "${TARBALL_SUFFIX}" = "xz" ]; then
- TARBALL_COMPRESS_CMD="xz";
- TARBALL_COMPRESS_ARGS="-T0";
-else
- log_msg failexit "Unknown tarball suffix \`.${TARBALL_SUFFIX}'.";
-fi;
-
-PREFIX_BASENAME=${PREFIX_NATIVE##*/};
-TARBALL_FNAME=${TARBALL_FNAME_PREFIX}${BUILD_USER}@${BUILD_HNAME}-${BUILD_DATE_START}.tar.${TARBALL_SUFFIX};
-TARBALL_CROSS_FNAME=${TARBALL_CROSS_FNAME_PREFIX}${BUILD_USER}@${BUILD_HNAME}-${BUILD_DATE_START}.tar.${TARBALL_SUFFIX};
-TARBALL_MINIPIX_FNAME=${TARBALL_MINIPIX_FNAME_PREFIX}${BUILD_USER}@${BUILD_HNAME}-${BUILD_DATE_START}.tar.${TARBALL_SUFFIX};
-TARBALL_SRC_FNAME=${TARBALL_SRC_FNAME_PREFIX}${BUILD_USER}@${BUILD_HNAME}-${BUILD_DATE_START}.tar.${TARBALL_SUFFIX};
-
-secure_rm ${PREFIX_BASENAME}/lib.bak;
-insecure_mkdir ${PREFIX_BASENAME}/lib.bak;
-tar -C ${PREFIX_BASENAME}/lib -cpf - . | tar -C ${PREFIX_BASENAME}/lib.bak -xpf -;
-log_msg info "Backed up ${PREFIX_BASENAME}/lib.";
-for __ in $(find native/lib \( -iname \*.so -or -iname \*.so.\* \) \
- -type l); do
- ___="native/lib/$(readlink -- ${__})";
- if [ -f "${___}" ]; then
- secure_rm ${__}; ln -f -- "${___}" "${__}";
- fi;
-done;
-log_msg info "Converted symbolic links in ${PREFIX_BASENAME}/lib to hard links.";
-
-tar -cpf - $(find . -maxdepth 2 -mindepth 1 -type d \
- -not -path ./native -not -path ./native/lib.bak \
- -not -path ./tmp -not -path ./tmp/\*) \
- "Create \`Midipix mintty shell' shortcut.vbs" midipix.sh README |\
-${TARBALL_COMPRESS_CMD} ${TARBALL_COMPRESS_ARGS} -c > ${TARBALL_FNAME};
-log_msg info "Finished building binary distribution tarball.";
-if [ -x "$(which gpg 2>/dev/null)" -a -n "${TARBALL_SIGN_GPG_KEY}" ] &&\
- gpg --list-keys "${TARBALL_SIGN_GPG_KEY}" >/dev/null 2>&1; then
- gpg --armor --passphrase-file /dev/null \
- --local-user "${TARBALL_SIGN_GPG_KEY}" --sign ${TARBALL_FNAME};
- log_msg info "Signed binary distribution tarball.";
-fi;
-secure_rm ${PREFIX_BASENAME}/lib; mv -- ${PREFIX_BASENAME}/lib.bak ${PREFIX_BASENAME}/lib;
-log_msg info "Restored ${PREFIX_BASENAME}/lib.";
-
-tar -cpf - bin include lib lib64 libexec share ${PKG_TARGET} |\
-${TARBALL_COMPRESS_CMD} ${TARBALL_COMPRESS_ARGS} -c > ${TARBALL_CROSS_FNAME};
-log_msg info "Finished building toolchain tarball.";
-if [ -x "$(which gpg 2>/dev/null)" -a -n "${TARBALL_CROSS_SIGN_GPG_KEY}" ] &&\
- gpg --list-keys "${TARBALL_CROSS_SIGN_GPG_KEY}" >/dev/null 2>&1; then
- gpg --armor --passphrase-file /dev/null \
- --local-user "${TARBALL_CROSS_SIGN_GPG_KEY}" --sign ${TARBALL_CROSS_FNAME};
- log_msg info "Signed toolchain tarball.";
-fi;
-
-tar -cpf - minipix \
- "Create \`Midipix mintty shell' shortcut.vbs" midipix.sh README |\
-${TARBALL_COMPRESS_CMD} ${TARBALL_COMPRESS_ARGS} -c > ${TARBALL_MINIPIX_FNAME};
-log_msg info "Finished building binary Minipix distribution tarball.";
-if [ -x "$(which gpg 2>/dev/null)" -a -n "${TARBALL_MINIPIX_SIGN_GPG_KEY}" ] &&\
- gpg --list-keys "${TARBALL_MINIPIX_SIGN_GPG_KEY}" >/dev/null 2>&1; then
- gpg --armor --passphrase-file /dev/null \
- --local-user "${TARBALL_MINIPIX_SIGN_GPG_KEY}" --sign ${TARBALL_MINIPIX_FNAME};
- log_msg info "Signed binary Minipix distribution tarball.";
-fi;
-
-if [ "${BUILD}" = "debug" ]; then
- log_msg info "Building source tarball...";
- tar -cpf - $(find tmp -mindepth 2 -maxdepth 2 \
- -not -path tmp/.\* \
- -not -path tmp/ntctty/.git \
- -not -path tmp/psxscl/.git \
- -not -path tmp/ptycon/.git) |\
- ${TARBALL_COMPRESS_CMD} ${TARBALL_COMPRESS_ARGS} -c > ${TARBALL_SRC_FNAME};
- log_msg info "Finished building source tarball.";
- if [ -x "$(which gpg 2>/dev/null)" -a -n "${TARBALL_SRC_SIGN_GPG_KEY}" ] &&\
- gpg --list-keys "${TARBALL_SRC_SIGN_GPG_KEY}" >/dev/null 2>&1; then
- gpg --armor --passphrase-file /dev/null \
- --local-user "${TARBALL_SRC_SIGN_GPG_KEY}" --sign ${TARBALL_SRC_FNAME};
- log_msg info "Signed source tarball.";
- fi;
-fi;
-
-# vim:filetype=sh
diff --git a/build.sh b/build.sh
index 6efcd837..2d616f54 100755
--- a/build.sh
+++ b/build.sh
@@ -2,195 +2,100 @@
# Copyright (c) 2016 Lucio Andrés Illanes Albornoz <l.illanes@gmx.de>
#
-. ./build.subr;
-VALID_BUILD_LEVELS="fetch,extract,build_dir,autoconf,patch,configure,clean,build,install";
-
#
+# Clear the environment.
+# Source subroutine scripts.
+# Source the build variables file and its local overrides, if any.
# Process command line arguments.
+for __ in subr/*.subr; do
+ . ./${__};
+done;
+check_cpuinfo; source_vars; clear_env;
while [ ${#} -gt 0 ]; do
case ${1} in
--c) ARG_CLEAN=1; ;;
--d) disable_build_script_link "${2}"; exit; ;;
--e) enable_build_script_link "${2}"; exit; ;;
+-c) export ARG_CLEAN=1; ;;
+-n) export ARG_DRYRUN=1 ARG_VERBOSE=1; ;;
-t*) export ARG_TARBALL=1; [ "${1#-t.}" != "${1}" ] && TARBALL_SUFFIX=${1#-t.}; ;;
-v) export ARG_VERBOSE=1; ;;
--x) ARG_XTRACE=1; set -o xtrace; ;;
--a) [ -z "${2}" ] && exec cat build.usage || ARCH="${2}"; shift; ;;
--b) [ -z "${2}" ] && exec cat build.usage || BUILD="${2}"; shift; ;;
--pi) [ -z "${2}" ] && exec cat build.usage || insert_build_script_link "${2}"; exit; ;;
--pr) [ -z "${2}" ] && exec cat build.usage || remove_build_script_link "${2}"; exit; ;;
--r) [ -n "${ARG_RESTART_SCRIPT}" ] && exec cat build.usage;
- if [ "${2#*:*}" != "${2}" ]; then
- ARG_RESTART_SCRIPT="${2%%:*}"; ARG_RESTART_SCRIPT_AT="${2##*:}";
- if [ "${ARG_RESTART_SCRIPT_AT}" != diff ]; then
- for __ in $(split , "${ARG_RESTART_SCRIPT_AT}"); do
- if ! match_list "${VALID_BUILD_LEVELS}" , "${__}"; then
- log_msg fail "Error: unknown build level specified.";
- exec cat build.usage;
- fi;
- done;
- fi;
- else
- ARG_RESTART_SCRIPT="${2}"; ARG_RESTART_SCRIPT_AT=ALL;
- fi;
- if [ ! -e "${ARG_RESTART_SCRIPT}" ]; then
- log_msg fail "Error: unknown build script specified.";
+-x) export ARG_XTRACE=1; set -o xtrace; ;;
+-a) [ -z "${2}" ] && exec cat etc/build.usage || export ARCH=${2}; shift; ;;
+-b) [ -z "${2}" ] && exec cat etc/build.usage || export BUILD=${2}; shift; ;;
+-r) if [ -z "${2}" ]; then
exec cat build.usage;
- fi;
- shift; ;;
+ elif [ "${2%:*}" = "${2}" ]; then
+ export ARG_RESTART=${2};
+ else
+ export ARG_RESTART=${2%:*} ARG_RESTART_AT=${2#*:};
+ fi; shift; ;;
+host_toolchain|native_toolchain|runtime|lib_packages|leaf_packages|devroot|world)
+ export BUILD_TARGETS_META="${BUILD_TARGETS_META:+${BUILD_TARGETS_META} }${1}"; ;;
*=*) set_var_unsafe "${1%%=*}" "${1#*=}"; ;;
-*) exec cat build.usage; ;;
-esac; shift; done;
-
-if [ -z "${BUILD_CPUS}" ] \
-&& [ -e /proc/cpuinfo ]; then
- BUILD_CPUS=$(awk '/^processor/{cpus++} END{print cpus}' /proc/cpuinfo);
-fi;
-
-# Source the build variables file and its local overrides, if any.
-for __ in ${HOME}/midipix_build.vars ../midipix_build.vars ./build.vars; do
- [ -e ${__} ] && . ${__};
+*) exec cat etc/build.usage; ;;
+esac; shift;
done;
+if [ -z "${BUILD_TARGETS_META}" ]; then
+ BUILD_TARGETS_META=world;
+fi;
#
-# Clear the environment.
# Check whether the pathnames in build.vars contain non-empty valid values.
# Check whether all prerequisite command names resolve.
# Check whether all prerequisite pathnames resolve.
# Check whether all prerequisite Perl modules exist.
-for __ in $(export | sed -e 's/^export //' -e 's/=.*$//'); do
- if ! match_list "${CLEAR_ENV_VARS_EXCEPT}" " " "${__}"; then
- unset "${__}";
- fi;
-done;
-for __ in ${CHECK_PATH_VARS}; do
- if [ -z "${___:=$(get_var_unsafe "${__}")}" ]; then
- log_msg failexit "Error: variable \`${__}' is empty or unset.";
- elif [ "${___#* *}" != "${___}" ]; then
- log_msg failexit "Error: variable \`${__}' contains one or more whitespace characters.";
- fi;
-done;
-for __ in ${CHECK_PREREQ_CMDS} $(eval echo ${CHECK_PREREQ_FILES_DYNAMIC}) ${CHECK_PREREQ_FILES}; do
- if [ "${__#/}" != "${__}" ]; then
- if [ ! -e "${__}" ]; then
- log_msg fail "Error: missing prerequisite file \`${__}'.";
- __exit=1;
- fi;
- else
- if ! test_cmd "${__}"; then
- log_msg fail "Error: missing prerequisite command \`${__}'.";
- __exit=1;
- fi;
- fi;
-done;
-for __ in ${CHECK_PREREQ_PERL_MODULES}; do
- if ! perl -M"${__}" -e "" 2>/dev/null; then
- log_msg fail "Error: missing prerequisite Perl module \`${__}'.";
- __exit=1;
- fi;
-done;
-if [ ${__exit:-0} = 1 ]; then
- exit 1;
-elif [ -n "${__exit}" ]; then
- unset __exit;
-fi;
-
# Clean ${PREFIX} if requested.
-if [ ${ARG_CLEAN:-0} -eq 1 ]; then
- log_msg info "-c specified, cleaning prefix...";
- for __ in ${CLEAR_PREFIX_DIRS}; do
- if [ -e ${PREFIX}/${__} ]; then
- secure_rm ${PREFIX}/${__};
- fi;
- done;
-fi;
-
# Create directory hierarchy and usr -> . symlinks.
-insecure_mkdir ${PREFIX} ${PREFIX_NATIVE} ${PREFIX_CROSS} ${PREFIX_TARGET}/lib ${DLCACHEDIR} ${WORKDIR};
-for __ in ${PREFIX}/usr ${PREFIX_NATIVE}/usr; do
- if [ ! -L "${__}" ]; then
- secure_rm "${__}"; ln -sf -- . "${__}";
- fi;
-done;
-insecure_mkdir ${PREFIX_MINIPIX}/bin;
-for __ in lib libexec share; do
- if [ ! -e ${PREFIX_MINIPIX}/${__} ]; then
- ln -sf bin ${PREFIX_MINIPIX}/${__};
- fi;
-done;
-
-if [ -e ${BUILD_LOG_FNAME} ]; then
- mv -- ${BUILD_LOG_FNAME} ${BUILD_LOG_LAST_FNAME};
-fi;
-touch ${BUILD_STATUS_IN_PROGRESS_FNAME};
-{(
-BUILD_DATE_START="$(date %Y-%m-%d-%H-%M-%S)";
-BUILD_NFINI=${BUILD_NSKIP:=${BUILD_NFAIL:=${BUILD_NBUILT:=0}}};
-BUILD_TIMES_SECS=$(command date +%s);
+check_paths; clean_prefix; create_dirs;
+init_build_log; init_build_progress_file;
+{(init_build_vars;
log_msg info "Build started by ${BUILD_USER:=${USER}}@${BUILD_HNAME:=$(hostname)} at ${BUILD_DATE_START}.";
log_env_vars "build (global)" ${LOG_ENV_VARS};
-
-for BUILD_LVL in 0 1 2 3 4 9; do
- for BUILD_SCRIPT_FNAME in ${BUILD_LVL}[0-9][0-9].*.build; do
- if [ -n "${ARG_RESTART_SCRIPT}" ] \
- && [ "${ARG_RESTART_SCRIPT}" != "ALL" ] \
- && [ "${ARG_RESTART_SCRIPT}" != ${BUILD_SCRIPT_FNAME} ]; then
- if [ ${ARG_XTRACE:-0} -eq 0 ]; then
- log_msg info "Skipped build script \`${BUILD_SCRIPT_FNAME}' (--build-scripts policy.)";
+for BUILD_TARGET_LC in $(subst_tgts ${BUILD_TARGETS_META}); do
+ BUILD_TARGET=$(echo ${BUILD_TARGET_LC} | tr a-z A-Z);
+ for BUILD_PACKAGE_LC in $(get_var_unsafe ${BUILD_TARGET}_PACKAGES); do
+ BUILD_PACKAGE=$(echo ${BUILD_PACKAGE_LC} | tr a-z A-Z);
+ if [ -n "${ARG_RESTART}" ]; then
+ if ! match_list ${ARG_RESTART} , ${BUILD_PACKAGE_LC}; then
+ if [ ${ARG_VERBOSE:-0} -eq 1 ]; then
+ log_msg info "Skipped \`${BUILD_PACKAGE_LC}' (-r specified.)";
+ fi;
+ : $((BUILD_NSKIP+=1)); BUILD_SCRIPT_RC=0; continue;
fi;
- continue;
- elif [ ! -f "${BUILD_SCRIPT_FNAME}" ]; then
- log_msg info "Build script \`${BUILD_SCRIPT_FNAME}' non-existent or not a file.";
- continue;
- else
- unset BUILD_SCRIPT_RC; : $((BUILD_NBUILT+=1));
- if [ "${ARG_RESTART_SCRIPT}" != ALL ]\
- && is_build_script_done finish "${BUILD_SCRIPT_FNAME%.build}"; then
- log_msg info "Skipped build script \`${BUILD_SCRIPT_FNAME}' (already built.)";
- : $((BUILD_NSKIP+=1)); BUILD_SCRIPT_RC=0; continue;
+ elif is_build_script_done finish "${BUILD_PACKAGE_LC}"; then
+ if [ ${ARG_VERBOSE:-0} -eq 1 ]; then
+ log_msg info "Skipped \`${BUILD_PACKAGE_LC}' (already built.)";
fi;
- log_msg info "Invoking build script${ARG_RESTART_SCRIPT:+ (forcibly)} \`${BUILD_SCRIPT_FNAME}'${ARG_RESTART_SCRIPT_AT:+ at build step ${ARG_RESTART_SCRIPT_AT}}.";
- (set -o errexit -o noglob; \
- set -- $(split . ${BUILD_SCRIPT_FNAME%%.build*}); \
- SCRIPT_FNAME=${BUILD_SCRIPT_FNAME}; \
- SCRIPT_NAME=${SCRIPT_FNAME%%.build*}; \
- export PKG_BUILD=${BUILD}; \
- export PKG_TARGET=${TARGET}; \
- export PKG_PREFIX=$(get_vars_unsafe PKG_LVL${BUILD_LVL}_PREFIX \
- PKG_$(echo ${2} | tr a-z A-Z)_PREFIX); \
- if [ ${BUILD_LVL} -eq 9 ]; then
- export PREFIX PREFIX_CROSS PREFIX_MIDIPIX PREFIX_NATIVE PREFIX_ROOT;
- fi;
- export MIDIPIX_BUILD_PWD=$(pwd); cd ${WORKDIR}; \
- for SCRIPT_SOURCE in build.subr ${SCRIPT_NAME}.vars \
- ${BUILD_SCRIPT_FNAME}; do \
- [ -f ${MIDIPIX_BUILD_PWD}/${SCRIPT_SOURCE} ] && \
- . ${MIDIPIX_BUILD_PWD}/${SCRIPT_SOURCE}; \
- done);
- case ${BUILD_SCRIPT_RC:=${?}} in
- 0) log_msg succ "Finished build script \`${BUILD_SCRIPT_FNAME}'.";
- : $((BUILD_NFINI+=1)); continue; ;;
- *) log_msg fail "Build failed in build script \`${BUILD_SCRIPT_FNAME}' (last return code ${BUILD_SCRIPT_RC}.).";
- : $((BUILD_NFAIL+=1)); break; ;;
- esac;
+ : $((BUILD_NSKIP+=1)); BUILD_SCRIPT_RC=0; continue;
+ fi;
+ if [ -e scripts/${BUILD_PACKAGE_LC}.build ]; then
+ BUILD_SCRIPT_FNAME=scripts/${BUILD_PACKAGE_LC}.build;
+ else
+ BUILD_SCRIPT_FNAME=scripts/pkg.build;
+ fi;
+ if [ ${ARG_VERBOSE:-0} -eq 1 ]; then
+ log_msg info "Invoking build script \`${BUILD_SCRIPT_FNAME}'${ARG_RESTART:+ (forcibly)} for package \`${BUILD_PACKAGE_LC}'.";
fi;
+ (set -o errexit -o noglob;
+ export MIDIPIX_BUILD_PWD=$(pwd) \
+ PKG_BUILD=${BUILD} PKG_TARGET=${TARGET} \
+ PKG_PREFIX=$(get_vars_unsafe ${BUILD_TARGET}_PREFIX \
+ PKG_${BUILD_PACKAGE%.*}_PREFIX) \
+ PREFIX PREFIX_CROSS PREFIX_MIDIPIX PREFIX_NATIVE PREFIX_ROOT;
+ cd ${WORKDIR}; source_scripts);
+ BUILD_SCRIPT_RC=${?}; case ${BUILD_SCRIPT_RC} in
+ 0) log_msg succ "Finished \`${BUILD_PACKAGE_LC}' build.";
+ : $((BUILD_NFINI+=1)); continue; ;;
+ *) log_msg fail "Build failed in \`${BUILD_PACKAGE_LC}' (last return code ${BUILD_SCRIPT_RC}.).";
+ : $((BUILD_NFAIL+=1)); break; ;;
+ esac;
done;
if [ ${BUILD_SCRIPT_RC:-0} -ne 0 ]; then
break;
fi;
done;
-
+do_strip; do_tarballs; fini_build_vars;
log_msg info "${BUILD_NFINI} finished, ${BUILD_NSKIP} skipped, and ${BUILD_NFAIL} failed builds in ${BUILD_NBUILT} build script(s).";
-: $((BUILD_TIMES_SECS=$(command date +%s)-${BUILD_TIMES_SECS}));
-: $((BUILD_TIMES_HOURS=${BUILD_TIMES_SECS}/3600));
-: $((BUILD_TIMES_MINUTES=(${BUILD_TIMES_SECS}%3600)/60));
-: $((BUILD_TIMES_SECS=(${BUILD_TIMES_SECS}%3600)%60));
log_msg info "Build time: ${BUILD_TIMES_HOURS} hour(s), ${BUILD_TIMES_MINUTES} minute(s), and ${BUILD_TIMES_SECS} second(s).";
-
-if [ -f "${BUILD_STATUS_IN_PROGRESS_FNAME}" ]; then
- secure_rm ${BUILD_STATUS_IN_PROGRESS_FNAME};
-fi;
-
+fini_build_progress_file;
exit ${BUILD_SCRIPT_RC})} 2>&1 | tee ${BUILD_LOG_FNAME} &
TEE_PID=${!};
trap "rm -f ${BUILD_STATUS_IN_PROGRESS_FNAME}; \
diff --git a/build.subr b/build.subr
deleted file mode 100644
index c994c7d7..00000000
--- a/build.subr
+++ /dev/null
@@ -1,349 +0,0 @@
-#
-# . ./build.vars and set -o errexit -o noglob are assumed.
-# See warning at the top of build.vars.
-#
-
-date() { command date +"${1:-${TIMESTAMP_FMT}}"; };
-get_var_unsafe() { eval echo \${${1}}; };
-set_var_unsafe() { eval ${1}=\"${2}\"; };
-push_IFS() { _pI_IFS="${IFS}"; IFS="${1}"; };
-pop_IFS() { IFS="${_pI_IFS}"; unset _pI_IFS; };
-set_build_dir() { PKG_BUILD_DIR=${1}-${2}-${TARGET}; };
-split() { push_IFS "${1}"; set -- ${2}; pop_IFS; echo "${*}"; };
-test_cmd() { command -v "${1}" >/dev/null; };
-unsplit() { push_IFS "${1}"; shift; set -- "${@}"; echo "${*}"; pop_IFS; };
-
-# N.B. URLs ($1) may contain `?' or '&' characters.
-fetch() {
- _f_url="${1}"; _f_sha256sum_src="${2}";
- _f_url_dst="${DLCACHEDIR}/$(basename "${_f_url}")";
- if [ -e ${_f_url_dst}.fetched ]; then
- unset _f_url _f_sha256sum_src _f_url_dst;
- return 0;
- else
- wget ${WGET_ARGS} -c -O ${_f_url_dst} "${_f_url}";
- fi;
- if [ -n "${_f_sha256sum_src}" ]; then
- set -- $(openssl dgst -sha256 ${_f_url_dst}); shift $((${#}-1));
- if [ "${_f_sha256sum_dst:=${1}}" != "${_f_sha256sum_src}" ]; then
- log_msg failexit "Error: hash mismatch for URL \`${_f_url}' (is: ${_f_sha256sum_dst}, should be: ${_f_sha256sum_src}.)";
- fi;
- fi;
- touch ${_f_url_dst}.fetched;
- unset _f_url _f_url_dst _f_sha256sum_src _f_sha256sum_dst;
-};
-fetch_git() {
- _fg_subdir="${1}"; _fg_url="${2}"; _fg_branch="${3}";
- if [ -e "${DLCACHEDIR}/${_fg_subdir}" ]; then
- cd ${DLCACHEDIR}/${_fg_subdir} &&\
- git pull origin ${_fg_branch:-main} && cd ${OLDPWD};
- else
- git clone ${_fg_url} ${DLCACHEDIR}/${_fg_subdir};
- if [ -n "${_fg_branch}" -a \
- \( -z "${_fg_branch#main}" \) -a \
- \( -z "${_fg_branch#master}" \) ]; then
- cd ${DLCACHEDIR}/${_fg_subdir} &&\
- git checkout -b ${_fg_branch} && cd ${OLDPWD};
- fi;
- fi;
- secure_rm ${_fg_subdir};
- cp -pr ${DLCACHEDIR}/${_fg_subdir} .;
-};
-
-get_vars_unsafe() {
- while [ ${#} -gt 0 ]; do
- _gvu_vval="$(eval echo \${${1}})";
- [ -z "${_gvu_vval}" ] || _gvu_vval_="${_gvu_vval}";
- shift;
- done; echo "${_gvu_vval_}";
- unset _gvu_vval _gvu_vval_;
-};
-
-disable_build_script_link() {
- if [ -e ${1%.disabled}.disabled ]; then
- log_msg failexit "Error: build script already disabled.";
- elif [ ! -e ${1} ]; then
- log_msg failexit "Error: invalid or non-existent build script filename/level/name.";
- else
- echo mv -- ${1} ${1}.disabled;
- mv -- ${1} ${1}.disabled;
- fi;
-}
-enable_build_script_link() {
- if [ -e ${1%.disabled} ]; then
- log_msg failexit "Error: build script already enabled.";
- elif [ ! -e ${1%.disabled}.disabled ]; then
- log_msg failexit "Error: invalid or non-existent build script filename/level/name.";
- else
- echo mv -- ${1%.disabled}.disabled ${1%.disabled};
- mv -- ${1%.disabled}.disabled ${1%.disabled};
- fi;
-}
-insert_build_script_link() {
- _ibsl_fname=${1};
- _ibsl_level=${_ibsl_fname%%.*};
- _ibsl_name=${_ibsl_fname#*.}; _ibsl_name=${_ibsl_name%.build};
- if [ -z "${_ibsl_fname}" -o -z "${_ibsl_level}" \
- -o -z "${_ibsl_name}" ] \
- || ! isnumber ${_ibsl_level} \
- || [ ${#_ibsl_level} != 3 ]; then
- log_msg failexit "Error: invalid or empty build script filename/level/name.";
- elif [ -e ${_ibsl_fname} ]; then
- log_msg failexit "Error: build script \`${_ibsl_fname}' already exists.";
- elif [ -z "$(find -maxdepth 1 -name ${_ibsl_level}.\* -printf '%P\n' -quit)" ]; then
- echo ln -s -- pkg.build ${_ibsl_fname};
- ln -s -- pkg.build ${_ibsl_fname};
- unset _ibsl_fname _ibsl_level _ibsl_name;
- return 0;
- else
- _ibsl_levels="$(find -maxdepth 1 -name \
- ${_ibsl_level%[0-9][0-9]}\[0-9\]\[0-9\].\* \
- -printf '%P\n' | sort -nk1)";
- fi;
- for _ibsl_fname_cur in ${_ibsl_levels}; do
- if [ \( ${_ibsl_changed:=0} -eq 0 \) -a \
- \( "${_ibsl_fname_cur%%.*}" -eq ${_ibsl_level} \) ]; then
- echo ln -s -- pkg.build ${_ibsl_fname};
- ln -s -- pkg.build ${_ibsl_fname};
- _ibsl_changed=1;
- fi;
- if [ ${_ibsl_changed:=0} -eq 1 ]; then
- if [ -z "$(find -maxdepth 1 \
- -name $((${_ibsl_fname_cur%%.*}+1)).\* \
- -printf '%P\n' -quit)" ]; then
- _ibsl_last=1;
- fi;
- echo mv -- ${_ibsl_fname_cur} \
- $((${_ibsl_fname_cur%%.*}+1)).${_ibsl_fname_cur#*.};
- mv -- ${_ibsl_fname_cur} \
- $((${_ibsl_fname_cur%%.*}+1)).${_ibsl_fname_cur#*.};
- if [ ${_ibsl_last:-0} -eq 1 ]; then
- break;
- fi;
- fi;
- done;
- if [ ${_ibsl_changed:=0} -eq 0 ]; then
- log_msg failexit "Error: build level ${_ibsl_level} not in \`${_ibsl_levels}'.";
- else
- unset _ibsl_levels _ibsl_fname_cur _ibsl_changed _ibsl_last;
- unset _ibsl_fname _ibsl_level _ibsl_name;
- fi;
-};
-isnumber() {
- [ -z "${1}" ] && return 1 || _i_num=${1};
- while [ -n "${_i_num}" ]; do
- if [ "${_i_num#[0-9]}" = "${_i_num}" ]; then
- return 1;
- else
- _i_num="${_i_num#[0-9]}";
- fi;
- done; unset _i_num; return 0;
-};
-remove_build_script_link() {
- _rbsl_fname=${1};
- _rbsl_level=${_rbsl_fname%%.*};
- _rbsl_name=${_rbsl_fname#*.}; _rbsl_name=${_rbsl_name%.build};
- if [ -z "${_rbsl_fname}" -o -z "${_rbsl_level}" \
- -o -z "${_rbsl_name}" ] \
- || ! isnumber ${_rbsl_level} \
- || [ ${#_rbsl_level} != 3 ]; then
- log_msg failexit "Error: invalid or empty build script filename/level/name.";
- elif [ ! -e ${_rbsl_fname} ]; then
- log_msg failexit "Error: build script \`${_rbsl_fname}' doesn't exist.";
- else for _rbsl_fname_cur in $(find -maxdepth 1 \
- -name ${_rbsl_level%[0-9][0-9]}\[0-9\]\[0-9\].\* \
- -printf '%P\n' | sort -nk1); do
- _rbsl_fname_cur_level=${_rbsl_fname_cur%%.*};
- if [ ${_rbsl_fname_cur_level} -gt ${_rbsl_level} ]; then
- echo mv ${_rbsl_fname_cur} \
- $(printf "%03u" \
- $((${_rbsl_fname_cur_level#00}-1))).${_rbsl_fname_cur#*.};
- mv ${_rbsl_fname_cur} \
- $(printf "%03u" \
- $((${_rbsl_fname_cur_level#00}-1))).${_rbsl_fname_cur#*.};
- fi;
- done; fi;
- echo rm -- ${_rbsl_fname};
- rm -- ${_rbsl_fname};
-};
-
-is_build_script_done() {
- if [ -n "${ARG_RESTART_SCRIPT_AT}" ]; then
- if [ "${1}" = clean ]\
- && [ -z "${ARG_RESTART_SCRIPT_AT#ALL}" ]; then
- return 0; # Skip
- elif [ "${1}" = finish ]\
- || [ -z "${ARG_RESTART_SCRIPT_AT#ALL}" ]; then
- return 1; # Build
- elif ! match_list ${ARG_RESTART_SCRIPT_AT} , ${1}; then
- return 0; # Skip
- else
- return 1; # Build
- fi;
- elif [ -f "${WORKDIR}/.${2:-$(basename ${SCRIPT_FNAME%.build})}.${1}" ]; then
- return 0; # Skip
- else
- return 1; # Build
- fi;
-};
-set_build_script_done() {
- _sbsd_script_fname=${SCRIPT_FNAME##*/};
- _sbsd_done_fname=${WORKDIR}/.${_sbsd_script_fname%.build};
- while [ $# -ge 1 ]; do
- if [ "${1#-}" != "${1}" ]; then
- secure_rm ${_sbsd_done_fname}.${1#-};
- else
- touch ${_sbsd_done_fname}.${1};
- log_msg info "Finished build step ${1} of build script \`${_sbsd_script_fname}'.";
- fi; shift;
- done; unset _sbsd_script_fname _sbsd_done_fname;
-};
-
-log_env_vars() {
- log_msg info "Variables for this ${1:-build}:"; shift;
- while [ ${_lev_nvar:=0} -lt ${#} ]; do
- _lev_arg="$(eval echo \${${_lev_nvar}})";
- _lev_arg="${_lev_arg%%=*}";
- if [ ${#_lev_arg} -gt ${_lev_arg_len_max:=0} ]; then
- _lev_arg_len_max=${#_lev_arg};
- fi; : $((_lev_nvar+=1));
- done; unset _lev_nvar _lev_arg;
- while [ ${#} -gt 0 ]; do
- log_msg info "$(printf \
- "%${_lev_arg_len_max}.${_lev_arg_len_max}s=%s" \
- "${1%%=*}" "$(get_var_unsafe ${1#*=})")";
- shift;
- done; unset _lev_arg_len_max;
-};
-
-log_msg() {
- _lm_lvl=${1}; shift;
- case ${_lm_lvl} in
- failexit) printf "\033[0m\033[${LOG_MSG_FAIL_COLOUR}m"; ;;
- fail) printf "\033[0m\033[${LOG_MSG_FAIL_COLOUR}m"; ;;
- info) printf "\033[0m\033[${LOG_MSG_INFO_COLOUR}m"; ;;
- succ) printf "\033[0m\033[${LOG_MSG_SUCC_COLOUR}m"; ;;
- warn) printf "\033[0m\033[${LOG_MSG_WARN_COLOUR}m"; ;;
- esac;
- if [ $# -gt 1 ]; then
- printf "==> %s %s %s\033[0m\n" "$(date "${TIMESTAMP_FMT}")" "${1}" "$*";
- else
- printf "==> %s %s\033[0m\n" "$(date "${TIMESTAMP_FMT}")" "${1}";
- fi; [ ${_lm_lvl} = failexit ] && exit 1 || unset _lm_lvl;
-};
-
-match_list() {
- _ml_cmp="${3}"; push_IFS "${2}"; set -- ${1}; pop_IFS;
- while [ ${#} -gt 0 ]; do
- if [ "${1}" = "${_ml_cmp}" ]; then
- unset _ml_cmp; return 0;
- fi; shift;
- done; unset _ml_cmp; return 1;
-};
-
-parse_with_pkg_name() {
- PKG_LVL=${1}; PKG_NAME=${2}; shift 2;
- _pwpn_pkg_NAME=$(echo ${PKG_NAME} | tr a-z A-Z);
- if [ -z "$(get_var_unsafe PKG_${_pwpn_pkg_NAME}_URL)" ]; then
- unset _pwpn_pkg_NAME;
- log_msg failexit "Error: package \`${PKG_NAME}' missing in build.vars.";
- else
- for _pwpn_vname in ${PKG_BUILD_VARS}; do
- if [ -n "$(get_var_unsafe DEFAULT_${_pwpn_vname})" ]; then
- export "PKG_${_pwpn_vname}=$(get_var_unsafe DEFAULT_${_pwpn_vname})";
- fi;
- if [ -n "$(get_var_unsafe PKG_LVL${PKG_LVL}_${_pwpn_vname})" ]; then
- export "PKG_${_pwpn_vname}=$(get_var_unsafe PKG_LVL${PKG_LVL}_${_pwpn_vname})";
- fi;
- if [ "${BUILD}" = "debug" ] \
- && [ -n "$(get_var_unsafe PKG_${_pwpn_pkg_NAME}_${_pwpn_vname}_DEBUG)" ]; then
- export "PKG_${_pwpn_vname}=$(get_var_unsafe PKG_${_pwpn_pkg_NAME}_${_pwpn_vname}_DEBUG)";
- elif [ "${BUILD}" = "release" ] \
- && [ -n "$(get_var_unsafe PKG_${_pwpn_pkg_NAME}_${_pwpn_vname}_RELEASE)" ]; then
- export "PKG_${_pwpn_vname}=$(get_var_unsafe PKG_${_pwpn_pkg_NAME}_${_pwpn_vname}_RELEASE)";
- elif [ -n "$(get_var_unsafe PKG_${_pwpn_pkg_NAME}_${_pwpn_vname})" ]; then
- export "PKG_${_pwpn_vname}=$(get_var_unsafe PKG_${_pwpn_pkg_NAME}_${_pwpn_vname})";
- fi;
- done; unset _pwpn_vname;
- fi;
- [ -z "${PKG_FNAME}" ] && PKG_FNAME=${PKG_URL##*/};
- [ -z "${PKG_SUBDIR}" ] && PKG_SUBDIR=${PKG_FNAME%%.tar*};
- [ -n "${PKG_ENV_VARS_EXTRA}" ] && set_env_vars_with_sep : "${PKG_ENV_VARS_EXTRA}";
- for _pwpn_env_var in $(export); do
- if [ "${_pwpn_env_var#PKG_}" != "${_pwpn_env_var}" ]; then
- _pwpn_env_vars="${_pwpn_env_vars:+${_pwpn_env_vars} }${_pwpn_env_var%%=*}";
- fi;
- done;
- if [ -n "${_pwpn_env_vars}" ]; then
- log_env_vars "build script" ${_pwpn_env_vars};
- fi; unset _pwpn_pkg_NAME _pwpn_env_var _pwpn_env_vars;
-};
-set_env_vars_with_sep() {
- _sevws_sep=${1}; shift; push_IFS ${_sevws_sep}; set -- ${1};
- while [ ${#} -gt 0 ]; do
- export "${1}"; shift;
- done; unset _sevws_sep; pop_IFS;
-};
-
-secure_cd() {
- if [ \( -z "${1}" \) -o \( ! -e "${1}" \) ]; then
- return 1;
- else
- (cd "${1}"; [ "${PWD#${PREFIX_ROOT}}" = "${PWD}" ] &&\
- return 1 || return 0);
- if [ ${?} -eq 0 ]; then
- [ "${ARG_VERBOSE:-0}" -eq 1 ] &&\
- log_msg warn "Changing working directory to \`${1}'.";
- cd -- "${1}";
- else
- log_msg failexit "secure_cd() called with pathname \`${1}' not below \${PREFIX_ROOT} (${PREFIX_ROOT}). This is a bug.";
- fi;
- fi;
-};
-insecure_mkdir() {
- while [ ${#} -gt 0 ]; do
- if [ -z "${1}" ]; then
- return 1;
- elif [ ! -e "${1}" ]; then
- [ "${ARG_VERBOSE:-0}" -eq 1 ] &&\
- log_msg warn "Making directory \`${1}'.";
- mkdir -p -- "${1}";
- fi; shift;
- done;
-};
-secure_rm() {
- while [ ${#} -gt 0 ]; do
- if [ -z "${1}" ]; then
- return 1;
- elif [ -e "${1}" ]; then
- if [ -d "${1}" ]; then
- _sr_pname_check="${1}";
- else
- _sr_pname_check="$(dirname "${1}")";
- fi;
- (cd "${_sr_pname_check}"; [ "${PWD#${PREFIX_ROOT}}" = "${PWD}" ] &&\
- return 1 || return 0);
- if [ ${?} -eq 0 ]; then
- unset _sr_pname_check;
- [ "${ARG_VERBOSE:-0}" -eq 1 ] &&\
- log_msg warn "Removing directory or file \`${1}'.";
- rm -rf -- "${1}";
- else
- log_msg failexit "secure_rm() called with pathname \`${1}' not below \${PREFIX_ROOT} (${PREFIX_ROOT}). This is a bug.";
- fi;
- fi; shift;
- done;
-};
-
-run_cmd_unsplit() {
- _rcu_cmd=${1}; shift;
- while [ ${#} -gt 0 ]; do
- [ -n "${1}" ] &&\
- _rcu_cmdline="${_rcu_cmdline:+${_rcu_cmdline}:}${1}";
- shift;
- done;
- push_IFS :; ${_rcu_cmd} ${_rcu_cmdline}; _rcu_rc=$?; pop_IFS;
- unset _rcu_cmd _rcu_cmdline; return ${_rcu_rc};
-};
-
-# vim:filetype=sh
diff --git a/build.usage b/build.usage
deleted file mode 100644
index f8786253..00000000
--- a/build.usage
+++ /dev/null
@@ -1,60 +0,0 @@
-usage: ./build.sh [-x] [-a nt32|nt64] [-b debug|release] [-c] [-d] [-e] [-h] [-pi level.name.build]
- [-pr level.name.build] [-r ALL|level.name.build[:diff|:step[,...]]]
- [-t[.gz|.bz2|.xz]
- -a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
- -b debug|release Selects debug or release build; defaults to debug.
- This currently only controls CFLAGS.
- -c Clean ${PREFIX} before processing build scripts.
- -d level.name.build Disables the specified build script.
- -e level.name.build Enables the specified build script.
- -h Show this screen.
- -pi level.name.build Insert link to pkg.build for the specified build script.
- All consecutive scripts with higher build levels will
- be renamed automatically.
- -pr level.name.build Remove the specified build script. As with -pi, all con-
- secutive scripts with higher build levels will be renamed
- automatically.
- -r ALL|level.name.build[:step[,...]]
- Restart all or the specified build script(s) completely
- or at the optionally specified build step. Currently defined
- build steps are: fetch extract build_dir autoconf patch
- configure clean build install.
- -r level.name.build:diff
- Automatically produce diff(1).
- -t[.gz|.bz2|.xz] Produce binary distribution and source tarballs containing ${PREFIX}
- sans ${WORKDIR} and ${PREFIX}/src/midipix_build and ${WORKDIR} sans top-
- level regular files at the end of a build with zero failures. The
- tarballs will be compressed with either gzip, bzip2, or xz and signed
- with GPG; the default compression is xz.
- -v Be verbose; this currently only affects secure_{cd,rm}() and insecure_mkdir().
- -x Set the xtrace sh(1)ell option for debugging purposes.
-
- ${HOME}/midipix_build.vars, ../midipix_build.vars, and build.vars are sourced
- if they exist.
-
- Packages that are built by pkg.build will apply local patches in ${WORKDIR}
- named ${PKG_SUBDIR}.local.patch.
-
- Examples:
- ./build.sh -r ALL
- Forcibly restart the entire build.
-
- ./build.sh -r 301.coreutils.build
- Completely restart the coreutils build.
-
- ./build.sh -r 301.coreutils.build:configure,build,install
- Restart the configure, build, and install steps of the coreutils build script.
-
- ./build.sh -r 205.psxscl.build GITROOT_HEAD=... PKG_PSXSCL_CFLAGS_CONFIGURE_EXTRA=-DPSX_INTERNAL_STRACE
- Build psxscl from the internal repository with strace enabled.
-
- ./build.sh -c -r ALL GITROOT_HEAD=...
- Clean ${PREFIX} and forcibly rebuild everything.
-
-This script has been tested on the following platforms:
-Alpine v3.4 (20160917_17:50) (x86_64)
-Arch Linux 2016.02.01 (x86_64)
-CentOS v7.2.1511 (Core) (x86_64)
-Debian GNU/Linux v8.5 (stable) (jessie) (x86_64)
-Exherbo Linux (x86_64-pc-linux-musl) (x86_64)
-openSUSE 20150612 (Tumbleweed) (x86_64)
diff --git a/LICENCE b/etc/LICENCE
index 3d401651..3d401651 100644
--- a/LICENCE
+++ b/etc/LICENCE
diff --git a/README b/etc/README
index af6924e7..5cab545e 100644
--- a/README
+++ b/etc/README
@@ -95,9 +95,14 @@ Runtime components pemagine HEAD C-IE--
Runtime components psxscl HEAD C-IE-- Excludes clone(2) and dlopen(3)
Runtime components psxtypes HEAD C-IE--
Runtime components ptycon HEAD C-IE--
+3rd party libraries bzip2 1.0.6 C-IE--
+3rd party libraries curl 7.47.1 C---P-
+3rd party libraries expat 2.2.0 C-----
3rd party libraries gdbm 1.12 C-I---
3rd party libraries glib 2.46.2 C-I-P- Shared object not built
3rd party libraries gzip 1.2.4 C-IE--
+3rd party libraries inputproto 2.3.2 C-----
+3rd party libraries kbproto 1.0.7 C-----
3rd party libraries libarchive 3.1.2 C-I-P-
3rd party libraries libassuan 2.4.3 C-I---
3rd party libraries libevent 2.0.22-stable C-I---
@@ -106,42 +111,38 @@ Runtime components ptycon HEAD C-IE--
3rd party libraries libfirm HEAD C-I-P-
3rd party libraries libgcrypt 1.7.3 C-I---
3rd party libraries libgpg_error 1.24 C-I-P-
+3rd party libraries libICE 1.0.9 C-----
3rd party libraries libksba 1.3.5 C-I-P-
3rd party libraries libpipeline 1.4.1 C-I---
+3rd party libraries libpthread-stubs 0.3 C-----
3rd party libraries libressl 2.2.6 C-I-P-
+3rd party libraries libSM 1.2.2 C-----
+3rd party libraries libX11 1.6.3 C-----
+3rd party libraries libXau 1.0.8 C-----
+3rd party libraries libXaw 1.0.13 C-----
+3rd party libraries libXext 1.3.3 C-----
+3rd party libraries libxkbfile 1.0.9 C-----
+3rd party libraries libXmu 1.1.2 C-----
+3rd party libraries libXpm 3.5.11 C-----
+3rd party libraries libXt 1.1.5 C-----
3rd party libraries libz 1.2.8.2015.05.20 C-I---
3rd party libraries lua 5.3.3 C---P-
3rd party libraries ncurses 6.0 C-IEP- ncurses, ncursestw, and ncursesw built
3rd party libraries npth 1.2 C-I---
3rd party libraries pcre 8.39 C-I---
+3rd party libraries renderproto 0.11.1 C-----
+3rd party libraries xcb 1.12 C----- Needs pthreads / clone(2)
+3rd party libraries xcb-proto 1.12 C-----
+3rd party libraries xextproto 7.3.0 C-----
+3rd party libraries xproto 7.0.29 C-----
+3rd party libraries Xrender 0.9.9 C-----
+3rd party libraries xtrans 1.1 C-----
3rd party libraries xz 5.2.2 C-IE--
-3rd party X11 libs inputproto 2.3.2 C-----
-3rd party X11 libs kbproto 1.0.7 C-----
-3rd party X11 libs libICE 1.0.9 C-----
-3rd party X11 libs libSM 1.2.2 C-----
-3rd party X11 libs libX11 1.6.3 C-----
-3rd party X11 libs libXau 1.0.8 C-----
-3rd party X11 libs libXaw 1.0.13 C-----
-3rd party X11 libs libXext 1.3.3 C-----
-3rd party X11 libs libXmu 1.1.2 C-----
-3rd party X11 libs libXpm 3.5.11 C-----
-3rd party X11 libs libXt 1.1.5 C-----
-3rd party X11 libs libpthread-stubs 0.3 C-----
-3rd party X11 libs libxkbfile 1.0.9 C-----
-3rd party X11 libs renderproto 0.11.1 C-----
-3rd party X11 libs xcb 1.12 C----- Needs pthreads / clone(2)
-3rd party X11 libs xcb-proto 1.12 C-----
-3rd party X11 libs xextproto 7.3.0 C-----
-3rd party X11 libs xproto 7.0.29 C-----
-3rd party X11 libs xtrans 1.1 C-----
-3rd party X11 libs Xrender 0.9.9 C-----
3rd party packages apk_tools 2.6.6 C---P-
3rd party packages bash 4.3 C-I-P- Linked against ncursesw
-3rd party packages bzip2 1.0.6 C-IE--
3rd party packages coreutils 8.23 C---P- Needs extensive testing
3rd party packages cparser HEAD C-I-P-
3rd party packages cron HEAD C---P-
-3rd party packages curl 7.47.1 C---P-
3rd party packages dash 0.5.8 C----- Provides /bin/sh
3rd party packages diffutils 3.3 C-----
3rd party packages dos2unix 7.3.4 C-----
@@ -168,6 +169,7 @@ Runtime components ptycon HEAD C-IE--
3rd party packages nano 2.5.3 C-I--- Linked against ncursesw
3rd party packages netcat 110 C---P-
3rd party packages openssh 7.1p2 C-I--- Linked against libressl
+3rd party packages p7zip HEAD C-----
3rd party packages pacman 5.0.1 C---P-
3rd party packages patch 2.7 C-----
3rd party packages perl 5.22.1 ------ No dlopen(3) (see psxscl,) modules missing
diff --git a/TESTED_ON b/etc/TESTED_ON
index 2989ae30..2989ae30 100644
--- a/TESTED_ON
+++ b/etc/TESTED_ON
diff --git a/etc/build.usage b/etc/build.usage
new file mode 100644
index 00000000..c513c82c
--- /dev/null
+++ b/etc/build.usage
@@ -0,0 +1,49 @@
+usage: ./build.sh [-x] [-a nt32|nt64] [-b debug|release] [-c] [-h] [-n]
+ [-r package[,...][:step]] [-t[.gz|.bz2|.xz] [-v]
+ [<target>[ ...]]
+ -x Set the xtrace sh(1)ell option for debugging purposes.
+ -a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
+ -b debug|release Selects debug or release build; defaults to debug.
+ This currently only controls CFLAGS.
+ -c Clean ${PREFIX} before processing build scripts.
+ -h Show this screen.
+ -n Perform dry run.
+ -r package[,...][:step] Restart the specified comma-separated build(s) completely or at
+ the optionally specified step. Currently defined steps are:
+ fetch extract build_dir autoconf patch configure clean build install
+ -t[.gz|.bz2|.xz] Produce binary distribution and source tarballs containing ${PREFIX}
+ sans ${WORKDIR} and ${PREFIX}/src/midipix_build and ${WORKDIR} sans top-
+ level regular files at the end of a build with zero failures. The
+ tarballs will be compressed with either gzip, bzip2, or xz and signed
+ with GPG; the default compression is xz.
+ -v Be verbose; this currently only affects secure_{cd,rm}() and insecure_mkdir().
+ <target>[ ...] One of:
+ host_toolchain, native_toolchain, runtime, lib_packages,
+ leaf_packages, world, or devroot.
+
+ ${HOME}/midipix_build.vars, ../midipix_build.vars, and build.vars are sourced
+ if they exist.
+
+ Packages that are built by pkg.build will apply local patches in ${WORKDIR}
+ named ${PKG_SUBDIR}.local.patch.
+
+ Examples:
+ ./build.sh -r coreutils
+ Completely restart the coreutils build.
+
+ ./build.sh -r coreutils:configure,build,install
+ Restart the configure, build, and install steps of the coreutils build.
+
+ ./build.sh -r psxscl GITROOT_HEAD=... PKG_PSXSCL_CFLAGS_CONFIGURE_EXTRA=-DPSX_INTERNAL_STRACE
+ Build psxscl from the internal repository with strace enabled.
+
+ ./build.sh -c -r ALL GITROOT_HEAD=...
+ Clean ${PREFIX} and forcibly rebuild everything.
+
+This script has been tested on the following platforms:
+Alpine v3.4 (20160917_17:50) (x86_64)
+Arch Linux 2016.02.01 (x86_64)
+CentOS v7.2.1511 (Core) (x86_64)
+Debian GNU/Linux v8.5 (stable) (jessie) (x86_64)
+Exherbo Linux (x86_64-pc-linux-musl) (x86_64)
+openSUSE 20150612 (Tumbleweed) (x86_64)
diff --git a/config.cache b/etc/config.cache
index 2910ce71..2910ce71 100644
--- a/config.cache
+++ b/etc/config.cache
diff --git a/config.sub b/etc/config.sub
index 9feb73bf..9feb73bf 100644
--- a/config.sub
+++ b/etc/config.sub
diff --git a/midipix.sh b/etc/midipix.sh
index cc168d18..cc168d18 100755
--- a/midipix.sh
+++ b/etc/midipix.sh
diff --git a/midipix_check.sh b/etc/midipix_check.sh
index f669de44..f669de44 100755
--- a/midipix_check.sh
+++ b/etc/midipix_check.sh
diff --git a/Create `Midipix mintty shell' shortcut.vbs b/etc/midipix_shortcut.vbs
index ce8e10d4..ce8e10d4 100644
--- a/Create `Midipix mintty shell' shortcut.vbs
+++ b/etc/midipix_shortcut.vbs
diff --git a/Python-3.5.1.local.patch b/patches/Python-3.5.1.local.patch
index b96f19e7..b96f19e7 100644
--- a/Python-3.5.1.local.patch
+++ b/patches/Python-3.5.1.local.patch
diff --git a/apk-tools-2.6.6.local.patch b/patches/apk-tools-2.6.6.local.patch
index df03820e..df03820e 100644
--- a/apk-tools-2.6.6.local.patch
+++ b/patches/apk-tools-2.6.6.local.patch
diff --git a/bash-4.3.local.patch b/patches/bash-4.3.local.patch
index 995f7a7e..995f7a7e 100644
--- a/bash-4.3.local.patch
+++ b/patches/bash-4.3.local.patch
diff --git a/binutils-2.24.51.local.patch b/patches/binutils-2.24.51.local.patch
index 1f983f04..1f983f04 100644
--- a/binutils-2.24.51.local.patch
+++ b/patches/binutils-2.24.51.local.patch
diff --git a/coreutils-8.23.local.patch b/patches/coreutils-8.23.local.patch
index a98d3791..a98d3791 100644
--- a/coreutils-8.23.local.patch
+++ b/patches/coreutils-8.23.local.patch
diff --git a/curl-7.47.1.local.patch b/patches/curl-7.47.1.local.patch
index 3a10aa92..3a10aa92 100644
--- a/curl-7.47.1.local.patch
+++ b/patches/curl-7.47.1.local.patch
diff --git a/findutils-4.5.14.local.patch b/patches/findutils-4.5.14.local.patch
index a28d9dc2..a28d9dc2 100644
--- a/findutils-4.5.14.local.patch
+++ b/patches/findutils-4.5.14.local.patch
diff --git a/glib-2.46.2.local.patch b/patches/glib-2.46.2.local.patch
index 8153cb8a..8153cb8a 100644
--- a/glib-2.46.2.local.patch
+++ b/patches/glib-2.46.2.local.patch
diff --git a/gmp-5.1.3.local.patch b/patches/gmp-5.1.3.local.patch
index ecee6b99..ecee6b99 100644
--- a/gmp-5.1.3.local.patch
+++ b/patches/gmp-5.1.3.local.patch
diff --git a/gnupg-2.1.15.local.patch b/patches/gnupg-2.1.15.local.patch
index b0bf6ca3..b0bf6ca3 100644
--- a/gnupg-2.1.15.local.patch
+++ b/patches/gnupg-2.1.15.local.patch
diff --git a/hexcurse.local.patch b/patches/hexcurse.local.patch
index 912a14be..912a14be 100644
--- a/hexcurse.local.patch
+++ b/patches/hexcurse.local.patch
diff --git a/htop-2.0.1.local.patch b/patches/htop-2.0.1.local.patch
index 1799722e..1799722e 100644
--- a/htop-2.0.1.local.patch
+++ b/patches/htop-2.0.1.local.patch
diff --git a/irssi-0.8.18.local.patch b/patches/irssi-0.8.18.local.patch
index 8c72336e..8c72336e 100644
--- a/irssi-0.8.18.local.patch
+++ b/patches/irssi-0.8.18.local.patch
diff --git a/john-1.8.0.local.patch b/patches/john-1.8.0.local.patch
index 21999942..21999942 100644
--- a/john-1.8.0.local.patch
+++ b/patches/john-1.8.0.local.patch
diff --git a/libarchive-3.1.2.local.patch b/patches/libarchive-3.1.2.local.patch
index 746a4b70..746a4b70 100644
--- a/libarchive-3.1.2.local.patch
+++ b/patches/libarchive-3.1.2.local.patch
diff --git a/libassuan-2.4.3.local.patch b/patches/libassuan-2.4.3.local.patch
index 8e0265b0..8e0265b0 100644
--- a/libassuan-2.4.3.local.patch
+++ b/patches/libassuan-2.4.3.local.patch
diff --git a/libelf-0.8.13.local.patch b/patches/libelf-0.8.13.local.patch
index 73d60e90..73d60e90 100644
--- a/libelf-0.8.13.local.patch
+++ b/patches/libelf-0.8.13.local.patch
diff --git a/libevent-2.0.22-stable.local.patch b/patches/libevent-2.0.22-stable.local.patch
index f75fe90b..f75fe90b 100644
--- a/libevent-2.0.22-stable.local.patch
+++ b/patches/libevent-2.0.22-stable.local.patch
diff --git a/libfetch-2.33.local.patch b/patches/libfetch-2.33.local.patch
index 8d0bbcf8..8d0bbcf8 100644
--- a/libfetch-2.33.local.patch
+++ b/patches/libfetch-2.33.local.patch
diff --git a/libffi-3.2.1.local.patch b/patches/libffi-3.2.1.local.patch
index d5c7fbdc..d5c7fbdc 100644
--- a/libffi-3.2.1.local.patch
+++ b/patches/libffi-3.2.1.local.patch
diff --git a/libgcrypt-1.7.3.local.patch b/patches/libgcrypt-1.7.3.local.patch
index ff81df03..ff81df03 100644
--- a/libgcrypt-1.7.3.local.patch
+++ b/patches/libgcrypt-1.7.3.local.patch
diff --git a/libgpg-error-1.24.local.patch b/patches/libgpg-error-1.24.local.patch
index 208e47a1..208e47a1 100644
--- a/libgpg-error-1.24.local.patch
+++ b/patches/libgpg-error-1.24.local.patch
diff --git a/libksba-1.3.5.local.patch b/patches/libksba-1.3.5.local.patch
index 9c9420b0..9c9420b0 100644
--- a/libksba-1.3.5.local.patch
+++ b/patches/libksba-1.3.5.local.patch
diff --git a/libressl-2.2.6.local.patch b/patches/libressl-2.2.6.local.patch
index 759cfecd..759cfecd 100644
--- a/libressl-2.2.6.local.patch
+++ b/patches/libressl-2.2.6.local.patch
diff --git a/lua-5.3.3.local.patch b/patches/lua-5.3.3.local.patch
index e4a035d1..e4a035d1 100644
--- a/lua-5.3.3.local.patch
+++ b/patches/lua-5.3.3.local.patch
diff --git a/mc-4.8.17.local.patch b/patches/mc-4.8.17.local.patch
index 05c2ac50..05c2ac50 100644
--- a/mc-4.8.17.local.patch
+++ b/patches/mc-4.8.17.local.patch
diff --git a/nc110.local.patch b/patches/nc110.local.patch
index fcf63536..fcf63536 100644
--- a/nc110.local.patch
+++ b/patches/nc110.local.patch
diff --git a/ncurses-6.0.local.patch b/patches/ncurses-6.0.local.patch
index 6b86c27b..6b86c27b 100644
--- a/ncurses-6.0.local.patch
+++ b/patches/ncurses-6.0.local.patch
diff --git a/p7zip.local.patch b/patches/p7zip.local.patch
index e9233672..e9233672 100644
--- a/p7zip.local.patch
+++ b/patches/p7zip.local.patch
diff --git a/pacman-5.0.1.local.patch b/patches/pacman-5.0.1.local.patch
index 7df4cd24..7df4cd24 100644
--- a/pacman-5.0.1.local.patch
+++ b/patches/pacman-5.0.1.local.patch
diff --git a/pkg-cron.git.local.patch b/patches/pkg-cron.git.local.patch
index 4d6bc53e..4d6bc53e 100644
--- a/pkg-cron.git.local.patch
+++ b/patches/pkg-cron.git.local.patch
diff --git a/tcsh-6.19.00.local.patch b/patches/tcsh-6.19.00.local.patch
index 45674066..45674066 100644
--- a/tcsh-6.19.00.local.patch
+++ b/patches/tcsh-6.19.00.local.patch
diff --git a/tmux-2.2.local.patch b/patches/tmux-2.2.local.patch
index 3fdec0a7..3fdec0a7 100644
--- a/tmux-2.2.local.patch
+++ b/patches/tmux-2.2.local.patch
diff --git a/unzip60.local.patch b/patches/unzip60.local.patch
index 1b5006e6..1b5006e6 100644
--- a/unzip60.local.patch
+++ b/patches/unzip60.local.patch
diff --git a/vim-7.4.1952.local.patch b/patches/vim-7.4.1952.local.patch
index 178e0fc5..178e0fc5 100644
--- a/vim-7.4.1952.local.patch
+++ b/patches/vim-7.4.1952.local.patch
diff --git a/weechat-1.6.local.patch b/patches/weechat-1.6.local.patch
index 7f642469..c25f36ca 100644
--- a/weechat-1.6.local.patch
+++ b/patches/weechat-1.6.local.patch
@@ -10,9 +10,8 @@ diff -ru weechat-1.6.orig/config.sub weechat-1.6/config.sub
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-diff -ru weechat-1.6.orig/configure weechat-1.6/configure
---- weechat-1.6.orig/configure 2016-10-19 20:51:02.366252372 +0200
-+++ weechat-1.6/configure 2016-10-19 20:46:26.802252372 +0200
+--- weechat-1.6/configure.orig 2016-11-15 19:19:45.531918300 +0100
++++ weechat-1.6/configure 2016-11-15 19:23:22.078226900 +0100
@@ -23683,7 +23683,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
@@ -22,3 +21,25 @@ diff -ru weechat-1.6.orig/configure weechat-1.6/configure
fi
+@@ -23760,8 +23760,8 @@
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+- GNUTLS_CFLAGS=`pkg-config gnutls --cflags`
+- GNUTLS_LFLAGS=`pkg-config gnutls --libs`
++ GNUTLS_CFLAGS=`$PKG_CONFIG gnutls --cflags`
++ GNUTLS_LFLAGS=`$PKG_CONFIG gnutls --libs`
+
+
+ $as_echo "#define HAVE_GNUTLS 1" >>confdefs.h
+@@ -23972,8 +23972,8 @@
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+- ZLIB_CFLAGS=`pkg-config zlib --cflags`
+- ZLIB_LFLAGS=`pkg-config zlib --libs`
++ ZLIB_CFLAGS=`$PKG_CONFIG zlib --cflags`
++ ZLIB_LFLAGS=`$PKG_CONFIG zlib --libs`
+
+
+ fi
diff --git a/zip30.local.patch b/patches/zip30.local.patch
index 0c37bcf9..0c37bcf9 100644
--- a/zip30.local.patch
+++ b/patches/zip30.local.patch
diff --git a/009.gcc.full.build b/scripts/gcc.full.build
index 66c77289..91247e8c 100644
--- a/009.gcc.full.build
+++ b/scripts/gcc.full.build
@@ -5,12 +5,12 @@
# Order: stage1, runtime, full, native
export MAKE="make LIBTOOL=slibtool";
-if [ "${3}" = runtime ]\
-|| [ "${3}" = libstdc++-v3 ]\
-|| [ "${3}" = full ]; then
+if [ "${2}" = runtime ]\
+|| [ "${2}" = libstdc++-v3 ]\
+|| [ "${2}" = full ]; then
set_build_dir cbb-gcc-${PKG_GCC_VERSION} cross;
cd ${PKG_BUILD_DIR};
- if [ "${3}" = runtime ]; then
+ if [ "${2}" = runtime ]; then
# GCC, compiler runtime.
if ! is_build_script_done build; then
make ${MAKEFLAGS} all-target-libgcc;
@@ -20,7 +20,7 @@ if [ "${3}" = runtime ]\
make ${MAKEFLAGS} install-target-libgcc;
set_build_script_done install finish;
fi;
- elif [ "${3}" = libstdc++-v3 ]; then
+ elif [ "${2}" = libstdc++-v3 ]; then
# GCC, libstdc++-v3.
if ! is_build_script_done build; then
make ${MAKEFLAGS} all-target-libstdc++-v3;
@@ -30,7 +30,7 @@ if [ "${3}" = runtime ]\
make ${MAKEFLAGS} install-target-libstdc++-v3;
set_build_script_done install finish;
fi;
- elif [ "${3}" = full ]; then
+ elif [ "${2}" = full ]; then
# GCC, everything else.
if ! is_build_script_done build; then
make ${MAKEFLAGS};
@@ -42,7 +42,7 @@ if [ "${3}" = runtime ]\
fi;
fi;
else
- if [ "${3}" = stage1 ]; then
+ if [ "${2}" = stage1 ]; then
# GCC, stage1.
if ! is_build_script_done fetch; then
fetch_git cbb-gcc-${PKG_GCC_VERSION} \
@@ -56,7 +56,7 @@ else
cbb_neutral_libiberty=no \
cbb_xgcc_for_specs=${WORKDIR}/${PKG_BUILD_DIR}/gcc/xgcc;
GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PKG_PREFIX}";
- elif [ "${3}" = native ]; then
+ elif [ "${2}" = native ]; then
# GCC, native.
set_build_dir cbb-gcc-${PKG_GCC_VERSION} native;
export cbb_ldflags_for_target=--sysroot=${PKG_PREFIX} \
@@ -77,12 +77,12 @@ else
done;
export CFLAGS CXXFLAGS CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CFLAGS_FOR_TARGET XGCC_FLAGS_FOR_TARGET CPPFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET LIBCFLAGS_FOR_TARGET;
if ! is_build_script_done configure; then
- if [ "${3}" = stage1 ]; then
+ if [ "${2}" = stage1 ]; then
insecure_mkdir ${PKG_PREFIX}/include;
[ \! -d ${PKG_PREFIX}/usr ] && \
ln -s -- . ${PKG_PREFIX}/usr;
_configure_args="--prefix=${PREFIX} --with-sysroot=${PKG_PREFIX}";
- elif [ "${3}" = native ]; then
+ elif [ "${2}" = native ]; then
insecure_mkdir ${PKG_PREFIX}/${TARGET};
if [ \! -d ${PKG_PREFIX}/${TARGET}/usr ]; then
ln -s -- . ${PKG_PREFIX}/${TARGET}/usr;
@@ -136,9 +136,9 @@ else
set_build_script_done clean -build;
fi;
if ! is_build_script_done build; then
- if [ "${3}" = stage1 ]; then
+ if [ "${2}" = stage1 ]; then
make ${MAKEFLAGS} all-gcc;
- elif [ "${3}" = native ]; then
+ elif [ "${2}" = native ]; then
make ${MAKEFLAGS} all-gcc;
make ${MAKEFLAGS} all-target-libgcc;
make ${MAKEFLAGS} all-target-libstdc++-v3;
@@ -147,14 +147,14 @@ else
set_build_script_done build -install;
fi;
if ! is_build_script_done install; then
- if [ "${3}" = stage1 ]; then
+ if [ "${2}" = stage1 ]; then
make ${MAKEFLAGS} install-gcc;
__="$(uname -s)";
if [ "${__#*CYGWIN*}" != "${__}" ]; then
ln -s -- ${PREFIX}/libexec/gcc/${TARGET}/${PKG_GCC_VERSION}/liblto_plugin.dll.a \
ln -s -- ${PREFIX}/libexec/gcc/${TARGET}/${PKG_GCC_VERSION}/liblto_plugin.so;
fi;
- elif [ "${3}" = native ]; then
+ elif [ "${2}" = native ]; then
make ${MAKEFLAGS} DESTDIR=${PKG_PREFIX} install;
fi;
set_build_script_done install finish;
diff --git a/scripts/gcc.libstdc++-v3.build b/scripts/gcc.libstdc++-v3.build
new file mode 120000
index 00000000..b809d40d
--- /dev/null
+++ b/scripts/gcc.libstdc++-v3.build
@@ -0,0 +1 @@
+gcc.full.build \ No newline at end of file
diff --git a/scripts/gcc.native.build b/scripts/gcc.native.build
new file mode 120000
index 00000000..b809d40d
--- /dev/null
+++ b/scripts/gcc.native.build
@@ -0,0 +1 @@
+gcc.full.build \ No newline at end of file
diff --git a/scripts/gcc.runtime.build b/scripts/gcc.runtime.build
new file mode 120000
index 00000000..b809d40d
--- /dev/null
+++ b/scripts/gcc.runtime.build
@@ -0,0 +1 @@
+gcc.full.build \ No newline at end of file
diff --git a/scripts/gcc.stage1.build b/scripts/gcc.stage1.build
new file mode 120000
index 00000000..b809d40d
--- /dev/null
+++ b/scripts/gcc.stage1.build
@@ -0,0 +1 @@
+gcc.full.build \ No newline at end of file
diff --git a/998.midipix_sh.build b/scripts/midipix_sh.build
index f6a9c22d..94b98d31 100644
--- a/998.midipix_sh.build
+++ b/scripts/midipix_sh.build
@@ -3,9 +3,8 @@
#
if ! is_build_script_done install; then
- (cd ${MIDIPIX_BUILD_PWD};
- tar -cpf - midipix_check.sh midipix.sh README \
- 'Create `Midipix mintty shell'\'' shortcut.vbs' |\
+ (cd ${MIDIPIX_BUILD_PWD}/etc;
+ tar -cpf - midipix_check.sh midipix.sh README midipix_shortcut.vbs |\
tar -C ${PREFIX} -xpf -);
chmod +x ${PREFIX}/midipix.sh;
set_build_script_done install finish;
diff --git a/007.musl.full.build b/scripts/musl.full.build
index 1c49c6ba..35d1de28 100644
--- a/007.musl.full.build
+++ b/scripts/musl.full.build
@@ -9,10 +9,10 @@ fetch_git lazy ${GITROOT}/lazy;
export lz_arch=${ARCH} lz_cflags_debug=-O2 lz_target=${TARGET};
-if [ "${3}" = no-complex ]; then
+if [ "${2}" = no-complex ]; then
# Musl: build (no-complex)
_install=install_no_complex;
- set_build_dir musl-${PKG_MUSL_VERSION}-${3} cross;
+ set_build_dir musl-${PKG_MUSL_VERSION}-${2} cross;
if ! is_build_script_done fetch; then
fetch http://www.musl-libc.org/releases/musl-${PKG_MUSL_VERSION}.tar.gz \
${PKG_MUSL_SHA256SUM};
@@ -26,11 +26,11 @@ if [ "${3}" = no-complex ]; then
set +o noglob; cp -R -- mmglue/* musl-${PKG_MUSL_VERSION}/; set -o noglob;
set_build_script_done extract -configure;
fi;
-elif [ "${3}" = native ]; then
+elif [ "${2}" = native ]; then
# Musl: build (full)
_install=install;
- set_build_dir musl-${PKG_MUSL_VERSION} "${3}";
-elif [ "${3}" = full ]; then
+ set_build_dir musl-${PKG_MUSL_VERSION} "${2}";
+elif [ "${2}" = full ]; then
# Musl: build (full)
_install=install;
set_build_dir musl-${PKG_MUSL_VERSION} cross;
@@ -60,7 +60,7 @@ fi;
if ! is_build_script_done build; then
./lazy -e ${_install} \
-x build;
- [ "${3}" = native ] && \
+ [ "${2}" = native ] && \
ln -sf -- ../lib/libc.so ${PKG_PREFIX}/bin/ldd;
set_build_script_done build finish;
fi;
diff --git a/scripts/musl.native.build b/scripts/musl.native.build
new file mode 120000
index 00000000..2ed15f0d
--- /dev/null
+++ b/scripts/musl.native.build
@@ -0,0 +1 @@
+musl.full.build \ No newline at end of file
diff --git a/scripts/musl.no-complex.build b/scripts/musl.no-complex.build
new file mode 120000
index 00000000..2ed15f0d
--- /dev/null
+++ b/scripts/musl.no-complex.build
@@ -0,0 +1 @@
+musl.full.build \ No newline at end of file
diff --git a/pkg.build b/scripts/pkg.build
index 888bc133..1a9746b3 100644
--- a/pkg.build
+++ b/scripts/pkg.build
@@ -2,25 +2,10 @@
# . ./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 ${1};
if [ ${PKG_DISABLED:-0} -eq 1 ]; then
exit 0;
-elif [ "${ARG_RESTART_SCRIPT_AT}" = diff ]; then
- printf "" > ${MIDIPIX_BUILD_PWD}/${PKG_SUBDIR}.local.patch.new;
- for __ in $(find ${PKG_SUBDIR} -name \*.orig); do
- if [ -e ${__%.orig} ]; then
- echo diff -Nru ${__} ${__%.orig};
- set +o errexit; diff -Nru ${__} ${__%.orig} \
- >> ${MIDIPIX_BUILD_PWD}/${PKG_SUBDIR}.local.patch.new; __=${?}; set -o errexit;
- if [ ${__} -ge 2 ]; then
- exit 1;
- fi;
- fi;
- done;
- ls -la ${MIDIPIX_BUILD_PWD}/${PKG_SUBDIR}.local.patch.new;
- exit 0;
-fi;
-if ! is_build_script_done fetch; then
+elif ! is_build_script_done fetch; then
if test_cmd pkg_${PKG_NAME}_fetch; then
pkg_${PKG_NAME}_fetch;
else
@@ -80,18 +65,18 @@ if [ -e ${PKG_SUBDIR}/configure -o \
find ${PKG_SUBDIR} -name config.sub \
-exec echo mv -- {} {}.orig \; \
-exec mv -- {} {}.orig \; \
- -exec echo install -m 0700 ${MIDIPIX_BUILD_PWD}/config.sub {} \; \
- -exec install -m 0700 ${MIDIPIX_BUILD_PWD}/config.sub {} \;;
+ -exec echo install -m 0700 ${MIDIPIX_BUILD_PWD}/etc/config.sub {} \; \
+ -exec install -m 0700 ${MIDIPIX_BUILD_PWD}/etc/config.sub {} \;;
if [ -e ${PKG_SUBDIR}/configure.ac -a \
! -e ${PKG_SUBDIR}/configure ]; then
if [ -x ${PKG_SUBDIR}/autogen.sh ]; then
for __ in ${PKG_SUBDIR}/build-aux ${PKG_SUBDIR}; do
if [ -e ${__} ]; then
echo install -m 0700 \
- ${MIDIPIX_BUILD_PWD}/config.sub \
+ ${MIDIPIX_BUILD_PWD}/etc/config.sub \
${__}/config.sub;
install -m 0700 \
- ${MIDIPIX_BUILD_PWD}/config.sub \
+ ${MIDIPIX_BUILD_PWD}/etc/config.sub \
${__}/config.sub;
break;
fi;
@@ -102,16 +87,16 @@ if [ -e ${PKG_SUBDIR}/configure -o \
fi;
fi;
for __ in ${PKG_BUILD_DIR} ${PKG_CONFIG_CACHE_EXTRA}; do
- echo cp -- ${MIDIPIX_BUILD_PWD}/config.cache ${__}/;
- cp -- ${MIDIPIX_BUILD_PWD}/config.cache ${__}/;
+ echo cp -- ${MIDIPIX_BUILD_PWD}/etc/config.cache ${__}/;
+ cp -- ${MIDIPIX_BUILD_PWD}/etc/config.cache ${__}/;
done;
set_build_script_done autoconf -patch;
fi;
if ! is_build_script_done patch; then
- for __patch_fname in \
- ${MIDIPIX_BUILD_PWD}/${PKG_SUBDIR}.local.patch \
- ${MIDIPIX_BUILD_PWD}/${PKG_SUBDIR}.local@${BUILD_HNAME}.patch \
- ${MIDIPIX_BUILD_PWD}/../${PKG_SUBDIR}.local.patch \
+ for __patch_fname in \
+ ${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR}.local.patch \
+ ${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR}.local@${BUILD_HNAME}.patch \
+ ${MIDIPIX_BUILD_PWD}/../${PKG_SUBDIR}.local.patch \
${MIDIPIX_BUILD_PWD}/../${PKG_SUBDIR}.local@${BUILD_HNAME}.patch; do
if [ -r "${__patch_fname}" ]; then
patch -b -d ${PKG_SUBDIR} -p1 < ${__patch_fname};
diff --git a/subr/build.subr b/subr/build.subr
new file mode 100644
index 00000000..98bd4555
--- /dev/null
+++ b/subr/build.subr
@@ -0,0 +1,140 @@
+#
+# . ./build.vars and set -o errexit -o noglob are assumed.
+# See warning at the top of build.vars.
+#
+
+check_cpuinfo() {
+ if [ -z "${BUILD_CPUS}" ] \
+ && [ -e /proc/cpuinfo ]; then
+ BUILD_CPUS=$(awk '/^processor/{cpus++} END{print cpus}' /proc/cpuinfo);
+ fi;
+};
+
+clear_env() {
+ for __ in $(export | sed -e 's/^export //' -e 's/=.*$//'); do
+ if ! match_list "${CLEAR_ENV_VARS_EXCEPT}" " " "${__}"; then
+ unset "${__}";
+ fi;
+ done;
+};
+
+check_paths() {
+ for __ in ${CHECK_PATH_VARS}; do
+ if [ -z "${___:=$(get_var_unsafe "${__}")}" ]; then
+ log_msg failexit "Error: variable \`${__}' is empty or unset.";
+ elif [ "${___#* *}" != "${___}" ]; then
+ log_msg failexit "Error: variable \`${__}' contains one or more whitespace characters.";
+ fi;
+ done;
+ for __ in ${CHECK_PREREQ_CMDS} $(eval echo ${CHECK_PREREQ_FILES_DYNAMIC}) ${CHECK_PREREQ_FILES}; do
+ if [ "${__#/}" != "${__}" ]; then
+ if [ ! -e "${__}" ]; then
+ log_msg fail "Error: missing prerequisite file \`${__}'.";
+ __exit=1;
+ fi;
+ else
+ if ! test_cmd "${__}"; then
+ log_msg fail "Error: missing prerequisite command \`${__}'.";
+ __exit=1;
+ fi;
+ fi;
+ done;
+ for __ in ${CHECK_PREREQ_PERL_MODULES}; do
+ if ! perl -M"${__}" -e "" 2>/dev/null; then
+ log_msg fail "Error: missing prerequisite Perl module \`${__}'.";
+ __exit=1;
+ fi;
+ done;
+ if [ ${__exit:-0} = 1 ]; then
+ exit 1;
+ elif [ -n "${__exit}" ]; then
+ unset __exit;
+ fi;
+};
+
+clean_prefix() {
+ if [ ${ARG_CLEAN:-0} -eq 1 ]; then
+ log_msg info "-c specified, cleaning prefix...";
+ for __ in ${CLEAR_PREFIX_DIRS}; do
+ if [ -e ${PREFIX}/${__} ]; then
+ secure_rm ${PREFIX}/${__};
+ fi;
+ done;
+ fi;
+};
+
+create_dirs() {
+ insecure_mkdir ${PREFIX} ${PREFIX_NATIVE} ${PREFIX_CROSS} ${PREFIX_TARGET}/lib ${DLCACHEDIR} ${WORKDIR};
+ for __ in ${PREFIX}/usr ${PREFIX_NATIVE}/usr; do
+ if [ ! -L "${__}" ]; then
+ secure_rm "${__}"; ln -sf -- . "${__}";
+ fi;
+ done;
+ insecure_mkdir ${PREFIX_MINIPIX}/bin;
+ for __ in lib libexec share; do
+ if [ ! -e ${PREFIX_MINIPIX}/${__} ]; then
+ ln -sf bin ${PREFIX_MINIPIX}/${__};
+ fi;
+ done;
+};
+
+fini_build_progress_file() {
+ if [ -f "${BUILD_STATUS_IN_PROGRESS_FNAME}" ]; then
+ secure_rm ${BUILD_STATUS_IN_PROGRESS_FNAME};
+ fi;
+};
+
+fini_build_vars() {
+ : $((BUILD_TIMES_SECS=$(command date +%s)-${BUILD_TIMES_SECS}));
+ : $((BUILD_TIMES_HOURS=${BUILD_TIMES_SECS}/3600));
+ : $((BUILD_TIMES_MINUTES=(${BUILD_TIMES_SECS}%3600)/60));
+ : $((BUILD_TIMES_SECS=(${BUILD_TIMES_SECS}%3600)%60));
+};
+
+init_build_log() {
+ if [ -e ${BUILD_LOG_FNAME} ]; then
+ mv -- ${BUILD_LOG_FNAME} ${BUILD_LOG_LAST_FNAME};
+ fi;
+};
+
+init_build_progress_file() {
+ touch ${BUILD_STATUS_IN_PROGRESS_FNAME};
+};
+
+init_build_vars() {
+ BUILD_DATE_START="$(date %Y-%m-%d-%H-%M-%S)";
+ BUILD_NFINI=${BUILD_NSKIP:=${BUILD_NFAIL:=${BUILD_NBUILT:=0}}};
+ BUILD_TIMES_SECS=$(command date +%s);
+};
+
+source_scripts() {
+ set -- ${BUILD_PACKAGE_LC%.*} ${BUILD_PACKAGE_LC#*.};
+ for SCRIPT_SOURCE in vars/${BUILD_PACKAGE_LC}.vars ${BUILD_SCRIPT_FNAME}; do
+ if [ -f ${MIDIPIX_BUILD_PWD}/${SCRIPT_SOURCE} ]; then
+ if [ ${ARG_DRYRUN:-0} -eq 1 ]; then
+ echo . ${MIDIPIX_BUILD_PWD}/${SCRIPT_SOURCE};
+ else
+ . ${MIDIPIX_BUILD_PWD}/${SCRIPT_SOURCE};
+ fi;
+ fi;
+ done;
+};
+
+source_vars() {
+ for __ in ${HOME}/midipix_build.vars ../midipix_build.vars ./vars/build.vars; do
+ [ -e ${__} ] && . ${__};
+ done;
+};
+
+subst_tgts() {
+ while [ ${#} -ge 1 ]; do
+ case "${1}" in
+ devroot)
+ echo ${DEVROOT_PACKAGES}; ;;
+ world) echo ${WORLD_PACKAGES}; ;;
+ *) echo ${1}; ;;
+ esac; shift;
+ done;
+};
+
+# vim:filetype=sh
diff --git a/subr/pkg.subr b/subr/pkg.subr
new file mode 100644
index 00000000..2e0e36ae
--- /dev/null
+++ b/subr/pkg.subr
@@ -0,0 +1,145 @@
+#
+# . ./build.vars and set -o errexit -o noglob are assumed.
+# See warning at the top of build.vars.
+#
+
+# N.B. URLs ($1) may contain `?' or '&' characters.
+fetch() {
+ _f_url="${1}"; _f_sha256sum_src="${2}";
+ _f_url_dst="${DLCACHEDIR}/$(basename "${_f_url}")";
+ if [ -e ${_f_url_dst}.fetched ]; then
+ unset _f_url _f_sha256sum_src _f_url_dst;
+ return 0;
+ else
+ wget ${WGET_ARGS} -c -O ${_f_url_dst} "${_f_url}";
+ fi;
+ if [ -n "${_f_sha256sum_src}" ]; then
+ set -- $(openssl dgst -sha256 ${_f_url_dst}); shift $((${#}-1));
+ if [ "${_f_sha256sum_dst:=${1}}" != "${_f_sha256sum_src}" ]; then
+ log_msg failexit "Error: hash mismatch for URL \`${_f_url}' (is: ${_f_sha256sum_dst}, should be: ${_f_sha256sum_src}.)";
+ fi;
+ fi;
+ touch ${_f_url_dst}.fetched;
+ unset _f_url _f_url_dst _f_sha256sum_src _f_sha256sum_dst;
+};
+
+fetch_git() {
+ _fg_subdir="${1}"; _fg_url="${2}"; _fg_branch="${3}";
+ if [ -e "${DLCACHEDIR}/${_fg_subdir}" ]; then
+ cd ${DLCACHEDIR}/${_fg_subdir} &&\
+ git pull origin ${_fg_branch:-main} && cd ${OLDPWD};
+ else
+ git clone ${_fg_url} ${DLCACHEDIR}/${_fg_subdir};
+ if [ -n "${_fg_branch}" -a \
+ \( -z "${_fg_branch#main}" \) -a \
+ \( -z "${_fg_branch#master}" \) ]; then
+ cd ${DLCACHEDIR}/${_fg_subdir} &&\
+ git checkout -b ${_fg_branch} && cd ${OLDPWD};
+ fi;
+ fi;
+ secure_rm ${_fg_subdir};
+ cp -pr ${DLCACHEDIR}/${_fg_subdir} .;
+};
+
+is_build_script_done() {
+ if match_list "${ARG_RESTART}" , ${BUILD_PACKAGE_LC}; then
+ if [ -n "${ARG_RESTART_AT}" ] \
+ && [ "${ARG_RESTART_AT}" != "${1}" ]; then
+ return 0; # Skip
+ else
+ return 1; # Build
+ fi;
+ elif [ -f ${WORKDIR}/.${2:-${BUILD_PACKAGE_LC}}.${1} ]; then
+ return 0; # Skip
+ else
+ return 1; # Build
+ fi;
+};
+
+log_env_vars() {
+ log_msg info "Variables for this ${1:-build}:"; shift;
+ while [ ${_lev_nvar:=0} -lt ${#} ]; do
+ _lev_arg="$(eval echo \${${_lev_nvar}})";
+ _lev_arg="${_lev_arg%%=*}";
+ if [ ${#_lev_arg} -gt ${_lev_arg_len_max:=0} ]; then
+ _lev_arg_len_max=${#_lev_arg};
+ fi; : $((_lev_nvar+=1));
+ done; unset _lev_nvar _lev_arg;
+ while [ ${#} -gt 0 ]; do
+ log_msg info "$(printf \
+ "%${_lev_arg_len_max}.${_lev_arg_len_max}s=%s" \
+ "${1%%=*}" "$(get_var_unsafe ${1#*=})")";
+ shift;
+ done; unset _lev_arg_len_max;
+};
+
+parse_with_pkg_name() {
+ PKG_NAME=${1}; shift;
+ _pwpn_pkg_name_uc=$(echo ${PKG_NAME} | tr a-z A-Z);
+ if [ -z "$(get_var_unsafe PKG_${_pwpn_pkg_name_uc}_URL)" ]; then
+ unset _pwpn_pkg_name_uc;
+ log_msg failexit "Error: package \`${PKG_NAME}' missing in build.vars.";
+ else
+ for _pwpn_vname in ${PKG_BUILD_VARS}; do
+ if [ -n "$(get_var_unsafe DEFAULT_${_pwpn_vname})" ]; then
+ export "PKG_${_pwpn_vname}=$(get_var_unsafe DEFAULT_${_pwpn_vname})";
+ fi;
+ if [ -n "$(get_var_unsafe ${BUILD_TARGET}_${_pwpn_vname})" ]; then
+ export "PKG_${_pwpn_vname}=$(get_var_unsafe ${BUILD_TARGET}_${_pwpn_vname})";
+ fi;
+ if [ "${BUILD}" = "debug" ] \
+ && [ -n "$(get_var_unsafe PKG_${_pwpn_pkg_name_uc}_${_pwpn_vname}_DEBUG)" ]; then
+ export "PKG_${_pwpn_vname}=$(get_var_unsafe PKG_${_pwpn_pkg_name_uc}_${_pwpn_vname}_DEBUG)";
+ elif [ "${BUILD}" = "release" ] \
+ && [ -n "$(get_var_unsafe PKG_${_pwpn_pkg_name_uc}_${_pwpn_vname}_RELEASE)" ]; then
+ export "PKG_${_pwpn_vname}=$(get_var_unsafe PKG_${_pwpn_pkg_name_uc}_${_pwpn_vname}_RELEASE)";
+ elif [ -n "$(get_var_unsafe PKG_${_pwpn_pkg_name_uc}_${_pwpn_vname})" ]; then
+ export "PKG_${_pwpn_vname}=$(get_var_unsafe PKG_${_pwpn_pkg_name_uc}_${_pwpn_vname})";
+ fi;
+ done; unset _pwpn_vname;
+ fi;
+ [ -z "${PKG_FNAME}" ] && PKG_FNAME=${PKG_URL##*/};
+ [ -z "${PKG_SUBDIR}" ] && PKG_SUBDIR=${PKG_FNAME%%.tar*};
+ [ -n "${PKG_ENV_VARS_EXTRA}" ] && set_env_vars_with_sep : "${PKG_ENV_VARS_EXTRA}";
+ for _pwpn_env_var in $(export); do
+ if [ "${_pwpn_env_var#PKG_}" != "${_pwpn_env_var}" ]; then
+ _pwpn_env_vars="${_pwpn_env_vars:+${_pwpn_env_vars} }${_pwpn_env_var%%=*}";
+ fi;
+ done;
+ if [ -n "${_pwpn_env_vars}" ]; then
+ log_env_vars "build" ${_pwpn_env_vars};
+ fi; unset _pwpn_pkg_name_uc _pwpn_env_var _pwpn_env_vars;
+};
+
+run_cmd_unsplit() {
+ _rcu_cmd=${1}; shift;
+ while [ ${#} -gt 0 ]; do
+ [ -n "${1}" ] &&\
+ _rcu_cmdline="${_rcu_cmdline:+${_rcu_cmdline}:}${1}";
+ shift;
+ done;
+ push_IFS :; ${_rcu_cmd} ${_rcu_cmdline}; _rcu_rc=$?; pop_IFS;
+ unset _rcu_cmd _rcu_cmdline; return ${_rcu_rc};
+};
+
+set_build_script_done() {
+ _sbsd_script_fname=${BUILD_PACKAGE_LC};
+ _sbsd_done_fname=${WORKDIR}/.${_sbsd_script_fname};
+ while [ $# -ge 1 ]; do
+ if [ "${1#-}" != "${1}" ]; then
+ secure_rm ${_sbsd_done_fname}.${1#-};
+ else
+ touch ${_sbsd_done_fname}.${1};
+ log_msg info "Finished build step ${1} of \`${_sbsd_script_fname}'.";
+ fi; shift;
+ done; unset _sbsd_script_fname _sbsd_done_fname;
+};
+
+set_env_vars_with_sep() {
+ _sevws_sep=${1}; shift; push_IFS ${_sevws_sep}; set -- ${1};
+ while [ ${#} -gt 0 ]; do
+ export "${1}"; shift;
+ done; unset _sevws_sep; pop_IFS;
+};
+
+# vim:filetype=sh
diff --git a/subr/rtl.subr b/subr/rtl.subr
new file mode 100644
index 00000000..5d1dd97a
--- /dev/null
+++ b/subr/rtl.subr
@@ -0,0 +1,102 @@
+#
+# . ./build.vars and set -o errexit -o noglob are assumed.
+# See warning at the top of build.vars.
+#
+
+date() { command date +"${1:-${TIMESTAMP_FMT}}"; };
+get_var_unsafe() { eval echo \${${1}}; };
+set_var_unsafe() { eval ${1}=\"${2}\"; };
+push_IFS() { _pI_IFS="${IFS}"; IFS="${1}"; };
+pop_IFS() { IFS="${_pI_IFS}"; unset _pI_IFS; };
+set_build_dir() { PKG_BUILD_DIR=${1}-${2}-${TARGET}; };
+split() { push_IFS "${1}"; set -- ${2}; pop_IFS; echo "${*}"; };
+test_cmd() { command -v "${1}" >/dev/null; };
+unsplit() { push_IFS "${1}"; shift; set -- "${@}"; echo "${*}"; pop_IFS; };
+
+get_vars_unsafe() {
+ while [ ${#} -gt 0 ]; do
+ _gvu_vval="$(eval echo \${${1}})";
+ [ -z "${_gvu_vval}" ] || _gvu_vval_="${_gvu_vval}";
+ shift;
+ done; echo "${_gvu_vval_}";
+ unset _gvu_vval _gvu_vval_;
+};
+
+log_msg() {
+ _lm_lvl=${1}; shift;
+ case ${_lm_lvl} in
+ failexit) printf "\033[0m\033[${LOG_MSG_FAIL_COLOUR}m"; ;;
+ fail) printf "\033[0m\033[${LOG_MSG_FAIL_COLOUR}m"; ;;
+ info) printf "\033[0m\033[${LOG_MSG_INFO_COLOUR}m"; ;;
+ succ) printf "\033[0m\033[${LOG_MSG_SUCC_COLOUR}m"; ;;
+ warn) printf "\033[0m\033[${LOG_MSG_WARN_COLOUR}m"; ;;
+ esac;
+ if [ $# -gt 1 ]; then
+ printf "==> %s %s %s\033[0m\n" "$(date "${TIMESTAMP_FMT}")" "${1}" "$*";
+ else
+ printf "==> %s %s\033[0m\n" "$(date "${TIMESTAMP_FMT}")" "${1}";
+ fi; [ ${_lm_lvl} = failexit ] && exit 1 || unset _lm_lvl;
+};
+
+insecure_mkdir() {
+ while [ ${#} -gt 0 ]; do
+ if [ -z "${1}" ]; then
+ return 1;
+ elif [ ! -e "${1}" ]; then
+ [ "${ARG_VERBOSE:-0}" -eq 1 ] &&\
+ log_msg warn "Making directory \`${1}'.";
+ mkdir -p -- "${1}";
+ fi; shift;
+ done;
+};
+
+match_list() {
+ _ml_cmp="${3}"; push_IFS "${2}"; set -- ${1}; pop_IFS;
+ while [ ${#} -gt 0 ]; do
+ if [ "${1}" = "${_ml_cmp}" ]; then
+ unset _ml_cmp; return 0;
+ fi; shift;
+ done; unset _ml_cmp; return 1;
+};
+
+secure_cd() {
+ if [ \( -z "${1}" \) -o \( ! -e "${1}" \) ]; then
+ return 1;
+ else
+ (cd "${1}"; [ "${PWD#${PREFIX_ROOT}}" = "${PWD}" ] &&\
+ return 1 || return 0);
+ if [ ${?} -eq 0 ]; then
+ [ "${ARG_VERBOSE:-0}" -eq 1 ] &&\
+ log_msg warn "Changing working directory to \`${1}'.";
+ cd -- "${1}";
+ else
+ log_msg failexit "secure_cd() called with pathname \`${1}' not below \${PREFIX_ROOT} (${PREFIX_ROOT}). This is a bug.";
+ fi;
+ fi;
+};
+
+secure_rm() {
+ while [ ${#} -gt 0 ]; do
+ if [ -z "${1}" ]; then
+ return 1;
+ elif [ -e "${1}" ]; then
+ if [ -d "${1}" ]; then
+ _sr_pname_check="${1}";
+ else
+ _sr_pname_check="$(dirname "${1}")";
+ fi;
+ (cd "${_sr_pname_check}"; [ "${PWD#${PREFIX_ROOT}}" = "${PWD}" ] &&\
+ return 1 || return 0);
+ if [ ${?} -eq 0 ]; then
+ unset _sr_pname_check;
+ [ "${ARG_VERBOSE:-0}" -eq 1 ] &&\
+ log_msg warn "Removing directory or file \`${1}'.";
+ rm -rf -- "${1}";
+ else
+ log_msg failexit "secure_rm() called with pathname \`${1}' not below \${PREFIX_ROOT} (${PREFIX_ROOT}). This is a bug.";
+ fi;
+ fi; shift;
+ done;
+};
+
+# vim:filetype=sh
diff --git a/subr/strip.subr b/subr/strip.subr
new file mode 100644
index 00000000..c4e17a3e
--- /dev/null
+++ b/subr/strip.subr
@@ -0,0 +1,19 @@
+#
+# . ./build.vars and set -o errexit -o noglob are assumed.
+#
+
+do_strip() {
+ if [ ${BUILD_SCRIPT_RC:-0} -eq 0 ]\
+ && [ "${BUILD}" = release ]; then
+ for __ in $(find ${PREFIX_NATIVE}/bin -perm -0100 \( -type f -or -type l \)); do
+ if objdump -sj .debug_info >/dev/null 2>&1; then
+ if [ ${ARG_VERBOSE:-0} -eq 1 ]; then
+ echo ${PKG_TARGET}-strip ${__};
+ fi;
+ set +o errexit; ${PKG_TARGET}-strip ${__}; set -o errexit;
+ fi;
+ done;
+ fi;
+};
+
+# vim:filetype=sh
diff --git a/subr/tarballs.subr b/subr/tarballs.subr
new file mode 100644
index 00000000..7bde6642
--- /dev/null
+++ b/subr/tarballs.subr
@@ -0,0 +1,108 @@
+#
+# . ./build.vars and set -o errexit -o noglob are assumed.
+#
+
+do_tarball_dist() {
+ TARBALL_FNAME=${TARBALL_FNAME_PREFIX}${BUILD_USER}@${BUILD_HNAME}-${BUILD_DATE_START}.tar.${TARBALL_SUFFIX};
+ secure_rm ${PREFIX_BASENAME}/lib.bak;
+ insecure_mkdir ${PREFIX_BASENAME}/lib.bak;
+ tar -C ${PREFIX_BASENAME}/lib -cpf - . | tar -C ${PREFIX_BASENAME}/lib.bak -xpf -;
+ log_msg info "Backed up ${PREFIX_BASENAME}/lib.";
+ for __ in $(find native/lib \( -iname \*.so -or -iname \*.so.\* \) \
+ -type l); do
+ ___="native/lib/$(readlink -- ${__})";
+ if [ -f "${___}" ]; then
+ secure_rm ${__}; ln -f -- "${___}" "${__}";
+ fi;
+ done;
+ log_msg info "Converted symbolic links in ${PREFIX_BASENAME}/lib to hard links.";
+
+ tar -cpf - $(find . -maxdepth 2 -mindepth 1 -type d \
+ -not -path ./native -not -path ./native/lib.bak \
+ -not -path ./tmp -not -path ./tmp/\*) \
+ etc/midipix_shortcut.vbs etc/midipix.sh etc/README |\
+ ${TARBALL_COMPRESS_CMD} ${TARBALL_COMPRESS_ARGS} -c > ${TARBALL_FNAME};
+ log_msg info "Finished building binary distribution tarball.";
+ if [ -x "$(which gpg 2>/dev/null)" -a -n "${TARBALL_SIGN_GPG_KEY}" ] &&\
+ gpg --list-keys "${TARBALL_SIGN_GPG_KEY}" >/dev/null 2>&1; then
+ gpg --armor --passphrase-file /dev/null \
+ --local-user "${TARBALL_SIGN_GPG_KEY}" --sign ${TARBALL_FNAME};
+ log_msg info "Signed binary distribution tarball.";
+ fi;
+ secure_rm ${PREFIX_BASENAME}/lib; mv -- ${PREFIX_BASENAME}/lib.bak ${PREFIX_BASENAME}/lib;
+ log_msg info "Restored ${PREFIX_BASENAME}/lib.";
+};
+
+do_tarball_toolchain() {
+ TARBALL_CROSS_FNAME=${TARBALL_CROSS_FNAME_PREFIX}${BUILD_USER}@${BUILD_HNAME}-${BUILD_DATE_START}.tar.${TARBALL_SUFFIX};
+ tar -cpf - bin include lib lib64 libexec share ${PKG_TARGET} |\
+ ${TARBALL_COMPRESS_CMD} ${TARBALL_COMPRESS_ARGS} -c > ${TARBALL_CROSS_FNAME};
+ log_msg info "Finished building toolchain tarball.";
+ if [ -x "$(which gpg 2>/dev/null)" -a -n "${TARBALL_CROSS_SIGN_GPG_KEY}" ] &&\
+ gpg --list-keys "${TARBALL_CROSS_SIGN_GPG_KEY}" >/dev/null 2>&1; then
+ gpg --armor --passphrase-file /dev/null \
+ --local-user "${TARBALL_CROSS_SIGN_GPG_KEY}" --sign ${TARBALL_CROSS_FNAME};
+ log_msg info "Signed toolchain tarball.";
+ fi;
+};
+
+do_tarball_minipix() {
+ TARBALL_MINIPIX_FNAME=${TARBALL_MINIPIX_FNAME_PREFIX}${BUILD_USER}@${BUILD_HNAME}-${BUILD_DATE_START}.tar.${TARBALL_SUFFIX};
+ tar -cpf - minipix \
+ etc/midipix_shortcut.vbs etc/midipix.sh etc/README |\
+ ${TARBALL_COMPRESS_CMD} ${TARBALL_COMPRESS_ARGS} -c > ${TARBALL_MINIPIX_FNAME};
+ log_msg info "Finished building binary Minipix distribution tarball.";
+ if [ -x "$(which gpg 2>/dev/null)" -a -n "${TARBALL_MINIPIX_SIGN_GPG_KEY}" ] &&\
+ gpg --list-keys "${TARBALL_MINIPIX_SIGN_GPG_KEY}" >/dev/null 2>&1; then
+ gpg --armor --passphrase-file /dev/null \
+ --local-user "${TARBALL_MINIPIX_SIGN_GPG_KEY}" --sign ${TARBALL_MINIPIX_FNAME};
+ log_msg info "Signed binary Minipix distribution tarball.";
+ fi;
+};
+
+do_tarball_src() {
+ TARBALL_SRC_FNAME=${TARBALL_SRC_FNAME_PREFIX}${BUILD_USER}@${BUILD_HNAME}-${BUILD_DATE_START}.tar.${TARBALL_SUFFIX};
+ log_msg info "Building source tarball...";
+ tar -cpf - $(find tmp -mindepth 2 -maxdepth 2 \
+ -not -path tmp/.\* \
+ -not -path tmp/ntctty/.git \
+ -not -path tmp/psxscl/.git \
+ -not -path tmp/ptycon/.git) |\
+ ${TARBALL_COMPRESS_CMD} ${TARBALL_COMPRESS_ARGS} -c > ${TARBALL_SRC_FNAME};
+ log_msg info "Finished building source tarball.";
+ if [ -x "$(which gpg 2>/dev/null)" -a -n "${TARBALL_SRC_SIGN_GPG_KEY}" ] &&\
+ gpg --list-keys "${TARBALL_SRC_SIGN_GPG_KEY}" >/dev/null 2>&1; then
+ gpg --armor --passphrase-file /dev/null \
+ --local-user "${TARBALL_SRC_SIGN_GPG_KEY}" --sign ${TARBALL_SRC_FNAME};
+ log_msg info "Signed source tarball.";
+ fi;
+};
+
+do_tarballs() {
+ if [ ${BUILD_SCRIPT_RC:-0} -eq 0 ]\
+ && [ ${ARG_TARBALL:-0} -eq 1 ]; then
+ log_msg info "Building distribution tarballs...";
+ case ${TARBALL_SUFFIX} in
+ bz2) if [ -n "$(which pbzip2 2>/dev/null)" ]; then
+ TARBALL_COMPRESS_CMD="pbzip2";
+ else
+ TARBALL_COMPRESS_CMD="bzip2";
+ fi; ;;
+ gz) if [ -n "$(which pigz 2>/dev/null)" ]; then
+ TARBALL_COMPRESS_CMD="pigz";
+ else
+ TARBALL_COMPRESS_CMD="gzip";
+ fi; ;;
+ xz) TARBALL_COMPRESS_CMD="xz";
+ TARBALL_COMPRESS_ARGS="-T0"; ;;
+ *) log_msg failexit "Unknown tarball suffix \`.${TARBALL_SUFFIX}'.";
+ esac;
+ cd ${PREFIX}; PREFIX_BASENAME=${PREFIX_NATIVE##*/};
+ do_tarball_dist; do_tarball_toolchain; do_tarball_minipix;
+ if [ "${BUILD}" = "debug" ]; then
+ do_tarball_src;
+ fi;
+ fi;
+};
+
+# vim:filetype=sh
diff --git a/build.vars b/vars/build.vars
index 0be6fc20..f7dbf3ff 100644
--- a/build.vars
+++ b/vars/build.vars
@@ -16,21 +16,20 @@ else
log_msg failexit "Error: invalid architecture \`${ARCH}'.";
fi;
if [ "${BUILD:=debug}" = debug ]; then
- 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";
- PKG_LVL4_CFLAGS_CONFIGURE_DEFAULT="-g2 -O0";
+ HOST_TOOLCHAIN_CFLAGS_CONFIGURE_DEFAULT="-g2 -O0";
+ NATIVE_TOOLCHAIN_CFLAGS_CONFIGURE_DEFAULT="-g2 -O0";
+ RUNTIME_CFLAGS_CONFIGURE_DEFAULT="-g3 -O0";
+ LIB_PACKAGES_CFLAGS_CONFIGURE_DEFAULT="-g2 -O0";
+ LEAF_PACKAGES_CFLAGS_CONFIGURE_DEFAULT="-g2 -O0";
elif [ "${BUILD}" = release ]; then
- 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";
- PKG_LVL4_CFLAGS_CONFIGURE_DEFAULT="-g0 -O2";
+ HOST_TOOLCHAIN_CFLAGS_CONFIGURE_DEFAULT="-g0 -O2";
+ NATIVE_TOOLCHAIN_CFLAGS_CONFIGURE_DEFAULT="-g0 -O2";
+ RUNTIME_CFLAGS_CONFIGURE_DEFAULT="-g0 -O2";
+ LIB_PACKAGES_CFLAGS_CONFIGURE_DEFAULT="-g0 -O2";
+ LEAF_PACKAGES_CFLAGS_CONFIGURE_DEFAULT="-g0 -O2";
else
log_msg failexit "Error: unknown build type \`${BUILD}'.";
fi;
-
: ${PREFIX_ROOT:=${HOME}/midipix};
: ${PREFIX:=${PREFIX_ROOT}/${ARCH}/${BUILD}};
: ${PREFIX_MINIPIX:=${PREFIX}/minipix};
@@ -38,8 +37,6 @@ fi;
: ${PREFIX_CROSS:=${PREFIX}/${TARGET}};
: ${DLCACHEDIR:=${PREFIX_ROOT}/dlcache};
: ${WORKDIR:=${PREFIX}/tmp};
-export PATH="${PREFIX}/bin${PATH:+:${PATH}}";
-
: ${BUILD_LOG_FNAME:=${PREFIX}/build.log};
: ${BUILD_LOG_LAST_FNAME:=${PREFIX}/build.log.last};
: ${BUILD_STATUS_IN_PROGRESS_FNAME:=${PREFIX}/BUILD_IN_PROGRESS};
@@ -50,13 +47,15 @@ export PATH="${PREFIX}/bin${PATH:+:${PATH}}";
: ${CHECK_PATH_VARS:="PREFIX PREFIX_NATIVE PREFIX_CROSS DLCACHEDIR WORKDIR"};
: ${CLEAR_ENV_VARS_EXCEPT:="ARG_TARBALL ARG_VERBOSE HOME PATH SHELL TERM USER"};
: ${CLEAR_PREFIX_DIRS:="bin i686-nt32-midipix include lib lib64 libexec minipix native share tmp x86_64-nt64-midipix"};
+: ${DEFAULT_MAKEFLAGS_BUILD:=-j${BUILD_CPUS:=1}};
: ${GITROOT:=git://midipix.org};
: ${GITROOT_HEAD:=git://midipix.org};
-: ${LOG_ENV_VARS:="HOME PATH SHELL USER GITROOT ARCH BUILD PKG_LVL0_CFLAGS_CONFIGURE PKG_LVL1_CFLAGS_CONFIGURE PKG_LVL2_CFLAGS_CONFIGURE PKG_LVL3_CFLAGS_CONFIGURE PKG_LVL4_CFLAGS_CONFIGURE PREFIX PREFIX_NATIVE PREFIX_CROSS WORKDIR"};
+: ${LOG_ENV_VARS:="HOME PATH SHELL USER GITROOT ARCH BUILD HOST_TOOLCHAIN_CFLAGS_CONFIGURE NATIVE_TOOLCHAIN_CFLAGS_CONFIGURE RUNTIME_CFLAGS_CONFIGURE LIB_PACKAGES_CFLAGS_CONFIGURE LEAF_PACKAGES_CFLAGS_CONFIGURE PREFIX PREFIX_NATIVE PREFIX_CROSS WORKDIR"};
: ${LOG_MSG_FAIL_COLOUR:=91};
: ${LOG_MSG_INFO_COLOUR:=93};
: ${LOG_MSG_SUCC_COLOUR:=92};
: ${LOG_MSG_WARN_COLOUR:=96};
+: ${PKG_BUILD_VARS:="BUILD_CMDLINE BUILD_DIR BUILD_TYPE CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE CFLAGS_CONFIGURE_EXTRA CFLAGS_INSTALL_EXTRA CONFIG_CACHE_EXTRA CONFIGURE CONFIGURE_ARGS CONFIGURE_ARGS_EXTRA DISABLED ENV_VARS_EXTRA FNAME GIT_BRANCH INSTALL_FILES INSTALL_TARGET INSTALL_TARGET_EXTRA 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"};
: ${TARBALL_FNAME_PREFIX:=midipix-${ARCH}-${BUILD}.};
: ${TARBALL_SIGN_GPG_KEY:=};
: ${TARBALL_CROSS_FNAME_PREFIX:=midipix-${ARCH}-${BUILD}_cross.};
@@ -68,129 +67,118 @@ export PATH="${PREFIX}/bin${PATH:+:${PATH}}";
: ${TARBALL_SUFFIX:=xz};
: ${TIMESTAMP_FMT_STATUS_FILES:=%Y-%m-%d-%H-%M-%S};
: ${TIMESTAMP_FMT:="%Y/%m/%d %H:%M:%S"};
+: ${VALID_BUILD_LEVELS="fetch,extract,build_dir,autoconf,patch,configure,clean,build,install"};
: ${WGET_ARGS:="--no-check-certificate"};
+export PATH="${PREFIX}/bin${PATH:+:${PATH}}";
#
-# pkg.build
-#
-DEFAULT_MAKEFLAGS_BUILD=-j${BUILD_CPUS:=1};
-PKG_BUILD_VARS="BUILD_CMDLINE BUILD_DIR BUILD_TYPE CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE CFLAGS_CONFIGURE_EXTRA CFLAGS_INSTALL_EXTRA CONFIG_CACHE_EXTRA CONFIGURE CONFIGURE_ARGS CONFIGURE_ARGS_EXTRA DISABLED ENV_VARS_EXTRA FNAME GIT_BRANCH INSTALL_FILES INSTALL_TARGET INSTALL_TARGET_EXTRA 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_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}";
-PKG_LVL4_PREFIX="${PREFIX_NATIVE}";
-PKG_LVL4_CFLAGS_CONFIGURE="${PKG_LVL4_CFLAGS_CONFIGURE_DEFAULT:+${PKG_LVL4_CFLAGS_CONFIGURE_DEFAULT} }--sysroot=${PREFIX_NATIVE}";
-PKG_LVL4_LDFLAGS_CONFIGURE="--sysroot=${PREFIX_NATIVE}";
-PKG_LVL4_CONFIGURE_ARGS="-C --disable-nls --host=${TARGET} --prefix= --target=${TARGET}";
-PKG_LVL4_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}";
-
-#
-# Build level 0 (cross-toolchain)
+# Build target host_toolchain
#
-: ${PKG_BINUTILS_HOST_VERSION:=2.24.51};
-: ${PKG_BINUTILS_HOST_SHA256SUM:=250d3b2925c6b211fb16173b0b25bc091c58829fbcad3eb849645e0af52cf7fa};
-: ${PKG_BINUTILS_HOST_URL:=ftp://sourceware.org/pub/binutils/snapshots/binutils-${PKG_BINUTILS_HOST_VERSION}.tar.bz2};
-: ${PKG_BINUTILS_HOST_CONFIGURE_ARGS:=--disable-werror --prefix=${PREFIX} --target=${TARGET} --with-sysroot=${PREFIX_CROSS}};
-: ${PKG_BINUTILS_HOST_SLIBTOOL:=slibtool-static};
-: ${PKG_FILE_HOST_VERSION:=5.28};
-: ${PKG_FILE_HOST_SHA256SUM:=0ecb5e146b8655d1fa84159a847ee619fc102575205a0ff9c6cc60fc5ee2e012};
-: ${PKG_FILE_HOST_URL:=ftp://ftp.astron.com/pub/file/file-${PKG_FILE_HOST_VERSION}.tar.gz};
-: ${PKG_FILE_HOST_CONFIGURE_ARGS:="-C --prefix=${PREFIX}"};
+HOST_TOOLCHAIN_BUILD_TYPE="host";
+HOST_TOOLCHAIN_CFLAGS_CONFIGURE="${HOST_TOOLCHAIN_CFLAGS_CONFIGURE_DEFAULT}";
+HOST_TOOLCHAIN_CONFIGURE_ARGS="-C --disable-nls --host=${TARGET} --prefix= --target=${TARGET}";
+HOST_TOOLCHAIN_PACKAGES="slibtool_host perk_host binutils_host gcc.stage1 psxstub musl.no-complex gcc.runtime musl.full gcc.libstdc++-v3 gcc.full pkgconf_host file_host";
+HOST_TOOLCHAIN_PREFIX="${PREFIX_CROSS}";
+: ${PKG_SLIBTOOL_HOST_URL:=git://midipix.org/slibtool};
+: ${PKG_SLIBTOOL_HOST_URL_TYPE:=git};
+: ${PKG_SLIBTOOL_HOST_CONFIGURE_ARGS:=--host= --prefix=};
+: ${PKG_SLIBTOOL_HOST_MAKEFLAGS_INSTALL=DESTDIR=${PREFIX}};
: ${PKG_PERK_HOST_URL:=${GITROOT}/perk};
: ${PKG_PERK_HOST_URL_TYPE:=git};
: ${PKG_PERK_HOST_CONFIGURE_ARGS="--prefix=/usr"};
: ${PKG_PERK_HOST_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX}"};
+: ${PKG_BINUTILS_HOST_SHA256SUM:=250d3b2925c6b211fb16173b0b25bc091c58829fbcad3eb849645e0af52cf7fa};
+: ${PKG_BINUTILS_HOST_VERSION:=2.24.51};
+: ${PKG_BINUTILS_HOST_URL:=ftp://sourceware.org/pub/binutils/snapshots/binutils-${PKG_BINUTILS_HOST_VERSION}.tar.bz2};
+: ${PKG_BINUTILS_HOST_CONFIGURE_ARGS:=--disable-werror --prefix=${PREFIX} --target=${TARGET} --with-sysroot=${PREFIX_CROSS}};
+: ${PKG_BINUTILS_HOST_SLIBTOOL:=slibtool-static};
+: ${PKG_PSXSTUB_URL:=${GITROOT}/psxstub};
+: ${PKG_PSXSTUB_URL_TYPE:=git};
: ${PKG_PKGCONF_HOST_SHA256SUM:=7ec8b516e655e247f4ba976837cee808134785819ab8f538f652fe919cc6c09f};
: ${PKG_PKGCONF_HOST_VERSION:=0.9.12};
: ${PKG_PKGCONF_HOST_URL:=https://github.com/pkgconf/pkgconf/releases/download/pkgconf-${PKG_PKGCONF_HOST_VERSION}/pkgconf-${PKG_PKGCONF_HOST_VERSION}.tar.bz2};
: ${PKG_PKGCONF_HOST_CONFIGURE_ARGS:="-C --prefix=${PREFIX_NATIVE}"};
: ${PKG_PKGCONF_HOST_MAKEFLAGS_INSTALL_EXTRA:=prefix=${PREFIX}};
-: ${PKG_PSXSTUB_URL:=${GITROOT}/psxstub};
-: ${PKG_PSXSTUB_URL_TYPE:=git};
-: ${PKG_SLIBTOOL_HOST_URL:=git://midipix.org/slibtool};
-: ${PKG_SLIBTOOL_HOST_URL_TYPE:=git};
-: ${PKG_SLIBTOOL_HOST_CONFIGURE_ARGS:=--host= --prefix=};
-: ${PKG_SLIBTOOL_HOST_MAKEFLAGS_INSTALL=DESTDIR=${PREFIX}};
+: ${PKG_FILE_HOST_SHA256SUM:=0ecb5e146b8655d1fa84159a847ee619fc102575205a0ff9c6cc60fc5ee2e012};
+: ${PKG_FILE_HOST_VERSION:=5.28};
+: ${PKG_FILE_HOST_URL:=ftp://ftp.astron.com/pub/file/file-${PKG_FILE_HOST_VERSION}.tar.gz};
+: ${PKG_FILE_HOST_CONFIGURE_ARGS:="-C --prefix=${PREFIX}"};
#
-# Build level 1 (native toolchain)
+# Build target native_toolchain
#
-: ${PKG_BINUTILS_VERSION:=2.24.51};
-: ${PKG_BINUTILS_SHA256SUM:=250d3b2925c6b211fb16173b0b25bc091c58829fbcad3eb849645e0af52cf7fa};
-: ${PKG_BINUTILS_URL:=ftp://sourceware.org/pub/binutils/snapshots/binutils-${PKG_BINUTILS_VERSION}.tar.bz2};
-: ${PKG_BINUTILS_CONFIGURE_ARGS_EXTRA:=--with-libelf=${PREFIX_NATIVE} --with-gmp=${PREFIX_NATIVE} --with-mpc=${PREFIX_NATIVE} --with-mpfr=${PREFIX_NATIVE} --with-sysroot=/};
-: ${PKG_BINUTILS_SLIBTOOL:=slibtool-static};
-: ${PKG_GCC_VERSION:=4.6.4};
+NATIVE_TOOLCHAIN_CFLAGS_CONFIGURE="${NATIVE_TOOLCHAIN_CFLAGS_CONFIGURE_DEFAULT}";
+NATIVE_TOOLCHAIN_CONFIGURE_ARGS="--disable-nls --host=${TARGET} --prefix=/ --target=${TARGET}";
+NATIVE_TOOLCHAIN_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}";
+NATIVE_TOOLCHAIN_PACKAGES="slibtool perk pkgconf gmp mpfr mpc libelf binutils musl.native gcc.native";
+NATIVE_TOOLCHAIN_PREFIX="${PREFIX_NATIVE}";
+: ${PKG_SLIBTOOL_URL:=git://midipix.org/slibtool};
+: ${PKG_SLIBTOOL_URL_TYPE:=git};
+: ${PKG_SLIBTOOL_CONFIGURE_ARGS="--host=${TARGET} --prefix= --target=${TARGET}"};
+: ${PKG_PERK_URL:=${GITROOT}/perk};
+: ${PKG_PERK_URL_TYPE:=git};
+: ${PKG_PERK_CONFIGURE_ARGS="--prefix=/usr --target=${TARGET}"};
+: ${PKG_PKGCONF_SHA256SUM:=7ec8b516e655e247f4ba976837cee808134785819ab8f538f652fe919cc6c09f};
+: ${PKG_PKGCONF_VERSION:=0.9.12};
+: ${PKG_PKGCONF_URL:=https://github.com/pkgconf/pkgconf/releases/download/pkgconf-${PKG_PKGCONF_VERSION}/pkgconf-${PKG_PKGCONF_VERSION}.tar.bz2};
+: ${PKG_PKGCONF_INSTALL_FILES:=/=lib/pkgconfig};
: ${PKG_GMP_VERSION:=5.1.3};
: ${PKG_GMP_SHA256SUM:=752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160};
: ${PKG_GMP_URL:=https://gmplib.org/download/gmp/gmp-${PKG_GMP_VERSION}.tar.bz2};
: ${PKG_GMP_CONFIGURE_ARGS_EXTRA:=--disable-assembly};
: ${PKG_GMP_PREFIX_EXTRA:=${PREFIX_CROSS}};
-: ${PKG_LIBELF_VERSION:=0.8.13};
-: ${PKG_LIBELF_SHA256SUM:=591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d};
-: ${PKG_LIBELF_URL:=http://www.mr511.de/software/libelf-${PKG_LIBELF_VERSION}.tar.gz};
-: ${PKG_LIBELF_CONFIGURE_ARGS:="--disable-nls --host=${TARGET} --prefix=${PREFIX_NATIVE} --target=${TARGET}"};
-: ${PKG_LIBELF_MAKEFLAGS_INSTALL:=};
-: ${PKG_MPC_VERSION:=1.0.1};
-: ${PKG_MPC_SHA256SUM:=ed5a815cfea525dc778df0cb37468b9c1b554aaf30d9328b1431ca705b7400ff};
-: ${PKG_MPC_URL:=ftp://ftp.gnu.org/gnu/mpc/mpc-${PKG_MPC_VERSION}.tar.gz};
-: ${PKG_MPC_CONFIGURE_ARGS_EXTRA:=--with-gmp=${PREFIX_NATIVE} --with-mpfr=${PREFIX_NATIVE}};
-: ${PKG_MPC_PREFIX_EXTRA:=${PREFIX_CROSS}};
: ${PKG_MPFR_VERSION:=3.1.2};
: ${PKG_MPFR_SHA256SUM:=79c73f60af010a30a5c27a955a1d2d01ba095b72537dab0ecaad57f5a7bb1b6b};
: ${PKG_MPFR_URL:=ftp://ftp.gnu.org/gnu/mpfr/mpfr-${PKG_MPFR_VERSION}.tar.bz2};
: ${PKG_MPFR_CONFIGURE_ARGS_EXTRA:=--with-gmp=${PREFIX_NATIVE}};
: ${PKG_MPFR_PREFIX_EXTRA:=${PREFIX_CROSS}};
-: ${PKG_MUSL_VERSION:=1.1.12};
+: ${PKG_MPC_VERSION:=1.0.1};
+: ${PKG_MPC_SHA256SUM:=ed5a815cfea525dc778df0cb37468b9c1b554aaf30d9328b1431ca705b7400ff};
+: ${PKG_MPC_URL:=ftp://ftp.gnu.org/gnu/mpc/mpc-${PKG_MPC_VERSION}.tar.gz};
+: ${PKG_MPC_CONFIGURE_ARGS_EXTRA:=--with-gmp=${PREFIX_NATIVE} --with-mpfr=${PREFIX_NATIVE}};
+: ${PKG_MPC_PREFIX_EXTRA:=${PREFIX_CROSS}};
+: ${PKG_LIBELF_VERSION:=0.8.13};
+: ${PKG_LIBELF_SHA256SUM:=591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d};
+: ${PKG_LIBELF_URL:=http://www.mr511.de/software/libelf-${PKG_LIBELF_VERSION}.tar.gz};
+: ${PKG_LIBELF_CONFIGURE_ARGS:="--disable-nls --host=${TARGET} --prefix=${PREFIX_NATIVE} --target=${TARGET}"};
+: ${PKG_LIBELF_MAKEFLAGS_INSTALL:=};
+: ${PKG_BINUTILS_VERSION:=2.24.51};
+: ${PKG_BINUTILS_SHA256SUM:=250d3b2925c6b211fb16173b0b25bc091c58829fbcad3eb849645e0af52cf7fa};
+: ${PKG_BINUTILS_URL:=ftp://sourceware.org/pub/binutils/snapshots/binutils-${PKG_BINUTILS_VERSION}.tar.bz2};
+: ${PKG_BINUTILS_CONFIGURE_ARGS_EXTRA:=--with-libelf=${PREFIX_NATIVE} --with-gmp=${PREFIX_NATIVE} --with-mpc=${PREFIX_NATIVE} --with-mpfr=${PREFIX_NATIVE} --with-sysroot=/};
+: ${PKG_BINUTILS_SLIBTOOL:=slibtool-static};
: ${PKG_MUSL_SHA256SUM:=720b83c7e276b4b679c0bffe9509340d5f81fd601508e607e708177df0d31c0e};
+: ${PKG_MUSL_VERSION:=1.1.12};
: ${PKG_MUSL_URL:=http://www.musl-libc.org/releases/musl-${PKG_MUSL_VERSION}.tar.gz};
-: ${PKG_PERK_URL:=${GITROOT}/perk};
-: ${PKG_PERK_URL_TYPE:=git};
-: ${PKG_PERK_CONFIGURE_ARGS="--prefix=/usr --target=${TARGET}"};
-: ${PKG_PKGCONF_SHA256SUM:=7ec8b516e655e247f4ba976837cee808134785819ab8f538f652fe919cc6c09f};
-: ${PKG_PKGCONF_VERSION:=0.9.12};
-: ${PKG_PKGCONF_URL:=https://github.com/pkgconf/pkgconf/releases/download/pkgconf-${PKG_PKGCONF_VERSION}/pkgconf-${PKG_PKGCONF_VERSION}.tar.bz2};
-: ${PKG_PKGCONF_INSTALL_FILES:=/=lib/pkgconfig};
-: ${PKG_SLIBTOOL_URL:=git://midipix.org/slibtool};
-: ${PKG_SLIBTOOL_URL_TYPE:=git};
-: ${PKG_SLIBTOOL_CONFIGURE_ARGS="--host=${TARGET} --prefix= --target=${TARGET}"};
+: ${PKG_GCC_VERSION:=4.6.4};
#
-# Build level 2 (runtime components)
+# Build target runtime
#
+RUNTIME_BUILD_TYPE="cross";
+RUNTIME_CFLAGS_CONFIGURE="${RUNTIME_CFLAGS_CONFIGURE_DEFAULT}";
+RUNTIME_CONFIGURE_ARGS="--prefix= --strict --host=${TARGET}";
+RUNTIME_ENV_VARS_EXTRA="CFLAGS_PATH=-I${PREFIX_NATIVE}/include:LDFLAGS_PATH=-L${PREFIX_NATIVE}/lib";
+RUNTIME_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}";
+RUNTIME_PACKAGES="psxtypes pemagine dalist ntcon ntapi psxscl psxscl_strace ntctty ptycon";
+RUNTIME_PREFIX="${PREFIX_NATIVE}";
+RUNTIME_URL_TYPE="git";
+: ${PKG_PSXTYPES_URL:=${GITROOT}/psxtypes};
+: ${PKG_PSXTYPES_BUILD_DIR:=psxtypes};
+: ${PKG_PSXTYPES_MAKEFLAGS_BUILD:="DESTDIR=${PREFIX_NATIVE}"};
+: ${PKG_PEMAGINE_URL:=${GITROOT}/pemagine};
+: ${PKG_PEMAGINE_CFLAGS_CONFIGURE_EXTRA:=-O0};
+: ${PKG_PEMAGINE_INSTALL_TARGET_EXTRA:=install-lib};
+: ${PKG_PEMAGINE_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
: ${PKG_DALIST_URL:=${GITROOT}/dalist};
: ${PKG_DALIST_INSTALL_TARGET_EXTRA:=install-lib};
: ${PKG_DALIST_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
-: ${PKG_NTAPI_URL:=${GITROOT}/ntapi};
-: ${PKG_NTAPI_INSTALL_TARGET_EXTRA:=install-lib};
-: ${PKG_NTAPI_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
: ${PKG_NTCON_URL:=${GITROOT}/ntcon};
: ${PKG_NTCON_INSTALL_TARGET_EXTRA:=install-lib};
: ${PKG_NTCON_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
-: ${PKG_NTCTTY_URL:=${GITROOT_HEAD}/ntctty};
-: ${PKG_NTCTTY_CFLAGS_CONFIGURE_EXTRA:=-O0};
-: ${PKG_NTCTTY_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
-: ${PKG_PEMAGINE_URL:=${GITROOT}/pemagine};
-: ${PKG_PEMAGINE_CFLAGS_CONFIGURE_EXTRA:=-O0};
-: ${PKG_PEMAGINE_INSTALL_TARGET_EXTRA:=install-lib};
-: ${PKG_PEMAGINE_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
+: ${PKG_NTAPI_URL:=${GITROOT}/ntapi};
+: ${PKG_NTAPI_INSTALL_TARGET_EXTRA:=install-lib};
+: ${PKG_NTAPI_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
: ${PKG_PSXSCL_URL:=${GITROOT_HEAD}/psxscl};
: ${PKG_PSXSCL_CFLAGS_CONFIGURE_EXTRA:=-O0};
: ${PKG_PSXSCL_INSTALL_TARGET_EXTRA:=install-lib};
@@ -199,473 +187,487 @@ PKG_LVL4_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}";
: ${PKG_PSXSCL_STRACE_CFLAGS_CONFIGURE_EXTRA="-DPSX_INTERNAL_STRACE -O0"};
: ${PKG_PSXSCL_STRACE_INSTALL_FILES:="/=lib/psxscl_strace lib/libpsxscl.so=lib/psxscl_strace/"};
: ${PKG_PSXSCL_STRACE_NO_MAKE_INSTALL:=1};
-: ${PKG_PSXTYPES_URL:=${GITROOT}/psxtypes};
-: ${PKG_PSXTYPES_BUILD_DIR:=psxtypes};
-: ${PKG_PSXTYPES_MAKEFLAGS_BUILD:="DESTDIR=${PREFIX_NATIVE}"};
+: ${PKG_NTCTTY_URL:=${GITROOT_HEAD}/ntctty};
+: ${PKG_NTCTTY_CFLAGS_CONFIGURE_EXTRA:=-O0};
+: ${PKG_NTCTTY_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
: ${PKG_PTYCON_URL:=${GITROOT_HEAD}/ptycon};
: ${PKG_PTYCON_CFLAGS_CONFIGURE_EXTRA:=-O0};
: ${PKG_PTYCON_INSTALL_TARGET_EXTRA:=install-app install-lib};
: ${PKG_PTYCON_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
#
-# Build level 3, 300-349 (3rd party packages)
-# Dependencies
+# Build target lib_packages
#
-: ${PKG_EXPAT_VERSION:=2.2.0};
+LIB_PACKAGES_CFLAGS_CONFIGURE="${LIB_PACKAGES_CFLAGS_CONFIGURE_DEFAULT:+${LIB_PACKAGES_CFLAGS_CONFIGURE_DEFAULT} }--sysroot=${PREFIX_NATIVE}";
+LIB_PACKAGES_CONFIGURE_ARGS="-C --disable-nls --host=${TARGET} --prefix= --target=${TARGET}";
+LIB_PACKAGES_LDFLAGS_CONFIGURE="--sysroot=${PREFIX_NATIVE}";
+LIB_PACKAGES_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}";
+LIB_PACKAGES_PACKAGES="
+bzip2 curl expat libz libffi gdbm pcre glib gzip libarchive libpipeline libressl libevent libfetch
+libgpg_error libassuan libfirm libgcrypt libksba lua ncurses ncursestw ncursesw npth xz inputproto
+kbproto xcb_proto xproto libXau libpthread_stubs xcb xextproto xtrans libX11 libXext libICE
+libSM libXt libXmu renderproto Xrender libXpm libXaw libxkbfile";
+LIB_PACKAGES_PREFIX="${PREFIX_NATIVE}";
+: ${PKG_BZIP2_CFLAGS_BUILD_EXTRA:=${PACKAGES_CFLAGS_CONFIGURE}};
+: ${PKG_BZIP2_INSTALL_FILES:="@bzdiff=bin/bzcmp @bzgrep=bin/bzegrep @bzgrep=bin/bzfgrep @bzmore=bin/bzless libbz2.so.1.0=lib/ libbz2.so.1.0.6=lib/"};
+: ${PKG_BZIP2_MAKEFLAGS_BUILD_EXTRA:=-f Makefile-libbz2_so};
+: ${PKG_BZIP2_MAKEFLAGS_INSTALL_EXTRA:=PREFIX=${PREFIX_NATIVE}};
+: ${PKG_BZIP2_NO_CLEAN:=1};
+: ${PKG_BZIP2_SHA256SUM:=a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd};
+: ${PKG_BZIP2_VERSION:=1.0.6};
+: ${PKG_BZIP2_BUILD_DIR:=bzip2-${PKG_BZIP2_VERSION}};
+: ${PKG_BZIP2_URL:=http://www.bzip.org/1.0.6/bzip2-${PKG_BZIP2_VERSION}.tar.gz};
+: ${PKG_CURL_LDFLAGS_BUILD_EXTRA:=-L${PREFIX_NATIVE}/lib};
+: ${PKG_CURL_SHA256SUM:=ddc643ab9382e24bbe4747d43df189a0a6ce38fcb33df041b9cb0b3cd47ae98f};
+: ${PKG_CURL_VERSION:=7.47.1};
+: ${PKG_CURL_URL:=https://curl.haxx.se/download/curl-${PKG_CURL_VERSION}.tar.bz2};
: ${PKG_EXPAT_SHA256SUM:=d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff};
+: ${PKG_EXPAT_VERSION:=2.2.0};
: ${PKG_EXPAT_URL:=http://pkgs.fedoraproject.org/repo/pkgs/expat/expat-${PKG_EXPAT_VERSION}.tar.bz2/2f47841c829facb346eb6e3fab5212e2/expat-${PKG_EXPAT_VERSION}.tar.bz2};
-: ${PKG_GDBM_VERSION:=1.12};
+: ${PKG_LIBZ_CONFIGURE_ARGS:=--host=${TARGET} --prefix= --target=${TARGET}};
+: ${PKG_LIBZ_SHA256SUM:=33e65f22ec3d3e3f87436e53f82eb114054cd3aa373dc0480625dd92806fd9a0};
+: ${PKG_LIBZ_VERSION:=1.2.8.2015.05.20};
+: ${PKG_LIBZ_URL:=https://sortix.org/libz/release/libz-${PKG_LIBZ_VERSION}.tar.gz};
+: ${PKG_LIBFFI_CFLAGS_CONFIGURE_EXTRA:=-D_WIN64};
+: ${PKG_LIBFFI_CONFIGURE_ARGS_EXTRA:=--program-prefix=};
+: ${PKG_LIBFFI_SHA256SUM:=d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37};
+: ${PKG_LIBFFI_VERSION:=3.2.1};
+: ${PKG_LIBFFI_URL:=ftp://sourceware.org/pub/libffi/libffi-${PKG_LIBFFI_VERSION}.tar.gz};
: ${PKG_GDBM_SHA256SUM:=d97b2166ee867fd6ca5c022efee80702d6f30dd66af0e03ed092285c3af9bcea};
+: ${PKG_GDBM_VERSION:=1.12};
: ${PKG_GDBM_URL:=ftp://ftp.gnu.org/gnu/gdbm/gdbm-${PKG_GDBM_VERSION}.tar.gz};
-: ${PKG_GLIB_VERSION:=2.46.2};
-: ${PKG_GLIB_SHA256SUM:=5031722e37036719c1a09163cc6cf7c326e4c4f1f1e074b433c156862bd733db};
-: ${PKG_GLIB_URL:=http://ftp.gnome.org/pub/GNOME/sources/glib/${PKG_GLIB_VERSION%.[0-9]}/glib-${PKG_GLIB_VERSION}.tar.xz};
+: ${PKG_PCRE_SHA256SUM:=ccdf7e788769838f8285b3ee672ed573358202305ee361cfec7a4a4fb005bbc7};
+: ${PKG_PCRE_VERSION:=8.39};
+: ${PKG_PCRE_URL:=ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${PKG_PCRE_VERSION}.tar.gz};
: ${PKG_GLIB_CONFIGURE_ARGS_EXTRA:=--disable-libelf};
: ${PKG_GLIB_ENV_VARS_EXTRA:=LIBFFI_CFLAGS=-I${PREFIX_NATIVE}/lib/libffi-3.2.1/include:LIBFFI_LIBS=-L${PREFIX_NATIVE}/lib -lffi};
: ${PKG_GLIB_LDFLAGS_CONFIGURE_EXTRA:=-L${PREFIX_NATIVE}/lib};
: ${PKG_GLIB_MAKEFLAGS_BUILD_EXTRA:=V=99};
-: ${PKG_GZIP_VERSION:=1.2.4};
-: ${PKG_GZIP_SHA256SUM:=1ca41818a23c9c59ef1d5e1d00c0d5eaa2285d931c0fb059637d7c0cc02ad967};
-: ${PKG_GZIP_URL:=https://ftp.gnu.org/gnu/gzip/gzip-${PKG_GZIP_VERSION}.tar.gz};
-: ${PKG_GZIP_CONFIGURE_ARGS:=--host=${TARGET} --prefix= --target=${TARGET} --sysroot=${PREFIX_NATIVE}};
+: ${PKG_GLIB_SHA256SUM:=5031722e37036719c1a09163cc6cf7c326e4c4f1f1e074b433c156862bd733db};
+: ${PKG_GLIB_VERSION:=2.46.2};
+: ${PKG_GLIB_URL:=http://ftp.gnome.org/pub/GNOME/sources/glib/${PKG_GLIB_VERSION%.[0-9]}/glib-${PKG_GLIB_VERSION}.tar.xz};
: ${PKG_GZIP_CFLAGS_CONFIGURE_EXTRA:=-DNO_ASM -UASMV};
+: ${PKG_GZIP_CONFIGURE_ARGS:=--host=${TARGET} --prefix= --target=${TARGET} --sysroot=${PREFIX_NATIVE}};
: ${PKG_GZIP_MAKEFLAGS_BUILD_EXTRA:=OBJA= prefix=${PREFIX_NATIVE}};
: ${PKG_GZIP_MAKEFLAGS_INSTALL_EXTRA:=OBJA= prefix=${PREFIX_NATIVE}};
-: ${PKG_LIBARCHIVE_VERSION:=3.1.2};
-: ${PKG_LIBARCHIVE_SHA256SUM:=eb87eacd8fe49e8d90c8fdc189813023ccc319c5e752b01fb6ad0cc7b2c53d5e};
-: ${PKG_LIBARCHIVE_URL:=http://www.libarchive.org/downloads/libarchive-${PKG_LIBARCHIVE_VERSION}.tar.gz};
+: ${PKG_GZIP_SHA256SUM:=1ca41818a23c9c59ef1d5e1d00c0d5eaa2285d931c0fb059637d7c0cc02ad967};
+: ${PKG_GZIP_VERSION:=1.2.4};
+: ${PKG_GZIP_URL:=https://ftp.gnu.org/gnu/gzip/gzip-${PKG_GZIP_VERSION}.tar.gz};
: ${PKG_LIBARCHIVE_CONFIGURE_ARGS_EXTRA:=--without-xml2};
: ${PKG_LIBARCHIVE_LDFLAGS_CONFIGURE_EXTRA:=-L${PREFIX_NATIVE}/lib};
: ${PKG_LIBARCHIVE_MAKEFLAGS_INSTALL_EXTRA:="prefix=:DESTDIR=${PREFIX_NATIVE}:LIBTOOL=slibtool"};
-: ${PKG_LIBASSUAN_VERSION:=2.4.3};
-: ${PKG_LIBASSUAN_SHA256SUM:=22843a3bdb256f59be49842abf24da76700354293a066d82ade8134bb5aa2b71};
-: ${PKG_LIBASSUAN_URL:=https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-${PKG_LIBASSUAN_VERSION}.tar.bz2};
-: ${PKG_LIBEVENT_VERSION:=2.0.22-stable};
+: ${PKG_LIBARCHIVE_SHA256SUM:=eb87eacd8fe49e8d90c8fdc189813023ccc319c5e752b01fb6ad0cc7b2c53d5e};
+: ${PKG_LIBARCHIVE_VERSION:=3.1.2};
+: ${PKG_LIBARCHIVE_URL:=http://www.libarchive.org/downloads/libarchive-${PKG_LIBARCHIVE_VERSION}.tar.gz};
+: ${PKG_LIBPIPELINE_CFLAGS_BUILD_EXTRA:=-Dprogram_name=program_invocation_name};
+: ${PKG_LIBPIPELINE_SHA256SUM:=da46d7b20163aadb9db2faae483f734e9096a7550c84b94029abeab62dd1b9ee};
+: ${PKG_LIBPIPELINE_VERSION:=1.4.1};
+: ${PKG_LIBPIPELINE_URL:=http://download.savannah.gnu.org/releases/libpipeline/libpipeline-${PKG_LIBPIPELINE_VERSION}.tar.gz};
+: ${PKG_LIBRESSL_CFLAGS_CONFIGURE_EXTRA:=-D__MIDIPIX};
+: ${PKG_LIBRESSL_CONFIGURE_ARGS_EXTRA:=--disable-asm};
+: ${PKG_LIBRESSL_SHA256SUM:=1ee19994cffd047d40f63ba149115dba18a681b0cc923beec301bf424b58d64f};
+: ${PKG_LIBRESSL_VERSION:=2.2.6};
+: ${PKG_LIBRESSL_URL:=http://ftp.eu.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${PKG_LIBRESSL_VERSION}.tar.gz};
: ${PKG_LIBEVENT_SHA256SUM:=71c2c49f0adadacfdbe6332a372c38cf9c8b7895bb73dabeaa53cdcc1d4e1fa3};
+: ${PKG_LIBEVENT_VERSION:=2.0.22-stable};
: ${PKG_LIBEVENT_URL:=https://github.com/libevent/libevent/releases/download/release-${PKG_LIBEVENT_VERSION}/libevent-${PKG_LIBEVENT_VERSION}.tar.gz};
-: ${PKG_LIBFETCH_VERSION:=2.33};
-: ${PKG_LIBFETCH_SHA256SUM:=3226f53d5ad29cc27510db968ef0d37bf4554b8aaaeadcd56e23067213b08943};
-: ${PKG_LIBFETCH_URL:=https://sources.archlinux.org/other/libfetch/libfetch-${PKG_LIBFETCH_VERSION}.tar.gz};
-: ${PKG_LIBFETCH_BUILD_DIR:=libfetch-${PKG_LIBFETCH_VERSION}};
: ${PKG_LIBFETCH_ENV_VARS_EXTRA:=CFLAGS=--sysroot=${PREFIX_NATIVE}:LDFLAGS=--sysroot=${PREFIX_NATIVE}};
: ${PKG_LIBFETCH_MAKEFLAGS_BUILD_EXTRA:=E=echo Q= AR=${TARGET}-ar CC=${TARGET}-gcc LD=${TARGET}-gcc};
: ${PKG_LIBFETCH_MAKEFLAGS_INSTALL_EXTRA:=E=echo Q= prefix=};
-: ${PKG_LIBFFI_VERSION:=3.2.1};
-: ${PKG_LIBFFI_SHA256SUM:=d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37};
-: ${PKG_LIBFFI_URL:=ftp://sourceware.org/pub/libffi/libffi-${PKG_LIBFFI_VERSION}.tar.gz};
-: ${PKG_LIBFFI_CFLAGS_CONFIGURE_EXTRA:=-D_WIN64};
-: ${PKG_LIBFFI_CONFIGURE_ARGS_EXTRA:=--program-prefix=};
-: ${PKG_LIBFIRM_URL:=http://pp.info.uni-karlsruhe.de/git/libfirm.git};
-: ${PKG_LIBFIRM_URL_TYPE:=git};
+: ${PKG_LIBFETCH_SHA256SUM:=3226f53d5ad29cc27510db968ef0d37bf4554b8aaaeadcd56e23067213b08943};
+: ${PKG_LIBFETCH_VERSION:=2.33};
+: ${PKG_LIBFETCH_BUILD_DIR:=libfetch-${PKG_LIBFETCH_VERSION}};
+: ${PKG_LIBFETCH_URL:=https://sources.archlinux.org/other/libfetch/libfetch-${PKG_LIBFETCH_VERSION}.tar.gz};
+: ${PKG_LIBGPG_ERROR_SHA256SUM:=9268e1cc487de5e6e4460fca612a06e4f383072ac43ae90603e5e46783d3e540};
+: ${PKG_LIBGPG_ERROR_VERSION:=1.24};
+: ${PKG_LIBGPG_ERROR_URL:=https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-${PKG_LIBGPG_ERROR_VERSION}.tar.bz2};
+: ${PKG_LIBASSUAN_SHA256SUM:=22843a3bdb256f59be49842abf24da76700354293a066d82ade8134bb5aa2b71};
+: ${PKG_LIBASSUAN_VERSION:=2.4.3};
+: ${PKG_LIBASSUAN_URL:=https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-${PKG_LIBASSUAN_VERSION}.tar.bz2};
: ${PKG_LIBFIRM_BUILD_DIR:=cparser+libfirm/build/libfirm};
-: ${PKG_LIBFIRM_CONFIGURE:=bfirm/configure};
: ${PKG_LIBFIRM_CONFIGURE_ARGS:="--source-dir=../../../libfirm --prefix="};
+: ${PKG_LIBFIRM_CONFIGURE:=bfirm/configure};
: ${PKG_LIBFIRM_GIT_BRANCH:=master};
: ${PKG_LIBFIRM_MAKEFLAGS_INSTALL:=DESTDIR=../../sysroot};
: ${PKG_LIBFIRM_PREFIX_EXTRA:=${PREFIX_NATIVE}};
: ${PKG_LIBFIRM_SUBDIR:=libfirm};
-: ${PKG_LIBGCRYPT_VERSION:=1.7.3};
+: ${PKG_LIBFIRM_URL:=http://pp.info.uni-karlsruhe.de/git/libfirm.git};
+: ${PKG_LIBFIRM_URL_TYPE:=git};
+: ${PKG_LIBGCRYPT_CONFIGURE_ARGS_EXTRA:=--disable-asm --disable-padlock-support --disable-aesni-support --disable-pclmul-support --disable-sse41-support --disable-drng-support --disable-avx-support --disable-avx2-support gcry_cv_gcc_inline_asm_avx2=no gcry_cv_gcc_inline_asm_avx=no gcry_cv_gcc_inline_asm_bmi2=no gcry_cv_gcc_inline_asm_pclmul=no gcry_cv_gcc_inline_asm_sse41=no gcry_cv_gcc_inline_asm_ssse3=no --disable-amd64-as-feature-detection};
: ${PKG_LIBGCRYPT_SHA256SUM:=ddac6111077d0a1612247587be238c5294dd0ee4d76dc7ba783cc55fb0337071};
+: ${PKG_LIBGCRYPT_VERSION:=1.7.3};
: ${PKG_LIBGCRYPT_URL:=https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-${PKG_LIBGCRYPT_VERSION}.tar.bz2};
-: ${PKG_LIBGCRYPT_CONFIGURE_ARGS_EXTRA:=--disable-asm --disable-padlock-support --disable-aesni-support --disable-pclmul-support --disable-sse41-support --disable-drng-support --disable-avx-support --disable-avx2-support gcry_cv_gcc_inline_asm_avx2=no gcry_cv_gcc_inline_asm_avx=no gcry_cv_gcc_inline_asm_bmi2=no gcry_cv_gcc_inline_asm_pclmul=no gcry_cv_gcc_inline_asm_sse41=no gcry_cv_gcc_inline_asm_ssse3=no --disable-amd64-as-feature-detection};
-: ${PKG_LIBGPG_ERROR_VERSION:=1.24};
-: ${PKG_LIBGPG_ERROR_SHA256SUM:=9268e1cc487de5e6e4460fca612a06e4f383072ac43ae90603e5e46783d3e540};
-: ${PKG_LIBGPG_ERROR_URL:=https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-${PKG_LIBGPG_ERROR_VERSION}.tar.bz2};
-: ${PKG_LIBKSBA_VERSION:=1.3.5};
: ${PKG_LIBKSBA_SHA256SUM:=41444fd7a6ff73a79ad9728f985e71c9ba8cd3e5e53358e70d5f066d35c1a340};
+: ${PKG_LIBKSBA_VERSION:=1.3.5};
: ${PKG_LIBKSBA_URL:=https://www.gnupg.org/ftp/gcrypt/libksba/libksba-${PKG_LIBKSBA_VERSION}.tar.bz2};
-: ${PKG_LIBNBCOMPAT_URL:=http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/pkgtools/libnbcompat/files};
-: ${PKG_LIBNBCOMPAT_URL_TYPE:=wget_recursive};
-: ${PKG_LIBNBCOMPAT_BUILD_DIR:=libnbcompat};
-: ${PKG_LIBNBCOMPAT_SUBDIR:=libnbcompat};
-: ${PKG_LIBPIPELINE_VERSION:=1.4.1};
-: ${PKG_LIBPIPELINE_SHA256SUM:=da46d7b20163aadb9db2faae483f734e9096a7550c84b94029abeab62dd1b9ee};
-: ${PKG_LIBPIPELINE_URL:=http://download.savannah.gnu.org/releases/libpipeline/libpipeline-${PKG_LIBPIPELINE_VERSION}.tar.gz};
-: ${PKG_LIBPIPELINE_CFLAGS_BUILD_EXTRA:=-Dprogram_name=program_invocation_name};
-: ${PKG_LIBRESSL_VERSION:=2.2.6};
-: ${PKG_LIBRESSL_SHA256SUM:=1ee19994cffd047d40f63ba149115dba18a681b0cc923beec301bf424b58d64f};
-: ${PKG_LIBRESSL_URL:=http://ftp.eu.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${PKG_LIBRESSL_VERSION}.tar.gz};
-: ${PKG_LIBRESSL_CFLAGS_CONFIGURE_EXTRA:=-D__MIDIPIX};
-: ${PKG_LIBRESSL_CONFIGURE_ARGS_EXTRA:=--disable-asm};
-: ${PKG_LIBZ_VERSION:=1.2.8.2015.05.20};
-: ${PKG_LIBZ_SHA256SUM:=33e65f22ec3d3e3f87436e53f82eb114054cd3aa373dc0480625dd92806fd9a0};
-: ${PKG_LIBZ_URL:=https://sortix.org/libz/release/libz-${PKG_LIBZ_VERSION}.tar.gz};
-: ${PKG_LIBZ_CONFIGURE_ARGS:=--host=${TARGET} --prefix= --target=${TARGET}};
-: ${PKG_NCURSES_VERSION:=6.0};
+: ${PKG_LUA_BUILD_DIR=lua-5.3.3};
+: ${PKG_LUA_MAKEFLAGS_BUILD_EXTRA:="CC=${TARGET}-gcc midipix"};
+: ${PKG_LUA_MAKEFLAGS_INSTALL_EXTRA:=INSTALL_TOP=${PREFIX_NATIVE}};
+: ${PKG_LUA_SHA256SUM:=5113c06884f7de453ce57702abaac1d618307f33f6789fa870e87a59d772aca2};
+: ${PKG_LUA_VERSION:=5.3.3};
+: ${PKG_LUA_URL:=https://www.lua.org/ftp/lua-${PKG_LUA_VERSION}.tar.gz};
+: ${PKG_NCURSES_CONFIGURE_ARGS_EXTRA:="--enable-pc-files --program-prefix= --with-pkg-config-libdir=${PREFIX_NATIVE}/lib/pkgconfig --with-shared --without-manpages --without-progs --without-tests --disable-widec --without-pthread"};
: ${PKG_NCURSES_SHA256SUM:=f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260};
-: ${PKG_NCURSES_URL:=https://ftp.gnu.org/gnu/ncurses/ncurses-${PKG_NCURSES_VERSION}.tar.gz};
+: ${PKG_NCURSES_VERSION:=6.0};
: ${PKG_NCURSES_BUILD_DIR:=ncurses-${PKG_NCURSES_VERSION}-native-${TARGET}};
-: ${PKG_NCURSES_CONFIGURE_ARGS_EXTRA:="--enable-pc-files --program-prefix= --with-pkg-config-libdir=${PREFIX_NATIVE}/lib/pkgconfig --with-shared --without-manpages --without-progs --without-tests --disable-widec --without-pthread"};
-: ${PKG_NCURSESTW_VERSION:=6.0};
+: ${PKG_NCURSES_URL:=https://ftp.gnu.org/gnu/ncurses/ncurses-${PKG_NCURSES_VERSION}.tar.gz};
+: ${PKG_NCURSESTW_CONFIGURE_ARGS_EXTRA:="--enable-pc-files --program-prefix= --with-pkg-config-libdir=${PREFIX_NATIVE}/lib/pkgconfig --with-shared --without-manpages --without-progs --without-tests --disable-widec --with-pthread"};
: ${PKG_NCURSESTW_SHA256SUM:=f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260};
-: ${PKG_NCURSESTW_URL:=https://ftp.gnu.org/gnu/ncurses/ncurses-${PKG_NCURSESTW_VERSION}.tar.gz};
+: ${PKG_NCURSESTW_VERSION:=6.0};
: ${PKG_NCURSESTW_BUILD_DIR:=ncursestw-${PKG_NCURSESTW_VERSION}-native-${TARGET}};
-: ${PKG_NCURSESTW_CONFIGURE_ARGS_EXTRA:="--enable-pc-files --program-prefix= --with-pkg-config-libdir=${PREFIX_NATIVE}/lib/pkgconfig --with-shared --without-manpages --without-progs --without-tests --disable-widec --with-pthread"};
-: ${PKG_NCURSESW_VERSION:=6.0};
-: ${PKG_NCURSESW_SHA256SUM:=f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260};
-: ${PKG_NCURSESW_URL:=https://ftp.gnu.org/gnu/ncurses/ncurses-${PKG_NCURSESW_VERSION}.tar.gz};
-: ${PKG_NCURSESW_BUILD_DIR:=ncursesw-${PKG_NCURSESW_VERSION}-native-${TARGET}};
+: ${PKG_NCURSESTW_URL:=https://ftp.gnu.org/gnu/ncurses/ncurses-${PKG_NCURSESTW_VERSION}.tar.gz};
: ${PKG_NCURSESW_CONFIGURE_ARGS_EXTRA:="--enable-pc-files --program-prefix= --with-pkg-config-libdir=${PREFIX_NATIVE}/lib/pkgconfig --with-shared --with-manpages --with-progs --without-tests --enable-widec --without-pthread"};
: ${PKG_NCURSESW_INSTALL_FILES:=@ncursesw/ncurses.h=include/ncurses.h};
-: ${PKG_NPTH_VERSION:=1.2};
+: ${PKG_NCURSESW_SHA256SUM:=f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260};
+: ${PKG_NCURSESW_VERSION:=6.0};
+: ${PKG_NCURSESW_BUILD_DIR:=ncursesw-${PKG_NCURSESW_VERSION}-native-${TARGET}};
+: ${PKG_NCURSESW_URL:=https://ftp.gnu.org/gnu/ncurses/ncurses-${PKG_NCURSESW_VERSION}.tar.gz};
: ${PKG_NPTH_SHA256SUM:=6ddbdddb2cf49a4723f9d1ad6563c480d6760dcb63cb7726b8fc3bc2e1b6c08a};
+: ${PKG_NPTH_VERSION:=1.2};
: ${PKG_NPTH_URL:=https://www.gnupg.org/ftp/gcrypt/npth/npth-${PKG_NPTH_VERSION}.tar.bz2};
-: ${PKG_PCRE_VERSION:=8.39};
-: ${PKG_PCRE_SHA256SUM:=ccdf7e788769838f8285b3ee672ed573358202305ee361cfec7a4a4fb005bbc7};
-: ${PKG_PCRE_URL:=ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${PKG_PCRE_VERSION}.tar.gz};
-: ${PKG_XZ_VERSION:=5.2.2};
: ${PKG_XZ_SHA256SUM:=73df4d5d34f0468bd57d09f2d8af363e95ed6cc3a4a86129d2f2c366259902a2};
+: ${PKG_XZ_VERSION:=5.2.2};
: ${PKG_XZ_URL:=http://tukaani.org/xz/xz-${PKG_XZ_VERSION}.tar.gz};
-
-#
-# Build level 3, 350-399 (3rd party packages)
-# X11 dependencies
-#
-: ${PKG_INPUTPROTO_VERSION:=2.3.2};
: ${PKG_INPUTPROTO_SHA256SUM:=893a6af55733262058a27b38eeb1edc733669f01d404e8581b167f03c03ef31d};
+: ${PKG_INPUTPROTO_VERSION:=2.3.2};
: ${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_VERSION:=1.0.7};
: ${PKG_KBPROTO_URL:=https://www.x.org/releases/individual/proto/kbproto-${PKG_KBPROTO_VERSION}.tar.bz2};
-: ${PKG_RENDERPROTO_VERSION:=0.11.1};
-: ${PKG_RENDERPROTO_SHA256SUM:=06735a5b92b20759204e4751ecd6064a2ad8a6246bb65b3078b862a00def2537};
-: ${PKG_RENDERPROTO_URL:=https://www.x.org/releases/individual/proto/renderproto-${PKG_RENDERPROTO_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_PROTO_VERSION:=1.12};
+: ${PKG_XCB_PROTO_MAKEFLAGS_INSTALL:="DESTDIR=${PREFIX_NATIVE}/"};
: ${PKG_XCB_PROTO_SHA256SUM:=5922aba4c664ab7899a29d92ea91a87aa4c1fc7eb5ee550325c3216c480a4906};
+: ${PKG_XCB_PROTO_VERSION:=1.12};
: ${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_VERSION:=7.0.29};
: ${PKG_XPROTO_URL:=https://www.x.org/releases/individual/proto/xproto-${PKG_XPROTO_VERSION}.tar.bz2};
-: ${PKG_XRENDER_VERSION:=0.9.9};
-: ${PKG_XRENDER_SHA256SUM:=fc2fe57980a14092426dffcd1f2d9de0987b9d40adea663bd70d6342c0e9be1a};
-: ${PKG_XRENDER_URL:=https://www.x.org/releases/individual/lib/libXrender-${PKG_XRENDER_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_LIBICE_VERSION:=1.0.9};
-: ${PKG_LIBICE_SHA256SUM:=8f7032f2c1c64352b5423f6b48a8ebdc339cc63064af34d66a6c9aa79759e202};
-: ${PKG_LIBICE_URL:=https://www.x.org/releases/individual/lib/libICE-${PKG_LIBICE_VERSION}.tar.bz2};
-: ${PKG_LIBPTHREAD_STUBS_VERSION:=0.3};
+: ${PKG_LIBXAU_SHA256SUM:=fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2};
+: ${PKG_LIBXAU_VERSION:=1.0.8};
+: ${PKG_LIBXAU_URL:=https://www.x.org/releases/individual/lib/libXau-${PKG_LIBXAU_VERSION}.tar.bz2};
: ${PKG_LIBPTHREAD_STUBS_SHA256SUM:=35b6d54e3cc6f3ba28061da81af64b9a92b7b757319098172488a660e3d87299};
+: ${PKG_LIBPTHREAD_STUBS_VERSION:=0.3};
: ${PKG_LIBPTHREAD_STUBS_URL:=https://xcb.freedesktop.org/dist/libpthread-stubs-${PKG_LIBPTHREAD_STUBS_VERSION}.tar.bz2};
-: ${PKG_LIBSM_VERSION:=1.2.2};
-: ${PKG_LIBSM_SHA256SUM:=0baca8c9f5d934450a70896c4ad38d06475521255ca63b717a6510fdb6e287bd};
-: ${PKG_LIBSM_URL:=https://www.x.org/releases/individual/lib/libSM-${PKG_LIBSM_VERSION}.tar.bz2};
-: ${PKG_LIBX11_VERSION:=1.6.3};
+: ${PKG_XCB_CONFIGURE_ARGS_EXTRA:=--disable-randr};
+: ${PKG_XCB_SHA256SUM:=4adfb1b7c67e99bc9c2ccb110b2f175686576d2f792c8a71b9c8b19014057b5b};
+: ${PKG_XCB_VERSION:=1.12};
+: ${PKG_XCB_URL:=https://www.x.org/releases/individual/xcb/libxcb-${PKG_XCB_VERSION}.tar.bz2};
+: ${PKG_XEXTPROTO_SHA256SUM:=f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0};
+: ${PKG_XEXTPROTO_VERSION:=7.3.0};
+: ${PKG_XEXTPROTO_URL:=https://www.x.org/releases/individual/proto/xextproto-${PKG_XEXTPROTO_VERSION}.tar.bz2};
+: ${PKG_XTRANS_SHA256SUM:=16bc4646f105efd3d0dd105899ac19035d67acf50950ca8c70cf68772508272d};
+: ${PKG_XTRANS_VERSION:=1.1};
+: ${PKG_XTRANS_URL:=https://www.x.org/releases/individual/lib/xtrans-${PKG_XTRANS_VERSION}.tar.bz2};
: ${PKG_LIBX11_SHA256SUM:=cf31a7c39f2f52e8ebd0db95640384e63451f9b014eed2bb7f5de03e8adc8111};
+: ${PKG_LIBX11_VERSION:=1.6.3};
: ${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};
-: ${PKG_LIBXAW_VERSION:=1.0.13};
-: ${PKG_LIBXAW_SHA256SUM:=8ef8067312571292ccc2bbe94c41109dcf022ea5a4ec71656a83d8cce9edb0cd};
-: ${PKG_LIBXAW_URL:=https://www.x.org/releases/individual/lib/libXaw-${PKG_LIBXAW_VERSION}.tar.bz2};
-: ${PKG_LIBXEXT_VERSION:=1.3.3};
: ${PKG_LIBXEXT_SHA256SUM:=b518d4d332231f313371fdefac59e3776f4f0823bcb23cf7c7305bfb57b16e35};
+: ${PKG_LIBXEXT_VERSION:=1.3.3};
: ${PKG_LIBXEXT_URL:=https://www.x.org/releases/individual/lib/libXext-${PKG_LIBXEXT_VERSION}.tar.bz2};
-: ${PKG_LIBXKBFILE_VERSION:=1.0.9};
-: ${PKG_LIBXKBFILE_SHA256SUM:=51817e0530961975d9513b773960b4edd275f7d5c72293d5a151ed4f42aeb16a};
-: ${PKG_LIBXKBFILE_URL:=https://www.x.org/releases/individual/lib/libxkbfile-${PKG_LIBXKBFILE_VERSION}.tar.bz2};
-: ${PKG_LIBXMU_VERSION:=1.1.2};
+: ${PKG_LIBICE_SHA256SUM:=8f7032f2c1c64352b5423f6b48a8ebdc339cc63064af34d66a6c9aa79759e202};
+: ${PKG_LIBICE_VERSION:=1.0.9};
+: ${PKG_LIBICE_URL:=https://www.x.org/releases/individual/lib/libICE-${PKG_LIBICE_VERSION}.tar.bz2};
+: ${PKG_LIBSM_SHA256SUM:=0baca8c9f5d934450a70896c4ad38d06475521255ca63b717a6510fdb6e287bd};
+: ${PKG_LIBSM_VERSION:=1.2.2};
+: ${PKG_LIBSM_URL:=https://www.x.org/releases/individual/lib/libSM-${PKG_LIBSM_VERSION}.tar.bz2};
+: ${PKG_LIBXT_CFLAGS_CONFIGURE:=${PACKAGES_CFLAGS_CONFIGURE_DEFAULT}};
+: ${PKG_LIBXT_LDFLAGS_CONFIGURE:=-g};
+: ${PKG_LIBXT_SHA256SUM:=46eeb6be780211fdd98c5109286618f6707712235fdd19df4ce1e6954f349f1a};
+: ${PKG_LIBXT_VERSION:=1.1.5};
+: ${PKG_LIBXT_URL:=https://www.x.org/releases/individual/lib/libXt-${PKG_LIBXT_VERSION}.tar.bz2};
: ${PKG_LIBXMU_SHA256SUM:=756edc7c383254eef8b4e1b733c3bf1dc061b523c9f9833ac7058378b8349d0b};
+: ${PKG_LIBXMU_VERSION:=1.1.2};
: ${PKG_LIBXMU_URL:=https://www.x.org/releases/individual/lib/libXmu-${PKG_LIBXMU_VERSION}.tar.bz2};
-: ${PKG_LIBXPM_VERSION:=3.5.11};
+: ${PKG_RENDERPROTO_SHA256SUM:=06735a5b92b20759204e4751ecd6064a2ad8a6246bb65b3078b862a00def2537};
+: ${PKG_RENDERPROTO_VERSION:=0.11.1};
+: ${PKG_RENDERPROTO_URL:=https://www.x.org/releases/individual/proto/renderproto-${PKG_RENDERPROTO_VERSION}.tar.bz2};
+: ${PKG_XRENDER_SHA256SUM:=fc2fe57980a14092426dffcd1f2d9de0987b9d40adea663bd70d6342c0e9be1a};
+: ${PKG_XRENDER_VERSION:=0.9.9};
+: ${PKG_XRENDER_URL:=https://www.x.org/releases/individual/lib/libXrender-${PKG_XRENDER_VERSION}.tar.bz2};
: ${PKG_LIBXPM_SHA256SUM:=c5bdafa51d1ae30086fac01ab83be8d47fe117b238d3437f8e965434090e041c};
+: ${PKG_LIBXPM_VERSION:=3.5.11};
: ${PKG_LIBXPM_URL:=https://www.x.org/releases/individual/lib/libXpm-${PKG_LIBXPM_VERSION}.tar.bz2};
-: ${PKG_LIBXT_VERSION:=1.1.5};
-: ${PKG_LIBXT_SHA256SUM:=46eeb6be780211fdd98c5109286618f6707712235fdd19df4ce1e6954f349f1a};
-: ${PKG_LIBXT_URL:=https://www.x.org/releases/individual/lib/libXt-${PKG_LIBXT_VERSION}.tar.bz2};
-: ${PKG_LIBXT_CFLAGS_CONFIGURE:=${PKG_LVL3_CFLAGS_CONFIGURE_DEFAULT}};
-: ${PKG_LIBXT_LDFLAGS_CONFIGURE:=-g};
+: ${PKG_LIBXAW_SHA256SUM:=8ef8067312571292ccc2bbe94c41109dcf022ea5a4ec71656a83d8cce9edb0cd};
+: ${PKG_LIBXAW_VERSION:=1.0.13};
+: ${PKG_LIBXAW_URL:=https://www.x.org/releases/individual/lib/libXaw-${PKG_LIBXAW_VERSION}.tar.bz2};
+: ${PKG_LIBXKBFILE_SHA256SUM:=51817e0530961975d9513b773960b4edd275f7d5c72293d5a151ed4f42aeb16a};
+: ${PKG_LIBXKBFILE_VERSION:=1.0.9};
+: ${PKG_LIBXKBFILE_URL:=https://www.x.org/releases/individual/lib/libxkbfile-${PKG_LIBXKBFILE_VERSION}.tar.bz2};
#
-# Build level 4, 400-499 (3rd party packages)
-# Leaf packages
+# Build target leaf_packages
#
-: ${PKG_APK_TOOLS_VERSION:=2.6.6};
-: ${PKG_APK_TOOLS_SHA256SUM:=7e5e86c856ce236c7fd54605ee0b1dbf59920398d3b33f9f6ff0e5f98e6828af};
-: ${PKG_APK_TOOLS_URL:=http://git.alpinelinux.org/cgit/apk-tools/snapshot/apk-tools-${PKG_APK_TOOLS_VERSION}.tar.bz2};
+LEAF_PACKAGES_CFLAGS_CONFIGURE="${LEAF_PACKAGES_CFLAGS_CONFIGURE_DEFAULT:+${LEAF_PACKAGES_CFLAGS_CONFIGURE_DEFAULT} }--sysroot=${PREFIX_NATIVE}";
+LEAF_PACKAGES_CONFIGURE_ARGS="-C --disable-nls --host=${TARGET} --prefix= --target=${TARGET}";
+LEAF_PACKAGES_LDFLAGS_CONFIGURE="--sysroot=${PREFIX_NATIVE}";
+LEAF_PACKAGES_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}";
+LEAF_PACKAGES_PACKAGES="
+apk_tools bash coreutils cparser cron dash diffutils dos2unix ed file findutils gawk git gnupg grep
+hexcurse htop inetutils infounzip infozip irssi john less lynx make man_db mc mksh nano netcat openssh
+p7zip pacman patch perl procps_ng python3 rsync rxvt_unicode sed tar tcsh the_silver_searcher tmux
+util_linux vim weechat which whois xeyes xwd zsh";
+LEAF_PACKAGES_PREFIX="${PREFIX_NATIVE}";
+: ${PKG_APK_TOOLS_ENV_VARS_EXTRA:=CFLAGS=--sysroot=${PREFIX_NATIVE}:CROSS_COMPILE=${TARGET}-:LUAAPK=:VERBOSE=1:PREFIX=${PREFIX_NATIVE}};
: ${PKG_APK_TOOLS_MAKEFLAGS_INSTALL_EXTRA:=MANDIR=/share/man DOCDIR=/share/doc/apk};
+: ${PKG_APK_TOOLS_SHA256SUM:=7e5e86c856ce236c7fd54605ee0b1dbf59920398d3b33f9f6ff0e5f98e6828af};
+: ${PKG_APK_TOOLS_VERSION:=2.6.6};
: ${PKG_APK_TOOLS_BUILD_DIR:=apk-tools-${PKG_APK_TOOLS_VERSION}};
-: ${PKG_APK_TOOLS_ENV_VARS_EXTRA:=CFLAGS=--sysroot=${PREFIX_NATIVE}:CROSS_COMPILE=${TARGET}-:LUAAPK=:VERBOSE=1:PREFIX=${PREFIX_NATIVE}};
-: ${PKG_BZIP2_VERSION:=1.0.6};
-: ${PKG_BZIP2_SHA256SUM:=a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd};
-: ${PKG_BZIP2_URL:=http://www.bzip.org/1.0.6/bzip2-${PKG_BZIP2_VERSION}.tar.gz};
-: ${PKG_BZIP2_BUILD_DIR:=bzip2-${PKG_BZIP2_VERSION}};
-: ${PKG_BZIP2_CFLAGS_BUILD_EXTRA:=${PKG_LVL4_CFLAGS_CONFIGURE}};
-: ${PKG_BZIP2_INSTALL_FILES:="@bzdiff=bin/bzcmp @bzgrep=bin/bzegrep @bzgrep=bin/bzfgrep @bzmore=bin/bzless libbz2.so.1.0=lib/ libbz2.so.1.0.6=lib/"};
-: ${PKG_BZIP2_MAKEFLAGS_BUILD_EXTRA:=-f Makefile-libbz2_so};
-: ${PKG_BZIP2_MAKEFLAGS_INSTALL_EXTRA:=PREFIX=${PREFIX_NATIVE}};
-: ${PKG_BZIP2_NO_CLEAN:=1};
-: ${PKG_BASH_VERSION:=4.3};
-: ${PKG_BASH_SHA256SUM:=afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4};
-: ${PKG_BASH_URL:=https://ftp.gnu.org/gnu/bash/bash-${PKG_BASH_VERSION}.tar.gz};
+: ${PKG_APK_TOOLS_URL:=http://git.alpinelinux.org/cgit/apk-tools/snapshot/apk-tools-${PKG_APK_TOOLS_VERSION}.tar.bz2};
: ${PKG_BASH_CONFIGURE_ARGS_EXTRA:="--without-bash-malloc --with-curses"};
: ${PKG_BASH_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
-: ${PKG_COREUTILS_VERSION:=8.23};
+: ${PKG_BASH_SHA256SUM:=afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4};
+: ${PKG_BASH_VERSION:=4.3};
+: ${PKG_BASH_URL:=https://ftp.gnu.org/gnu/bash/bash-${PKG_BASH_VERSION}.tar.gz};
+: ${PKG_COREUTILS_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
: ${PKG_COREUTILS_SHA256SUM:=ec43ca5bcfc62242accb46b7f121f6b684ee21ecd7d075059bf650ff9e37b82d};
+: ${PKG_COREUTILS_VERSION:=8.23};
: ${PKG_COREUTILS_URL:=https://ftp.gnu.org/gnu/coreutils/coreutils-${PKG_COREUTILS_VERSION}.tar.xz};
-: ${PKG_COREUTILS_PREFIX_EXTRA:=${PREFIX_MINIPIX}};
-: ${PKG_CPARSER_URL:=http://pp.info.uni-karlsruhe.de/git/cparser.git};
-: ${PKG_CPARSER_URL_TYPE:=git};
: ${PKG_CPARSER_BUILD_DIR:=cparser+libfirm/build/cparser};
-: ${PKG_CPARSER_CONFIGURE:=bcparser/configure};
: ${PKG_CPARSER_CONFIGURE_ARGS:="--source-dir=../../../cparser --prefix="};
+: ${PKG_CPARSER_CONFIGURE:=bcparser/configure};
: ${PKG_CPARSER_GIT_BRANCH:=master};
: ${PKG_CPARSER_MAKEFLAGS_INSTALL:=DESTDIR=../../sysroot};
: ${PKG_CPARSER_PREFIX_EXTRA:=${PREFIX_NATIVE}};
: ${PKG_CPARSER_SUBDIR:=cparser};
-: ${PKG_CRON_URL:=git://anonscm.debian.org/pkg-cron/pkg-cron.git};
-: ${PKG_CRON_URL_TYPE:=git};
+: ${PKG_CPARSER_URL:=http://pp.info.uni-karlsruhe.de/git/cparser.git};
+: ${PKG_CPARSER_URL_TYPE:=git};
: ${PKG_CRON_BUILD_DIR:=pkg-cron.git};
-: ${PKG_CRON_ENV_VARS_EXTRA:="CC=${TARGET}-gcc:CFLAGS=${PKG_LVL4_CFLAGS_CONFIGURE} -D__GNU__"};
+: ${PKG_CRON_ENV_VARS_EXTRA:="CC=${TARGET}-gcc:CFLAGS=${PACKAGES_CFLAGS_CONFIGURE} -D__GNU__"};
: ${PKG_CRON_GIT_BRANCH:=debian/3.0pl1-128};
-: ${PKG_CURL_VERSION:=7.47.1};
-: ${PKG_CURL_SHA256SUM:=ddc643ab9382e24bbe4747d43df189a0a6ce38fcb33df041b9cb0b3cd47ae98f};
-: ${PKG_CURL_URL:=https://curl.haxx.se/download/curl-${PKG_CURL_VERSION}.tar.bz2};
-: ${PKG_CURL_LDFLAGS_BUILD_EXTRA:=-L${PREFIX_NATIVE}/lib};
-: ${PKG_DASH_VERSION:=0.5.8};
+: ${PKG_CRON_URL:=git://anonscm.debian.org/pkg-cron/pkg-cron.git};
+: ${PKG_CRON_URL_TYPE:=git};
+: ${PKG_DASH_INSTALL_FILES:=@dash=bin/sh};
: ${PKG_DASH_SHA256SUM:=c6db3a237747b02d20382a761397563d813b306c020ae28ce25a1c3915fac60f};
+: ${PKG_DASH_VERSION:=0.5.8};
: ${PKG_DASH_URL:=http://gondor.apana.org.au/~herbert/dash/files/dash-${PKG_DASH_VERSION}.tar.gz};
-: ${PKG_DASH_INSTALL_FILES:=@dash=bin/sh};
-: ${PKG_DOS2UNIX_VERSION:=7.3.4};
+: ${PKG_DIFFUTILS_SHA256SUM:=a25e89a8ab65fded1731e4186be1bb25cda967834b6df973599cdcd5abdfc19c};
+: ${PKG_DIFFUTILS_VERSION:=3.3};
+: ${PKG_DIFFUTILS_URL:=https://ftp.gnu.org/gnu/diffutils/diffutils-${PKG_DIFFUTILS_VERSION}.tar.xz};
+: ${PKG_DOS2UNIX_CFLAGS_BUILD_EXTRA:=${PACKAGES_CFLAGS_CONFIGURE}};
+: ${PKG_DOS2UNIX_INSTALL_FILES:="dos2unix=bin/ dos2unix=bin/ @dos2unix=bin/mac2unix @unix2dos=bin/unix2mac"};
: ${PKG_DOS2UNIX_SHA256SUM:=8ccda7bbc5a2f903dafd95900abb5bf5e77a769b572ef25150fde4056c5f30c5};
-: ${PKG_DOS2UNIX_URL=http://waterlan.home.xs4all.nl/dos2unix/dos2unix-${PKG_DOS2UNIX_VERSION}.tar.gz};
+: ${PKG_DOS2UNIX_VERSION:=7.3.4};
: ${PKG_DOS2UNIX_BUILD_DIR:=dos2unix-${PKG_DOS2UNIX_VERSION}};
-: ${PKG_DOS2UNIX_CFLAGS_BUILD_EXTRA:=${PKG_LVL4_CFLAGS_CONFIGURE}};
-: ${PKG_DOS2UNIX_INSTALL_FILES:="dos2unix=bin/ dos2unix=bin/ @dos2unix=bin/mac2unix @unix2dos=bin/unix2mac"};
-: ${PKG_ED_VERSION:=1.13};
+: ${PKG_DOS2UNIX_URL:=http://waterlan.home.xs4all.nl/dos2unix/dos2unix-${PKG_DOS2UNIX_VERSION}.tar.gz};
+: ${PKG_ED_CONFIGURE_ARGS="--prefix= CC=${TARGET}-gcc"};
: ${PKG_ED_SHA256SUM:=c7a98062d0597b41295f03275a2ea07342b18b86653e3b9a51746b9983db8d48};
+: ${PKG_ED_VERSION:=1.13};
: ${PKG_ED_URL:=http://ftp5.gwdg.de/pub/linux/slackware/slackware64-current/source/a/ed/ed-${PKG_ED_VERSION}.tar.xz};
-: ${PKG_ED_CONFIGURE_ARGS="--prefix= CC=${TARGET}-gcc"};
-: ${PKG_DIFFUTILS_VERSION:=3.3};
-: ${PKG_DIFFUTILS_SHA256SUM:=a25e89a8ab65fded1731e4186be1bb25cda967834b6df973599cdcd5abdfc19c};
-: ${PKG_DIFFUTILS_URL:=https://ftp.gnu.org/gnu/diffutils/diffutils-${PKG_DIFFUTILS_VERSION}.tar.xz};
-: ${PKG_FILE_VERSION:=5.28};
: ${PKG_FILE_SHA256SUM:=0ecb5e146b8655d1fa84159a847ee619fc102575205a0ff9c6cc60fc5ee2e012};
+: ${PKG_FILE_VERSION:=5.28};
: ${PKG_FILE_URL:=ftp://ftp.astron.com/pub/file/file-${PKG_FILE_VERSION}.tar.gz};
-: ${PKG_FINDUTILS_VERSION:=4.5.14};
+: ${PKG_FINDUTILS_CFLAGS_CONFIGURE_EXTRA:=-Dendpwent=setpwent};
: ${PKG_FINDUTILS_SHA256SUM:=0de3cf625a5c9f154eee3171e072515ffdde405244dd00502af617ac57b73ae2};
+: ${PKG_FINDUTILS_VERSION:=4.5.14};
: ${PKG_FINDUTILS_URL:=http://alpha.gnu.org/gnu/findutils/findutils-${PKG_FINDUTILS_VERSION}.tar.gz};
-: ${PKG_FINDUTILS_CFLAGS_CONFIGURE_EXTRA:=-Dendpwent=setpwent};
-: ${PKG_GAWK_VERSION:=4.1.3};
: ${PKG_GAWK_SHA256SUM:=e3cf55e91e31ea2845f8338bedd91e40671fc30e4d82ea147d220e687abda625};
+: ${PKG_GAWK_VERSION:=4.1.3};
: ${PKG_GAWK_URL:=https://ftp.gnu.org/gnu/gawk/gawk-${PKG_GAWK_VERSION}.tar.xz};
-: ${PKG_GIT_VERSION:=2.9.0};
-: ${PKG_GIT_SHA256SUM:=dad202c1a2dec4caa2a6cab5c1ca8dc486206fd4a39585613bece8aa8c9da93b};
-: ${PKG_GIT_URL:=https://github.com/git/git/archive/v${PKG_GIT_VERSION}.tar.gz};
: ${PKG_GIT_ENV_VARS_EXTRA:="ac_cv_fread_reads_directories=1:ac_cv_snprintf_returns_bogus=0"};
-: ${PKG_GIT_BUILD_DIR:=git-${PKG_GIT_VERSION}};
: ${PKG_GIT_MAKEFLAGS_INSTALL_EXTRA:=prefix=};
+: ${PKG_GIT_SHA256SUM:=dad202c1a2dec4caa2a6cab5c1ca8dc486206fd4a39585613bece8aa8c9da93b};
+: ${PKG_GIT_VERSION:=2.9.0};
+: ${PKG_GIT_BUILD_DIR:=git-${PKG_GIT_VERSION}};
: ${PKG_GIT_SUBDIR:=${PKG_GIT_BUILD_DIR}};
-: ${PKG_GNUPG_VERSION:=2.1.15};
+: ${PKG_GIT_URL:=https://github.com/git/git/archive/v${PKG_GIT_VERSION}.tar.gz};
+: ${PKG_GNUPG_CONFIGURE_ARGS_EXTRA:="--with-libgpg-error-prefix=${PREFIX_NATIVE} --with-libgcrypt-prefix=${PREFIX_NATIVE} --with-libassuan-prefix=${PREFIX_NATIVE} --with-ksba-prefix=${PREFIX_NATIVE} --with-npth-prefix=${PREFIX_NATIVE}"};
: ${PKG_GNUPG_SHA256SUM:=c28c1a208f1b8ad63bdb6b88d252f6734ff4d33de6b54e38494b11d49e00ffdd};
+: ${PKG_GNUPG_VERSION:=2.1.15};
: ${PKG_GNUPG_URL:=https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-${PKG_GNUPG_VERSION}.tar.bz2};
-: ${PKG_GNUPG_CONFIGURE_ARGS_EXTRA:="--with-libgpg-error-prefix=${PREFIX_NATIVE} --with-libgcrypt-prefix=${PREFIX_NATIVE} --with-libassuan-prefix=${PREFIX_NATIVE} --with-ksba-prefix=${PREFIX_NATIVE} --with-npth-prefix=${PREFIX_NATIVE}"};
-: ${PKG_GREP_VERSION:=2.22};
: ${PKG_GREP_SHA256SUM:=ca91d22f017bfcb503d4bc3b44295491c89a33a3df0c3d8b8614f2d3831836eb};
+: ${PKG_GREP_VERSION:=2.22};
: ${PKG_GREP_URL:=https://ftp.gnu.org/gnu/grep/grep-${PKG_GREP_VERSION}.tar.xz};
: ${PKG_HEXCURSE_CFLAGS_CONFIGURE_EXTRA:=-I${PREFIX_NATIVE}/include/ncursesw};
+: ${PKG_HEXCURSE_GIT_BRANCH:=master};
: ${PKG_HEXCURSE_URL:=https://github.com/LonnyGomes/hexcurse};
: ${PKG_HEXCURSE_URL_TYPE:=git};
-: ${PKG_HEXCURSE_GIT_BRANCH:=master};
-: ${PKG_HTOP_VERSION:=2.0.1};
+: ${PKG_HTOP_CONFIGURE_ARGS_EXTRA:=--program-prefix=};
: ${PKG_HTOP_SHA256SUM:=f410626dfaf6b70fdf73cd7bb33cae768869707028d847fed94a978e974f5666};
+: ${PKG_HTOP_VERSION:=2.0.1};
: ${PKG_HTOP_URL:=http://hisham.hm/htop/releases/${PKG_HTOP_VERSION}/htop-${PKG_HTOP_VERSION}.tar.gz};
-: ${PKG_HTOP_CONFIGURE_ARGS_EXTRA:=--program-prefix=};
-: ${PKG_INETUTILS_VERSION=1.9.4};
+: ${PKG_INETUTILS_CONFIGURE_ARGS_EXTRA:="--disable-ftpd --disable-inetd --disable-rexecd --disable-rlogind --disable-rshd --disable-syslogd --disable-talkd --disable-telnetd --disable-tftpd --disable-uucpd --disable-ftp --disable-dnsdomainname --disable-hostname --disable-ping --disable-ping6 --disable-rcp --disable-rexec --disable-rlogin --disable-rsh --disable-logger --disable-talk --enable-telnet --disable-tftp --disable-whois --disable-ifconfig --disable-traceroute"};
: ${PKG_INETUTILS_SHA256SUM:=849d96f136effdef69548a940e3e0ec0624fc0c81265296987986a0dd36ded37};
+: ${PKG_INETUTILS_VERSION=1.9.4};
: ${PKG_INETUTILS_URL:=https://ftp.gnu.org/gnu/inetutils/inetutils-${PKG_INETUTILS_VERSION}.tar.xz};
-: ${PKG_INETUTILS_CONFIGURE_ARGS_EXTRA:="--disable-ftpd --disable-inetd --disable-rexecd --disable-rlogind --disable-rshd --disable-syslogd --disable-talkd --disable-telnetd --disable-tftpd --disable-uucpd --disable-ftp --disable-dnsdomainname --disable-hostname --disable-ping --disable-ping6 --disable-rcp --disable-rexec --disable-rlogin --disable-rsh --disable-logger --disable-talk --enable-telnet --disable-tftp --disable-whois --disable-ifconfig --disable-traceroute"};
-: ${PKG_INFOUNZIP_VERSION:=60};
-: ${PKG_INFOUNZIP_SHA256SUM:=036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37};
-: ${PKG_INFOUNZIP_URL:=ftp://ftp.info-zip.org/pub/infozip/src/unzip${PKG_INFOUNZIP_VERSION}.tgz};
: ${PKG_INFOUNZIP_BUILD_DIR:=unzip60};
-: ${PKG_INFOUNZIP_SUBDIR:=${PKG_INFOUNZIP_BUILD_DIR}};
: ${PKG_INFOUNZIP_INSTALL_FILES:="funzip=bin/ unzip=bin/ unzipsfx=bin/"};
: ${PKG_INFOUNZIP_MAKEFLAGS_BUILD_EXTRA:="-f unix/Makefile midipix"};
: ${PKG_INFOUNZIP_NO_MAKE_INSTALL:=1};
-: ${PKG_INFOZIP_VERSION:=30};
-: ${PKG_INFOZIP_SHA256SUM:=f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369};
-: ${PKG_INFOZIP_URL:=ftp://ftp.info-zip.org/pub/infozip/src/zip${PKG_INFOZIP_VERSION}.tgz};
-: ${PKG_INFOZIP_BUILD_DIR:=zip${PKG_INFOZIP_VERSION}};
-: ${PKG_INFOZIP_SUBDIR:=${PKG_INFOZIP_BUILD_DIR}};
+: ${PKG_INFOUNZIP_SHA256SUM:=036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37};
+: ${PKG_INFOUNZIP_SUBDIR:=${PKG_INFOUNZIP_BUILD_DIR}};
+: ${PKG_INFOUNZIP_VERSION:=60};
+: ${PKG_INFOUNZIP_URL:=ftp://ftp.info-zip.org/pub/infozip/src/unzip${PKG_INFOUNZIP_VERSION}.tgz};
: ${PKG_INFOZIP_INSTALL_FILES:="zip=bin/ zipcloak=bin/ zipnote=bin/ zipsplit=bin/"};
: ${PKG_INFOZIP_MAKEFLAGS_BUILD_EXTRA:="-f unix/Makefile midipix"};
: ${PKG_INFOZIP_NO_MAKE_INSTALL:=1};
-: ${PKG_IRSSI_VERSION=0.8.18};
+: ${PKG_INFOZIP_SHA256SUM:=f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369};
+: ${PKG_INFOZIP_VERSION:=30};
+: ${PKG_INFOZIP_BUILD_DIR:=zip${PKG_INFOZIP_VERSION}};
+: ${PKG_INFOZIP_SUBDIR:=${PKG_INFOZIP_BUILD_DIR}};
+: ${PKG_INFOZIP_URL:=ftp://ftp.info-zip.org/pub/infozip/src/zip${PKG_INFOZIP_VERSION}.tgz};
+: ${PKG_IRSSI_CONFIGURE_ARGS_EXTRA:=--with-ncurses=${PREFIX_NATIVE}};
: ${PKG_IRSSI_SHA256SUM:=30043784815bb864b1bb66a82c1e659c325be0a18ddcf76fc101812e36c39c20};
+: ${PKG_IRSSI_VERSION=0.8.18};
: ${PKG_IRSSI_URL:=https://github.com/irssi/irssi/releases/download/0.8.18/irssi-0.8.18.tar.gz};
-: ${PKG_IRSSI_CONFIGURE_ARGS_EXTRA:=--with-ncurses=${PREFIX_NATIVE}};
-: ${PKG_JOHN_VERSION:=1.8.0};
-: ${PKG_JOHN_SHA256SUM:=952cf68369fb5b27f2d112ce7ca1eb16b975c85cbce8c658abb8bc5a20e1b266};
-: ${PKG_JOHN_URL:=http://www.openwall.com/john/j/john-${PKG_JOHN_VERSION}.tar.xz};
-: ${PKG_JOHN_BUILD_DIR:=john-${PKG_JOHN_VERSION}};
-if [ "${ARCH}" = "nt32" ]; then
-: ${PKG_JOHN_DISABLED:=1};
-fi;
+: ${PKG_JOHN_DISABLED:=$(if [ "${ARCH}" = "nt32" ]; then echo 1; fi)};
: ${PKG_JOHN_INSTALL_FILES:="run/john=bin/ run/mailer=bin/ run/makechr=bin/ run/relbench=bin/ run/unafs=bin/ run/unique=bin/ run/unshadow=bin/ /=share/john run/ascii.chr=share/john/ run/digits.chr=share/john/ run/john.conf=share/john/ run/lm_ascii.chr=share/john/ run/password.lst=share/john/"};
: ${PKG_JOHN_MAKEFLAGS_BUILD_EXTRA_DEBUG:="-C src midipix-x86-64"};
: ${PKG_JOHN_MAKEFLAGS_BUILD_EXTRA_RELEASE:="-C src midipix-x86-64 LDFLAGS_DEBUG=-s"};
: ${PKG_JOHN_MAKEFLAGS_INSTALL_EXTRA:="-C src"};
: ${PKG_JOHN_NO_MAKE_INSTALL:=1};
+: ${PKG_JOHN_SHA256SUM:=952cf68369fb5b27f2d112ce7ca1eb16b975c85cbce8c658abb8bc5a20e1b266};
+: ${PKG_JOHN_VERSION:=1.8.0};
+: ${PKG_JOHN_BUILD_DIR:=john-${PKG_JOHN_VERSION}};
: ${PKG_JOHN_SUBDIR:=john-${PKG_JOHN_VERSION}};
-: ${PKG_LESS_VERSION:=481};
+: ${PKG_JOHN_URL:=http://www.openwall.com/john/j/john-${PKG_JOHN_VERSION}.tar.xz};
: ${PKG_LESS_SHA256SUM:=3fa38f2cf5e9e040bb44fffaa6c76a84506e379e47f5a04686ab78102090dda5};
+: ${PKG_LESS_VERSION:=481};
: ${PKG_LESS_URL:=http://www.greenwoodsoftware.com/less/less-${PKG_LESS_VERSION}.tar.gz};
-: ${PKG_LUA_VERSION:=5.3.3};
-: ${PKG_LUA_SHA256SUM:=5113c06884f7de453ce57702abaac1d618307f33f6789fa870e87a59d772aca2};
-: ${PKG_LUA_URL:=https://www.lua.org/ftp/lua-${PKG_LUA_VERSION}.tar.gz};
-: ${PKG_LUA_BUILD_DIR=lua-5.3.3};
-: ${PKG_LUA_MAKEFLAGS_BUILD_EXTRA:="CC=${TARGET}-gcc midipix"};
-: ${PKG_LUA_MAKEFLAGS_INSTALL_EXTRA:=INSTALL_TOP=${PREFIX_NATIVE}};
-: ${PKG_LYNX_VERSION:=2.8.8rel.2};
-: ${PKG_LYNX_SHA256SUM:=6980e75cf0d677fd52c116e2e0dfd3884e360970c88c8356a114338500d5bee7};
-: ${PKG_LYNX_URL:=ftp://invisible-island.net/lynx/tarballs/lynx${PKG_LYNX_VERSION}.tar.bz2};
: ${PKG_LYNX_CFLAGS_CONFIGURE_EXTRA:="-I${PREFIX_NATIVE}/include -I${PREFIX_NATIVE}/include/ncursesw"};
-: ${PKG_LYNX_SUBDIR:=lynx2-8-8};
: ${PKG_LYNX_CONFIGURE_ARGS_EXTRA:=--program-prefix=};
-: ${PKG_MAN_DB_VERSION:=2.7.5};
-: ${PKG_MAN_DB_SHA256SUM:=5c4ddd0d67abbbcb408dc5804906f62210f7c863ef791198faca3d75681cca14};
-: ${PKG_MAN_DB_URL:=http://download.savannah.gnu.org/releases/man-db/man-db-${PKG_MAN_DB_VERSION}.tar.xz};
-: ${PKG_MAN_DB_SLIBTOOL:=slibtool-static};
-: ${PKG_MAKE_VERSION:=3.81};
+: ${PKG_LYNX_SHA256SUM:=6980e75cf0d677fd52c116e2e0dfd3884e360970c88c8356a114338500d5bee7};
+: ${PKG_LYNX_SUBDIR:=lynx2-8-8};
+: ${PKG_LYNX_VERSION:=2.8.8rel.2};
+: ${PKG_LYNX_URL:=ftp://invisible-island.net/lynx/tarballs/lynx${PKG_LYNX_VERSION}.tar.bz2};
: ${PKG_MAKE_SHA256SUM:=f3e69023771e23908f5d5592954d8271d3d6af09693cecfd29cee6fde8550dc8};
+: ${PKG_MAKE_VERSION:=3.81};
: ${PKG_MAKE_URL:=https://ftp.gnu.org/gnu/make/make-${PKG_MAKE_VERSION}.tar.bz2};
-: ${PKG_MC_VERSION:=4.8.17};
-: ${PKG_MC_SHA256SUM:=0447bdddc0baa81866e66f50f9a545d29d6eebb68b0ab46c98d8fddd2bf4e44d};
-: ${PKG_MC_URL:=http://ftp.midnight-commander.org/mc-${PKG_MC_VERSION}.tar.xz};
+: ${PKG_MAN_DB_SHA256SUM:=5c4ddd0d67abbbcb408dc5804906f62210f7c863ef791198faca3d75681cca14};
+: ${PKG_MAN_DB_SLIBTOOL:=slibtool-static};
+: ${PKG_MAN_DB_VERSION:=2.7.5};
+: ${PKG_MAN_DB_URL:=http://download.savannah.gnu.org/releases/man-db/man-db-${PKG_MAN_DB_VERSION}.tar.xz};
: ${PKG_MC_CFLAGS_CONFIGURE_EXTRA:="-I${PREFIX_NATIVE}/include -I${PREFIX_NATIVE}/include/ncursesw"};
: ${PKG_MC_CONFIGURE_ARGS_EXTRA:="--with-screen=ncurses --x-includes=${PREFIX_NATIVE}/include/X11 --x-libraries=${PREFIX_NATIVE}/lib"};
-: ${PKG_MKSH_VERSION:=R52c};
-: ${PKG_MKSH_SHA256SUM:=c6341acea725103f782c14e994d6e12dabaee69e60fe1bc78603a41258d43ba6};
-: ${PKG_MKSH_URL:=http://pub.allbsd.org/MirOS/dist/mir/mksh/mksh-${PKG_MKSH_VERSION}.tgz};
+: ${PKG_MC_SHA256SUM:=0447bdddc0baa81866e66f50f9a545d29d6eebb68b0ab46c98d8fddd2bf4e44d};
+: ${PKG_MC_VERSION:=4.8.17};
+: ${PKG_MC_URL:=http://ftp.midnight-commander.org/mc-${PKG_MC_VERSION}.tar.xz};
: ${PKG_MKSH_BUILD_CMDLINE:="sh Build.sh"};
: ${PKG_MKSH_BUILD_DIR:=mksh};
-: ${PKG_MKSH_ENV_VARS_EXTRA:="CC=${TARGET}-gcc:CFLAGS=${PKG_LVL4_CFLAGS_CONFIGURE:+${PKG_LVL4_CFLAGS_CONFIGURE} }-DMKSH_NOPROSPECTOFWORK"};
+: ${PKG_MKSH_ENV_VARS_EXTRA:="CC=${TARGET}-gcc:CFLAGS=${PACKAGES_CFLAGS_CONFIGURE:+${PACKAGES_CFLAGS_CONFIGURE} }-DMKSH_NOPROSPECTOFWORK"};
: ${PKG_MKSH_INSTALL_FILES:="mksh=bin/ /=share/doc/mksh/examples dot.mkshrc=share/doc/mksh/examples/ mksh.1=share/man/man1/"};
: ${PKG_MKSH_NO_MAKE_INSTALL:=1};
+: ${PKG_MKSH_SHA256SUM:=c6341acea725103f782c14e994d6e12dabaee69e60fe1bc78603a41258d43ba6};
: ${PKG_MKSH_SUBDIR:=${PKG_MKSH_BUILD_DIR}};
-: ${PKG_NANO_VERSION:=2.5.3};
+: ${PKG_MKSH_VERSION:=R52c};
+: ${PKG_MKSH_URL:=http://pub.allbsd.org/MirOS/dist/mir/mksh/mksh-${PKG_MKSH_VERSION}.tgz};
: ${PKG_NANO_SHA256SUM:=b2b060129b9feff2d4870d803a441178c96531de9aed144ec0b83bd63ccb12ee};
+: ${PKG_NANO_VERSION:=2.5.3};
: ${PKG_NANO_URL:=http://www.nano-editor.org/dist/v${PKG_NANO_VERSION%.[0-9]}/nano-${PKG_NANO_VERSION}.tar.gz};
-: ${PKG_NETCAT_VERSION:=110};
-: ${PKG_NETCAT_SHA256SUM:=5b3fda14e972d908896a605293f4634a72e2968278117410e12d8b3faf9a3976};
-: ${PKG_NETCAT_URL:=https://dl.packetstormsecurity.net/UNIX/netcat/nc110.tgz};
: ${PKG_NETCAT_BUILD_DIR:=nc110};
+: ${PKG_NETCAT_ENV_VARS_EXTRA:="CFLAGS_EXTRA=${PACKAGES_CFLAGS_CONFIGURE}:LDFLAGS=${PACKAGES_LDFLAGS_CONFIGURE}"};
+: ${PKG_NETCAT_INSTALL_FILES:=nc=bin/};
: ${PKG_NETCAT_MAKEFLAGS_BUILD_EXTRA_DEBUG:="midipix CC=${TARGET}-gcc"};
: ${PKG_NETCAT_MAKEFLAGS_BUILD_EXTRA_RELEASE:="midipix CC=${TARGET}-gcc LDFLAGS_DEBUG=-s"};
-: ${PKG_NETCAT_ENV_VARS_EXTRA:="CFLAGS_EXTRA=${PKG_LVL4_CFLAGS_CONFIGURE}:LDFLAGS=${PKG_LVL4_LDFLAGS_CONFIGURE}"};
-: ${PKG_NETCAT_INSTALL_FILES:=nc=bin/};
: ${PKG_NETCAT_NO_MAKE_INSTALL:=1};
-: ${PKG_NETCAT_SUBDIR:=${PKG_NETCAT_BUILD_DIR}};
+: ${PKG_NETCAT_SHA256SUM:=5b3fda14e972d908896a605293f4634a72e2968278117410e12d8b3faf9a3976};
: ${PKG_NETCAT_SUBDIR_CREATE:=1};
-: ${PKG_OPENSSH_VERSION:=7.1p2};
-: ${PKG_OPENSSH_SHA256SUM:=dd75f024dcf21e06a0d6421d582690bf987a1f6323e32ad6619392f3bfde6bbd};
-: ${PKG_OPENSSH_URL:=http://artfiles.org/openbsd/OpenSSH/portable/openssh-${PKG_OPENSSH_VERSION}.tar.gz};
+: ${PKG_NETCAT_SUBDIR:=${PKG_NETCAT_BUILD_DIR}};
+: ${PKG_NETCAT_VERSION:=110};
+: ${PKG_NETCAT_URL:=https://dl.packetstormsecurity.net/UNIX/netcat/nc110.tgz};
: ${PKG_OPENSSH_CONFIGURE_ARGS_EXTRA_DEBUG:=--disable-strip};
: ${PKG_OPENSSH_INSTALL_TARGET:=install-nokeys};
-: ${PKG_P7ZIP_URL:=https://github.com/lalbornoz/p7zip-midipix.git};
-: ${PKG_P7ZIP_URL_TYPE:=git};
+: ${PKG_OPENSSH_SHA256SUM:=dd75f024dcf21e06a0d6421d582690bf987a1f6323e32ad6619392f3bfde6bbd};
+: ${PKG_OPENSSH_VERSION:=7.1p2};
+: ${PKG_OPENSSH_URL:=http://artfiles.org/openbsd/OpenSSH/portable/openssh-${PKG_OPENSSH_VERSION}.tar.gz};
: ${PKG_P7ZIP_BUILD_DIR:=p7zip-midipix.git};
: ${PKG_P7ZIP_GIT_BRANCH:=master};
-: ${PKG_P7ZIP_NO_MAKE_INSTALL:=1};
: ${PKG_P7ZIP_INSTALL_FILES:="bin/7za=bin/"};
-: ${PKG_PACMAN_VERSION:=5.0.1};
+: ${PKG_P7ZIP_NO_MAKE_INSTALL:=1};
+: ${PKG_P7ZIP_URL:=https://github.com/lalbornoz/p7zip-midipix.git};
+: ${PKG_P7ZIP_URL_TYPE:=git};
+: ${PKG_PACMAN_CONFIGURE_ARGS_EXTRA:=--disable-doc};
: ${PKG_PACMAN_SHA256SUM:=84599e2ee2158134fd704f1cd681ea46e021165bed4df5f002aa1748caef9e7b};
+: ${PKG_PACMAN_VERSION:=5.0.1};
: ${PKG_PACMAN_URL:=https://projects.archlinux.org/pacman.git/snapshot/pacman-${PKG_PACMAN_VERSION}.tar.gz};
-: ${PKG_PACMAN_CONFIGURE_ARGS_EXTRA:=--disable-doc};
-: ${PKG_PATCH_VERSION:=2.7};
: ${PKG_PATCH_SHA256SUM:=59c29f56faa0a924827e6a60c6accd6e2900eae5c6aaa922268c717f06a62048};
+: ${PKG_PATCH_VERSION:=2.7};
: ${PKG_PATCH_URL:=https://ftp.gnu.org/gnu/patch/patch-${PKG_PATCH_VERSION}.tar.gz};
-: ${PKG_PERL_VERSION:=5.22.1};
-: ${PKG_PERL_SHA256SUM:=2b475d0849d54c4250e9cba4241b7b7291cffb45dfd083b677ca7b5d38118f27};
-: ${PKG_PERL_URL:=http://www.cpan.org/src/5.0/perl-${PKG_PERL_VERSION}.tar.gz};
: ${PKG_PERL_CONFIGURE_ARGS:="-A ccflags=-I${PREFIX_NATIVE}/include --sysroot=${PREFIX_NATIVE} --target=${TARGET}"};
: ${PKG_PERL_ENV_VARS_EXTRA:="TARGET=${TARGET}"};
: ${PKG_PERL_MAKEFLAGS_BUILD:=-j1};
-: ${PKG_PROCPS_NG_VERSION:=3.3.12};
-: ${PKG_PROCPS_NG_SHA256SUM:=b1036c109f271c7c50325b11a748236f8e58aa1dbafefb30c995ff1d05b4a1a8};
-: ${PKG_PROCPS_NG_URL:=https://gitlab.com/procps-ng/procps/repository/archive.tar.gz?ref=v${PKG_PROCPS_NG_VERSION}};
+: ${PKG_PERL_SHA256SUM:=2b475d0849d54c4250e9cba4241b7b7291cffb45dfd083b677ca7b5d38118f27};
+: ${PKG_PERL_VERSION:=5.22.1};
+: ${PKG_PERL_URL:=http://www.cpan.org/src/5.0/perl-${PKG_PERL_VERSION}.tar.gz};
: ${PKG_PROCPS_NG_CFLAGS_CONFIGURE_EXTRA:=-I${PREFIX_NATIVE}/include/ncursesw};
+: ${PKG_PROCPS_NG_SHA256SUM:=b1036c109f271c7c50325b11a748236f8e58aa1dbafefb30c995ff1d05b4a1a8};
+: ${PKG_PROCPS_NG_VERSION:=3.3.12};
: ${PKG_PROCPS_NG_SUBDIR:=procps-v${PKG_PROCPS_NG_VERSION}-e0784ddaed30d095bb1d9a8ad6b5a23d10a212c4};
-: ${PKG_PYTHON3_VERSION:=3.5.1};
-: ${PKG_PYTHON3_SHA256SUM:=687e067d9f391da645423c7eda8205bae9d35edc0c76ef5218dcbe4cc770d0d7};
-: ${PKG_PYTHON3_URL:=https://www.python.org/ftp/python/${PKG_PYTHON3_VERSION}/Python-${PKG_PYTHON3_VERSION}.tgz};
+: ${PKG_PROCPS_NG_URL:=https://gitlab.com/procps-ng/procps/repository/archive.tar.gz?ref=v${PKG_PROCPS_NG_VERSION}};
: ${PKG_PYTHON3_CONFIGURE_ARGS:="--build=x86_64 -C --enable-ipv6 --enable-shared --host=${TARGET} --prefix=${PREFIX_NATIVE} --without-ensurepip"};
: ${PKG_PYTHON3_ENV_VARS_EXTRA:="BLDSHARED=${TARGET}-gcc -shared -mout-implib --sysroot=${PREFIX_NATIVE}:CC=${TARGET}-gcc:CFLAGS=--sysroot=${PREFIX_NATIVE}:CPPFLAGS=--sysroot=${PREFIX_NATIVE}:LDFLAGS=-L${PREFIX_NATIVE}/lib"}:
: ${PKG_PYTHON3_MAKEFLAGS_INSTALL_EXTRA:=prefix=};
+: ${PKG_PYTHON3_SHA256SUM:=687e067d9f391da645423c7eda8205bae9d35edc0c76ef5218dcbe4cc770d0d7};
+: ${PKG_PYTHON3_VERSION:=3.5.1};
: ${PKG_PYTHON3_SUBDIR:=Python-${PKG_PYTHON3_VERSION}};
-: ${PKG_RSYNC_VERSION:=3.1.2};
+: ${PKG_PYTHON3_URL:=https://www.python.org/ftp/python/${PKG_PYTHON3_VERSION}/Python-${PKG_PYTHON3_VERSION}.tgz};
+: ${PKG_RSYNC_CONFIGURE_ARGS_EXTRA:=--with-included-popt --with-included-zlib};
: ${PKG_RSYNC_SHA256SUM:=ecfa62a7fa3c4c18b9eccd8c16eaddee4bd308a76ea50b5c02a5840f09c0a1c2};
+: ${PKG_RSYNC_VERSION:=3.1.2};
: ${PKG_RSYNC_URL:=https://download.samba.org/pub/rsync/src/rsync-${PKG_RSYNC_VERSION}.tar.gz};
-: ${PKG_RSYNC_CONFIGURE_ARGS_EXTRA:=--with-included-popt --with-included-zlib};
-: ${PKG_RXVT_UNICODE_VERSION:=9.22};
+: ${PKG_RXVT_UNICODE_CONFIGURE_ARGS_EXTRA:=--disable-perl --disable-lastlog --disable-utmp --disable-wtmp};
: ${PKG_RXVT_UNICODE_SHA256SUM:=e94628e9bcfa0adb1115d83649f898d6edb4baced44f5d5b769c2eeb8b95addd};
+: ${PKG_RXVT_UNICODE_VERSION:=9.22};
: ${PKG_RXVT_UNICODE_URL:=http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-${PKG_RXVT_UNICODE_VERSION}.tar.bz2};
-: ${PKG_RXVT_UNICODE_CONFIGURE_ARGS_EXTRA:=--disable-perl --disable-lastlog --disable-utmp --disable-wtmp};
-: ${PKG_TAR_VERSION:=1.28};
+: ${PKG_SED_SHA256SUM:=f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7};
+: ${PKG_SED_VERSION:=4.2.2};
+: ${PKG_SED_URL:=https://ftp.gnu.org/gnu/sed/sed-${PKG_SED_VERSION}.tar.bz2};
: ${PKG_TAR_SHA256SUM:=6a6b65bac00a127a508533c604d5bf1a3d40f82707d56f20cefd38a05e8237de};
+: ${PKG_TAR_VERSION:=1.28};
: ${PKG_TAR_URL:=https://ftp.gnu.org/gnu/tar/tar-${PKG_TAR_VERSION}.tar.gz};
-: ${PKG_TCSH_VERSION:=6.19.00};
: ${PKG_TCSH_SHA256SUM:=12e271e0b89e4259d9d6e8d525322e77340e7244cfbd199a591e5f8146285c49};
+: ${PKG_TCSH_VERSION:=6.19.00};
: ${PKG_TCSH_URL:=http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/tcsh-${PKG_TCSH_VERSION}.tar.gz};
-: ${PKG_THE_SILVER_SEARCHER_VERSION:=0.32.0};
: ${PKG_THE_SILVER_SEARCHER_SHA256SUM:=944ca77e498f344b2bfbd8df6d5d8df7bbc1c7e080b50c0bab3d1a9a55151b60};
+: ${PKG_THE_SILVER_SEARCHER_VERSION:=0.32.0};
: ${PKG_THE_SILVER_SEARCHER_URL:=http://geoff.greer.fm/ag/releases/the_silver_searcher-${PKG_THE_SILVER_SEARCHER_VERSION}.tar.gz};
-: ${PKG_TMUX_VERSION:=2.2};
: ${PKG_TMUX_SHA256SUM:=bc28541b64f99929fe8e3ae7a02291263f3c97730781201824c0f05d7c8e19e4};
+: ${PKG_TMUX_VERSION:=2.2};
: ${PKG_TMUX_URL:=https://github.com/tmux/tmux/releases/download/${PKG_TMUX_VERSION}/tmux-${PKG_TMUX_VERSION}.tar.gz};
-: ${PKG_SED_VERSION:=4.2.2};
-: ${PKG_SED_SHA256SUM:=f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7};
-: ${PKG_SED_URL:=https://ftp.gnu.org/gnu/sed/sed-${PKG_SED_VERSION}.tar.bz2};
-: ${PKG_UTIL_LINUX_VERSION:=2.27.1};
-: ${PKG_UTIL_LINUX_SHA256SUM:=133c14f625d40e90e73e9d200faf3f2ce87937b99f923c84e5504ac0badc71d6};
-: ${PKG_UTIL_LINUX_URL:=https://www.kernel.org/pub/linux/utils/util-linux/v2.27/util-linux-${PKG_UTIL_LINUX_VERSION}.tar.gz};
: ${PKG_UTIL_LINUX_CONFIGURE_ARGS_EXTRA:=--disable-agetty --disable-wall --disable-write};
: ${PKG_UTIL_LINUX_ENV_VARS_EXTRA:=PKG_CONFIG=${PREFIX}/bin/${TARGET}-pkg-config};
-: ${PKG_VIM_VERSION:=7.4.1952};
+: ${PKG_UTIL_LINUX_SHA256SUM:=133c14f625d40e90e73e9d200faf3f2ce87937b99f923c84e5504ac0badc71d6};
+: ${PKG_UTIL_LINUX_VERSION:=2.27.1};
+: ${PKG_UTIL_LINUX_URL:=https://www.kernel.org/pub/linux/utils/util-linux/v2.27/util-linux-${PKG_UTIL_LINUX_VERSION}.tar.gz};
+: ${PKG_VIM_CONFIGURE_ARGS_EXTRA:=--with-tlib=ncursesw};
+: ${PKG_VIM_ENV_VARS_EXTRA:=PKG_CONFIG=${PREFIX}/bin/${TARGET}-pkg-config};
+: ${PKG_VIM_INSTALL_FILES:=@vim=bin/vi};
+: ${PKG_VIM_MAKEFLAGS_INSTALL_EXTRA:=STRIP=/bin/true};
: ${PKG_VIM_SHA256SUM:=8de19b12cabde17b87f915a05e1855f6ff8404962947c5cf2204cf51f1ce5d67};
-: ${PKG_VIM_URL:=https://github.com/vim/vim/archive/v${PKG_VIM_VERSION}.tar.gz};
+: ${PKG_VIM_VERSION:=7.4.1952};
: ${PKG_VIM_SUBDIR:=vim-${PKG_VIM_VERSION}};
: ${PKG_VIM_BUILD_DIR:=${PKG_VIM_SUBDIR}};
-: ${PKG_VIM_ENV_VARS_EXTRA:=PKG_CONFIG=${PREFIX}/bin/${TARGET}-pkg-config};
: ${PKG_VIM_CONFIG_CACHE_EXTRA:=${PKG_VIM_BUILD_DIR}/src/auto};
-: ${PKG_VIM_CONFIGURE_ARGS_EXTRA:=--with-tlib=ncursesw};
-: ${PKG_VIM_INSTALL_FILES:=@vim=bin/vi};
-: ${PKG_VIM_MAKEFLAGS_INSTALL_EXTRA:=STRIP=/bin/true};
-: ${PKG_WEECHAT_VERSION:=1.6};
-: ${PKG_WEECHAT_URL:=https://weechat.org/files/src/weechat-${PKG_WEECHAT_VERSION}.tar.gz};
-: ${PKG_WEECHAT_SHA256SUM:=3061e57460e0e3e4533551c45ced53b222fe0933848250d0fb7337d9aacfd853};
+: ${PKG_VIM_URL:=https://github.com/vim/vim/archive/v${PKG_VIM_VERSION}.tar.gz};
: ${PKG_WEECHAT_CONFIGURE_ARGS_EXTRA:="--disable-python --disable-python3 --disable-tcl"};
-: ${PKG_WEECHAT_ENV_VARS_EXTRA:=CURL_CONFIG=${PREFIX_NATIVE}/bin/curl-config};
+: ${PKG_WEECHAT_ENV_VARS_EXTRA:="CURL_CONFIG=${PREFIX_NATIVE}/bin/curl-config:PKG_CONFIG=${PREFIX}/bin/${TARGET}-pkg-config"};
: ${PKG_WEECHAT_LDFLAGS_BUILD_EXTRA:=-L${PREFIX_NATIVE}/lib};
-: ${PKG_WHICH_VERSION:=2.21};
+: ${PKG_WEECHAT_SHA256SUM:=3061e57460e0e3e4533551c45ced53b222fe0933848250d0fb7337d9aacfd853};
+: ${PKG_WEECHAT_VERSION:=1.6};
+: ${PKG_WEECHAT_URL:=https://weechat.org/files/src/weechat-${PKG_WEECHAT_VERSION}.tar.gz};
: ${PKG_WHICH_SHA256SUM:=f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad};
+: ${PKG_WHICH_VERSION:=2.21};
: ${PKG_WHICH_URL:=https://ftp.gnu.org/gnu/which/which-${PKG_WHICH_VERSION}.tar.gz};
-: ${PKG_WHOIS_VERSION:=5.2.12};
+: ${PKG_WHOIS_MAKEFLAGS_INSTALL:=BASEDIR=${PREFIX_NATIVE}};
: ${PKG_WHOIS_SHA256SUM:=8485aa02909fd6aaa1cfd8b5e63559310879bf8a62793a83c96a4502164b968a};
-: ${PKG_WHOIS_URL:=https://github.com/rfc1036/whois/archive/v${PKG_WHOIS_VERSION}.tar.gz};
+: ${PKG_WHOIS_VERSION:=5.2.12};
: ${PKG_WHOIS_BUILD_DIR:=whois-${PKG_WHOIS_VERSION}};
-: ${PKG_WHOIS_MAKEFLAGS_INSTALL:=BASEDIR=${PREFIX_NATIVE}};
: ${PKG_WHOIS_SUBDIR:=${PKG_WHOIS_BUILD_DIR}};
-: ${PKG_XEYES_VERSION:=1.1.1};
+: ${PKG_WHOIS_URL:=https://github.com/rfc1036/whois/archive/v${PKG_WHOIS_VERSION}.tar.gz};
: ${PKG_XEYES_SHA256SUM:=975e98680cd59e1f9439016386609546ed08c284d0f05a95276f96aca6e8a521};
+: ${PKG_XEYES_VERSION:=1.1.1};
: ${PKG_XEYES_URL:=https://www.x.org/releases/individual/app/xeyes-${PKG_XEYES_VERSION}.tar.bz2};
-: ${PKG_XWD_VERSION:=1.0.6};
: ${PKG_XWD_SHA256SUM:=3bb396a2268d78de4b1c3e5237a85f7849d3434e87b3cd1f4d57eef614227d79};
+: ${PKG_XWD_VERSION:=1.0.6};
: ${PKG_XWD_URL:=https://www.x.org/releases/individual/app/xwd-${PKG_XWD_VERSION}.tar.bz2};
-: ${PKG_ZSH_VERSION:=5.2};
: ${PKG_ZSH_SHA256SUM:=f17916320ffaa844bbd7ce48ceeb5945fc5f3eff64b149b4229bbfbdf3795a9d};
-: ${PKG_ZSH_URL:="https://fourdots.com/mirror/zsh/zsh-${PKG_ZSH_VERSION}.tar.xz"};
+: ${PKG_ZSH_VERSION:=5.2};
: ${PKG_ZSH_FNAME:=zsh-${PKG_ZSH_VERSION}.tar.xz};
+: ${PKG_ZSH_URL:="https://fourdots.com/mirror/zsh/zsh-${PKG_ZSH_VERSION}.tar.xz"};
+
+#
+# Build meta-targets
+#
+DEVROOT_PACKAGES="host_toolchain native_toolchain runtime";
+WORLD_PACKAGES="host_toolchain native_toolchain runtime lib_packages leaf_packages";
+ALL_TARGETS="host_toolchain native_toolchain runtime lib_packages leaf_packages devroot world";
# vim:filetype=sh textwidth=0
diff --git a/404.cparser.vars b/vars/cparser.vars
index 3126cd33..3126cd33 100644
--- a/404.cparser.vars
+++ b/vars/cparser.vars
diff --git a/314.libfirm.vars b/vars/libfirm.vars
index 5756b545..5756b545 100644
--- a/314.libfirm.vars
+++ b/vars/libfirm.vars
diff --git a/vars/ncurses.vars b/vars/ncurses.vars
new file mode 120000
index 00000000..9a28bc0f
--- /dev/null
+++ b/vars/ncurses.vars
@@ -0,0 +1 @@
+ncursesw.vars \ No newline at end of file
diff --git a/vars/ncursestw.vars b/vars/ncursestw.vars
new file mode 120000
index 00000000..9a28bc0f
--- /dev/null
+++ b/vars/ncursestw.vars
@@ -0,0 +1 @@
+ncursesw.vars \ No newline at end of file
diff --git a/320.ncursesw.vars b/vars/ncursesw.vars
index 50024dec..50024dec 100644
--- a/320.ncursesw.vars
+++ b/vars/ncursesw.vars
diff --git a/436.perl.vars b/vars/perl.vars
index 853bef90..853bef90 100644
--- a/436.perl.vars
+++ b/vars/perl.vars
diff --git a/010.pkgconf_host.vars b/vars/pkgconf_host.vars
index 61d467a2..61d467a2 100644
--- a/010.pkgconf_host.vars
+++ b/vars/pkgconf_host.vars
diff --git a/004.psxstub.vars b/vars/psxstub.vars
index cf18c4b1..cf18c4b1 100644
--- a/004.psxstub.vars
+++ b/vars/psxstub.vars
diff --git a/438.python3.vars b/vars/python3.vars
index 9cdc016f..9cdc016f 100644
--- a/438.python3.vars
+++ b/vars/python3.vars