Gentoo Archives: gentoo-soc

From: "Yuan Liao (Leo)" <liaoyuan@×××××.com>
To: "Miroslav Šulc" <fordfrog@g.o>
Cc: gentoo-soc@l.g.o, Benda Xu <heroxbd@g.o>
Subject: Re: [gentoo-soc] Week 4 Report for Big Data Infrastructure and H2O ebuilds Project
Date: Sun, 18 Jul 2021 05:23:23
Message-Id: CACk4dktU9nrWpxNO9GqNRxr60rNtbthNWQKOHhMbiPN=Wp4XnA@mail.gmail.com
In Reply to: Re: [gentoo-soc] Week 4 Report for Big Data Infrastructure and H2O ebuilds Project by "Miroslav Šulc"
1 Hi Benda and fordfrog,
2
3 > Congratulation for such a major triumph as a by-product of your GSoC
4 > project! The idea for Gentoo to be the first GNU/Linux distribution
5 > supporting kotlin toolchain from source code is the sexiest.
6
7 Thanks! I am quite excited about this too.
8
9 > i would like to move kotlin to the main tree once it is ready according
10 > to Leo. just one thing comes to my mind that should be resolved prior to
11 > that, and that is support for multiple kotlin compilers being installed
12 > at the same time and a way to choose among them, like we have for java
13 > (eselect java-vm). i think this is needed both for users and for
14 > packaging packages that use kotlin compiler. one other thing that comes
15 > to my mind is launching kotlin compiled apps with kotlin deps, but i
16 > suppose that our java launcher should be able to handle the deps so it
17 > probably won't be an issue at all.
18
19 I agree. An eselect module for the Kotlin compiler would be
20 beneficial. To make the Kotlin packages practically useful, I am glad
21 to allot some time to creating such a module.
22
23 Speaking of launching Kotlin apps, at least in the domain of
24 Kotlin/JVM, Kotlin packages are compiled into JARs, and the Kotlin
25 Standard Library is also a JAR, so they should integrate with any
26 existing Java utilities well. The kotlin-libs.eclass I created for
27 Kotlin library packages follows most of the conventions of existing
28 Java eclasses in terms of classpath registration, JAR installation
29 target path, etc.; it was designed with interoperability with Java
30 packages in mind.
31
32 > i would also like to merge java-ebuilder improvements from Leo's fork,
33 > but not sure whether i can/should merge everything from the fork or just
34 > cherry-pick some features atm.
35
36 Once I finish up my current work on ebuild testing (which should be
37 close and done next week), I will revisit and review the commits in my
38 fork, and discuss with you which improvements can be merged into the
39 main tree and what additional changes are desired.
40
41 Thanks,
42 Leo
43
44 On Sat, Jul 17, 2021 at 12:19 AM Miroslav Šulc <fordfrog@g.o> wrote:
45 >
46 > Dne 17. 07. 21 v 5:52 Benda Xu napsal(a):
47 > > Hi Leo,
48 > >
49 > > "Yuan Liao (Leo)" <liaoyuan@×××××.com> writes:
50 > >
51 > >> I have been quite busy creating the ebuilds that build the Kotlin
52 > >> libraries from source during the past week, and I am pleased to report
53 > >> that the work is now complete and the ebuilds are installable and
54 > >> usable. Every Kotlin library listed here [1] can be built from source
55 > >> using those ebuilds. All ebuilds have been pushed to my fork of the
56 > >> Spark overlay [2].
57 > >>
58 > >> To use the ebuilds to build the Kotlin libraries from source, binary
59 > >> JARs for kotlin-stdlib and kotlin-reflect pre-built by the upstream
60 > >> must be installed first for bootstrapping. Then, after the Kotlin
61 > >> compiler package -- dev-lang/kotlin-bin -- is installed, the libraries
62 > >> can be built from source. The exact commands to build and install the
63 > >> libraries from source are:
64 > >>
65 > >> env USE="binary" emerge -a1 dev-java/kotlin-stdlib dev-java/kotlin-reflect
66 > >> emerge --ask dev-lang/kotlin-bin
67 > >> emerge --ask --update --newuse --deep @world
68 > >>
69 > >> The ebuilds only use kotlinc and javac to build the Kotlin libraries.
70 > >> Although Gradle is used by the upstream to build Kotlin, it is not
71 > >> used in those ebuilds. I extracted the commands Gradle would run to
72 > >> build each library component to create those ebuilds.
73 > >>
74 > >> I am currently in the process of writing a blog post describing how I
75 > >> discovered the way to extract those commands from Gradle and
76 > >> surmounted various challenges in creating those ebuilds, and I have
77 > >> also planned to provide more documentation regarding installing and
78 > >> maintaining those packages. The blog post is supposed to be completed
79 > >> today, but I really cannot make it because there are really lots of
80 > >> things to talk about and my brain is slowing down as bedtime is coming
81 > >> closer and closer. I am sorry for the delay. Once it is published
82 > >> (hopefully tomorrow), I will post the link to it in a reply to this
83 > >> email. The link to the documentation will also be posted after it is
84 > >> done.
85 > > Congratulation for such a major triumph as a by-product of your GSoC
86 > > project! The idea for Gentoo to be the first GNU/Linux distribution
87 > > supporting kotlin toolchain from source code is the sexiest.
88 > >
89 > > @fordfrog, IMHO this achievement deserves wider exposure. I would like
90 > > to encourage Leo to call for early testers of Gentoo Kotlin ebuilds on
91 > > -dev and start the procedure to land
92 > > https://wiki.gentoo.org/wiki/User:Leo3418/Kotlin somewhere aligned with
93 > > https://wiki.gentoo.org/wiki/Java. How do you think?
94 >
95 > i would like to move kotlin to the main tree once it is ready according
96 > to Leo. just one thing comes to my mind that should be resolved prior to
97 > that, and that is support for multiple kotlin compilers being installed
98 > at the same time and a way to choose among them, like we have for java
99 > (eselect java-vm). i think this is needed both for users and for
100 > packaging packages that use kotlin compiler. one other thing that comes
101 > to my mind is launching kotlin compiled apps with kotlin deps, but i
102 > suppose that our java launcher should be able to handle the deps so it
103 > probably won't be an issue at all.
104 >
105 > i would also like to merge java-ebuilder improvements from Leo's fork,
106 > but not sure whether i can/should merge everything from the fork or just
107 > cherry-pick some features atm.
108 >
109 > > Cheers,
110 > > Benda
111 > >