Mehdi wrote: > I think we should focus on making 2.10.4 build fine first, before > trying to do the same with 2.11.0. I've tried your patches (which look > sane enough) but as I feared, it doesn't seem enough to make it > build... because many necessary things are downloaded from the > internet during the build. > > Remember that any Debian package should be buildable without a need to > network connectivity. So there is still some work to do. I haven't > finished testing stuff yet, but from the looks of it, it looks like > there is a whole new shit of libraries that needs packaging before > beeing able to build Scala on Debian. So, unless 2.11.0 requires less > new libraries in order to build, I think that we should put our effort > on 2.10.4... which is still used by many.
I just spent one hour digging a bit, in the hope of moving this process forward. Unfortunately, the bootstraping process in Scala is very far from packager-friendly. I fear the worst for the rest of the packaging effort :-/ I've looked at what the other distribution do, and it will only partially help. In gentoo, they happily download the binary jar files at build time, even if we don't have the source nor the licensing information about these files. In Fedora, they provide a big tarfile with all the jarfiles so that you don't have to download it yourself at build time. Fedora is still interesting because they came up with several patches to get scala v2.10 betterly integrated with other already packaged projects. They have a wiki page explaining everything: https://fedoraproject.org/wiki/SIGs/bigdata/packaging/Scala and their patches are available from here: https://github.com/willb/scala-packaging/tree/gil-script Note that they are still working on getting scala 2.10.x properly packaged (in particular, to get sbt working for that version). I think that we should package 2.11 anyway because the dependency list is much smaller for 2.11: Here are the bootstrap dependencies of 2.9 (from Debian package) (obtained by running >>cat `find -name "*desired.sha1"`<< from root dir) 2546f965f6718b000c4e6ef73559c11084177bd8 ?instrumented.jar 981392dbd1f727b152cd1c908c5fce60ad9d07f7 ?enums.jar cd33e0a0ea249eb42363a2f8ba531186345ff68c ?nest.jar 02fe2ed93766323a13f22c7a7e2ecdcd84259b6c ?annotations.jar be8454d5e7751b063ade201c225dcedefd252775 ?methvsfield.jar 77dca656258fe983ec64461860ab1ca0f7e2fd65 ?scalacheck.jar b1ec8a095cec4902b3609d74d274c04365c59c04 ?genericNest.jar 0392ecdeb306263c471ce51fa368223388b82b61 ?jsr166_and_extra.jar d7b100ad483484b598b7cd643424bd2e33898a0d ?plugins.jar f174c50c4363c492362a05c72dd45b0da18fdcd8 ?plugins.jar 8cccde4914da2058dca893783c231cda23855603 ?plugins.jar 2bda582b574287429ad5ee2e1d9a3effc88b0a5f ?plugins.jar af91fd67ccef349e7f8ea662615e17796a339485 ?plugins.jar 7e6be9e33a87194e7061f94f6be115619f91ada2 ?plugins.jar ee000286d00c5209d5644462c1cfea87fc8b1342 ?gnujaxp.jar bd8e22a955eeb82671c5fdb8a7a14bc7f25e9eb1 ?fjbg.jar c52dbed261e4870a504cef24518484b335a38067 ?scala-library.jar 12c479a33ee283599fdb7aa91d6a1df0197a52cf ?forkjoin.jar 6597e6f74113e952a4233c451c973f5ac7f2b705 ?midpapi10.jar 364c3b992bdebeac9fafb187e1acbece45644de7 ?scala-library-src.jar 545b37930819a1196705e582a232abfeb252cc8d ?jline.jar 5f31fab985a3efc21229297810c625b0a2593757 ?scala-compiler.jar 58f64cd00399c724e7d526e5bdcbce3e2b79f78b ?msil.jar a1883f4304d5aa65e1f6ee6aad5900c62dd81079 ?push.jar 8b6ba65c8146217333f0762087fe2340d572e832 ?scalatest.jar Here are the ones for 2.10 (from an earlier version of Lucas's git) e737b123d31eede5594ceda07caafed1673ec472 *code.jar 1b11ac773055c1e942c6b5eb4aabdf02292a7194 ?instrumented.jar 981392dbd1f727b152cd1c908c5fce60ad9d07f7 *enums.jar cd33e0a0ea249eb42363a2f8ba531186345ff68c *nest.jar 02fe2ed93766323a13f22c7a7e2ecdcd84259b6c *annotations.jar be8454d5e7751b063ade201c225dcedefd252775 *methvsfield.jar b6f4dbb29f0c2ec1eba682414f60d52fea84f703 *scalacheck.jar b1ec8a095cec4902b3609d74d274c04365c59c04 *genericNest.jar 0392ecdeb306263c471ce51fa368223388b82b61 ?jsr166_and_extra.jar d7b100ad483484b598b7cd643424bd2e33898a0d ?plugins.jar f174c50c4363c492362a05c72dd45b0da18fdcd8 ?plugins.jar 8cccde4914da2058dca893783c231cda23855603 ?plugins.jar 2bda582b574287429ad5ee2e1d9a3effc88b0a5f ?plugins.jar af91fd67ccef349e7f8ea662615e17796a339485 ?plugins.jar 7e6be9e33a87194e7061f94f6be115619f91ada2 ?plugins.jar 8acc87f222210b4a5eb2675477602fc1759e7684 *fjbg.jar 1e0e39fae15b42e85998740511ec5a3830e26243 ?scala-library.jar d229f4c91ea8ab1a81559b5803efd9b0b1632f0b ?scala-reflect-src.jar 288f47dbe1002653e030fd25ca500b9ffe1ebd64 ?scala-reflect.jar ddd7d5398733c4fbbb8355c049e258d47af636cf ?forkjoin.jar cfa3ee21f76cd5c115bd3bc070a3b401587bafb5 ?scala-compiler-src.jar 8bdac1cdd60b73ff7e12fd2b556355fa10343e2d ?scala-library-src.jar a5261e70728c1847639e2b47d953441d0b217bcb *jline.jar d54b99f215d4d42b3f0b3489fbb1081270700992 ?scala-compiler.jar d48cb950ceded82a5e0ffae8ef2c68d0923ed00c *msil.jar a1883f4304d5aa65e1f6ee6aad5900c62dd81079 ?push.jar and here are the ones of 2.11 (from Lucas's current git) e737b123d31eede5594ceda07caafed1673ec472 *code.jar -> same as 2.9 1b11ac773055c1e942c6b5eb4aabdf02292a7194 ?instrumented.jar -> new version 981392dbd1f727b152cd1c908c5fce60ad9d07f7 *enums.jar -> same cd33e0a0ea249eb42363a2f8ba531186345ff68c *nest.jar -> same 346d3dff4088839d6b4d163efa2892124039d216 ?jsoup-1.3.1.jar -> 1.7.3 is already packaged 02fe2ed93766323a13f22c7a7e2ecdcd84259b6c *annotations.jar -> same be8454d5e7751b063ade201c225dcedefd252775 *methvsfield.jar -> same 3794ec22d9b27f2b179bd34e9b46db771b934ec3 ?macro210.jar -> new thing b1ec8a095cec4902b3609d74d274c04365c59c04 *genericNest.jar -> same 0392ecdeb306263c471ce51fa368223388b82b61 ?jsr166_and_extra.jar -> same ddd7d5398733c4fbbb8355c049e258d47af636cf ?forkjoin.jar -> new version a1883f4304d5aa65e1f6ee6aad5900c62dd81079 ?push.jar -> same So it seems that if we go for 2.11, we have only one jarfile missing to bootstrap. We also have 2 jarfiles that may be too old, and one that may be too recent. The next step for me is to understand how the version 2.9 does for not downloading the bootstraping libraries at build time so that I can try to do the same with Lucas's version. Medhi, could you guide me a bit, please? Thanks for your work, Mt. -- Dans la france profonde, il y a surtout des spéléologues. -- Le Chat
signature.asc
Description: Digital signature