| # Copyright 1999-2012 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| 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}-${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 |
| } |
| |