SHA256
1
0
forked from pool/julia

Accepting request 1135451 from home:uncomfyhalomacro:branches:science

- Enable only tier 1 architectures
- Add disable-doc-gen-in-makefile.patch
- Add disable-download-of-unicode-for-doc-gen.patch
- Add UnicodeData.txt
- Add julia-remove-libcholmod_cuda.patch
- Add julia.keyring
- Add julia-1.10.0-full.tar.gz.asc
- Update julia-hardcoded-libs.patch
- Update specfile and enable v3 CPU optimizations on x86_64 architecture
- Update to version 1.10.0:
* New language features
  - JuliaSyntax.jl is now used as the default parser, providing better diagnostics and faster
    parsing. Set environment variable `JULIA_USE_FLISP_PARSER` to `1` to switch back to the old
    parser if necessary (and if you find this necessary, please file an issue).
  - `⥺` (U+297A, `\leftarrowsubset`) and `⥷` (U+2977, `\leftarrowless`) may now be used as
  binary operators with arrow precedence.
* Language changes
  - When a task forks a child, the parent task's task-local RNG (random number generator) is no longer affected. The 
    seeding of child based on the parent task also takes a more disciplined approach to collision resistance, using a 
    design based on the SplitMix and DotMix splittable RNG schemes.
  - A new more-specific rule for methods resolves ambiguities containing Union{} in favor of
    the method defined explicitly to handle the Union{} argument. This makes it possible to
    define methods to explicitly handle Union{} without the ambiguities that commonly would
    result previously. This also lets the runtime optimize certain method lookups in a way
    that significantly improves load and inference times for heavily overloaded methods that
    dispatch on Types (such as traits and constructors).
  - The "h bar" `ℏ` (`\hslash` U+210F) character is now treated as equivalent to `ħ` (`\hbar` U+0127).
  - The `@simd` macro now has more limited and clearer semantics: it only enables reordering and contraction
    of floating-point operations, instead of turning on all "fastmath" optimizations.
    If you observe performance regressions due to this change, you can recover previous behavior 
    with `@fastmath @simd`,
    if you are OK with all the optimizations enabled by the `@fastmath` macro.
  - When a method with keyword arguments is displayed in the stack trace view, the textual
    representation of the keyword arguments' type is simplified using the new
    `@Kwargs{key1::Type1, ...}` macro syntax.
* Compiler/Runtime improvements
  - The mark phase of the garbage collector is now multi-threaded.
  - [JITLink](https://llvm.org/docs/JITLink.html) is enabled by default on Linux aarch64 when Julia 
    is linked to LLVM 15 or later versions.
    This should resolve many segmentation faults previously observed on this platform.
  - The precompilation process now uses pidfile locks and orchestrates multiple julia processes to only have one proces
    spend effort precompiling while the others wait. Previously all would do the work and race to overwrite the cache 
    files.
* Command-line option changes
  - New option `--gcthreads` to set how many threads will be used by the garbage collector.
    The default is `N/2` where `N` is the number of worker threads (`--threads`) used by Julia.
* Build system changes
  - SparseArrays and SuiteSparse are no longer included in the default system image, so the core
    language no longer contains GPL libraries. However, these libraries are still included
    alongside the language in the standard binary distribution
* New library functions
  - `tanpi` is now defined. It computes tan(π*x) more accurately than `tan(pi*x)`.
  - `fourthroot(x)` is now defined in `Base.Math` and can be used to compute the fourth root of `x`.
   It can also be accessed using the unicode character `∜`, which can be typed by `\fourthroot<tab>`.
  - `Libc.memmove`, `Libc.memset`, and `Libc.memcpy` are now defined, whose functionality matches that of their respective C calls.
  - `Base.isprecompiled(pkg::PkgId)` has been added, to identify whether a package has already been precompiled.
* New library features
  - `binomial(x, k)` now supports non-integer `x`.
  - A `CartesianIndex` is now treated as a "scalar" for broadcasting.
  - `printstyled` now supports italic output.
  - `parent` and `parentindices` support `SubString`s.
  - `replace(string, pattern...)` now supports an optional `IO` argument to
     write the output to a stream rather than returning a string.
  - `startswith` now supports seekable `IO` streams.
* Standard library changes
  - The `initialized=true` keyword assignment for `sortperm!` and `partialsortperm!`
    is now a no-op. It previously exposed unsafe behavior.
  - Printing integral `Rational`s will skip the denominator in `Rational`-typed IO context (e.g. in arrays).
* Package Manager
  - `Pkg.precompile` now accepts `timing` as a keyword argument which displays per package timing 
    information for precompilation (e.g. `Pkg.precompile(timing=true)`).

OBS-URL: https://build.opensuse.org/request/show/1135451
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=168
This commit is contained in:
Soc Virnyl Estela 2023-12-28 09:28:50 +00:00 committed by Git OBS Bridge
parent 84be6e2e10
commit 3705e039ae
12 changed files with 34122 additions and 147 deletions

33797
UnicodeData.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,21 @@
diff -ruN julia-1.10.0.orig/Makefile julia-1.10.0/Makefile
--- julia-1.10.0.orig/Makefile 2023-12-27 12:31:21.449481396 +0800
+++ julia-1.10.0/Makefile 2023-12-28 13:12:34.633832260 +0800
@@ -265,7 +265,7 @@
endef
-install: $(build_depsbindir)/stringreplace docs
+install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html
@$(MAKE) $(QUIET_MAKE) $(JULIA_BUILD_MODE)
@for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir) $(private_libexecdir); do \
mkdir -p $(DESTDIR)$$subdir; \
@@ -525,7 +525,7 @@
darwinframework:
$(MAKE) -C $(JULIAHOME)/contrib/mac/framework
-light-source-dist.tmp: docs
+light-source-dist.tmp: $(BUILDROOT)/doc/_build/html/en/index.html
ifneq ($(BUILDROOT),$(JULIAHOME))
$(error make light-source-dist does not work in out-of-tree builds)
endif

