summaryrefslogtreecommitdiffhomepage
path: root/vars/musl.vars
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2019-01-09 22:32:42 -0500
committerLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2019-01-10 14:02:42 +0000
commit41344b992625e8c206da27955a489ea9658dc1e3 (patch)
tree61b0c28073fc97cb4dea75800e65cac260116053 /vars/musl.vars
parent376774802c383b334fce024dd6cd8d24bd6a6262 (diff)
downloadmidipix_build-41344b992625e8c206da27955a489ea9658dc1e3.tar.bz2
midipix_build-41344b992625e8c206da27955a489ea9658dc1e3.tar.xz
musl: adjust rules and variables following mmglue's build-system transition.
Signed-off-by: Lucio Andrés Illanes Albornoz <lucio@lucioillanes.de>
Diffstat (limited to 'vars/musl.vars')
-rw-r--r--vars/musl.vars190
1 files changed, 13 insertions, 177 deletions
diff --git a/vars/musl.vars b/vars/musl.vars
index f1e819f0..97ee5cc5 100644
--- a/vars/musl.vars
+++ b/vars/musl.vars
@@ -1,187 +1,23 @@
#
# set -o errexit -o noglob are assumed.
-# Order: no_complex_host, full_host, full
#
-pkgp_musl_build_dir() {
- PKG_BUILD_DIR="${1}-${2}-${PKG_TARGET}";
+pkgp_mmglue_fetch_git() {
+ ex_rtl_fileop rm "${PKG_BASE_DIR}/mmglue";
+ ex_rtl_fetch_urls_git "${PKG_BASE_DIR}/build" "mmglue=${DEFAULT_GITROOT}/mmglue@main";
+ ex_pkg_state_set "${PKG_NAME}" fetch -extract;
};
-pkgp_musl_configure() {
- ex_rtl_fileop rm "${PKG_BASE_DIR}/${PKG_BUILD_DIR}";
- ex_rtl_fileop mkdir "${PKG_BASE_DIR}/${PKG_BUILD_DIR}";
- ex_rtl_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}";
- env lz_cflags_cmdline="" \
- lz_debug="yes" \
- ../lazy/lazy \
- -a "${ARCH}" \
- -c gcc \
- -f "${PKG_DESTDIR}" \
- -n musl \
- -p "../musl-${PKG_VERSION}" \
- -t "${lz_target}" \
- -x config;
-};
+pkg_musl_no_complex_host_fetch_git() {
+ pkgp_mmglue_fetch_git
+}
-pkg_musl_no_complex_host_all() {
- local _install="" _restart_at="${1}";
- PKG_MUSL_VERSION="${PKG_VERSION}";
- # Git clone what we need.
- ex_rtl_fetch_urls_git "${PKG_BASE_DIR}" "lazy=${DEFAULT_GITROOT}/lazy";
- export lz_arch="${ARCH}" lz_cflags_debug="-O2" lz_target="${PKG_TARGET}";
- # Musl: build (no-complex)
- _install=install_no_complex;
- pkgp_musl_build_dir "musl-${PKG_VERSION}" cross;
- if ! ex_pkg_state_test "${PKG_NAME}" fetch "${_restart_at}"; then
- ex_rtl_fetch_url_wget \
- "http://www.musl-libc.org/releases/musl-${PKG_VERSION}.tar.gz" \
- "${PKG_MUSL_NO_COMPLEX_SHA256SUM}";
- ex_rtl_fileop rm "${PKG_BASE_DIR}/mmglue";
- ex_rtl_fetch_urls_git "${PKG_BASE_DIR}" "mmglue=${DEFAULT_GITROOT}/mmglue";
- ex_pkg_state_set "${PKG_NAME}" fetch -extract;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" extract "${_restart_at}"; then
- ex_rtl_fileop rm "musl-${PKG_VERSION}";
- tar -C "${PKG_BASE_DIR}" -xf "${BUILD_DLCACHEDIR}/musl-${PKG_VERSION}.tar.gz";
- set +o noglob;
- ex_rtl_fileop cp ${PKG_BASE_DIR}/mmglue/* "${PKG_BASE_DIR}/musl-${PKG_VERSION}/";
- set -o noglob;
- ex_pkg_state_set "${PKG_NAME}" extract -patch;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" patch "${_restart_at}"; then
- set +o noglob; for _patch_fname in \
- "${MIDIPIX_BUILD_PWD}/patches/musl/"*.patch; do
- if [ -r "${_patch_fname}" ]; then
- patch -b -d "${PKG_BASE_DIR}/musl-${PKG_VERSION}" -p1 < "${_patch_fname}";
- fi;
- done; set -o noglob;
- ex_pkg_state_set "${PKG_NAME}" patch -configure;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" configure "${_restart_at}"; then
- pkgp_musl_configure;
- ex_pkg_state_set "${PKG_NAME}" configure -build;
- else
- ex_rtl_fileop cd "${PKG_BUILD_DIR}";
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" install_subdirs "${_restart_at}"; then
- pkg_install_subdirs;
- ex_pkg_state_set "${PKG_NAME}" install_subdirs -build;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" build "${_restart_at}"; then
- ./lazy -e "${_install}" -x build;
- ex_pkg_state_set "${PKG_NAME}" build -install;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" install "${_restart_at}"; then
- pkg_install;
- ex_pkg_state_set "${PKG_NAME}" install finish;
- fi;
-};
+pkg_musl_full_host_fetch_git() {
+ pkgp_mmglue_fetch_git
+}
-pkg_musl_full_host_all() {
- local _install="" _restart_at="${1}";
- # Git clone what we need.
- ex_rtl_fetch_urls_git "${PKG_BASE_DIR}" "lazy=${DEFAULT_GITROOT}/lazy";
- export lz_arch="${ARCH}" lz_cflags_debug="-O2" lz_target="${PKG_TARGET}";
- # Musl: build (full)
- _install=install;
- pkgp_musl_build_dir "musl-${PKG_VERSION}" cross;
- if ! ex_pkg_state_test "${PKG_NAME}" fetch "${_restart_at}"; then
- ex_rtl_fetch_url_wget \
- "http://www.musl-libc.org/releases/musl-${PKG_VERSION}.tar.gz" \
- "${PKG_MUSL_NO_COMPLEX_SHA256SUM}";
- ex_rtl_fileop rm "${PKG_BASE_DIR}/mmglue";
- ex_rtl_fetch_urls_git "${PKG_BASE_DIR}" "mmglue=${DEFAULT_GITROOT}/mmglue";
- ex_pkg_state_set "${PKG_NAME}" fetch -extract;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" extract "${_restart_at}"; then
- ex_rtl_fileop rm "musl-${PKG_VERSION}";
- tar -C "${PKG_BASE_DIR}" -xf "${BUILD_DLCACHEDIR}/musl-${PKG_VERSION}.tar.gz";
- set +o noglob;
- ex_rtl_fileop cp ${PKG_BASE_DIR}/mmglue/* "${PKG_BASE_DIR}/musl-${PKG_VERSION}/";
- set -o noglob;
- ex_pkg_state_set "${PKG_NAME}" extract -patch;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" patch "${_restart_at}"; then
- set +o noglob; for _patch_fname in \
- "${MIDIPIX_BUILD_PWD}/patches/musl/"*.patch; do
- if [ -r "${_patch_fname}" ]; then
- patch -b -d "${PKG_BASE_DIR}/musl-${PKG_VERSION}" -p1 < "${_patch_fname}";
- fi;
- done; set -o noglob;
- ex_pkg_state_set "${PKG_NAME}" patch -configure;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" configure "${_restart_at}"; then
- pkgp_musl_configure;
- ex_pkg_state_set "${PKG_NAME}" configure -build;
- else
- ex_rtl_fileop cd "${PKG_BUILD_DIR}";
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" install_subdirs "${_restart_at}"; then
- pkg_install_subdirs;
- ex_pkg_state_set "${PKG_NAME}" install_subdirs -build;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" build "${_restart_at}"; then
- ./lazy -e "${_install}" -x build;
- ex_pkg_state_set "${PKG_NAME}" build -install;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" install "${_restart_at}"; then
- pkg_install;
- ex_pkg_state_set "${PKG_NAME}" install finish;
- fi;
-};
-
-pkg_musl_full_all() {
- local _install="" _restart_at="${1}";
- # Git clone what we need.
- ex_rtl_fetch_urls_git "${PKG_BASE_DIR}" "lazy=${DEFAULT_GITROOT}/lazy";
- export lz_arch="${ARCH}" lz_cflags_debug="-O2" lz_target="${PKG_TARGET}";
- # Musl: build (full)
- _install=install;
- pkgp_musl_build_dir "musl-${PKG_VERSION}" native;
- if ! ex_pkg_state_test "${PKG_NAME}" fetch "${_restart_at}"; then
- ex_rtl_fetch_url_wget \
- "http://www.musl-libc.org/releases/musl-${PKG_VERSION}.tar.gz" \
- "${PKG_MUSL_NO_COMPLEX_SHA256SUM}";
- ex_rtl_fileop rm "${PKG_BASE_DIR}/mmglue";
- ex_rtl_fetch_urls_git "${PKG_BASE_DIR}" "mmglue=${DEFAULT_GITROOT}/mmglue";
- ex_pkg_state_set "${PKG_NAME}" fetch -extract;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" extract "${_restart_at}"; then
- ex_rtl_fileop rm "musl-${PKG_VERSION}";
- tar -C "${PKG_BASE_DIR}" -xf "${BUILD_DLCACHEDIR}/musl-${PKG_VERSION}.tar.gz";
- set +o noglob;
- ex_rtl_fileop cp ${PKG_BASE_DIR}/mmglue/* "${PKG_BASE_DIR}/musl-${PKG_VERSION}/";
- set -o noglob;
- ex_pkg_state_set "${PKG_NAME}" extract -patch;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" patch "${_restart_at}"; then
- set +o noglob; for _patch_fname in \
- "${MIDIPIX_BUILD_PWD}/patches/musl/"*.patch; do
- if [ -r "${_patch_fname}" ]; then
- patch -b -d "${PKG_BASE_DIR}/musl-${PKG_VERSION}" -p1 < "${_patch_fname}";
- fi;
- done; set -o noglob;
- ex_pkg_state_set "${PKG_NAME}" patch -configure;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" configure "${_restart_at}"; then
- pkgp_musl_configure;
- ex_pkg_state_set "${PKG_NAME}" configure -build;
- else
- ex_rtl_fileop cd "${PKG_BUILD_DIR}";
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" install_subdirs "${_restart_at}"; then
- pkg_install_subdirs;
- ex_pkg_state_set "${PKG_NAME}" install_subdirs -build;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" build "${_restart_at}"; then
- ./lazy -e "${_install}" -x build;
- ex_rtl_fileop ln_symbolic ../lib/libc.so "${PKG_DESTDIR}/bin/ldd";
- ex_pkg_state_set "${PKG_NAME}" build -install;
- fi;
- if ! ex_pkg_state_test "${PKG_NAME}" install "${_restart_at}"; then
- pkg_install;
- ex_pkg_state_set "${PKG_NAME}" install finish;
- fi;
-};
+pkg_musl_full_fetch_git() {
+ pkgp_mmglue_fetch_git
+}
# vim:filetype=sh