summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2021-04-11 12:54:46 +0100
committerLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2021-04-11 12:54:46 +0100
commit168e556aba2831a9217ca492619466419c6c8eb0 (patch)
tree5375c42e02ecb1213331a74a4a14e9f92e3d826e
parentb93af38a450391520b810fb465a07c29013fe9b0 (diff)
downloadmidipix_build-168e556aba2831a9217ca492619466419c6c8eb0.tar.bz2
midipix_build-168e556aba2831a9217ca492619466419c6c8eb0.tar.xz
Integrate w/ sofort's ${NATIVE_{C,CXX,LD}FLAGS}.
groups/{000.host_tools,010.host_deps,200.native_packages}.group:${*_SOFORT_NATIVE_C{,XX}FLAGS}: build w/ -I${PREFIX}/include. groups/010.host_deps.group:python[23]_host:${PKG_ENV_VARS_EXTRA}: updated. groups/010.host_deps.group:python[23]_host:${PKG_SOFORT_FORCE}: force calling ex_pkg_env_sofort(). groups/010.host_deps.group:python3_host:${PKG_SOFORT_NATIVE_CC}: build w/ ${DEFAULT_HOST_CC} (via midipix.) groups/221.native_packages_dev.group:python[23]:${PKG_SOFORT_FORCE}: force calling ex_pkg_env_sofort(). groups/221.native_packages_dev.group:${PKG_{ENV_VARS_EXTRA,SOFORT_NATIVE_CFLAGS_EXTRA}}: updated. midipix.env:${DEFAULT_BUILD_VARS}: adds SOFORT_NATIVE_{{CC,CXX,LD},{C,CXX,LD}FLAGS{,_EXTRA}}. patches/python3_host-3.6.3.local.patch: removes obsolete patch. subr/ex_pkg_env.subr:ex_pkg_env_sofort(): initial implementation. subr/ex_pkg_env.subr:ex_pkg_env(): call ex_pkg_env_sofort() initially. subr/pkg_configure_autotools.subr: call ex_pkg_env_sofort().
-rw-r--r--groups/000.host_tools.group3
-rw-r--r--groups/010.host_deps.group10
-rw-r--r--groups/200.native_packages.group3
-rw-r--r--groups/221.native_packages_dev.group6
-rw-r--r--midipix.env7
-rw-r--r--patches/python3_host-3.6.3.local.patch54
-rw-r--r--subr/ex_pkg_env.subr45
-rw-r--r--subr/pkg_configure_autotools.subr1
8 files changed, 68 insertions, 61 deletions
diff --git a/groups/000.host_tools.group b/groups/000.host_tools.group
index 45b104b6..febf51a8 100644
--- a/groups/000.host_tools.group
+++ b/groups/000.host_tools.group
@@ -8,6 +8,9 @@ HOST_TOOLS_PACKAGES="
autoconf_host automake_host gettext_tiny_host install_strip_host
libtool_host m4_host pkgconf_host slibtool_host tpax_host";
HOST_TOOLS_PREFIX="${PREFIX}";
+HOST_TOOLS_SOFORT_NATIVE_CFLAGS="-I${PREFIX}/include";
+HOST_TOOLS_SOFORT_NATIVE_CXXFLAGS="-I${PREFIX}/include";
+HOST_TOOLS_SOFORT_NATIVE_LDFLAGS="-L${PREFIX}/lib -Wl,-rpath,${PREFIX}/lib";
: ${PKG_AUTOCONF_HOST_DEPENDS:="m4_host pkgconf_host slibtool_host"};
: ${PKG_AUTOCONF_HOST_SHA256SUM:=64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684};
: ${PKG_AUTOCONF_HOST_VERSION:=2.69};
diff --git a/groups/010.host_deps.group b/groups/010.host_deps.group
index 3b5d4647..40ead499 100644
--- a/groups/010.host_deps.group
+++ b/groups/010.host_deps.group
@@ -19,6 +19,9 @@ perk_host python2_host python3_host ruby_host sbsigntools_host
sqlite3_host texinfo_host tzdb_host util_linux_host xz_host";
HOST_DEPS_PKG_CONFIG="${PREFIX}/bin/pkgconf";
HOST_DEPS_PREFIX="${PREFIX}";
+HOST_DEPS_SOFORT_NATIVE_CFLAGS="-I${PREFIX}/include";
+HOST_DEPS_SOFORT_NATIVE_CXXFLAGS="-I${PREFIX}/include";
+HOST_DEPS_SOFORT_NATIVE_LDFLAGS="-L${PREFIX}/lib -Wl,-rpath,${PREFIX}/lib";
: ${PKG_BINUTILS_BUILD_DEPENDS:="texinfo_host"};
: ${PKG_BINUTILS_BUILD_SHA256SUM:=250d3b2925c6b211fb16173b0b25bc091c58829fbcad3eb849645e0af52cf7fa};
: ${PKG_BINUTILS_BUILD_VERSION:=2.24.51};
@@ -198,7 +201,8 @@ HOST_DEPS_PREFIX="${PREFIX}";
: ${PKG_PYTHON2_HOST_BUILD_DIR:=build/python2};
: ${PKG_PYTHON2_HOST_CONFIGURE:=build/sbpython2/configure};
: ${PKG_PYTHON2_HOST_CONFIGURE_ARGS:="--source-dir=../../Python-${PKG_PYTHON2_HOST_VERSION} --prefix=${PREFIX}"};
-: ${PKG_PYTHON2_HOST_ENV_VARS_EXTRA:="PYCOMPILE_CFLAGS=-I${PREFIX}/include:NATIVE_LDFLAGS=-Wl,-rpath,${PREFIX}/lib"};
+: ${PKG_PYTHON2_HOST_ENV_VARS_EXTRA:="PYCOMPILE_CFLAGS=-I${PREFIX}/include"};
+: ${PKG_PYTHON2_HOST_SOFORT_FORCE:=1};
: ${PKG_PYTHON2_HOST_MAKEFLAGS_INSTALL_EXTRA:="PREFIX= EXEC_PREFIX= BINDIR=/bin SBINDIR=/sbin LIBDIR=/lib INCLUDEDIR=/include OLDINCLUDEDIR=/include MANDIR=/share/man DOCDIR=/share/doc LIBEXECDIR=/libexec"};
: ${PKG_PYTHON2_HOST_SUBDIR:=Python-${PKG_PYTHON2_HOST_VERSION}};
: ${PKG_PYTHON3_HOST_DEPENDS:="bzip2_host expat_host gdbm_host libffi_host libreadline_host libressl_host libz_host ncurses_host ncursesw_host sqlite3_host xz_host"};
@@ -210,9 +214,11 @@ HOST_DEPS_PREFIX="${PREFIX}";
: ${PKG_PYTHON3_HOST_BUILD_DIR:=build/python3};
: ${PKG_PYTHON3_HOST_CONFIGURE:=build/sbpython3/configure};
: ${PKG_PYTHON3_HOST_CONFIGURE_ARGS:="--source-dir=../../Python-${PKG_PYTHON3_HOST_VERSION} --prefix=${PREFIX}"};
-: ${PKG_PYTHON3_HOST_ENV_VARS_EXTRA:="PYCOMPILE_CFLAGS=-I${PREFIX}/include:NATIVE_LDFLAGS=-Wl,-rpath,${PREFIX}/lib"};
+: ${PKG_PYTHON3_HOST_ENV_VARS_EXTRA:="PYCOMPILE_CFLAGS=-I${PREFIX}/include"};
: ${PKG_PYTHON3_HOST_INSTALL_FILES:="@python3=bin/python"};
: ${PKG_PYTHON3_HOST_MAKEFLAGS_INSTALL_EXTRA:="PREFIX= EXEC_PREFIX= BINDIR=/bin SBINDIR=/sbin LIBDIR=/lib INCLUDEDIR=/include OLDINCLUDEDIR=/include MANDIR=/share/man DOCDIR=/share/doc LIBEXECDIR=/libexec"};
+: ${PKG_PYTHON3_HOST_SOFORT_FORCE:=1};
+: ${PKG_PYTHON3_HOST_SOFORT_NATIVE_CC:="${DEFAULT_HOST_CC}"};
: ${PKG_PYTHON3_HOST_SUBDIR:=Python-${PKG_PYTHON3_HOST_VERSION}};
: ${PKG_RUBY_HOST_SHA256SUM:=ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507};
: ${PKG_RUBY_HOST_VERSION:=2.3.0};
diff --git a/groups/200.native_packages.group b/groups/200.native_packages.group
index 886fab53..bc4a5061 100644
--- a/groups/200.native_packages.group
+++ b/groups/200.native_packages.group
@@ -12,5 +12,8 @@ NATIVE_PACKAGES_PACKAGES="";
NATIVE_PACKAGES_PKG_CONFIG_LIBDIR="${PREFIX_NATIVE}/lib/pkgconfig";
NATIVE_PACKAGES_PREFIX="${PREFIX_NATIVE}";
NATIVE_PACKAGES_PYTHON="${PREFIX}/bin/python2";
+NATIVE_PACKAGES_SOFORT_NATIVE_CFLAGS="-I${PREFIX}/include";
+NATIVE_PACKAGES_SOFORT_NATIVE_CXXFLAGS="-I${PREFIX}/include";
+NATIVE_PACKAGES_SOFORT_NATIVE_LDFLAGS="-L${PREFIX}/lib -Wl,-rpath,${PREFIX}/lib";
# vim:filetype=sh textwidth=0
diff --git a/groups/221.native_packages_dev.group b/groups/221.native_packages_dev.group
index dde440bc..f14a4413 100644
--- a/groups/221.native_packages_dev.group
+++ b/groups/221.native_packages_dev.group
@@ -111,7 +111,8 @@ patch patchutils perl python2 python3 ruby sbsigntools smallbasic tk")";
: ${PKG_PYTHON2_BUILD_DIR:=build/python2};
: ${PKG_PYTHON2_CONFIGURE:=build/sbpython2/configure};
: ${PKG_PYTHON2_CONFIGURE_ARGS:="--source-dir=../../Python-${PKG_PYTHON2_VERSION} --sysroot=${PREFIX_NATIVE} --prefix= --target=${DEFAULT_TARGET}"};
-: ${PKG_PYTHON2_ENV_VARS_EXTRA:="NATIVE_CFLAGS=-std=c99 -D_XOPEN_SOURCE=700 -I${PREFIX}/include:NATIVE_LDFLAGS=-L${PREFIX}/lib -ltinfo -Wl,-rpath,${PREFIX}/lib"};
+: ${PKG_PYTHON2_SOFORT_FORCE:=1};
+: ${PKG_PYTHON2_SOFORT_NATIVE_CFLAGS_EXTRA:="-std=c99 -D_XOPEN_SOURCE=700"};
: ${PKG_PYTHON2_SUBDIR:=Python-${PKG_PYTHON2_VERSION}};
: ${PKG_PYTHON3_DEPENDS:="bzip2 curl expat gdbm libffi libreadline libressl libz ncursesw sqlite3 xz"};
: ${PKG_PYTHON3_SHA256SUM:=ab6193af1921b30f587b302fe385268510e80187ca83ca82d2bfe7ab544c6f91};
@@ -122,7 +123,8 @@ patch patchutils perl python2 python3 ruby sbsigntools smallbasic tk")";
: ${PKG_PYTHON3_BUILD_DIR:=build/python3};
: ${PKG_PYTHON3_CONFIGURE:=build/sbpython3/configure};
: ${PKG_PYTHON3_CONFIGURE_ARGS:="--source-dir=../../Python-${PKG_PYTHON3_VERSION} --sysroot=${PREFIX_NATIVE} --prefix= --target=${DEFAULT_TARGET}"};
-: ${PKG_PYTHON3_ENV_VARS_EXTRA:="NATIVE_CFLAGS=-std=c99 -D_XOPEN_SOURCE=700 -I${PREFIX}/include:NATIVE_LDFLAGS=-L${PREFIX}/lib -ltinfo -Wl,-rpath,${PREFIX}/lib"};
+: ${PKG_PYTHON3_SOFORT_FORCE:=1};
+: ${PKG_PYTHON3_SOFORT_NATIVE_CFLAGS_EXTRA:="-std=c99 -D_XOPEN_SOURCE=700"};
: ${PKG_PYTHON3_INSTALL_FILES:="@python3=bin/python"};
: ${PKG_PYTHON3_SUBDIR:=Python-${PKG_PYTHON3_VERSION}};
: ${PKG_RUBY_SHA256SUM:=ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507};
diff --git a/midipix.env b/midipix.env
index c594b27a..27909456 100644
--- a/midipix.env
+++ b/midipix.env
@@ -27,8 +27,11 @@ DEFAULT_BUILD_VARS="
LDFLAGS_CONFIGURE_EXTRA LIBTOOL MAKE MAKE_INSTALL_VNAME \
MAKE_SUBDIRS MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA \
MAKEFLAGS_INSTALL MAKEFLAGS_INSTALL_EXTRA MAKEFLAGS_VERBOSITY \
- MIRRORS MIRRORS_GIT NO_CLEAN NO_CLEAN_BASE_DIR NO_LOG_VARS PYTHON \
- PATCHES_EXTRA PKG_CONFIG PKG_CONFIG_LIBDIR PKGLIST_DISABLE PREFIX \
+ MIRRORS MIRRORS_GIT SOFORT_FORCE 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 NO_CLEAN NO_CLEAN_BASE_DIR NO_LOG_VARS \
+ PYTHON PATCHES_EXTRA PKG_CONFIG PKG_CONFIG_LIBDIR PKGLIST_DISABLE PREFIX \
RANLIB RPM_DISABLE SHA256SUM SUBDIR TARGET URL URLS_GIT VERSION";
# Path names
diff --git a/patches/python3_host-3.6.3.local.patch b/patches/python3_host-3.6.3.local.patch
deleted file mode 100644
index 7ec6deea..00000000
--- a/patches/python3_host-3.6.3.local.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- build/sbpython3/project/config/cfgdefs.sh.orig 2021-04-05 11:17:27.238909690 +0100
-+++ build/sbpython3/project/config/cfgdefs.sh 2021-04-06 10:51:52.866273106 +0100
-@@ -106,6 +106,7 @@
- if [ -n "$pycfg_pymalloc" ]; then
- cfgtest_cflags_append '-DWITH_PYMALLOC'
- fi
-+cfgtest_ldflags_append "-L$mb_prefix/lib"
- }
-
-
-@@ -306,8 +307,8 @@
- fi
-
- # ncurses libs (common part)
-- mb_ncurses_libs='-lpanelw -lncursesw'
-- mb_ncurses_tinfo='-ltinfo'
-+ mb_ncurses_libs='-lpanelw -lncursesw -ltinfow'
-+ mb_ncurses_tinfo='-ltinfow'
-
- if cfgtest_library_presence $mb_ncurses_tinfo; then
- mb_ncurses_libs="$mb_ncurses_libs $mb_ncurses_tinfo"
---- build/sbpython3/project/variants/3.6.3/pyexts.mk.orig 2021-04-05 11:17:27.246909408 +0100
-+++ build/sbpython3/project/variants/3.6.3/pyexts.mk 2021-04-06 10:51:52.898271950 +0100
-@@ -1012,7 +1012,7 @@
- PYEXT_OSSAUDIODEV_LOBJS = $(PYEXT_OSSAUDIODEV_SRCS:.c=.lo)
- PYEXT_OSSAUDIODEV_OBJS = $(PYEXT_OSSAUDIODEV_SRCS:.c=.o)
-
--PYEXT_OSSAUDIODEV_SHARED = pyext/ossaudiodev$(PYTHON_SOEXT)
-+#PYEXT_OSSAUDIODEV_SHARED = pyext/ossaudiodev$(PYTHON_SOEXT)
- PYEXT_OSSAUDIODEV_STATIC = pyext/ossaudiodev$(OS_ARCHIVE_EXT)
-
- $(PYEXT_OSSAUDIODEV_SHARED): $(PYEXT_OSSAUDIODEV_LOBJS)
---- build/sbpython3/project/variants/3.7.1/pyexts.mk.orig 2021-04-05 11:17:27.246909408 +0100
-+++ build/sbpython3/project/variants/3.7.1/pyexts.mk 2021-04-06 10:51:52.930270793 +0100
-@@ -1068,7 +1068,7 @@
- PYEXT_OSSAUDIODEV_LOBJS = $(PYEXT_OSSAUDIODEV_SRCS:.c=.lo)
- PYEXT_OSSAUDIODEV_OBJS = $(PYEXT_OSSAUDIODEV_SRCS:.c=.o)
-
--PYEXT_OSSAUDIODEV_SHARED = pyext/ossaudiodev$(PYTHON_SOEXT)
-+#PYEXT_OSSAUDIODEV_SHARED = pyext/ossaudiodev$(PYTHON_SOEXT)
- PYEXT_OSSAUDIODEV_STATIC = pyext/ossaudiodev$(OS_ARCHIVE_EXT)
-
- $(PYEXT_OSSAUDIODEV_SHARED): $(PYEXT_OSSAUDIODEV_LOBJS)
---- build/sbpython3/project/variants/3.7.2/pyexts.mk.orig 2021-04-05 11:17:27.250909267 +0100
-+++ build/sbpython3/project/variants/3.7.2/pyexts.mk 2021-04-06 10:51:52.958269781 +0100
-@@ -1068,7 +1068,7 @@
- PYEXT_OSSAUDIODEV_LOBJS = $(PYEXT_OSSAUDIODEV_SRCS:.c=.lo)
- PYEXT_OSSAUDIODEV_OBJS = $(PYEXT_OSSAUDIODEV_SRCS:.c=.o)
-
--PYEXT_OSSAUDIODEV_SHARED = pyext/ossaudiodev$(PYTHON_SOEXT)
-+#PYEXT_OSSAUDIODEV_SHARED = pyext/ossaudiodev$(PYTHON_SOEXT)
- PYEXT_OSSAUDIODEV_STATIC = pyext/ossaudiodev$(OS_ARCHIVE_EXT)
-
- $(PYEXT_OSSAUDIODEV_SHARED): $(PYEXT_OSSAUDIODEV_LOBJS)
diff --git a/subr/ex_pkg_env.subr b/subr/ex_pkg_env.subr
index ebfb8f46..6bea31c9 100644
--- a/subr/ex_pkg_env.subr
+++ b/subr/ex_pkg_env.subr
@@ -87,6 +87,48 @@ exp_pkg_env_set() {
fi;
};
+ex_pkg_env_sofort() {
+ local _pkg_base_dir="${1}" _pkg_sofort_force="${2}" _pkg_subdir="${3}" \
+ _vname="" _vname_new="" _vval="" _vval_old="";
+
+ if [ -d "${_pkg_base_dir}/${_pkg_subdir}/sofort" ]\ \
+ || [ "${_pkg_sofort_force:-0}" -eq 1 ]; then
+ for _vname in \
+ PKG_SOFORT_NATIVE_CC \
+ PKG_SOFORT_NATIVE_CFLAGS \
+ PKG_SOFORT_NATIVE_CXX \
+ PKG_SOFORT_NATIVE_CXXFLAGS \
+ PKG_SOFORT_NATIVE_LD \
+ PKG_SOFORT_NATIVE_LDFLAGS; do
+ _vname_new="PKG_${_vname#PKG_SOFORT_}";
+ rtl_set_var_unsafe "${_vname_new}" "";
+ done;
+ for _vname in \
+ PKG_SOFORT_NATIVE_CC \
+ PKG_SOFORT_NATIVE_CFLAGS \
+ PKG_SOFORT_NATIVE_CFLAGS_EXTRA \
+ PKG_SOFORT_NATIVE_CXX \
+ PKG_SOFORT_NATIVE_CXXFLAGS \
+ PKG_SOFORT_NATIVE_CXXFLAGS_EXTRA \
+ PKG_SOFORT_NATIVE_LD \
+ PKG_SOFORT_NATIVE_LDFLAGS \
+ PKG_SOFORT_NATIVE_LDFLAGS_EXTRA; do
+ if _vval="$(rtl_get_var_unsafe "${_vname}")" \
+ && [ -n "${_vval}" ]; then
+ _vname_new="${_vname#PKG_SOFORT_}";
+ case "${_vname}" in
+ *_EXTRA)
+ _vval_old="$(rtl_get_var_unsafe "${_vname_new%_EXTRA}")";
+ rtl_set_var_unsafe "${_vname_new%_EXTRA}" "${_vval_old:+${_vval_old} }${_vval}"; ;;
+ *)
+ rtl_set_var_unsafe "${_vname_new}" "${_vval}"; ;;
+ esac;
+ export "${_vname_new}";
+ fi;
+ done;
+ fi; return 0;
+};
+
#
# ex_pkg_env() - set package variables for single named package
# @_build_steps_default: list of default build steps
@@ -104,7 +146,8 @@ ex_pkg_env() {
_nounset="${4}" _pkg_name="${5}" _restart_at="${6}" _workdir="${7}" _vname="";
rtl_fileop source_opt "vars/${_pkg_name}.vars" "${_group_name}/${_pkg_name}.${_group_name}";
if ! exp_pkg_env_set "${_build_vars_default}" "${_group_name}" "${_nounset}" "${_pkg_name}"\
- || ! exp_pkg_env_defaults "${_build_steps_default}" "${_pkg_name}" "${_workdir}"; then
+ || ! exp_pkg_env_defaults "${_build_steps_default}" "${_pkg_name}" "${_workdir}"\
+ || ! ex_pkg_env_sofort "${PKG_BASE_DIR:-}" "${PKG_SOFORT_FORCE:-0}" "${PKG_SUBDIR:-}"; then
return 1;
fi;
};
diff --git a/subr/pkg_configure_autotools.subr b/subr/pkg_configure_autotools.subr
index c09f27a4..421be28b 100644
--- a/subr/pkg_configure_autotools.subr
+++ b/subr/pkg_configure_autotools.subr
@@ -4,6 +4,7 @@
pkg_configure_autotools() {
local _config_cache="" _fname="" _subdir_tgt="";
+ ex_pkg_env_sofort "${PKG_BASE_DIR}" "${PKG_SOFORT_FORCE:-0}" "${PKG_SUBDIR:-}";
if rtl_exists_any "${PKG_BASE_DIR}/${PKG_SUBDIR}" \
"config.guess" "configure.ac" "configure.in" "configure";
then rtl_export_vars PKG_CONFIG "${PKG_PKG_CONFIG:-}" PKG_CONFIG_LIBDIR "${PKG_PKG_CONFIG_LIBDIR:-}";