Web lists-archives.com

Bug#906265: RFH: julia -- ppc64el port of Julia language and LLVM-6.0




Package: wnpp
Severity: normal

I request assistance with maintaining the julia package.
Specifically I need a ppc64el porter (or anyone who has root access to
a ppc64el box) to help me:

 1. Apply patch[1] to Debian's llvm-toolchain-6.0 (= 1:6.0.1-4) and build it.

 2. Install the resulting llvm-6.0-dev (= 1:6.0.1-5).

 3. dget julia 0.7.0-2 and build Julia for ppc64el.

 4. if (!llvm-ftbfs && !julia-ftbfs) {

      1. clone #905807 for llvm-6.0 and remove the +moreinfo tag
      2. pull the experimental branch from
         https://salsa.debian.org/julia-team/julia
         and see if the patched llvm-6.0 is also able to build julia 1.0.0

    } elif (!llvm-ftbfs && julia-ftbfs) {

      1. find out which patch actually fixes julia's build failure
         https://github.com/JuliaLang/julia/blob/master/deps/llvm.mk#L482-L509

    } else { ...... }

I tried to setup a ppc64el chroot with qemu, and immediately find it
impractical for my laptop.

I tried to do it on launchpad (Ubuntu PPA/cosmic), and lauchpad told me
"Sorry, something just went wrong in Launchpad." during registration.

I tried to think of applying for the access to debian's ppc64el porterbox
but it appears to be impossible for a normal user to install the resulting
package and build another package. Although maybe I can do some hacks on
PATH and LD_LIBRARY_PATH but that's dirty.

So I gave up and wrote this RFH. That begin said, Julia's ppc64el port
is indeed supported by upstream, and it is worthwhile to keep Julia for
ppc64el such a powerful architecture.

Thanks in advance.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=905807

Appendix
--------

The package description is:
 Julia is a high-level, high-performance dynamic programming language for
 technical computing, with syntax that is familiar to users of other technical
 computing environments. It provides a sophisticated compiler, distributed
 parallel execution, numerical accuracy, and an extensive mathematical function
 library. The library, mostly written in Julia itself, also integrates mature,
 best-of-breed C and Fortran libraries for linear algebra, random number
 generation, FFTs, and string processing. Julia programs are organized around
 defining functions, and overloading them for different combinations of
 argument types (which can also be user-defined).
 .
 This package provides a complete Julia installation (JIT compiler, standard
 library, text-based user interface).
 Julia is a high-level, high-performance dynamic programming language for
 technical computing, with syntax that is familiar to users of other technical
 computing environments. It provides a sophisticated compiler, distributed
 parallel execution, numerical accuracy, and an extensive mathematical function
 library. The library, mostly written in Julia itself, also integrates mature,
 best-of-breed C and Fortran libraries for linear algebra, random number
 generation, FFTs, and string processing. Julia programs are organized around
 defining functions, and overloading them for different combinations of
 argument types (which can also be user-defined).
 .
 This package provides a complete Julia installation (JIT compiler, standard
 library, text-based user interface).