diff --git a/env.d/000.build.env b/env.d/000.build.env
new file mode 100644
index 0000000..e4a08d1
--- /dev/null
+++ b/env.d/000.build.env
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (`	')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# Build steps
+DEFAULT_BUILD_STEPS="											\
+	fetch_clean fetch_download fetch_extract 							\
+	configure_clean configure_patch_pre configure_autotools configure_patch configure		\
+	build_clean build										\
+	install_clean install_subdirs install_make install_files install install_rpm			\
+	clean												\
+	finish";
+
+#
+# Build variables
+DEFAULT_BUILD_VARS="											\
+	AR AUTOCONF_CONFIG_GUESS BASE_DIR BUILD_DIR BUILD_STEPS_DISABLE BUILD_TYPE CC CCLD		\
+	CFLAGS_BUILD CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE CFLAGS_CONFIGURE_EXTRA CMAKE			\
+	CMAKE_ARGS CMAKE_ARGS_EXTRA CMAKE_LISTFILE CONFIG_CACHE CONFIG_CACHE_EXTRA			\
+	CONFIG_CACHE_LOCAL CONFIGURE CONFIGURE_ARGS CONFIGURE_ARGS_EXTRA				\
+	CONFIGURE_ARGS_EXTRA_LIST CONFIGURE_ARGS_LIST CONFIGURE_TYPE CPPFLAGS_CONFIGURE			\
+	CXX CXXFLAGS_CONFIGURE CXXFLAGS_CONFIGURE_EXTRA DEPENDS DESTDIR DESTDIR_HOST			\
+	DISABLED ENV_VARS_EXTRA FNAME FORCE_AUTORECONF GITROOT INHERIT_FROM INSTALL_FILES		\
+	INSTALL_FILES_DESTDIR INSTALL_FILES_DESTDIR_EXTRA INSTALL_FILES_V2 INSTALL_TARGET		\
+	INSTALL_TARGET_EXTRA IN_TREE LD LDFLAGS_BUILD LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE		\
+	LDFLAGS_CONFIGURE_EXTRA LIBTOOL MAKE MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA			\
+	MAKEFLAGS_BUILD_EXTRA_LIST MAKEFLAGS_BUILD_LIST MAKEFLAGS_INSTALL				\
+	MAKEFLAGS_INSTALL_EXTRA MAKEFLAGS_INSTALL_EXTRA_LIST MAKEFLAGS_INSTALL_LIST			\
+	MAKEFLAGS_LOADAVG MAKEFLAGS_PARALLELISE MAKEFLAGS_VERBOSITY MAKE_INSTALL_VNAME			\
+	MAKE_SUBDIRS MIRRORS MIRRORS_GIT NO_CLEAN NO_CLEAN_BASE_DIR NO_CLEAN_BUILD_DIR			\
+	NO_LOG_VARS PATCHES_EXTRA PKG_CONFIG PKG_CONFIG_LIBDIR PKGLIST_DISABLE PREFIX			\
+	PYTHON RANLIB RPM_DISABLE SHA256SUM SOFORT_NATIVE_CC SOFORT_NATIVE_CFLAGS			\
+	SOFORT_NATIVE_CFLAGS_EXTRA SOFORT_NATIVE_CXX SOFORT_NATIVE_CXXFLAGS				\
+	SOFORT_NATIVE_CXXFLAGS_EXTRA SOFORT_NATIVE_LD SOFORT_NATIVE_LDFLAGS				\
+	SOFORT_NATIVE_LDFLAGS_EXTRA SUBDIR TARGET URL URLS_GIT VARS_FILE VERSION";
+
+#
+# Prerequisite commands
+DEFAULT_PREREQS="											\
+	awk bunzip2 bzip2 cat chmod cmake cp date find flock						\
+	g++ gcc git grep gunzip gzip hostname id install kill						\
+	ln lzip make mkdir mkfifo mktemp mv paste patch perl						\
+	pgrep pkill printf readlink rm sed sha256sum sort						\
+	stat tail tar test touch tr uniq wget xz zip";
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/050.paths.env b/env.d/050.paths.env
new file mode 100644
index 0000000..a5cf807
--- /dev/null
+++ b/env.d/050.paths.env
@@ -0,0 +1,65 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (`	')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# Path & variable names and URLs
+: ${PREFIX_ROOT:="${HOME}/midipix"};
+: ${PREFIX:="${PREFIX_ROOT}/${ARCH}/${BUILD_KIND}"};
+: ${PREFIX_CROSS:="${PREFIX}/${DEFAULT_TARGET}"};
+: ${PREFIX_MINGW32:="${PREFIX}/x86_64-w64-mingw32"};
+: ${PREFIX_MINIPIX:="${PREFIX}/minipix"};
+: ${PREFIX_NATIVE:="${PREFIX}/native"};
+: ${PREFIX_RPM:="${PREFIX}/rpm"};
+: ${BUILD_DLCACHEDIR:="${PREFIX_ROOT}/dlcache"};
+: ${BUILD_WORKDIR:="${PREFIX}/tmp"};
+: ${DEFAULT_CHECK_PATH_VARS:="PREFIX PREFIX_NATIVE PREFIX_CROSS BUILD_DLCACHEDIR BUILD_WORKDIR"};
+: ${DEFAULT_CLEAR_ENV_VARS_EXCEPT:="									\
+	HOME PATH TERM USER										\
+	ARCH BUILD_KIND											\
+	BUILD_DLCACHEDIR BUILD_HNAME BUILD_WORKDIR							\
+	PREFIX PREFIX_CROSS PREFIX_MINGW32 PREFIX_MINIPIX PREFIX_NATIVE PREFIX_ROOT PREFIX_RPM"};
+: ${DEFAULT_CLEAR_PREFIX_PATHS:="
+	bin i686-nt32-midipix doc include info lib lib64 libexec man minipix minipix_dist native
+	rpm sbin share tmp usr x86_64-nt64-midipix x86_64-w64-mingw32 pkglist.cross pkglist.host
+	pkglist.native SHA256SUMS SHA256SUMS.last"};
+: ${DEFAULT_INSTALL_FILES_DESTDIR:="									\
+	/=bin /=include /=lib /=lib/pkgconfig /=sbin							\
+	/=share /=share/doc /=share/info /=share/man							\
+	/=share/man/man1 /=share/man/man2 /=share/man/man3 /=share/man/man4 /=share/man/man5		\
+	/=share/man/man6 /=share/man/man7 /=share/man/man8 /=share/man/man9				\
+	@share/doc=doc											\
+	@share/info=info										\
+	@lib=lib64											\
+	@share/man=man											\
+	@../lib/pkgconfig=share/pkgconfig								\
+	@.=usr"};
+: ${DEFAULT_LOG_ENV_VARS:="										\
+	ARCH BUILD_KIND BUILD_DLCACHEDIR BUILD_WORKDIR DEFAULT_GITROOT					\
+	HOME PATH PREFIX PREFIX_CROSS PREFIX_MINGW32 PREFIX_MINIPIX					\
+	PREFIX_NATIVE PREFIX_RPM USER"};
+: ${DEFAULT_MIRRORS:="											\
+https://midipix.org/mirror/										\
+https://midipix.luciaillanes.de/archives/								\
+"};
+: ${DEFAULT_MIRRORS_GIT:="										\
+https://midipix.luciaillanes.de/repos_git/								\
+"};
+
+#
+# Build {log,status} & tarball names
+: ${DEFAULT_BUILD_LAST_FAILED_PKG_FNAME:=${BUILD_WORKDIR}/last_failed_pkg};
+: ${DEFAULT_BUILD_LOG_FNAME:=${PREFIX}/build.log};
+: ${DEFAULT_BUILD_LOG_LAST_FNAME:=${PREFIX}/build.log.last};
+: ${DEFAULT_BUILD_STATUS_IN_PROGRESS_FNAME:=${PREFIX}/BUILD_IN_PROGRESS};
+: ${DEFAULT_ZIPDIST_FNAME_PREFIX:=midipix-${ARCH}-${BUILD_KIND}.};
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/100.toolchain.env b/env.d/100.toolchain.env
new file mode 100644
index 0000000..3650940
--- /dev/null
+++ b/env.d/100.toolchain.env
@@ -0,0 +1,70 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (`	')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# Default toolchain flags & variables
+: ${DEFAULT_BUILD_CPUS:=};
+: ${DEFAULT_BUILD_TYPE:=native};
+
+#
+# Default C compiler flags & variables
+: ${DEFAULT_CFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
+: ${DEFAULT_CFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
+: ${DEFAULT_CFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
+: ${DEFAULT_CFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
+rtl_get_var_unsafe \$DEFAULT_CFLAGS -u "DEFAULT_CFLAGS_${BUILD_KIND}";
+: ${DEFAULT_CFLAGS_CONFIGURE:=${DEFAULT_CFLAGS}};
+rtl_get_var_unsafe \$DEFAULT_CFLAGS_HOST -u "DEFAULT_CFLAGS_${BUILD_KIND}_HOST";
+rtl_get_var_unsafe \$DEFAULT_CFLAGS_RUNTIME -u "DEFAULT_CFLAGS_${BUILD_KIND}_RUNTIME";
+
+#
+# Default C preprocessor flags & variables
+: ${DEFAULT_CPPFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
+: ${DEFAULT_CPPFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
+: ${DEFAULT_CPPFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
+: ${DEFAULT_CPPFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CPPFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CPPFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
+rtl_get_var_unsafe \$DEFAULT_CPPFLAGS -u "DEFAULT_CPPFLAGS_${BUILD_KIND}";
+: ${DEFAULT_CPPFLAGS_CONFIGURE:=${DEFAULT_CPPFLAGS}};
+rtl_get_var_unsafe \$DEFAULT_CPPFLAGS_HOST -u "DEFAULT_CPPFLAGS_${BUILD_KIND}_HOST";
+rtl_get_var_unsafe \$DEFAULT_CPPFLAGS_RUNTIME -u "DEFAULT_CPPFLAGS_${BUILD_KIND}_RUNTIME";
+
+#
+# Default C++ compiler flags & variables
+: ${DEFAULT_CXXFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
+: ${DEFAULT_CXXFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
+: ${DEFAULT_CXXFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
+: ${DEFAULT_CXXFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CXXFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
+: ${DEFAULT_CXXFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
+rtl_get_var_unsafe \$DEFAULT_CXXFLAGS -u "DEFAULT_CXXFLAGS_${BUILD_KIND}";
+: ${DEFAULT_CXXFLAGS_CONFIGURE:=${DEFAULT_CXXFLAGS}};
+rtl_get_var_unsafe \$DEFAULT_CXXFLAGS_HOST -u "DEFAULT_CXXFLAGS_${BUILD_KIND}_HOST";
+rtl_get_var_unsafe \$DEFAULT_CXXFLAGS_RUNTIME -u "DEFAULT_CXXFLAGS_${BUILD_KIND}_RUNTIME";
+
+#
+# Default linker flags & variables
+: ${DEFAULT_LDFLAGS_DEBUG:=""};
+: ${DEFAULT_LDFLAGS_DEBUG_HOST:=""};
+: ${DEFAULT_LDFLAGS_DEBUG_RUNTIME:=""};
+: ${DEFAULT_LDFLAGS_RELEASE:=""};
+: ${DEFAULT_LDFLAGS_RELEASE_HOST:=""};
+: ${DEFAULT_LDFLAGS_RELEASE_RUNTIME:=""};
+rtl_get_var_unsafe \$DEFAULT_LDFLAGS -u "DEFAULT_LDFLAGS_${BUILD_KIND}";
+: ${DEFAULT_LDFLAGS_CONFIGURE:=${DEFAULT_LDFLAGS}};
+rtl_get_var_unsafe \$DEFAULT_LDFLAGS_HOST -u "DEFAULT_LDFLAGS_${BUILD_KIND}_HOST";
+rtl_get_var_unsafe \$DEFAULT_LDFLAGS_RUNTIME -u "DEFAULT_LDFLAGS_${BUILD_KIND}_RUNTIME";
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/100.tools.env b/env.d/100.tools.env
new file mode 100644
index 0000000..e3e249c
--- /dev/null
+++ b/env.d/100.tools.env
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (`	')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# Default command & tool flags & variables
+: ${DEFAULT_AUTOCONF_CONFIG_GUESS:="copy"};
+: ${DEFAULT_CMAKE_LISTFILE:="CMakeLists.txt"};
+: ${DEFAULT_GIT_ARGS:=""};
+: ${DEFAULT_GITROOT:=git://midipix.org};
+: ${DEFAULT_GITROOT_HEAD:=git://midipix.org};
+: ${DEFAULT_MAKE_INSTALL_VNAME:=DESTDIR};
+: ${DEFAULT_MAKEFLAGS_LOADAVG:="-l${DEFAULT_BUILD_CPUS}"};
+: ${DEFAULT_MAKEFLAGS_PARALLELISE:="-j${DEFAULT_BUILD_CPUS}"};
+: ${DEFAULT_MAKEFLAGS_VERBOSITY:="V=99 VERBOSE=1"};
+: ${DEFAULT_RPM_JOBS_MAX:=1};
+: ${DEFAULT_RPM_JOBS_SEMAPHORE:="${BUILD_WORKDIR}/rpm.jobs"};
+: ${DEFAULT_RPM_JOBS_WAIT:=8};
+: ${DEFAULT_TIMESTAMP_FMT:="%Y/%m/%d %H:%M:%S"};
+: ${DEFAULT_WGET_ARGS:="--no-check-certificate --timeout=25 --waitretry=16"};
+: ${DEFAULT_ZIPDIST_DEFROOT:="/dev/fs/c/midipix"};
+
+#
+# Default CMake flags & variables
+: ${DEFAULT_CMAKE_ARGS:="
+	-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
+	-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
+	-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
+	-DCMAKE_INSTALL_PREFIX=
+	-DCMAKE_VERBOSE_MAKEFILE=YES"};
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/200.targets.env b/env.d/200.targets.env
new file mode 100644
index 0000000..48a70f3
--- /dev/null
+++ b/env.d/200.targets.env
@@ -0,0 +1,62 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (`	')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# cross target toolchain defaults
+: ${DEFAULT_CROSS_AR:=${DEFAULT_TARGET}-ar};
+: ${DEFAULT_CROSS_CC:=${DEFAULT_TARGET}-gcc};
+: ${DEFAULT_CROSS_CCLD:=${DEFAULT_TARGET}-gcc};
+: ${DEFAULT_CROSS_CMAKE:=cmake};
+: ${DEFAULT_CROSS_CXX:=${DEFAULT_TARGET}-g++};
+: ${DEFAULT_CROSS_LD:=${DEFAULT_TARGET}-ld};
+: ${DEFAULT_CROSS_LIBTOOL:=slibtool};
+: ${DEFAULT_CROSS_MAKE:=make};
+: ${DEFAULT_CROSS_RANLIB:=${DEFAULT_TARGET}-ranlib};
+
+#
+# host target toolchain defaults
+: ${DEFAULT_HOST_AR:=ar};
+: ${DEFAULT_HOST_CC:=gcc};
+: ${DEFAULT_HOST_CCLD:=gcc};
+: ${DEFAULT_HOST_CMAKE:=cmake};
+: ${DEFAULT_HOST_CXX:=g++};
+: ${DEFAULT_HOST_LD:=ld};
+: ${DEFAULT_HOST_LIBTOOL:=slibtool};
+: ${DEFAULT_HOST_MAKE:=make};
+: ${DEFAULT_HOST_PKG_CONFIG:=${PREFIX}/bin/${DEFAULT_TARGET}-pkg-config};
+: ${DEFAULT_HOST_PKG_CONFIG_LIBDIR:=${PREFIX}/lib/pkgconfig};
+: ${DEFAULT_HOST_RANLIB:=ranlib};
+
+#
+# native target toolchain defaults
+: ${DEFAULT_NATIVE_AR:=${DEFAULT_TARGET}-ar};
+: ${DEFAULT_NATIVE_CC:=${DEFAULT_TARGET}-gcc};
+: ${DEFAULT_NATIVE_CCLD:=${DEFAULT_TARGET}-gcc};
+: ${DEFAULT_NATIVE_CMAKE:=cmake};
+: ${DEFAULT_NATIVE_CXX:=${DEFAULT_TARGET}-g++};
+: ${DEFAULT_NATIVE_LD:=${DEFAULT_TARGET}-ld};
+: ${DEFAULT_NATIVE_LIBTOOL:=slibtool};
+: ${DEFAULT_NATIVE_MAKE:=make};
+: ${DEFAULT_NATIVE_PKG_CONFIG:=${PREFIX}/bin/${DEFAULT_TARGET}-pkg-config};
+: ${DEFAULT_NATIVE_PKG_CONFIG_LIBDIR:=${PREFIX}/lib/pkgconfig};
+: ${DEFAULT_NATIVE_RANLIB:=${DEFAULT_TARGET}-ranlib};
+
+#
+# native target sofort defaults
+: ${DEFAULT_SOFORT_NATIVE_CC:="${DEFAULT_HOST_CC}"};
+: ${DEFAULT_SOFORT_NATIVE_CFLAGS:="-I${PREFIX}/include"};
+: ${DEFAULT_SOFORT_NATIVE_CXX:="${DEFAULT_HOST_CXX}"};
+: ${DEFAULT_SOFORT_NATIVE_CXXFLAGS:="-I${PREFIX}/include"};
+: ${DEFAULT_SOFORT_NATIVE_LD:="${DEFAULT_HOST_CCLD}"};
+: ${DEFAULT_SOFORT_NATIVE_LDFLAGS:="-L${PREFIX}/lib -Wl,-rpath,${PREFIX}/lib"};
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/300.config.cache.env b/env.d/300.config.cache.env
new file mode 100644
index 0000000..d46e593
--- /dev/null
+++ b/env.d/300.config.cache.env
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (`	')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# GNU autotools cache
+: ${DEFAULT_CONFIG_CACHE:="
+ac_cv_buggy_getaddrinfo=no
+ac_cv_file__dev_ptc=no
+ac_cv_file__dev_ptmx=yes
+ac_cv_func_calloc_0_nonnull=yes
+ac_cv_func_chown_works=yes
+ac_cv_func_fork_works=yes
+ac_cv_func_getgroups_works=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_memcmp_working=yes
+ac_cv_func_mmap_fixed_mapped=yes
+ac_cv_func_realloc_0_nonnull=yes
+ac_cv_func_strcoll_works=yes
+ac_cv_func_strnlen_working=yes
+ac_cv_func_working_mktime=yes
+gl_cv_func_gettimeofday_clobber=no
+gl_cv_func_tzset_clobber=no
+gt_cv_int_divbyzero_sigfpe=yes
+libffi_cv_hidden_visibility_attribute=yes
+xorg_cv_malloc0_returns_null=yes"};
+
+# vim:filetype=sh textwidth=0
diff --git a/env.d/300.config.cache.gnulib.env b/env.d/300.config.cache.gnulib.env
new file mode 100644
index 0000000..75b99fd
--- /dev/null
+++ b/env.d/300.config.cache.gnulib.env
@@ -0,0 +1,160 @@
+#
+# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
+#
+# WARNING: Do _NOT_ use whitespaces (` ') or tab (`	')
+# characters in any of the variables below save for MAKEFLAGS,
+# PATH, and TIMESTAMP_FMT.
+#
+# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
+# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
+# The variables mentioned should not be forward slash-terminated.
+#
+
+#
+# Gnulib GNU autotools cache
+: ${CONFIG_CACHE_GNULIB:="
+gl_cv_double_slash_root=no
+ac_cv_func___fseterr=yes
+am_cv_func_working_getline=yes
+gl_cv_C_locale_sans_EILSEQ=yes
+gl_cv_func_cbrtl_ieee=yes
+gl_cv_func_ceilf_ieee=yes
+gl_cv_func_ceil_ieee=yes
+gl_cv_func_ceill_ieee=yes
+gl_cv_func_chown_ctime_works=yes
+gl_cv_func_chown_follows_symlink=yes
+gl_cv_func_chown_slash_works=yes
+gl_cv_func_exp2l_ieee=yes
+gl_cv_func_expm1_ieee=yes
+gl_cv_func_fclose_stdin=yes
+gl_cv_func_fchmodat_works=yes
+gl_cv_func_fchownat_empty_filename_works=yes
+gl_cv_func_fchownat_nofollow_works=yes
+gl_cv_func_fcntl_f_dupfd_cloexec=yes
+gl_cv_func_fcntl_f_dupfd_works=yes
+gl_cv_func_fdopendir_works=yes
+gl_cv_func_fflush_stdin=yes
+gl_cv_func_floorf_ieee=yes
+gl_cv_func_fmaf_works=yes
+gl_cv_func_fmal_works=yes
+gl_cv_func_fma_works=yes
+gl_cv_func_fmodf_ieee=yes
+gl_cv_func_fmod_ieee=yes
+gl_cv_func_fmodl_ieee=yes
+gl_cv_func_fopen_mode_e=yes
+gl_cv_func_fopen_mode_x=yes
+gl_cv_func_fpurge_works=yes
+gl_cv_func_fseeko=yes
+gl_cv_func_futimens_works=yes
+gl_cv_func_futimesat_works=yes
+gl_cv_func_getcwd_null=yes
+gl_cv_func_getgroups_works=yes
+gl_cv_func_gettimeofday_clobber=no
+gl_cv_func_hypotf_ieee=yes
+gl_cv_func_hypot_ieee=yes
+gl_cv_func_hypotl_ieee=yes
+gl_cv_func_isfinitel_works=yes
+gl_cv_func_isnanl_works=yes
+gl_cv_func_iswcntrl_works=yes
+gl_cv_func_linkat_nofollow=yes
+gl_cv_func_linkat_slash=yes
+gl_cv_func_link_follows_symlink=yes
+gl_cv_func_link_works=yes
+gl_cv_func_log10f_ieee=yes
+gl_cv_func_log10_ieee=yes
+gl_cv_func_log1pf_ieee=yes
+gl_cv_func_log1p_ieee=yes
+gl_cv_func_log1pl_ieee=yes
+gl_cv_func_log2f_ieee=yes
+gl_cv_func_log2_ieee=yes
+gl_cv_func_logf_ieee=yes
+gl_cv_func_log_ieee=yes
+gl_cv_func_lstat_dereferences_slashed_symlink=yes
+gl_cv_func_mbrlen_empty_input=yes
+gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes
+gl_cv_func_mbrtowc_empty_input=yes
+gl_cv_func_memchr_works=yes
+gl_cv_func_memmem_works_fast=yes
+gl_cv_func_mkdir_trailing_dot_works=yes
+gl_cv_func_mkdir_trailing_slash_works=yes
+gl_cv_func_mkfifo_works=yes
+gl_cv_func_mknod_works=yes
+gl_cv_func_modff_ieee=yes
+gl_cv_func_modf_ieee=yes
+gl_cv_func_modfl_ieee=yes
+gl_cv_func_nanosleep=yes
+gl_cv_func_open_directory_works=yes
+gl_cv_func_perror_works=yes
+gl_cv_func_posix_memalign_works=yes
+gl_cv_func_printf_directive_a=yes
+gl_cv_func_printf_directive_f=yes
+gl_cv_func_printf_directive_n=yes
+gl_cv_func_printf_enomem=yes
+gl_cv_func_printf_flag_zero=yes
+gl_cv_func_printf_infinite_long_double=yes
+gl_cv_func_printf_infinite=yes
+gl_cv_func_printf_sizes_c99=yes
+gl_cv_func_pselect_detects_ebadf=yes
+gl_cv_func_ptsname_sets_errno=yes
+gl_cv_func_readlink_works=yes
+gl_cv_func_readlink_trailing_slash=yes
+gl_cv_func_readlink_truncate=yes
+gl_cv_func_realpath_works=yes
+gl_cv_func_remainderf_ieee=yes
+gl_cv_func_remainder_ieee=yes
+gl_cv_func_remainderl_ieee=yes
+gl_cv_func_rename_dest_works=yes
+gl_cv_func_rename_link_works=yes
+gl_cv_func_rename_slash_dst_works=yes
+gl_cv_func_rename_slash_src_works=yes
+gl_cv_func_rmdir_works=yes
+gl_cv_func_roundf_ieee=yes
+gl_cv_func_round_ieee=yes
+gl_cv_func_select_detects_ebadf=yes
+gl_cv_func_setenv_works=yes
+gl_cv_func_signbit_gcc=yes
+gl_cv_func_signbit=yes
+gl_cv_func_signbit_builtins=yes
+gl_cv_func_sleep_works=yes
+gl_cv_func_snprintf_directive_n=yes
+gl_cv_func_snprintf_retval_c99=yes
+gl_cv_func_snprintf_truncation_c99=yes
+gl_cv_func_stat_dir_slash=yes
+gl_cv_func_stat_file_slash=yes
+gl_cv_func_stpncpy=yes
+gl_cv_func_strcasestr_linear=yes
+gl_cv_func_strchrnul_works=yes
+gl_cv_func_strerror_0_works=yes
+gl_cv_func_strstr_linear=yes
+gl_cv_func_strtod_works=yes
+gl_cv_func_strtold_works=yes
+gl_cv_func_strtoll_works=yes
+gl_cv_func_strtoull_works=yes
+gl_cv_func_svid_putenv=yes
+gl_cv_func_symlink_works=yes
+gl_cv_func_symlinkat_works=yes
+gl_cv_func_tdelete_works=yes
+gl_cv_func_truncf_ieee=yes
+gl_cv_func_trunc_ieee=yes
+gl_cv_func_truncl_ieee=yes
+gl_cv_func_tzset_clobber=no
+gl_cv_func_ungetc_works=yes
+gl_cv_func_unlink_busy_text=yes
+gl_cv_func_unlink_honors_slashes=yes
+gl_cv_func_unsetenv_works=yes
+gl_cv_func_usleep_works=yes
+gl_cv_func_utime_file_slash=yes
+gl_cv_func_utimensat_works=yes
+gl_cv_func_vsnprintf_posix=yes
+gl_cv_func_vsnprintf_zerosize_c99=yes
+gl_cv_func_vsprintf_posix=yes
+gl_cv_func_wcwidth_works=yes
+gl_cv_func_working_getdelim=yes
+gl_cv_func_working_mkstemp=yes
+gl_cv_func_working_mktime=yes
+gl_cv_func_working_strerror=yes
+gl_cv_struct_dirent_d_ino=yes
+gl_cv_func_getopt_gnu=yes
+gl_cv_pthread_rwlock_rdlock_prefer_writer=no"};
+
+# vim:filetype=sh textwidth=0
diff --git a/midipix.env b/midipix.env
deleted file mode 100644
index ae5e185..0000000
--- a/midipix.env
+++ /dev/null
@@ -1,387 +0,0 @@
-#
-# Copyright (c) 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de>
-#
-# WARNING: Do _NOT_ use whitespaces (` ') or tab (`	')
-# characters in any of the variables below save for MAKEFLAGS,
-# PATH, and TIMESTAMP_FMT.
-#
-# ${PREFIX_{CROSS,MINGW32,MINIPIX,NATIVE,RPM}} and ${BUILD_WORKDIR}
-# must be immediately beneath ${PREFIX}. ${PREFIX} must be o+rwx.
-# The variables mentioned should not be forward slash-terminated.
-#
-
-#
-# Build {step,variable}s
-DEFAULT_BUILD_STEPS="											\
-	fetch_clean fetch_download fetch_extract 							\
-	configure_clean configure_patch_pre configure_autotools configure_patch configure		\
-	build_clean build										\
-	install_clean install_subdirs install_make install_files install install_rpm			\
-	clean												\
-	finish";
-DEFAULT_BUILD_VARS="											\
-	AR AUTOCONF_CONFIG_GUESS BASE_DIR BUILD_DIR BUILD_STEPS_DISABLE BUILD_TYPE CC CCLD		\
-	CFLAGS_BUILD CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE CFLAGS_CONFIGURE_EXTRA CMAKE			\
-	CMAKE_ARGS CMAKE_ARGS_EXTRA CMAKE_LISTFILE CONFIG_CACHE CONFIG_CACHE_EXTRA			\
-	CONFIG_CACHE_LOCAL CONFIGURE CONFIGURE_ARGS CONFIGURE_ARGS_EXTRA				\
-	CONFIGURE_ARGS_EXTRA_LIST CONFIGURE_ARGS_LIST CONFIGURE_TYPE CPPFLAGS_CONFIGURE			\
-	CXX CXXFLAGS_CONFIGURE CXXFLAGS_CONFIGURE_EXTRA DEPENDS DESTDIR DESTDIR_HOST			\
-	DISABLED ENV_VARS_EXTRA FNAME FORCE_AUTORECONF GITROOT INHERIT_FROM INSTALL_FILES		\
-	INSTALL_FILES_DESTDIR INSTALL_FILES_DESTDIR_EXTRA INSTALL_FILES_V2 INSTALL_TARGET		\
-	INSTALL_TARGET_EXTRA IN_TREE LD LDFLAGS_BUILD LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE		\
-	LDFLAGS_CONFIGURE_EXTRA LIBTOOL MAKE MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA			\
-	MAKEFLAGS_BUILD_EXTRA_LIST MAKEFLAGS_BUILD_LIST MAKEFLAGS_INSTALL				\
-	MAKEFLAGS_INSTALL_EXTRA MAKEFLAGS_INSTALL_EXTRA_LIST MAKEFLAGS_INSTALL_LIST			\
-	MAKEFLAGS_LOADAVG MAKEFLAGS_PARALLELISE MAKEFLAGS_VERBOSITY MAKE_INSTALL_VNAME			\
-	MAKE_SUBDIRS MIRRORS MIRRORS_GIT NO_CLEAN NO_CLEAN_BASE_DIR NO_CLEAN_BUILD_DIR			\
-	NO_LOG_VARS PATCHES_EXTRA PKG_CONFIG PKG_CONFIG_LIBDIR PKGLIST_DISABLE PREFIX			\
-	PYTHON RANLIB RPM_DISABLE SHA256SUM SOFORT_NATIVE_CC SOFORT_NATIVE_CFLAGS			\
-	SOFORT_NATIVE_CFLAGS_EXTRA SOFORT_NATIVE_CXX SOFORT_NATIVE_CXXFLAGS				\
-	SOFORT_NATIVE_CXXFLAGS_EXTRA SOFORT_NATIVE_LD SOFORT_NATIVE_LDFLAGS				\
-	SOFORT_NATIVE_LDFLAGS_EXTRA SUBDIR TARGET URL URLS_GIT VARS_FILE VERSION";
-
-#
-# Prerequisite commands
-DEFAULT_PREREQS="											\
-	awk bunzip2 bzip2 cat chmod cmake cp date find flock						\
-	g++ gcc git grep gunzip gzip hostname id install kill						\
-	ln lzip make mkdir mkfifo mktemp mv paste patch perl						\
-	pgrep pkill printf readlink rm sed sha256sum sort						\
-	stat tail tar test touch tr uniq wget xz zip";
-
-#
-# Path & variable names and URLs
-: ${PREFIX_ROOT:="${HOME}/midipix"};
-: ${PREFIX:="${PREFIX_ROOT}/${ARCH}/${BUILD_KIND}"};
-: ${PREFIX_CROSS:="${PREFIX}/${DEFAULT_TARGET}"};
-: ${PREFIX_MINGW32:="${PREFIX}/x86_64-w64-mingw32"};
-: ${PREFIX_MINIPIX:="${PREFIX}/minipix"};
-: ${PREFIX_NATIVE:="${PREFIX}/native"};
-: ${PREFIX_RPM:="${PREFIX}/rpm"};
-: ${BUILD_DLCACHEDIR:="${PREFIX_ROOT}/dlcache"};
-: ${BUILD_WORKDIR:="${PREFIX}/tmp"};
-: ${DEFAULT_CHECK_PATH_VARS:="PREFIX PREFIX_NATIVE PREFIX_CROSS BUILD_DLCACHEDIR BUILD_WORKDIR"};
-: ${DEFAULT_CLEAR_ENV_VARS_EXCEPT:="									\
-	HOME PATH TERM USER										\
-	ARCH BUILD_KIND											\
-	BUILD_DLCACHEDIR BUILD_HNAME BUILD_WORKDIR							\
-	PREFIX PREFIX_CROSS PREFIX_MINGW32 PREFIX_MINIPIX PREFIX_NATIVE PREFIX_ROOT PREFIX_RPM"};
-: ${DEFAULT_CLEAR_PREFIX_PATHS:="
-	bin i686-nt32-midipix doc include info lib lib64 libexec man minipix minipix_dist native
-	rpm sbin share tmp usr x86_64-nt64-midipix x86_64-w64-mingw32 pkglist.cross pkglist.host
-	pkglist.native SHA256SUMS SHA256SUMS.last"};
-: ${DEFAULT_INSTALL_FILES_DESTDIR:="									\
-	/=bin /=include /=lib /=lib/pkgconfig /=sbin							\
-	/=share /=share/doc /=share/info /=share/man							\
-	/=share/man/man1 /=share/man/man2 /=share/man/man3 /=share/man/man4 /=share/man/man5		\
-	/=share/man/man6 /=share/man/man7 /=share/man/man8 /=share/man/man9				\
-	@share/doc=doc											\
-	@share/info=info										\
-	@lib=lib64											\
-	@share/man=man											\
-	@../lib/pkgconfig=share/pkgconfig								\
-	@.=usr"};
-: ${DEFAULT_LOG_ENV_VARS:="										\
-	ARCH BUILD_KIND BUILD_DLCACHEDIR BUILD_WORKDIR DEFAULT_GITROOT					\
-	HOME PATH PREFIX PREFIX_CROSS PREFIX_MINGW32 PREFIX_MINIPIX					\
-	PREFIX_NATIVE PREFIX_RPM USER"};
-: ${DEFAULT_MIRRORS:="											\
-https://midipix.org/mirror/										\
-https://midipix.luciaillanes.de/archives/								\
-"};
-: ${DEFAULT_MIRRORS_GIT:="										\
-https://midipix.luciaillanes.de/repos_git/								\
-"};
-
-#
-# Default toolchain flags & variables
-: ${DEFAULT_BUILD_CPUS:=};
-: ${DEFAULT_BUILD_TYPE:=native};
-: ${DEFAULT_CFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
-: ${DEFAULT_CFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
-: ${DEFAULT_CFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
-: ${DEFAULT_CFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
-rtl_get_var_unsafe \$DEFAULT_CFLAGS -u "DEFAULT_CFLAGS_${BUILD_KIND}";
-: ${DEFAULT_CFLAGS_CONFIGURE:=${DEFAULT_CFLAGS}};
-rtl_get_var_unsafe \$DEFAULT_CFLAGS_HOST -u "DEFAULT_CFLAGS_${BUILD_KIND}_HOST";
-rtl_get_var_unsafe \$DEFAULT_CFLAGS_RUNTIME -u "DEFAULT_CFLAGS_${BUILD_KIND}_RUNTIME";
-: ${DEFAULT_CPPFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
-: ${DEFAULT_CPPFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
-: ${DEFAULT_CPPFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
-: ${DEFAULT_CPPFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CPPFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CPPFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
-rtl_get_var_unsafe \$DEFAULT_CPPFLAGS -u "DEFAULT_CPPFLAGS_${BUILD_KIND}";
-: ${DEFAULT_CPPFLAGS_CONFIGURE:=${DEFAULT_CPPFLAGS}};
-rtl_get_var_unsafe \$DEFAULT_CPPFLAGS_HOST -u "DEFAULT_CPPFLAGS_${BUILD_KIND}_HOST";
-rtl_get_var_unsafe \$DEFAULT_CPPFLAGS_RUNTIME -u "DEFAULT_CPPFLAGS_${BUILD_KIND}_RUNTIME";
-: ${DEFAULT_CXXFLAGS_DEBUG:="-D_REDIR_TIME64=0 -g2 -O0"};
-: ${DEFAULT_CXXFLAGS_DEBUG_HOST:="-D_REDIR_TIME64=0 -g0 -O2"};
-: ${DEFAULT_CXXFLAGS_DEBUG_RUNTIME:="-D_REDIR_TIME64=0 -g3 -O0"};
-: ${DEFAULT_CXXFLAGS_RELEASE:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CXXFLAGS_RELEASE_HOST:="-D_REDIR_TIME64=0 -g0 -O0"};
-: ${DEFAULT_CXXFLAGS_RELEASE_RUNTIME:="-D_REDIR_TIME64=0 -g0 -O0"};
-rtl_get_var_unsafe \$DEFAULT_CXXFLAGS -u "DEFAULT_CXXFLAGS_${BUILD_KIND}";
-: ${DEFAULT_CXXFLAGS_CONFIGURE:=${DEFAULT_CXXFLAGS}};
-rtl_get_var_unsafe \$DEFAULT_CXXFLAGS_HOST -u "DEFAULT_CXXFLAGS_${BUILD_KIND}_HOST";
-rtl_get_var_unsafe \$DEFAULT_CXXFLAGS_RUNTIME -u "DEFAULT_CXXFLAGS_${BUILD_KIND}_RUNTIME";
-: ${DEFAULT_LDFLAGS_DEBUG:=""};
-: ${DEFAULT_LDFLAGS_DEBUG_HOST:=""};
-: ${DEFAULT_LDFLAGS_DEBUG_RUNTIME:=""};
-: ${DEFAULT_LDFLAGS_RELEASE:=""};
-: ${DEFAULT_LDFLAGS_RELEASE_HOST:=""};
-: ${DEFAULT_LDFLAGS_RELEASE_RUNTIME:=""};
-rtl_get_var_unsafe \$DEFAULT_LDFLAGS -u "DEFAULT_LDFLAGS_${BUILD_KIND}";
-: ${DEFAULT_LDFLAGS_CONFIGURE:=${DEFAULT_LDFLAGS}};
-rtl_get_var_unsafe \$DEFAULT_LDFLAGS_HOST -u "DEFAULT_LDFLAGS_${BUILD_KIND}_HOST";
-rtl_get_var_unsafe \$DEFAULT_LDFLAGS_RUNTIME -u "DEFAULT_LDFLAGS_${BUILD_KIND}_RUNTIME";
-
-#
-# Target-relative toolchain defaults
-: ${DEFAULT_CROSS_AR:=${DEFAULT_TARGET}-ar};
-: ${DEFAULT_CROSS_CC:=${DEFAULT_TARGET}-gcc};
-: ${DEFAULT_CROSS_CCLD:=${DEFAULT_TARGET}-gcc};
-: ${DEFAULT_CROSS_CMAKE:=cmake};
-: ${DEFAULT_CROSS_CXX:=${DEFAULT_TARGET}-g++};
-: ${DEFAULT_CROSS_LD:=${DEFAULT_TARGET}-ld};
-: ${DEFAULT_CROSS_LIBTOOL:=slibtool};
-: ${DEFAULT_CROSS_MAKE:=make};
-: ${DEFAULT_CROSS_RANLIB:=${DEFAULT_TARGET}-ranlib};
-: ${DEFAULT_HOST_AR:=ar};
-: ${DEFAULT_HOST_CC:=gcc};
-: ${DEFAULT_HOST_CCLD:=gcc};
-: ${DEFAULT_HOST_CMAKE:=cmake};
-: ${DEFAULT_HOST_CXX:=g++};
-: ${DEFAULT_HOST_LD:=ld};
-: ${DEFAULT_HOST_LIBTOOL:=slibtool};
-: ${DEFAULT_HOST_MAKE:=make};
-: ${DEFAULT_HOST_PKG_CONFIG:=${PREFIX}/bin/${DEFAULT_TARGET}-pkg-config};
-: ${DEFAULT_HOST_PKG_CONFIG_LIBDIR:=${PREFIX}/lib/pkgconfig};
-: ${DEFAULT_HOST_RANLIB:=ranlib};
-: ${DEFAULT_NATIVE_AR:=${DEFAULT_TARGET}-ar};
-: ${DEFAULT_NATIVE_CC:=${DEFAULT_TARGET}-gcc};
-: ${DEFAULT_NATIVE_CCLD:=${DEFAULT_TARGET}-gcc};
-: ${DEFAULT_NATIVE_CMAKE:=cmake};
-: ${DEFAULT_NATIVE_CXX:=${DEFAULT_TARGET}-g++};
-: ${DEFAULT_NATIVE_LD:=${DEFAULT_TARGET}-ld};
-: ${DEFAULT_NATIVE_LIBTOOL:=slibtool};
-: ${DEFAULT_NATIVE_MAKE:=make};
-: ${DEFAULT_NATIVE_PKG_CONFIG:=${PREFIX}/bin/${DEFAULT_TARGET}-pkg-config};
-: ${DEFAULT_NATIVE_PKG_CONFIG_LIBDIR:=${PREFIX}/lib/pkgconfig};
-: ${DEFAULT_NATIVE_RANLIB:=${DEFAULT_TARGET}-ranlib};
-
-#
-# Default command & tool flags & variables
-: ${DEFAULT_AUTOCONF_CONFIG_GUESS:="copy"};
-: ${DEFAULT_CMAKE_LISTFILE:="CMakeLists.txt"};
-: ${DEFAULT_GIT_ARGS:=""};
-: ${DEFAULT_GITROOT:=git://midipix.org};
-: ${DEFAULT_GITROOT_HEAD:=git://midipix.org};
-: ${DEFAULT_MAKE_INSTALL_VNAME:=DESTDIR};
-: ${DEFAULT_MAKEFLAGS_LOADAVG:="-l${DEFAULT_BUILD_CPUS}"};
-: ${DEFAULT_MAKEFLAGS_PARALLELISE:="-j${DEFAULT_BUILD_CPUS}"};
-: ${DEFAULT_MAKEFLAGS_VERBOSITY:="V=99 VERBOSE=1"};
-: ${DEFAULT_RPM_JOBS_MAX:=1};
-: ${DEFAULT_RPM_JOBS_SEMAPHORE:="${BUILD_WORKDIR}/rpm.jobs"};
-: ${DEFAULT_RPM_JOBS_WAIT:=8};
-: ${DEFAULT_TIMESTAMP_FMT:="%Y/%m/%d %H:%M:%S"};
-: ${DEFAULT_WGET_ARGS:="--no-check-certificate --timeout=25 --waitretry=16"};
-: ${DEFAULT_ZIPDIST_DEFROOT:="/dev/fs/c/midipix"};
-
-#
-# Default CMake flags & variables
-: ${DEFAULT_CMAKE_ARGS:="
-	-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
-	-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY
-	-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
-	-DCMAKE_INSTALL_PREFIX=
-	-DCMAKE_VERBOSE_MAKEFILE=YES"};
-
-#
-# Default sofort flags & variables
-: ${DEFAULT_SOFORT_NATIVE_CC:="${DEFAULT_HOST_CC}"};
-: ${DEFAULT_SOFORT_NATIVE_CFLAGS:="-I${PREFIX}/include"};
-: ${DEFAULT_SOFORT_NATIVE_CXX:="${DEFAULT_HOST_CXX}"};
-: ${DEFAULT_SOFORT_NATIVE_CXXFLAGS:="-I${PREFIX}/include"};
-: ${DEFAULT_SOFORT_NATIVE_LD:="${DEFAULT_HOST_CCLD}"};
-: ${DEFAULT_SOFORT_NATIVE_LDFLAGS:="-L${PREFIX}/lib -Wl,-rpath,${PREFIX}/lib"};
-
-#
-# Build {log,status} & tarball names
-: ${DEFAULT_BUILD_LAST_FAILED_PKG_FNAME:=${BUILD_WORKDIR}/last_failed_pkg};
-: ${DEFAULT_BUILD_LOG_FNAME:=${PREFIX}/build.log};
-: ${DEFAULT_BUILD_LOG_LAST_FNAME:=${PREFIX}/build.log.last};
-: ${DEFAULT_BUILD_STATUS_IN_PROGRESS_FNAME:=${PREFIX}/BUILD_IN_PROGRESS};
-: ${DEFAULT_ZIPDIST_FNAME_PREFIX:=midipix-${ARCH}-${BUILD_KIND}.};
-
-#
-# GNU autotools cache
-: ${DEFAULT_CONFIG_CACHE:="
-ac_cv_buggy_getaddrinfo=no
-ac_cv_file__dev_ptc=no
-ac_cv_file__dev_ptmx=yes
-ac_cv_func_calloc_0_nonnull=yes
-ac_cv_func_chown_works=yes
-ac_cv_func_fork_works=yes
-ac_cv_func_getgroups_works=yes
-ac_cv_func_malloc_0_nonnull=yes
-ac_cv_func_memcmp_working=yes
-ac_cv_func_mmap_fixed_mapped=yes
-ac_cv_func_realloc_0_nonnull=yes
-ac_cv_func_strcoll_works=yes
-ac_cv_func_strnlen_working=yes
-ac_cv_func_working_mktime=yes
-gl_cv_func_gettimeofday_clobber=no
-gl_cv_func_tzset_clobber=no
-gt_cv_int_divbyzero_sigfpe=yes
-libffi_cv_hidden_visibility_attribute=yes
-xorg_cv_malloc0_returns_null=yes"};
-
-: ${CONFIG_CACHE_GNULIB:="
-gl_cv_double_slash_root=no
-ac_cv_func___fseterr=yes
-am_cv_func_working_getline=yes
-gl_cv_C_locale_sans_EILSEQ=yes
-gl_cv_func_cbrtl_ieee=yes
-gl_cv_func_ceilf_ieee=yes
-gl_cv_func_ceil_ieee=yes
-gl_cv_func_ceill_ieee=yes
-gl_cv_func_chown_ctime_works=yes
-gl_cv_func_chown_follows_symlink=yes
-gl_cv_func_chown_slash_works=yes
-gl_cv_func_exp2l_ieee=yes
-gl_cv_func_expm1_ieee=yes
-gl_cv_func_fclose_stdin=yes
-gl_cv_func_fchmodat_works=yes
-gl_cv_func_fchownat_empty_filename_works=yes
-gl_cv_func_fchownat_nofollow_works=yes
-gl_cv_func_fcntl_f_dupfd_cloexec=yes
-gl_cv_func_fcntl_f_dupfd_works=yes
-gl_cv_func_fdopendir_works=yes
-gl_cv_func_fflush_stdin=yes
-gl_cv_func_floorf_ieee=yes
-gl_cv_func_fmaf_works=yes
-gl_cv_func_fmal_works=yes
-gl_cv_func_fma_works=yes
-gl_cv_func_fmodf_ieee=yes
-gl_cv_func_fmod_ieee=yes
-gl_cv_func_fmodl_ieee=yes
-gl_cv_func_fopen_mode_e=yes
-gl_cv_func_fopen_mode_x=yes
-gl_cv_func_fpurge_works=yes
-gl_cv_func_fseeko=yes
-gl_cv_func_futimens_works=yes
-gl_cv_func_futimesat_works=yes
-gl_cv_func_getcwd_null=yes
-gl_cv_func_getgroups_works=yes
-gl_cv_func_gettimeofday_clobber=no
-gl_cv_func_hypotf_ieee=yes
-gl_cv_func_hypot_ieee=yes
-gl_cv_func_hypotl_ieee=yes
-gl_cv_func_isfinitel_works=yes
-gl_cv_func_isnanl_works=yes
-gl_cv_func_iswcntrl_works=yes
-gl_cv_func_linkat_nofollow=yes
-gl_cv_func_linkat_slash=yes
-gl_cv_func_link_follows_symlink=yes
-gl_cv_func_link_works=yes
-gl_cv_func_log10f_ieee=yes
-gl_cv_func_log10_ieee=yes
-gl_cv_func_log1pf_ieee=yes
-gl_cv_func_log1p_ieee=yes
-gl_cv_func_log1pl_ieee=yes
-gl_cv_func_log2f_ieee=yes
-gl_cv_func_log2_ieee=yes
-gl_cv_func_logf_ieee=yes
-gl_cv_func_log_ieee=yes
-gl_cv_func_lstat_dereferences_slashed_symlink=yes
-gl_cv_func_mbrlen_empty_input=yes
-gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes
-gl_cv_func_mbrtowc_empty_input=yes
-gl_cv_func_memchr_works=yes
-gl_cv_func_memmem_works_fast=yes
-gl_cv_func_mkdir_trailing_dot_works=yes
-gl_cv_func_mkdir_trailing_slash_works=yes
-gl_cv_func_mkfifo_works=yes
-gl_cv_func_mknod_works=yes
-gl_cv_func_modff_ieee=yes
-gl_cv_func_modf_ieee=yes
-gl_cv_func_modfl_ieee=yes
-gl_cv_func_nanosleep=yes
-gl_cv_func_open_directory_works=yes
-gl_cv_func_perror_works=yes
-gl_cv_func_posix_memalign_works=yes
-gl_cv_func_printf_directive_a=yes
-gl_cv_func_printf_directive_f=yes
-gl_cv_func_printf_directive_n=yes
-gl_cv_func_printf_enomem=yes
-gl_cv_func_printf_flag_zero=yes
-gl_cv_func_printf_infinite_long_double=yes
-gl_cv_func_printf_infinite=yes
-gl_cv_func_printf_sizes_c99=yes
-gl_cv_func_pselect_detects_ebadf=yes
-gl_cv_func_ptsname_sets_errno=yes
-gl_cv_func_readlink_works=yes
-gl_cv_func_readlink_trailing_slash=yes
-gl_cv_func_readlink_truncate=yes
-gl_cv_func_realpath_works=yes
-gl_cv_func_remainderf_ieee=yes
-gl_cv_func_remainder_ieee=yes
-gl_cv_func_remainderl_ieee=yes
-gl_cv_func_rename_dest_works=yes
-gl_cv_func_rename_link_works=yes
-gl_cv_func_rename_slash_dst_works=yes
-gl_cv_func_rename_slash_src_works=yes
-gl_cv_func_rmdir_works=yes
-gl_cv_func_roundf_ieee=yes
-gl_cv_func_round_ieee=yes
-gl_cv_func_select_detects_ebadf=yes
-gl_cv_func_setenv_works=yes
-gl_cv_func_signbit_gcc=yes
-gl_cv_func_signbit=yes
-gl_cv_func_signbit_builtins=yes
-gl_cv_func_sleep_works=yes
-gl_cv_func_snprintf_directive_n=yes
-gl_cv_func_snprintf_retval_c99=yes
-gl_cv_func_snprintf_truncation_c99=yes
-gl_cv_func_stat_dir_slash=yes
-gl_cv_func_stat_file_slash=yes
-gl_cv_func_stpncpy=yes
-gl_cv_func_strcasestr_linear=yes
-gl_cv_func_strchrnul_works=yes
-gl_cv_func_strerror_0_works=yes
-gl_cv_func_strstr_linear=yes
-gl_cv_func_strtod_works=yes
-gl_cv_func_strtold_works=yes
-gl_cv_func_strtoll_works=yes
-gl_cv_func_strtoull_works=yes
-gl_cv_func_svid_putenv=yes
-gl_cv_func_symlink_works=yes
-gl_cv_func_symlinkat_works=yes
-gl_cv_func_tdelete_works=yes
-gl_cv_func_truncf_ieee=yes
-gl_cv_func_trunc_ieee=yes
-gl_cv_func_truncl_ieee=yes
-gl_cv_func_tzset_clobber=no
-gl_cv_func_ungetc_works=yes
-gl_cv_func_unlink_busy_text=yes
-gl_cv_func_unlink_honors_slashes=yes
-gl_cv_func_unsetenv_works=yes
-gl_cv_func_usleep_works=yes
-gl_cv_func_utime_file_slash=yes
-gl_cv_func_utimensat_works=yes
-gl_cv_func_vsnprintf_posix=yes
-gl_cv_func_vsnprintf_zerosize_c99=yes
-gl_cv_func_vsprintf_posix=yes
-gl_cv_func_wcwidth_works=yes
-gl_cv_func_working_getdelim=yes
-gl_cv_func_working_mkstemp=yes
-gl_cv_func_working_mktime=yes
-gl_cv_func_working_strerror=yes
-gl_cv_struct_dirent_d_ino=yes
-gl_cv_func_getopt_gnu=yes
-gl_cv_pthread_rwlock_rdlock_prefer_writer=no"};
-
-# vim:filetype=sh textwidth=0
diff --git a/subr.ex/ex_pkg.subr b/subr.ex/ex_pkg.subr
index 8230cf7..3b3bba2 100644
--- a/subr.ex/ex_pkg.subr
+++ b/subr.ex/ex_pkg.subr
@@ -217,13 +217,23 @@ ex_pkg_load_vars() {
 		for _eplv_fname in				\
 				"${HOME}/midipix_build.vars"	\
 				"${HOME}/.midipix_build.vars"	\
-				../midipix_build.vars		\
-				./midipix.env;
+				../midipix_build.vars;
 		do
 			if [ -r "${_eplv_fname}" ]; then
 				rtl_fileop source "${_eplv_fname}";
 			fi;
 		done;
+
+		set +o noglob;
+		for _eplv_fname in				\
+				./env.d/*.env;
+		do
+			set -o noglob;
+			if [ -r "${_eplv_fname}" ]; then
+				rtl_fileop source "${_eplv_fname}";
+			fi;
+		done;
+		set -o noglob;
 	fi;
 
 	return "${_eplv_rc}";