2023-12-11 15:36:07 +01:00
|
|
|
#
|
2014-08-06 09:24:22 +02:00
|
|
|
# spec file for package julia
|
|
|
|
#
|
2024-02-14 14:40:17 +01:00
|
|
|
# Copyright (c) 2024 SUSE LLC
|
2014-08-06 09:24:22 +02:00
|
|
|
#
|
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
# published by the Open Source Initiative.
|
|
|
|
|
2022-07-05 14:30:51 +02:00
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
2014-08-06 09:24:22 +02:00
|
|
|
#
|
|
|
|
|
|
|
|
|
2022-07-05 14:30:51 +02:00
|
|
|
# We must not strip binaries in julia, since it can lead to many problems.
|
|
|
|
# For example, see:
|
|
|
|
#
|
|
|
|
# https://github.com/JuliaLang/julia/issues/17941
|
|
|
|
%undefine _build_create_debug
|
|
|
|
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
|
|
|
|
|
2023-12-09 09:57:13 +01:00
|
|
|
%global __provides_exclude_from ^%{_libdir}/%{name}/.*\\.so$
|
|
|
|
|
|
|
|
# List all bundled libraries.
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
%global _privatelibs lib(LLVM-.*|ccalltest|llvmcalltest|uv|openblas*|lapack*|sys|julia.*|amd|btf|camd|ccolamd|cholmod|colamd|cxsparse|graphblas|klu|klu_cholmod|lagraph|lagraphx|ldl|paru|rbio|spex|spqr|suitesparse_mongoose|suitesparseconfig|umfpack)\\.so.*
|
2023-12-09 09:57:13 +01:00
|
|
|
%global __provides_exclude ^(%{_privatelibs})$
|
|
|
|
%global __requires_exclude ^(%{_privatelibs})$
|
|
|
|
|
2022-07-05 14:30:51 +02:00
|
|
|
%define libjulia_sover_major 1
|
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
2023-12-28 10:28:50 +01:00
|
|
|
%define libjulia_sover_minor 10
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
%define _julia_llvm_version 15.0.7-10
|
2023-12-17 16:37:23 +01:00
|
|
|
|
2022-07-05 14:30:51 +02:00
|
|
|
%if "@BUILD_FLAVOR@%{nil}" == "compat"
|
|
|
|
%define compat_mode 1
|
|
|
|
%else
|
|
|
|
%define compat_mode 0
|
|
|
|
%endif
|
2023-12-09 09:02:57 +01:00
|
|
|
|
2023-12-17 16:37:23 +01:00
|
|
|
%if 0%{?compat_mode}
|
2023-12-28 11:38:10 +01:00
|
|
|
%define libname libjulia-compat%{libjulia_sover_major}_%{libjulia_sover_minor}
|
2023-12-17 16:37:23 +01:00
|
|
|
%else
|
2023-12-28 11:38:10 +01:00
|
|
|
%define libname libjulia%{libjulia_sover_major}_%{libjulia_sover_minor}
|
2023-12-17 16:37:23 +01:00
|
|
|
%endif
|
|
|
|
|
2023-12-09 09:02:57 +01:00
|
|
|
# LTO currently makes building blastrampoline and Julia itself fail
|
|
|
|
# It is not enabled upstream anyway
|
|
|
|
%global _lto_cflags %nil
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
Version: 1.10.2
|
2014-08-06 09:24:22 +02:00
|
|
|
Release: 0
|
2022-07-05 14:30:51 +02:00
|
|
|
URL: http://julialang.org/
|
|
|
|
Source0: https://github.com/JuliaLang/julia/releases/download/v%{version}/julia-%{version}-full.tar.gz
|
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
2023-12-28 10:28:50 +01:00
|
|
|
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
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
Source10: https://github.com/JuliaBinaryWrappers/libLLVM_jll.jl/releases/download/libLLVM-v15.0.7+10/libLLVM.v15.0.7.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz
|
|
|
|
|
2022-07-05 14:30:51 +02:00
|
|
|
# PATCH-FIX-OPENSUSE julia-env-script-interpreter.patch ronisbr@gmail.com -- Change script interpreted to avoid errors in rpmlint.
|
2023-12-09 09:02:57 +01:00
|
|
|
Patch1: julia-env-script-interpreter.patch
|
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
2023-12-28 10:28:50 +01:00
|
|
|
# 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
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
# https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libunwind-1.6.patch?ref_type=heads
|
|
|
|
Patch6: julia-libunwind-1.9.patch
|
|
|
|
# Based of https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libcholmod-cuda.patch?ref_type=heads
|
|
|
|
Patch10: julia-remove-libcholmod_cuda.patch
|
2023-12-09 09:02:57 +01:00
|
|
|
Patch11: openlibm.patch
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
# Patch12: llvm-link-shared.patch
|
2023-12-10 16:00:31 +01:00
|
|
|
# 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
|
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
2023-12-28 10:28:50 +01:00
|
|
|
Patch14: disable-download-of-unicode-for-doc-gen.patch
|
|
|
|
Patch15: disable-doc-gen-in-makefile.patch
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
Patch16: fix-dependencies-checksums.patch
|
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
2023-12-28 10:28:50 +01:00
|
|
|
BuildRequires: ImageMagick
|
2023-12-11 15:36:07 +01:00
|
|
|
BuildRequires: ca-certificates
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
BuildRequires: cmake >= 3.22
|
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
2023-12-28 10:28:50 +01:00
|
|
|
BuildRequires: curl
|
2023-12-11 15:36:07 +01:00
|
|
|
BuildRequires: dSFMT-devel
|
2023-12-18 03:15:53 +01:00
|
|
|
BuildRequires: dos2unix
|
2014-08-06 09:24:22 +02:00
|
|
|
BuildRequires: double-conversion-devel
|
|
|
|
BuildRequires: fdupes
|
2022-07-05 14:30:51 +02:00
|
|
|
BuildRequires: fftw3-threads-devel >= 3.3.4
|
2023-12-09 09:02:57 +01:00
|
|
|
BuildRequires: gcc
|
2023-12-11 15:36:07 +01:00
|
|
|
BuildRequires: gcc-c++
|
2014-08-06 09:24:22 +02:00
|
|
|
BuildRequires: gcc-fortran
|
2023-12-11 15:36:07 +01:00
|
|
|
BuildRequires: git
|
2022-07-05 14:30:51 +02:00
|
|
|
BuildRequires: gmp-devel >= 6.1.2
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
BuildRequires: libgit2-devel
|
|
|
|
BuildRequires: mpfr-devel
|
|
|
|
|
|
|
|
# These lists the supposedly dependencies that are now bundled
|
|
|
|
# BuildRequires: lapack-devel >= 3.5.0
|
|
|
|
# BuildRequires: lld15
|
|
|
|
# BuildRequires: llvm15-devel
|
|
|
|
# BuildRequires: libcholmod5
|
|
|
|
# BuildRequires: libuv-devel
|
|
|
|
# BuildRequires: libopenblas_openmp-devel >= 0.3.5
|
|
|
|
# BuildRequires: openblas-common-devel
|
|
|
|
# BuildRequires: blas-devel
|
|
|
|
# BuildRequires: suitesparse-devel >= 7.2.1
|
|
|
|
|
2022-07-05 14:30:51 +02:00
|
|
|
BuildRequires: hicolor-icon-theme
|
2023-12-11 15:36:07 +01:00
|
|
|
BuildRequires: libblastrampoline-devel
|
2022-07-05 14:30:51 +02:00
|
|
|
BuildRequires: libcurl-devel
|
|
|
|
BuildRequires: libnghttp2-devel
|
|
|
|
BuildRequires: libssh2-devel >= 1.9.0
|
|
|
|
BuildRequires: libunwind-devel >= 1.3.1
|
2023-12-11 15:36:07 +01:00
|
|
|
BuildRequires: libwhich
|
2014-08-06 09:24:22 +02:00
|
|
|
BuildRequires: m4
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
BuildRequires: make
|
2023-12-11 15:36:07 +01:00
|
|
|
BuildRequires: mbedtls-devel
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
BuildRequires: memory-constraints
|
|
|
|
BuildRequires: metis-devel
|
2014-08-06 09:24:22 +02:00
|
|
|
BuildRequires: ncurses-devel
|
2023-12-11 15:36:07 +01:00
|
|
|
BuildRequires: openlibm-devel
|
2014-08-06 09:24:22 +02:00
|
|
|
BuildRequires: openspecfun-devel
|
2022-07-05 14:30:51 +02:00
|
|
|
BuildRequires: openssl
|
2023-12-11 15:36:07 +01:00
|
|
|
BuildRequires: p7zip >= 16
|
2022-07-05 14:30:51 +02:00
|
|
|
BuildRequires: patchelf >= 0.9
|
|
|
|
BuildRequires: pcre2-devel >= 10.31
|
2014-08-06 09:24:22 +02:00
|
|
|
BuildRequires: perl
|
|
|
|
BuildRequires: readline-devel
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
BuildRequires: tbb-devel
|
2022-07-05 14:30:51 +02:00
|
|
|
BuildRequires: update-desktop-files
|
2023-12-11 15:36:07 +01:00
|
|
|
BuildRequires: utf8proc-devel
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
BuildRequires: valgrind
|
2023-12-11 15:36:07 +01:00
|
|
|
BuildRequires: zlib-devel
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
|
|
|
|
# Additional Build Requirements needed by LLVM15
|
|
|
|
BuildRequires: binutils-devel >= 2.21.90
|
|
|
|
BuildRequires: ccache
|
|
|
|
BuildRequires: fdupes
|
|
|
|
BuildRequires: libstdc++-devel
|
|
|
|
BuildRequires: libvmmalloc-devel
|
|
|
|
BuildRequires: libxml2-devel
|
|
|
|
BuildRequires: ninja
|
|
|
|
BuildRequires: pkgconfig
|
|
|
|
BuildRequires: python-rpm-macros
|
|
|
|
BuildRequires: python3-Sphinx
|
|
|
|
BuildRequires: python3-base
|
|
|
|
BuildRequires: python3-psutil
|
|
|
|
BuildRequires: python3-recommonmark
|
|
|
|
BuildRequires: python3-setuptools
|
|
|
|
BuildRequires: pkgconfig(libedit)
|
|
|
|
BuildRequires: pkgconfig(libzstd)
|
|
|
|
BuildRequires: pkgconfig(zlib)
|
|
|
|
|
2023-12-09 09:02:57 +01:00
|
|
|
Requires: ca-certificates
|
2023-12-11 15:36:07 +01:00
|
|
|
Requires: p7zip >= 16
|
|
|
|
Requires: readline
|
2023-12-18 16:07:44 +01:00
|
|
|
|
|
|
|
# Libraries used by CompilerSupportLibraries_jll, blastrampoline,
|
|
|
|
# nghttp2_jll but not detected as they are dlopen()ed but not linked to
|
|
|
|
%if 0%{?__isa_bits} == 64
|
|
|
|
Requires: libgfortran.so.5()(64bit)
|
|
|
|
Requires: libgomp.so.1()(64bit)
|
2023-12-25 10:22:36 +01:00
|
|
|
Requires: libmbedcrypto.so.15()(64bit)
|
2023-12-18 16:07:44 +01:00
|
|
|
%else
|
|
|
|
Requires: libgfortran.so.5
|
|
|
|
Requires: libgomp.so.1
|
2023-12-25 10:22:36 +01:00
|
|
|
Requires: libmbedcrypto.so.15
|
2023-12-18 16:07:44 +01:00
|
|
|
%endif
|
|
|
|
|
|
|
|
# Same as the previous comment. But the difference
|
|
|
|
# is that we applied julia-hardcoded-libs.patch
|
2023-12-25 09:26:03 +01:00
|
|
|
Requires: libgit2-devel
|
2023-12-18 16:07:44 +01:00
|
|
|
Requires: libnghttp2-devel
|
2023-12-25 09:26:03 +01:00
|
|
|
Requires: libssh2-devel
|
2023-12-25 10:25:38 +01:00
|
|
|
Requires: mbedtls-devel
|
2023-12-19 03:30:49 +01:00
|
|
|
Requires: openlibm-devel
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
# Requires: suitesparse-devel
|
2023-12-18 16:07:44 +01:00
|
|
|
|
2023-12-19 03:30:49 +01:00
|
|
|
# Julia requires the devel package as well
|
|
|
|
# specifically libjulia.so
|
2023-12-19 03:43:06 +01:00
|
|
|
%if 0%{?compat_mode}
|
2023-12-28 14:02:57 +01:00
|
|
|
Requires: julia-compat-devel = %{version}
|
2023-12-19 03:43:06 +01:00
|
|
|
%else
|
2023-12-28 14:02:57 +01:00
|
|
|
Requires: julia-devel = %{version}
|
2023-12-19 03:43:06 +01:00
|
|
|
%endif
|
2023-12-19 03:30:49 +01:00
|
|
|
|
2023-12-10 16:00:31 +01:00
|
|
|
Requires(post): %{_sbindir}/update-alternatives
|
2023-12-13 01:37:09 +01:00
|
|
|
Requires(post): %{_sbindir}/ldconfig
|
2024-02-14 14:40:17 +01:00
|
|
|
Requires(postun): %{_sbindir}/update-alternatives
|
|
|
|
Requires(postun): %{_sbindir}/ldconfig
|
2023-12-25 14:36:00 +01:00
|
|
|
|
|
|
|
Recommends: curl
|
2014-08-06 09:24:22 +02:00
|
|
|
Recommends: git
|
|
|
|
Recommends: gmp-devel
|
2023-12-25 14:36:00 +01:00
|
|
|
Recommends: libcurl-devel
|
2014-08-06 09:24:22 +02:00
|
|
|
Recommends: mpfr-devel
|
|
|
|
Recommends: openspecfun-devel
|
2023-12-25 14:36:00 +01:00
|
|
|
Recommends: openssh-clients
|
2022-07-05 14:30:51 +02:00
|
|
|
Recommends: pcre2-devel
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
# Recommends: suitesparse-devel
|
2023-12-25 14:36:00 +01:00
|
|
|
|
2022-07-05 14:30:51 +02:00
|
|
|
%if 0%{?compat_mode} == 0
|
|
|
|
Name: julia
|
|
|
|
%else
|
|
|
|
Name: julia-compat
|
|
|
|
%endif
|
|
|
|
%if 0%{?compat_mode} == 0
|
|
|
|
Summary: High-level, high-performance dynamic programming language
|
|
|
|
License: BSD-3-Clause AND GPL-2.0-or-later AND MIT AND Zlib
|
|
|
|
Group: Development/Languages/Other
|
|
|
|
%else
|
|
|
|
Summary: High-level, high-performance dynamic programming language (without CPU optim.)
|
|
|
|
License: BSD-3-Clause AND GPL-2.0-or-later AND MIT AND Zlib
|
|
|
|
Group: Development/Languages/Other
|
|
|
|
%endif
|
|
|
|
%if 0%{?compat_mode}
|
|
|
|
Conflicts: julia
|
|
|
|
Provides: julia = %{version}
|
|
|
|
%endif
|
2023-12-28 14:02:57 +01:00
|
|
|
Obsoletes: %{name} < %{version}
|
2023-12-19 03:36:52 +01:00
|
|
|
|
|
|
|
# Let's not be optimistic towards 32 bit support and other architectures
|
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
2023-12-28 10:28:50 +01:00
|
|
|
# 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}
|
2014-08-06 09:24:22 +02:00
|
|
|
|
|
|
|
%description
|
|
|
|
Julia is a high-level, high-performance dynamic programming language for
|
|
|
|
technical computing, with syntax that is familiar to users of other technical
|
|
|
|
computing environments. It provides a sophisticated compiler, distributed
|
|
|
|
parallel execution, numerical accuracy, and an extensive mathematical function
|
|
|
|
library. The library, largely written in Julia itself, also integrates mature,
|
|
|
|
best-of-breed C and Fortran libraries for linear algebra, random number
|
|
|
|
generation, signal processing, and string processing.
|
|
|
|
|
2023-12-09 09:02:57 +01:00
|
|
|
This package is experimental and by no means supported by upstream. If you want
|
2023-12-10 16:00:31 +01:00
|
|
|
to use julia, please install juliaup instead.
|
2023-12-09 09:02:57 +01:00
|
|
|
|
2014-08-06 09:24:22 +02:00
|
|
|
%package devel
|
|
|
|
Summary: Julia development, debugging and testing files
|
|
|
|
Group: Development/Languages/Other
|
2023-12-17 11:50:38 +01:00
|
|
|
Requires: %{libname} = %{version}
|
2022-07-05 14:30:51 +02:00
|
|
|
%if 0%{?compat_mode}
|
|
|
|
Conflicts: julia-devel
|
2023-12-28 14:02:57 +01:00
|
|
|
Provides: julia-devel = %{version}
|
2022-07-05 14:30:51 +02:00
|
|
|
%endif
|
2023-12-28 14:02:57 +01:00
|
|
|
Obsoletes: %{name}-devel < %{version}
|
2014-08-06 09:24:22 +02:00
|
|
|
|
|
|
|
%description devel
|
|
|
|
Contains library symbolic links and header files for developing applications
|
|
|
|
linking to the Julia library, in particular embedding it, as well as tests and a
|
|
|
|
debugging version of Julia. This package is normally not needed when programming
|
|
|
|
in the Julia language, but rather for embedding Julia into external programs or
|
|
|
|
debugging Julia itself.
|
|
|
|
|
2023-12-17 11:50:38 +01:00
|
|
|
%package -n %{libname}
|
|
|
|
Summary: Julia shared object libraries
|
|
|
|
Group: System/Libraries
|
2023-12-17 16:37:23 +01:00
|
|
|
%if 0%{?compat_mode}
|
2023-12-28 11:38:10 +01:00
|
|
|
Conflicts: libjulia%{libjulia_sover_major}_%{libjulia_sover_minor}
|
2023-12-28 14:02:57 +01:00
|
|
|
Provides: libjulia%{libjulia_sover_major}_%{libjulia_sover_minor} = %{version}
|
2023-12-17 16:37:23 +01:00
|
|
|
%endif
|
2023-12-28 14:02:57 +01:00
|
|
|
Obsoletes: %{libname} < %{version}
|
2023-12-17 11:50:38 +01:00
|
|
|
|
|
|
|
%description -n %{libname}
|
|
|
|
Contains library files for interacting with Julia through C interfaces.
|
|
|
|
|
2014-08-06 09:24:22 +02:00
|
|
|
%prep
|
2014-08-21 07:42:58 +02:00
|
|
|
%setup -q -n julia-%{version}
|
2023-12-09 09:02:57 +01:00
|
|
|
patch -p1 -i %{PATCH1}
|
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
2023-12-28 10:28:50 +01:00
|
|
|
patch -p1 -i %{PATCH14}
|
|
|
|
patch -p1 -i %{PATCH15}
|
2023-12-09 09:02:57 +01:00
|
|
|
patch -p1 -i %{PATCH6}
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
patch -p1 -i %{PATCH10}
|
|
|
|
patch -p1 -i %{PATCH11}
|
2023-12-25 09:26:03 +01:00
|
|
|
|
|
|
|
# Other hardcoded libs patch
|
2023-12-09 09:02:57 +01:00
|
|
|
patch -p1 -i %{PATCH13}
|
|
|
|
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
# Fix bundled dependencies checksums
|
|
|
|
patch -p1 -i %{PATCH16}
|
|
|
|
|
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
2023-12-28 10:28:50 +01:00
|
|
|
# Copy https://www.unicode.org/Public/13.0.0/ucd/UnicodeData.txt to deps/srccache
|
|
|
|
cp %{SOURCE3} deps/srccache/UnicodeData-13.0.0.txt
|
2014-08-06 09:24:22 +02:00
|
|
|
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
# Copy libLLVM_jll. Idk why it's not included in the "full" tarball
|
|
|
|
cp %{SOURCE10} deps/srccache/libLLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz
|
2022-07-05 14:30:51 +02:00
|
|
|
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
# what's the point of NO_GIT?
|
|
|
|
%ifarch aarch64
|
|
|
|
cp %{SOURCE10} deps/srccache/libLLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz
|
|
|
|
cp -v deps/srccache/SuiteSparse-7.2.1.tar.gz deps/srccache/SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
|
2022-07-05 14:30:51 +02:00
|
|
|
%endif
|
|
|
|
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
# JLDOWNLOAD SHOULD BE DISABLED IF WE HAVE THE FULL TARBALL
|
|
|
|
echo "true" | tee deps/tools/jldownload
|
|
|
|
|
|
|
|
%build
|
|
|
|
# Just use native
|
|
|
|
%define julia_march native
|
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
2023-12-28 10:28:50 +01:00
|
|
|
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
# Offline mode
|
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
2023-12-28 10:28:50 +01:00
|
|
|
export NO_GIT=1
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
export CFLAGS="%{optflags}"
|
|
|
|
export CXXLAGS="%{optflags}"
|
|
|
|
export USE_CCACHE=1
|
|
|
|
export DEPS_GIT=0
|
|
|
|
|
|
|
|
# Needed when USE_SYSTEM_CSL=1
|
|
|
|
# https://github.com/JuliaLang/julia/issues/39637
|
|
|
|
unlink %{_builddir}/%{buildsubdir}/build/usr/lib || true
|
|
|
|
mkdir -p %{_builddir}/%{buildsubdir}/build/%{_libdir}/
|
|
|
|
ln -sf %{_libdir}/libgcc_s.so.1 %{_builddir}/%{buildsubdir}/build/%{_libdir}/libgcc_s.so.1
|
|
|
|
# Idk how it can't find libblastrampoline?
|
|
|
|
ln -sf %{_libdir}/libblastrampoline.so %{_builddir}/%{buildsubdir}/build/%{_libdir}/libblastrampoline.so
|
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
2023-12-28 10:28:50 +01:00
|
|
|
export LD_LIBRARY_PATH="%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:%{_builddir}/%{buildsubdir}/usr/lib:%{_libdir}:%{_prefix}/lib"
|
2023-12-11 13:14:27 +01:00
|
|
|
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
# Doing this here because upstream seems to miss some steps
|
|
|
|
pushd deps
|
|
|
|
export USE_BLAS64=1
|
|
|
|
export USE_BINARYBUILDER_OPENBLAS=0
|
|
|
|
# Suffix is 64_ (with underscore) if 64-bit because OpenBlas_jll seems to use that suffix
|
|
|
|
export OPENBLAS_LIBNAMESUFFIX="%{?__isa_bits}_"
|
|
|
|
export OPENBLAS_SYMBOLSUFFIX="%{?__isa_bits}_"
|
|
|
|
export OPENBLAS_CFLAGS="%{optflags}"
|
|
|
|
make prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} install-openblas
|
|
|
|
popd
|
|
|
|
|
2022-07-05 14:30:51 +02:00
|
|
|
make %{?_smp_mflags} \
|
|
|
|
MARCH=%{julia_march} \
|
|
|
|
%ifarch aarch64
|
2023-12-09 09:02:57 +01:00
|
|
|
JULIA_CPU_TARGET="generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm" \
|
|
|
|
%endif
|
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
2023-12-28 10:28:50 +01:00
|
|
|
%ifarch x86_64 || x86_64_v3
|
2023-12-09 09:02:57 +01:00
|
|
|
JULIA_CPU_TARGET="generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)" \
|
2022-07-05 14:30:51 +02:00
|
|
|
%endif
|
2023-12-09 09:02:57 +01:00
|
|
|
build_prefix=%{_builddir}/%{buildsubdir}/build%{_prefix} \
|
|
|
|
build_libdir=%{_builddir}/%{buildsubdir}/build%{_libdir} \
|
2022-07-05 14:30:51 +02:00
|
|
|
prefix=%{_prefix} \
|
|
|
|
bindir=%{_bindir} \
|
|
|
|
libdir=%{_libdir} \
|
|
|
|
libexecdir=%{_libexecdir} \
|
|
|
|
datarootdir=%{_datarootdir} \
|
|
|
|
includedir=%{_includedir} \
|
|
|
|
sysconfdir=%{_sysconfdir} \
|
2023-12-09 09:02:57 +01:00
|
|
|
USE_BINARYBUILDER=0 \
|
|
|
|
USE_SYSTEM_CSL=1 \
|
2023-12-10 16:00:31 +01:00
|
|
|
USE_SYSTEM_LLVM=0 \
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
USE_SYSTEM_LLD=0 \
|
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
2023-12-28 10:28:50 +01:00
|
|
|
USE_BINARYBUILDER_OPENBLAS=0 \
|
|
|
|
USE_BINARYBUILDER_LIBSUITESPARSE=0 \
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
OPENBLAS_CFLAGS="${CFLAGS}" \
|
2023-12-09 09:02:57 +01:00
|
|
|
USE_SYSTEM_LIBUNWIND=1 \
|
|
|
|
USE_SYSTEM_PCRE=1 \
|
2023-12-12 15:30:07 +01:00
|
|
|
USE_SYSTEM_BLAS=0 \
|
2023-12-11 07:39:56 +01:00
|
|
|
USE_SYSTEM_LAPACK=0 \
|
2023-12-09 09:02:57 +01:00
|
|
|
USE_SYSTEM_LIBBLASTRAMPOLINE=1 \
|
|
|
|
USE_SYSTEM_GMP=1 \
|
|
|
|
USE_SYSTEM_MPFR=1 \
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
USE_SYSTEM_LIBSUITESPARSE=0 \
|
|
|
|
USE_SYSTEM_SUITESPARSE=0 \
|
2023-12-09 09:02:57 +01:00
|
|
|
USE_INTEL_JITEVENTS=0 \
|
|
|
|
USE_SYSTEM_LIBWHICH=1 \
|
|
|
|
USE_SYSTEM_DSFMT=1 \
|
|
|
|
USE_SYSTEM_LIBUV=0 \
|
|
|
|
USE_SYSTEM_UTF8PROC=1 \
|
|
|
|
USE_SYSTEM_LIBGIT2=1 \
|
|
|
|
USE_SYSTEM_LIBSSH2=1 \
|
|
|
|
USE_SYSTEM_MBEDTLS=1 \
|
|
|
|
USE_SYSTEM_CURL=1 \
|
|
|
|
USE_SYSTEM_PATCHELF=1 \
|
|
|
|
USE_SYSTEM_ZLIB=1 \
|
|
|
|
USE_SYSTEM_P7ZIP=1 \
|
|
|
|
USE_SYSTEM_OPENLIBM=1 \
|
2023-12-11 09:16:35 +01:00
|
|
|
USE_BLAS64=1 \
|
2023-12-09 09:02:57 +01:00
|
|
|
JLDFLAGS="$LDFLAGS" \
|
|
|
|
VERBOSE=1 \
|
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
2023-12-28 10:28:50 +01:00
|
|
|
%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
|
2023-12-11 13:14:27 +01:00
|
|
|
|
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
2023-12-28 10:28:50 +01:00
|
|
|
# This may fix other issues where libLLVM-15jl.so is not properly copied?
|
2023-12-11 02:18:42 +01:00
|
|
|
if [ "x%{_lib}" != xlib ] ; then
|
|
|
|
cp -a %{_builddir}/%{buildsubdir}/build/usr/lib/* %{_builddir}/%{buildsubdir}/build/%{_libdir}
|
|
|
|
rm -rf %{_builddir}/%{buildsubdir}/build/usr/lib/
|
|
|
|
fi
|
2022-07-05 14:30:51 +02:00
|
|
|
|
|
|
|
%check
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
# Disable checks for experimental build. Highly likely tests will fail.
|
2014-08-06 09:24:22 +02:00
|
|
|
|
|
|
|
%install
|
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
2023-12-28 10:28:50 +01:00
|
|
|
export NO_GIT=1
|
2023-12-17 11:50:38 +01:00
|
|
|
export CFLAGS="%{optflags}"
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
export CXXLAGS="%{optflags}"
|
|
|
|
export USE_CCACHE=1
|
|
|
|
export DEPS_GIT=0
|
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
2023-12-28 10:28:50 +01:00
|
|
|
export LD_LIBRARY_PATH="%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:%{_builddir}/%{buildsubdir}/usr/lib:%{_libdir}:%{_prefix}/lib"
|
2023-12-09 09:02:57 +01:00
|
|
|
|
2014-08-06 09:24:22 +02:00
|
|
|
make install DESTDIR=%{buildroot} \
|
2022-07-05 14:30:51 +02:00
|
|
|
MARCH=%{julia_march} \
|
|
|
|
%ifarch aarch64
|
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
2023-12-28 10:28:50 +01:00
|
|
|
JULIA_CPU_TARGET="generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm" \
|
2023-12-09 09:02:57 +01:00
|
|
|
%endif
|
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
2023-12-28 10:28:50 +01:00
|
|
|
%ifarch x86_64 || x86_64_v3
|
|
|
|
JULIA_CPU_TARGET="generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)" \
|
2022-07-05 14:30:51 +02:00
|
|
|
%endif
|
2023-12-09 09:02:57 +01:00
|
|
|
build_prefix=%{_builddir}/%{buildsubdir}/build%{_prefix} \
|
|
|
|
build_libdir=%{_builddir}/%{buildsubdir}/build%{_libdir} \
|
2014-08-06 09:24:22 +02:00
|
|
|
prefix=%{_prefix} \
|
2022-07-05 14:30:51 +02:00
|
|
|
bindir=%{_bindir} \
|
2014-08-06 09:24:22 +02:00
|
|
|
libdir=%{_libdir} \
|
2022-07-05 14:30:51 +02:00
|
|
|
libexecdir=%{_libexecdir} \
|
|
|
|
datarootdir=%{_datarootdir} \
|
|
|
|
includedir=%{_includedir} \
|
2014-08-06 09:24:22 +02:00
|
|
|
sysconfdir=%{_sysconfdir} \
|
2023-12-09 09:02:57 +01:00
|
|
|
USE_BINARYBUILDER=0 \
|
|
|
|
USE_SYSTEM_CSL=1 \
|
2023-12-10 16:00:31 +01:00
|
|
|
USE_SYSTEM_LLVM=0 \
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
USE_SYSTEM_LLD=0 \
|
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
2023-12-28 10:28:50 +01:00
|
|
|
USE_BINARYBUILDER_OPENBLAS=0 \
|
|
|
|
USE_BINARYBUILDER_LIBSUITESPARSE=0 \
|
|
|
|
OPENBLAS_CFLAGS="%{optflags}" \
|
2023-12-09 09:02:57 +01:00
|
|
|
USE_SYSTEM_LIBUNWIND=1 \
|
|
|
|
USE_SYSTEM_PCRE=1 \
|
2023-12-12 15:30:07 +01:00
|
|
|
USE_SYSTEM_BLAS=0 \
|
2023-12-11 07:39:56 +01:00
|
|
|
USE_SYSTEM_LAPACK=0 \
|
2023-12-09 09:02:57 +01:00
|
|
|
USE_SYSTEM_LIBBLASTRAMPOLINE=1 \
|
|
|
|
USE_SYSTEM_GMP=1 \
|
|
|
|
USE_SYSTEM_MPFR=1 \
|
Accepting request 1170084 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.2:
* 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.
* 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.
* 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 process
spend effort precompiling while the others wait. Previously all would
do the work and race to overwrite the cache files.
* 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.
* 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.
* `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.
* `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.
* 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).
* `Pkg.precompile` now accepts `timing` as a keyword argument
which displays per package timing information for precompilation
(e.g. `Pkg.precompile(timing=true)`).
* `AbstractQ` no longer subtypes `AbstractMatrix`. Moreover,
`adjoint(Q::AbstractQ)` no longer wraps `Q` in an `Adjoint` type,
but instead in an `AdjointQ`, that itself subtypes `AbstractQ`. This
change accounts for the fact that typically `AbstractQ` instances
behave like function-based, matrix-backed linear operators, and
hence don't allow for efficient indexing. Also, many `AbstractQ`
types can act on vectors/matrices of different size, acting like a
matrix with context-dependent size. With this change, `AbstractQ`
has a well-defined API that is described in detail in the [Julia
documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq).
* Adjoints and transposes of `Factorization` objects are no longer wrapped
in `Adjoint` and `Transpose` wrappers, respectively. Instead, they are
wrapped in `AdjointFactorization` and `TranposeFactorization` types,
which themselves subtype `Factorization`.
* New functions `hermitianpart` and `hermitianpart!` for extracting the
Hermitian (real symmetric) part of a matrix.
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns
the norm of the parent matrix by default, matching the current behaviour
for `AbstractVector`s.
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric
or Hermitian, are now fully supported.
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues
(`eigen`: and eigenvectors) of `A` and `B` via Cholesky decomposition
for positive definite `B`. Note: The second argument is the output of
`cholesky`.
* Format specifiers now support dynamic width and precision, e.g. `%*s`
and `%*.*g`.
* When stack traces are printed, the printed depth of types in function
signatures will be limited
to avoid overly verbose output.
* The `@test_broken` macro (or `@test` with `broken=true`) now complains
if the test expression returns a non-boolean value in the same way as
a non-broken test.
* When a call to `@test` fails or errors inside a function, a larger
stacktrace is now printed such that the location of the test within a
`@testset` can be retrieved.
* `code_native` and `@code_native` now default to intel syntax instead
of AT&T.
* `@time_imports` now shows the timing of any module `__init__()`s that
are run.
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
- Set Cmake version requirement to be at least 3.22
- Accommodate renaming dependencies in specfile.
- Disable jldownload by just running true
- Add fix-dependencies-checksums.patch
* Fix checksum checks for suitesparse aarch64. Sources are fetched from the same source.
* Fix checksum checks for libLLVM_jll
* It's checking for the checksums and it is also trying to fetch them from the internet
and idk what's the point of having the full julia tarball.
- Fix build
* use bundled suitesparse. comment out system suitesparse build requirement
* comment out openblas development dependencies. use bundled openblas.
* comment out lapack development dependencies. use bundled lapack.
* move openblas build away from the actual make build.
this ensures that it's installed properly because doing otherwise will
skip the install of the dependencies. weird but it works.
- Update specfile for bundled LLVM
- Add missing build requirements for bundled llvm 15
- Fix aarch64 build. it needs to download a source that can just be copied which is
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
OBS-URL: https://build.opensuse.org/request/show/1170084
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=174
2024-04-25 01:00:42 +02:00
|
|
|
USE_SYSTEM_LIBSUITESPARSE=0 \
|
|
|
|
USE_SYSTEM_SUITESPARSE=0 \
|
2023-12-09 09:02:57 +01:00
|
|
|
USE_INTEL_JITEVENTS=0 \
|
|
|
|
USE_SYSTEM_LIBWHICH=1 \
|
|
|
|
USE_SYSTEM_DSFMT=1 \
|
|
|
|
USE_SYSTEM_LIBUV=0 \
|
|
|
|
USE_SYSTEM_UTF8PROC=1 \
|
|
|
|
USE_SYSTEM_LIBGIT2=1 \
|
|
|
|
USE_SYSTEM_LIBSSH2=1 \
|
|
|
|
USE_SYSTEM_MBEDTLS=1 \
|
|
|
|
USE_SYSTEM_CURL=1 \
|
|
|
|
USE_SYSTEM_PATCHELF=1 \
|
|
|
|
USE_SYSTEM_ZLIB=1 \
|
|
|
|
USE_SYSTEM_P7ZIP=1 \
|
|
|
|
USE_SYSTEM_OPENLIBM=1 \
|
2023-12-11 07:39:56 +01:00
|
|
|
USE_BLAS64=1 \
|
2023-12-09 09:02:57 +01:00
|
|
|
JLDFLAGS="$LDFLAGS" \
|
|
|
|
VERBOSE=1 \
|
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
2023-12-28 10:28:50 +01:00
|
|
|
%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
|
2014-08-06 09:24:22 +02:00
|
|
|
|
|
|
|
# GZip man page.
|
|
|
|
gzip %{buildroot}/%{_mandir}/man1/julia.1
|
|
|
|
|
2014-08-25 16:21:44 +02:00
|
|
|
rm -f %{buildroot}%{_libdir}/julia/libuv.a
|
|
|
|
rm -f %{buildroot}%{_datadir}/julia/base/build.h
|
|
|
|
rm -f %{buildroot}%{_datadir}/julia/base/Makefile
|
|
|
|
|
2022-07-05 14:30:51 +02:00
|
|
|
# Fix documentation directories.
|
|
|
|
mkdir -p %{buildroot}%{_docdir}/julia
|
|
|
|
mv -f %{buildroot}%{_datadir}/doc/julia/* %{buildroot}%{_docdir}/julia/
|
|
|
|
rm -r %{buildroot}%{_datadir}/doc/julia
|
|
|
|
|
2023-12-09 09:02:57 +01:00
|
|
|
ln -sfv /var/lib/ca-certificates/ca-bundle.pem %{buildroot}%{_datadir}/julia/cert.pem # Needed by some julia packages
|
|
|
|
|
2022-07-05 14:30:51 +02:00
|
|
|
# Remove execution permission on documentation files.
|
|
|
|
chmod -x+X -R %{buildroot}%{_docdir}/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
2023-12-28 10:28:50 +01:00
|
|
|
# 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
|
|
|
|
|
2023-12-09 09:02:57 +01:00
|
|
|
# Remove hidden files and zero-length files and directories from stdlib.
|
|
|
|
pushd %{buildroot}
|
|
|
|
find . -name ".codecov.yml" -prune -execdir rm -rf {} \;
|
|
|
|
find . -name ".git*" -prune -execdir rm -rf {} \;
|
|
|
|
find . -name ".ci" -prune -execdir rm -rf {} \;
|
|
|
|
find . -name ".devcontainer" -prune -execdir rm -rf {} \;
|
|
|
|
find . -name ".travis.yml" -prune -execdir rm -rf {} \;
|
|
|
|
find . -empty -type d -prune -execdir rm -rf {} \;
|
|
|
|
find . -empty -type f -prune -execdir rm -rf {} \;
|
2023-12-11 15:36:07 +01:00
|
|
|
find . -name "*.orig" -prune -execdir rm -rf {} \;
|
2022-07-05 14:30:51 +02:00
|
|
|
popd
|
|
|
|
|
|
|
|
%if 0%{?compat_mode}
|
|
|
|
rm -rf %{buildroot}%{_docdir}/julia/
|
|
|
|
|
|
|
|
# The 'application' object must be only provided by one package
|
|
|
|
# Alternatively, we could rename the .appdata and .desktop file to have
|
|
|
|
# both applications show up in a valid way, but that would require the
|
|
|
|
# -compat appdata to be modified to make the difference clear
|
|
|
|
rm %{buildroot}%{_datadir}/appdata/julia.appdata.xml
|
|
|
|
%endif
|
|
|
|
|
2023-12-18 04:56:59 +01:00
|
|
|
%suse_update_desktop_file -r julia Science Math
|
2014-08-06 09:24:22 +02:00
|
|
|
|
2023-12-10 16:00:31 +01:00
|
|
|
mv %{buildroot}%{_bindir}/julia %{buildroot}%{_bindir}/julia-base
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
2023-12-12 08:56:41 +01:00
|
|
|
|
|
|
|
if [ "x%{_lib}" != xlib ] ; then
|
2023-12-12 12:03:51 +01:00
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib
|
2023-12-17 11:50:38 +01:00
|
|
|
ln -sf %{_libdir}/julia %{buildroot}%{_prefix}/lib/julia
|
2023-12-12 08:56:41 +01:00
|
|
|
fi
|
|
|
|
|
2023-12-10 16:00:31 +01:00
|
|
|
ln -sf %{_sysconfdir}/alternatives/julia %{buildroot}%{_bindir}/julia
|
|
|
|
|
2023-12-25 14:36:00 +01:00
|
|
|
# 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
|
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
2023-12-28 10:28:50 +01:00
|
|
|
ln -sf %{_libdir}/julia/libLLVM-15jl.so %{buildroot}%{_libdir}/libLLVM-15jl.so
|
2023-12-25 14:36:00 +01:00
|
|
|
|
2023-12-18 03:14:29 +01:00
|
|
|
# Convert all eol encodings to Unix
|
|
|
|
find %{buildroot} -type f -execdir dos2unix -k {} \;
|
|
|
|
|
|
|
|
# make it executable
|
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
2023-12-28 10:28:50 +01:00
|
|
|
chmod +x %{buildroot}%{_datadir}/julia/stdlib/v1.10/SparseArrays/gen/generator.jl
|
2023-12-18 03:14:29 +01:00
|
|
|
|
2023-12-18 07:24:09 +01:00
|
|
|
# Remove duplicated files.
|
2023-12-18 11:11:00 +01:00
|
|
|
%fdupes %{buildroot}%{_datadir}/julia
|
2023-12-18 07:24:09 +01:00
|
|
|
|
2023-12-10 16:00:31 +01:00
|
|
|
%post
|
|
|
|
%{_sbindir}/update-alternatives --install %{_bindir}/julia \
|
|
|
|
julia %{_bindir}/julia-base 5
|
|
|
|
%{_sbindir}/ldconfig
|
|
|
|
|
|
|
|
%postun
|
|
|
|
if [ ! -f %{_bindir}/julia-base ] ; then
|
|
|
|
%{_sbindir}/update-alternatives --remove julia %{_bindir}/julia-base
|
|
|
|
fi
|
|
|
|
%{_sbindir}/ldconfig
|
|
|
|
|
2023-12-17 11:55:43 +01:00
|
|
|
%post devel -p %{_sbindir}/ldconfig
|
|
|
|
%postun devel -p %{_sbindir}/ldconfig
|
|
|
|
%post -n %{libname} -p %{_sbindir}/ldconfig
|
|
|
|
%postun -n %{libname} -p %{_sbindir}/ldconfig
|
2014-08-06 09:24:22 +02:00
|
|
|
|
|
|
|
%files
|
2022-07-05 14:30:51 +02:00
|
|
|
%doc CONTRIBUTING.md NEWS.md README.md
|
|
|
|
%license LICENSE.md
|
2023-12-10 16:00:31 +01:00
|
|
|
%ghost %{_bindir}/julia
|
2023-12-12 20:34:51 +01:00
|
|
|
%ghost %{_sysconfdir}/alternatives/julia
|
2023-12-10 16:00:31 +01:00
|
|
|
%{_bindir}/julia-base
|
2014-08-06 09:24:22 +02:00
|
|
|
%dir %{_datadir}/julia
|
|
|
|
%{_datadir}/julia/base
|
2022-07-05 14:30:51 +02:00
|
|
|
%{_datadir}/julia/base.cache
|
|
|
|
%{_datadir}/julia/stdlib
|
2023-12-09 09:02:57 +01:00
|
|
|
%{_datadir}/julia/compiled*
|
2022-07-05 14:30:51 +02:00
|
|
|
%{_datadir}/julia/cert.pem
|
2023-12-09 09:02:57 +01:00
|
|
|
%dir %{_libexecdir}/julia
|
|
|
|
%{_libexecdir}/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
2023-12-28 10:28:50 +01:00
|
|
|
%{_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
|
2023-12-09 09:02:57 +01:00
|
|
|
|
2022-07-05 14:30:51 +02:00
|
|
|
%if !%{?compat_mode}
|
|
|
|
%dir %{_datadir}/appdata/
|
|
|
|
%{_datadir}/appdata/julia.appdata.xml
|
2023-12-09 09:02:57 +01:00
|
|
|
%dir %{_docdir}/julia
|
|
|
|
%{_docdir}/julia/*
|
2022-07-05 14:30:51 +02:00
|
|
|
%endif
|
|
|
|
%{_datadir}/applications/julia.desktop
|
2023-12-12 15:21:45 +01:00
|
|
|
%{_prefix}/lib/julia
|
2022-07-05 14:30:51 +02:00
|
|
|
%{_libdir}/julia/
|
|
|
|
%{_mandir}/man1/julia.1%{?ext_man}
|
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
2023-12-28 10:28:50 +01:00
|
|
|
%{_libdir}/libLLVM-15jl.so
|
2014-08-06 09:24:22 +02:00
|
|
|
%dir %{_sysconfdir}/julia/
|
2022-07-05 14:30:51 +02:00
|
|
|
%config(noreplace) %{_sysconfdir}/julia/startup.jl
|
2014-08-06 09:24:22 +02:00
|
|
|
|
|
|
|
%files devel
|
|
|
|
%{_datadir}/julia/test/
|
2022-07-05 14:30:51 +02:00
|
|
|
%{_datadir}/julia/julia-config.jl
|
2014-08-06 09:24:22 +02:00
|
|
|
%{_includedir}/julia/
|
|
|
|
%{_libdir}/libjulia.so
|
|
|
|
|
2023-12-17 11:50:38 +01:00
|
|
|
%files -n %{libname}
|
|
|
|
%{_libdir}/libjulia.so.*
|
|
|
|
|
2014-08-06 09:24:22 +02:00
|
|
|
%changelog
|