Gentoo Archives: gentoo-user

From: David Abbott <david@×××××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: Patch via perl script in an ebuild?
Date: Thu, 01 Jul 2010 19:29:42
Message-Id: AANLkTinjS9vI8BTL29PM_Iz1TCL3LRXS3-ANUHQvgRtn@mail.gmail.com
In Reply to: Re: [gentoo-user] Re: Patch via perl script in an ebuild? by "Arttu V."
1 On Thu, Jul 1, 2010 at 2:40 PM, Arttu V. <arttuv69@×××××.com> wrote:
2 > On 7/1/10, Grant <emailgrant@×××××.com> wrote:
3 >> Thank you Arttu.  Here is the link to the SOAP::WSDL:
4 >>
5 >> http://soap-wsdl.svn.sourceforge.net/viewvc/soap-wsdl/SOAP-WSDL/branches/Typemap.tar.gz?view=tar&pathrev=846
6 >>
7 >> from the README:
8 >>
9 >> http://code.google.com/p/google-api-adwords-perl/source/browse/trunk/README
10 >
11 > Ok, I see they're shipping the same version which is available from
12 > CPAN as the dev version (2.00.99_3). But the patch is still not made
13 > for its code ... maybe it is for _2 or _1?
14 >
15 > The patch keeps failing out of the box:
16 >
17 > cpan -i Text::Patch
18 > tar xvzf Typemap.tar.gz
19 > tar xvzf awapi_perl_lib_1.3.2.tar.gz
20 > ~/tempski $ awapi_perl_lib_1.3.2/bin/soap_wsdl_patches.pl Typemap
21 > Trying to patch
22 > Typemap/lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/Operation.tt...
23 > patch successful.
24 > Trying to patch
25 > Typemap/lib/SOAP/WSDL/Generator/Template/XSD/Server.tt... patch
26 > successful.
27 > Trying to patch
28 > Typemap/lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm... patch
29 > successful.
30 > Trying to patch
31 > Typemap/lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm... patch
32 > successful.
33 > Trying to patch
34 > Typemap/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm...Hunk #2 failed at
35 > line 425.
36 > ~/tempski $
37 >
38 > Anyway, only three files' small chunks fail from the patch, and
39 > they're short and mostly just semantically adding some formerly
40 > non-existent subroutines and changing the return values of others.
41 >
42 > I think with some manual labour we could turn that patch into a fixed
43 > regular patch, which we could then apply in an ebuild for SOAP::WSDL
44 > via a USE flag. For example, something along these lines for
45 > dev-perl/SOAP-WSDL-2.00.99.3.ebuild (licenses etc might be wrong):
46 >
47 > # Copyright 1999-2010 Gentoo Foundation
48 > # Distributed under the terms of the GNU General Public License v2
49 > # $Header: $
50 >
51 > EAPI=2
52 >
53 > MODULE_AUTHOR=MKUTTER
54 > MY_P="${P:0:17}_3"
55 > inherit eutils perl-module
56 >
57 > DESCRIPTION="SOAP::WSDL module"
58 >
59 > LICENSE="Artistic"
60 > SLOT="0"
61 > KEYWORDS="amd64 x86"
62 > IUSE="adwords"
63 >
64 > src_prepare() {
65 >        perl-module_src_prepare
66 >        use adwords && epatch "${FILESDIR}/${PV}-adwords.patch"
67 > }
68 >
69 >
70 > This SOAP-WSDL package could then in turn be made a dependency for
71 > your real google-adwords package (dev-perl/Google-Adwords?):
72 >
73 > RDEPENDS="dev-perl/SOAP-WSDL[adwords]"
74 >
75 > Am I making any sense?
76 >
77 > Theoretically (if you insist), you could still use the perl's
78 > Text::Patch route as well, but (if I'm not entirely wrong, see the
79 > excerpted attempted patch run above) the patch would still need to be
80 > touched up to match properly with the _3 dev release code. And it
81 > would add a dependency to Text::Patch, and make an odd call to perl in
82 > the middle of the ebuild. (I assume it must be made explicitly as I
83 > don't know if perl-module.eclass has any automation for this. Probably
84 > not since AFAICT Text::Patch isn't even installed by default).
85 >
86 > HTH
87 >
88 > --
89 > Arttu V. -- Running Gentoo is like running with scissors
90 >
91 >
92 I was thinking along the same lines, my use was "google"
93 # Copyright 1999-2010 Gentoo Foundation
94 # Distributed under the terms of the GNU General Public License v2
95 # $Header: $
96
97 EAPI="3"
98
99 inherit perl-module
100
101 DESCRIPTION="SOAP-WSDL provides a SOAP client with WSDL support."
102 HOMEPAGE="http://soap-wsdl.svn.sourceforge.net"
103 SRC_URI="http://soap-wsdl.svn.sourceforge.net/viewvc/soap-wsdl/SOAP-WSDL/branches/Typemap.tar.gz
104 -> ${P}.tar.gz"
105 LICENSE="Apache-2.0"
106 SLOT="0"
107 KEYWORDS="~amd64 ~x86"
108 IUSE="google"
109
110 DEPEND="${RDEPEND}
111 virtual/perl-Module-Build"
112 RDEPEND="dev-perl/SOAP-Lite
113 dev-perl/Class-Std-Fast"
114
115 src_prepare() {
116 if use google ; then
117 epatch "${FILESDIR}/${PN}.patch" | die "google patch failed"
118 fi
119 }
120
121
122 --
123 David Abbott (dabbott)

Replies

Subject Author
Re: [gentoo-user] Re: Patch via perl script in an ebuild? Grant <emailgrant@×××××.com>