diff --git a/groups/000.host_tools.group b/groups/000.host_tools.group index 45b104b..febf51a 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 3b5d464..40ead49 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 886fab5..bc4a506 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 dde440b..f14a441 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 c594b27..2790945 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 7ec6dee..0000000 --- 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 ebfb8f4..6bea31c 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 c09f27a..421be28 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:-}";