You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-lang/perl/files/eblits/src_prepare-v50180002.eblit

71 lines
2.1 KiB

# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_prepare-v50180002.eblit,v 1.1 2014/04/30 14:47:53 civil Exp $
src_prepare_update_patchlevel_h() {
# Copied and modified from debian:
# Copyright 2011 Niko Tyni
# This program is free software; you can redistribute it and/or modify
# it under the same terms as Perl itself.
local patchdir="${WORKDIR}/patches"
local prefix
[[ -f ${patchdir}/series ]] || return 0
while read patch
do
patchname=$(echo $patch | sed 's/\.diff$//')
< $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e '
# massage the patch headers
s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend;
s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend;
s|^Bug-Gentoo: ||; tprepend;
s/^\(Subject\|Description\): //; tappend;
s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend;
# post-process at the end of input
$ { x;
# include the version number in the patchlevel.h description (if available)
s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/;
# escape any backslashes and double quotes
s|\\|\\\\|g; s|"|\\"|g;
# add a prefix
s|^|\t,"'"$prefix$patchname"' - |;
# newlines away
s/\n/ /g; s/ */ /g;
# add a suffix
s/ *$/"/; p
};
# stop all processing
d;
# label: append to the hold space
:append H; d;
# label: prepend to the hold space
:prepend x; H; d;
'
done < "${WORKDIR}"/patches/series > "${S}"/patchlevel-gentoo.h
}
eblit-perl-src_prepare() {
local patch
EPATCH_OPTS+=" -p1"
einfo "Applying patches from ${MY_P}-patches-${PATCH_VER} ..."
while read patch ; do
EPATCH_SINGLE_MSG=" ${patch} ..."
epatch "${WORKDIR}"/patches/${patch}
done < "${WORKDIR}"/patches/series
src_prepare_update_patchlevel_h
# pod/perltoc.pod fails
# lib/ExtUtils/t/Embed.t fails
if ! tc-is-static-only ; then
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
ln -s ${LIBPERL} libperl$(get_libname ) || die
fi
}