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:
parent
84be6e2e10
commit
3705e039ae
33797
UnicodeData.txt
Normal file
33797
UnicodeData.txt
Normal file
File diff suppressed because it is too large
Load Diff
21
disable-doc-gen-in-makefile.patch
Normal file
21
disable-doc-gen-in-makefile.patch
Normal 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
|
11
disable-download-of-unicode-for-doc-gen.patch
Normal file
11
disable-download-of-unicode-for-doc-gen.patch
Normal 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
3
julia-1.10.0-full.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a5f8c0ce08cf132bdd919ca0b5b3b2b66c89e0e5f7e7fb2a81ffa7f225e3db4c
|
||||
size 318571431
|
17
julia-1.10.0-full.tar.gz.asc
Normal file
17
julia-1.10.0-full.tar.gz.asc
Normal 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-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:61843b9647fd06d3b2994f3277a64de1cb5a5a5297d930b8c8e3bc0e93740024
|
||||
size 294983229
|
@ -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
|
||||
|
29
julia-remove-libcholmod_cuda.patch
Normal file
29
julia-remove-libcholmod_cuda.patch
Normal 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
|
@ -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
|
@ -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
51
julia.keyring
Normal file
@ -0,0 +1,51 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
Lr+fAJHZvbYCQjMTkZYScgYU
|
||||
=XN/B
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
161
julia.spec
161
julia.spec
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user