Gentoo Archives: gentoo-commits

From: "Vladimir Smirnov (civil)" <civil@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-lang/perl/files/eblits: src_prepare-v50180002.eblit
Date: Wed, 30 Apr 2014 14:47:57
Message-Id: 20140430144753.AB07B2004B@flycatcher.gentoo.org
civil       14/04/30 14:47:53

  Added:                src_prepare-v50180002.eblit
  Log:
  Add fixes for gentoo-freebsd prefix and freemint prefix.
  Should fix 464784 and 507182
  
  (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0xA832680F)

Revision  Changes    Path
1.1                  dev-lang/perl/files/eblits/src_prepare-v50180002.eblit

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/perl/files/eblits/src_prepare-v50180002.eblit?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/perl/files/eblits/src_prepare-v50180002.eblit?rev=1.1&content-type=text/plain

Index: src_prepare-v50180002.eblit
===================================================================
# 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
}