summaryrefslogtreecommitdiffhomepage
path: root/subr
AgeCommit message (Collapse)AuthorFilesLines
2022-03-27devbuild.sh: updated.Lucía Andrea Illanes Albornoz1-0/+3
subr/build_init.subr:buildp_init_getopts(): implement -p max.
2021-09-09Don't copy etc/config.guess for binutils{,_*}.Lucio Andrés Illanes Albornoz1-15/+27
etc/README.md: updated. midipix.env:${DEFAULT_BUILD_VARS}: adds AUTOCONF_CONFIG_GUESS. groups/010.host_deps.group:binutils_build:${PKG_PATCHES_EXTRA}: from chainport (via midipix.) patches/binutils_build-2.24.51.local.patch: from patches/binutils-2.24.51.local.patch (via midipix.) subr/pkg_configure_autotools.subr: copy etc/config.guess according to ${PKG_AUTOCONF_CONFIG_GUESS}.
2021-08-27subr/{build,pkgtool}_init.subr:{build,pkgtool}p_init_env(): correctly ↵Lucio Andrés Illanes Albornoz2-22/+39
implement messages file loading.
2021-08-26Implements localised message files.Lucio Andrés Illanes Albornoz7-25/+40
2021-08-26Optionally source etc/{build,pkgtool}.theme.local.Lucio Andrés Illanes Albornoz2-0/+10
.gitignore: updated.
2021-08-26Install Midipix' config.guess w/ autotools packages.Lucio Andrés Illanes Albornoz1-0/+10
etc/config.guess: cloned from https://dev.midipix.org/toolchain/bautomake/raw/main/f/src/config.guess (via Redfoxmoon.)
2021-08-26Implements logging tags, tag sets, and themes.Lucio Andrés Illanes Albornoz7-57/+87
subr/pkgtool_init.subr:pkgtoolp_init_args(): set ${BUILD_HNAME}.
2021-08-26Log messages at {info,notice,verbose} and {,-v,-vv}.Lucio Andrés Illanes Albornoz4-6/+6
2021-08-25subr/build_init.subr:buildp_init_getopts(): filter etc/build.usage{,.short} ↵Lucio Andrés Illanes Albornoz2-3/+18
if stdout does not refer to a tty. subr/pkgtool_init.subr:pkgtoolp_init_getopts_help(): filter etc/pkgtool.usage if stdout does not refer to a tty.
2021-08-25Implements ./build.sh -V {notice,verbose,build,fileops,install,xtrace}.Lucio Andrés Illanes Albornoz2-12/+27
2021-08-25subr/ex_pkg_env.subr:exp_pkg_env_set(): correctly inherit ${PKG_VARS_FILE} ↵Lucio Andrés Illanes Albornoz1-3/+9
given ${PKG_INHERIT_FROM}.
2021-08-24midipix.env:${DEFAULT_BUILD_VARS}: adds INSTALL_FILES_V2.Lucio Andrés Illanes Albornoz2-0/+28
subr.rtl/rtl_install_v2.subr:rtlp_install_fmap(): fix typo. subr.rtl/rtl_install_v2.subr:rtlp_install_fmap_patterns(): don't prepend ${_rifp2_prefix} w/ %<*>. subr/ex_pkg_exec.subr:exp_pkg_exec_pre(): honour ${PKG_INSTALL_FILES:-} in emitting missing_pkg. subr/pkg_install_files.subr:pkgp_install_files_v2(): initial implementation.
2021-08-24subr/ex_pkg_env.subr:ex_pkg_env(): correctly source ${PKG_VARS_FILE}.Lucio Andrés Illanes Albornoz1-2/+8
2021-08-24Split ./build.sh -x from ./build.sh -vvvv.Lucio Andrés Illanes Albornoz1-5/+5
2021-08-24subr/pkg_fetch_download.subr:pkg_fetch_download_clean_dlcache(): correctly ↵Lucio Andrés Illanes Albornoz1-1/+1
silence cd(1)'s stderr.
2021-08-24subr/pkg_install.subr:pkg_install(): remove useless date(1) call.Lucio Andrés Illanes Albornoz1-1/+1
2021-08-24Adds ${PKG_VARS_FILE} package variable.Lucio Andrés Illanes Albornoz1-1/+1
2021-08-19subr.rtl/rtl_fetch_git.subr:{rtlp_fetch_url_git,rtl_fetch_mirror_urls_git}() ↵Lucio Andrés Illanes Albornoz1-14/+15
: correctly reference ${_subdir} when {fetching,mirroring}. subr/pkg_fetch_download.subr:pkg_fetch_download_clean_dlcache(): correctly cleanup dlcache wrt. Git repositories.
2021-08-19subr/ex_pkg_exec.subr:exp_pkg_exec_pre(): always create any of ↵Lucio Andrés Illanes Albornoz1-0/+3
${PKG_{{BASE,BUILD}_DIR,DESTDIR{,_HOST}}} if non-existent.
2021-08-19Switch to portable [!...] vs. [^...] patterns.Lucio Andrés Illanes Albornoz2-3/+3
2021-07-14subr/pkg_install_files.subr:pkgp_install_files_pkgconfig(): Amend absolute ↵David Macek1-0/+5
includedir paths into relative ones Signed-off-by: Ørjan Malde <red@foxi.me>
2021-05-12Implements CMake support.Lucio Andrés Illanes Albornoz5-55/+173
etc/README.md: updated. groups/{000.host_tools,010.host_deps,200.native_packages,800.minipix}.group:${*_SOFORT_NATIVE_{C,CXX,LD}FLAGS}: merged into midipix.env. groups/010.host_deps.group:{clang,cmake_host,libzip,llvm}_host:${PKG_CMAKE_ARGS_EXTRA}: added. groups/010.host_deps.group:cmake_host:${PKG_CONFIGURE_TYPE}: configure w/ cmake. groups/010.host_deps.group:cmake_host:${PKG_INSTALL_FILES}: added. groups/010.host_deps.group:expat_host:${PKG_CONFIGURE_TYPE}: configure w/ autotools. groups/010.host_deps.group:python[23]_host:${PKG_{ENV_VARS_EXTRA,SOFORT_FORCE}}: removed. groups/010.host_deps.group:python[23]_host:${PKG_CONFIGURE_TYPE}: configure w/ sofort. groups/010.host_deps.group:python[23]_host:${PKG_SOFORT_NATIVE_CC}: removed. groups/221.native_packages_dev.group:python[23]:${PKG_SOFORT_FORCE}: removed. groups/221.native_packages_dev.group:python[23]:${PKG_CONFIGURE_TYPE}: configure w/ sofort. groups/231.native_packages_etc.group:{cmake,minizip,openjpeg,tdnf,xpdf}:${PKG_CMAKE_ARGS_EXTRA}: added. groups/231.native_packages_etc.group:cmake:${PKG_CONFIGURE_ARGS}: removed. groups/231.native_packages_etc.group:utf8proc:${PKG_IN_TREE}: don't build in-tree. groups/251.native_packages_lib.group:lib{jpeg_turbo,solv,ssh,zip}:${PKG_CMAKE_ARGS_EXTRA}: added. midipix.env:${DEFAULT_BUILD_VARS}: adds ${PKG_{CMAKE{,_{ARGS{,_EXTRA},LISTFILE}},CONFIGURE_TYPE},SOFORT_NATIVE_{C{C,XX},{C,CXX,LD}FLAGS,LD}}. midipix.env:${DEFAULT_BUILD_VARS}: removes ${PKG_SOFORT_FORCE}. midipix.env:${DEFAULT_{CMAKE_LISTFILE,{CROSS,HOST,NATIVE}_CMAKE}}: added. subr.rtl/rtl_complex.subr:rtl_export_vars(): ignore values during -u. subr.rtl/rtl_platform.subr:rtl_set_vars(): updated. subr/ex_pkg_env.subr:exp_pkg_env_set(): always convert ${PKG_{AR,CC,CXX,PKG_CONFIG,RANLIB}} to absolute pathnames. subr/ex_pkg_env.subr:ex_pkg_env_sofort(): merged into subr/pkg_configure.subr. subr/ex_pkg_restart.subr:ex_pkg_process_restart_spec(): remove extraneous echo. subr/pkg_configure.subr:pkgp_configure_{cmake,sofort}(): initial implementation. subr/pkg_configure.subr:pkg_configure(): attempt configuration using autotools, sofort, or cmake. subr/pkg_configure_autotools.subr: skip if ${PKG_CONFIGURE_TYPE} is set and not "autotools". subr/pkg_fetch_clean.subr: fix typo. vars/{clang_host,cmake{,_host},lib{jpeg_turbo,solv,ssh,zip{,_host}},llvm_host,lolcode,minizip,openjpeg,tdnf,xpdf}.vars: deleted.
2021-05-11subr/ex_pkg_restart.subr:ex_pkg_process_restart_spec(): correctly lift ↵Lucio Andrés Illanes Albornoz1-2/+3
${${_epprs_rspec}} into SP-separated list on return. devbuild.sh: updated.
2021-05-11subr/ex_pkg_restart.subr:exp_pkg_expand_restart_spec(): fix variable name.Lucio Andrés Illanes Albornoz1-26/+28
subr/ex_pkg_restart.subr:ex_pkg_process_restart_spec(): don't process empty ${${_epprs_rspec}}.
2021-05-11subr/ex_pkg_restart.subr:ex_pkg_process_restart_spec(): correctly handle ↵Lucio Andrés Illanes Albornoz1-12/+17
{ALL,LAST} build steps.
2021-05-10Implements {fetch,configure,build,install}_clean.Lucio Andrés Illanes Albornoz7-156/+389
build.sh:buildp_dispatch_fail_pkg(): print NL when writing to ${DEFAULT_BUILD_LAST_FAILED_PKG_FNAME}. etc/{README.md,build.usage}: updated. midipix.env: updated. subr.rtl/rtl_complex.subr:rtl_sunset(): initial implementation. subr.rtl/rtl_list.subr:rtl_l{filter[23],length2,lift[23]}(): initial implementation. subr.rtl/rtl_state.subr:rtl_state_test(): take ${_build_steps} vs. ${_build_step}. subr/{build_init,ex_pkg_restart}.subr: splits extended restart syntax processing logic. subr/ex_pkg_exec.subr:ex_pkg_exec(): filter "start". subr/pkg_{build,configure,fetch,install}_clean.subr: initial implementation.
2021-05-07Implements extended -r syntax.Lucio Andrés Illanes Albornoz4-125/+234
build.sh:buildp_ast(): only reset package build step state if ${ARG_RESET_PKG} is 1. etc/{build.usage,README.md}: updated. etc/build.usage.short, subr/build_init.subr: implement short help screen. midipix.env: correctly escape multi-line variable assignment expressions. subr.rtl/rtl_list.subr: updated. subr.rtl/rtl_state.subr:rtl_state_set(): correctly implement invalidation. subr.rtl/rtl_state.subr:rtl_state_test(): honour `LAST'. subr/build_init.subr:buildp_init_getopts(): implements --reset-pkg. subr/build_init.subr:buildp_{expand_restart_{at,recursive},process_restart_spec}(): initial implementation. subr/ex_pkg_{dispatch,env}.subr: updated. subr/ex_pkg_exec.subr:ex_pkg_exec(): honour `ALL' and `LAST'. vars/gcc.vars: updated.
2021-05-06patches/texinfo{,_host}-6.7.local.patch: added.Lucio Andrés Illanes Albornoz3-11/+30
midipix.env:${DEFAULT_{CROSS,HOST,NATIVE}_MAKE}: default to make. subr/pkg_{build,install}.subr: honour ${PKG_MAKE}. subr/pkg_build.subr: export "make LIBTOOL=${PKG_LIBTOOL}" during ${PKG_MAKE} if non-zero and not "none". subr/pkg_configure.subr: export "make LIBTOOL=${PKG_LIBTOOL}" during ${PKG_CONFIGURE} if non-zero and not "none". subr/pkg_install_make.subr: export "make LIBTOOL=${PKG_LIBTOOL}" during ${PKG_MAKE} if non-zero and not "none".
2021-04-16subr/ex_pkg_env.subr:ex_pkg_env_sofort(): remove stray backslash (via ↵Lucio Andrés Illanes Albornoz1-1/+1
Redfoxmoon.)
2021-04-11Integrate w/ sofort's ${NATIVE_{C,CXX,LD}FLAGS}.Lucio Andrés Illanes Albornoz2-1/+45
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().
2021-04-06subr/build_init.subr:buildp_init_args(): check both automatic as well as ↵Lucio Andrés Illanes Albornoz2-6/+18
non-automatic build groups. subr/ex_pkg.subr(:ex_pkg_load_vars(): return both automatic as well as non-automatic build groups.
2021-04-06subr/build_init.subr:buildp_init_args(): correctly concatenate ↵Lucio Andrés Illanes Albornoz1-2/+2
${DEFAULT_WGET_ARGS}.
2021-04-06subr/pkg_configure_patch.subr: infer -pnum from whether only one or both of ↵Lucio Andrés Illanes Albornoz1-4/+5
${PKG_{URL,URLS_GIT}} are present. patches/python2_host-2.7.15.local.patch: updated. patches/python3_host-3.6.3.local.patch: updated.
2021-04-06subr/pkg_configure_patch.subr:pkg_configure_patch(): correctly reference ↵Lucio Andrés Illanes Albornoz2-11/+11
possibly undefined ${PKG_{FNAME,URLS_GIT}}. subr/pkg_fetch_download.subr:pkg_fetch_download_clean_dlcache(): correctly reference possibly undefined ${_pkg_fname}.
2021-04-06pkgtool.sh:pkgtoolp_mirror_fetch(): call pkg_fetch_download_clean_dlcache() ↵Lucio Andrés Illanes Albornoz3-14/+37
post-{archive,Git} mirroring. pkgtool.sh:pkgtoolp_mirror_fetch(): mirror both archive as well as Git URL(s). subr/pkg_configure_patch.subr:pkg_configure_patch(): apply patches from within ${PKG_BASE_DIR} given both ${PKG_FNAME} and ${PKG_URLS_GIT}. subr.rtl/rtl_fetch.subr:rtl_fetch_mirror_urls_git(): ignore all but last component in ${_subdir}. subr.rtl/rtl_fetch.subr:rtl_fetch_mirror_urls_git(): create prerequisite directories. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): ignore all but last component in ${_subdir} wrt. ${_cache_dlname}. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): create prerequisite directories wrt. ${_tgtdir}. subr/ex_pkg_env.subr:exp_pkg_env_defaults(): reject absence of ${PKG_SUBDIR} given both ${PKG_FNAME} and ${PKG_URLS_GIT}. subr/pkg_fetch_download.subr:pkg_fetch_download_clean_dlcache(): initial implementation. subr/pkg_fetch_download.subr:pkg_fetch_download(): call pkg_fetch_download_clean_dlcache() post-{archive,Git} download.
2021-04-05subr/pkg_fetch_{download,extract}.subr: download into & auto-cleanup ↵Lucio Andrés Illanes Albornoz2-9/+38
${BUILD_DLCACHEDIR}/${PKG_NAME}/ vs. ${BUILD_DLCACHEDIR}/. vars/{gcc,python[23]{,_host}}.vars: updated.
2021-04-05pkgtool.sh:pkgtoolp_mirror_fetch(), subr/pkgtool_init.subr: implement and ↵Lucio Andrés Illanes Albornoz1-3/+9
honour -v. etc/{pkgtool.usage,README.md}: updated.
2021-04-05pkgtool.sh:pkgtool{,p_mirror}(): split -m <dname1>,<dname2> into -m <dname> ↵Lucio Andrés Illanes Albornoz1-4/+6
-M <dname> for convenience. subr/pkgtool_init.subr: split -m <dname1>,<dname2> into -m <dname> -M <dname> for convenience. etc/{pkgtool.usage,README.md}: updated.
2021-01-24Reimplements Git repository mirroring because Git is a special snowflake.Lucio Andrés Illanes Albornoz1-2/+6
etc/{README.md,pkgtool.usage}: updated. groups/221.native_packages_dev.group:cparser:${PKG_DISABLED}: disabled due to repository unavailability. groups/251.native_packages_lib.group:libfirm:${PKG_DISABLED}: disabled due to repository unavailability. midipix.env:${DEFAULT_BUILD_VARS}: adds MIRRORS_GIT. midipix.env:${DEFAULT_MIRRORS{,_GIT}}: split; mirror Git repositories via https://midipix.lucioillanes.de/repos_git/. pkgtool.sh:pkgtoolp_mirror_fetch(): call rtl_fetch_mirror_urls_git() vs. rtl_fetch_urls_git(). pkgtool.sh:pkgtoolp_mirror_fetch(): symlink instead of downloading given package w/ parent package. pkgtool.sh:pkgtoolp_mirror{,_fetch}(): split archives vs. Git repositories directory name. subr.rtl/rtl_fetch.subr: factor out ${DEFAULT_GIT_ARGS}. subr.rtl/rtl_fetch.subr:rtl_fetch_mirror_urls_git(): initial implementation. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): always return on failure. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): correctly attempt to git-clone(1) from ${PKG_URL} and then via ${PKG_MIRRORS}. subr.rtl/rtl_fetch.subr:{rtlp_fetch_url_git,rtl_fetch_urls_git}(): cleanup. {subr/pkg_fetch_download.subr,vars/{gcc,python[23]{,_host}}.vars}: call rtl_fetch_urls_git() w/ ${PKG_NAME} and ${PKG_MIRRORS_GIT:-}.
2021-01-23subr.rtl/rtl_fetch.subr:{rtlp_fetch_url_git,rtl_fetch_urls_git}(): ↵Lucio Andrés Illanes Albornoz1-1/+1
{receive,pass} ${_pkg_name}. subr.rtl/rtl_fetch.subr:rtl_fetch_urls_git(): return 1 on failure from rtlp_fetch_url_git(). subr/pkg_fetch_download.subr: pass ${PKG_NAME} to rtl_fetch_urls_git(). etc/README.md: updated.
2021-01-23Implements setting up & fetching from mirrors.Lucio Andrés Illanes Albornoz2-13/+17
etc/pkgtool.usage: updated. etc/README.md: updated. pkgtool.sh:pkgtoolp_mirror{,_fetch}(): initial implementation. subr/pkg_fetch_download.subr: default to empty ${PKG_MIRRORS}. subr/pkg_fetch_download.subr: factor out ${ARG_FETCH_FORCE} check and ${BUILD_DLCACHEDIR}. subr/pkgtool_init.subr: updated. subr.rtl/rtl_fetch.subr:rtl_fetch_urls_{git,wget}(): factor out ${ARG_FETCH_FORCE} check and ${BUILD_DLCACHEDIR}; minor cleanup. subr.rtl/rtl_fetch.subr:rtl_fetch_url_wget(): return vs. exit on fatal failure. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): copy only if ${_cache_dname} != ${_tgtdir}. subr.rtl/rtl_fetch.subr:rtlp_fetch_url_git(): return if unable to git-clone(1). subr.rtl/rtl_fetch.subr:{rtlp_fetch_url_git,rtl_fetch_urls_git}(): implement Git repository mirroring. vars/{gcc,python[23]{,_host}}.vars: updated.
2021-01-22Implements ${{DEFAULT,PKG,...}_MIRRORS}.Lucio Andrés Illanes Albornoz1-1/+1
build.sh:build(): define and zero-initialise ${DEFAULT_MIRRORS}. etc/README.md: updated. midipix.env: adds ${DEFAULT_MIRRORS} (https://midipix.org/mirror/ https://midipix.lucioillanes.de/archives/). subr.rtl/rtl_fetch.subr:rtl_fetch_url_wget(): receive and operate on target name and optional list of mirrors. subr/pkg_fetch_download.subr: additionally pass ${PKG_NAME} and ${PKG_MIRRORS} to rtl_fetch_url_wget().
2021-01-06etc/README.md: updated.Lucio Andrés Illanes Albornoz1-1/+1
2020-12-30subr/rtl*.subr, subr.rtl/: moved.Lucio Andrés Illanes Albornoz11-959/+2
subr/build_init.subr:buildp_init_env(): updated. subr/pkgtool_init.subr:pkgtoolp_init_env(): updated.
2020-12-24subr/build_init.subr:buildp_init_getopts(): fix -F.Lucio Andrés Illanes Albornoz1-3/+3
2020-11-26subr/build_init.subr:buildp_init_files(): export TMP{,DIR}=${BUILD_WORKDIR}.Lucio Andrés Illanes Albornoz2-2/+3
subr/pkgtool_init.subr:pkgtoolp_init_args(): export TMP{,DIR}=${BUILD_WORKDIR}.
2020-11-21subr/pkg_install_rpm.subr: ignore all but first ${PKG_URL} if list.Lucio Andrés Illanes Albornoz1-1/+1
2020-09-25subr/rtl_fetch.subr:rtl_fetch_url_wget(): updated.Lucio Andrés Illanes Albornoz1-5/+5
2020-09-10subr/pkgtool_init.subr:pkgtoolp_init_getopts(): allow overriding ↵Lucio Andrés Illanes Albornoz1-5/+1
${PKGTOOL_PKG_NAME} w/ -s[ -s[..]].
2020-09-08subr/rtl_fetch.subr:rtl_fetch_url_wget(): implement passing list of ↵Lucio Andrés Illanes Albornoz1-18/+48
alternative URLs and fine(r)-grained logging.