View File

@ -0,0 +1,11 @@
diff -ruN julia-1.10.0.orig/doc/Makefile julia-1.10.0/doc/Makefile
--- julia-1.10.0.orig/doc/Makefile 2023-12-27 12:31:21.472814814 +0800
+++ julia-1.10.0/doc/Makefile 2023-12-28 12:02:09.068566373 +0800
@@ -28,7 +28,6 @@
UNICODE_DATA_VERSION=13.0.0
$(SRCCACHE)/UnicodeData-$(UNICODE_DATA_VERSION).txt:
@mkdir -p "$(SRCCACHE)"
- $(JLDOWNLOAD) "$@" https://www.unicode.org/Public/$(UNICODE_DATA_VERSION)/ucd/UnicodeData.txt
deps: $(SRCCACHE)/UnicodeData-$(UNICODE_DATA_VERSION).txt
$(JLCHECKSUM) "$<"

3
julia-1.10.0-full.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a5f8c0ce08cf132bdd919ca0b5b3b2b66c89e0e5f7e7fb2a81ffa7f225e3db4c
size 318571431

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJLBAABCAA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmWLPc8XHGJ1aWxkYm90
QGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JUCTw/7B/prxAGrs4gnVRjRPLhKTHCP
FR50fKi2ABMGzb1GBbkqDWscqIFa+MhbEeERMofJbw8YnrOY0kQeZRlgQWmDqI5N
nCtbYGaJJs1hFS7eq4yEP/PotUA/97ILWZp1Q6wOQPgZMxFILOmdusH4SzwgDLum
swgKg8jw4aQ1O8xhumR4Fe0/yqVnrGsVm6UCsHiLKxHekHv+/I020t0CHkrSbpSB
A85WX3NDoU3rQTLiWw9sGxT68gmRIiXvEaNQUnk7JHi5AKHJuXOX5A22vlrzFbbW
3LUc3m6m0evTtkW8T7eYy4VDYaohC3201Lo9zr5idXuCASew1PTx0pTl9FJwhl5K
VebtQiUnDL1FTp9oTb/B1wQft3neE/oMBHXYMB2gYxaDrmH5MvsRUbH6fJJmM71U
P2hZ5WfE2t/sH3miipiotl6ncaD82LZfBK45Yy4OVoCuTtuJggmK9Er0HT1r/8Xc
SogQhGikgvmipob81j6VRuizTYloTvGVpO0kiVFmGKKnB52/ZTCGBdDKfpOb9Jef
bwAsEayvcZ5NL1uDC53TXYNDNO4nc6aAufuI59RkvBJ7dkdROpNPhQ9kUskWqKDM
chFf9WUKxNTbe1jBzoTNpe0DMuXM/N0Eb1n7ijdLxFZhOdjuHR7DXzfU9H50fitA
EM7KlLiwfM3y4x8DAZI=
=C0jJ
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:61843b9647fd06d3b2994f3277a64de1cb5a5a5297d930b8c8e3bc0e93740024
size 294983229

View File

