From fd37c3101b402e860d996526963acd04d92f4c5a Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Thu, 11 Jan 2024 11:17:34 -0500 Subject: [PATCH] julia_18{,-bin}: drop as it has reached end of life --- pkgs/development/compilers/julia/1.8-bin.nix | 96 ------------------- pkgs/development/compilers/julia/1.8.nix | 86 ----------------- pkgs/development/compilers/julia/1.9.nix | 2 +- pkgs/development/compilers/julia/default.nix | 2 - ...low-skipping-internet-required-tests.patch | 47 --------- .../{1.8 => 1.9}/0001-skip-building-doc.patch | 0 .../0002-skip-failing-and-flaky-tests.patch | 0 pkgs/top-level/aliases.nix | 3 +- pkgs/top-level/all-packages.nix | 2 - 9 files changed, 3 insertions(+), 235 deletions(-) delete mode 100644 pkgs/development/compilers/julia/1.8-bin.nix delete mode 100644 pkgs/development/compilers/julia/1.8.nix delete mode 100644 pkgs/development/compilers/julia/patches/1.8-bin/0001-allow-skipping-internet-required-tests.patch rename pkgs/development/compilers/julia/patches/{1.8 => 1.9}/0001-skip-building-doc.patch (100%) rename pkgs/development/compilers/julia/patches/{1.8 => 1.9}/0002-skip-failing-and-flaky-tests.patch (100%) diff --git a/pkgs/development/compilers/julia/1.8-bin.nix b/pkgs/development/compilers/julia/1.8-bin.nix deleted file mode 100644 index d7a548a8d137..000000000000 --- a/pkgs/development/compilers/julia/1.8-bin.nix +++ /dev/null @@ -1,96 +0,0 @@ -{ autoPatchelfHook, fetchurl, lib, stdenv }: - -let - skip_tests = [ - # Test flaky on ofborg - "channels" - ] ++ lib.optionals stdenv.isDarwin [ - # Test flaky on ofborg - "FileWatching" - # Test requires pbcopy - "InteractiveUtils" - # Test requires network access - "Sockets" - ] ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ - # Test Failed at $out/share/julia/stdlib/v1.8/LinearAlgebra/test/blas.jl:702 - "LinearAlgebra/blas" - # Test Failed at $out/share/julia/test/misc.jl:724 - "misc" - ]; -in -stdenv.mkDerivation rec { - pname = "julia-bin"; - version = "1.8.5"; - - src = { - x86_64-linux = fetchurl { - url = "https://julialang-s3.julialang.org/bin/linux/x64/${lib.versions.majorMinor version}/julia-${version}-linux-x86_64.tar.gz"; - sha256 = "sha256-5xokgW6P6dX0gHZky7tCc49aqf4FOX01yB1MXWSbnQU="; - }; - aarch64-linux = fetchurl { - url = "https://julialang-s3.julialang.org/bin/linux/aarch64/${lib.versions.majorMinor version}/julia-${version}-linux-aarch64.tar.gz"; - sha256 = "sha256-ofY3tExx6pvJbXw+80dyTAVKHlInuYCt6/wzWZ5RU6Q="; - }; - x86_64-darwin = fetchurl { - url = "https://julialang-s3.julialang.org/bin/mac/x64/${lib.versions.majorMinor version}/julia-${version}-mac64.tar.gz"; - sha256 = "sha256-oahZ7af7QaC1VGczmhHDwcDfeLJ9HhYOgLxnWLPY2uA="; - }; - aarch64-darwin = fetchurl { - url = "https://julialang-s3.julialang.org/bin/mac/aarch64/${lib.versions.majorMinor version}/julia-${version}-macaarch64.tar.gz"; - sha256 = "sha256-6oXgSJw2MkxNpiFjqhuC/PL1L3LRc+590hOjqSmSyrc="; - }; - }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - - patches = [ - # https://github.com/JuliaLang/julia/commit/f5eeba35d9bf20de251bb9160cc935c71e8b19ba - ./patches/1.8-bin/0001-allow-skipping-internet-required-tests.patch - ]; - - postPatch = '' - # Julia fails to pick up our Certification Authority root certificates, but - # it provides its own so we can simply disable the test. Patching in the - # dynamic path to ours require us to rebuild the Julia system image. - substituteInPlace share/julia/stdlib/v${lib.versions.majorMinor version}/NetworkOptions/test/runtests.jl \ - --replace '@test ca_roots_path() != bundled_ca_roots()' \ - '@test_skip ca_roots_path() != bundled_ca_roots()' - ''; - - nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ]; - - installPhase = '' - runHook preInstall - cp -r . $out - runHook postInstall - ''; - - # Breaks backtraces, etc. - dontStrip = true; - - doInstallCheck = true; - preInstallCheck = '' - export JULIA_TEST_USE_MULTIPLE_WORKERS=true - # Some tests require read/write access to $HOME. - export HOME="$TMPDIR" - ''; - installCheckPhase = '' - runHook preInstallCheck - # Command lifted from `test/Makefile`. - $out/bin/julia \ - --check-bounds=yes \ - --startup-file=no \ - --depwarn=error \ - $out/share/julia/test/runtests.jl \ - --skip internet_required ${toString skip_tests} - runHook postInstallCheck - ''; - - meta = { - description = "High-level, high-performance, dynamic language for technical computing"; - homepage = "https://julialang.org"; - # Bundled and linked with various GPL code, although Julia itself is MIT. - license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ raskin nickcao wegank thomasjm ]; - platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; - mainProgram = "julia"; - }; -} diff --git a/pkgs/development/compilers/julia/1.8.nix b/pkgs/development/compilers/julia/1.8.nix deleted file mode 100644 index 8bd0b536e149..000000000000 --- a/pkgs/development/compilers/julia/1.8.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ lib -, stdenv -, fetchurl -, which -, python3 -, gfortran -, cmake -, perl -, gnum4 -, libxml2 -, openssl -}: - -stdenv.mkDerivation rec { - pname = "julia"; - version = "1.8.5"; - - src = fetchurl { - url = "https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz"; - hash = "sha256-NVVAgKS0085S7yICVDBr1CrA2I7/nrhVkqV9BmPbXfI="; - }; - - patches = [ - ./patches/1.8/0001-skip-building-doc.patch - ./patches/1.8/0002-skip-failing-and-flaky-tests.patch - ]; - - nativeBuildInputs = [ - which - python3 - gfortran - cmake - perl - gnum4 - ]; - - buildInputs = [ - libxml2 - openssl - ]; - - dontUseCmakeConfigure = true; - - postPatch = '' - patchShebangs . - ''; - - makeFlags = [ - "prefix=$(out)" - "USE_BINARYBUILDER=0" - # workaround for https://github.com/JuliaLang/julia/issues/47989 - "USE_INTEL_JITEVENTS=0" - ] ++ lib.optionals stdenv.isx86_64 [ - # https://github.com/JuliaCI/julia-buildbot/blob/master/master/inventory.py - "JULIA_CPU_TARGET=generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)" - ] ++ lib.optionals stdenv.isAarch64 [ - "JULIA_CPU_TARGET=generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm" - ]; - - # remove forbidden reference to $TMPDIR - preFixup = '' - for file in libcurl.so libgmpxx.so; do - patchelf --shrink-rpath --allowed-rpath-prefixes ${builtins.storeDir} "$out/lib/julia/$file" - done - ''; - - doInstallCheck = true; - installCheckTarget = "testall"; - - preInstallCheck = '' - export HOME="$TMPDIR" - export JULIA_TEST_USE_MULTIPLE_WORKERS="true" - ''; - - dontStrip = true; - - enableParallelBuilding = true; - - meta = with lib; { - description = "High-level performance-oriented dynamical language for technical computing"; - homepage = "https://julialang.org/"; - license = licenses.mit; - maintainers = with maintainers; [ nickcao thomasjm ]; - platforms = [ "x86_64-linux" "aarch64-linux" ]; - }; -} diff --git a/pkgs/development/compilers/julia/1.9.nix b/pkgs/development/compilers/julia/1.9.nix index 8c0585fd4e19..34da443c2689 100644 --- a/pkgs/development/compilers/julia/1.9.nix +++ b/pkgs/development/compilers/julia/1.9.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { }; patches = [ - ./patches/1.8/0002-skip-failing-and-flaky-tests.patch + ./patches/1.9/0002-skip-failing-and-flaky-tests.patch ]; strictDeps = true; diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index d694e93f917d..60ca5a9b9633 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -13,10 +13,8 @@ in { julia_16-bin = wrapJulia (callPackage ./1.6-bin.nix {}); - julia_18-bin = wrapJulia (callPackage ./1.8-bin.nix {}); julia_19-bin = wrapJulia (callPackage ./1.9-bin.nix {}); julia_110-bin = wrapJulia (callPackage ./1.10-bin.nix {}); - julia_18 = wrapJulia (callPackage ./1.8.nix {}); julia_19 = wrapJulia (callPackage ./1.9.nix {}); julia_110 = wrapJulia (callPackage ./1.10.nix {}); } diff --git a/pkgs/development/compilers/julia/patches/1.8-bin/0001-allow-skipping-internet-required-tests.patch b/pkgs/development/compilers/julia/patches/1.8-bin/0001-allow-skipping-internet-required-tests.patch deleted file mode 100644 index ab256f54848e..000000000000 --- a/pkgs/development/compilers/julia/patches/1.8-bin/0001-allow-skipping-internet-required-tests.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- a/share/julia/test/choosetests.jl -+++ b/share/julia/test/choosetests.jl -@@ -31,6 +31,19 @@ const TESTNAMES = [ - "smallarrayshrink", "opaque_closure", "filesystem", "download", - ] - -+ -+const INTERNET_REQUIRED_LIST = [ -+ "Artifacts", -+ "Downloads", -+ "LazyArtifacts", -+ "LibCURL", -+ "LibGit2", -+ "Pkg", -+ "download", -+] -+ -+const NETWORK_REQUIRED_LIST = vcat(INTERNET_REQUIRED_LIST, ["Sockets"]) -+ - """ - `(; tests, net_on, exit_on_error, seed) = choosetests(choices)` selects a set of tests to be - run. `choices` should be a vector of test names; if empty or set to -@@ -147,6 +160,7 @@ function choosetests(choices = []) - filtertests!(tests, "compiler/EscapeAnalysis", [ - "compiler/EscapeAnalysis/local", "compiler/EscapeAnalysis/interprocedural"]) - filtertests!(tests, "stdlib", STDLIBS) -+ filtertests!(tests, "internet_required", INTERNET_REQUIRED_LIST) - # do ambiguous first to avoid failing if ambiguities are introduced by other tests - filtertests!(tests, "ambiguous") - -@@ -157,15 +171,7 @@ function choosetests(choices = []) - filter!(x -> (x != "Profile"), tests) - end - -- net_required_for = [ -- "Artifacts", -- "Downloads", -- "LazyArtifacts", -- "LibCURL", -- "LibGit2", -- "Sockets", -- "download", -- ] -+ net_required_for = filter!(in(tests), NETWORK_REQUIRED_LIST) - net_on = true - JULIA_TEST_NETWORKING_AVAILABLE = get(ENV, "JULIA_TEST_NETWORKING_AVAILABLE", "") |> - strip |> diff --git a/pkgs/development/compilers/julia/patches/1.8/0001-skip-building-doc.patch b/pkgs/development/compilers/julia/patches/1.9/0001-skip-building-doc.patch similarity index 100% rename from pkgs/development/compilers/julia/patches/1.8/0001-skip-building-doc.patch rename to pkgs/development/compilers/julia/patches/1.9/0001-skip-building-doc.patch diff --git a/pkgs/development/compilers/julia/patches/1.8/0002-skip-failing-and-flaky-tests.patch b/pkgs/development/compilers/julia/patches/1.9/0002-skip-failing-and-flaky-tests.patch similarity index 100% rename from pkgs/development/compilers/julia/patches/1.8/0002-skip-failing-and-flaky-tests.patch rename to pkgs/development/compilers/julia/patches/1.9/0002-skip-failing-and-flaky-tests.patch diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 068e3c113418..5d0594d043a6 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -445,7 +445,8 @@ mapAliases ({ join-desktop = throw "'join-desktop' has been removed because it is unmaintained upstream"; # Added 2023-10-04 # Julia - + julia_18 = throw "'julia_18' has been removed from nixpkgs as it has reached end of life"; # Added 2024-01-11 + julia_18-bin = throw "'julia_18-bin' has been removed from nixpkgs as it has reached end of life"; # Added 2024-01-11 ### K ### diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d836ff8437a2..4dfec4452e51 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16498,10 +16498,8 @@ with pkgs; inherit (callPackage ../development/compilers/julia { }) julia_16-bin - julia_18-bin julia_19-bin julia_110-bin - julia_18 julia_19 julia_110;