SHA256
1
0
forked from pool/julia
Commit Graph

109 Commits

Author SHA256 Message Date
Ana Guerrero
1b7ea5a109 Accepting request 1179409 from science
- Fix build. typo caused a misconfigure:
  JULIA_CPU_TARGETS -> JULIA_CPU_TARGET
- Update ./disable-doc-gen-in-makefile.patch. Upstream has patched to allow offline
  builds but added commands in the `doc/Makefile` that needs network.
- Update to version 1.10.4:
  * correctly track freed bytes in array_to_string
  * Add inventory writing via DocumenterInventoryWritingBackport
  * Overload Base.literal_pow for AbstractQ
  * LinearAlgebra: Correct zero element in _generic_matvecmul! for block adj/trans
  * set MAX_OS_WRITE on unix
  * fix typo in gc_mark_memory8 when chunking a large array
  * typeintersect: fix another stack overflow caused by circular constraints
  * Fix an off-by-one error in interpreter's do_invoke
  * Make TestLogger thread-safe (introduce a lock)
  * Add a missing doc
  * typeintersect: conservative typevar subtitution during `finish_unionall
  * typeintersect: followup cleanup for the nothrow path of type instantiation
  * merge backports for 1.10.4
- Update description
  * Julia now works as it follows closely with build sources with some exceptions.
  * Recommend to use juliaup.
  * Remove experimental. This works quite well now even with LinearAlgebra and
    Sundials.

OBS-URL: https://build.opensuse.org/request/show/1179409
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/julia?expand=0&rev=6
2024-06-09 18:22:29 +00:00
Soc Virnyl Estela
0cfc538664 - Fix build. typo caused a misconfigure:
JULIA_CPU_TARGETS -> JULIA_CPU_TARGET

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=215
2024-06-07 17:18:16 +00:00
Soc Virnyl Estela
814989a3ce Accepting request 1179111 from home:uncomfyhalomacro:branches:science
- Update ./disable-doc-gen-in-makefile.patch. Upstream has patched to allow offline
  builds but added commands in the `doc/Makefile` that needs network.
- Update to version 1.10.4:
  * correctly track freed bytes in array_to_string
  * Add inventory writing via DocumenterInventoryWritingBackport
  * Overload Base.literal_pow for AbstractQ
  * LinearAlgebra: Correct zero element in _generic_matvecmul! for block adj/trans
  * set MAX_OS_WRITE on unix
  * fix typo in gc_mark_memory8 when chunking a large array
  * typeintersect: fix another stack overflow caused by circular constraints
  * Fix an off-by-one error in interpreter's do_invoke
  * Make TestLogger thread-safe (introduce a lock)
  * Add a missing doc
  * typeintersect: conservative typevar subtitution during `finish_unionall
  * typeintersect: followup cleanup for the nothrow path of type instantiation
  * merge backports for 1.10.4

OBS-URL: https://build.opensuse.org/request/show/1179111
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=214
2024-06-07 00:04:20 +00:00
Soc Virnyl Estela
9405ea9450 - Update description
* Julia now works as it follows closely with build sources with some exceptions.
  * Recommend to use juliaup.
  * Remove experimental. This works quite well now even with LinearAlgebra and
    Sundials.

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=213
2024-06-04 06:44:59 +00:00
Ana Guerrero
603218e538 Accepting request 1177653 from science
OBS-URL: https://build.opensuse.org/request/show/1177653
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/julia?expand=0&rev=5
2024-05-30 13:33:41 +00:00
Soc Virnyl Estela
60842d7b09 Accepting request 1177652 from home:uncomfyhalomacro:branches:science
- Update JULIA_CPU_TARGETS
- Reenable aarch64 builds with patch
  ./allow_libssp_libatomic_and_libgomp_to_fail_as_they_are_not_available_on_all_systems.patch

OBS-URL: https://build.opensuse.org/request/show/1177652
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=211
2024-05-30 01:07:42 +00:00
Ana Guerrero
78bf5f278a Accepting request 1175840 from science
- Cleanup
  * remove libmbedcrypto as mbedtls is bundled

