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 |
> > |