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-r1.ebuild ChangeLog
Date: Wed, 25 Jun 2014 08:09:44
Message-Id: 20140625080938.45C8E2004F@flycatcher.gentoo.org
1 patrick 14/06/25 08:09:38
2
3 Modified: ChangeLog
4 Added: julia-0.2.1-r1.ebuild
5 Log:
6 Fix patchelf detection #515058
7
8 (Portage version: 2.2.10/cvs/Linux x86_64, unsigned Manifest commit)
9
10 Revision Changes Path
11 1.10 dev-lang/julia/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/ChangeLog?rev=1.10&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/ChangeLog?rev=1.10&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/ChangeLog?r1=1.9&r2=1.10
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/dev-lang/julia/ChangeLog,v
20 retrieving revision 1.9
21 retrieving revision 1.10
22 diff -u -r1.9 -r1.10
23 --- ChangeLog 25 Jun 2014 02:16:06 -0000 1.9
24 +++ ChangeLog 25 Jun 2014 08:09:38 -0000 1.10
25 @@ -1,6 +1,12 @@
26 # ChangeLog for dev-lang/julia
27 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/julia/ChangeLog,v 1.9 2014/06/25 02:16:06 patrick Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/julia/ChangeLog,v 1.10 2014/06/25 08:09:38 patrick Exp $
30 +
31 +*julia-0.2.1-r1 (25 Jun 2014)
32 +
33 + 25 Jun 2014; Patrick Lauer <patrick@g.o>
34 + +files/julia-0.2.1-patchelf.patch, +julia-0.2.1-r1.ebuild:
35 + Fix patchelf detection #515058
36
37 25 Jun 2014; Patrick Lauer <patrick@g.o> julia-0.2.1.ebuild:
38 Restrict parallel building #514882
39
40
41
42 1.1 dev-lang/julia/julia-0.2.1-r1.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/julia-0.2.1-r1.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/julia-0.2.1-r1.ebuild?rev=1.1&content-type=text/plain
46
47 Index: julia-0.2.1-r1.ebuild
48 ===================================================================
49 # Copyright 1999-2014 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/dev-lang/julia/julia-0.2.1-r1.ebuild,v 1.1 2014/06/25 08:09:38 patrick Exp $
52
53 EAPI=5
54
55 inherit elisp-common eutils multilib pax-utils toolchain-funcs
56
57 PDSFMT=dSFMT-src-2.2
58
59 DESCRIPTION="High-performance programming language for technical computing"
60 HOMEPAGE="http://julialang.org/"
61 SRC_URI="
62 https://github.com/JuliaLang/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
63 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/${PDSFMT}.tar.gz
64 http://dev.gentoo.org/~bicatali/distfiles/libuv-${P}.tar.gz
65 "
66
67 LICENSE="MIT"
68 SLOT="0"
69 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
70 IUSE="emacs"
71
72 RDEPEND="${CDEPEND}
73 dev-lang/R:0=
74 dev-libs/double-conversion:0=
75 dev-libs/gmp:0=
76 dev-libs/libpcre:3=
77 dev-libs/mpfr:0=
78 sci-libs/arpack:0=
79 sci-libs/cholmod:0=
80 sci-libs/fftw:3.0=
81 sci-libs/openlibm:0=
82 sci-libs/spqr:0=
83 sci-libs/umfpack:0=
84 sci-mathematics/glpk:0=
85 >=sys-devel/llvm-3.3
86 >=sys-libs/libunwind-1.1:7=
87 sys-libs/readline:0=
88 sys-libs/zlib:0=
89 virtual/blas
90 virtual/lapack
91 emacs? ( app-emacs/ess )"
92
93 DEPEND="${RDEPEND}
94 dev-util/patchelf
95 virtual/pkgconfig"
96
97 src_prepare() {
98 epatch "${FILESDIR}"/${P}-readline63.patch
99 epatch "${FILESDIR}"/${P}-patchelf.patch
100
101 ln -s "${DISTDIR}"/${PDSFMT}.tar.gz deps/random/dsfmt-2.2.tar.gz || die
102 rmdir deps/libuv && ln -s "${WORKDIR}"/libuv deps/libuv
103 # no fetching in ebuild
104 # /usr/include/suitesparse is for debian only
105 # respect prefix, flags
106 sed -i \
107 -e 's|$(JLDOWNLOAD)|${EPREFIX}/bin/true|' \
108 -e 's|git submodule|${EPREFIX}/bin/true|g' \
109 -e 's|^\(SUITESPARSE_INC\s*=\).*||g' \
110 -e "s|-O3|${CFLAGS}|g" \
111 -e 's|/usr/bin/||g' \
112 -e "s|/usr/include|${EPREFIX%/}/usr/include|g" \
113 deps/Makefile || die
114
115 sed -i \
116 -e "s|\(JULIA_EXECUTABLE = \)\(\$(JULIAHOME)/julia\)|\1 LD_LIBRARY_PATH=\$(BUILD)/$(get_libdir) \2|" \
117 -e "s|-O3|${CFLAGS}|g" \
118 -e "s|LIBDIR = lib|LIBDIR = $(get_libdir)|" \
119 -e "s|/usr/lib|${EPREFIX}/usr/$(get_libdir)|" \
120 -e "s|/usr/include|${EPREFIX}/usr/include|" \
121 -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|" \
122 -e "s|^JULIA_COMMIT = .*|JULIA_COMMIT = v${PV}|" \
123 Make.inc || die
124
125 sed -i \
126 -e "s|,lib)|,$(get_libdir))|g" \
127 -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \
128 Makefile || die
129
130 sed -i \
131 -e "s|ar -rcs|$(tc-getAR) -rcs|g" \
132 src/Makefile || die
133 }
134
135 src_configure() {
136 # libuv is an incompatible fork from upstream, so don't use system one
137 cat <<-EOF > Make.user
138 LIBBLAS=$($(tc-getPKG_CONFIG) --libs blas)
139 LIBBLASNAME=$($(tc-getPKG_CONFIG) --libs blas | sed -e "s/-l\([a-z0-9]*\).*/lib\1/")
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="${D}/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 }