julia: add update script, and 1.5.3 -> 1.5.4 (#116466)
This commit is contained in:
parent
a65965b9e3
commit
a4456496ee
|
@ -1,7 +1,6 @@
|
||||||
{ lib, stdenv, fetchurl, fetchzip, fetchFromGitHub
|
{ lib, stdenv, fetchzip
|
||||||
# build tools
|
# build tools
|
||||||
, gfortran, m4, makeWrapper, patchelf, perl, which, python2
|
, gfortran, m4, makeWrapper, patchelf, perl, which, python2, cmake
|
||||||
, cmake
|
|
||||||
# libjulia dependencies
|
# libjulia dependencies
|
||||||
, libunwind, readline, utf8proc, zlib
|
, libunwind, readline, utf8proc, zlib
|
||||||
# standard library dependencies
|
# standard library dependencies
|
||||||
|
@ -19,8 +18,8 @@ with lib;
|
||||||
let
|
let
|
||||||
majorVersion = "1";
|
majorVersion = "1";
|
||||||
minorVersion = "5";
|
minorVersion = "5";
|
||||||
maintenanceVersion = "3";
|
maintenanceVersion = "4";
|
||||||
src_sha256 = "sha256:0jds8lrhk4hfdv7dg5p2ibzin9ivga7wrx7zwcmz6dqp3x792n1i";
|
src_sha256 = "1ba1v7hakgj95xvhyff0zcp0574qv6vailjl48wl1f8w5k54lsw2";
|
||||||
version = "${majorVersion}.${minorVersion}.${maintenanceVersion}";
|
version = "${majorVersion}.${minorVersion}.${maintenanceVersion}";
|
||||||
in
|
in
|
||||||
|
|
||||||
|
@ -28,10 +27,10 @@ stdenv.mkDerivation rec {
|
||||||
pname = "julia";
|
pname = "julia";
|
||||||
inherit version;
|
inherit version;
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz";
|
url = "https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz";
|
||||||
sha256 = src_sha256;
|
sha256 = src_sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./use-system-utf8proc-julia-1.3.patch
|
./use-system-utf8proc-julia-1.3.patch
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env nix-shell
|
||||||
|
#!nix-shell -i python3 -p python3 python3Packages.requests
|
||||||
|
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import requests
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
latest = requests.get("https://api.github.com/repos/JuliaLang/julia/releases/latest").json()["tag_name"]
|
||||||
|
assert latest[0] == "v"
|
||||||
|
major, minor, patch = latest[1:].split(".")
|
||||||
|
assert major == "1"
|
||||||
|
# When a new minor version comes out we'll have to refactor/copy this update script.
|
||||||
|
assert minor == "5"
|
||||||
|
|
||||||
|
sha256 = subprocess.check_output(["nix-prefetch-url", "--unpack", f"https://github.com/JuliaLang/julia/releases/download/v{major}.{minor}.{patch}/julia-{major}.{minor}.{patch}-full.tar.gz"], text=True).strip()
|
||||||
|
|
||||||
|
nix_path = os.path.join(os.path.dirname(__file__), "1.5.nix")
|
||||||
|
nix0 = open(nix_path, "r").read()
|
||||||
|
nix1 = re.sub("maintenanceVersion = \".*\";", f"maintenanceVersion = \"{patch}\";", nix0)
|
||||||
|
nix2 = re.sub("src_sha256 = \".*\";", f"src_sha256 = \"{sha256}\";", nix1)
|
||||||
|
open(nix_path, "w").write(nix2)
|
Loading…
Reference in New Issue