@ -17,9 +17,9 @@ index f0d4b5dda6..2ed3017b51 100644
+++ b/stdlib/LibGit2_jll/src/LibGit2_jll.jl
@@ -23,7 +23,7 @@ if Sys.iswindows()
elseif Sys.isapple()
const libgit2 = "@rpath/libgit2.1.5.dylib"
const libgit2 = "@rpath/libgit2.1.6.dylib"
else
- const libgit2 = "libgit2.so.1.5"
- const libgit2 = "libgit2.so.1.6"
+ const libgit2 = "libgit2.so"
end
@ -42,21 +42,21 @@ index 2940970cef..359dbd9065 100644
--- a/stdlib/SuiteSparse_jll/src/SuiteSparse_jll.jl
+++ b/stdlib/SuiteSparse_jll/src/SuiteSparse_jll.jl
@@ -67,18 +67,18 @@ elseif Sys.isapple()
const libsuitesparseconfig = "@rpath/libsuitesparseconfig.5.dylib"
const libumfpack = "@rpath/libumfpack.5.dylib"
const libsuitesparseconfig = "@rpath/libsuitesparseconfig.7.dylib"
const libumfpack = "@rpath/libumfpack.6.dylib"
else
- const libamd = "libamd.so.2"
- const libbtf = "libbtf.so.1"
- const libcamd = "libcamd.so.2"
- const libccolamd = "libccolamd.so.2"
- const libcholmod = "libcholmod.so.3"
- const libcolamd = "libcolamd.so.2"
- const libklu = "libklu.so.1"
- const libldl = "libldl.so.2"
- const librbio = "librbio.so.2"
- const libspqr = "libspqr.so.2"
- const libsuitesparseconfig = "libsuitesparseconfig.so.5"
- const libumfpack = "libumfpack.so.5"
- const libamd = "libamd.so.3"
- const libbtf = "libbtf.so.2"
- const libcamd = "libcamd.so.3"
- const libccolamd = "libccolamd.so.3"
- const libcholmod = "libcholmod.so.4"
- const libcolamd = "libcolamd.so.3"
- const libklu = "libklu.so.2"
- const libldl = "libldl.so.3"
- const librbio = "librbio.so.4"
- const libspqr = "libspqr.so.4"
- const libsuitesparseconfig = "libsuitesparseconfig.so.7"
- const libumfpack = "libumfpack.so.6"
+ const libamd = "libamd.so"
+ const libbtf = "libbtf.so"
+ const libcamd = "libcamd.so"
@ -72,26 +72,6 @@ index 2940970cef..359dbd9065 100644
end
function __init__()
diff -ruN julia-1.9.4.orig/stdlib/LibSSH2_jll/Manifest.toml julia-1.9.4/stdlib/LibSSH2_jll/Manifest.toml
--- julia-1.9.4.orig/stdlib/LibSSH2_jll/Manifest.toml 1970-01-01 08:00:00.000000000 +0800
+++ julia-1.9.4/stdlib/LibSSH2_jll/Manifest.toml 2023-12-25 16:21:10.958808055 +0800
@@ -0,0 +1,16 @@
+# This file is machine-generated - editing it directly is not advised
+
+julia_version = "1.9.4"
+manifest_format = "2.0"
+project_hash = "c66714fa615224b41858a224953e27621bc6d231"
+
+[[deps.Artifacts]]
+uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
+
+[[deps.Libdl]]
+uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
+
+[[deps.MbedTLS_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
+version = "2.28.2+0"
diff -ruN julia-1.9.4.orig/stdlib/LibSSH2_jll/src/LibSSH2_jll.jl julia-1.9.4/stdlib/LibSSH2_jll/src/LibSSH2_jll.jl
--- julia-1.9.4.orig/stdlib/LibSSH2_jll/src/LibSSH2_jll.jl 2023-12-11 08:55:02.868720503 +0800
+++ julia-1.9.4/stdlib/LibSSH2_jll/src/LibSSH2_jll.jl 2023-12-25 16:21:12.248810399 +0800

View File

@ -0,0 +1,29 @@
diff --git a/Makefile b/Makefile
index 1565014a0f..5e9b4ccf54 100644
--- a/Makefile
+++ b/Makefile
@@ -196,7 +196,7 @@ else ifeq ($(JULIA_BUILD_MODE),debug)
JL_PRIVATE_LIBS-0 += libjulia-internal-debug libjulia-codegen-debug
endif
ifeq ($(USE_GPL_LIBS), 1)
-JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBSUITESPARSE) += libamd libbtf libcamd libccolamd libcholmod libcholmod_cuda libcolamd libklu libldl librbio libspqr libspqr_cuda libsuitesparseconfig libumfpack
+JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBSUITESPARSE) += libamd libbtf libcamd libccolamd libcholmod libcolamd libklu libldl librbio libspqr libsuitesparseconfig libumfpack
endif
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBBLASTRAMPOLINE) += libblastrampoline
JL_PRIVATE_LIBS-$(USE_SYSTEM_PCRE) += libpcre2-8
diff --git a/base/Makefile b/base/Makefile
index ad2bb6a63c..493302af78 100644
--- a/base/Makefile
+++ b/base/Makefile
@@ -269,11 +269,9 @@ $(eval $(call symlink_system_library,LIBSUITESPARSE,libamd))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libcamd))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libccolamd))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libcholmod))
-$(eval $(call symlink_system_library,LIBSUITESPARSE,libcholmod_cuda))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libcolamd))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libumfpack))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libspqr))
-$(eval $(call symlink_system_library,LIBSUITESPARSE,libspqr_cuda))
$(eval $(call symlink_system_library,LIBSUITESPARSE,libsuitesparseconfig))
# EXCLUDED LIBRARIES (installed/used, but not vendored for use with dlopen):
# libunwind

View File

@ -1,40 +0,0 @@
--- a/src/solvers/cholmod.jl.orig 2022-11-11 07:24:15.860939080 +0000
+++ b/src/solvers/cholmod.jl 2022-11-11 07:24:39.462357069 +0000
@@ -194,21 +194,6 @@
from www.julialang.org, which ship with the correct
versions of all dependencies.
"""
- elseif BUILD_VERSION.major != current_version.major
- @warn """
- CHOLMOD version incompatibility
-
- Julia was compiled with CHOLMOD version $BUILD_VERSION. It is
- currently linked with version $current_version.
- This might cause Julia to terminate when working with
- sparse matrix factorizations, e.g. solving systems of
- equations with \\.
-
- It is recommended that you use Julia with the same major
- version of CHOLMOD as the one used during the build, or
- download the generic binaries from www.julialang.org,
- which ship with the correct versions of all dependencies.
- """
end
intsize = sizeof(SuiteSparse_long)
@@ -232,15 +232,6 @@ function __init__()
"""
end
- # Register gc tracked allocator if CHOLMOD is new enough
- if current_version >= v"3.0.0"
- cnfg = cglobal((:SuiteSparse_config, :libsuitesparseconfig), Ptr{Cvoid})
- unsafe_store!(cnfg, cglobal(:jl_malloc, Ptr{Cvoid}), 1)
- unsafe_store!(cnfg, cglobal(:jl_calloc, Ptr{Cvoid}), 2)
- unsafe_store!(cnfg, cglobal(:jl_realloc, Ptr{Cvoid}), 3)
- unsafe_store!(cnfg, cglobal(:jl_free, Ptr{Cvoid}), 4)
- end
-
catch ex
@error "Error during initialization of module CHOLMOD" exception=ex,catch_backtrace()
end

View File

