Scala 2.12.0-M1 for Debian build ( milestone 1 of 17 :) )

HI

After some trying, failing and finally success on building an updated scala version for Debian, I have created a shell script that compiles a working scala distirbution.

Its a very naive script, and some work still needs to be done, but for the moment I am focusing on the 17 “milestones” to go through to get to 2.12.10. Since the scala sources structure changes between the releases, I am focusing on adjusting the script for those changes.

For this I have a couple of questions:

  • To build all the versions from M1 to 12.10, I am assuming I dont really need to build more than what is needed to make the compiler compile the interim builds, i.e. M2 to 12.9. So building just asm, forkjoin, library, reflect and compiler should suffice? (Perhaps a couple of others, scala-xml as one example)
  • some of the modules has been moved out of the src since M1 specifically, asm and forkjoin, along with some others, where did they move to, f.example forkjoin? (I know asm and xml are separate repos under scala on git)
  • 2.11 has got some library jars that I cant see in 2.12 M1, for example continuations, swing, config etc, where did they go? are they merge into some of the existing modules, moved to separate repos or just removed?

BTW, The current script is available at https://bitbucket.org/tfinneid/scala-build-process/src/default/ and will be merged into Debian unstable eventually.

I would think so. (At least, I can’t think of any caution to add.)

We just use the JDK’s own forkjoin now.

They’re in separate repos. They are not needed to build Scala. In 2.13, they eventually got unbundled entirely. (iirc some may have been unbundled earlier, e.g. scala-continuations)

Impressive! Have you verified that the bytecode is identical to the official jars on maven? We have a tool for that: https://github.com/scala/jardiff