Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 413535 - dev-lang/julia - a high-level, high-performance dynamic programming language for technical computing
Summary: dev-lang/julia - a high-level, high-performance dynamic programming language ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal enhancement with 1 vote (vote)
Assignee: Patrick Lauer
URL: http://julialang.org/
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2012-04-25 15:10 UTC by Nicolas Bigaouette
Modified: 2016-01-07 22:14 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
dev-lang/julia/julia-9999.ebuild (julia-9999.ebuild,3.72 KB, text/plain)
2012-04-25 15:11 UTC, Nicolas Bigaouette
Details
julia-9999-ebuild (julia-9999.ebuild,2.83 KB, text/plain)
2012-11-02 01:19 UTC, Guillaume Horel
Details
63julia-gentoo.el (63julia-gentoo.el,94 bytes, text/plain)
2012-11-02 01:20 UTC, Guillaume Horel
Details
julia-ld.patch (julia-ld.patch,823 bytes, patch)
2012-11-02 01:20 UTC, Guillaume Horel
Details | Diff
julia-pcre-version.patch (julia-pcre-version.patch,974 bytes, patch)
2012-11-02 01:20 UTC, Guillaume Horel
Details | Diff
julia-ld.patch (julia-ld.patch,898 bytes, patch)
2012-11-27 03:09 UTC, Guillaume Horel
Details | Diff
julia-9999.ebuild (julia-9999.ebuild,2.49 KB, text/plain)
2012-11-27 03:09 UTC, Guillaume Horel
Details
julia-libdir.patch (julia-libdir.patch,512 bytes, text/plain)
2012-11-27 03:10 UTC, Guillaume Horel
Details
julia-9999.ebuild (julia-9999.ebuild,2.52 KB, text/plain)
2012-11-27 03:12 UTC, Guillaume Horel
Details
unfinished julia-9999.ebuild (julia-9999.ebuild,1.28 KB, text/plain)
2012-12-11 22:25 UTC, Sébastien Fabbro (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolas Bigaouette 2012-04-25 15:10:25 UTC
Here's an ebuild for buidling Julia from git, "a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments."

The ebuild development happened on my github @ https://github.com/nbigaouette/ebuilds/tree/master/dev-lang/julia
I am uploading commit e92a5d46c90c9c10551b2942e54055cea3a425fd.

I haven't had time to test it thoroughly (the tests seems to pass though), so please give it a try if you are interested!

Reproducible: Always
Comment 1 Nicolas Bigaouette 2012-04-25 15:11:23 UTC
Created attachment 310083 [details]
dev-lang/julia/julia-9999.ebuild

Commit e92a5d46c90c9c10551b2942e54055cea3a425fd from https://github.com/nbigaouette/ebuilds/blob/master/dev-lang/julia/julia-9999.ebuild
Comment 2 Guillaume Horel 2012-11-02 01:19:13 UTC
Created attachment 328014 [details]
julia-9999-ebuild

Cleaned up ebuild, should be pretty useable now I hope.

A couple comments:

- I've changed the lighttpd flag to notebook, because that's the one ipython uses, so I figured we should reuse it.
- it depends on >=suitesparse-4. I have packaged it in my overlay: https://github.com/thrasibule/thrasibule-overlay. I'll file a version bump request for it.
- it ships with a lot of bundled libraries, even when enabling all the USE_SYSTEM flags. Some of them are already in gentoo (like Rmath through dev-lang/R, double-conversion, and libuv). For this reason I install all of them to /usr/lib/julia/lib and add an entry to ld.so.conf so that we don't clobber anything.
- The emacs use flag blocks ess, because the ess version in the tree already ships with a julia mode.
Comment 3 Guillaume Horel 2012-11-02 01:20:04 UTC
Created attachment 328016 [details]
63julia-gentoo.el
Comment 4 Guillaume Horel 2012-11-02 01:20:32 UTC
Created attachment 328018 [details, diff]
julia-ld.patch
Comment 5 Guillaume Horel 2012-11-02 01:20:58 UTC
Created attachment 328020 [details, diff]
julia-pcre-version.patch
Comment 6 Keshav Kini 2012-11-26 20:26:00 UTC
Thanks for your work, Guillaume. Your ebuild contains a dependency on sci-libs/openblas, which does not exist in Gentoo, only in the Gentoo Science overlay. Maybe this should be fixed?
Comment 7 Guillaume Horel 2012-11-27 03:09:20 UTC
Created attachment 330700 [details, diff]
julia-ld.patch
Comment 8 Guillaume Horel 2012-11-27 03:09:52 UTC
Created attachment 330702 [details]
julia-9999.ebuild
Comment 9 Guillaume Horel 2012-11-27 03:10:19 UTC
Created attachment 330704 [details]
julia-libdir.patch
Comment 10 Guillaume Horel 2012-11-27 03:12:12 UTC
Created attachment 330706 [details]
julia-9999.ebuild
Comment 11 Guillaume Horel 2012-11-27 03:17:46 UTC
I've updated the ebuild. Julia developers keep moving things around in the codebase, so the ebuild probably won't work for very long...
If you don't want to use openblas, you can set up the atlas use flag which will use the atlas library as an alternative, but that doesn't help you much since it's also in the science overlay :) There is a plan to move the new atlas library to the tree  soon though.
Last but not least suitesparse4 is now in the tree, so most of the dependencies should be pretty easy to get.
Comment 12 Keshav Kini 2012-11-27 22:29:36 UTC
Hmm. Well, until there is a Gentoo maintainer, maybe you can get this ebuild merged into the gentoo-science overlay? There it should be easier to keep up to date, plus the dependencies are all there too.
Comment 13 Sergey Popov gentoo-dev 2012-12-07 21:04:47 UTC
CCing science team, maybe they will be interested
Comment 14 François Bissey 2012-12-08 00:39:02 UTC
I may have a quick look at it. If it is moving too fast it may be better for it to have its own overlay.
Comment 15 François Bissey 2012-12-08 00:46:43 UTC
Several things I don't like. It should depend on virtual blas and lapack and use whatever is available more work but that's what we aim for. Why do you need to have the version for pcre? That's very odd and should really be dealt with.
Do you have an exhaustive list of things bundled?
Comment 16 Guillaume Horel 2012-12-08 03:27:20 UTC
The pcre patch is no longer needed. It was because of the way pcre is installed in gentoo: /usr/lib/libprce.so is an ld script and not an actual library. They changed the way they load libraries now and everything is working fine.

Upstream only support atlas or openblas/lapack-reference right now, that's why I set it up like that. I don't like it either, but the configuration system is made by setting a bunch of variables in a Makefile, so it's hard to make it very generic unless we refactor it a lot.

Right now the makefile checks out openlibm and libuv from github at compile time, and it bundles the Rmath libraries from the Rproject and a couple of odd C files that are probably not worth unbundling. There in the deps directory. libuv is in gentoo already but mainstream maintains their own fork.

I'll post the most up to date version of my ebuild and we can go from here. Development seems to have settled a bit, so it's probably a good time to start moving it to the science overlay.
Comment 17 François Bissey 2012-12-08 09:12:40 UTC
OK.
Comment 18 Christoph Junghans (RETIRED) gentoo-dev 2012-12-08 22:28:47 UTC
Feel free to submit the ebuild to the sci overlay:
- fork https://github.com/gentoo-science/sci
- add your ebuild
- make a pull request

It would be beneficial to send your patches upstream as patches on a live version tend to break very often. Maybe add a USE_GENTOO variable in Make.inc to enable all changes needed for Gentoo.
Comment 19 Guillaume Horel 2012-12-09 18:37:45 UTC
Install is broken at the moment. I've filed a bug upstream at https://github.com/JuliaLang/julia/issues/1715. Once it's resolved I'll push it the science overlay.
Comment 20 Sébastien Fabbro (RETIRED) gentoo-dev 2012-12-11 22:25:23 UTC
Created attachment 332082 [details]
unfinished julia-9999.ebuild

at some point in the past, i played a little bit with julia ebuild and got some deps into the science overlay. i'm posting the ebuild here. feel free to get some inspiration but beware it is fairly broken.
i quit when i saw the other hidden bundled libs (like the coin-or ones) and the instability of the build system.
Comment 21 Guillaume Horel 2012-12-19 07:31:31 UTC
I pushed a cleaned up version to the science overlay, please try it out.
Comment 22 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-01-07 22:14:21 UTC
Patrick added it one day.