summaryrefslogtreecommitdiffhomepage
path: root/build.subr
AgeCommit message (Collapse)AuthorFilesLines
2016-07-21Adds -pi (old -i, insert build script) and -pr (remove build script.)Lucio Andrés Illanes Albornoz (arab, vxp)1-8/+31
2016-07-19- Additionally install ncursesw and ntctty into ${PREFIX_MINIPIX} and create ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-3/+15
Minipix tarball in 999.tarballs.build which solely contains ${PREFIX_MINIPIX}. - Adds {bash,coreutils}_static which are linked statically and installed to ${PREFIX_MINIPIX} as opposed to {bash_coreutils} which are not linked statically and installed to ${PREFIX_NATIVE}. - Adds file v5.28. - Add support for ${PREFIX_MINIPIX} to midipix.sh (either automatically detected or specified via -m.) - Adds verbosity flag -v wrt. secure_{cd,rm}() and insecure_mkdir(). - Build slibtool{_host,} w/ `--prefix='. - Export ${ARG_TARBALL} instead of special-casing build level 9. - Fix mc configure failure (error: could not determine how to read list of mounted file systems.)
2016-07-11Replaces rm_if_exists() [-m] [-c] w/ secure_rm(), insecure_mkdir(), and ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-15/+47
secure_cd(). secure_{rm,cd}() verify whether all pathnames supplied are rooted beneath ${PREFIX_ROOT}.
2016-07-11Adds ${PKG_GIT_BRANCH}; correctly handle Git branches.Lucio Andrés Illanes Albornoz (arab, vxp)1-3/+10
2016-07-11- Build slibtool_host in build level 0 and slibtool in build level 1.Lucio Andrés Illanes Albornoz (arab, vxp)1-36/+27
- Fetch lazy in 006.musl.full.build. - Infer the default number of make(1) jobs to run simultaneously from /proc/cpuinfo. - Merges <https://ftp.gnu.org/gnu/bash/bash-4.3-patches/> into bash-4.3.local.patch. - Print all attributes off SGR at the start of a message in log_msg(). - Simplify 009.gcc.full.build and fetch{,_git}(). - Only create library archives for shared objects that have actually been installed. - Only invoke git-clone(1) and wget(1) in fetch{_git,}() when necessary.
2016-07-10General cleanup; user-visible changes: -a nt{32,64}, -b {debug,release}.Lucio Andrés Illanes Albornoz (arab, vxp)1-265/+84
2016-06-24build.sh -i: refuse to overwrite build script w/ identical filename.Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+2
Followup to <3243be768ad8a601b2636be4dd23dbb6c2d7dd9b>.
2016-06-23build.{sh,subr,vars}: adds check_prereq_files() and ${CHECK_PREREQ_FILES} ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-5/+17
checking for gmp, mpc, and mpfr. (/usr/include/gmpxx.h /usr/include/mpc.h /usr/include/mpfr.h)
2016-06-23- Adds and integrates pkgconf_host and pkgconf; fixes Irssi and otherLucio Andrés Illanes Albornoz (arab, vxp)1-9/+72
packages that depend on pkg-config(1) and makes their build variables significantly less hacky (apk_tools, irssi, nano, ncurses, ncursestw ncursesw, and pacman.) pkgconf_host installs a ${TARGET}-pkg-config wrapper script that passes --define-variable=prefix=${PREFIX_NATIVE} when cross-compiling. - Adds -i flag to insert a link to pkg.build for a new build script and automatically rename build scripts with higher consecutive build levels. - Consistently quote [(1) operands correctly wherever necessary. - Reorganise build level 3 script levels: 1) 300-319: library dependencies, ordered by dependencies and alphabetically, 2) 320-389: leaf packages, ordered alphabetically.
2016-06-22List all missing prerequisite commands if one or more are missing.Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+4
2016-06-10Followup to <02dfe37d917ebb0d4b8476ccf37081bdf7eeb31a>:Lucio Andrés Illanes Albornoz (arab, vxp)1-4/+0
- Remove SourceForge support in fetch(). - Download zsh-5.2.tar.xz from a non-SF mirror.
2016-06-09Fix SourceForge URL downloads.Lucio Andrés Illanes Albornoz (arab, vxp)1-7/+15
2016-06-09Adds and integrates slibtool:Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+1
- Adds ${PKG_SLIBTOOL}. - pkg.build: export ${MAKE} as `make LIBTOOL=${PKG_SLIBTOOL}'. - binutils{_host,}: use slibtool-static. - git: add NEEDS_SSL_WITH_CURL=1 to ${PKG_GIT_MAKEFLAGS_BUILD_EXTRA}. - pacman-5.0.1: add `LIBALPM_LIBS=-lssl -lbz2 -llzma -lz' to ${PKG_PACMAN_ENV_VARS_EXTRA}; Makefile.am patch. Introduces 32-bit (i686-nt32-midipix) support, selected by ARCH=nt32 and defaulting to 64-bit builds: - Create ${PREFIX_TARGET}/lib. - Remove ${PREFIX_TARGET} when cleaning the prefix if -c has been specified. - Set ${HOST_NATIVE}, ${TARGET}, and ${TARBALL_{SRC_,}FNAME_PREFIX} from ${ARCH}. - pkg.build: use ${TARGET}-dlltool instead of x86_64-nt64-midipix-dlltool. - glib-2.46.2: broken at present. - libffi-3.2.1/src/x86/win32.S: fix symbol prefix. - musl-1.1.12/arch/nt32/bits/syscall.h: copied from musl-1.1.12/arch/nt64/bits/syscall.h. - perl-5.22.1: Set --target from ${TARGET}. Bug fixes: - psxstub: make {_,__}so_entry_point weak symbols to express preference for the real psxscl shared object. - bash-4.3: fix lib/intl/libgnuintl.h issue. - libarchive-3.1.2: import FreeBSD-SA-16:23.libarchive and FreeBSD-SA-16:22.libarchive security fixes. Include all directories beneath ${WORKDIR} in the source tarball. Updated TODO list at the end of README.
2016-05-25- Followup to <ffcc9c6a9dfeb481fb342accb71579ae5478ea74>.Lucio Andrés Illanes Albornoz (arab, vxp)1-7/+17
- Fix pseudo-local variable leaks in build.subr. - Log $PKG_* environment variables prior to building w/ pkg.build. - Always build musl w/ -g2 -O0. - Remove obsolete export CFLAGS=${CFLAGS_LVL${BUILD_LVL}} command from build.sh. - Handle bin/libpsxscl.{last,log} in midipix.sh. - Add autoconf to $CHECK_PREREQ_CMDS. - Include `Create `Midipix mintty shell' shortcut.vbs' in the tarball. - Changes the $PKG_ENV_VARS_EXTRA variable name-value pair separator from `,' to `:'. - Link bash and coreutils statically. - Changes the level 2 package --prefix to `', installing to DESTDIR=$PREFIX_LVL2.
2016-03-07Adds zsh v5.2.Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+2
2016-03-07Abort build when $BUILD_STATUS_IN_PROGRESS_FNAME exists.Lucio Andrés Illanes Albornoz (arab, vxp)1-2/+6
2016-03-06- Adds glib2, irssi, and libffi.Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+2
- Fixes signal handling wrt. build status files. - Simplify tarball creation procedure. - Forcibly remove all \*.la files from $PREFIX_LVL3/lib after each installation build step.
2016-03-05- Followup to last commit.Lucio Andrés Illanes Albornoz (arab, vxp)1-6/+9
- Replaced -[LI]${PREFIX_LVL3}/{lib,include} w/ --sysroot ${PREFIX_LVL3}.
2016-03-05- Followup to last commit.Lucio Andrés Illanes Albornoz (arab, vxp)1-3/+7
- Fixed bzip2 and musl (libc) installation wrt. $PREFIX_LVL/bin/{bz*,ldd} symlinks (reported by avih.)
2016-03-05Fixes clean_build_status() and clean_prefix().Lucio Andrés Illanes Albornoz (arab, vxp)1-3/+5
2016-03-05- Replaced ncursesw w/ separate ncurses{,{t,}w} builds.Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+8
-Integrated hexcurse and nano.
2016-03-02- Emit warnings whenever a potentially dangerous operation is invoked by the ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-2/+17
build scripts. Currently, this only includes rm_if_exists(). - Adds pedantic mode (-pt,) which additionally adds manual confirmation of each potentially dangerous operation.
2016-03-01- Fix tarball creation procedures and use xz(1) instead of bzip2(1).Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+10
- Honour $ARG_NO_DOWNLOAD in fetch_git() (reported by daurnimator.) - Fix libressl installation issue (reported by noninc.)
2016-02-27Cygwin compatibility fix ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-0/+1
($PREFIX/libexec/gcc/${TARGET}/${PKG_CBB_VERSION}/liblto_plugin.{dll.a,so}.)
2016-02-27Fix linking issue when building mpfr on Arch Linux due to libraryLucio Andrés Illanes Albornoz (arab, vxp)1-1/+1
pathname conflicts not properly handled by libtool. Since .la files need not be included in distribution tarballs, path fixups are applied to them directly. (see <http://www.metastatic.org/text/libtool.html>, reported by noninc.)
2016-02-27Adds -x (xtrace) and -X (xtrace and create debug tarball.)Lucio Andrés Illanes Albornoz (arab, vxp)1-0/+8
2016-02-27- Implements -c (clean) and -nd (no download (unless necessary.))Lucio Andrés Illanes Albornoz (arab, vxp)1-2/+64
- General cleanup; consistent build status files in $PREFIX, LICENSE -> LICENCE., fix libelf's pkg_libelf_install_post(), rotate status files and tarballs.
2016-02-27Replaced [ "x${... constructions w/ the equally portable [ "${....Lucio Andrés Illanes Albornoz (arab, vxp)1-7/+7
2016-02-27- Don't leak BUILD_IN_PROGRESS into $PWD.Lucio Andrés Illanes Albornoz (arab, vxp)1-4/+4
- Fixes -r.
2016-02-27- build.{sh,subr } cleanup including Cygwin compatibility fixes and ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-48/+14
[gs]et_var_dyn(). - Replaced --build-{scripts,steps} w/ -r, --tarball w/ -t, and --help w/ -h. - Create BUILD_{FINISHED,STARTED}_AT_..., BUILD_IN_PROGRESS, and TARBALL_STARTED_AT files and BUILD_FINISHED_AT symlink in $PREFIX whenever appropriate.
2016-02-23- Prepend local variable names w/ a function-unique prefix to prevent ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-82/+90
collisions and leaks. - Implemented consistent build/configure/install variable handling with per-level [0123] defaults. Fixes lack of uniform CFLAGS (-g3 -O0) usage. The new build variables include: - {AR,CC,RANLIB}_{BUILD,CONFIGURE,INSTALL}, - {{C,LD,MAKE}FLAGS_{BUILD,CONFIGURE,INSTALL}}{,_EXTRA}, - CONFIGURE_ARGS{,_EXTRA}, ENV_VARS_EXTRA, LIBTOOL_MIDIPIX, and PREFIX_EXTRA.
2016-02-12- Major cleanup in general.Lucio Andrés Illanes Albornoz (arab, vxp)1-92/+161
- Added --{build-{scripts,steps},help,tarball}. Variables can now be overriden on the command-line. - Integrated bzip2, dash, less, ncurses, popt, rsync, tar, util-linux, which, and xz; as there are no patches in portage/ for util-linux just yet, this presently requires integrated local patches. Git is included in build.vars only as it requires OpenSSL. - Include ntapi.local.patch and psxscl.local.patch in the repository.
2016-02-08- Explicitly pass {C,LD}FLAGS_PATH to the runtime (ntapi, psxscl,Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+21
etc.) build scripts; everything now goes into $PREFIX_NATIVE except for the cross compiler and its dependencies, which go into $PREFIX_TARGET. - Replaced specific PREFIX variables w/ generic per-build level CFLAGS. - Merged 204.psxscl.build into pkg.build. - Generalised patching procedure into build.subr.
2016-02-07Clear all locale (7) environment variables before each build.Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+5
2016-02-07Followup to last commit.Lucio Andrés Illanes Albornoz (arab, vxp)1-2/+2
2016-02-07Merged 300.coreutils.build with 101.gmp.build into pkg.build andLucio Andrés Illanes Albornoz (arab, vxp)1-2/+3
200.psxtypes.build with 204.psxscl.build.
2016-02-07- Followup to last commit.Lucio Andrés Illanes Albornoz (arab, vxp)1-3/+3
- Inserted dalist, ntapi, pemagine, psxtypes, psxscl, and ntctty in between build levels 1 (binutils...) and 2 (coreutils...) which is now build level 3. - Added SHA256 manifest for the upstream patches of bash, as verifying the signatures provided would tie in GnuPG as a dependency.
2016-02-07- Ensure global variable names are consistently capitalised and thatLucio Andrés Illanes Albornoz (arab, vxp)1-5/+11
no values are inherited when and wherever they should not be. - Remove pointless CFLAGS export in 007.gcc.full.build when doing a runtime or full build.
2016-02-07Apply all upstream patches for the bash version configured.Lucio Andrés Illanes Albornoz (arab, vxp)1-1/+2
2016-02-07- Replaced non-portable cp -a command lines w/ tar (1) invocations.Lucio Andrés Illanes Albornoz (arab, vxp)1-14/+30
- Provide CFLAGS for each build level and script consistently. - Create compressed distribution tarball at the end of a finished build. - Fix bug that prevented gzip and libz from being installed. - Followup to c497546f591a3cc128abda42d0026c46ffdd6c36.
2016-02-06- Moved log_msg() colour numbers into build.vars.Lucio Andrés Illanes Albornoz (arab, vxp)1-4/+4
- Changed info level colour to yellow.
2016-02-06- Refactored package building procedure into build.vars.Lucio Andrés Illanes Albornoz (arab, vxp)1-19/+17
- Changed build directory name format to $[1}-{cross,native}-${TARGET}. - Fixed binutils.host DESTDIR and libelf installation bug.
2016-02-06- Changed sha256sum (1) file verification logic to use dgst(1SSL) instead.Lucio Andrés Illanes Albornoz (arab, vxp)1-30/+39
- Removed support for particularly pathnames with whitespace or tab cha- racters. If you have whitespaces in your pathnames anyway, the script will methodically destroy every single file on your disk(s).
2016-02-06- Added sha256sum (1) file verification logic to parse_with_pkg_name(), ↵Lucio Andrés Illanes Albornoz (arab, vxp)1-4/+10
fetch(), and the respective build scripts (cheers sortie.) - Renamed ${..._VERSION} variables to ${PKG_..._VERSION} to prevent namespace collision (cheers drewrichardson.) - Use log_msg() in check_prereqs() in build.subr.
2016-02-06- Replaced local and >| instances w/ portable equivalent constructs.Lucio Andrés Illanes Albornoz (arab, vxp)1-25/+45
- Fixed several bugs. - Remove build.log from the repository.
2016-02-05Initial commitlalbornoz1-0/+101