OBS-URL: https://build.opensuse.org/request/show/1175840
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/julia?expand=0&rev=4
2024-05-22 19:33:14 +00:00
Soc Virnyl Estela
622039eb91 - Cleanup
* remove libmbedcrypto as mbedtls is bundled

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=209
2024-05-22 00:20:12 +00:00
Ana Guerrero
35071ccf6f Accepting request 1175424 from science
- libjulia-compat1_10 provides libjulia1_10. added rpmlint filter
  to workaround rpmlint error on ldconfig_scriptlet
- Update rpmlint.
  * bad-cert.pem is a test file in LibGit2_jll.
- Update specfile.
  * cleanup symlinks. these files should just point starting from buildroot
- The location of libgcc_s is different between leap and tumbleweed.
- Prevent debug-info generation touching precompiled sysimages and caches which will
  invalidate checksum generation
- Update rpmlintrc to ignore some warnings
- Fix dangling symlinks errors
- Inconsistencies on where sbinaries are located in openSUSE Leap and Tumbleweed
  has caused leap rpm generation to fail after all the builds done successfully.
- Julia on leap has trouble looking for libgfortran5 so symlinking it to fix it
- Format specfile
- Fix specfile
  * p7zip for tumbleweed
  * p7zip-full for leap
- More cleanup
- Also include OPENBLAS_TARGET_ARCH=NEHALEM in %{__julia_opts} for system not tumbleweed
- More specfile cleanup
  * Move over some environmental variables into the %{__julia_opts} global rpm var
  * Adjust to support if system is not Tumbleweed. openblas not building because libpthread troubles
- Fix ./julia-libunwind-1.9.patch.
- Cleanup specfile
  * Use autosetup
  * Remove patches that are not needed anymore
    - llvm-link-shared.patch
    - llvm-set-of-custom-patches.patch
    - new-pass-manager.patch
    - support-float16-depending-on-llvm-and-platform.patch
    - use-newpm-asan.patch
    - fix-dependencies-checksums.patch
    - julia-suitesparse-7.patch
    - use-system-libuv-correctly.patch
    - julia-libgit2-1.7.patch
- Update to version 1.10.3:
  * Fix outdated usage of scrubbing for log test failures
  * [REPL] Fix typo in using/import completion
  * Avoid compiler warning about redefining jl_globalref_t
  * yet more atomics & cache-line fixes on work-stealing queue 
  * build: remove extra .a file
  * Bump CSL to 1.1.1 to fix libgomp bug
  * codegen: change tbaa of ptr_phi to tbaa_value
  * Default to the medium code model in x86 linux
  * Remove some duplicates from emitted compilation traces for Julia 1.10
  * Add version string to sysimg triple
  * Add missing GC_POP() in emit_cfunction
  * typeintersect: fix UnionAll unaliasing bug caused by innervars
  * Apply backported changes
    - GC typo fix
    - Add inventory writing via DocumenterInventoryWritingBackport
- Add mpfr-looking-for-gmp-fix.patch
- Cleanup specfile
- Limit to x86_64(-v3) architectures. aarch64 has libquadmath disabled
- Tests are currently broken. Idk how upstream was able to have all their checks green despite
  I using the some bundled dependencies. Other issues are because of hardcoded libraries in
  the jll packages even though their versions are non-impactful to Julia.
- Nghttp, Mbedtls, PCRE, LibGit2, LibSSH, gmp, mpfr, and DSFMT are now using the bundled dependencies.
  * now added to the globally defined _privatelibs
  * ./julia-hardcoded-libs.patch is now updated.
  * the only dependencies that do not require much intervention is libblastrampoline and openlibm
