julia_10, julia_15: drop infavor of latest stable versions

Nick Cao b60de3b4 c754d1b6

+4 -432
-207
pkgs/development/compilers/julia/1.0.nix
··· 1 - { lib, stdenv, fetchpatch, fetchurl, fetchzip 2 - # build tools 3 - , gfortran, m4, makeWrapper, patchelf, perl, which, python3 4 - , cmake 5 - # libjulia dependencies 6 - , libunwind, readline, utf8proc, zlib 7 - # standard library dependencies 8 - , curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2 9 - # linear algebra 10 - , blas, lapack, arpack 11 - # Darwin frameworks 12 - , CoreServices, ApplicationServices 13 - }: 14 - 15 - 16 - let 17 - majorVersion = "1"; 18 - minorVersion = "0"; 19 - maintenanceVersion = "4"; 20 - src_sha256 = "1dfx68wbrrzpbh74rla7i2g3r5z6wa1pxq3ahyfm5m27vfyjbkhg"; 21 - 22 - libuvVersion = "ed3700c849289ed01fe04273a7bf865340b2bd7e"; 23 - libuvSha256 = "137w666zsjw1p0ma3lf94d75hr1q45sgkfmbizkyji2qm57cnxjs"; 24 - 25 - dsfmtVersion = "2.2.3"; 26 - dsfmt = fetchurl { 27 - url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmtVersion}.tar.gz"; 28 - sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42"; 29 - }; 30 - 31 - libuv = fetchurl { 32 - url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}"; 33 - sha256 = libuvSha256; 34 - }; 35 - 36 - rmathVersion = "0.1"; 37 - rmath-julia = fetchurl { 38 - url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}"; 39 - sha256 = "1qyps217175qhid46l8f5i1v8i82slgp23ia63x2hzxwfmx8617p"; 40 - }; 41 - 42 - virtualenvVersion = "15.0.0"; 43 - virtualenv = fetchurl { 44 - url = "mirror://pypi/v/virtualenv/virtualenv-${virtualenvVersion}.tar.gz"; 45 - sha256 = "06fw4liazpx5vf3am45q2pdiwrv0id7ckv7n6zmpml29x6vkzmkh"; 46 - }; 47 - 48 - libwhichVersion = "81e9723c0273d78493dc8c8ed570f68d9ce7e89e"; 49 - libwhich = fetchurl { 50 - url = "https://api.github.com/repos/vtjnash/libwhich/tarball/${libwhichVersion}"; 51 - sha256 = "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"; 52 - }; 53 - 54 - llvmVersion = "6.0.0"; 55 - llvm = fetchurl { 56 - url = "http://releases.llvm.org/6.0.0/llvm-${llvmVersion}.src.tar.xz"; 57 - sha256 = "0224xvfg6h40y5lrbnb9qaq3grmdc5rg00xq03s1wxjfbf8krx8z"; 58 - }; 59 - 60 - suitesparseVersion = "4.4.5"; 61 - suitesparse = fetchurl { 62 - url = "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${suitesparseVersion}.tar.gz"; 63 - sha256 = "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43"; 64 - }; 65 - version = "${majorVersion}.${minorVersion}.${maintenanceVersion}"; 66 - in 67 - 68 - stdenv.mkDerivation rec { 69 - pname = "julia"; 70 - inherit version; 71 - 72 - src = fetchzip { 73 - url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz"; 74 - sha256 = src_sha256; 75 - }; 76 - 77 - nativeBuildInputs = [ cmake curl gfortran m4 makeWrapper patchelf perl python3 which ]; 78 - # cmake is only used to build the bundled deps 79 - dontUseCmakeConfigure = true; 80 - 81 - # We assert that compatible blas and lapack are used. 82 - buildInputs = assert (blas.isILP64 == lapack.isILP64); [ 83 - arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr 84 - pcre2.dev blas lapack openlibm openspecfun readline utf8proc 85 - zlib 86 - ] 87 - ++ lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] 88 - ; 89 - 90 - patches = [ 91 - ./patches/1.0/use-system-utf8proc-julia-1.0.patch 92 - ]; 93 - 94 - postPatch = '' 95 - patchShebangs . contrib 96 - for i in backtrace cmdlineargs; do 97 - mv test/$i.jl{,.off} 98 - touch test/$i.jl 99 - done 100 - rm stdlib/Sockets/test/runtests.jl && touch stdlib/Sockets/test/runtests.jl 101 - rm stdlib/Distributed/test/runtests.jl && touch stdlib/Distributed/test/runtests.jl 102 - sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i ./stdlib/LibGit2/test/libgit2.jl 103 - sed -e 's/Failed to resolve /failed to resolve /g' -i ./stdlib/LibGit2/test/libgit2.jl 104 - ''; 105 - prePatch = '' 106 - mkdir deps/srccache 107 - cp "${dsfmt}" "./deps/srccache/dsfmt-${dsfmtVersion}.tar.gz" 108 - cp "${rmath-julia}" "./deps/srccache/Rmath-julia-${rmathVersion}.tar.gz" 109 - cp "${libuv}" "./deps/srccache/libuv-${libuvVersion}.tar.gz" 110 - cp "${virtualenv}" "./deps/srccache/virtualenv-${virtualenvVersion}.tar.gz" 111 - cp "${libwhich}" "./deps/srccache/libwhich-${libwhichVersion}.tar.gz" 112 - cp "${llvm}" "./deps/srccache/llvm-${llvmVersion}.src.tar.xz" 113 - cp "${suitesparse}" "./deps/srccache/SuiteSparse-${suitesparseVersion}.tar.gz" 114 - ''; 115 - 116 - makeFlags = 117 - let 118 - arch = lib.head (lib.splitString "-" stdenv.system); 119 - march = { 120 - x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64"; 121 - i686 = "pentium4"; 122 - aarch64 = "armv8-a"; 123 - }.${arch} 124 - or (throw "unsupported architecture: ${arch}"); 125 - # Julia requires Pentium 4 (SSE2) or better 126 - cpuTarget = { x86_64 = "x86-64"; i686 = "pentium4"; aarch64 = "generic"; }.${arch} 127 - or (throw "unsupported architecture: ${arch}"); 128 - in [ 129 - "ARCH=${arch}" 130 - "MARCH=${march}" 131 - "JULIA_CPU_TARGET=${cpuTarget}" 132 - "PREFIX=$(out)" 133 - "prefix=$(out)" 134 - "SHELL=${stdenv.shell}" 135 - 136 - (lib.optionalString (!stdenv.isDarwin) "USE_SYSTEM_BLAS=1") 137 - "USE_BLAS64=${if blas.isILP64 then "1" else "0"}" 138 - 139 - "USE_SYSTEM_LAPACK=1" 140 - 141 - "USE_SYSTEM_ARPACK=1" 142 - "USE_SYSTEM_FFTW=1" 143 - "USE_SYSTEM_GMP=1" 144 - "USE_SYSTEM_LIBGIT2=1" 145 - "USE_SYSTEM_LIBUNWIND=1" 146 - 147 - # We will probably never do that 148 - #"USE_SYSTEM_LLVM=1" 149 - "LLVM_VER=6.0.0" 150 - 151 - "USE_SYSTEM_MPFR=1" 152 - "USE_SYSTEM_OPENLIBM=1" 153 - "USE_SYSTEM_OPENSPECFUN=1" 154 - "USE_SYSTEM_PATCHELF=1" 155 - "USE_SYSTEM_PCRE=1" 156 - "PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config" 157 - "PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h" 158 - "USE_SYSTEM_READLINE=1" 159 - "USE_SYSTEM_UTF8PROC=1" 160 - "USE_SYSTEM_ZLIB=1" 161 - ]; 162 - 163 - LD_LIBRARY_PATH = assert (blas.isILP64 == lapack.isILP64); (lib.makeLibraryPath [ 164 - arpack fftw fftwSinglePrec gmp libgit2 mpfr blas lapack openlibm 165 - openspecfun pcre2 166 - ]); 167 - 168 - doCheck = !stdenv.isDarwin; 169 - checkTarget = "testall"; 170 - # Julia's tests require read/write access to $HOME 171 - preCheck = '' 172 - export HOME="$NIX_BUILD_TOP" 173 - ''; 174 - 175 - preBuild = '' 176 - sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile 177 - sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile 178 - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} 179 - ''; 180 - 181 - enableParallelBuilding = true; 182 - 183 - postInstall = '' 184 - # Symlink shared libraries from LD_LIBRARY_PATH into lib/julia, 185 - # as using a wrapper with LD_LIBRARY_PATH causes segmentation 186 - # faults when program returns an error: 187 - # $ julia -e 'throw(Error())' 188 - find $(echo $LD_LIBRARY_PATH | sed 's|:| |g') -maxdepth 1 -name '*.${if stdenv.isDarwin then "dylib" else "so"}*' | while read lib; do 189 - if [[ ! -e $out/lib/julia/$(basename $lib) ]]; then 190 - ln -sv $lib $out/lib/julia/$(basename $lib) 191 - fi 192 - done 193 - ''; 194 - 195 - passthru = { 196 - inherit majorVersion minorVersion maintenanceVersion; 197 - site = "share/julia/site/v${majorVersion}.${minorVersion}"; 198 - }; 199 - 200 - meta = { 201 - description = "High-level performance-oriented dynamical language for technical computing"; 202 - homepage = "https://julialang.org/"; 203 - license = lib.licenses.mit; 204 - maintainers = with lib.maintainers; [ raskin rob garrison ]; 205 - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ]; 206 - }; 207 - }
···
-147
pkgs/development/compilers/julia/1.5.nix
··· 1 - { lib, stdenv, fetchzip 2 - # build tools 3 - , gfortran, m4, makeWrapper, patchelf, perl, which, python3, cmake 4 - # libjulia dependencies 5 - , libunwind, readline, utf8proc, zlib 6 - # standard library dependencies 7 - , curl, fftwSinglePrec, fftw, libgit2, mpfr, openlibm, openspecfun, pcre2 8 - # linear algebra 9 - , blas, lapack, arpack 10 - # Darwin frameworks 11 - , CoreServices, ApplicationServices 12 - }: 13 - 14 - assert (!blas.isILP64) && (!lapack.isILP64); 15 - 16 - with lib; 17 - 18 - let 19 - majorVersion = "1"; 20 - minorVersion = "5"; 21 - maintenanceVersion = "4"; 22 - src_sha256 = "1ba1v7hakgj95xvhyff0zcp0574qv6vailjl48wl1f8w5k54lsw2"; 23 - version = "${majorVersion}.${minorVersion}.${maintenanceVersion}"; 24 - in 25 - 26 - stdenv.mkDerivation rec { 27 - pname = "julia"; 28 - inherit version; 29 - 30 - src = fetchzip { 31 - url = "https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz"; 32 - sha256 = src_sha256; 33 - }; 34 - 35 - patches = [ 36 - ./patches/1.5/use-system-utf8proc-julia-1.3.patch 37 - ]; 38 - 39 - postPatch = '' 40 - patchShebangs . contrib 41 - ''; 42 - 43 - dontUseCmakeConfigure = true; 44 - 45 - buildInputs = [ 46 - arpack fftw fftwSinglePrec libgit2 libunwind mpfr 47 - pcre2.dev blas lapack openlibm openspecfun readline utf8proc 48 - zlib 49 - ] ++ lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]; 50 - 51 - nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python3 which cmake ]; 52 - 53 - makeFlags = 54 - let 55 - arch = head (splitString "-" stdenv.system); 56 - march = { 57 - x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64"; 58 - i686 = "pentium4"; 59 - aarch64 = "armv8-a"; 60 - }.${arch} 61 - or (throw "unsupported architecture: ${arch}"); 62 - # Julia requires Pentium 4 (SSE2) or better 63 - cpuTarget = { x86_64 = "x86-64"; i686 = "pentium4"; aarch64 = "generic"; }.${arch} 64 - or (throw "unsupported architecture: ${arch}"); 65 - # Julia applies a lot of patches to its dependencies, so for now do not use the system LLVM 66 - # https://github.com/JuliaLang/julia/tree/master/deps/patches 67 - in [ 68 - "ARCH=${arch}" 69 - "MARCH=${march}" 70 - "JULIA_CPU_TARGET=${cpuTarget}" 71 - "PREFIX=$(out)" 72 - "prefix=$(out)" 73 - "SHELL=${stdenv.shell}" 74 - 75 - (lib.optionalString (!stdenv.isDarwin) "USE_SYSTEM_BLAS=1") 76 - "USE_BLAS64=${if blas.isILP64 then "1" else "0"}" 77 - 78 - "USE_SYSTEM_LAPACK=1" 79 - 80 - "USE_SYSTEM_ARPACK=1" 81 - "USE_SYSTEM_FFTW=1" 82 - "USE_SYSTEM_GMP=0" 83 - "USE_SYSTEM_LIBGIT2=1" 84 - "USE_SYSTEM_LIBUNWIND=1" 85 - 86 - "USE_SYSTEM_MPFR=1" 87 - "USE_SYSTEM_OPENLIBM=1" 88 - "USE_SYSTEM_OPENSPECFUN=1" 89 - "USE_SYSTEM_PATCHELF=1" 90 - "USE_SYSTEM_PCRE=1" 91 - "PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config" 92 - "PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h" 93 - "USE_SYSTEM_READLINE=1" 94 - "USE_SYSTEM_UTF8PROC=1" 95 - "USE_SYSTEM_ZLIB=1" 96 - 97 - "USE_BINARYBUILDER=0" 98 - ]; 99 - 100 - LD_LIBRARY_PATH = makeLibraryPath [ 101 - arpack fftw fftwSinglePrec libgit2 mpfr blas openlibm 102 - openspecfun pcre2 lapack 103 - ]; 104 - 105 - preBuild = '' 106 - sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile 107 - sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile 108 - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} 109 - ''; 110 - 111 - enableParallelBuilding = true; 112 - 113 - # Julia's tests require read/write access to $HOME 114 - preCheck = '' 115 - export HOME="$NIX_BUILD_TOP" 116 - ''; 117 - doCheck = true; 118 - checkTarget = "test"; 119 - 120 - postInstall = '' 121 - # Symlink shared libraries from LD_LIBRARY_PATH into lib/julia, 122 - # as using a wrapper with LD_LIBRARY_PATH causes segmentation 123 - # faults when program returns an error: 124 - # $ julia -e 'throw(Error())' 125 - find $(echo $LD_LIBRARY_PATH | sed 's|:| |g') -maxdepth 1 -name '*.${if stdenv.isDarwin then "dylib" else "so"}*' | while read lib; do 126 - if [[ ! -e $out/lib/julia/$(basename $lib) ]]; then 127 - ln -sv $lib $out/lib/julia/$(basename $lib) 128 - fi 129 - done 130 - ''; 131 - 132 - passthru = { 133 - inherit majorVersion minorVersion maintenanceVersion; 134 - site = "share/julia/site/v${majorVersion}.${minorVersion}"; 135 - }; 136 - 137 - meta = { 138 - description = "High-level performance-oriented dynamical language for technical computing"; 139 - homepage = "https://julialang.org/"; 140 - license = lib.licenses.mit; 141 - maintainers = with lib.maintainers; [ raskin rob garrison ]; 142 - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ]; 143 - # Unfortunately, this derivation does not pass Julia's test suite. See 144 - # https://github.com/NixOS/nixpkgs/pull/121114. 145 - broken = true; 146 - }; 147 - }
···
-29
pkgs/development/compilers/julia/patches/1.0/use-system-utf8proc-julia-1.0.patch
··· 1 - From 54a66b5728ec98f44a1768f064509be4fd3f2ef6 Mon Sep 17 00:00:00 2001 2 - From: Thomas Tuegel <ttuegel@gmail.com> 3 - Date: Sat, 10 Oct 2015 13:09:48 -0500 4 - Subject: [PATCH 1/3] use system utf8proc 5 - 6 - --- 7 - src/flisp/Makefile | 6 +++--- 8 - 1 file changed, 3 insertions(+), 3 deletions(-) 9 - 10 - diff --git a/src/flisp/Makefile b/src/flisp/Makefile 11 - index bec8624..5437b5c 100644 12 - --- a/src/flisp/Makefile 13 - +++ b/src/flisp/Makefile 14 - @@ -24,9 +24,9 @@ DOBJS = $(SRCS:%.c=$(BUILDDIR)/%.dbg.obj) 15 - LLTDIR := ../support 16 - LLT_release := $(BUILDDIR)/$(LLTDIR)/libsupport.a 17 - LLT_debug := $(BUILDDIR)/$(LLTDIR)/libsupport-debug.a 18 - -LIBFILES_release := $(LLT_release) $(LIBUV) $(LIBUTF8PROC) 19 - -LIBFILES_debug := $(LLT_debug) $(LIBUV) $(LIBUTF8PROC) 20 - -LIBS := 21 - +LIBFILES_release := $(LLT_release) $(LIBUV) 22 - +LIBFILES_debug := $(LLT_debug) $(LIBUV) 23 - +LIBS := $(LIBUTF8PROC) 24 - ifneq ($(OS),WINNT) 25 - LIBS += -lpthread 26 - endif 27 - -- 28 - 2.5.2 29 -
···
-24
pkgs/development/compilers/julia/patches/1.5/use-system-utf8proc-julia-1.3.patch
··· 1 - --- 2 - src/flisp/Makefile | 6 +++--- 3 - 1 file changed, 3 insertions(+), 3 deletions(-) 4 - 5 - 6 - diff --git a/src/flisp/Makefile b/src/flisp/Makefile 7 - index d97075e..6bebca7 100644 8 - --- a/src/flisp/Makefile 9 - +++ b/src/flisp/Makefile 10 - @@ -32,9 +32,9 @@ OBJS := $(SRCS:%.c=$(BUILDDIR)/%.o) 11 - DOBJS := $(SRCS:%.c=$(BUILDDIR)/%.dbg.obj) 12 - LLT_release := $(LLT_BUILDDIR)/libsupport.a 13 - LLT_debug := $(LLT_BUILDDIR)/libsupport-debug.a 14 - -LIBFILES_release := $(LLT_release) $(LIBUV) $(LIBUTF8PROC) 15 - -LIBFILES_debug := $(LLT_debug) $(LIBUV) $(LIBUTF8PROC) 16 - -LIBS := 17 - +LIBFILES_release := $(LLT_release) $(LIBUV) 18 - +LIBFILES_debug := $(LLT_debug) $(LIBUV) 19 - +LIBS := $(LIBUTF8PROC) 20 - ifneq ($(OS),WINNT) 21 - LIBS += -lpthread 22 - endif 23 - 24 - --
···
+2
pkgs/top-level/aliases.nix
··· 673 # Julia 674 julia_07 = throw "julia_07 has been deprecated in favor of the latest LTS version"; # Added 2020-09-15 675 julia_1 = throw "julia_1 has been deprecated in favor of julia_10 as it was ambiguous"; # Added 2021-03-13 676 julia_11 = throw "julia_11 has been deprecated in favor of the latest stable version"; # Added 2020-09-15 677 julia_13 = throw "julia_13 has been deprecated in favor of the latest stable version"; # Added 2021-03-13 678 julia_10-bin = throw "julia_10-bin has been deprecated in favor of the latest LTS version"; # Added 2021-12-02 679 julia_17-bin = throw "julia_17-bin has been deprecated in favor of the latest stable version"; # Added 2022-09-04 680
··· 673 # Julia 674 julia_07 = throw "julia_07 has been deprecated in favor of the latest LTS version"; # Added 2020-09-15 675 julia_1 = throw "julia_1 has been deprecated in favor of julia_10 as it was ambiguous"; # Added 2021-03-13 676 + julia_10 = throw "julia_10 has been deprecated in favor of the latest stable version"; # Added 2022-11-15 677 julia_11 = throw "julia_11 has been deprecated in favor of the latest stable version"; # Added 2020-09-15 678 julia_13 = throw "julia_13 has been deprecated in favor of the latest stable version"; # Added 2021-03-13 679 + julia_15 = throw "julia_15 has been deprecated in favor of the latest stable version"; # Added 2022-11-15 680 julia_10-bin = throw "julia_10-bin has been deprecated in favor of the latest LTS version"; # Added 2021-12-02 681 julia_17-bin = throw "julia_17-bin has been deprecated in favor of the latest stable version"; # Added 2022-09-04 682
+2 -25
pkgs/top-level/all-packages.nix
··· 14500 14501 juniper = callPackage ../development/compilers/juniper { }; 14502 14503 - julia_10 = callPackage ../development/compilers/julia/1.0.nix { 14504 - gmp = gmp6; 14505 - inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices; 14506 - libgit2 = libgit2.overrideAttrs (_: rec { 14507 - version = "0.27.10"; 14508 - src = fetchFromGitHub { 14509 - owner = "libgit2"; 14510 - repo = "libgit2"; 14511 - rev = "v${version}"; 14512 - sha256 = "09jz2fzv0zl5058s0g1cpnw87a2rgg8wnjwlygi18i2n9nn6m0ad"; 14513 - }; 14514 - patches = []; 14515 - meta.knownVulnerabilities = [ 14516 - "CVE-2020-12278" 14517 - "CVE-2020-12279" 14518 - ]; 14519 - }); 14520 - }; 14521 - 14522 - julia_15 = callPackage ../development/compilers/julia/1.5.nix { 14523 - inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices; 14524 - }; 14525 - 14526 - julia-lts = julia_10; 14527 - julia-stable = julia_15; 14528 julia = julia-stable; 14529 14530 julia_16-bin = callPackage ../development/compilers/julia/1.6-bin.nix { };
··· 14500 14501 juniper = callPackage ../development/compilers/juniper { }; 14502 14503 + julia-lts = julia_16-bin; 14504 + julia-stable = julia_18; 14505 julia = julia-stable; 14506 14507 julia_16-bin = callPackage ../development/compilers/julia/1.6-bin.nix { };