From bdd401e65baa35db2bf5a029ea4a54b16c0a8397 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Sat, 24 Dec 2022 20:05:08 +0800 Subject: [PATCH] julia_18: 1.8.3 -> 1.8.4 --- pkgs/development/compilers/julia/1.8.nix | 89 ++++--------------- ...doc.patch => 0001-skip-building-doc.patch} | 6 +- .../0001-skip-symlink-system-libraries.patch | 32 ------- ...> 0002-skip-failing-and-flaky-tests.patch} | 8 +- .../0003-skip-failing-and-flaky-tests.patch | 25 ------ ...e-absolute-path-when-loading-library.patch | 27 ------ 6 files changed, 24 insertions(+), 163 deletions(-) rename pkgs/development/compilers/julia/patches/1.8/{0002-skip-building-doc.patch => 0001-skip-building-doc.patch} (77%) delete mode 100644 pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch rename pkgs/development/compilers/julia/patches/1.8/{0003-skip-failing-tests.patch => 0002-skip-failing-and-flaky-tests.patch} (74%) delete mode 100644 pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-and-flaky-tests.patch delete mode 100644 pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch diff --git a/pkgs/development/compilers/julia/1.8.nix b/pkgs/development/compilers/julia/1.8.nix index 708e04971cbe..643e762ab11b 100644 --- a/pkgs/development/compilers/julia/1.8.nix +++ b/pkgs/development/compilers/julia/1.8.nix @@ -1,53 +1,29 @@ { lib , stdenv , fetchurl -, fetchpatch , which , python3 , gfortran -, gcc , cmake , perl , gnum4 -, libwhich , libxml2 -, libunwind -, curl -, gmp -, suitesparse -, utf8proc -, zlib -, p7zip -, ncurses +, openssl }: stdenv.mkDerivation rec { pname = "julia"; - version = "1.8.3"; + version = "1.8.4"; src = fetchurl { url = "https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz"; - hash = "sha256-UraJWp1K0v422yYe6MTIzJISuDehL5MAL6r1N6IVH1A="; + hash = "sha256-HNAyJixcQgSKeBm8zWhOhDu7j2bPn/VsMViB6kMfADM="; }; - patches = - let - path = name: "https://raw.githubusercontent.com/archlinux/svntogit-community/6fd126d089d44fdc875c363488a7c7435a223cec/trunk/${name}"; - in - [ - (fetchurl { - url = path "julia-hardcoded-libs.patch"; - sha256 = "sha256-kppSpVA7bRohd0wXDs4Jgct9ocHnpbeiiSz7ElFom1U="; - }) - (fetchurl { - url = path "julia-libunwind-1.6.patch"; - sha256 = "sha256-zqMh9+Fjgd15XuINe9Xtpk+bRTwB0T6WCWLrJyOQfiQ="; - }) - ./patches/1.8/0001-skip-symlink-system-libraries.patch - ./patches/1.8/0002-skip-building-doc.patch - ./patches/1.8/0003-skip-failing-tests.patch - ./patches/1.8/0004-ignore-absolute-path-when-loading-library.patch - ]; + patches = [ + ./patches/1.8/0001-skip-building-doc.patch + ./patches/1.8/0002-skip-failing-and-flaky-tests.patch + ]; nativeBuildInputs = [ which @@ -56,56 +32,24 @@ stdenv.mkDerivation rec { cmake perl gnum4 - libwhich ]; buildInputs = [ libxml2 - libunwind - curl - gmp - utf8proc - zlib - p7zip + openssl ]; - JULIA_RPATH = lib.makeLibraryPath (buildInputs ++ [ stdenv.cc.cc gfortran.cc ncurses ]); - dontUseCmakeConfigure = true; postPatch = '' patchShebangs . ''; - LDFLAGS = "-Wl,-rpath,${JULIA_RPATH}"; - makeFlags = [ "prefix=$(out)" "USE_BINARYBUILDER=0" - "USE_SYSTEM_CSL=1" - "USE_SYSTEM_LLVM=0" # a patched version is required - "USE_SYSTEM_LIBUNWIND=1" - "USE_SYSTEM_PCRE=0" # version checks - "USE_SYSTEM_LIBM=0" - "USE_SYSTEM_OPENLIBM=0" - "USE_SYSTEM_DSFMT=0" # not available in nixpkgs - "USE_SYSTEM_LIBBLASTRAMPOLINE=0" # not available in nixpkgs - "USE_SYSTEM_BLAS=0" # test failure - "USE_SYSTEM_LAPACK=0" # test failure - "USE_SYSTEM_GMP=1" # version checks, but bundled version fails build - "USE_SYSTEM_MPFR=0" # version checks - "USE_SYSTEM_LIBSUITESPARSE=0" # test failure - "USE_SYSTEM_LIBUV=0" # a patched version is required - "USE_SYSTEM_UTF8PROC=1" - "USE_SYSTEM_MBEDTLS=0" # version checks - "USE_SYSTEM_LIBSSH2=0" # version checks - "USE_SYSTEM_NGHTTP2=0" # version checks - "USE_SYSTEM_CURL=1" - "USE_SYSTEM_LIBGIT2=0" # version checks - "USE_SYSTEM_PATCHELF=1" - "USE_SYSTEM_LIBWHICH=1" - "USE_SYSTEM_ZLIB=1" # version checks, but the system zlib is used anyway - "USE_SYSTEM_P7ZIP=1" + # 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)" @@ -113,6 +57,13 @@ stdenv.mkDerivation rec { "JULIA_CPU_TERGET=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"; @@ -123,12 +74,6 @@ stdenv.mkDerivation rec { dontStrip = true; - postFixup = '' - for file in $out/bin/julia $out/lib/libjulia.so $out/lib/julia/libjulia-internal.so $out/lib/julia/libjulia-codegen.so; do - patchelf --set-rpath "$out/lib:$out/lib/julia:${JULIA_RPATH}" $file - done - ''; - enableParallelBuilding = true; meta = with lib; { diff --git a/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch b/pkgs/development/compilers/julia/patches/1.8/0001-skip-building-doc.patch similarity index 77% rename from pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch rename to pkgs/development/compilers/julia/patches/1.8/0001-skip-building-doc.patch index 642d5613229f..3b507bf26d77 100644 --- a/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch +++ b/pkgs/development/compilers/julia/patches/1.8/0001-skip-building-doc.patch @@ -1,14 +1,14 @@ -From ddf422a97973a1f4d2d4d32272396c7165580702 Mon Sep 17 00:00:00 2001 +From ce73c82ebadeb2e358e1a8e244eef723ffa96c76 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 20 Sep 2022 18:42:31 +0800 -Subject: [PATCH 2/4] skip building doc +Subject: [PATCH 1/2] skip building doc --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 57b595310..563be74c9 100644 +index 94df626014..418f6ff268 100644 --- a/Makefile +++ b/Makefile @@ -229,7 +229,7 @@ define stringreplace diff --git a/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch b/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch deleted file mode 100644 index 01c32ae6d8e0..000000000000 --- a/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b2a58160fd194858267c433ae551f24840a0b3f4 Mon Sep 17 00:00:00 2001 -From: Nick Cao -Date: Tue, 20 Sep 2022 18:42:08 +0800 -Subject: [PATCH 1/4] skip symlink system libraries - ---- - base/Makefile | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/base/Makefile b/base/Makefile -index 23a9c4011..12f92aa05 100644 ---- a/base/Makefile -+++ b/base/Makefile -@@ -181,7 +181,6 @@ $$(build_private_libdir)/$$(libname_$2): - fi; \ - fi - ifneq ($$(USE_SYSTEM_$1),0) --SYMLINK_SYSTEM_LIBRARIES += symlink_$2 - endif - endef - -@@ -265,7 +264,6 @@ $(build_private_libdir)/libLLVM.$(SHLIB_EXT): - ln -sf "$$REALPATH" "$@" - ifneq ($(USE_SYSTEM_LLVM),0) - ifneq ($(USE_LLVM_SHLIB),0) --SYMLINK_SYSTEM_LIBRARIES += symlink_libLLVM - endif - endif - --- -2.38.1 - diff --git a/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch b/pkgs/development/compilers/julia/patches/1.8/0002-skip-failing-and-flaky-tests.patch similarity index 74% rename from pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch rename to pkgs/development/compilers/julia/patches/1.8/0002-skip-failing-and-flaky-tests.patch index 337b1390a636..966c805ad7ae 100644 --- a/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch +++ b/pkgs/development/compilers/julia/patches/1.8/0002-skip-failing-and-flaky-tests.patch @@ -1,14 +1,14 @@ -From f91c8c6364eb321dd5e66fa443472fca6bcda7d6 Mon Sep 17 00:00:00 2001 +From 0e1fe51ce93847ac3c4de49a003d9762b2f3d7c6 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 20 Sep 2022 18:42:59 +0800 -Subject: [PATCH 3/4] skip failing tests +Subject: [PATCH 2/2] skip failing and flaky tests --- test/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Makefile b/test/Makefile -index 24e137a5b..2b30ab392 100644 +index 24e137a5b1..e78f12da04 100644 --- a/test/Makefile +++ b/test/Makefile @@ -23,7 +23,7 @@ default: @@ -16,7 +16,7 @@ index 24e137a5b..2b30ab392 100644 $(TESTS): @cd $(SRCDIR) && \ - $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl $@) -+ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip MozillaCACerts_jll --skip NetworkOptions --skip Zlib_jll --skip GMP_jll $@) ++ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip MozillaCACerts_jll --skip NetworkOptions --skip channels $@) $(addprefix revise-, $(TESTS)): revise-% : @cd $(SRCDIR) && \ diff --git a/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-and-flaky-tests.patch b/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-and-flaky-tests.patch deleted file mode 100644 index ad3d78742a6e..000000000000 --- a/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-and-flaky-tests.patch +++ /dev/null @@ -1,25 +0,0 @@ -From ed596b33005a438109f0078ed0ba30ebe464b4b5 Mon Sep 17 00:00:00 2001 -From: Nick Cao -Date: Tue, 20 Sep 2022 18:42:59 +0800 -Subject: [PATCH 3/4] skip failing and flaky tests - ---- - test/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/Makefile b/test/Makefile -index 24e137a5b..553d9d095 100644 ---- a/test/Makefile -+++ b/test/Makefile -@@ -23,7 +23,7 @@ default: - - $(TESTS): - @cd $(SRCDIR) && \ -- $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl $@) -+ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip MozillaCACerts_jll --skip NetworkOptions --skip Zlib_jll --skip GMP_jll --skip channels $@) - - $(addprefix revise-, $(TESTS)): revise-% : - @cd $(SRCDIR) && \ --- -2.38.1 - diff --git a/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch b/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch deleted file mode 100644 index b458f7fc29c8..000000000000 --- a/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4bd87f2f3151ad07d311f7d33c2b890977aca93d Mon Sep 17 00:00:00 2001 -From: Nick Cao -Date: Tue, 20 Sep 2022 18:43:15 +0800 -Subject: [PATCH 4/4] ignore absolute path when loading library - ---- - cli/loader_lib.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/cli/loader_lib.c b/cli/loader_lib.c -index 0301b6eed..5cbda61af 100644 ---- a/cli/loader_lib.c -+++ b/cli/loader_lib.c -@@ -50,9 +50,7 @@ static void * load_library(const char * rel_path, const char * src_dir, int err) - #endif - - char path[2*JL_PATH_MAX + 1] = {0}; -- strncat(path, src_dir, sizeof(path) - 1); -- strncat(path, PATHSEPSTRING, sizeof(path) - 1); -- strncat(path, rel_path, sizeof(path) - 1); -+ strncat(path, basename, sizeof(path) - 1); - - #if defined(_OS_WINDOWS_) - wchar_t wpath[2*JL_PATH_MAX + 1] = {0}; --- -2.38.1 -