- 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
- Use python3 instead of python. Python 2.x is EOL-ed. Addresses bsc#1219740
- Set suitesparse requirement to 7.2.1 and libcholmod to 5.x.x
- Add Obsoletes to obsolete older versions for julia and its subpackages.
- 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)`).
- Update specfile:
  * symlink libLLVM-14jl.so to standard LD_LIBRARY_PATH
  * new Recommends:
    - libcurl-devel for new recommends
    - openssh-clients for ssh operations
    - curl for any curl operation
- Combine these patches to julia-hardcoded-libs.patch and delete:
  * libblastrampoline-hardcoded-libs.patch
  * libgit2-libssh2-hardcoded-libs.patch
  * mbedtls-hardcoded-libs.patch
- Slight adjustment of specfile for updated patch
- Requires mbedtls-devel, libgit2-devel and libssh2-devel for dlopen

OBS-URL: https://build.opensuse.org/request/show/1175424
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/julia?expand=0&rev=3
2024-05-21 16:36:06 +00:00
Soc Virnyl Estela
7f1a6f7f11 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=207 2024-05-21 04:57:57 +00:00
Soc Virnyl Estela
b65c5d0614 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=206 2024-05-20 16:18:59 +00:00
Soc Virnyl Estela
e17fe2bfae - libjulia-compat1_10 provides libjulia1_10. added rpmlint filter
to workaround rpmlint error on ldconfig_scriptlet

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=205
2024-05-20 12:14:09 +00:00
Soc Virnyl Estela
b161f2174b OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=204 2024-05-20 11:58:38 +00:00
Soc Virnyl Estela
e3c10a5a0f - Update rpmlint.
* bad-cert.pem is a test file in LibGit2_jll.
- Update specfile.
  * cleanup symlinks. these files should just point starting from buildroot

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=203
2024-05-20 05:33:10 +00:00
Soc Virnyl Estela
6a45a5f82b OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=202 2024-05-20 01:28:26 +00:00
Soc Virnyl Estela
4ceed53cc6 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=201 2024-05-19 15:26:28 +00:00
Soc Virnyl Estela
e54d41ac2d OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=200 2024-05-19 15:11:45 +00:00
Soc Virnyl Estela
8255831912 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=199 2024-05-19 14:08:35 +00:00
Soc Virnyl Estela
dc828ba32d - The location of libgcc_s is different between leap and tumbleweed.
- Prevent debug-info generation touching precompiled sysimages and caches which will
  invalidate checksum generation

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=198
2024-05-19 10:19:11 +00:00
Soc Virnyl Estela
144a3cff1f OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=197 2024-05-19 07:57:54 +00:00
Soc Virnyl Estela
6cdbfa5905 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=196 2024-05-19 04:21:58 +00:00
Soc Virnyl Estela
5b042b1a07 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=195 2024-05-19 00:27:56 +00:00
Soc Virnyl Estela
3a380edcee OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=194 2024-05-18 15:30:47 +00:00
Soc Virnyl Estela
f8215eb82a OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=193 2024-05-18 12:12:05 +00:00
Soc Virnyl Estela
1c0c715125 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=192 2024-05-18 12:11:26 +00:00
Soc Virnyl Estela
d94f310055 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=191 2024-05-18 11:51:30 +00:00
Soc Virnyl Estela
733984b498 - Update rpmlintrc to ignore some warnings
- Fix dangling symlinks errors

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=190
2024-05-18 11:34:38 +00:00
Soc Virnyl Estela
1844eac72b fix priv libs regex
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=189
2024-05-18 08:25:14 +00:00
Soc Virnyl Estela
a59694c308 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=188 2024-05-18 03:01:12 +00:00
Soc Virnyl Estela
a84591d305 - Inconsistencies on where sbinaries are located in openSUSE Leap and Tumbleweed
has caused leap rpm generation to fail after all the builds done successfully.

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=187
2024-05-18 00:33:48 +00:00
Soc Virnyl Estela
f24e77d885 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=186 2024-05-17 13:36:22 +00:00
Soc Virnyl Estela
db4bcf792e OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=185 2024-05-17 08:55:43 +00:00
Soc Virnyl Estela
18bf470483 - Julia on leap has trouble looking for libgfortran5 so symlinking it to fix it
- Format specfile

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=184
2024-05-17 08:22:56 +00:00
Soc Virnyl Estela
e76bee6dab OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=183 2024-05-17 01:02:25 +00:00
Soc Virnyl Estela
991a5713c3 - Fix specfile
* p7zip for tumbleweed
  * p7zip-full for leap

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=182
2024-05-17 00:18:35 +00:00
Soc Virnyl Estela
5f3ac1eeb9 - More cleanup
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=181
2024-05-16 15:18:42 +00:00
Soc Virnyl Estela
1d068d93d4 - Also include OPENBLAS_TARGET_ARCH=NEHALEM in %{__julia_opts} for system not tumbleweed
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=180
2024-05-15 12:37:47 +00:00
Soc Virnyl Estela
6071230c6f - More specfile cleanup
* Move over some environmental variables into the %{__julia_opts} global rpm var
  * Adjust to support if system is not Tumbleweed. openblas not building because libpthread troubles

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=179
2024-05-15 12:11:57 +00:00
Soc Virnyl Estela
c61f5d5ce1 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=178 2024-05-15 11:40:22 +00:00
Soc Virnyl Estela
a862517ae0 - Fix ./julia-libunwind-1.9.patch.
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=177
2024-05-15 11:35:59 +00:00
Soc Virnyl Estela
c156e29ea0 - Cleanup specfile
* Use autosetup
  * Remove patches that are not needed anymore
    - llvm-link-shared.patch
    - llvm-set-of-custom-patches.patch
    - new-pass-manager.patch
    - support-float16-depending-on-llvm-and-platform.patch
    - use-newpm-asan.patch
    - fix-dependencies-checksums.patch

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=176
2024-05-15 10:25:56 +00:00
Soc Virnyl Estela
118a3c30c3 Accepting request 1173660 from home:uncomfyhalomacro:branches:science
- Update to version 1.10.3:
  * Fix outdated usage of scrubbing for log test failures
  * [REPL] Fix typo in using/import completion
  * Avoid compiler warning about redefining jl_globalref_t
  * yet more atomics & cache-line fixes on work-stealing queue 
  * build: remove extra .a file
  * Bump CSL to 1.1.1 to fix libgomp bug
  * codegen: change tbaa of ptr_phi to tbaa_value
  * Default to the medium code model in x86 linux
  * Remove some duplicates from emitted compilation traces for Julia 1.10
  * Add version string to sysimg triple
  * Add missing GC_POP() in emit_cfunction
  * typeintersect: fix UnionAll unaliasing bug caused by innervars
  * Apply backported changes
    - GC typo fix
    - Add inventory writing via DocumenterInventoryWritingBackport
- Add mpfr-looking-for-gmp-fix.patch
- Cleanup specfile
- Limit to x86_64(-v3) architectures. aarch64 has libquadmath disabled
- Tests are currently broken. Idk how upstream was able to have all their checks green despite
  I using the some bundled dependencies. Other issues are because of hardcoded libraries in
  the jll packages even though their versions are non-impactful to Julia.
- Nghttp, Mbedtls, PCRE, LibGit2, LibSSH, gmp, mpfr, and DSFMT are now using the bundled dependencies.
  * now added to the globally defined _privatelibs
  * ./julia-hardcoded-libs.patch is now updated.
  * the only dependencies that do not require much intervention is libblastrampoline and openlibm

OBS-URL: https://build.opensuse.org/request/show/1173660
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=175
2024-05-15 00:18:59 +00:00
Soc Virnyl Estela
659ee38811 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-24 23:00:42 +00:00
Soc Virnyl Estela
ba1b5a1f10 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=173 2024-02-15 15:50:32 +00:00
Soc Virnyl Estela
6b9d690f48 Accepting request 1146578 from home:uncomfyhalomacro:branches:science
- Use python3 instead of python. Python 2.x is EOL-ed.

OBS-URL: https://build.opensuse.org/request/show/1146578
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=172
2024-02-14 13:40:17 +00:00
Soc Virnyl Estela
05472e8435 - Set suitesparse requirement to 7.2.1 and libcholmod to 5.x.x
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=171
2023-12-30 04:17:31 +00:00
Soc Virnyl Estela
a736511f33 - Add Obsoletes to obsolete older versions for julia and its subpackages.
OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=170
2023-12-28 13:02:57 +00:00
Soc Virnyl Estela
0461c42d82 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=169 2023-12-28 10:38:10 +00:00
Soc Virnyl Estela
3705e039ae 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 09:28:50 +00:00
Soc Virnyl Estela
84be6e2e10 OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=167 2023-12-25 18:37:25 +00:00