Gentoo Archives: gentoo-soc

From: "Yuan Liao (Leo)" <liaoyuan@×××××.com>
To: gentoo-soc@l.g.o
Subject: [gentoo-soc] Week 9 Report for Big Data Infrastructure and H2O ebuilds Project
Date: Mon, 09 Aug 2021 06:21:30
Message-Id: CACk4dkvkyPLXm55=hSinpsmv+YzHAAynhdayhsxG+cUi_H9-Sw@mail.gmail.com
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