patch(1) problems workaround
. NUL input in 2 source files cause patch(1) to truncate the input (and fail the patches); a sed command removes the NULs . in binutils/ld, configdoc.texi is patched to be removed but some patch(1)es leave an empty file, causing build problems; this file is explicitly removed. Change-Id: Iec38d3992b0df4f7bbb9a87b1320005ab3272ff1
This commit is contained in:
parent
0b79eac642
commit
5b851f3a9c
3 changed files with 26 additions and 14 deletions
3
external/gpl3/binutils/fetch.sh
vendored
3
external/gpl3/binutils/fetch.sh
vendored
|
@ -28,6 +28,7 @@ then
|
||||||
cd dist && \
|
cd dist && \
|
||||||
cat ../patches/* | patch -p1 && \
|
cat ../patches/* | patch -p1 && \
|
||||||
cp ../files/yyscript.h gold && \
|
cp ../files/yyscript.h gold && \
|
||||||
cp ../files/yyscript.c gold
|
cp ../files/yyscript.c gold && \
|
||||||
|
rm -f ld/configdoc.texi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
35
external/gpl3/gcc/fetch.sh
vendored
35
external/gpl3/gcc/fetch.sh
vendored
|
@ -1,15 +1,21 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
# Make sure we're in our directory (i.e., where this shell script is)
|
# Make sure we're in our directory (i.e., where this shell script is)
|
||||||
echo $0
|
echo $0
|
||||||
cd `dirname $0`
|
cd `dirname $0`
|
||||||
|
|
||||||
|
# Default sed: whatever's in $PATH; set by the buildsystem to be the
|
||||||
|
# host-built sed tool we know supports the syntax we use
|
||||||
|
: ${SED=sed}
|
||||||
|
|
||||||
# Configure fetch method
|
# Configure fetch method
|
||||||
URL="http://www.minix3.org/distfiles-minix/gcc-4.5.3.tar.bz2"
|
URL="http://www.minix3.org/distfiles-minix/gcc-4.5.3.tar.bz2"
|
||||||
BACKUP_URL="ftp://ftp.gwdg.de/pub/misc/gcc/releases/gcc-4.5.3/gcc-4.5.3.tar.bz2"
|
BACKUP_URL="ftp://ftp.gwdg.de/pub/misc/gcc/releases/gcc-4.5.3/gcc-4.5.3.tar.bz2"
|
||||||
FETCH=ftp
|
FETCH=ftp
|
||||||
which curl >/dev/null
|
if which curl >/dev/null
|
||||||
if [ $? -eq 0 ]; then
|
then
|
||||||
FETCH="curl -O -f"
|
FETCH="curl -O -f"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -32,16 +38,21 @@ then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
tar -oxjf gcc-4.5.3.tar.bz2 && \
|
tar -oxjf gcc-4.5.3.tar.bz2
|
||||||
mv gcc-4.5.3 dist && \
|
mv gcc-4.5.3 dist
|
||||||
cd dist && \
|
cd dist
|
||||||
rm -rf $DELETEDIRS && \
|
rm -rf $DELETEDIRS
|
||||||
cat ../patches/* | patch -p1 && \
|
for f in gcc/doc/gccinstall.info gcc/doc/gccint.info
|
||||||
cp ../files/minix.h gcc/config/ && \
|
do # This is a hack to remove NUL characters in these .info
|
||||||
cp ../files/t-minix gcc/config/ && \
|
# files. They make some patch(1)es fail.
|
||||||
cp ../files/minix-spec.h gcc/config/ && \
|
$SED 's/^..\[index..\]$/[index]/' <$f >k && mv k $f
|
||||||
cp ../files/arm-minix.h gcc/config/arm/minix.h && \
|
done
|
||||||
cp ../files/i386-minix.h gcc/config/i386/minix.h && \
|
cat ../patches/* | patch -p1
|
||||||
|
cp ../files/minix.h gcc/config/
|
||||||
|
cp ../files/t-minix gcc/config/
|
||||||
|
cp ../files/minix-spec.h gcc/config/
|
||||||
|
cp ../files/arm-minix.h gcc/config/arm/minix.h
|
||||||
|
cp ../files/i386-minix.h gcc/config/i386/minix.h
|
||||||
cp ../files/gcov-minix-fs-wrapper.h gcc/
|
cp ../files/gcov-minix-fs-wrapper.h gcc/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ GNUHOSTDIST?= ${.CURDIR}/../../gnu/dist/${MODULE}
|
||||||
# the corresponding ${.CURDIR}, which also conveniently hides from git.
|
# the corresponding ${.CURDIR}, which also conveniently hides from git.
|
||||||
.if exists(${GNUHOSTDIST:H}/fetch.sh)
|
.if exists(${GNUHOSTDIST:H}/fetch.sh)
|
||||||
${GNUHOSTDIST:H}/.gitignore: ${GNUHOSTDIST:H}/fetch.sh
|
${GNUHOSTDIST:H}/.gitignore: ${GNUHOSTDIST:H}/fetch.sh
|
||||||
${HOST_SH} ${GNUHOSTDIST:H}/fetch.sh
|
SED=${TOOL_SED} ${HOST_SH} ${GNUHOSTDIST:H}/fetch.sh
|
||||||
@test -e ${GNUHOSTDIST}/configure
|
@test -e ${GNUHOSTDIST}/configure
|
||||||
@echo "${MODULE:U${.CURDIR:T}:C,gcc[0-9]*,gcc,}-*.tar.*z*" >> $@
|
@echo "${MODULE:U${.CURDIR:T}:C,gcc[0-9]*,gcc,}-*.tar.*z*" >> $@
|
||||||
@echo ${GNUHOSTDIST:T} >> $@
|
@echo ${GNUHOSTDIST:T} >> $@
|
||||||
|
|
Loading…
Reference in a new issue