Build patch-2.5.9 with makefile rather than kaem.
This commit is contained in:
parent
76929dbf1b
commit
c54653116a
14
parts.rst
14
parts.rst
|
@ -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
|
||||
===========
|
||||
|
||||
|
|
|
@ -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 ..
|
||||
|
|
|
@ -1 +1 @@
|
|||
19ead2cf81b112f2e8907089954915eeae36d78df6bf1d2e72a0d7fc15c4483b /usr/bin/patch
|
||||
b229f2fcab31c1b01012cf30f397fc013cdd6404cb5cbb134aba9dfb745cbed6 /usr/bin/patch
|
||||
|
|
|
@ -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 $@
|
|
@ -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 ../..
|
||||
|
||||
|
|
Loading…
Reference in New Issue