Gentoo Archives: gentoo-dev

From: "Andreas K. Huettel" <dilfridge@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] perl-module.eclass EAPI=6 support
Date: Fri, 11 Dec 2015 21:01:29
Message-Id: 201512112201.15354.dilfridge@gentoo.org
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA512
3
4
5 Hey all,
6
7 as replies to this mail follow proposed updates to perl-module.eclass.
8
9 Basically the plan it to use the EAPI step to sanitize API. This leads to a
10 lot of conditionals, which can and will go away again some time after all Perl
11 packages are updated to EAPI=6. That is doable; after all, we're EAPI=5 only
12 right now already.
13
14 The patches can probably be squashed a bit, but I leave them as logical steps
15 now. Feel free to criticise my bash, it's definitively not my first language.
16
17 Cheers,
18 Andreas
19
20 About the motivation of the patches:
21
22 0001-perl-module.eclass-Allow-EAPI-6-ban-PERL_EXPORT_PHAS.patch
23 * So far the variable PERL_EXPORT_PHASE_FUNCTIONS (defaulting to yes) could be
24 set to "no" to get helper functionality but no phase functions. Instead, now
25 inherit perl-functions.eclass.
26 * The auto-added dependency on Perl drops the [-build(-)] use-flag requirement
27 (that useflag has been gone for many years).
28
29 0002-perl-module.eclass-Remove-references-to-perlinfo_don.patch
30 * Doesn't really belong in this patch series; it removes a leftover from the
31 perl-module vs perl-functions eclass split. Should not change anything.
32
33 0003-perl-module.eclass-Just-go-ahead-when-calling-config.patch
34 * So far the configure phase could not run twice (for reasons lost in the
35 mists of history). Now in EAPI=6 it's just doing what it's told.
36
37 0004-perl-module.eclass-Use-default-unpacking-from-EAPI-6.patch
38 * Don't inherit unpacker.eclass in EAPI=6, use default unpacking code, don't
39 export unpack phase and die if someone tries to call it anyway. Nuff said.
40
41 0005-perl-module.eclass-Use-eapply-from-EAPI-6-on-and-alw.patch
42 * From EAPI=6 on use eapply and eapply_user instead of epatch and epatch_user
43
44 0006-perl-module.eclass-Introduce-MODULE_NAME-and-MODULE_.patch
45 * This patch introduces two new variables but should not change behaviour for
46 any EAPI. Simplifying the code for later conditionals.
47
48 0007-perl-module.eclass-Do-not-do-any-magic-with-MY_.-var.patch
49 * This eclass is full of magic of the type of "Set MY_xxx before inheriting,
50 and I'll automatically use it somehow instead of xxx". I think this is majorly
51 silly since 1) MY_xxx is no proper API, and 2) it was never documented anyway.
52 So, in EAPI=6 ignore MY_PN, MY_P, and MY_S and use MODULE_PN and MODULE_P
53 instead.
54
55 0008-perl-module.eclass-Document-variables-available-in-E.patch
56 * Documentation.
57
58 0009-perl-module.eclass-Use-DIST_-prefix-instead-of-MODUL.patch
59 * What we're downloading from CPAN are not actually "modules" (like CGI.pm)
60 but "module distributions" (like CGI.tar.gz containg a set of modules). So,
61 change all control variables that use the MODULE_ prefix to DIST_
62
63 0010-perl-module.eclass-Rename-SRC_TEST-to-DIST_TEST-in-E.patch
64 * The variable SRC_TEST used to allow some control over the testing phase (run
65 it, run tests parallelized, skip it). Named DIST_TEST in EAPI=6 now for
66 consistency (and gets more functionality below).
67
68 0011-perl-module.eclass-Introduce-DIST_TEST_OVERRIDE-in-E.patch
69 * Add functionality for ebuild authors: even if the ebuild specifies that e.g.
70 tests should not be run or run single-threaded, allow in EAPI=6 to override
71 that from make.conf or package.env.
72
73 0012-perl-module.eclass-Minor-docu-improvements.patch
74
75 0013-perl-module.eclass-Make-some-former-warnings-fatal-t.patch
76 * Basically, get rid of eutils.eclass in EAPI=6 (and we need to drop eqawarn
77 calls)
78
79 0014-perl-module.eclass-Rewrite-src_test-for-EAPI-6.patch
80 * Rewrite of the test phase for EAPI=6. Adds options to control test verbosity
81 and switch network tests (something that might or might not work depending on
82 upstream cooperativity).
83
84 0015-dev-perl-CGI-Add-EAPI-6-test-ebuild.patch
85 * Example ebuild...
86
87
88 - --
89
90 Andreas K. Huettel
91 Gentoo Linux developer
92 dilfridge@g.o
93 http://www.akhuettel.de/
94
95 -----BEGIN PGP SIGNATURE-----
96 Version: GnuPG v2.1
97
98 iQJ8BAEBCgBmBQJWazmVXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
99 ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ0RkJDMzI0NjNBOTIwMDY5MTQ2NkMzNDBF
100 MTM4NkZEN0VGNEI1Nzc5AAoJEOE4b9fvS1d5/iAQALh2L7WHTVWGcqu2wOI33o3K
101 A8QnluTpxmYjGNhNz1gBtjPoUQ7AZrtfhIbYCUO6oIQYG3hL2l2wllZQlYBZYEUw
102 72yAGo6z3FYpQG0S/wBMESNJyRcZ5RnKoLKxPE+k/O8aPqjcS8AuWbJry7FN5eVS
103 R5BI/jrO2G4wFrAt07sMSNzHGvAcStdGfkE0fWXBTfyJS7mS1X+cobnVLkFYFqF3
104 Ega390yxQ8kxAO5b0d7l/vXTsn0AcryCK5DajY6DlCkDX+iAuS/5TuGB62OlMJ+d
105 UZOcNTGwlSqNodxPnbAy0jBMdd6JfCYdYJOT4k1oNBSUgszvm5nzezgy1sV6yGyC
106 Na8wqYleRpRQdeUDr25SAVnbgjAioG+idbYVSE5WSXP9dO9DNaeX+E+Zk9PXcnNe
107 jS5og84DSAt774d45i/HhiNzvmhNWIeCD8Kf3Z7M2bTtjinYKV0bgCUOIV0pSJy9
108 BUtHqcBHRAJSI2ShVh7cNvOj5DV2TbHtQvMRvRjOa/T9yisG6EcFLaF7Q4FIEfSq
109 JaEzPHqvcpAkWjwedoGYpuMGN6FUFH+pQCkrM0BXED1G/XlN8KLfbSyuYsPlO1Dt
110 vgZIxzwH1WutBGosN0kGkH53ED5s2nITNhXivezunraRyEw/nwrdVEZBJKYrUztF
111 uaSTW5wKapK7B9Wnjwli
112 =Mawt
113 -----END PGP SIGNATURE-----

Replies