summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwendal Grignou <gwendal@chromium.org>2016-06-04 01:42:08 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2016-06-04 01:50:38 +0200
commit24682fa7ca762c19de50999d2f93f9969c5b2e5a (patch)
treeb2993ad03e5bf156a099eb572e2ea3a5302d595f /dev-lang/perl/files
parentdev-python/jira: add dev-python/jira-1.0.5 (diff)
downloadgentoo-24682fa7ca762c19de50999d2f93f9969c5b2e5a.tar.gz
gentoo-24682fa7ca762c19de50999d2f93f9969c5b2e5a.tar.bz2
gentoo-24682fa7ca762c19de50999d2f93f9969c5b2e5a.zip
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@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!
Diffstat (limited to 'dev-lang/perl/files')
-rw-r--r--dev-lang/perl/files/eblits/src_prepare-v50240002.eblit74
1 files changed, 74 insertions, 0 deletions
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 000000000000..b30b1a57fcf9
--- /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
+}
+