diff options
author | Matthias Maier <tamiko@gentoo.org> | 2016-01-16 12:25:10 +0100 |
---|---|---|
committer | Matthias Maier <tamiko@gentoo.org> | 2016-01-16 12:33:12 +0100 |
commit | 9f85644c4b07c3b4340594082da6e3d317e9bea9 (patch) | |
tree | 5ebb2caa543c70afd4c2c4604fdea98486109ec1 /dev-lang/julia | |
parent | profiles/package.mask: unmask fixed packages (diff) | |
download | gentoo-9f85644c4b07c3b4340594082da6e3d317e9bea9.tar.gz gentoo-9f85644c4b07c3b4340594082da6e3d317e9bea9.tar.bz2 gentoo-9f85644c4b07c3b4340594082da6e3d317e9bea9.zip |
dev-lang/julia: version bump to 0.4.3 (bug 564338)
Package-Manager: portage-2.2.26
Diffstat (limited to 'dev-lang/julia')
-rw-r--r-- | dev-lang/julia/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/julia/files/julia-0.4.3-fix_build_system.patch | 140 | ||||
-rw-r--r-- | dev-lang/julia/julia-0.4.3.ebuild | 183 |
3 files changed, 325 insertions, 0 deletions
diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest index 0316e9539211..f7fb6e17c0d9 100644 --- a/dev-lang/julia/Manifest +++ b/dev-lang/julia/Manifest @@ -4,6 +4,8 @@ DIST dsfmt-2.2.tar.gz 291253 SHA256 bc3947a9b2253a869fcbab8ff395416cb12958be9dba DIST julia-0.2.0.tar.bz2 4393404 SHA256 fecde7b4fbd26093dedd04564ce12b47a232525bf036c7b5f392f369ddc9a514 SHA512 3e0718c69936959dc717cf511f8fd7086eedb2fd4996519fcdb54a0b0c38d09b5b1c7d239e9e42234aab869446feec88bfd40b5419ae74c9f15bf523a757e898 WHIRLPOOL 265650e99028260d1dfe76c504468eca23bad0881790893d8b4b6cd98b0b5a936dc064ee1b661a04c762e2d78d4d23243158f594afef27001c8b4a0de259afff DIST julia-0.2.1.tar.gz 1899534 SHA256 be07283635b1bd73085f0152d3433762c1aaf115faa0e663a94d63f09c34f1b0 SHA512 67f89d88b2fca355482b2c979d50b865c9a772883bcec3b5cb82d0e096e168153972ada517d078fca1c13352b118ce9f031da162432308025f4437340d5d6635 WHIRLPOOL 22c12397e7bd217b628c3ba4e99f5e252011af1106c12abb4f796bcae544972e2d548f4858b30c7c5dfb6ef935fbc4181e3d5dbe3cc8a4bcac922f0b52d75fb3 DIST julia-0.3.0.tar.gz 2271301 SHA256 1e9778129231aeff4e5f6100b0b71d2dbc4306cfc92cf533e527907d4a7a9aa1 SHA512 1f5affffc24a62ba791af5edfd1051435a20866fb5c46796e6ddb5037b0bea482a79b86bf77cf76565fd7833d87a9b8f3f03df7d5f537b72c5655bddaaf3e033 WHIRLPOOL b908a2c0bfbe649d102071b6a3207a60cafa38370c3ab7bb10eec3fe258f6d7da76f30bd71f8deba7ab3d40068816ddbf6c7ee42c6b154c0f873c5c67e975d4c +DIST julia-0.4.3-bundled.tar.gz 2678787 SHA256 9451160add4c1fa537762627abcd3dd5fecca9ce44f71c4140d89a4bb6b23392 SHA512 919ca7b99a6eb17a651ce24fe07e5c12bfcee54ce86fac8f744765195002e8f3330df9059fadd5af3408c1f7e067e247ad4bb135879ae4ae43e1457245f90db9 WHIRLPOOL 94bb022d4f1586dfdc2f52286db423cb09898a3a5dff2f2086ca111b9117dca808758351dada23cea1056a8e5c3b33f6919410c34af96a92a4a9f8b0e0758783 +DIST julia-0.4.3.tar.gz 5563437 SHA256 b2c12b267c0d8eb380f6628e7be48c7ec46d2cfb5c585ecb3ca4cc442650e4e0 SHA512 7d5180c69573452c00563c7b98514fc9e4f0f70762912cf4f90cbf632e4b23ec149295ff1955164833ab94efd1feab992067996e3d60f795850542cf2f18f67f WHIRLPOOL 75c3ebf8cb1af67158896872e098bf66a8073eba3daf6cf5903471d34201e1605458e59f14c19ff5177413daee5aac102ec69a0afe9a93a219698a4640acaf33 DIST libuv-julia-0.2.1.tar.gz 652078 SHA256 60a98962ab7e10c924604ccd3373083e8c376a01fcac4bf568058b1f6b026f81 SHA512 73cc9903d1d9d8b8aa8c02543058f4c407aa6b125eb26506f55115cab212bcb7c1af0d215c2b9ca771f135d3913c1490a510294d658bf8d5a6dbee3dd397226f WHIRLPOOL 42b204b8cb071919b796ed745150b848fabe94668d7fb92a39505c86fefa98f52812ac2bec05821214c7e2c7120b06a47eb66e4a1a2a3acc209264244773faa3 DIST libuv-julia-0.3.0.tar.bz2 13541514 SHA256 8bd7461a316ed67928f9bd0a83e9c45083500c9784561647f12bc05629519e26 SHA512 405df88e102d7a9700ff5c691059283b0509c5236855cba1cccd042493a4deda9397d010e4d6d8a2df8dd03cb6e82597471271bb6f2a58855c6bc6fe84caffcd WHIRLPOOL a4610ff4382767e02b24922ec8a5e8f7c2df7f53f7710a9270f0b32f53b5b015de64d8f1f466066fe4ce2305adb2bf996c903edb58345ea8e232bd9dd5bc6cfb DIST rmath-0_p20140821.tar.bz2 455123 SHA256 39ea3c27d757b811caeb36d3f5c40ba908365752fbf74e5fdeed42964df09947 SHA512 22442852e6042fe8ce78252af7e88718a33774d0f34f26dafcd4313bb077f718801d207dded7c5c3368bc7554074fdf5975c615dc35ea0b28b071f2d8f91baf8 WHIRLPOOL dd6de751c46a8e5ca84cf00ba19951b4f1fcc6b80375861f9eeaeea6d15f48cec77661318edc6542ec0bafeb9b05b2be27f5c97173171427c84f48eb24310d7e diff --git a/dev-lang/julia/files/julia-0.4.3-fix_build_system.patch b/dev-lang/julia/files/julia-0.4.3-fix_build_system.patch new file mode 100644 index 000000000000..c83f0431d7df --- /dev/null +++ b/dev-lang/julia/files/julia-0.4.3-fix_build_system.patch @@ -0,0 +1,140 @@ +diff --git a/Make.inc b/Make.inc +index da01e38..c751607 100644 +--- a/Make.inc ++++ b/Make.inc +@@ -297,7 +297,7 @@ JCFLAGS = -std=gnu99 -pipe $(fPIC) -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 + JCPPFLAGS = + JCXXFLAGS = -pipe $(fPIC) -fno-rtti + DEBUGFLAGS = -O0 -ggdb3 -DJL_DEBUG_BUILD -fstack-protector-all +-SHIPFLAGS = -O3 -ggdb3 -falign-functions ++SHIPFLAGS = GENTOOCFLAGS + endif + + ifeq ($(USECLANG),1) +@@ -307,7 +307,7 @@ JCFLAGS = -pipe $(fPIC) -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 + JCPPFLAGS = + JCXXFLAGS = -pipe $(fPIC) -fno-rtti + DEBUGFLAGS = -O0 -g -DJL_DEBUG_BUILD -fstack-protector-all +-SHIPFLAGS = -O3 -g ++SHIPFLAGS = GENTOOCFLAGS + ifeq ($(OS), Darwin) + ifeq ($(USE_LIBCPP), 1) + CC += -stdlib=libc++ -mmacosx-version-min=10.7 +@@ -334,7 +334,7 @@ JCFLAGS = -std=gnu11 -pipe $(fPIC) -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 - + JCPPFLAGS = + JCXXFLAGS = -pipe $(fPIC) -fno-rtti + DEBUGFLAGS = -O0 -g -DJL_DEBUG_BUILD -fstack-protector-all +-SHIPFLAGS = -O3 -g -falign-functions ++SHIPFLAGS = GENTOOCFLAGS + endif + + ifeq ($(USECCACHE), 1) +diff --git a/deps/Makefile b/deps/Makefile +index 051b23d..881ba68 100644 +--- a/deps/Makefile ++++ b/deps/Makefile +@@ -862,7 +862,7 @@ OPENSPECFUN_TAR_URL = https://api.github.com/repos/JuliaLang/openspecfun/tarball + $(eval $(call git-external,openspecfun,OPENSPECFUN,Makefile,libopenspecfun.$(SHLIB_EXT))) + + # issue 8799 +-OPENSPECFUN_CFLAGS = -O3 -std=c99 ++OPENSPECFUN_CFLAGS = GENTOOCFLAGS -std=c99 + ifeq ($(USEICC),1) + OPENSPECFUN_CFLAGS += -fp-model precise + endif +@@ -902,7 +902,7 @@ DSFMT_OBJ_SOURCE = dsfmt-$(DSFMT_VER)/libdSFMT.$(SHLIB_EXT) + + DSFMT_CFLAGS = $(CFLAGS) -DNDEBUG -DDSFMT_MEXP=19937 $(fPIC) -DDSFMT_DO_NOT_USE_OLD_NAMES + ifneq ($(USEMSVC), 1) +-DSFMT_CFLAGS += -O3 -finline-functions -fomit-frame-pointer -fno-strict-aliasing \ ++DSFMT_CFLAGS += GENTOOCFLAGS -finline-functions -fno-strict-aliasing \ + --param max-inline-insns-single=1800 -Wmissing-prototypes -Wall -std=c99 -shared + else + DSFMT_CFLAGS += -Wl,-dll,-def:../libdSFMT.def +@@ -1181,7 +1181,7 @@ endif + endif + + libgfortblas.$(SHLIB_EXT): gfortblas.c gfortblas.alias +- $(CC) -Wall -O3 $(CPPFLAGS) $(CFLAGS) $(fPIC) -shared $< -o $@ -pipe \ ++ $(CC) -Wall GENTOOCFLAGS $(CPPFLAGS) $(CFLAGS) $(fPIC) -shared $< -o $@ -pipe \ + -Wl,-reexport_framework,Accelerate -Wl,-alias_list,gfortblas.alias + $(build_shlibdir)/libgfortblas.$(SHLIB_EXT): libgfortblas.$(SHLIB_EXT) + cp -f $< $@ +@@ -1607,10 +1607,10 @@ install-suitesparse: $(SUITESPARSE_OBJ_TARGET) install-suitesparse-wrapper + # SUITESPARSE WRAPPER + + ifeq ($(USE_SYSTEM_SUITESPARSE), 1) +-SUITESPARSE_INC = -I /usr/include/suitesparse ++ + SUITESPARSE_LIB = -lumfpack -lcholmod -lamd -lcamd -lcolamd -lspqr + else +-SUITESPARSE_INC = -I SuiteSparse-$(SUITESPARSE_VER)/CHOLMOD/Include -I SuiteSparse-$(SUITESPARSE_VER)/SuiteSparse_config -I SuiteSparse-$(SUITESPARSE_VER)/SPQR/Include ++ + SUITESPARSE_LIB = -L$(build_shlibdir) -lcholmod -lumfpack -lspqr $(RPATH_ORIGIN) + $(build_shlibdir)/libsuitesparse_wrapper.$(SHLIB_EXT): $(SUITESPARSE_OBJ_TARGET) + endif +diff --git a/deps/checksums/Rmath-julia-0.1.tar.gz/sha512 b/deps/checksums/Rmath-julia-0.1.tar.gz/sha512 +index 6a64d44..6bbeb34 100644 +--- a/deps/checksums/Rmath-julia-0.1.tar.gz/sha512 ++++ b/deps/checksums/Rmath-julia-0.1.tar.gz/sha512 +@@ -1 +1 @@ +-1dd94eca05bc06c3f33e8be5087d3b1742d01c8b38588e0fa79b8f6b9998760bca21bee1b65873825c4dde2d994a8271166bc21f670a34810fa9db598473a887 ++15da0b3ff16113d5ad44c7ec42a1c8e260973883dd85ee174b3526f01137a94136cb03d4bbecb9267b7ca20d5ffc10670496d589cf60b86930f869a9fe219794 +diff --git a/doc/Makefile b/doc/Makefile +index 08ba8dd..078d725 100644 +--- a/doc/Makefile ++++ b/doc/Makefile +@@ -56,7 +56,7 @@ help: + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + + clean: +- -rm -rf _build/* ++ @echo "Do not clean doc/_build/html. Just use it..." + + cleanall: clean + +diff --git a/src/Makefile b/src/Makefile +index 98fa704..b566791 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -26,15 +26,8 @@ endif + + # In LLVM < 3.4, --ldflags includes both options and libraries, so use it both before and after --libs + # In LLVM >= 3.4, --ldflags has only options, and --system-libs has the libraries. +-LLVMLINK = $(call exec,$(LLVM_CONFIG) --ldflags) $(call exec,$(LLVM_CONFIG) --libs) $(call exec,$(LLVM_CONFIG) --ldflags) $(call exec,$(LLVM_CONFIG) --system-libs 2> /dev/null) +-ifeq ($(USE_LLVM_SHLIB),1) +-ifeq ($(LLVM_USE_CMAKE),1) +-LLVMLINK = $(call exec,$(LLVM_CONFIG) --ldflags) -lLLVM +-else +-LLVMLINK = $(call exec,$(LLVM_CONFIG) --ldflags) -lLLVM-$(call exec,$(LLVM_CONFIG) --version) +-endif ++LLVMLINK = $(call exec,$(LLVM_CONFIG) --ldflags) $(call exec,$(LLVM_CONFIG) --libs) $(call exec,$(LLVM_CONFIG) --ldflags) $(call exec,$(LLVM_CONFIG) --system-libs) + FLAGS += -DLLVM_SHLIB +-endif + + COMMON_LIBS = -L$(build_shlibdir) -L$(build_libdir) $(LIBUV) $(LIBUTF8PROC) $(NO_WHOLE_ARCHIVE) $(LLVMLINK) $(OSLIBS) + DEBUG_LIBS = $(WHOLE_ARCHIVE) $(BUILDDIR)/flisp/libflisp-debug.a $(WHOLE_ARCHIVE) $(BUILDDIR)/support/libsupport-debug.a $(COMMON_LIBS) +diff --git a/ui/Makefile b/ui/Makefile +index c9b5d0e..557a38c 100644 +--- a/ui/Makefile ++++ b/ui/Makefile +@@ -20,15 +20,10 @@ OBJS = $(SRCS:%=%.o) + DOBJS = $(SRCS:%=%.dbg.obj) + DEBUGFLAGS += $(FLAGS) + SHIPFLAGS += $(FLAGS) +-ifeq ($(USE_LLVM_SHLIB),1) +-ifeq ($(LLVM_USE_CMAKE),1) +-LLVMLINK = $(call exec,$(LLVM_CONFIG) --ldflags) -lLLVM +-else +-LLVMLINK = $(call exec,$(LLVM_CONFIG) --ldflags) -lLLVM-$(call exec,$(LLVM_CONFIG) --version) +-endif +-else +-LLVMLINK = +-endif ++ ++LLVMLINK = $(call exec,$(LLVM_CONFIG) --ldflags) $(call exec,$(LLVM_CONFIG) --libs) $(call exec,$(LLVM_CONFIG) --ldflags) $(call exec,$(LLVM_CONFIG) --system-libs) ++FLAGS += -DLLVM_SHLIB ++ + JLDFLAGS += $(LDFLAGS) $(NO_WHOLE_ARCHIVE) $(OSLIBS) $(LLVMLINK) $(RPATH) + + ifeq ($(USE_SYSTEM_LIBM),0) diff --git a/dev-lang/julia/julia-0.4.3.ebuild b/dev-lang/julia/julia-0.4.3.ebuild new file mode 100644 index 000000000000..108dc308715f --- /dev/null +++ b/dev-lang/julia/julia-0.4.3.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +RESTRICT="test" + +inherit elisp-common eutils multilib pax-utils toolchain-funcs + +DESCRIPTION="High-performance programming language for technical computing" +HOMEPAGE="http://julialang.org/" +SRC_URI=" + https://github.com/JuliaLang/${PN}/releases/download/v${PV}/${P}.tar.gz + https://dev.gentoo.org/~tamiko/${P}-bundled.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="emacs" + +RDEPEND=" + dev-lang/R:0= + dev-libs/double-conversion:0= + dev-libs/gmp:0= + dev-libs/libgit2:0= + dev-libs/mpfr:0= + dev-libs/openspecfun + sci-libs/arpack:0= + sci-libs/camd:0= + sci-libs/cholmod:0= + sci-libs/fftw:3.0= + sci-libs/openlibm:0= + sci-libs/spqr:0= + sci-libs/umfpack:0= + sci-mathematics/glpk:0= + >=sys-devel/llvm-3.5:0= + >=sys-libs/libunwind-1.1:7= + sys-libs/readline:0= + sys-libs/zlib:0= + virtual/blas + virtual/lapack + emacs? ( app-emacs/ess )" + +DEPEND="${RDEPEND} + dev-util/patchelf + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${P}-fix_build_system.patch +) + +src_prepare() { + mv "${WORKDIR}"/bundled/dsfmt-2.2.3.tar.gz deps/ || die + mv "${WORKDIR}"/bundled/libuv-efb40768b7c7bd9f173a7868f74b92b1c5a61a0e.tar.gz deps/ || die + mv "${WORKDIR}"/bundled/pcre2-10.20.tar.bz2 deps/ || die + mv "${WORKDIR}"/bundled/Rmath-julia-0.1.tar.gz deps/ || die + mv "${WORKDIR}"/bundled/utf8proc-85789180158ac7fff85b9f008828d6ac44f072ea.tar.gz deps/ || die + rmdir "${WORKDIR}"/bundled || die + + epatch "${PATCHES[@]}" + + # Sledgehammer: + # - prevent fetching of bundled stuff in compile and install phase + # - respect CFLAGS + # - respect EPREFIX and Gentoo specific paths + # - fix BLAS and LAPACK link interface + + sed -i \ + -e 's|$(JLDOWNLOAD)|${EPREFIX}/bin/true|' \ + -e 's|git submodule|${EPREFIX}/bin/true|g' \ + -e "s|GENTOOCFLAGS|${CFLAGS}|g" \ + -e "s|/usr/include|${EPREFIX%/}/usr/include|g" \ + deps/Makefile || die + + local lblas="$($(tc-getPKG_CONFIG) --libs blas)" + lblas=${lblas%% *} + local llapack="$($(tc-getPKG_CONFIG) --libs lapack)" + llapack=${llapack%% *} + + sed -i \ + -e "s|\(JULIA_EXECUTABLE = \)\(\$(JULIAHOME)/julia\)|\1 LD_LIBRARY_PATH=\$(BUILD)/$(get_libdir) \2|" \ + -e "s|GENTOOCFLAGS|${CFLAGS}|g" \ + -e "s|LIBDIR = lib|LIBDIR = $(get_libdir)|" \ + -e "s|/usr/lib|${EPREFIX}/usr/$(get_libdir)|" \ + -e "s|/usr/include|${EPREFIX}/usr/include|" \ + -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|" \ + -e "s|^JULIA_COMMIT = .*|JULIA_COMMIT = v${PV}|" \ + -e "s|-lblas|${lblas}|" \ + -e "s|= libblas|= lib${lblas#-l}|" \ + -e "s|-llapack|${llapack}|" \ + -e "s|= liblapack|= lib${llapack#-l}|" \ + Make.inc || die + + sed -i \ + -e "s|,lib)|,$(get_libdir))|g" \ + -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \ + Makefile || die + + sed -i \ + -e "s|ar -rcs|$(tc-getAR) -rcs|g" \ + src/Makefile || die +} + +src_configure() { + # julia does not play well with the system versions of + # dsfmt, libuv, pcre2 and utf8proc + cat <<-EOF > Make.user + USE_SYSTEM_DSFMT=0 + USE_SYSTEM_LIBUV=0 + USE_SYSTEM_PCRE=0 + USE_SYSTEM_RMATH=0 + USE_SYSTEM_UTF8PROC=0 + USE_LLVM_SHLIB=1 + USE_SYSTEM_ARPACK=1 + USE_SYSTEM_BLAS=1 + USE_SYSTEM_FFTW=1 + USE_SYSTEM_GMP=1 + USE_SYSTEM_GRISU=1 + USE_SYSTEM_LAPACK=1 + USE_SYSTEM_LIBGIT2=1 + USE_SYSTEM_LIBM=1 + USE_SYSTEM_LIBUNWIND=1 + USE_SYSTEM_LLVM=1 + USE_SYSTEM_MPFR=1 + USE_SYSTEM_OPENLIBM=1 + USE_SYSTEM_OPENSPECFUN=1 + USE_SYSTEM_PATCHELF=1 + USE_SYSTEM_READLINE=1 + USE_SYSTEM_SUITESPARSE=1 + USE_SYSTEM_ZLIB=1 + VERBOSE=1 + EOF + +} + +src_compile() { + emake cleanall + emake julia-release \ + prefix="/usr" DESTDIR="${D}" CC="$(tc-getCC)" CXX="$(tc-getCXX)" + pax-mark m $(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}') + emake + use emacs && elisp-compile contrib/julia-mode.el +} + +src_test() { + emake test +} + +src_install() { + emake install \ + prefix="/usr" DESTDIR="${D}" CC="$(tc-getCC)" CXX="$(tc-getCXX)" + cat > 99julia <<-EOF + LDPATH=${EROOT%/}/usr/$(get_libdir)/julia + EOF + doenvd 99julia + + if use emacs; then + elisp-install "${PN}" contrib/julia-mode.el + elisp-site-file-install "${FILESDIR}"/63julia-gentoo.el + fi + dodoc README.md + + mv "${ED}"/usr/etc/julia "${ED}"/etc || die + rmdir "${ED}"/usr/etc || die + rmdir "${ED}"/usr/libexec || die + mv "${ED}"/usr/share/doc/julia/{examples,html} \ + "${ED}"/usr/share/doc/${P} || die + rmdir "${ED}"/usr/share/doc/julia || die + if [[ $(get_libdir) != lib ]]; then + mkdir -p "${ED}"/usr/$(get_libdir) || die + mv "${ED}"/usr/lib/julia "${ED}"/usr/$(get_libdir)/julia || die + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |