aboutsummaryrefslogtreecommitdiffstats
path: root/unmaintained
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2018-06-06 13:46:39 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2018-06-06 13:51:46 +0000
commitb007fd689eb3bdc8520590b1956241e997016233 (patch)
treef0dd1e895f51e70fffd9338ec270172e2fe5cba6 /unmaintained
parent8379a21ad0237d51f18ab16913e1a130e4c0845f (diff)
downloadaports-b007fd689eb3bdc8520590b1956241e997016233.tar.bz2
aports-b007fd689eb3bdc8520590b1956241e997016233.tar.xz
unmaintained/julia: move from community
the tests fails. move it to unmaintained til maintainer takes a look at it
Diffstat (limited to 'unmaintained')
-rw-r--r--unmaintained/julia/0001-hardened.patch31
-rw-r--r--unmaintained/julia/0002-verbose-build.patch18
-rw-r--r--unmaintained/julia/0003-no-clean-docs.patch18
-rw-r--r--unmaintained/julia/0005-fix-rpath-issues.patch11
-rw-r--r--unmaintained/julia/0008-ldconfig-compat.patch24
-rw-r--r--unmaintained/julia/APKBUILD206
-rw-r--r--unmaintained/julia/find-syslibs19
-rw-r--r--unmaintained/julia/fix-or-disable-broken-tests.patch81
-rw-r--r--unmaintained/julia/makefile-dont-rebuild-docs.patch12
-rw-r--r--unmaintained/julia/test-disable-tests-using-fake_pty.patch36
-rw-r--r--unmaintained/julia/test-libgit2-skip-SSL_CERT_FILE.patch27
-rw-r--r--unmaintained/julia/test-repl-disable-22176-20482.patch32
12 files changed, 515 insertions, 0 deletions
diff --git a/unmaintained/julia/0001-hardened.patch b/unmaintained/julia/0001-hardened.patch
new file mode 100644
index 0000000000..33b3781da8
--- /dev/null
+++ b/unmaintained/julia/0001-hardened.patch
@@ -0,0 +1,31 @@
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Sun, 05 Jun 2016 14:11:00 +0200
+Last-Updated: Thu, 19 Oct 2017 01:04:00 +0200
+Subject: [PATCH] Disable PaX memory protection for julia binary
+--- a/Makefile
++++ b/Makefile
+@@ -111,8 +111,14 @@
+ julia-sysimg-debug : julia-inference julia-ui-debug
+ @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT) $(build_private_libdir)/sys-debug$(CPUID_TAG).$(SHLIB_EXT) JULIA_BUILD_MODE=debug
+
+-julia-debug julia-release : julia-% : julia-ui-% julia-sysimg-% julia-symlink julia-libccalltest
++julia-pax-release : julia-ui-release
++ paxmark m $(JULIA_EXECUTABLE_release)
+
++julia-pax-debug : julia-ui-debug
++ paxmark m $(JULIA_EXECUTABLE_debug)
++
++julia-debug julia-release : julia-% : julia-ui-% julia-pax-% julia-sysimg-% julia-symlink julia-libccalltest
++
+ debug release : % : julia-%
+
+ docs: julia-sysimg-$(JULIA_BUILD_MODE)
+@@ -551,7 +557,7 @@
+ test testall testall1 test clean distcleanall cleanall clean-* \
+ run-julia run-julia-debug run-julia-release run \
+ install binary-dist light-source-dist.tmp light-source-dist \
+- dist full-source-dist source-dist examples
++ dist full-source-dist source-dist examples julia-pax-release julia-pax-debug
+
+ test: check-whitespace $(JULIA_BUILD_MODE)
+ @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT)/test default JULIA_BUILD_MODE=$(JULIA_BUILD_MODE)
diff --git a/unmaintained/julia/0002-verbose-build.patch b/unmaintained/julia/0002-verbose-build.patch
new file mode 100644
index 0000000000..51651aa172
--- /dev/null
+++ b/unmaintained/julia/0002-verbose-build.patch
@@ -0,0 +1,18 @@
+Description: Ensure that build is verbose
+Author: Sébastien Villemot <sebastien@debian.org>
+Author: Shiz <hi@shiz.me>
+Author: Jakub Jirutka <jakub@jirutka.cz>
+Forwarded: not-needed
+Last-Updated: 2017-10-19
+---
+--- a/deps/libuv.mk
++++ b/deps/libuv.mk
+@@ -30,7 +30,7 @@
+ touch -c $(SRCDIR)/srccache/$(LIBUV_SRC_DIR)/configure
+ mkdir -p $(dir $@)
+ cd $(dir $@) && \
+- $(dir $<)/configure --with-pic $(CONFIGURE_COMMON) $(UV_FLAGS)
++ $(dir $<)/configure --with-pic $(CONFIGURE_COMMON) $(UV_FLAGS) --disable-silent-rules
+ echo 1 > $@
+
+ $(BUILDDIR)/$(LIBUV_SRC_DIR)/build-compiled: $(BUILDDIR)/$(LIBUV_SRC_DIR)/build-configured
diff --git a/unmaintained/julia/0003-no-clean-docs.patch b/unmaintained/julia/0003-no-clean-docs.patch
new file mode 100644
index 0000000000..0be74175cc
--- /dev/null
+++ b/unmaintained/julia/0003-no-clean-docs.patch
@@ -0,0 +1,18 @@
+--- a/Makefile
++++ b/Makefile
+@@ -526,7 +526,6 @@
+
+ clean: | $(CLEAN_TARGETS)
+ @-$(MAKE) -C $(BUILDROOT)/base clean
+- @-$(MAKE) -C $(BUILDROOT)/doc clean
+ @-$(MAKE) -C $(BUILDROOT)/src clean
+ @-$(MAKE) -C $(BUILDROOT)/ui clean
+ @-$(MAKE) -C $(BUILDROOT)/test clean
+@@ -548,7 +547,6 @@
+
+ distcleanall: cleanall
+ @-$(MAKE) -C $(BUILDROOT)/deps distcleanall
+- @-$(MAKE) -C $(BUILDROOT)/doc cleanall
+
+ .PHONY: default debug release check-whitespace release-candidate \
+ julia-debug julia-release julia-deps \
diff --git a/unmaintained/julia/0005-fix-rpath-issues.patch b/unmaintained/julia/0005-fix-rpath-issues.patch
new file mode 100644
index 0000000000..268dc4b651
--- /dev/null
+++ b/unmaintained/julia/0005-fix-rpath-issues.patch
@@ -0,0 +1,11 @@
+--- a/Make.inc
++++ b/Make.inc
+@@ -898,7 +898,7 @@
+ RPATH_ESCAPED_ORIGIN := $(RPATH_ORIGIN)
+ RPATH_LIB := -Wl,-rpath,'@loader_path/' -Wl,-rpath,'@loader_path/julia/'
+ else
+- RPATH := -Wl,-rpath,'$$ORIGIN/$(build_libdir_rel)' -Wl,-rpath-link,$(build_shlibdir) -Wl,-z,origin
++ RPATH := -Wl,-rpath,'$$ORIGIN/$(build_libdir_rel)' -Wl,-rpath,'$$ORIGIN/$(build_private_libdir_rel)' -Wl,-rpath-link,$(build_shlibdir) -Wl,-z,origin
+ RPATH_ORIGIN := -Wl,-rpath,'$$ORIGIN' -Wl,-z,origin
+ RPATH_ESCAPED_ORIGIN := -Wl,-rpath,'\$$\$$ORIGIN' -Wl,-z,origin
+ RPATH_LIB := -Wl,-rpath,'$$ORIGIN' -Wl,-rpath,'$$ORIGIN/julia' -Wl,-z,origin
diff --git a/unmaintained/julia/0008-ldconfig-compat.patch b/unmaintained/julia/0008-ldconfig-compat.patch
new file mode 100644
index 0000000000..d02237714e
--- /dev/null
+++ b/unmaintained/julia/0008-ldconfig-compat.patch
@@ -0,0 +1,24 @@
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Thu, 9 Jun 2016 01:15:00 +0200
+Subject: [PATCH] Use our find-syslibs script instead of /sbin/ldconfig -p
+
+Julia uses "ldconfig -p" to find system libraries. The problem is that musl's
+ldconfig doesn't support the option "-p". Moreover, ldconfig relies on .pc
+files that are installed only with -dev subpackages.
+
+This workaround lies in using custom script that adapts output of scanelf to
+the format produced by "ldconfig -p".
+
+See https://github.com/JuliaLang/julia/issues/6742.
+
+--- a/src/runtime_ccall.cpp
++++ b/src/runtime_ccall.cpp
+@@ -31,7 +31,7 @@
+ char *line=NULL;
+ size_t sz=0;
+ #if defined(__linux__)
+- FILE *ldc = popen("/sbin/ldconfig -p", "r");
++ FILE *ldc = popen("/usr/share/julia/find-syslibs", "r");
+ #else
+ FILE *ldc = popen("/sbin/ldconfig -r", "r");
+ #endif
diff --git a/unmaintained/julia/APKBUILD b/unmaintained/julia/APKBUILD
new file mode 100644
index 0000000000..8e3727bbec
--- /dev/null
+++ b/unmaintained/julia/APKBUILD
@@ -0,0 +1,206 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Contributor: Shiz <hi@shiz.me>
+# Maintainer: Shiz <hi@shiz.me>
+pkgname=julia
+pkgver=0.6.2
+# Keep in sync with deps/libuv.version.
+_libuv_ver=d8ab1c6a33e77bf155facb54215dd8798e13825d
+_llvm_ver=3.9
+pkgrel=2
+pkgdesc="A high-level, high-performance dynamic language for technical computing"
+url="http://julialang.org"
+# x86: no libunwind package
+arch="x86_64"
+license="MIT"
+depends="arpack
+ dsfmt
+ fftw>=3.3
+ gmp>=5.0
+ libgit2>=0.21
+ mpfr3
+ openblas
+ openlibm
+ openspecfun>=0.4
+ pcre2>=10.0
+ suitesparse>=4.1
+ "
+depends_dev="arpack-dev
+ curl-dev
+ dsfmt-dev
+ fftw-dev
+ gmp-dev
+ libgit2-dev
+ libssh2-dev
+ libunwind-dev
+ llvm$_llvm_ver-dev
+ mbedtls-dev
+ mpfr-dev
+ openblas-dev
+ openlibm-dev
+ openspecfun-dev
+ pcre2-dev
+ suitesparse-dev
+ utf8proc-dev>=2
+ "
+makedepends="$depends_dev
+ bash
+ cmake
+ gfortran
+ linux-headers
+ libressl-dev
+ paxmark
+ perl
+ "
+# FIXME: -tests should be noarch, but for unknown reason it fails on builder
+# (arch-specific binaries are found)...
+subpackages="$pkgname-tests $pkgname-doc $pkgname-dev $pkgname-dbg"
+source="https://github.com/JuliaLang/julia/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz
+ libuv-$_libuv_ver.tar.gz::https://api.github.com/repos/JuliaLang/libuv/tarball/$_libuv_ver
+ UnicodeData.txt-9.0.0::http://www.unicode.org/Public/9.0.0/ucd/UnicodeData.txt
+ find-syslibs
+ 0001-hardened.patch
+ 0002-verbose-build.patch
+ 0003-no-clean-docs.patch
+ 0005-fix-rpath-issues.patch
+ 0008-ldconfig-compat.patch
+ fix-or-disable-broken-tests.patch
+ test-disable-tests-using-fake_pty.patch
+ test-libgit2-skip-SSL_CERT_FILE.patch
+ test-repl-disable-22176-20482.patch
+ makefile-dont-rebuild-docs.patch
+ "
+builddir="$srcdir/$pkgname-$pkgver"
+ldpath="/usr/lib/julia"
+
+prepare() {
+ cd "$builddir"
+
+ # Julia needs patched libuv.
+ mkdir deps/srccache
+ cp "$srcdir"/libuv-$_libuv_ver.tar.gz deps/srccache
+
+ # Prevent fetching of unicode data.
+ cp "$srcdir"/UnicodeData.txt-9.0.0 doc/UnicodeData.txt
+
+ # Prevent fetching of bundled stuff in the build and package phase.
+ cat > deps/tools/jldownload <<-'EOF'
+ #!/bin/sh
+ echo "!!! Downloading of $2 to $1 disabled !!!"
+ echo "Abuild should not fetch any files in the build phase."
+ echo "Add all the needed files to the APKBUILD's source=."
+ exit 1
+ EOF
+
+ cat > Make.user <<-EOF
+ prefix=/usr
+ libexecdir=/usr/lib
+ sysconfdir=/etc
+ DESTDIR="$pkgdir"
+ LIBBLAS=-lopenblas
+ LIBBLASNAME=libopenblas
+ LIBLAPACK=-lopenblas
+ LIBLAPACKNAME=libopenblas
+ LLVM_CONFIG=/usr/lib/llvm$_llvm_ver/bin/llvm-config
+ LLVM_VER=$_llvm_ver
+ NO_GIT=1
+ USE_SYSTEM_LLVM=1
+ USE_SYSTEM_LIBUNWIND=1
+ USE_SYSTEM_PCRE=1
+ USE_SYSTEM_LIBM=1
+ USE_SYSTEM_OPENLIBM=1
+ USE_SYSTEM_OPENSPECFUN=1
+ USE_SYSTEM_DSFMT=1
+ USE_SYSTEM_BLAS=1
+ USE_SYSTEM_LAPACK=1
+ USE_SYSTEM_FFTW=1
+ USE_SYSTEM_GMP=1
+ USE_SYSTEM_MPFR=1
+ USE_SYSTEM_ARPACK=1
+ USE_SYSTEM_SUITESPARSE=1
+ USE_SYSTEM_LIBUV=0
+ USE_SYSTEM_UTF8PROC=1
+ USE_SYSTEM_MBEDTLS=1
+ USE_SYSTEM_LIBSSH2=1
+ USE_SYSTEM_CURL=1
+ USE_SYSTEM_LIBGIT2=1
+ USE_SYSTEM_PATCHELF=1
+ USE_LLVM_SHLIB=1
+ VERBOSE=1
+ EOF
+
+ # Pre-SSE2 CPU targets are not supported;
+ # create a generic 32-bit x86 binary.
+ if [ "$CARCH" = x86 ]; then
+ echo "MARCH=i686" >> Make.user
+ echo "JULIA_CPU_TARGET=pentium4" >> Make.user
+ else
+ echo "MARCH=${CARCH/_/-}" >> Make.user
+ fi
+
+ default_prepare
+}
+
+build() {
+ cd "$builddir"
+
+ # If debug is not built here, it is built during make install.
+ make release debug
+}
+
+check() {
+ cd "$builddir"
+
+ # TMPDIR=... is needed to prevent the tests from trying to write
+ # into /tmp, which will fail.
+ mkdir -p "$builddir"/tmp
+ TMPDIR="$builddir"/tmp make test
+}
+
+package() {
+ cd "$builddir"
+
+ make install
+ install -D "$srcdir"/find-syslibs "$pkgdir"/usr/share/julia/find-syslibs
+ # re-apply lost PaX markings
+ paxmark m "$pkgdir"/usr/bin/julia "$pkgdir"/usr/bin/julia-debug
+
+ rm -Rf "$pkgdir"/usr/share/julia/site
+}
+
+tests() {
+ pkgdesc="$pkgdesc (tests)"
+ replaces="$pkgname" # for backward compatibility
+
+ mkdir -p "$subpkgdir"/usr/share/julia
+ mv "$pkgdir"/usr/share/julia/test "$subpkgdir"/usr/share/julia
+}
+
+# Note: Julia builds somehow special debug binaries, so we need to bypass
+# default_dbg and just copy them as-is.
+dbg() {
+ pkgdesc="$pkgdesc (debug build)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ replaces="$pkgname-debug"
+
+ install -d "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/*-debug "$subpkgdir"/usr/bin/
+
+ install -d "$subpkgdir"/usr/lib/julia
+ mv "$pkgdir"/usr/lib/*[.-]debug* "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/julia/*[.-]debug* "$subpkgdir"/usr/lib/julia/
+}
+
+sha512sums="679050463ed5825d34c477bd44cd91cfecc7d1735a2f52cc70b509afd9883cb60902861643266ecac5ba6cbb03f8fcdd12fc2e87dc41b9ed0eef813fa40610f1 julia-0.6.2.tar.gz
+272e3cc7b1290ef19cc941c3b3e6dd39dba7dcb26f0aea8e667c48c56288aa9266020504e0cc90074f02881521b3352079416f564c7eb24ab444326a8f04ca64 libuv-d8ab1c6a33e77bf155facb54215dd8798e13825d.tar.gz
+43eaf66d9cb3748012b2dfd77da1b41f667c5c7602a56bea8186b796b215bde82d555d79ab053378c2222521396354dcce5cf23a78fa3b1456062c47771c8433 UnicodeData.txt-9.0.0
+0283c7b0ff7dd99ae79f6ddac63513ce7d58ba31de506a3fee07af9b8882ddc275d0f9cb002381ba1e304bcacf252612fa16b21b85667422477e6b945b725899 find-syslibs
+f812b05b7712975eaef0bf071dd2c1cd0b21c68b18d6a513878bb8fe877bfcadf9f4b9dd8cd27b6809378de5b250a010301e7a90169677d155ad2ba377e8b428 0001-hardened.patch
+52bbaff51c7d0299e875294b43e23773bcdbe1bc7d02b670814d051bb4f1224bba507182944dc739adb07acd10d3d7f5a0ac7c270c28d3a760d36d90520a2f16 0002-verbose-build.patch
+04ab09428c299ca1cc7f162d2344763d9b9136c209a6718df62689f421b4925af20a7b739513965dcbdcbf191577b15d48ece08d63c6db21f8742c02d56a2ea0 0003-no-clean-docs.patch
+e1257c42b819bbdcdca74c7b912c1e0e43d6ba70c5e8625d6141bb2dcc49abbab5a8690046bf6cc14cb058b972a74cb60eea6162a48f280035f69154cd25d657 0005-fix-rpath-issues.patch
+251b3b8f9d5292afbff5816f48f6595b61da95322f5fa137260cde5b0e578aa08c2b8fc28d8031cace306403637b21f80d30edca79978ae5493b170a0db7143c 0008-ldconfig-compat.patch
+e989a1f39a68de3378cedd6d009ae07af1888eb7a39b2f18c2441c06b75305f0cff90d8bef28bb2d0d84422435713060ffe07f244994a2941d591c66ac1cb131 fix-or-disable-broken-tests.patch
+8d4608dd90735ffdbdb04e1dc27fc9702624e45969ab379401d5b605cccf78dea9a79d713995358b552532ae938212ee0f032e5ce7e6c28edb30c49c02b58e7b test-disable-tests-using-fake_pty.patch
+87267dd0402d8e70dd511bd79c7edfc3d1b5db7dbbdc9618832adb73ab7d34c6eed2c347fe74bf93757cc6b4f573ed7918d733b3bbf3653eab06f65a74428ff4 test-libgit2-skip-SSL_CERT_FILE.patch
+fc5eef406d84b60fdf1c837aa1f5bd0e7a205c311853d0ae8b2b237e2eb750d7da2152632d866d372174918a3953746620f2bf130596ab2b027ca389a6816edd test-repl-disable-22176-20482.patch
+98a25c49465771e72c1c0d114602c6937dbddac3e81255b310a0309083b4b365c35eb37f7a7c6128b3369dd1a071cc5c16c18aa9628dd355defd0fcb0f289706 makefile-dont-rebuild-docs.patch"
diff --git a/unmaintained/julia/find-syslibs b/unmaintained/julia/find-syslibs
new file mode 100644
index 0000000000..ef25263607
--- /dev/null
+++ b/unmaintained/julia/find-syslibs
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# This script adapts output of scanelf to the format produced by
+# GNU's "ldconfig -p".
+#
+# Note: Julia uses "ldconfig -p" as a workaround to find system
+# libraries, see https://github.com/JuliaLang/julia/issues/6742.
+#
+set -e
+
+echo 'libs found on ldpath'
+scanelf --ldpath -E ET_DYN -BF '%F %M %S %f' | while read path class soname _; do
+ case "$class" in
+ ELFCLASS32) arch='i686';;
+ ELFCLASS64) arch='x86-64';;
+ *) arch="$(uname -m | sed 's/_/-/g')";;
+ esac
+ printf '\t%s (libc,%s) => %s\n' "$soname" "$arch" "$path"
+done
diff --git a/unmaintained/julia/fix-or-disable-broken-tests.patch b/unmaintained/julia/fix-or-disable-broken-tests.patch
new file mode 100644
index 0000000000..51d5311044
--- /dev/null
+++ b/unmaintained/julia/fix-or-disable-broken-tests.patch
@@ -0,0 +1,81 @@
+test/Makefile and tests/choosetests: disable libdl tests entirely due to TLS storage issue:
+ <Shiz> ERROR: Attempt to change TLS address.
+ <Shiz> from my understanding, that happens when the julia-global TLS state is being set twice
+ <Shiz> but I'm not sure what causes it -- we don't use the ifunc functionality as we don't use glibc,
+ and the only reference to the TLS setter function I can see is in ui/repl.c
+ <Shiz> I guess the issue is that ui/repl.c somehow gets included into the .so that libdl attempts to load
+test/spawn.jl: ENFILE is just as valid to return as EMFILE when the system runs out of fds;
+test/cmdlineargs.jl: the backtrace symbols are broken on multiple platforms, including musl;
+test/file.jl: fakeroot makes the stricter permission checks fail;
+test/read.jl: ditto.
+
+--- a/test/spawn.jl
++++ b/test/spawn.jl
+@@ -439,7 +439,7 @@
+ end
+ catch ex
+ isa(ex, Base.UVError) || rethrow(ex)
+- @test ex.code == Base.UV_EMFILE
++ @test ex.code == Base.UV_EMFILE || ex.code == Base.UV_ENFILE
+ finally
+ for p in ps
+ close(p)
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -6,7 +6,7 @@
+
+ TESTGROUPS = linalg sparse unicode strings dates
+ TESTS = all $(TESTGROUPS) \
+- $(filter-out TestHelpers runtests testdefs, \
++ $(filter-out TestHelpers runtests testdefs libdl, \
+ $(patsubst $(SRCDIR)/%.jl,%,$(wildcard $(SRCDIR)/*.jl))) \
+ $(foreach group,$(TESTGROUPS), \
+ $(patsubst $(SRCDIR)/%.jl,%,$(wildcard $(SRCDIR)/$(group)/*.jl)))
+--- a/test/cmdlineargs.jl
++++ b/test/cmdlineargs.jl
+@@ -404,7 +404,7 @@
+ bt = readstring(pipeline(ignorestatus(`$(Base.julia_cmd()) --startup-file=no --precompiled=$precomp
+ -E 'include("____nonexistent_file")'`), stderr=catcmd))
+ @test contains(bt, "include_from_node1")
+- if is_windows() && Sys.WORD_SIZE == 32 && precomp == "yes"
++ if ((is_windows() && Sys.WORD_SIZE == 32) || is_linux()) && precomp == "yes"
+ # fixme, issue #17251
+ @test_broken contains(bt, "include_from_node1(::String) at $(joinpath(".","loading.jl"))")
+ else
+--- a/test/choosetests.jl
++++ b/test/choosetests.jl
+@@ -32,7 +32,7 @@
+ "replutil", "sets", "test", "goto", "llvmcall", "llvmcall2", "grisu",
+ "nullable", "meta", "stacktraces", "profile", "libgit2", "docs",
+ "markdown", "base64", "serialize", "misc", "threads",
+- "enums", "cmdlineargs", "i18n", "workspace", "libdl", "int",
++ "enums", "cmdlineargs", "i18n", "workspace", "int",
+ "checked", "intset", "floatfuncs", "compile", "distributed", "inline",
+ "boundscheck", "error", "ambiguous", "cartesian", "asmvariant", "osutils",
+ "channels", "iostream", "specificity"
+--- a/test/file.jl
++++ b/test/file.jl
+@@ -174,8 +174,8 @@
+ @test stat(file).gid ==0
+ @test stat(file).uid ==0
+ else
+- @test_throws Base.UVError chown(file, -2, -1) # Non-root user cannot change ownership to another user
+- @test_throws Base.UVError chown(file, -1, -2) # Non-root user cannot change group to a group they are not a member of (eg: nogroup)
++ # @test_throws Base.UVError chown(file, -2, -1) # Non-root user cannot change ownership to another user
++ # @test_throws Base.UVError chown(file, -1, -2) # Non-root user cannot change group to a group they are not a member of (eg: nogroup)
+ end
+ else
+ # test that chown doesn't cause any errors for Windows
+--- a/test/read.jl
++++ b/test/read.jl
+@@ -466,8 +466,8 @@
+ @test eof(f1)
+ @test_throws Base.UVError eof(f2)
+ if get(ENV, "USER", "") != "root" && get(ENV, "HOME", "") != "/root"
+- @test_throws SystemError open(f, "r+")
+- @test_throws Base.UVError Base.Filesystem.open(f, Base.Filesystem.JL_O_RDWR)
++ # @test_throws SystemError open(f, "r+")
++ # @test_throws Base.UVError Base.Filesystem.open(f, Base.Filesystem.JL_O_RDWR)
+ else
+ warn("file permissions tests skipped due to running tests as root (not recommended)")
+ end
diff --git a/unmaintained/julia/makefile-dont-rebuild-docs.patch b/unmaintained/julia/makefile-dont-rebuild-docs.patch
new file mode 100644
index 0000000000..8e067a09ca
--- /dev/null
+++ b/unmaintained/julia/makefile-dont-rebuild-docs.patch
@@ -0,0 +1,12 @@
+--- a/Makefile
++++ b/Makefile
+@@ -338,8 +338,7 @@
+ $(build_depsbindir)/stringreplace $$(strings -t x - $1 | grep '$2' | awk '{print $$1;}') '$3' 255 "$(call cygpath_w,$1)"
+ endef
+
+-install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html
+- @$(MAKE) $(QUIET_MAKE) all
++install: $(build_depsbindir)/stringreplace
+ @for subdir in $(bindir) $(datarootdir)/julia/site/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir); do \
+ mkdir -p $(DESTDIR)$$subdir; \
+ done
diff --git a/unmaintained/julia/test-disable-tests-using-fake_pty.patch b/unmaintained/julia/test-disable-tests-using-fake_pty.patch
new file mode 100644
index 0000000000..e954e317fa
--- /dev/null
+++ b/unmaintained/julia/test-disable-tests-using-fake_pty.patch
@@ -0,0 +1,36 @@
+fake_pty does not work on Alpine or just inside LXC container...?
+
+Error During Test
+ Got an exception of type ErrorException outside of a @test
+ Failed to open PTY master
+ Stacktrace:
+ [1] open_fake_pty() at test/TestHelpers.jl:31
+ [2] with_fake_pty(::TestHelpers.##5#8{Int64,Cmd,Array{Any,1},TestHelpers.#format_output#7{Bool}}) at test/TestHelpers.jl:47
+ [3] #challenge_prompt#4(::Int64, ::Bool, ::Function, ::Cmd, ::Array{Any,1}) at test/TestHelpers.jl:83
+ [4] (::TestHelpers.#kw##challenge_prompt)(::Array{Any,1}, ::TestHelpers.#challenge_prompt, ::Cmd, ::Array{Any,1}) at ./<missing>:0
+ [5] #challenge_prompt#1(::Int64, ::Bool, ::Function, ::String, ::Array{Any,1}) at test/TestHelpers.jl:68
+ [6] challenge_prompt(::String, ::Array{Any,1}) at test/TestHelpers.jl:57
+ [7] (::Test47Main_libgit2.##48#97)() at test/libgit2.jl:1301
+
+--- a/test/repl.jl
++++ b/test/repl.jl
+@@ -579,7 +579,7 @@
+ let exename = Base.julia_cmd()
+
+ # Test REPL in dumb mode
+-if !is_windows()
++if false
+ TestHelpers.with_fake_pty() do slave, master
+ nENV = copy(ENV)
+ nENV["TERM"] = "dumb"
+--- a/test/libgit2.jl
++++ b/test/libgit2.jl
+@@ -1270,7 +1270,7 @@
+ # The following tests require that we can fake a TTY so that we can provide passwords
+ # which use the `getpass` function. At the moment we can only fake this on UNIX based
+ # systems.
+- if is_unix()
++ if false
+ @testset "SSH credential prompt" begin
+ url = "git@github.com/test/package.jl"
+
diff --git a/unmaintained/julia/test-libgit2-skip-SSL_CERT_FILE.patch b/unmaintained/julia/test-libgit2-skip-SSL_CERT_FILE.patch
new file mode 100644
index 0000000000..60e0404e0f
--- /dev/null
+++ b/unmaintained/julia/test-libgit2-skip-SSL_CERT_FILE.patch
@@ -0,0 +1,27 @@
+This test fails and I have no clue why. It seems that SSL_CERT_FILE is ignored.
+
+Hostname verification: Test Failed
+ Expression: err.code == LibGit2.Error.ERROR
+ Evaluated: ECERTIFICATE::Base.LibGit2.Error.Code = -17 == ERROR::Base.LibGit2.Error.Code = -1
+Stacktrace:
+ [1] (::Test98Main_libgit2.##54#103{String,Cmd})() at test/libgit2.jl:1697
+ [2] withenv(::Test98Main_libgit2.##54#103{String,Cmd}, ::Pair{String,String}, ::Vararg{Pair{String,String},N} where N) at ./env.jl:157
+ [3] (::Test98Main_libgit2.##51#100)(::String) at test/libgit2.jl:1692
+ [4] mktempdir(::Test98Main_libgit2.##51#100, ::String) at ./file.jl:392
+ [5] macro expansion at test/libgit2.jl:1647 [inlined]
+ [6] macro expansion at ./test.jl:860 [inlined]
+ [7] (::Test98Main_libgit2.##7#56)(::String) at test/libgit2.jl:1606
+
+--- a/test/libgit2.jl
++++ b/test/libgit2.jl
+@@ -1696,8 +1696,8 @@
+ err = open(errfile, "r") do f
+ deserialize(f)
+ end
+- @test err.code == LibGit2.Error.ERROR
+- @test err.msg == "Invalid Content-Type: text/plain"
++ @test_skip err.code == LibGit2.Error.ERROR
++ @test_skip err.msg == "Invalid Content-Type: text/plain"
+ end
+ finally
+ kill(pobj)
diff --git a/unmaintained/julia/test-repl-disable-22176-20482.patch b/unmaintained/julia/test-repl-disable-22176-20482.patch
new file mode 100644
index 0000000000..171a5a0476
--- /dev/null
+++ b/unmaintained/julia/test-repl-disable-22176-20482.patch
@@ -0,0 +1,32 @@
+There's some problem with temp file, don't know why...
+
+Error During Test
+ Test threw an exception of type SystemError
+ Expression: readstring(tmp) == "123\n"
+ SystemError: opening file /tmp/julia_GolmjG: No such file or directory
+ Stacktrace:
+ [1] #systemerror#44 at ./error.jl:64 [inlined]
+ [2] systemerror at ./error.jl:64
+ [3] open at ./iostream.jl:104
+ [4] open at ./iostream.jl:150
+ [5] macro expansion at test/repl.jl:139 [inlined]
+ [6] anonymous at ./<missing>:?
+ [7] include_from_node1 at ./loading.jl:569
+ [8] include at ./sysimg.jl:14
+ [9] macro expansion at test/testdefs.jl:18 [inlined]
+ [10] macro expansion at ./test.jl:860 [inlined]
+ [11] macro expansion at ./util.jl:378 [inlined]
+ [12] macro expansion at test/testdefs.jl:17 [inlined]
+ [13] anonymous at ./<missing>:?
+
+--- a/test/repl.jl
++++ b/test/repl.jl
+@@ -126,7 +126,7 @@
+
+ # issues #22176 & #20482
+ # TODO: figure out how to test this on Windows
+- is_windows() || let tmp = tempname()
++ true || let tmp = tempname()
+ try
+ write(stdin_write, ";")
+ readuntil(stdout_read, "shell> ")