1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
23/12
v4.9
This extends depend.eclass a lot, adds function select-version(). I will now work on eclasses
that will support qt/kde 2/3/... equally well and that will be v5. I will also update and clarify
the docs then.
select-version() select the best version from a number of versions offered. In comparison
with the former simplistic algorithm, it supports:
- incompatible major versions (i.e. 2.2.1 resolves to 2.3.2 not 3.0.1)
- release type support (alpha, beta, pre, rc) and portage-format version specification:
$major.$minor.$revision_<type>$number.
- version parts > 9. The old algorithm compared per-character and thus thought 12<2.
There are many more misc small updates and changes.
One of them is that $DEBUG_OUTPUT is now changed into $ECLASS_DEBUG_OUTPUT, and can
be set before running emerge/ebuild. That is, you don't ahve to edit debug.eclass anymore.
16/11
v4
Added multi-qt and multi-kdelibs functionality. See detailed explanation in eclass howto.
There is now a new depend.eclass inherited by kde.eclass. It provides two pairs of
functions, need-{kdelibs,qt} and set-{kdedir,qtdir}.
An inheriting ebuild calls "need-kdelibs $ver" from its main section and gets the correct
things added to DEPEND and RDEPEND. Same for qt. Usually ebuilds don't call need-qt
directly, because the kdelibs depend already provides them with the necessary qt
version, but the function does exist and is usable.
The set-* functions are called at the beginning of kde_src_compile/configure section.
They export the correct QTDIR and KDEDIR (the latter points to the location of kdelibs)
based on the vars kde_version and qt_version which are set in need-*. (So don't touch
these vars; I've added a list of Internal Vars to the eclass howto). If no multi-*-scheme
compatible directories are found, set-* leaves KDEDIR/QTDIR untouched, this enables
older systems to work with the new eclass and ebuilds.
There have been many other misc small changes in the eclasses, because this was a
big commit after weeks of testing. For example the newdepend() function was added to
base.eclass; I'll eventually modify ebuilds to use it.
When the new dep functionality is added to portage, I'll change the need-* functions
accordingly, but the ebuilds won't need to be changed.
26/10
Added koffice-i18n.eclass, very similar to kde-i18n.eclass.
15/10
Added some multi-QTDIR failsafes (shouldn't be needed, but do no harm):
myconf+=--with-qt-dir=${QTDIR}
LIBRARY_PATH=${LIBRARY_PATH}:${QTDIR}/lib make
~12/10
kde-objprelink-patch fixes
5/10
v3.3
Removal of kde-objprelink. You now inherit from it no longer :-)
It has been merged into kde. You will get the dependency and the configure parameter
automatically, and can call kde-objprelink-patch() (which is now in kde.eclass) if needed.
3/10
v3.2
Addition of kde-objprelink, further minor changes and fixes.
You now inherit from kde-objprelink. If you need the admin patch, run kde-objprelink-patch()
at the end of src_unpack. kde-dist inherits from kde-objprelink, other eclasses do not.
2/10
Unmasking of eclasses. Other developers test, but do not use in their work. Evaluation period.
1/10
v3.1
Addition of debug.eclass.
1/10
v3
Another major change.
This involves primarily the kde eclasses.
We now have kde.eclass, which is *not* the same as kde.eclass from v2, but is
rather a kde-virtual eclass. It includes all the basic definitions and standard
functions. It is med-level; people do not usually inherit from it.
Then, we have high-level eclasses:
kde-base.eclass inherits c,kde and adds pbjprelink,qt deps. It's used by misc apps.
kde.org.eclass adds the SRC_URI/SRC_PATH block for ftp.kde.org and friends.
kde-dist.eclass inherits kde-base,kde.org and adds HOMEPAGE,DESCRIPTION etc. and
Kkdelibs-${PV} deps. It is used by kdebase/* packages.
kde-i18n.eclass inerits kde,kde.org and adds the neccessary things for kde-i18n packages.
It will probably be used for the upcoming koffice-i18n packages as well.
Notice, now you now longer call kde-base_ and kde-i18n_ functions, but only kde_ functions.
I have had to swap eclasses' names around to make them more intuitive. Here is a table
of the changes:
kde-virtual => kde
kde => kde-base
kde-base => kde-dist + kde.org
kde-i18n == kde-i18n
(kde-virtual was a mid-stage eclass from version 2.5 which was never commited on cvs).
1/10
v2.5
A temp version which wasn't commited. Testbed for radical ideas.
30/9
v2
Documented in original howto
29/9
v1
Original version
Had an infinite recursion in base.eclass. Was deleted from cvs later that day.
|