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.
71 lines
2.1 KiB
71 lines
2.1 KiB
10 years ago
|
# 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
|
||
|
}
|
||
|
|