1 |
Hi folks, |
2 |
|
3 |
This week, I finally fulfilled the last deliverable in my project |
4 |
description: Gentoo packages for the H2O machine learning platform. |
5 |
ebuilds for the most critical components of the H2O platform, |
6 |
including h2o-core, h2o-algos, the Target Encoder plugin and the H2O |
7 |
Python module are available, and every ebuild supports compilation |
8 |
from source. Although some components, like XGBoost support, are yet |
9 |
to be added because it has a giant dependency tree that consists of |
10 |
lots of non-existent packages on Gentoo, I believe that with the |
11 |
current framework of H2O ebuilds I have set up, anyone would be able |
12 |
to create ebuilds for those packages easily in the future. |
13 |
|
14 |
The H2O project itself employs Gradle as the build system, just like |
15 |
the Kotlin programming language project. Fortunately, the build |
16 |
process of every H2O module I have touched is straightforward enough |
17 |
to allow an ebuild for it to be created very conveniently. For most |
18 |
modules, Gradle's only pivotal duty is to resolve dependencies, and |
19 |
the sources can be compiled with solely 'javac'. On the other hand, a |
20 |
few dependencies of H2O were not easy to package. There was one |
21 |
package whose source code was not even available and thus must be |
22 |
shipped as a pre-built binary package; some other dependencies had C |
23 |
sources to build for the Java Native Interface (JNI), but they could |
24 |
not be compiled due to compiler errors for some reason, causing the |
25 |
JNI portion of those packages to be shipped as pre-built binary at |
26 |
this point. |
27 |
|
28 |
Because I am moving to another city soon, I cannot work full-time next |
29 |
week and therefore do not expect to make any more significant progress |
30 |
for my project except small bug fixes, tweaks, and some work on |
31 |
documentation. However, this does not imply my departure from the |
32 |
Gentoo community. Unless I switch to another GNU/Linux distribution |
33 |
(which is unlikely since Gentoo has been working great for me), I will |
34 |
always be around. I probably cannot devote very much time to Gentoo |
35 |
improvements like during GSoC because my private affairs will keep my |
36 |
busy, but I am still looking forward to occasionally submitting ebuild |
37 |
pull requests when I encounter a bug that I know how to resolve and |
38 |
making improvements on Gentoo Wiki, just like what I had done even |
39 |
before applying for this year's GSoC. And, should any deliverable of |
40 |
my GSoC project be eligible to be adopted by Gentoo officially, I will |
41 |
also be glad to find some time for any work required for this process. |
42 |
|
43 |
Finally, I would like to thank Benda and fordfrog for their advice and |
44 |
guidance: they are vital to my success in building the deliverables of |
45 |
my GSoC project. Thanks Zongyu for setting up a solid foundation of |
46 |
an ebuild repository for Java packages; without his work on the Spark |
47 |
overlay last year, I would have had spent more time creating packages |
48 |
for transitive dependencies of Kotlin and H2O ebuilds. Thanks vaukai |
49 |
in the #gentoo-java IRC channel for tackling some Gentoo bugs I |
50 |
encountered throughout my project. Thanks AnAverageHuman in |
51 |
#gentoo-java for providing visions of distribution-level Kotlin |
52 |
support on Gentoo. Last but not least, thanks to everyone who has |
53 |
ever followed my project! |
54 |
|
55 |
See you around, |
56 |
Leo |