summaryrefslogtreecommitdiffhomepage
path: root/subr
AgeCommit message (Collapse)AuthorFilesLines
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.
2020-06-26subr/rtl_fetch.subr:rtl_fetch_url_wget(): retain digest post-download & ↵Lucio Andrés Illanes Albornoz2-19/+46
forcibly re-download on mismatch (via midipix.) subr/rtl_complex.subr:rtl_check_digest{,_file}(): initial implementation.
2020-06-02subr/rtl_install.subr: correctly return failure given rtl_fileop() failure.Lucio Andrés Illanes Albornoz1-3/+9
2020-06-02midipix.env:${DEFAULT_BUILD_VARS}: adds ${PKG_CFLAGS_BUILD} and ↵Lucio Andrés Illanes Albornoz2-29/+47
${PKG_MAKE_SUBDIRS}. subr/pkg_{build,install}.subr: honour ${PKG_MAKE_SUBDIRS}. etc/README.md: updated.
2020-05-30subr/pkgtool_init.subr:pkgtoolp_init_getopts(): correctly set ${BUILD_KIND}.Lucio Andrés Illanes Albornoz1-1/+1
2020-05-27subr/pkg_install_files.subr:pkgp_install_files_strip(): strip minipix ↵Lucio Andrés Illanes Albornoz1-14/+18
packages unless --debug-minipix was specified (via midipix.)
2020-05-26etc/README.md: updated.Lucio Andrés Illanes Albornoz1-0/+15
2020-05-26subr/pkg_install{,_files}.subr: call pkgp_install{,_files}_perms() as early ↵Lucio Andrés Illanes Albornoz2-21/+25
as possible.
2020-05-26subr/pkg_install_files.subr:pkgp_install_files_strip(): check for either of ↵Lucio Andrés Illanes Albornoz1-1/+1
.debug_{frame,info} headers when checking whether to strip(1).
2020-05-15Include percentage and group counts in group status informationals.Lucio Andrés Illanes Albornoz1-10/+19
2020-05-15subr/rtl_complex.subr:rtl_percentage(): initial implementation.Lucio Andrés Illanes Albornoz2-10/+11
subr/ex_pkg_dispatch.subr:exp_pkg_dispatch_{expand_packages,group}(): use rtl_percentage().
2020-05-15Include percentage and package counts in build status informationals.Lucio Andrés Illanes Albornoz1-8/+8
2020-05-15Include percentage and package counts in build status informationals.Lucio Andrés Illanes Albornoz1-11/+19
2020-05-15subr/rtl_list.subr:rtl_l{assign,first}(): initial implementation.Lucio Andrés Illanes Albornoz2-2/+26
subr/pkg_install.subr:pkg_install(): use rtl_lassign().
2020-05-15subr/rtl.subr:rtl_set_IFS_nl(): initial implementation.Lucio Andrés Illanes Albornoz3-5/+8
subr/pkg_install.subr:pkgp_install_perms(): use rtl_set_IFS_nl(). subr/rtl_complex.subr:rtl_filter_vars(): use rtl_set_IFS_nl().
2020-05-15Optionally install ${PKG_DESTDIR_HOST} into ${PREFIX}.Lucio Andrés Illanes Albornoz4-21/+35
vars/libxslt.vars:pkg_libxslt_install_make_post(): install ${PREFIX}/bin/xslt-config into ${PKG_DESTDIR_HOST}/bin.
2020-05-11subr/build_init.subr:buildp_init_getopts(): allow mixing non-option ↵Lucio Andrés Illanes Albornoz2-46/+34
arguments w/ options. subr/pkgtool_init.subr:pkgtoolp_init_getopts(): allow mixing non-option arguments w/ options.
2020-05-11subr/pkgtool_init.subr:pkgtoolp_init_getopts(): clarify invalid command line ↵Lucio Andrés Illanes Albornoz1-1/+1
error message.
2020-05-11subr/build_init.subr:buildp_init_{args,getopts}(): call rtl_fileop_set_log() ↵Lucio Andrés Illanes Albornoz3-15/+24
as soon as possible. subr/ex_pkg.subr:ex_pkg_load_vars(): log variable file names at `notice' level. subr/rtl_fileop.subr:rtl_fileop(): implements `source'.
2020-05-11subr/ex_pkg.subr:ex_pkg_check_depends(): check for and exit on first unknown ↵Lucio Andrés Illanes Albornoz2-9/+8
dependent package. subr/ex_pkg_dispatch.subr():exp_pkg_dispatch_packages(): don't pass ${EX_PKG_DISPATCH_WAIT} to ex_pkg_check_depends().