mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
67 lines
1.9 KiB
Bash
67 lines
1.9 KiB
Bash
# the external logic for pulling in patches
|
|
|
|
get_patches() {
|
|
_patchdir=${srcdir}/patches
|
|
cd ${srcdir}/vim$(echo ${_srcver} | sed "s/\.//")
|
|
if [ -d ${_patchdir} ]; then
|
|
rm -rf ${_patchdir}
|
|
echo -e "\tremove patches from old build"
|
|
fi
|
|
mkdir ${_patchdir} && cd ${_patchdir}
|
|
_rpath=ftp://ftp.vim.org/pub/vim/patches/${_srcver}
|
|
|
|
# change IFS to loop line-by-line
|
|
_OLDIFS=$IFS
|
|
IFS="
|
|
"
|
|
echo -e "\tfetching checksumfile for patches"
|
|
wget ${_rpath}/MD5SUMS >/dev/null 2>&1
|
|
|
|
downloads=0
|
|
for _line in $(/bin/cat MD5SUMS); do
|
|
_file=$(echo $_line | cut -d ' ' -f3)
|
|
[ ${_file##*.} == "gz" ] && continue
|
|
downloads=$((${downloads} + 1))
|
|
_md5=$(echo $_line | cut -d ' ' -f1)
|
|
if [ -f ${SRCDEST}/vim-${_srcver}/${_file} ]; then
|
|
echo -e "\thaving patch file:${_file}"
|
|
cp ${SRCDEST}/vim-${_srcver}/${_file} ./
|
|
else
|
|
echo -n -e "\t... fetching patch file: ${_file} ..."
|
|
wget ${_rpath}/${_file} >/dev/null 2>&1
|
|
if [ -w ${SRCDEST} ]; then
|
|
if [ ! -d ${SRCDEST}/vim-${_srcver} ]; then
|
|
mkdir -p ${SRCDEST}/vim-${_srcver}
|
|
fi
|
|
cp ${_file} ${SRCDEST}/vim-${_srcver}/
|
|
echo " done!"
|
|
fi
|
|
fi
|
|
|
|
if [ $(echo "${_md5} ${_file}" | md5sum --status -c -) ]; then
|
|
echo ${_file} md5sums do not match
|
|
return 1
|
|
fi
|
|
done
|
|
|
|
########
|
|
|
|
if [ ${downloads} != ${_patchlevel} ]; then
|
|
echo ""
|
|
echo -e "\t\tWARNING!"
|
|
echo "You are not building the latest available version! A newer patchlevel"
|
|
echo "seems to be available. Please edit the PKGBUILD and add the latest"
|
|
echo "${downloads} as pkgrel number!"
|
|
echo ""
|
|
sleep 10
|
|
fi
|
|
IFS=$_OLDIFS
|
|
rm MD5SUMS
|
|
cd ${startdir}/src/vim$(echo ${_srcver} | sed "s/\.//")
|
|
for _patchnum in $(/usr/bin/seq 1 ${_patchlevel}); do
|
|
_patch=${_srcver}.$(printf "%03d" ${_patchnum})
|
|
patch -Np0 -i ${_patchdir}/${_patch} || return 1
|
|
done
|
|
rm -rf ${_patchdir}
|
|
return 0
|
|
}
|