commit:     24682fa7ca762c19de50999d2f93f9969c5b2e5a
Author:     Gwendal Grignou <gwendal <AT> chromium <DOT> org>
AuthorDate: Fri Jun  3 23:42:08 2016 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Fri Jun  3 23:50:38 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24682fa7

dev-lang/perl: Add patchlevel-gentoo to perl MANIFEST

To allow miniperl compilation, patchlevel-gentoo.h must be in the MANIFEST.
Configure uses this file to create the /host symlinks.

Signed-off-by: Gwendal Grignou <gwendal <AT> chromium.org>

Comment from Gentoo perl team: Being nice here and adding this commit which
ended up without any further reasons or docs in our mailbox. I can't see how it
could hurt. I can't really see any problem that it's supposed to fix
either. Hey chromium team, more words please next time!

 .../perl/files/eblits/src_prepare-v50240002.eblit  | 74 ++++++++++++++++++++++
 dev-lang/perl/perl-5.24.0-r1.ebuild                |  2 +-
 2 files changed, 75 insertions(+), 1 deletion(-)

diff --git a/dev-lang/perl/files/eblits/src_prepare-v50240002.eblit 
b/dev-lang/perl/files/eblits/src_prepare-v50240002.eblit
new file mode 100644
index 0000000..b30b1a5
--- /dev/null
+++ b/dev-lang/perl/files/eblits/src_prepare-v50240002.eblit
@@ -0,0 +1,74 @@
+# Copyright 1999-2016 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
+       local patchoutput="patchlevel-gentoo.h"
+
+       [[ -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}/${patchoutput}"
+echo "${patchoutput}" >> "${S}/MANIFEST"
+}
+
+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
+
+       default
+}
+

diff --git a/dev-lang/perl/perl-5.24.0-r1.ebuild 
b/dev-lang/perl/perl-5.24.0-r1.ebuild
index 1f34989..d63e0dc 100644
--- a/dev-lang/perl/perl-5.24.0-r1.ebuild
+++ b/dev-lang/perl/perl-5.24.0-r1.ebuild
@@ -102,7 +102,7 @@ eblit-run() {
        eblit-run-maybe eblit-$1-post
 }
 
-src_prepare()  { eblit-run src_prepare   v50240001 ; }
+src_prepare()  { eblit-run src_prepare   v50240002 ; }
 
 src_configure()        { eblit-run src_configure v50240002 ; }
 

Reply via email to