Gentoo Archives: gentoo-commits

From: "Patrick Lauer (patrick)" <patrick@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-lang/julia: julia-0.2.1-r2.ebuild ChangeLog julia-0.2.1.ebuild julia-0.2.1-r1.ebuild
Date: Fri, 04 Jul 2014 03:22:47
Message-Id: 20140704032241.E6AF52004E@flycatcher.gentoo.org
1 patrick 14/07/04 03:22:41
2
3 Modified: ChangeLog
4 Added: julia-0.2.1-r2.ebuild
5 Removed: julia-0.2.1.ebuild julia-0.2.1-r1.ebuild
6 Log:
7 Remove things that break compilation #515068
8
9 (Portage version: 2.2.10/cvs/Linux x86_64, unsigned Manifest commit)
10
11 Revision Changes Path
12 1.14 dev-lang/julia/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/ChangeLog?rev=1.14&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/ChangeLog?rev=1.14&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/ChangeLog?r1=1.13&r2=1.14
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/dev-lang/julia/ChangeLog,v
21 retrieving revision 1.13
22 retrieving revision 1.14
23 diff -u -r1.13 -r1.14
24 --- ChangeLog 3 Jul 2014 16:29:52 -0000 1.13
25 +++ ChangeLog 4 Jul 2014 03:22:41 -0000 1.14
26 @@ -1,6 +1,12 @@
27 # ChangeLog for dev-lang/julia
28 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/julia/ChangeLog,v 1.13 2014/07/03 16:29:52 bicatali Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/julia/ChangeLog,v 1.14 2014/07/04 03:22:41 patrick Exp $
31 +
32 +*julia-0.2.1-r2 (04 Jul 2014)
33 +
34 + 04 Jul 2014; Patrick Lauer <patrick@g.o> +julia-0.2.1-r2.ebuild,
35 + -julia-0.2.1-r1.ebuild, -julia-0.2.1.ebuild:
36 + Remove things that break compilation #515068
37
38 03 Jul 2014; Sébastien Fabbro <bicatali@g.o> julia-0.2.1-r1.ebuild:
39 Install properly for prefix
40
41
42
43 1.1 dev-lang/julia/julia-0.2.1-r2.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/julia-0.2.1-r2.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/julia-0.2.1-r2.ebuild?rev=1.1&content-type=text/plain
47
48 Index: julia-0.2.1-r2.ebuild
49 ===================================================================
50 # Copyright 1999-2014 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/dev-lang/julia/julia-0.2.1-r2.ebuild,v 1.1 2014/07/04 03:22:41 patrick Exp $
53
54 EAPI=5
55
56 inherit elisp-common eutils multilib pax-utils toolchain-funcs
57
58 PDSFMT=dSFMT-src-2.2
59
60 DESCRIPTION="High-performance programming language for technical computing"
61 HOMEPAGE="http://julialang.org/"
62 SRC_URI="
63 https://github.com/JuliaLang/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
64 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/${PDSFMT}.tar.gz
65 http://dev.gentoo.org/~bicatali/distfiles/libuv-${P}.tar.gz
66 "
67
68 LICENSE="MIT"
69 SLOT="0"
70 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
71 IUSE="emacs"
72
73 RDEPEND="${CDEPEND}
74 dev-lang/R:0=
75 dev-libs/double-conversion:0=
76 dev-libs/gmp:0=
77 dev-libs/libpcre:3=
78 dev-libs/mpfr:0=
79 sci-libs/arpack:0=
80 sci-libs/camd:0=
81 sci-libs/cholmod:0=
82 sci-libs/fftw:3.0=
83 sci-libs/openlibm:0=
84 sci-libs/spqr:0=
85 sci-libs/umfpack:0=
86 sci-mathematics/glpk:0=
87 =sys-devel/llvm-3.3*
88 >=sys-libs/libunwind-1.1:7=
89 sys-libs/readline:0=
90 sys-libs/zlib:0=
91 virtual/blas
92 virtual/lapack
93 emacs? ( app-emacs/ess )"
94
95 DEPEND="${RDEPEND}
96 dev-util/patchelf
97 virtual/pkgconfig"
98
99 src_prepare() {
100 epatch "${FILESDIR}"/${P}-readline63.patch
101 epatch "${FILESDIR}"/${P}-patchelf.patch
102
103 ln -s "${DISTDIR}"/${PDSFMT}.tar.gz deps/random/dsfmt-2.2.tar.gz || die
104 rmdir deps/libuv && ln -s "${WORKDIR}"/libuv deps/libuv
105 # no fetching in ebuild
106 # /usr/include/suitesparse is for debian only
107 # respect prefix, flags
108 sed -i \
109 -e 's|$(JLDOWNLOAD)|${EPREFIX}/bin/true|' \
110 -e 's|git submodule|${EPREFIX}/bin/true|g' \
111 -e 's|^\(SUITESPARSE_INC\s*=\).*||g' \
112 -e "s|-O3|${CFLAGS}|g" \
113 -e 's|/usr/bin/||g' \
114 -e "s|/usr/include|${EPREFIX%/}/usr/include|g" \
115 deps/Makefile || die
116
117 sed -i \
118 -e "s|\(JULIA_EXECUTABLE = \)\(\$(JULIAHOME)/julia\)|\1 LD_LIBRARY_PATH=\$(BUILD)/$(get_libdir) \2|" \
119 -e "s|-O3|${CFLAGS}|g" \
120 -e "s|LIBDIR = lib|LIBDIR = $(get_libdir)|" \
121 -e "s|/usr/lib|${EPREFIX}/usr/$(get_libdir)|" \
122 -e "s|/usr/include|${EPREFIX}/usr/include|" \
123 -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|" \
124 -e "s|^JULIA_COMMIT = .*|JULIA_COMMIT = v${PV}|" \
125 Make.inc || die
126
127 sed -i \
128 -e "s|,lib)|,$(get_libdir))|g" \
129 -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \
130 Makefile || die
131
132 sed -i \
133 -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
134 src/Makefile || die
135 }
136
137 src_configure() {
138 # libuv is an incompatible fork from upstream, so don't use system one
139 cat <<-EOF > Make.user
140 LIBLAPACK=$($(tc-getPKG_CONFIG) --libs lapack)
141 LIBLAPACKNAME=$($(tc-getPKG_CONFIG) --libs lapack | sed -e "s/-l\([a-z0-9]*\).*/lib\1/")
142 USE_LLVM_SHLIB=1
143 USE_SYSTEM_ARPACK=1
144 USE_SYSTEM_BLAS=1
145 USE_SYSTEM_FFTW=1
146 USE_SYSTEM_GMP=1
147 USE_SYSTEM_GRISU=1
148 USE_SYSTEM_LAPACK=1
149 USE_SYSTEM_LIBM=1
150 USE_SYSTEM_LIBUNWIND=1
151 USE_SYSTEM_LIBUV=0
152 USE_SYSTEM_LLVM=1
153 USE_SYSTEM_MPFR=1
154 USE_SYSTEM_OPENLIBM=1
155 USE_SYSTEM_PCRE=1
156 USE_SYSTEM_READLINE=1
157 USE_SYSTEM_RMATH=1
158 USE_SYSTEM_SUITESPARSE=1
159 USE_SYSTEM_ZLIB=1
160 VERBOSE=1
161 EOF
162 }
163
164 src_compile() {
165 # Not parallel-safe, #514882
166 emake -j1 cleanall
167 if [[ $(get_libdir) != lib ]]; then
168 mkdir -p usr/$(get_libdir) || die
169 ln -s $(get_libdir) usr/lib || die
170 fi
171 emake -j1 julia-release
172 pax-mark m $(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')
173 emake
174 use emacs && elisp-compile contrib/julia-mode.el
175 }
176
177 src_test() {
178 emake test
179 }
180
181 src_install() {
182 emake install PREFIX="${ED}/usr"
183 cat > 99julia <<-EOF
184 LDPATH=${EROOT%/}/usr/$(get_libdir)/julia
185 EOF
186 doenvd 99julia
187
188 if use emacs; then
189 elisp-install "${PN}" contrib/julia-mode.el
190 elisp-site-file-install "${FILESDIR}"/63julia-gentoo.el
191 fi
192 dodoc README.md
193 }
194
195 pkg_postinst() {
196 use emacs && elisp-site-regen
197 }
198
199 pkg_postrm() {
200 use emacs && elisp-site-regen
201 }