Merge pull request #150 from stikonas/patch

Build patch-2.5.9 with makefile rather than kaem.
This commit is contained in:
fosslinux 2022-04-24 11:23:36 +10:00 committed by GitHub
commit a8ea576eee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 33 additions and 35 deletions

View File

@ -110,13 +110,6 @@ sed 4.0.9
You are most likely aware of GNU ``sed``, a line editor.
patch 2.5.9
===========
``patch`` is a very useful tool at this stage, allowing us to make
significantly more complex edits, including just changes to lines.
Luckily, we are able to patch ``patch`` using ``sed`` only.
make 3.80
=========
@ -124,6 +117,13 @@ GNU ``make`` is now built so we have a more robust building system.
``make`` allows us to do things like define rules for files rather than
writing complex kaem scripts.
patch 2.5.9
===========
``patch`` is a very useful tool at this stage, allowing us to make
significantly more complex edits, including just changes to lines.
Luckily, we are able to patch ``patch`` using ``sed`` only.
bzip2 1.0.8
===========

View File

@ -94,14 +94,14 @@ cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# patch
pkg="patch-2.5.9"
# make
pkg="make-3.80"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# make
pkg="make-3.80"
# patch
pkg="patch-2.5.9"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..

View File

@ -1 +1 @@
19ead2cf81b112f2e8907089954915eeae36d78df6bf1d2e72a0d7fc15c4483b /usr/bin/patch
b229f2fcab31c1b01012cf30f397fc013cdd6404cb5cbb134aba9dfb745cbed6 /usr/bin/patch

View File

@ -0,0 +1,15 @@
# SPDX-FileCopyrightText: 2022 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
CC = tcc
CFLAGS = -I .
CPPFLAGS = -DHAVE_DECL_GETENV -DHAVE_DECL_MALLOC -DHAVE_DIRENT_H -DHAVE_LIMITS_H -DHAVE_GETEUID -DHAVE_MKTEMP -DPACKAGE_BUGREPORT= -Ded_PROGRAM=\"/nullop\" -Dmbstate_t=void -DRETSIGTYPE=int -DHAVE_MKDIR -DHAVE_RMDIR -DHAVE_FCNTL_H -DPACKAGE_NAME=\"patch\" -DPACKAGE_VERSION=\"2.5.9\" -DHAVE_MALLOC -DHAVE_REALLOC -DSTDC_HEADERS -DHAVE_STRING_H -DHAVE_STDLIB_H
LDFLAGS = -static
.PHONY: all
all: patch
patch: error.o getopt.o getopt1.o addext.o argmatch.o backupfile.o basename.o dirname.o inp.o maketime.o partime.o patch.o pch_patched.o quote.o quotearg.o quotesys.o util.o version.o xmalloc.o
$(CC) $^ $(LDFLAGS) -o $@

View File

@ -14,6 +14,7 @@ cp ${sources}/${pkg}.tar.gz ../src/
gunzip -f ../src/${pkg}.tar.gz
tar xf ../src/${pkg}.tar
cd ${pkg}
cp ../../mk/main.mk Makefile
# Create config.h and patchlevel.h
catm config.h
@ -24,31 +25,13 @@ cp pch.c pch_patched.c
sed -i 841,848d pch_patched.c
# Compile
tcc -c error.c
tcc -c getopt.c
tcc -c getopt1.c
tcc -c -I. addext.c
tcc -c -I. argmatch.c
tcc -c -I. -DHAVE_DECL_GETENV -DHAVE_DECL_MALLOC -DHAVE_DIRENT_H -Dsize_t="unsigned long" backupfile.c
tcc -c -I. -Dsize_t="unsigned long" basename.c
tcc -c -I. -Dsize_t="unsigned long" dirname.c
tcc -c -I. -DHAVE_LIMITS_H -DHAVE_GETEUID inp.c
tcc -c -I. maketime.c
tcc -c -I. -Dsize_t="unsigned long" partime.c
tcc -c -I. -DHAVE_MKTEMP -DHAVE_LIMITS_H -DHAVE_GETEUID -DPACKAGE_BUGREPORT= patch.c
tcc -c -I. -Ded_PROGRAM=\"/nullop\" -DHAVE_LIMITS_H -DHAVE_GETEUID pch_patched.c
tcc -c -I. quote.c
tcc -c -I. -Dmbstate_t=void -Dsize_t="unsigned long" quotearg.c
tcc -c -I. quotesys.c
tcc -c -I. -DRETSIGTYPE=int -Dsize_t="unsigned long" -DHAVE_MKDIR -DHAVE_RMDIR -DHAVE_LIMITS_H -DHAVE_GETEUID -DHAVE_FCNTL_H util.c
tcc -c -I. -DPACKAGE_NAME=\"patch\" -DPACKAGE_VERSION=\"2.5.9\" version.c
tcc -c -I. -DHAVE_MALLOC -DHAVE_REALLOC xmalloc.c
# Link
tcc -static -o ${bindir}/patch error.o getopt.o getopt1.o addext.o argmatch.o backupfile.o basename.o dirname.o inp.o maketime.o partime.o patch.o pch_patched.o quote.o quotearg.o quotesys.o util.o version.o xmalloc.o
# Build
make -f Makefile PREFIX=${prefix}
# Test
patch --version
# Install
cp patch ${prefix}/bin/patch
chmod 755 ${prefix}/bin/patch
cd ../..