Gentoo Archives: gentoo-commits

From: "Mark Wright (gienah)" <gienah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-lang/julia: julia-0.2.0-r1.ebuild ChangeLog
Date: Wed, 26 Feb 2014 09:23:00
Message-Id: 20140226092253.7215E2004C@flycatcher.gentoo.org
1 gienah 14/02/26 09:22:53
2
3 Modified: ChangeLog
4 Added: julia-0.2.0-r1.ebuild
5 Log:
6 Add 0.2.0-r1 with calchan's fix for bug #501868 and USE_BLAS64=0. paxmark m executables during build for Gentoo hardened. Tweak for multilib-strict.
7
8 (Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 618E971F)
9
10 Revision Changes Path
11 1.5 dev-lang/julia/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/ChangeLog?rev=1.5&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/ChangeLog?rev=1.5&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/ChangeLog?r1=1.4&r2=1.5
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/dev-lang/julia/ChangeLog,v
20 retrieving revision 1.4
21 retrieving revision 1.5
22 diff -u -r1.4 -r1.5
23 --- ChangeLog 26 Feb 2014 03:37:12 -0000 1.4
24 +++ ChangeLog 26 Feb 2014 09:22:53 -0000 1.5
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.4 2014/02/26 03:37:12 patrick Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/julia/ChangeLog,v 1.5 2014/02/26 09:22:53 gienah Exp $
30 +
31 +*julia-0.2.0-r1 (26 Feb 2014)
32 +
33 + 26 Feb 2014; Mark Wright <gienah@g.o> +julia-0.2.0-r1.ebuild:
34 + Add 0.2.0-r1 with calchan's fix for bug #501868 and USE_BLAS64=0. paxmark m
35 + executables during build for Gentoo hardened. Tweak for multilib-strict.
36
37 26 Feb 2014; Patrick Lauer <patrick@g.o> julia-0.2.0.ebuild:
38 Revert changes that break build #501868
39
40
41
42 1.1 dev-lang/julia/julia-0.2.0-r1.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/julia-0.2.0-r1.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/julia/julia-0.2.0-r1.ebuild?rev=1.1&content-type=text/plain
46
47 Index: julia-0.2.0-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.0-r1.ebuild,v 1.1 2014/02/26 09:22:53 gienah Exp $
52 EAPI=5
53
54 inherit eutils multilib pax-utils
55
56 DESCRIPTION="High-level, high-performance dynamic programming language for technical computing"
57
58 HOMEPAGE="http://julialang.org/"
59
60 # uses gfortran in some places, dependencies don't reflect that yet
61
62 # tarball remade because upstream lacks submodules, so it's not able to build
63 # soo ... they bundle a split out part of v8 that has no build system that makes sense
64 # double-conversion nailed in to make build system happy
65 # dSFMT is not meant to be packaged
66 SRC_URI="http://gentooexperimental.org/~patrick/${P}.tar.bz2
67 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-2.2.tar.gz -> dsfmt-2.2.tar.gz
68 http://double-conversion.googlecode.com/files/double-conversion-1.1.1.tar.gz"
69
70 LICENSE="MIT"
71 SLOT="0"
72
73 KEYWORDS="~amd64 ~x86"
74
75 IUSE=""
76
77 S="${WORKDIR}"
78
79 # Avoid fragile duplication - see compile and install phases
80 JULIAMAKEARGS="QUIET_MAKE= USE_SYSTEM_LLVM=1 USE_SYSTEM_READLINE=1 USE_SYSTEM_PCRE=1 USE_SYSTEM_LIBM=1 \
81 USE_SYSTEM_GMP=1 USE_SYSTEM_LIBUNWIND=1 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_FFTW=1 USE_SYSTEM_ZLIB=1 \
82 USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=1 USE_SYSTEM_ARPACK=1 USE_SYSTEM_BLAS=1 USE_SYSTEM_LAPACK=1 \
83 LLVM_CONFIG=/usr/bin/llvm-config USE_BLAS64=0"
84
85 # Forcing use of 64-bit integers. If you want 64-bit integers then you need to use a BLAS implementation from the
86 # science overlay and julia-9999 also from the science overlay.
87
88 # scons is a dep of double-conversion
89 DEPEND="
90 =sys-devel/llvm-3.3*
91 dev-lang/perl
92 sys-libs/readline
93 dev-libs/libpcre
94 dev-util/scons
95 dev-libs/gmp
96 sys-libs/libunwind
97 dev-util/patchelf
98 sci-libs/fftw
99 sys-libs/zlib
100 dev-libs/mpfr
101 sci-libs/suitesparse
102 sci-libs/arpack
103 virtual/lapack
104 virtual/blas
105 "
106 RDEPEND="sys-libs/readline"
107
108 src_prepare() {
109 #uurgh, no fetching in ebuild
110 sed -i -e 's~$(JLDOWNLOAD)~/bin/true~' deps/Makefile || die "Oopsie"
111 sed -i -e 's~git submodule~/bin/true~g' deps/Makefile || die "Ooopsie"
112 # and we need to build stuff, so ... let's just copy around and pray!
113 mkdir -p deps/random
114 cp "${DISTDIR}/dsfmt-2.2.tar.gz" deps/random/
115 cp "${DISTDIR}/double-conversion-1.1.1.tar.gz" deps/
116 # Detect what BLAS and LAPACK implementations are being used
117 local BLAS_LIB="$($(tc-getPKG_CONFIG) --libs blas | sed 's/ .*$//')"
118 local LAPACK_LIB="$($(tc-getPKG_CONFIG) --libs lapack | sed 's/ .*$//')"
119 sed -e "s|-lblas|${BLAS_LIB}|" -i Make.inc || die
120 sed -e "s|libblas|${BLAS_LIB/-l/lib}.so|" -i Make.inc || die
121 sed -e "s|-llapack|${LAPACK_LIB}|" -i Make.inc || die
122 sed -e "s|liblapack|${LAPACK_LIB/-l/lib}.so|" -i Make.inc || die
123 sed -e "s|JL_PRIVATE_LIBDIR = lib/julia|JL_PRIVATE_LIBDIR = $(get_libdir)/julia|" \
124 -e "s|JL_LIBDIR = lib|JL_LIBDIR = $(get_libdir)|" \
125 -e "s|/usr/lib|/usr/$(get_libdir)|" \
126 -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \
127 -i Make.inc || die
128 # Set version to package version instead of git commit number
129 sed -e "s|^JULIA_COMMIT = .*|JULIA_COMMIT = v${PV}|" -i Make.inc || die
130 sed -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \
131 -i Makefile || die
132 }
133
134 src_compile() {
135 mkdir -p usr/$(get_libdir) || die
136 pushd usr || die
137 ln -s $(get_libdir) lib || die
138 popd
139 emake $JULIAMAKEARGS julia-release || die
140 for i in usr/bin/julia-*
141 do
142 if file ${i} | grep ELF >/dev/null; then
143 pax-mark m ${i}
144 fi
145 done
146 emake $JULIAMAKEARGS || die
147 # makefile weirdness - avoid compile in src_install
148 emake $JULIAMAKEARGS debug || die
149 }
150
151 src_install() {
152 # config goes to /usr/etc/ - should be fixed
153 emake $JULIAMAKEARGS PREFIX="${D}/usr" install || die
154 }