diff options
author | Mark Wright <gienah@gentoo.org> | 2014-02-26 09:22:53 +0000 |
---|---|---|
committer | Mark Wright <gienah@gentoo.org> | 2014-02-26 09:22:53 +0000 |
commit | f8c8dd711418cc49c2cfe27bf698d17266a6f0e9 (patch) | |
tree | a69a1a19861491e7f60254756c66d486c11e5efc /dev-lang/julia | |
parent | Verbose compilation. (diff) | |
download | gentoo-2-f8c8dd711418cc49c2cfe27bf698d17266a6f0e9.tar.gz gentoo-2-f8c8dd711418cc49c2cfe27bf698d17266a6f0e9.tar.bz2 gentoo-2-f8c8dd711418cc49c2cfe27bf698d17266a6f0e9.zip |
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.
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 618E971F)
Diffstat (limited to 'dev-lang/julia')
-rw-r--r-- | dev-lang/julia/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/julia/julia-0.2.0-r1.ebuild | 106 |
2 files changed, 113 insertions, 1 deletions
diff --git a/dev-lang/julia/ChangeLog b/dev-lang/julia/ChangeLog index c8bf204783e3..282f0e6367b2 100644 --- a/dev-lang/julia/ChangeLog +++ b/dev-lang/julia/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/julia # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/julia/ChangeLog,v 1.4 2014/02/26 03:37:12 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/julia/ChangeLog,v 1.5 2014/02/26 09:22:53 gienah Exp $ + +*julia-0.2.0-r1 (26 Feb 2014) + + 26 Feb 2014; Mark Wright <gienah@gentoo.org> +julia-0.2.0-r1.ebuild: + 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. 26 Feb 2014; Patrick Lauer <patrick@gentoo.org> julia-0.2.0.ebuild: Revert changes that break build #501868 diff --git a/dev-lang/julia/julia-0.2.0-r1.ebuild b/dev-lang/julia/julia-0.2.0-r1.ebuild new file mode 100644 index 000000000000..f18220d804fe --- /dev/null +++ b/dev-lang/julia/julia-0.2.0-r1.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $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 $ +EAPI=5 + +inherit eutils multilib pax-utils + +DESCRIPTION="High-level, high-performance dynamic programming language for technical computing" + +HOMEPAGE="http://julialang.org/" + +# uses gfortran in some places, dependencies don't reflect that yet + +# tarball remade because upstream lacks submodules, so it's not able to build +# soo ... they bundle a split out part of v8 that has no build system that makes sense +# double-conversion nailed in to make build system happy +# dSFMT is not meant to be packaged +SRC_URI="http://gentooexperimental.org/~patrick/${P}.tar.bz2 + http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-2.2.tar.gz -> dsfmt-2.2.tar.gz + http://double-conversion.googlecode.com/files/double-conversion-1.1.1.tar.gz" + +LICENSE="MIT" +SLOT="0" + +KEYWORDS="~amd64 ~x86" + +IUSE="" + +S="${WORKDIR}" + +# Avoid fragile duplication - see compile and install phases +JULIAMAKEARGS="QUIET_MAKE= USE_SYSTEM_LLVM=1 USE_SYSTEM_READLINE=1 USE_SYSTEM_PCRE=1 USE_SYSTEM_LIBM=1 \ + USE_SYSTEM_GMP=1 USE_SYSTEM_LIBUNWIND=1 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_FFTW=1 USE_SYSTEM_ZLIB=1 \ + USE_SYSTEM_MPFR=1 USE_SYSTEM_SUITESPARSE=1 USE_SYSTEM_ARPACK=1 USE_SYSTEM_BLAS=1 USE_SYSTEM_LAPACK=1 \ + LLVM_CONFIG=/usr/bin/llvm-config USE_BLAS64=0" + +# Forcing use of 64-bit integers. If you want 64-bit integers then you need to use a BLAS implementation from the +# science overlay and julia-9999 also from the science overlay. + +# scons is a dep of double-conversion +DEPEND=" + =sys-devel/llvm-3.3* + dev-lang/perl + sys-libs/readline + dev-libs/libpcre + dev-util/scons + dev-libs/gmp + sys-libs/libunwind + dev-util/patchelf + sci-libs/fftw + sys-libs/zlib + dev-libs/mpfr + sci-libs/suitesparse + sci-libs/arpack + virtual/lapack + virtual/blas + " +RDEPEND="sys-libs/readline" + +src_prepare() { + #uurgh, no fetching in ebuild + sed -i -e 's~$(JLDOWNLOAD)~/bin/true~' deps/Makefile || die "Oopsie" + sed -i -e 's~git submodule~/bin/true~g' deps/Makefile || die "Ooopsie" + # and we need to build stuff, so ... let's just copy around and pray! + mkdir -p deps/random + cp "${DISTDIR}/dsfmt-2.2.tar.gz" deps/random/ + cp "${DISTDIR}/double-conversion-1.1.1.tar.gz" deps/ + # Detect what BLAS and LAPACK implementations are being used + local BLAS_LIB="$($(tc-getPKG_CONFIG) --libs blas | sed 's/ .*$//')" + local LAPACK_LIB="$($(tc-getPKG_CONFIG) --libs lapack | sed 's/ .*$//')" + sed -e "s|-lblas|${BLAS_LIB}|" -i Make.inc || die + sed -e "s|libblas|${BLAS_LIB/-l/lib}.so|" -i Make.inc || die + sed -e "s|-llapack|${LAPACK_LIB}|" -i Make.inc || die + sed -e "s|liblapack|${LAPACK_LIB/-l/lib}.so|" -i Make.inc || die + sed -e "s|JL_PRIVATE_LIBDIR = lib/julia|JL_PRIVATE_LIBDIR = $(get_libdir)/julia|" \ + -e "s|JL_LIBDIR = lib|JL_LIBDIR = $(get_libdir)|" \ + -e "s|/usr/lib|/usr/$(get_libdir)|" \ + -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \ + -i Make.inc || die + # Set version to package version instead of git commit number + sed -e "s|^JULIA_COMMIT = .*|JULIA_COMMIT = v${PV}|" -i Make.inc || die + sed -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \ + -i Makefile || die +} + +src_compile() { + mkdir -p usr/$(get_libdir) || die + pushd usr || die + ln -s $(get_libdir) lib || die + popd + emake $JULIAMAKEARGS julia-release || die + for i in usr/bin/julia-* + do + if file ${i} | grep ELF >/dev/null; then + pax-mark m ${i} + fi + done + emake $JULIAMAKEARGS || die + # makefile weirdness - avoid compile in src_install + emake $JULIAMAKEARGS debug || die +} + +src_install() { + # config goes to /usr/etc/ - should be fixed + emake $JULIAMAKEARGS PREFIX="${D}/usr" install || die +} |