Eliminate make 3.80 and use 3.82 instead when building with tcc

Unlike make 3.80, make 3.82 makes a call to putenv which does not exist
in mes libc so a stub was created for this function.

The checksum for the util-linux package required an update.
When built with original make 3.80 it resulted in an extra file
/usr/share/man/man8/.8 that does not exist when building with 3.82
This commit is contained in:
Paul Dersey 2023-01-17 13:29:03 -05:00
parent 0b7cd62f73
commit 91c168bb7d
8 changed files with 25 additions and 11 deletions

View file

@ -0,0 +1,11 @@
/*
* SPDX-FileCopyrightText: 2023 Paul Dersey <pdersey@gmail.com>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
int putenv(char *string)
{
return 0;
}

View file

@ -0,0 +1 @@
a7de9406e3adf34577628447696020944f7961d8a9da32c0da930316a05d0710 /usr/bin/make

74
sysa/make-3.82/make-3.82.kaem Executable file
View file

@ -0,0 +1,74 @@
#!/bin/sh
# SPDX-FileCopyrightText: 2021-22 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: GPL-3.0-or-later
set -ex
# Check tarball checksums
checksum-transcriber sources
sha256sum -c sources.SHA256SUM
mkdir build src
cd build
# Extract
unbz2 --file ${distfiles}/${pkg}.tar.bz2 --output ../src/${pkg}.tar
untar --file ../src/${pkg}.tar
rm ../src/${pkg}.tar
cd ${pkg}
# Create .h files
catm config.h
# Prepare
cp ../../files/putenv_stub.c putenv_stub.c
# Compile
tcc -c getopt.c
tcc -c getopt1.c
tcc -c -I. -Iglob -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DHAVE_STDINT_H ar.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DHAVE_FCNTL_H arscan.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DFILE_TIMESTAMP_HI_RES=0 commands.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DSCCS_GET=\"/nullop\" default.c
tcc -c -I. -Iglob -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DHAVE_DIRENT_H dir.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART expand.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DFILE_TIMESTAMP_HI_RES=0 file.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -Dvfork=fork function.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART implicit.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DHAVE_DUP2 -DHAVE_STRCHR -Dvfork=fork job.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DLOCALEDIR=\"/fake-locale\" -DPACKAGE=\"fake-make\" -DHAVE_MKTEMP -DHAVE_GETCWD main.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DHAVE_STRERROR -DHAVE_VPRINTF -DHAVE_ANSI_COMPILER -DHAVE_STDARG_H misc.c
tcc -c -I. -Iglob -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DINCLUDEDIR=\"${PREFIX}/include\" read.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DFILE_TIMESTAMP_HI_RES=0 -DHAVE_FCNTL_H -DLIBDIR=\"${PREFIX}/lib\" remake.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART rule.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART signame.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART strcache.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART variable.c
tcc -c -I. -DVERSION=\"3.82\" version.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART vpath.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART hash.c
tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART remote-stub.c
tcc -c -DHAVE_FCNTL_H getloadavg.c
tcc -c -Iglob -DSTDC_HEADERS glob/fnmatch.c
tcc -c -Iglob -DHAVE_STRDUP -DHAVE_DIRENT_H glob/glob.c
tcc -c putenv_stub.c
# Link
tcc -static -o ${bindir}/make getopt.o getopt1.o ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o implicit.o job.o main.o misc.o read.o remake.o rule.o signame.o strcache.o variable.o version.o vpath.o hash.o remote-stub.o getloadavg.o fnmatch.o glob.o putenv_stub.o
# Test
make --version
cd ../..
# Checksums
if match x${UPDATE_CHECKSUMS} xTrue; then
sha256sum -o ${pkg}.checksums \
/usr/bin/make
cp ${pkg}.checksums ${srcdir}
else
sha256sum -c ${pkg}.checksums
fi