Skip to content

Commit

Permalink
dev-lang/perl: Add patchlevel-gentoo to perl MANIFEST
Browse files Browse the repository at this point in the history
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!
  • Loading branch information
gwendalcr authored and akhuettel committed Jun 3, 2016
1 parent 3b3c229 commit 24682fa
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 1 deletion.
74 changes: 74 additions & 0 deletions 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
}

2 changes: 1 addition & 1 deletion dev-lang/perl/perl-5.24.0-r1.ebuild
Expand Up @@ -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 ; }

Expand Down

0 comments on commit 24682fa

Please sign in to comment.