live-bootstrap/steps/byacc-20240109/pass1.kaem
Gábor Stefanik 6567973a04 Make byacc actually work when compiled against meslibc
This replaces the previous sed hackery with a proper patch, and removes
a few more libc functions that meslibc is missing.
The binary name is changed to "byacc" so it doesn't get overwritten by
heirloom yacc.

The bsearch() replacement code comes from an earlier version of byacc.
2024-04-14 21:14:04 +02:00

45 lines
1,003 B
Bash

#!/bin/sh
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2021-22 fosslinux <fosslinux@aussies.space>
# SPDX-FileCopyrightText: 2024 Gábor Stefanik <netrolller.3d@gmail.com>
#
# 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
cp ${DISTFILES}/${pkg}.tgz ../src/${pkg}.tar.gz
gunzip -f ../src/${pkg}.tar.gz
tar xf ../src/${pkg}.tar
rm -r ../src/
cd ${pkg}
# Prepare and patch
cp ../../files/Makefile .
patch -Np0 -i ../../patches/meslibc.patch
# Build yacc
make CC=tcc AR=tcc\ -ar CFLAGS=-DMAXPATHLEN=100\ -DEILSEQ=84\ -DMB_LEN_MAX=100 LDFLAGS=-lgetopt\ -static RANLIB=true
# Install yacc
install yacc ${BINDIR}/byacc
cd ../..
# Checksums
if match x${UPDATE_CHECKSUMS} xTrue; then
sha256sum -o ${pkg}.checksums \
/usr/bin/byacc
install ${pkg}.checksums ${SRCDIR}
else
sha256sum -c ${pkg}.checksums
fi