@ -1,3 +1,87 @@
-------------------------------------------------------------------
Thu Dec 28 06:43:48 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Enable only tier 1 architectures
- Add disable-doc-gen-in-makefile.patch
- Add disable-download-of-unicode-for-doc-gen.patch
- Add UnicodeData.txt
- Add julia-remove-libcholmod_cuda.patch
- Add julia.keyring
- Add julia-1.10.0-full.tar.gz.asc
- Update julia-hardcoded-libs.patch
- Update specfile and enable v3 CPU optimizations on x86_64 architecture
- Update to version 1.10.0:
* New language features
- JuliaSyntax.jl is now used as the default parser, providing better diagnostics and faster
parsing. Set environment variable `JULIA_USE_FLISP_PARSER` to `1` to switch back to the old
parser if necessary (and if you find this necessary, please file an issue).
- `⥺` (U+297A, `\leftarrowsubset`) and `⥷` (U+2977, `\leftarrowless`) may now be used as
binary operators with arrow precedence.
* Language changes
- When a task forks a child, the parent task's task-local RNG (random number generator) is no longer affected. The
seeding of child based on the parent task also takes a more disciplined approach to collision resistance, using a
design based on the SplitMix and DotMix splittable RNG schemes.
- A new more-specific rule for methods resolves ambiguities containing Union{} in favor of
the method defined explicitly to handle the Union{} argument. This makes it possible to
define methods to explicitly handle Union{} without the ambiguities that commonly would
result previously. This also lets the runtime optimize certain method lookups in a way
that significantly improves load and inference times for heavily overloaded methods that
dispatch on Types (such as traits and constructors).
- The "h bar" `ℏ` (`\hslash` U+210F) character is now treated as equivalent to `ħ` (`\hbar` U+0127).
- The `@simd` macro now has more limited and clearer semantics: it only enables reordering and contraction
of floating-point operations, instead of turning on all "fastmath" optimizations.
If you observe performance regressions due to this change, you can recover previous behavior
with `@fastmath @simd`,
if you are OK with all the optimizations enabled by the `@fastmath` macro.
- When a method with keyword arguments is displayed in the stack trace view, the textual
representation of the keyword arguments' type is simplified using the new
`@Kwargs{key1::Type1, ...}` macro syntax.
* Compiler/Runtime improvements
- The mark phase of the garbage collector is now multi-threaded.
- [JITLink](https://llvm.org/docs/JITLink.html) is enabled by default on Linux aarch64 when Julia
is linked to LLVM 15 or later versions.
This should resolve many segmentation faults previously observed on this platform.
- The precompilation process now uses pidfile locks and orchestrates multiple julia processes to only have one proces
spend effort precompiling while the others wait. Previously all would do the work and race to overwrite the cache
files.
* Command-line option changes
- New option `--gcthreads` to set how many threads will be used by the garbage collector.
The default is `N/2` where `N` is the number of worker threads (`--threads`) used by Julia.
* Build system changes
- SparseArrays and SuiteSparse are no longer included in the default system image, so the core
language no longer contains GPL libraries. However, these libraries are still included
alongside the language in the standard binary distribution
* New library functions
- `tanpi` is now defined. It computes tan(π*x) more accurately than `tan(pi*x)`.
- `fourthroot(x)` is now defined in `Base.Math` and can be used to compute the fourth root of `x`.
It can also be accessed using the unicode character `∜`, which can be typed by `\fourthroot<tab>`.
- `Libc.memmove`, `Libc.memset`, and `Libc.memcpy` are now defined, whose functionality matches that of their respective C calls.
- `Base.isprecompiled(pkg::PkgId)` has been added, to identify whether a package has already been precompiled.
* New library features
- `binomial(x, k)` now supports non-integer `x`.
- A `CartesianIndex` is now treated as a "scalar" for broadcasting.
- `printstyled` now supports italic output.
- `parent` and `parentindices` support `SubString`s.
- `replace(string, pattern...)` now supports an optional `IO` argument to
write the output to a stream rather than returning a string.
- `startswith` now supports seekable `IO` streams.
* Standard library changes
- The `initialized=true` keyword assignment for `sortperm!` and `partialsortperm!`
is now a no-op. It previously exposed unsafe behavior.
- Printing integral `Rational`s will skip the denominator in `Rational`-typed IO context (e.g. in arrays).
* Package Manager
- `Pkg.precompile` now accepts `timing` as a keyword argument which displays per package timing
information for precompilation (e.g. `Pkg.precompile(timing=true)`).
-------------------------------------------------------------------
Mon Dec 25 13:32:14 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>

51
julia.keyring Normal file
View File

@ -0,0 +1,51 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
Lr+fAJHZvbYCQjMTkZYScgYU
=XN/B
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -31,7 +31,7 @@
%global __requires_exclude ^(%{_privatelibs})$
%define libjulia_sover_major 1
%define libjulia_sover_minor 9
%define libjulia_sover_minor 10
%if "@BUILD_FLAVOR@%{nil}" == "compat"
%define compat_mode 1
@ -48,30 +48,37 @@
# LTO currently makes building blastrampoline and Julia itself fail
# It is not enabled upstream anyway
%global _lto_cflags %nil
Version: 1.9.4
Version: 1.10.0
Release: 0
URL: http://julialang.org/
Source0: https://github.com/JuliaLang/julia/releases/download/v%{version}/julia-%{version}-full.tar.gz
Source1: julia-rpmlintrc
Source1: https://github.com/JuliaLang/julia/releases/download/v%{version}/julia-%{version}-full.tar.gz.asc
Source2: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/keys/pgp/3673DF529D9049477F76B37566E3C7DC03D6E495.asc?ref_type=heads#/julia.keyring
Source3: https://www.unicode.org/Public/13.0.0/ucd/UnicodeData.txt
Source4: julia-rpmlintrc
# PATCH-FIX-OPENSUSE julia-env-script-interpreter.patch ronisbr@gmail.com -- Change script interpreted to avoid errors in rpmlint.
Patch1: julia-env-script-interpreter.patch
Patch2: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/e08e1444.patch?ref_type=heads#/new-pass-manager.patch
Patch3: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/959902f1.patch?ref_type=heads#/support-float16-depending-on-llvm-and-platform.patch
Patch4: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/f11bfc6c.patch?ref_type=heads#/use-newpm-asan.patch
Patch5: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/21d4c2f1.patch?ref_type=heads#/llvm-set-of-custom-patches.patch
# Patch2: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/e08e1444.patch?ref_type=heads#/new-pass-manager.patch
# Patch3: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/959902f1.patch?ref_type=heads#/support-float16-depending-on-llvm-and-platform.patch
# Patch4: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/f11bfc6c.patch?ref_type=heads#/use-newpm-asan.patch
# Patch5: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/21d4c2f1.patch?ref_type=heads#/llvm-set-of-custom-patches.patch
Patch6: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libunwind-1.6.patch?ref_type=heads#/julia-libunwind-1.9.patch
Patch8: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libgit2-1.7.patch?ref_type=heads#/julia-libgit2-1.7.patch
Patch9: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-suitesparse-7.patch?ref_type=heads#/julia-suitesparse-7.patch
# Patch8: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libgit2-1.7.patch?ref_type=heads#/julia-libgit2-1.7.patch
# Patch9: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-suitesparse-7.patch?ref_type=heads#/julia-suitesparse-7.patch
Patch9: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libcholmod-cuda.patch?ref_type=heads#/julia-remove-libcholmod_cuda.patch
Patch10: use-system-libuv-correctly.patch
Patch11: openlibm.patch
Patch12: llvm-link-shared.patch
# Adapted from https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-hardcoded-libs.patch?ref_type=heads
# We just remove the julia specific llvm sofile change
Patch13: julia-hardcoded-libs.patch
BuildRequires: arpack-ng-devel >= 3.3.0
Patch14: disable-download-of-unicode-for-doc-gen.patch
Patch15: disable-doc-gen-in-makefile.patch
BuildRequires: ImageMagick
BuildRequires: blas-devel
BuildRequires: ca-certificates
BuildRequires: cmake
BuildRequires: curl
BuildRequires: dSFMT-devel
BuildRequires: dos2unix
BuildRequires: double-conversion-devel
@ -85,6 +92,7 @@ BuildRequires: gmp-devel >= 6.1.2
BuildRequires: hicolor-icon-theme
BuildRequires: lapack-devel >= 3.5.0
BuildRequires: libblastrampoline-devel
BuildRequires: libcholmod3
BuildRequires: libcurl-devel
BuildRequires: libgit2-devel
BuildRequires: libnghttp2-devel
@ -93,8 +101,8 @@ BuildRequires: libssh2-devel >= 1.9.0
BuildRequires: libunwind-devel >= 1.3.1
BuildRequires: libuv-devel
BuildRequires: libwhich
BuildRequires: lld14
BuildRequires: llvm14-devel
BuildRequires: lld15
BuildRequires: llvm15-devel
BuildRequires: m4
BuildRequires: mbedtls-devel
BuildRequires: mpfr-devel >= 4.0.2
@ -151,7 +159,6 @@ Requires(post): %{_sbindir}/ldconfig
Requires(postun):%{_sbindir}/update-alternatives
Requires(postun):%{_sbindir}/ldconfig
Recommends: arpack-ng-devel
Recommends: curl
Recommends: git
Recommends: gmp-devel
@ -182,8 +189,14 @@ Provides: julia = %{version}
%endif
# Let's not be optimistic towards 32 bit support and other architectures
# openSUSE cannot guarantee to support, shall we?
ExclusiveArch: x86_64
# openSUSE or Julia cannot guarantee to support, shall we? Only choose
# Tier1 architectures
%if 0%{?compat_mode}
ExclusiveArch: x86_64 x86_64_v3
%else
ExclusiveArch: x86_64 x86_64_v3 aarch64
%endif
%{?suse_build_hwcaps_libs}
%description
Julia is a high-level, high-performance dynamic programming language for
@ -227,45 +240,35 @@ Contains library files for interacting with Julia through C interfaces.
%prep
%setup -q -n julia-%{version}
patch -p1 -i %{PATCH1}
patch -p1 -i %{PATCH14}
patch -p1 -i %{PATCH15}
# patch -p1 -i %%{PATCH2}
# patch -p1 -i %%{PATCH3}
# patch -p1 -i %%{PATCH4}
# patch -p1 -i %%{PATCH5}
# libunwind 1.6 compatibility
patch -p1 -i %{PATCH6}
# Fix tests with libgit2 1.7
patch -p1 -i %{PATCH8}
# patch -p1 -i %%{PATCH8}
# Make.inc puts it in the wrong libpath
# patch -p1 -i %%{PATCH10}
patch -p1 -i %{PATCH9}
# Other hardcoded libs patch
patch -p1 -i %{PATCH11}
# patch -p1 -i %{PATCH11}
patch -p1 -i %{PATCH12}
patch -p1 -i %{PATCH13}
%ifarch aarch64 %{arm}
# https://github.com/JuliaLang/julia/issues/41613#issuecomment-976535193
sed -i 's#$(eval $(call symlink_system_library,CSL,libquadmath,0))##' base/Makefile
%endif
pushd stdlib/srccache
tar -xzf SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz
patch -d JuliaSparse-SparseArrays.jl-37e6e58 -p1 -i %{PATCH9}
rm SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz
tar -czf SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz JuliaSparse-SparseArrays.jl-37e6e58
md5sum SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz | cut -d ' ' -f 1 > ../../deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/md5
sha512sum SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz | cut -d ' ' -f 1 > ../../deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/sha512
popd
# Work around bug that prompts zlib to be downloaded even when not used
# https://github.com/JuliaLang/julia/pull/42524/files#r734972945
sed "s/ \$(build_prefix)\\/manifest\\/zlib//" -i deps/llvm.mk
# Copy https://www.unicode.org/Public/13.0.0/ucd/UnicodeData.txt to deps/srccache
cp %{SOURCE3} deps/srccache/UnicodeData-13.0.0.txt
%build
%if 0%{?compat_mode} == 0
%ifarch x86_64
%ifarch x86_64 || x86_64_v3
%define julia_march core2
%endif
@ -294,28 +297,18 @@ sed "s/ \$(build_prefix)\\/manifest\\/zlib//" -i deps/llvm.mk
%define julia_march x86-64
%endif
%ifarch armv6l armv6hl
export LDFLAGS="$LDFLAGS -latomic"
%endif
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
export LD_LIBRARY_PATH=%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:%{_builddir}/%{buildsubdir}/usr/lib
pushd deps
export USE_BINARYBUILDER_OPENBLAS=0
export OPENBLAS_LIBNAMESUFFIX="%{?__isa_bits}_"
export OPENBLAS_SYMBOLSUFFIX="%{?__isa_bits}_"
export OPENBLAS_CFLAGS="%{optflags}"
make prefix=%{prefix} libdir=%{_libdir} bindir=%{_bindir} install-openblas
popd
export NO_GIT=1
export LD_LIBRARY_PATH="%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:%{_builddir}/%{buildsubdir}/usr/lib:%{_libdir}:%{_prefix}/lib"
make %{?_smp_mflags} \
MARCH=%{julia_march} \
%ifarch aarch64
JULIA_CPU_TARGET="generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm" \
%endif
%ifarch x86_64
%ifarch x86_64 || x86_64_v3
JULIA_CPU_TARGET="generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)" \
%endif
build_prefix=%{_builddir}/%{buildsubdir}/build%{_prefix} \
@ -331,6 +324,9 @@ make %{?_smp_mflags} \
USE_SYSTEM_CSL=1 \
USE_SYSTEM_LLVM=0 \
USE_SYSTEM_LLD=1 \
USE_BINARYBUILDER_OPENBLAS=0 \
USE_BINARYBUILDER_LIBSUITESPARSE=0 \
OPENBLAS_CFLAGS="%{optflags}" \
USE_SYSTEM_LIBUNWIND=1 \
USE_SYSTEM_PCRE=1 \
USE_SYSTEM_BLAS=0 \
@ -356,10 +352,14 @@ make %{?_smp_mflags} \
USE_BLAS64=1 \
JLDFLAGS="$LDFLAGS" \
VERBOSE=1 \
TAGGED_RELEASE_BANNER="openSUSE %{suse_version} experimental build (unofficial)" \
release debug
%if 0%{?suse_version} > 1600
TAGGED_RELEASE_BANNER="openSUSE Tumbleweed Build" \
%else
TAGGED_RELEASE_BANNER="openSUSE Leap $(echo \"%{?sle_version}\" | tr '0' '.' | sed 's/..$//') Build" \
%endif
release
# This may fix other issues where libLLVM-14jl.so is not properly copied?
# This may fix other issues where libLLVM-15jl.so is not properly copied?
if [ "x%{_lib}" != xlib ] ; then
cp -a %{_builddir}/%{buildsubdir}/build/usr/lib/* %{_builddir}/%{buildsubdir}/build/%{_libdir}
rm -rf %{_builddir}/%{buildsubdir}/build/usr/lib/
@ -370,22 +370,18 @@ fi
# make %{?_smp_mflags} test
%install
%ifarch armv6l armv6hl
export LDFLAGS="$LDFLAGS -latomic"
%endif
export NO_GIT=1
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
export LD_LIBRARY_PATH=%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:%{_builddir}/%{buildsubdir}/usr/lib
export LD_LIBRARY_PATH="%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:%{_builddir}/%{buildsubdir}/usr/lib:%{_libdir}:%{_prefix}/lib"
make install DESTDIR=%{buildroot} \
MARCH=%{julia_march} \
%ifarch aarch64
JULIA_CPU_TARGET="generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm" \
JULIA_CPU_TARGET="generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm" \
%endif
%ifarch x86_64
JULIA_CPU_TARGET="generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)" \
%ifarch x86_64 || x86_64_v3
JULIA_CPU_TARGET="generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)" \
%endif
build_prefix=%{_builddir}/%{buildsubdir}/build%{_prefix} \
build_libdir=%{_builddir}/%{buildsubdir}/build%{_libdir} \
@ -400,6 +396,9 @@ make install DESTDIR=%{buildroot} \
USE_SYSTEM_CSL=1 \
USE_SYSTEM_LLVM=0 \
USE_SYSTEM_LLD=1 \
USE_BINARYBUILDER_OPENBLAS=0 \
USE_BINARYBUILDER_LIBSUITESPARSE=0 \
OPENBLAS_CFLAGS="%{optflags}" \
USE_SYSTEM_LIBUNWIND=1 \
USE_SYSTEM_PCRE=1 \
USE_SYSTEM_BLAS=0 \
@ -425,14 +424,15 @@ make install DESTDIR=%{buildroot} \
USE_BLAS64=1 \
JLDFLAGS="$LDFLAGS" \
VERBOSE=1 \
TAGGED_RELEASE_BANNER="openSUSE %{suse_version} experimental build (unofficial)"
%if 0%{?suse_version} > 1600
TAGGED_RELEASE_BANNER="openSUSE Tumbleweed Build"
%else
TAGGED_RELEASE_BANNER="openSUSE Leap $(echo \"%{?sle_version}\" | tr '0' '.' | sed 's/..$//') Build"
%endif
# GZip man page.
gzip %{buildroot}/%{_mandir}/man1/julia.1
# Copy the man page for every executable.
cd %{buildroot}/%{_mandir}/man1/
rm -f %{buildroot}%{_libdir}/julia/libuv.a
rm -f %{buildroot}%{_datadir}/julia/base/build.h
rm -f %{buildroot}%{_datadir}/julia/base/Makefile
@ -447,6 +447,25 @@ ln -sfv /var/lib/ca-certificates/ca-bundle.pem %{buildroot}%{_datadir}/julia/cer
# Remove execution permission on documentation files.
chmod -x+X -R %{buildroot}%{_docdir}/julia/*
# Install .desktop file and icons
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/
cp -p contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
convert -scale 16x16 -extent 16x16 -gravity center -background transparent \
contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
convert -scale 24x24 -extent 24x24 -gravity center -background transparent \
contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{name}.png
convert -scale 32x32 -extent 32x32 -gravity center -background transparent \
contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
convert -scale 48x48 -extent 48x48 -gravity center -background transparent \
contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
convert -scale 256x256 -extent 256x256 -gravity center -background transparent \
contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
# Remove hidden files and zero-length files and directories from stdlib.
pushd %{buildroot}
find . -name ".codecov.yml" -prune -execdir rm -rf {} \;
@ -484,13 +503,13 @@ ln -sf %{_sysconfdir}/alternatives/julia %{buildroot}%{_bindir}/julia
# Julia has a custom compiled LLVM sofile with a good name. We need
# it to be discoverable in LD_LIBRARY_PATHs
# so it can be dlopened for libLLVM_jll
ln -sf %{_libdir}/julia/libLLVM-14jl.so %{buildroot}%{_libdir}/libLLVM-14jl.so
ln -sf %{_libdir}/julia/libLLVM-15jl.so %{buildroot}%{_libdir}/libLLVM-15jl.so
# Convert all eol encodings to Unix
find %{buildroot} -type f -execdir dos2unix -k {} \;
# make it executable
chmod +x %{buildroot}%{_datadir}/julia/stdlib/v1.9/SparseArrays/gen/generator.jl
chmod +x %{buildroot}%{_datadir}/julia/stdlib/v1.10/SparseArrays/gen/generator.jl
# Remove duplicated files.
%fdupes %{buildroot}%{_datadir}/julia
@ -525,6 +544,12 @@ fi
%{_datadir}/julia/cert.pem
%dir %{_libexecdir}/julia
%{_libexecdir}/julia/*
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
%{_datadir}/icons/hicolor/24x24/apps/%{name}.png
%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
%if !%{?compat_mode}
%dir %{_datadir}/appdata/
@ -536,7 +561,7 @@ fi
%{_prefix}/lib/julia
%{_libdir}/julia/
%{_mandir}/man1/julia.1%{?ext_man}
%{_libdir}/libLLVM-14jl.so
%{_libdir}/libLLVM-15jl.so
%dir %{_sysconfdir}/julia/
%config(noreplace) %{_sysconfdir}/julia/startup.jl