SHA256
1
0
forked from pool/julia

- Use bundled libunwind

- Add the following gmp patches
  * ./gmp-6.2.1-arm64-invert_limb.patch
  * ./apply-gmp-arm64-invert_limb.patch
- Add pp64le variants of the bundled deps
  * CompilerSupportLibraries.v1.1.1+0.powerpc64le-linux-gnu-libgfortran5.tar.gz
  * GMP.v6.2.1+6.powerpc64le-linux-gnu-cxx11.tar.gz
  * LLD.v15.0.7+10.powerpc64le-linux-gnu-cxx11-llvm_version+15.tar.gz
  * LibCURL.v8.4.0+0.powerpc64le-linux-gnu.tar.gz
  * LibGit2.v1.6.4+0.powerpc64le-linux-gnu.tar.gz
  * LibSSH2.v1.11.0+1.powerpc64le-linux-gnu.tar.gz
  * LibUV.v2.0.1+14.powerpc64le-linux-gnu.tar.gz
  * LibUnwind.v1.5.0+5.powerpc64le-linux-gnu.tar.gz
  * MPFR.v4.2.0+1.powerpc64le-linux-gnu.tar.gz
  * MbedTLS.v2.28.2+1.powerpc64le-linux-gnu.tar.gz
  * OpenBLAS.v0.3.23+4.powerpc64le-linux-gnu-libgfortran5.tar.gz
  * OpenLibm.v0.8.1+2.powerpc64le-linux-gnu.tar.gz
  * PCRE2.v10.42.0+1.powerpc64le-linux-gnu.tar.gz
  * SuiteSparse.v7.2.1+1.powerpc64le-linux-gnu.tar.gz
  * Zlib.v1.2.13+1.powerpc64le-linux-gnu.tar.gz
  * dSFMT.v2.2.4+4.powerpc64le-linux-gnu.tar.gz
  * julia.spec
  * libLLVM.v15.0.7+10.powerpc64le-linux-gnu-cxx11-llvm_version+15.tar.gz
  * libblastrampoline.v5.11.0+0.powerpc64le-linux-gnu.tar.gz
  * nghttp2.v1.52.0+1.powerpc64le-linux-gnu.tar.gz
  * p7zip.v17.4.0+2.powerpc64le-linux-gnu.tar.gz
- Add the aarch64 variants of the bundled deps
  * CompilerSupportLibraries.v1.1.1+0.aarch64-linux-gnu-libgfortran5.tar.gz
  * GMP.v6.2.1+6.aarch64-linux-gnu-cxx11.tar.gz
  * LLD.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz
  * LibCURL.v8.4.0+0.aarch64-linux-gnu.tar.gz
  * LibGit2.v1.6.4+0.aarch64-linux-gnu.tar.gz
  * LibSSH2.v1.11.0+1.aarch64-linux-gnu.tar.gz
  * LibUV.v2.0.1+14.aarch64-linux-gnu.tar.gz
  * LibUnwind.v1.5.0+5.aarch64-linux-gnu.tar.gz
  * MPFR.v4.2.0+1.aarch64-linux-gnu.tar.gz
  * MbedTLS.v2.28.2+1.aarch64-linux-gnu.tar.gz
  * OpenBLAS.v0.3.23+4.aarch64-linux-gnu-libgfortran5.tar.gz
  * OpenLibm.v0.8.1+2.aarch64-linux-gnu.tar.gz
  * PCRE2.v10.42.0+1.aarch64-linux-gnu.tar.gz
  * SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
  * Zlib.v1.2.13+1.aarch64-linux-gnu.tar.gz
  * dSFMT.v2.2.4+4.aarch64-linux-gnu.tar.gz
  * julia.spec
  * libLLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz
  * libblastrampoline.v5.11.0+0.aarch64-linux-gnu.tar.gz
  * nghttp2.v1.52.0+1.aarch64-linux-gnu.tar.gz
  * p7zip.v17.4.0+2.aarch64-linux-gnu.tar.gz
- Add ./libblastrampoline.v5.11.0+0.x86_64-linux-gnu.tar.gz
- Add ./deps-makefile.patch
- The full.tar.gz tarball is not a full.tar.gz tarball so we have to
  manually add the sources now.
  * add CompilerSupportLibraries.v1.1.1+0.x86_64-linux-gnu-libgfortran5.tar.gz
  * add dSFMT.v2.2.4+4.x86_64-linux-gnu.tar.gz
  * add GMP.v6.2.1+6.x86_64-linux-gnu-cxx11.tar.gz
  * add LibCURL.v8.4.0+0.x86_64-linux-gnu.tar.gz
  * add LibGit2.v1.6.4+0.x86_64-linux-gnu.tar.gz
  * add libLLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz
  * add LibSSH2.v1.11.0+1.x86_64-linux-gnu.tar.gz
  * add LibUnwind.v1.5.0+5.x86_64-linux-gnu.tar.gz
  * add LibUV-v2.0.1+14.x86_64-linux-gnu.tar.gz
  * add LLD.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz
  * add MbedTLS.v2.28.2+1.x86_64-linux-gnu.tar.gz
  * add MPFR.v4.2.0+1.x86_64-linux-gnu.tar.gz
  * add nghttp2.v1.52.0+1.x86_64-linux-gnu.tar.gz
  * add OpenBLAS.v0.3.23+4.x86_64-linux-gnu-libgfortran5.tar.gz
  * add OpenLibm.v0.8.1+2.x86_64-linux-gnu.tar.gz
  * add p7zip.v17.4.0+2.x86_64-linux-gnu.tar.gz
  * add PCRE2.v10.42.0+1.x86_64-linux-gnu.tar.gz
  * add SuiteSparse.v7.2.1+1.x86_64-linux-gnu.tar.gz
  * add Zlib.v1.2.13+1.x86_64-linux-gnu.tar.gz
- Add -Wno-implicit-function-declaration for CFLAGS and CXXFLAGS
  * this is an issue building with source-vendored GMP.
  * see https://discourse.julialang.org/t/building-julia-for-nix/115304/6.
    it might be a nix build issue but it affects all distros tbh.
- Adopt buildkite env from Julia's CI. See utilities/build_envs.sh.
- Update CFLAGS and CXXFLAGS to %optflags macro
- Reenable other architectures for testing
- BUG-GCC-LLVM-UPSTREAM: Add -Wno-error=incompatible-pointer-types for aarch64.
  * already fixed but still affecting the vendored LLVM build. might be an openSUSE
    GCC issue (need to confirm but let's just by-pass the warning for now).
  * reference issue -> https://github.com/JuliaLang/julia/issues/45400
- Update julia.specfile
  * remove allow_libssp_libatomic_and_libgomp_to_fail_as_they_are_not_available_on_all_systems.patch
- Update to version 1.10.5:
  * bump Pkg to latest 1.10
  * 🤖 [backports-release-1.10] Bump the Pkg stdlib from 45521a6e8 to a4f26cff6
  * 🤖 [backports-release-1.10] Bump the Pkg stdlib from 9cb6d35f8 to 45521a6e8
  * `stale_cachefile`: handle if the expected cache file is missing
  * bump Pkg to latest 1.10
  * Fix tr for block SymTridiagonal
  * [libblastrampoline] Bump to v5.11.0
  * Profile: Fix stdlib paths
  * Restrict argument to `isleapyear(::Integer)`
  * Add `lbt_forwarded_funcs()` to debug LBT forwarding issues
  * Fix a bug in `stack`'s DimensionMismatch error message
  * [docs] change docstring to match code
  * AllocOpt: Fix stack lowering where alloca continas boxed and unboxed data
  * [build] Some improvements to the LLVM build system
  * 🤖 [backports-release-1.10] Bump the Pkg stdlib from bf83c387b to ff18647d8
  * Add openlibm to sysimg link line on windows
  * Remove the WarnMissedTransformations pass from the 1.10 pipeline
  * Do not hide libssp.dll.a (Windows import library) in private library dir
  * fixup some casts in uv code, extraced from commit e5496e0
  * Fix calling LLVM_SIZE on windows
  * relax equality in trace test
  * Remove reference to memory attribute in llvm pass
  * Disable typed pointer tests for alloc-opt-pass since the base file is now using opaque pointers
  * bump Pkg to latest v1.10
  * Bump libblastrampoline to v5.10.1
  * add missing compat entry to edit
  * LinearAlgebra: LazyString in error messages for Diagonal/Bidiagonal
  * Use triple quotes in TOML.print when string contains newline
  * Fix assertion/crash when optimizing function with dead basic block
  * more precise aliasing checks for SubArray
  * document mutable struct const fields
  * correction to compat notice for a[begin]
  * compat notice for a[begin] indexing
  * Compat for `Base.@nospecializeinfer`
  * Update the aarch64 devdocs to reflect the current state of its support
  * Fix generic triangular solves with empty matrices
  * Profile: Improve module docstring
  * Remove boxing in pinv
  * `LazyString` in `LinearAlgebra.checksquare` error message
  * LinearAlgebra: use `≈` instead of `==` for `tr` tests in symmetric.jl
  * 🤖 [backports-release-1.10] Bump the Pkg stdlib from f487626b0 to 6d73ac1fc
  * [release-1.10] fix a race condition in jl_gc_realloc_string
  * Do not add type tag size to the `alloc_typed` lowering for GC allocations
  * add sticky task warning to `@task` and `schedule`
  * [LinearAlgebra] Improve resilience to unknown libblastrampoline flags
  * make: use `readelf` for LLVM symbol version detection
  * LazyString in reinterpretarray error messages
  * make: Fix `sed` command for LLVM libraries with no symbol versioning
  * Add boundscheck in bindingkey_eq to avoid OOB access due to data race
  * ensure we set the right value to gc_first_tid
  * Aggressive constprop in trevc! to stabilize triangular eigvec
  * Fix trampoline assembly for build on clang 18 on apple silicon
  * Allow libquadmath to also fail as it is not available on all systems

OBS-URL: https://build.opensuse.org/package/show/science/julia?expand=0&rev=217
This commit is contained in:
Soc Virnyl Estela 2024-09-27 10:40:00 +00:00 committed by Git OBS Bridge
commit ab0813dc4d
85 changed files with 36527 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

33797
UnicodeData.txt Normal file

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

28
_constraints Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0"?>
<constraints>
<sandbox>kvm</sandbox>
<hardware>
<!-- processors doesn't actually ... get you that many threads. Sigh -->
<!-- request number of jobs instead (6 is max on ppc/s390x) -->
<jobs>6</jobs>
<physicalmemory>
<size unit="G">8</size>
</physicalmemory>
<disk>
<!-- Needed when we may need to bundle llvm -->
<size unit="G">30</size>
</disk>
</hardware>
<!-- aarch64: X-Gene cpus are the only ones that work as there is a bug in others - select -->
<!-- 12G of ram to ensure these are what's used. -->
<overwrite>
<conditions>
<arch>aarch64</arch>
</conditions>
<hardware>
<physicalmemory>
<size unit="G">12</size>
</physicalmemory>
</hardware>
</overwrite>
</constraints>

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>compat</package>
</multibuild>

View File

@ -0,0 +1,30 @@
From dc7e47be092a21ddd74311114b2df4c72a8044b3 Mon Sep 17 00:00:00 2001
From: "Viral B. Shah" <ViralBShah@users.noreply.github.com>
Date: Tue, 28 May 2024 16:37:02 -0400
Subject: [PATCH] Allow libssp, libatomic and libgomp to fail as they are not
available on all systems
Co-authored-by: FX Coudert <fxcoudert@gmail.com>
---
base/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/base/Makefile b/base/Makefile
index 9a6c0d0d03833..febee53a9ddfc 100644
--- a/base/Makefile
+++ b/base/Makefile
@@ -249,12 +249,12 @@ endif
ifneq (,$(LIBGFORTRAN_VERSION))
$(eval $(call symlink_system_library,CSL,libgfortran,$(LIBGFORTRAN_VERSION)))
endif
-$(eval $(call symlink_system_library,CSL,libquadmath,0))
$(eval $(call symlink_system_library,CSL,libstdc++,6))
-# We allow libssp, libatomic and libgomp to fail as they are not available on all systems
+# We allow libssp, libatomic, libgomp and libquadmath to fail as they are not available on all systems
$(eval $(call symlink_system_library,CSL,libssp,0,ALLOW_FAILURE))
$(eval $(call symlink_system_library,CSL,libatomic,1,ALLOW_FAILURE))
$(eval $(call symlink_system_library,CSL,libgomp,1,ALLOW_FAILURE))
+$(eval $(call symlink_system_library,CSL,libquadmath,0,ALLOW_FAILURE))
$(eval $(call symlink_system_library,PCRE,libpcre2-8))
$(eval $(call symlink_system_library,DSFMT,libdSFMT))
$(eval $(call symlink_system_library,LIBBLASTRAMPOLINE,libblastrampoline))

View File

@ -0,0 +1,15 @@
diff -ruN ../julia-1.10.5.orig/deps/gmp.mk /tmp/julia-1.10.5/deps/gmp.mk
--- julia-1.10.5/deps/gmp.mk 2024-09-25 09:20:05.861086670 +0800
+++ julia-1.10.5/deps/gmp.mk 2024-09-25 09:22:26.475127794 +0800
@@ -62,6 +62,11 @@
patch -p1 -f < $(SRCDIR)/patches/gmp-more_alloc_overflow.patch
echo 1 > $@
+$(SRCCACHE)/gmp-$(GMP_VER)/gmp-6.2.1-arm64-invert_limb.patch-applied: $(SRCCACHE)/gmp-$(GMP_VER)/gmp-6.2.1-arm64-invert_limb.patch-applied
+ cd $(dir $@) && \
+ patch -p1 -f < $(SRCDIR)/patches/gmp-6.2.1-arm64-invert_limb.patch
+ echo 1 > $@
+
$(SRCCACHE)/gmp-$(GMP_VER)/source-patched: $(SRCCACHE)/gmp-$(GMP_VER)/gmp-more_alloc_overflow.patch-applied
echo 1 > $@

View File

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

View File

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

View File

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

12
deps-makefile.patch Normal file
View File

@ -0,0 +1,12 @@
--- julia/deps/Makefile.orig 2024-09-21 08:50:22.716845232 +0800
+++ julia/deps/Makefile 2024-09-21 08:50:49.733520274 +0800
@@ -34,7 +34,7 @@
## Overall configuration of which rules exist and should be run by default ##
# prevent installing libs into usr/lib64 on opensuse
-unexport CONFIG_SITE
+# unexport CONFIG_SITE
DEP_LIBS := JuliaSyntax

View File

@ -0,0 +1,20 @@
diff -ruN julia-1.10.4.orig/doc/Makefile julia-1.10.4/doc/Makefile
--- julia-1.10.4.orig/doc/Makefile 2024-06-06 21:49:32.084595230 +0800
+++ julia-1.10.4/doc/Makefile 2024-06-06 22:04:17.150827400 +0800
@@ -44,16 +44,13 @@
html: deps
@echo "Building HTML documentation."
- $(JULIA_EXECUTABLE) --color=yes $(call cygpath_w,$(SRCDIR)/make.jl) $(DOCUMENTER_OPTIONS)
@echo "Build finished. The HTML pages are in _build/html."
pdf: deps
@echo "Building PDF documentation."
- $(JULIA_EXECUTABLE) --color=yes $(call cygpath_w,$(SRCDIR)/make.jl) -- pdf $(DOCUMENTER_OPTIONS)
@echo "Build finished."
# The deploy target should only be called in CI builds
deploy: deps
@echo "Deploying HTML documentation."
- $(JULIA_EXECUTABLE) --color=yes $(call cygpath_w,$(SRCDIR)/make.jl) -- deploy $(DOCUMENTER_OPTIONS)
@echo "Build & deploy of docs finished."

View File

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

View File

@ -0,0 +1,14 @@
--- mpn/arm64/invert_limb.asm.orig 2020-12-09 08:22:02.101836933 +0100
+++ mpn/arm64/invert_limb.asm 2020-12-09 08:22:55.774456637 +0100
@@ -41,9 +41,9 @@
ASM_START()
PROLOGUE(mpn_invert_limb)
lsr x2, x0, #54
- LEA_HI( x1, approx_tab)
+ adrp x1, approx_tab
and x2, x2, #0x1fe
- LEA_LO( x1, approx_tab)
+ add x1, x1, :lo12:approx_tab
ldrh w3, [x1,x2]
lsr x4, x0, #24
add x4, x4, #1

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

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

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJLBAABCAA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmZffZUXHGJ1aWxkYm90
QGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JV6bxAAxZaHNIbvLy3uotpwDXSRJUYy
igPLUrJgXKh4Nr5cvfl+zZ6/uCJm2xD/KBK9JH+yOFKzyWbafQumeTJlTPq+6d41
jOSfD4gGM1dRjvmSsLWeyqkCLb1EcQ6ENTipTD57IpGODkPXmF2Pilp+kvXpiYZw
Sj8MHHlP08oGAlOIn3krMU8wHFZ40scXiw+PVToNGPzuXxg7r0NSS2E8iieP6X/z
2wt45DLbgNDbzgRRU20Lci/Xv/oc/33jjn/4zm0JUBn0hQdKaeQggiKZ5DpO6+uv
CTffNunXtWV95eCmEBJ/tAMejPCi1RgPV14kY9PIV49QOGvOVTj+7PW5BTH385Dx
l26dDYVOR53MiYyyAAdy4pAghKfSgHNrhgbIRAup5p9QrH7r+69Qravse0cg0Lat
hrTKNwWeTagDrVSGHGQJl0rAoCQR3t7z9LZ3tJy2fFf7Ob5Hx879AluS9+PgVn+i
SwSk3nAOn9qz8c5zUiR7WanTzzKJ9ZA799Eg7d55qJh4Sm0zKMtXjYNqQVrt1aXs
1333g++nWSSt61jSekVwfb8TT/nQZO5lxSPLpENyzdwd8aAaDQg13b5gFj5NM4pC
yBRl0GiVZi1IdM1+KIRwHz5ktvyeF4gnh+unH6/gXqv7ASDvg5FWu7m99udDsLZt
1K757vMRSxtWadL9fLY=
=nkWv
-----END PGP SIGNATURE-----

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

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

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJLBAABCAA1FiEENnPfUp2QSUd/drN1ZuPH3APW5JUFAmbOSnMXHGJ1aWxkYm90
QGp1bGlhbGFuZy5vcmcACgkQZuPH3APW5JWoeQ/8D3Vnnw3paRULKr+YEWh2gEoJ
MZbIFwuTqqfuL7CSSnuXrBGM9FzoWVt9rvVuEh4/LLZ1xpjN+6rGn09f8wx/sMGR
JseF+/KlmhFTutZyPPG6uHt3Xp8f81B2NmxfvhJ9ymknosxHnJLoxpgq4zxJPyNx
S99WxxYd+lg9Pc36+3HR6mT+rQoAo4VeEuW1MbSk+rhd8M47T21cpYQQgSUDKCnK
rd4mw1FAm2BNLWNJdWqyHzB2sviPc+/9/mse4KkAHj/UXbEom6VYu4wKvffxLoAr
WrPP8v1dl+Kv25UAThTKl6lSJowIPFROcK/9QnGpC9MqlJQzlSOLXBTdcz8z5yX+
Kc4BMcKCBNEmqY+ueTVwEvt9k8FSoGbvUUlcbc+Fdoag7cIGwtMTZgyx9OPgKMq1
aFZ3G1VATwb1RNFEFPhly1ish4TQJNj5pVg12pKYCX20m3gvHkiDKvE1p3SwhU9i
CsbfmauDMBw2raQxcEhv7Xhc4JkJpXDgDikpbH2MQ/aqmOQR0VfXfaHnsHzpSyUo
nrQk+t0xFKKxar3u1Y+bWkHRLpSRUxOTLQZrHXdxr6dw93PTYwMOJDnpe/DFFRZu
uVK4J3nh/T76DVpyXG8ikFxFtDUdinsRcftTt8YDfoZXdlJOA/AdXuqg//a49HYG
y7yjVYgqIDWODAoraqY=
=2rK8
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,9 @@
diff -ruN a/contrib/julia-config.jl b/contrib/julia-config.jl
--- julia-1.9.4.orig/contrib/julia-config.jl 2023-12-08 06:25:53.680851149 +0800
+++ julia-1.9.4/contrib/julia-config.jl 2023-12-08 06:26:33.647145750 +0800
@@ -1,4 +1,4 @@
-#!/usr/bin/env julia
+#!/usr/bin/julia
# This file is a part of Julia. License is MIT: https://julialang.org/license
import Libdl

View File

@ -0,0 +1,32 @@
function __init__()
diff --git a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
index 215de8aed6..918d1ffdc2 100644
--- a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
+++ b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
@@ -22,7 +22,7 @@ if Sys.iswindows()
elseif Sys.isapple()
const libopenlibm = "@rpath/libopenlibm.4.dylib"
else
- const libopenlibm = "libopenlibm.so.4"
+ const libopenlibm = "libopenlibm.so"
end
function __init__()
From: Soc Virnyl Estela <contact@uncomfyhalomacro.pl>
Date: Sat, 09 Dec 2023 16:30:31 +0800
Subject: Change hardcoded libs for libblastrampoline
---
diff -ruN julia-1.9.4.orig/stdlib/libblastrampoline_jll/src/libblastrampoline_jll.jl julia-1.9.4/stdlib/libblastrampoline_jll/src/libblastrampoline_jll.jl
--- julia-1.9.4.orig/stdlib/libblastrampoline_jll/src/libblastrampoline_jll.jl 2023-12-09 14:21:37.910096392 +0800
+++ julia-1.9.4/stdlib/libblastrampoline_jll/src/libblastrampoline_jll.jl 2023-12-09 14:21:58.006998468 +0800
@@ -24,7 +24,7 @@
elseif Sys.isapple()
"@rpath/libblastrampoline.5.dylib"
else
- "libblastrampoline.so.5"
+ "libblastrampoline.so"
end
function __init__()

19
julia-libunwind-1.9.patch Normal file
View File

@ -0,0 +1,19 @@
diff -ruN julia-1.10.3.orig/src/debuginfo.cpp julia-1.10.3/src/debuginfo.cpp
--- julia-1.10.3.orig/src/debuginfo.cpp 2024-05-15 19:29:44.237505409 +0800
+++ julia-1.10.3/src/debuginfo.cpp 2024-05-15 19:34:48.084228112 +0800
@@ -267,6 +267,7 @@
di->format = UNW_INFO_FORMAT_ARM_EXIDX;
di->start_ip = (uintptr_t)arm_text_addr;
di->end_ip = (uintptr_t)(arm_text_addr + arm_text_len);
+ di->load_offset = 0;
di->u.rti.name_ptr = 0;
di->u.rti.table_data = arm_exidx_addr;
di->u.rti.table_len = arm_exidx_len;
@@ -1579,6 +1580,7 @@
di->u.rti.table_data = (unw_word_t)table;
di->start_ip = start_ip;
di->end_ip = end_ip;
+ di->load_offset = 0;
jl_profile_atomic([&]() JL_NOTSAFEPOINT {
_U_dyn_register(di);

View File

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

21
julia-rpmlintrc Normal file
View File

@ -0,0 +1,21 @@
# https://github.com/JuliaLang/julia/issues/28564
addFilter("E: devel-file-in-non-devel-package.*/usr/lib.*/julia/.*")
# Julia has sofiles that are not actually an issue
addFilter("E: arch-dependent-file-in-usr-share*")
# We should not unstrip sofiles or binaries generated from this package
# https://github.com/JuliaLang/julia/issues/17941
addFilter("unstripped-binary-or-object")
addFilter("W: hidden-file-or-dir /usr/share/julia/stdlib/v1.9/Pkg/test/test_packages/AugmentedPlatform/*")
# Julia is unique that rpm cant detect what it needs because
# it is dlopened
addFilter("explicit-lib-dependency")
addFilter("devel-dependency")
# Update alternatives does provide the binary
addFilter("W: desktopfile-without-binary /usr/share/applications/julia.desktop julia")
# We should not touch these
addFilter("W: hidden-file-or-dir /usr/share/julia/base/JuliaSyntax/.mailmap")
addFilter("W: hidden-file-or-dir /usr/share/julia/stdlib/v1.10/Pkg/test/test_packages/AugmentedPlatform/.pkg")
addFilter("W: hidden-file-or-dir /usr/share/julia/stdlib/v1.10/Pkg/test/test_packages/AugmentedPlatform/.pkg")
# LibGit_jll test case
addFilter("W: pem-certificate /usr/share/julia/stdlib/v1.10/LibGit2/test/bad_ca_roots.pem")
addFilter("E: shlib-policy-name-error*")

1383
julia.changes Normal file

File diff suppressed because it is too large Load Diff

51
julia.keyring Normal file
View File

@ -0,0 +1,51 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFXxFlcBEADQDEBFlzoyehPuk13Ct928WwBvb0q9OKyjz2NlYq3sL5ReTbQB
9P5hyl68q5iJ6QTjKEaxr+Kmjhib9dQGZhtBXRa9q185Fdav48rS9rDKR5/aPXNi
4aA0BSp7fHIDrTUGOUMB5TFpVZil+Sz4llpPKDlgG70dn3ZLBznJQKUXJWhxrheG
ogUK4W3WAdBBPDVraPjBjvTTSrhoOBJh/oNib3J6xTIaUMhOFz+Vuq05BZI9UO6n
OsE3dSW7X7dvqjcN3Ti7TgbJD5d4iOsQl8NhqItyS8ZULV8TPGOuwitoWxqgFIAL
5bhM9Of4xOE0+rmgke1dKmMkq3cu6yCEFypqyxwShexe+1Mvx4Tn4/OqC7wFVpTA
IH2ys7NsVcoLtZGqlBQnbXFmIu9ay51Zb4wwbJ5Qr9Rfx5xPvJoOVUpP/0I8+vlI
CmBkP6vs9vMCCKcreP0FpjCTSRApv9IXuwjumOMb6P0GJPOuFVfsy4849ONPC/yM
dMbeopi/BWfHu/Nqt7pqY210jncsdBPlPy7LvvhIkbpeZHQDoQVDPX88ZylhqKTy
gpWPBT5ezJ5ib0nSvYIZjMOMlMWxDaNDBGZlyHizVFwLZk6qHWM7I2WbJGvNgBTv
0dX9jBIDhdKdSZjc3wxh+nqZQg1l8xOOx9yCLSiBL1OHf4PYqJudL09AUwARAQAB
tDNKdWxpYSAoQmluYXJ5IHNpZ25pbmcga2V5KSA8YnVpbGRib3RAanVsaWFsYW5n
Lm9yZz6JAjgEEwECACIFAlXxFlcCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheA
AAoJEGbjx9wD1uSVg78QAJZUeygDHj1zTxt+8UAm4TMu0nWmcPjSzTGj5Wt4Gtec
HlWsXTOvFbABv8r3vzD2W1Bi0D0UcUucBy3Jf0nrUBWY89VTREcG/EWsF2SwSB7H
cL3pu+vcdLiVtRGI4AiSoZz2CXc4vHY0X/3TlPejcO0UU8A0Ukth/cX1ZqCjKP8T
ciXy89X4mlRAsAXapkHxiO+bscTd/VdWaPaUx8/TxeFoPZFB/0FIeJHYbI1chKPd
vAtFYLpB89d8zbQYgISM6oc/f1j0CQR6JdHGoAGP9Wd8wRz+mDT3WzOqL4jXctcA
CQUKGgYkOW8OEFBlfUACZK5uFxWMktN8//IlzczCTbYb9Z89UeeF7oaXfSZMFwiF
kxseUGCceXb5Kqj3fZKmmUstAEzycyNuCeXG1KXyAz1mg/ihq/rzB11vQQjY4WYJ
rIoUecRN3btSex6jcdOxAIOeGcyfigT7NMgplFXXkbuux2N7qtOkLUNx80DMOggK
tnSP60GkO1xzJLi3EHtaDVPU59KpeXjyEsNB2ngc5+LwHwbYGvaaZaFXFm7oCmM7
xG88EU14mCLZbpGleD6cmpVAprFSIXV0Z0xm6pdH9XBCT4UJ8tFXTrJsc1dYd+mw
eAwCYZ38e95kqrYrRbhjOOAKEtf3t4VnrsifbTfTVclUbsrSXVTQdHoiMlODc/WX
uQINBFXxFlcBEADNmFCh53NJ+8CQSzQda/efBX+H/SCj2b3vIYJXY2nR9h4IQ7UV
/AU5sUB/bpIN3nwwdcILYSm2oJGP8fZ8Zf46XliUOK8+yD8ApDg6okl3R1G+E9Qk
/EN49BCeXx9uT5vHpcHWkBvKmqmjUJ283i6q3QT5qzbkCGGUQ7SyhU1ywbjYIQi/
HLJpntqz44LrM+vfGUAa+CJld3DyzAm66KFSRbDU12XPE948MxUDQ1NgY9hJIlfm
ud/ShKakfQoEsLiTkUbEY7Vc19s2+aM3S1zeRfsatuayPuEUsnuz42wKWSdPNGyJ
TkLdWz46vSgN9wpe0OLoWxsuomaViRaNFDSK7Uo+AGjWcjFNlehFlW/ELji1JbS5
f5EAD1A1I2RJvLHyri3xFJtM9qbGiA3ZIfcVXq5RxAOehDPCcKzBS4w37D2vLBOQ
Xa+ExTJxwiCnMPuo7acsfkyleakAe82L/fAoVWdPcFSjq3KFvkpGpTlvvh2jwhoW
AgDGu77K9T1rHjj7t2GjuR71RVc4r0CP9iF3rAPmq/FapONW1Pz0aom7XLBZt8Zq
4wsPsGaAECmwi07bE6Vr9nqCeQb7XmjVucVJP+VXDpOJzt4J5zSzTCWGyj47/K7a
Rlz9KtYmY0s4sKnx3sjKpC8xMXaLgvSjudrQCZ/sohKRayKGAMI2p71GbQARAQAB
iQIfBBgBAgAJBQJV8RZXAhsMAAoJEGbjx9wD1uSV6+oP/3MCyMWEBiu73HVI2dS2
hDct/E9fDkpB6o/HEGhdNFTeeb/L7GqcQACJDtBDNVtMu0WhCgKeteHXM0KMy55f
6HAQEVnWhGSyR4KksV93RPZvUO+zzX5M7F2LiI59MSruKAYTC0kXbjcu9aQAn+kJ
EPHiHwsTzRkWh90q54/B2NQ6oVAHgnMIeh32OBdFMNHOnP+n1zu/+Wd4miC3fR9V
tmsVrOS8WtozdEC6TmquYswQ/gT6c0afCZSlNF/ZPPrXGGdD6t9WTJntfYB1rbEk
E/9WpaUgpKpxXQEOMzMAm+2yBoYnCpXzvbY6fzNWfOg6DJ65t0rkrCwDRHLH1grA
61OQb0Ou8LQnrFGox8L394sFebIoaBUk2Vhw5LH78X6g1f7Mj6j9Er0YSabVVpHh
ncMYflOeswrV4C1oP5UvL7K3qtCixUU4LQ4XqmioQey8AnrCdJ7S5QeyP1n5vU3e
Nz1JHCcH4/e698CuIoCZa86Edmo3S0O2hhiC5qslf5u1pdndlmbrgsWpBH5kJ7mI
edeA2ND/KrLlllE7NImLdlrciShctFP1ciqqHtTebQ+5MH17ObOhSptUDEt5LjZt
3YXZtQ+C/UmfkC+QVUdWTQ4cWUCNtuzLP+PW3o1AQHmijWbaECq5yMRVlr7JuxPr
Lr+fAJHZvbYCQjMTkZYScgYU
=XN/B
-----END PGP PUBLIC KEY BLOCK-----

765
julia.spec Normal file
View File

@ -0,0 +1,765 @@
#
# spec file for package julia
#
# Copyright (c) 2024 SUSE LLC
#
# 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.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if 0%{?suse_version} && 0%{?suse_version} < 1550
%global force_gcc_version 13
%endif
# 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
%global __provides_exclude_from ^%{_libdir}/%{name}/.*\\.so$
%global julia_march native
# If not Tumbleweed. Leap 15.6 seems to have trouble with libpthread
%if 0%{?suse_version} < 1600
%global __julia_opts NO_GIT=1 DEPS_GIT=0 BUILD_LLD=1 BUILD_LLDB=1 USE_BINARYBUILDER=0 USE_SYSTEM_CSL=1 USE_SYSTEM_LLVM=0 USE_SYSTEM_LLD=0 OPENBLAS_USE_THREAD=0 OPENBLAS_TARGET_ARCH=NEHALEM OPENBLAS_SYMBOLSUFFIX="%{?__isa_bits}_" OPENBLAS_LIBNAMESUFFIX="%{?__isa_bits}_" OPENBLAS_CFLAGS="${CFLAGS}" LIBBLAS=-lopenblas64_ LIBBLASNAME=libopenblas64_ LIBLAPACK=-lopenblas64_ LIBLAPACKNAME=libopenblas64_ SUITESPARSE_LIB="-lumfpack64_ -lcholmod64_ -lamd64_ -lcamd64_ -lcolamd64_ -lspqr64_" USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PCRE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LIBBLASTRAMPOLINE=1 USE_SYSTEM_GMP=0 USE_SYSTEM_MPFR=0 USE_SYSTEM_LIBSUITESPARSE=0 USE_SYSTEM_SUITESPARSE=0 USE_INTEL_JITEVENTS=1 USE_SYSTEM_LIBWHICH=1 USE_SYSTEM_DSFMT=0 USE_SYSTEM_LIBUV=0 USE_SYSTEM_UTF8PROC=1 USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_LIBSSH2=0 USE_SYSTEM_MBEDTLS=0 USE_SYSTEM_CURL=1 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_OPENLIBM=1 USE_BLAS64=1 JLDFLAGS="$LDFLAGS" USE_BINARYBUILDER_BLASTRAMPOLINE=0 USE_BINARYBUILDER_CURL=0 USE_BINARYBUILDER_DSFMT=0 USE_BINARYBUILDER_GMP=0 USE_BINARYBUILDER_LIBGIT2=0 USE_BINARYBUILDER_LIBSSH2=0 USE_BINARYBUILDER_LIBSUITESPARSE=0 USE_BINARYBUILDER_LIBTRACYCLIENT=0 USE_BINARYBUILDER_LIBUNWIND=0 USE_BINARYBUILDER_LIBUV=0 USE_BINARYBUILDER_LLVM=0 USE_BINARYBUILDER_MBEDTLS=0 USE_BINARYBUILDER_MPFR=0 USE_BINARYBUILDER_OPENBLAS=0 USE_BINARYBUILDER_OPENLIBM=0 USE_BINARYBUILDER_P7ZIP=0 USE_BINARYBUILDER_PCRE=0 USE_BINARYBUILDER_ZLIB=0 VERBOSE=0
%else
%global __julia_opts NO_GIT=1 DEPS_GIT=0 BUILD_LLD=1 BUILD_LLDB=1 USE_BINARYBUILDER=0 USE_SYSTEM_CSL=1 USE_SYSTEM_LLVM=0 USE_SYSTEM_LLD=0 OPENBLAS_SYMBOLSUFFIX="%{?__isa_bits}_" OPENBLAS_LIBNAMESUFFIX="%{?__isa_bits}_" OPENBLAS_CFLAGS="${CFLAGS}" LIBBLAS=-lopenblas64_ LIBBLASNAME=libopenblas64_ LIBLAPACK=-lopenblas64_ LIBLAPACKNAME=libopenblas64_ SUITESPARSE_LIB="-lumfpack64_ -lcholmod64_ -lamd64_ -lcamd64_ -lcolamd64_ -lspqr64_" USE_SYSTEM_LIBUNWIND=0 USE_SYSTEM_PCRE=0 USE_SYSTEM_BLAS=0 USE_SYSTEM_LAPACK=0 USE_SYSTEM_LIBBLASTRAMPOLINE=1 USE_SYSTEM_GMP=0 USE_SYSTEM_MPFR=0 USE_SYSTEM_LIBSUITESPARSE=0 USE_SYSTEM_SUITESPARSE=0 USE_INTEL_JITEVENTS=1 USE_SYSTEM_LIBWHICH=1 USE_SYSTEM_DSFMT=0 USE_SYSTEM_LIBUV=0 USE_SYSTEM_UTF8PROC=1 USE_SYSTEM_LIBGIT2=0 USE_SYSTEM_LIBSSH2=0 USE_SYSTEM_MBEDTLS=0 USE_SYSTEM_CURL=1 USE_SYSTEM_PATCHELF=1 USE_SYSTEM_ZLIB=1 USE_SYSTEM_P7ZIP=1 USE_SYSTEM_OPENLIBM=1 USE_BLAS64=1 JLDFLAGS="$LDFLAGS" USE_BINARYBUILDER_BLASTRAMPOLINE=0 USE_BINARYBUILDER_CURL=0 USE_BINARYBUILDER_DSFMT=0 USE_BINARYBUILDER_GMP=0 USE_BINARYBUILDER_LIBGIT2=0 USE_BINARYBUILDER_LIBSSH2=0 USE_BINARYBUILDER_LIBSUITESPARSE=0 USE_BINARYBUILDER_LIBTRACYCLIENT=0 USE_BINARYBUILDER_LIBUNWIND=0 USE_BINARYBUILDER_LIBUV=0 USE_BINARYBUILDER_LLVM=0 USE_BINARYBUILDER_MBEDTLS=0 USE_BINARYBUILDER_MPFR=0 USE_BINARYBUILDER_OPENBLAS=0 USE_BINARYBUILDER_OPENLIBM=0 USE_BINARYBUILDER_P7ZIP=0 USE_BINARYBUILDER_PCRE=0 USE_BINARYBUILDER_ZLIB=0 VERBOSE=0
%endif
# List all bundled libraries.
%global _privatelibs lib(ssh.*|pcre.*|dSFMT.*|gmp.*|mpfr.*|git.*|mbed.*|nghttp.*||LLVM-.*|unwind*|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.*
%global __provides_exclude ^(%{_privatelibs})$
%global __requires_exclude ^(%{_privatelibs})$
%define libjulia_sover_major 1
%define libjulia_sover_minor 10
%define _julia_llvm_version 15.0.7-10
%if "@BUILD_FLAVOR@%{nil}" == "compat"
%define compat_mode 1
%else
%define compat_mode 0
%endif
%if 0%{?compat_mode}
%define libname libjulia-compat%{libjulia_sover_major}_%{libjulia_sover_minor}
%else
%define libname libjulia%{libjulia_sover_major}_%{libjulia_sover_minor}
%endif
# LTO currently makes building blastrampoline and Julia itself fail
# It is not enabled upstream anyway
%global _lto_cflags %nil
Version: 1.10.5
Release: 0
URL: http://julialang.org/
Source0: https://github.com/JuliaLang/julia/releases/download/v%{version}/julia-%{version}-full.tar.gz
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
Source5: https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl/releases/download/CompilerSupportLibraries-v1.1.1+0/CompilerSupportLibraries.v1.1.1.x86_64-linux-gnu-libgfortran5.tar.gz#/CompilerSupportLibraries.v1.1.1+0.x86_64-linux-gnu-libgfortran5.tar.gz
Source6: https://github.com/JuliaBinaryWrappers/LibUV_jll.jl/releases/download/LibUV-v2.0.1+14/LibUV.v2.0.1.x86_64-linux-gnu.tar.gz#/LibUV.v2.0.1+14.x86_64-linux-gnu.tar.gz
Source7: https://github.com/JuliaBinaryWrappers/LibUnwind_jll.jl/releases/download/LibUnwind-v1.5.0+5/LibUnwind.v1.5.0.x86_64-linux-gnu.tar.gz#/LibUnwind.v1.5.0+5.x86_64-linux-gnu.tar.gz
Source8: https://github.com/JuliaBinaryWrappers/OpenLibm_jll.jl/releases/download/OpenLibm-v0.8.1+2/OpenLibm.v0.8.1.x86_64-linux-gnu.tar.gz#/OpenLibm.v0.8.1+2.x86_64-linux-gnu.tar.gz
Source9: https://github.com/JuliaBinaryWrappers/dSFMT_jll.jl/releases/download/dSFMT-v2.2.4+4/dSFMT.v2.2.4.x86_64-linux-gnu.tar.gz#/dSFMT.v2.2.4+4.x86_64-linux-gnu.tar.gz
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#/libLLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz
Source11: https://github.com/JuliaBinaryWrappers/LLD_jll.jl/releases/download/LLD-v15.0.7+10/LLD.v15.0.7.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz#/LLD.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz
Source12: https://github.com/JuliaBinaryWrappers/PCRE2_jll.jl/releases/download/PCRE2-v10.42.0+1/PCRE2.v10.42.0.x86_64-linux-gnu.tar.gz#/PCRE2.v10.42.0+1.x86_64-linux-gnu.tar.gz
Source13: https://github.com/JuliaBinaryWrappers/OpenBLAS_jll.jl/releases/download/OpenBLAS-v0.3.23+4/OpenBLAS.v0.3.23.x86_64-linux-gnu-libgfortran5.tar.gz#/OpenBLAS.v0.3.23+4.x86_64-linux-gnu-libgfortran5.tar.gz
Source14: https://github.com/JuliaBinaryWrappers/GMP_jll.jl/releases/download/GMP-v6.2.1+6/GMP.v6.2.1.x86_64-linux-gnu-cxx11.tar.gz#/GMP.v6.2.1+6.x86_64-linux-gnu-cxx11.tar.gz
Source15: https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl/releases/download/MbedTLS-v2.28.2+1/MbedTLS.v2.28.2.x86_64-linux-gnu.tar.gz#/MbedTLS.v2.28.2+1.x86_64-linux-gnu.tar.gz
Source16: https://github.com/JuliaBinaryWrappers/LibSSH2_jll.jl/releases/download/LibSSH2-v1.11.0+1/LibSSH2.v1.11.0.x86_64-linux-gnu.tar.gz#/LibSSH2.v1.11.0+1.x86_64-linux-gnu.tar.gz
Source17: https://github.com/JuliaBinaryWrappers/nghttp2_jll.jl/releases/download/nghttp2-v1.52.0+1/nghttp2.v1.52.0.x86_64-linux-gnu.tar.gz#/nghttp2.v1.52.0+1.x86_64-linux-gnu.tar.gz
Source18: https://github.com/JuliaBinaryWrappers/LibCURL_jll.jl/releases/download/LibCURL-v8.4.0+0/LibCURL.v8.4.0.x86_64-linux-gnu.tar.gz#/LibCURL.v8.4.0+0.x86_64-linux-gnu.tar.gz
Source19: https://github.com/JuliaBinaryWrappers/LibGit2_jll.jl/releases/download/LibGit2-v1.6.4+0/LibGit2.v1.6.4.x86_64-linux-gnu.tar.gz#/LibGit2.v1.6.4+0.x86_64-linux-gnu.tar.gz
Source20: https://github.com/JuliaBinaryWrappers/MPFR_jll.jl/releases/download/MPFR-v4.2.0+1/MPFR.v4.2.0.x86_64-linux-gnu.tar.gz#/MPFR.v4.2.0+1.x86_64-linux-gnu.tar.gz
Source21: https://github.com/JuliaBinaryWrappers/SuiteSparse_jll.jl/releases/download/SuiteSparse-v7.2.1+1/SuiteSparse.v7.2.1.x86_64-linux-gnu.tar.gz#/SuiteSparse.v7.2.1+1.x86_64-linux-gnu.tar.gz
Source22: https://github.com/JuliaBinaryWrappers/Zlib_jll.jl/releases/download/Zlib-v1.2.13+1/Zlib.v1.2.13.x86_64-linux-gnu.tar.gz#/Zlib.v1.2.13+1.x86_64-linux-gnu.tar.gz
Source23: https://github.com/JuliaBinaryWrappers/p7zip_jll.jl/releases/download/p7zip-v17.4.0+2/p7zip.v17.4.0.x86_64-linux-gnu.tar.gz#/p7zip.v17.4.0+2.x86_64-linux-gnu.tar.gz
Source24: https://github.com/JuliaBinaryWrappers/libblastrampoline_jll.jl/releases/download/libblastrampoline-v5.11.0+0/libblastrampoline.v5.11.0.x86_64-linux-gnu.tar.gz#/libblastrampoline.v5.11.0+0.x86_64-linux-gnu.tar.gz
Source25: https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl/releases/download/CompilerSupportLibraries-v1.1.1+0/CompilerSupportLibraries.v1.1.1.aarch64-linux-gnu-libgfortran5.tar.gz#/CompilerSupportLibraries.v1.1.1+0.aarch64-linux-gnu-libgfortran5.tar.gz
Source26: https://github.com/JuliaBinaryWrappers/LibUV_jll.jl/releases/download/LibUV-v2.0.1+14/LibUV.v2.0.1.aarch64-linux-gnu.tar.gz#/LibUV.v2.0.1+14.aarch64-linux-gnu.tar.gz
Source27: https://github.com/JuliaBinaryWrappers/LibUnwind_jll.jl/releases/download/LibUnwind-v1.5.0+5/LibUnwind.v1.5.0.aarch64-linux-gnu.tar.gz#/LibUnwind.v1.5.0+5.aarch64-linux-gnu.tar.gz
Source28: https://github.com/JuliaBinaryWrappers/OpenLibm_jll.jl/releases/download/OpenLibm-v0.8.1+2/OpenLibm.v0.8.1.aarch64-linux-gnu.tar.gz#/OpenLibm.v0.8.1+2.aarch64-linux-gnu.tar.gz
Source29: https://github.com/JuliaBinaryWrappers/dSFMT_jll.jl/releases/download/dSFMT-v2.2.4+4/dSFMT.v2.2.4.aarch64-linux-gnu.tar.gz#/dSFMT.v2.2.4+4.aarch64-linux-gnu.tar.gz
Source30: https://github.com/JuliaBinaryWrappers/libLLVM_jll.jl/releases/download/libLLVM-v15.0.7+10/libLLVM.v15.0.7.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz#/libLLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz
Source31: https://github.com/JuliaBinaryWrappers/LLD_jll.jl/releases/download/LLD-v15.0.7+10/LLD.v15.0.7.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz#/LLD.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz
Source32: https://github.com/JuliaBinaryWrappers/PCRE2_jll.jl/releases/download/PCRE2-v10.42.0+1/PCRE2.v10.42.0.aarch64-linux-gnu.tar.gz#/PCRE2.v10.42.0+1.aarch64-linux-gnu.tar.gz
Source33: https://github.com/JuliaBinaryWrappers/OpenBLAS_jll.jl/releases/download/OpenBLAS-v0.3.23+4/OpenBLAS.v0.3.23.aarch64-linux-gnu-libgfortran5.tar.gz#/OpenBLAS.v0.3.23+4.aarch64-linux-gnu-libgfortran5.tar.gz
Source34: https://github.com/JuliaBinaryWrappers/GMP_jll.jl/releases/download/GMP-v6.2.1+6/GMP.v6.2.1.aarch64-linux-gnu-cxx11.tar.gz#/GMP.v6.2.1+6.aarch64-linux-gnu-cxx11.tar.gz
Source35: https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl/releases/download/MbedTLS-v2.28.2+1/MbedTLS.v2.28.2.aarch64-linux-gnu.tar.gz#/MbedTLS.v2.28.2+1.aarch64-linux-gnu.tar.gz
Source36: https://github.com/JuliaBinaryWrappers/LibSSH2_jll.jl/releases/download/LibSSH2-v1.11.0+1/LibSSH2.v1.11.0.aarch64-linux-gnu.tar.gz#/LibSSH2.v1.11.0+1.aarch64-linux-gnu.tar.gz
Source37: https://github.com/JuliaBinaryWrappers/nghttp2_jll.jl/releases/download/nghttp2-v1.52.0+1/nghttp2.v1.52.0.aarch64-linux-gnu.tar.gz#/nghttp2.v1.52.0+1.aarch64-linux-gnu.tar.gz
Source38: https://github.com/JuliaBinaryWrappers/LibCURL_jll.jl/releases/download/LibCURL-v8.4.0+0/LibCURL.v8.4.0.aarch64-linux-gnu.tar.gz#/LibCURL.v8.4.0+0.aarch64-linux-gnu.tar.gz
Source39: https://github.com/JuliaBinaryWrappers/LibGit2_jll.jl/releases/download/LibGit2-v1.6.4+0/LibGit2.v1.6.4.aarch64-linux-gnu.tar.gz#/LibGit2.v1.6.4+0.aarch64-linux-gnu.tar.gz
Source40: https://github.com/JuliaBinaryWrappers/MPFR_jll.jl/releases/download/MPFR-v4.2.0+1/MPFR.v4.2.0.aarch64-linux-gnu.tar.gz#/MPFR.v4.2.0+1.aarch64-linux-gnu.tar.gz
Source41: https://github.com/JuliaBinaryWrappers/SuiteSparse_jll.jl/releases/download/SuiteSparse-v7.2.1+1/SuiteSparse.v7.2.1.aarch64-linux-gnu.tar.gz#/SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
Source42: https://github.com/JuliaBinaryWrappers/Zlib_jll.jl/releases/download/Zlib-v1.2.13+1/Zlib.v1.2.13.aarch64-linux-gnu.tar.gz#/Zlib.v1.2.13+1.aarch64-linux-gnu.tar.gz
Source43: https://github.com/JuliaBinaryWrappers/p7zip_jll.jl/releases/download/p7zip-v17.4.0+2/p7zip.v17.4.0.aarch64-linux-gnu.tar.gz#/p7zip.v17.4.0+2.aarch64-linux-gnu.tar.gz
Source44: https://github.com/JuliaBinaryWrappers/libblastrampoline_jll.jl/releases/download/libblastrampoline-v5.11.0+0/libblastrampoline.v5.11.0.aarch64-linux-gnu.tar.gz#/libblastrampoline.v5.11.0+0.aarch64-linux-gnu.tar.gz
Source45: https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl/releases/download/CompilerSupportLibraries-v1.1.1+0/CompilerSupportLibraries.v1.1.1.powerpc64le-linux-gnu-libgfortran5.tar.gz#/CompilerSupportLibraries.v1.1.1+0.powerpc64le-linux-gnu-libgfortran5.tar.gz
Source46: https://github.com/JuliaBinaryWrappers/LibUV_jll.jl/releases/download/LibUV-v2.0.1+14/LibUV.v2.0.1.powerpc64le-linux-gnu.tar.gz#/LibUV.v2.0.1+14.powerpc64le-linux-gnu.tar.gz
Source47: https://github.com/JuliaBinaryWrappers/LibUnwind_jll.jl/releases/download/LibUnwind-v1.5.0+5/LibUnwind.v1.5.0.powerpc64le-linux-gnu.tar.gz#/LibUnwind.v1.5.0+5.powerpc64le-linux-gnu.tar.gz
Source48: https://github.com/JuliaBinaryWrappers/OpenLibm_jll.jl/releases/download/OpenLibm-v0.8.1+2/OpenLibm.v0.8.1.powerpc64le-linux-gnu.tar.gz#/OpenLibm.v0.8.1+2.powerpc64le-linux-gnu.tar.gz
Source49: https://github.com/JuliaBinaryWrappers/dSFMT_jll.jl/releases/download/dSFMT-v2.2.4+4/dSFMT.v2.2.4.powerpc64le-linux-gnu.tar.gz#/dSFMT.v2.2.4+4.powerpc64le-linux-gnu.tar.gz
Source50: https://github.com/JuliaBinaryWrappers/libLLVM_jll.jl/releases/download/libLLVM-v15.0.7+10/libLLVM.v15.0.7.powerpc64le-linux-gnu-cxx11-llvm_version+15.tar.gz#/libLLVM.v15.0.7+10.powerpc64le-linux-gnu-cxx11-llvm_version+15.tar.gz
Source51: https://github.com/JuliaBinaryWrappers/LLD_jll.jl/releases/download/LLD-v15.0.7+10/LLD.v15.0.7.powerpc64le-linux-gnu-cxx11-llvm_version+15.tar.gz#/LLD.v15.0.7+10.powerpc64le-linux-gnu-cxx11-llvm_version+15.tar.gz
Source52: https://github.com/JuliaBinaryWrappers/PCRE2_jll.jl/releases/download/PCRE2-v10.42.0+1/PCRE2.v10.42.0.powerpc64le-linux-gnu.tar.gz#/PCRE2.v10.42.0+1.powerpc64le-linux-gnu.tar.gz
Source53: https://github.com/JuliaBinaryWrappers/OpenBLAS_jll.jl/releases/download/OpenBLAS-v0.3.23+4/OpenBLAS.v0.3.23.powerpc64le-linux-gnu-libgfortran5.tar.gz#/OpenBLAS.v0.3.23+4.powerpc64le-linux-gnu-libgfortran5.tar.gz
Source54: https://github.com/JuliaBinaryWrappers/GMP_jll.jl/releases/download/GMP-v6.2.1+6/GMP.v6.2.1.powerpc64le-linux-gnu-cxx11.tar.gz#/GMP.v6.2.1+6.powerpc64le-linux-gnu-cxx11.tar.gz
Source55: https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl/releases/download/MbedTLS-v2.28.2+1/MbedTLS.v2.28.2.powerpc64le-linux-gnu.tar.gz#/MbedTLS.v2.28.2+1.powerpc64le-linux-gnu.tar.gz
Source56: https://github.com/JuliaBinaryWrappers/LibSSH2_jll.jl/releases/download/LibSSH2-v1.11.0+1/LibSSH2.v1.11.0.powerpc64le-linux-gnu.tar.gz#/LibSSH2.v1.11.0+1.powerpc64le-linux-gnu.tar.gz
Source57: https://github.com/JuliaBinaryWrappers/nghttp2_jll.jl/releases/download/nghttp2-v1.52.0+1/nghttp2.v1.52.0.powerpc64le-linux-gnu.tar.gz#/nghttp2.v1.52.0+1.powerpc64le-linux-gnu.tar.gz
Source58: https://github.com/JuliaBinaryWrappers/LibCURL_jll.jl/releases/download/LibCURL-v8.4.0+0/LibCURL.v8.4.0.powerpc64le-linux-gnu.tar.gz#/LibCURL.v8.4.0+0.powerpc64le-linux-gnu.tar.gz
Source59: https://github.com/JuliaBinaryWrappers/LibGit2_jll.jl/releases/download/LibGit2-v1.6.4+0/LibGit2.v1.6.4.powerpc64le-linux-gnu.tar.gz#/LibGit2.v1.6.4+0.powerpc64le-linux-gnu.tar.gz
Source60: https://github.com/JuliaBinaryWrappers/MPFR_jll.jl/releases/download/MPFR-v4.2.0+1/MPFR.v4.2.0.powerpc64le-linux-gnu.tar.gz#/MPFR.v4.2.0+1.powerpc64le-linux-gnu.tar.gz
Source61: https://github.com/JuliaBinaryWrappers/SuiteSparse_jll.jl/releases/download/SuiteSparse-v7.2.1+1/SuiteSparse.v7.2.1.powerpc64le-linux-gnu.tar.gz#/SuiteSparse.v7.2.1+1.powerpc64le-linux-gnu.tar.gz
Source62: https://github.com/JuliaBinaryWrappers/Zlib_jll.jl/releases/download/Zlib-v1.2.13+1/Zlib.v1.2.13.powerpc64le-linux-gnu.tar.gz#/Zlib.v1.2.13+1.powerpc64le-linux-gnu.tar.gz
Source63: https://github.com/JuliaBinaryWrappers/p7zip_jll.jl/releases/download/p7zip-v17.4.0+2/p7zip.v17.4.0.powerpc64le-linux-gnu.tar.gz#/p7zip.v17.4.0+2.powerpc64le-linux-gnu.tar.gz
Source64: https://github.com/JuliaBinaryWrappers/libblastrampoline_jll.jl/releases/download/libblastrampoline-v5.11.0+0/libblastrampoline.v5.11.0.powerpc64le-linux-gnu.tar.gz#/libblastrampoline.v5.11.0+0.powerpc64le-linux-gnu.tar.gz
Source100: gmp-6.2.1-arm64-invert_limb.patch
# PATCH-FIX-OPENSUSE julia-env-script-interpreter.patch ronisbr@gmail.com -- Change script interpreted to avoid errors in rpmlint.
Patch1: julia-env-script-interpreter.patch
# PATCH-FIX-OPENSUSE disable-doc-gen-in-makefile.patch -- this patch ACTUALLY DISABLES the offline builds 😉
Patch2: disable-doc-gen-in-makefile.patch
# PATCH-FIX-OPENSUSE -- Despite having no network, build looks for UnicodeData.txt (now Source3). Disabled with this patch.
Patch3: disable-download-of-unicode-for-doc-gen.patch
# Based on https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libunwind-1.6.patch?ref_type=heads -- System libunwind compatibility
# Patch4: julia-libunwind-1.9.patch
# Based of https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libcholmod-cuda.patch?ref_type=heads -- we don't have NVIDIA or any CUDA platform by default
Patch5: julia-remove-libcholmod_cuda.patch
# PATCH-FIX-OPENSUSE -- julia hardcodes looking for the libraries
Patch6: openlibm.patch
# PATCH-FIX-OPENSUSE -- Julia packages e.g. LibCURL_jll.jl uses dlopen for libraries
Patch7: julia-hardcoded-libs.patch
# PATCH-FIX-OPENSUSE -- A bug in MPFR which they describe in their INSTALL file. So we have to assist the mpfr.mk that julia uses.
Patch8: mpfr-looking-for-gmp-fix.patch
# # PATCH-FIX-OPENSUSE -- Respect openSUSE FSH
Patch9: deps-makefile.patch
Patch10: apply-gmp-arm64-invert_limb.patch
BuildRequires: ImageMagick
BuildRequires: autoconf
BuildRequires: ca-certificates
BuildRequires: cmake >= 3.22
BuildRequires: curl
BuildRequires: dos2unix
BuildRequires: double-conversion-devel
BuildRequires: fdupes
BuildRequires: fftw3-threads-devel >= 3.3.4
BuildRequires: gcc%{?force_gcc_version}
BuildRequires: gcc%{?force_gcc_version}-c++
BuildRequires: gcc-fortran
BuildRequires: git
BuildRequires: libboost_system-devel
BuildRequires: libboost_thread-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(cunit)
BuildRequires: pkgconfig(jansson)
BuildRequires: pkgconfig(libcares)
BuildRequires: pkgconfig(libev)
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(openssl) >= 1.1.1
BuildRequires: pkgconfig(zlib)
# Additional dependencies for libgit2
BuildRequires: fdupes
BuildRequires: gpg2
BuildRequires: libcurl-devel
BuildRequires: libexpat-devel
BuildRequires: pcre2-devel
BuildRequires: perl-Error
BuildRequires: perl-MailTools
BuildRequires: python3-base
BuildRequires: xz
# 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
# BuildRequires: libgit2-devel
BuildConflicts: gmp-devel
BuildConflicts: mpfr-devel
# BuildRequires: dSFMT-devel
# BuildRequires: libssh2-devel >= 1.9.0
BuildRequires: libnghttp2-devel
# BuildRequires: mbedtls-devel
# BuildRequires: pcre2-devel >= 10.31
BuildRequires: fipscheck
BuildRequires: glibc-devel
BuildRequires: hicolor-icon-theme
BuildRequires: libblastrampoline-devel
# BuildRequires: libunwind-devel >= 1.3.1
BuildRequires: libwhich
BuildRequires: m4
BuildRequires: make
BuildRequires: memory-constraints
BuildRequires: metis-devel
BuildRequires: ncurses-devel
BuildRequires: openlibm-devel
BuildRequires: openspecfun-devel
# I am not sure how or why they're different in Leap and Tumbleweed
%if 0%{?suse_version} > 1600
BuildRequires: p7zip
%else
BuildRequires: p7zip-full
%endif
BuildRequires: patchelf >= 0.9
BuildRequires: perl
BuildRequires: readline-devel
BuildRequires: tbb-devel
BuildRequires: update-desktop-files
BuildRequires: utf8proc-devel
BuildRequires: valgrind
BuildRequires: valgrind-devel
# Additional Build Requirements needed by LLVM15
BuildRequires: binutils-devel >= 2.21.90
BuildRequires: ccache
BuildRequires: fdupes
BuildRequires: libstdc++6-devel-gcc13
BuildRequires: libvmmalloc-devel
BuildRequires: ninja
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: python3-Sphinx
BuildRequires: python3-psutil
BuildRequires: python3-recommonmark
BuildRequires: python3-setuptools
BuildRequires: pkgconfig(libedit)
BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(zlib)
Requires: ca-certificates
Requires: p7zip >= 16
Requires: readline
# 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
BuildRequires: libgcc_s1
BuildRequires: libgfortran5
Requires: libgcc_s.so.1()(64bit)
Requires: libgfortran.so.5()(64bit)
Requires: libgomp.so.1()(64bit)
%else
BuildRequires: libgcc_s1
BuildRequires: libgfortran5
Requires: libgcc_s.so.1
Requires: libgfortran.so.5
Requires: libgomp.so.1
%endif
# Same as the previous comment. But the difference
# is that we applied julia-hardcoded-libs.patch
Requires: openlibm-devel
Requires: libblastrampoline-devel
# Requires: libgit2-devel
# Requires: libnghttp2-devel
# Requires: libssh2-devel
# Requires: mbedtls-devel
# Requires: suitesparse-devel
# Julia requires the devel package as well
# specifically libjulia.so
%if 0%{?compat_mode}
Requires: julia-compat-devel = %{version}
%else
Requires: julia-devel = %{version}
%endif
Requires(post): %{_sbindir}/update-alternatives
Requires(post): /sbin/ldconfig
Requires(postun): %{_sbindir}/update-alternatives
Requires(postun): /sbin/ldconfig
Recommends: curl
Recommends: git
Recommends: openssh-clients
# Recommends: gmp-devel
# Recommends: libcurl-devel
# Recommends: mpfr-devel
# Recommends: openspecfun-devel
# Recommends: pcre2-devel
# Recommends: suitesparse-devel
%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
Obsoletes: %{name} < %{version}
# NOTICE: Enabled for now
# Let's not be optimistic towards 32 bit support and other architectures
# openSUSE or Julia cannot guarantee to support, shall we? Only choose
# Tier1 architectures
# libquadmath is disabled in the aarch64 build of gcc. so we cannot
# include that as exclusive arches for now.
# %%if 0%%{?compat_mode}
# ExclusiveArch: x86_64 x86_64_v3
# %%else
# ExclusiveArch: x86_64 x86_64_v3 aarch64
# %%endif
%{?suse_build_hwcaps_libs}
%description
Julia is a high-level, high-performance dynamic programming language for
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.
This package is experimental and by no means supported by upstream. To use
upstream sources, you can use the alternative called juliaup.
%package devel
Summary: Julia development, debugging and testing files
Group: Development/Languages/Other
Requires: %{libname} = %{version}
%if 0%{?compat_mode}
Conflicts: julia-devel
Provides: julia-devel = %{version}
%endif
Obsoletes: %{name}-devel < %{version}
%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.
%package -n %{libname}
Summary: Julia shared object libraries
Group: System/Libraries
%if 0%{?compat_mode}
Conflicts: libjulia%{libjulia_sover_major}_%{libjulia_sover_minor}
Provides: libjulia%{libjulia_sover_major}_%{libjulia_sover_minor} = %{version}
%endif
Obsoletes: %{libname} < %{version}
%description -n %{libname}
Contains library files for interacting with Julia through C interfaces.
%prep
%autosetup -p1 -n julia-%{version}
# Copy https://www.unicode.org/Public/13.0.0/ucd/UnicodeData.txt to deps/srccache
cp -v %{SOURCE3} deps/srccache/UnicodeData-13.0.0.txt
# All bundled sources. Full.tar.gz is not full.tar.gz now eh?
cp -v %{SOURCE5} deps/srccache/
cp -v %{SOURCE6} deps/srccache/
cp -v %{SOURCE7} deps/srccache/
cp -v %{SOURCE8} deps/srccache/
cp -v %{SOURCE9} deps/srccache/
cp -v %{SOURCE10} deps/srccache/
cp -v %{SOURCE11} deps/srccache/
cp -v %{SOURCE12} deps/srccache/
cp -v %{SOURCE13} deps/srccache/
cp -v %{SOURCE14} deps/srccache/
cp -v %{SOURCE15} deps/srccache/
cp -v %{SOURCE16} deps/srccache/
cp -v %{SOURCE17} deps/srccache/
cp -v %{SOURCE18} deps/srccache/
cp -v %{SOURCE19} deps/srccache/
cp -v %{SOURCE20} deps/srccache/
cp -v %{SOURCE21} deps/srccache/
cp -v %{SOURCE22} deps/srccache/
cp -v %{SOURCE23} deps/srccache/
cp -v %{SOURCE24} deps/srccache/
cp -v %{SOURCE25} deps/srccache/
cp -v %{SOURCE25} deps/srccache/
cp -v %{SOURCE26} deps/srccache/
cp -v %{SOURCE27} deps/srccache/
cp -v %{SOURCE28} deps/srccache/
cp -v %{SOURCE29} deps/srccache/
cp -v %{SOURCE30} deps/srccache/
cp -v %{SOURCE31} deps/srccache/
cp -v %{SOURCE32} deps/srccache/
cp -v %{SOURCE33} deps/srccache/
cp -v %{SOURCE34} deps/srccache/
cp -v %{SOURCE35} deps/srccache/
cp -v %{SOURCE36} deps/srccache/
cp -v %{SOURCE37} deps/srccache/
cp -v %{SOURCE38} deps/srccache/
cp -v %{SOURCE39} deps/srccache/
cp -v %{SOURCE40} deps/srccache/
cp -v %{SOURCE41} deps/srccache/
cp -v %{SOURCE42} deps/srccache/
cp -v %{SOURCE43} deps/srccache/
cp -v %{SOURCE44} deps/srccache/
cp -v %{SOURCE100} deps/patches/
# JLDOWNLOAD SHOULD BE DISABLED IF WE HAVE THE FULL TARBALL (NOT USEFUL FOR OPENSUSE)
echo "true" | tee deps/tools/jldownload
# JLCHECKSUM SHOULD BE DISABLED IF WE HAVE THE SOURCES (NOT USEFUL FOR OPENSUSE)
echo "true" | tee deps/tools/jlchecksum
%build
%if 0%{?force_gcc_version}
export CC="gcc-%{?force_gcc_version}"
export CXX="g++-%{?force_gcc_version}"
%endif
export CFLAGS="%{optflags} -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"
export CXXFLAGS="%{optflags} -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"
# 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}/
%if 0%{?suse_version} > 1600
ln -sf %{_libdir}/libgcc_s.so.1 %{_builddir}/%{buildsubdir}/build/%{_libdir}/libgcc_s.so.1
%else
ln -sf /%{_lib}/libgcc_s.so.1 %{_builddir}/%{buildsubdir}/build/%{_libdir}/libgcc_s.so.1
%endif
# I am not sure why Julia cannot find also libgfortran5.so on Leap...
ln -sf %{_libdir}/libgfortran.so.5 %{_builddir}/%{buildsubdir}/build/%{_libdir}/libgfortran.so.5
# Idk how it can't find libblastrampoline?
ln -sf %{_libdir}/libblastrampoline.so %{_builddir}/%{buildsubdir}/build/%{_libdir}/libblastrampoline.so
export LD_LIBRARY_PATH="%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:/usr/lib64:/usr/lib"
make MARCH=%{julia_march} prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" -C deps install-pcre %{__julia_opts}
make MARCH=%{julia_march} prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" -C deps install-openblas %{__julia_opts}
make MARCH=%{julia_march} prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" -C deps install-mbedtls %{__julia_opts}
make MARCH=%{julia_march} prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" -C deps install-libssh2 %{__julia_opts}
make MARCH=%{julia_march} prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" -C deps install-libsuitesparse %{__julia_opts}
make MARCH=%{julia_march} prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" -C deps install-libuv %{__julia_opts}
make MARCH=%{julia_march} prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" -C deps install-gmp %{__julia_opts}
make MARCH=%{julia_march} prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" -C deps install-mpfr %{__julia_opts}
make MARCH=%{julia_march} prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" -C deps install-nghttp2 %{__julia_opts}
make MARCH=%{julia_march} prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" -C deps install-libgit2 %{__julia_opts}
make MARCH=%{julia_march} prefix=%{_prefix} libdir=%{_libdir} bindir=%{_bindir} build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" -C deps install-llvm %{__julia_opts}
# Based on fedora specfile
# Work around bug that prompts zlib to be downloaded even when not used
# https://github.com/JuliaLang/julia/pull/42524/files#r734972945
# sed "s/ \$(build_prefix)\\/manifest\\/zlib//" -i deps/llvm.mk
%if 0%{?suse_version} > 1600
RELEASE_BANNER="openSUSE Tumbleweed - Built on $(date -u)"
%else
SLE_VERSION="$(echo %{sle_version} | sed -E 's|^(15)0([0-9])00|\1.\2|m')"
RELEASE_BANNER="openSUSE Leap ${SLE_VERSION} - Built on $(date -u)"
%endif
make %{?_smp_mflags} \
MARCH="%{julia_march}" \
%ifarch x86_64 || x86_64_v3
JULIA_CPU_TARGET="generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1);x86_64-v4,-rdrnd,base(1)" \
%endif
%ifarch i686
JULIA_CPU_TARGET="pentium4" \
%endif
%ifarch armv7l
JULIA_CPU_TARGET="armv7-a;armv7-a,neon;armv7-a,neon,vfp4" \
%endif
%ifarch aarch64
JULIA_CPU_TARGET="generic;cortex-a57;thunderx2t99;carmel,clone_all" \
%endif
%ifarch pp64le
JULIA_CPU_TARGET="pwr8" \
%endif
build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" \
build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" \
prefix="%{_prefix}" \
bindir="%{_bindir}" \
libdir="%{_libdir}" \
libexecdir="%{_libexecdir}" \
datarootdir="%{_datarootdir}" \
includedir="%{_includedir}" \
sysconfdir="%{_sysconfdir}" \
%{__julia_opts} \
%if 0%{?suse_version} > 1600
TAGGED_RELEASE_BANNER="${RELEASE_BANNER}" \
%else
TAGGED_RELEASE_BANNER="${RELEASE_BANNER}" \
%endif
release
# This may fix other issues where libLLVM-15jl.so is not properly copied?
if [ "x%{_lib}" != xlib ] ; then
cp -a %{_builddir}/%{buildsubdir}/build/usr/lib/* %{_builddir}/%{buildsubdir}/build/%{_libdir}
rm -rf %{_builddir}/%{buildsubdir}/build/usr/lib/
fi
%check
export CFLAGS="%{optflags} -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"
export CXXFLAGS="%{optflags} -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"
%if 0%{?force_gcc_version}
export CC="gcc-%{?force_gcc_version}"
export CXX="g++-%{?force_gcc_version}"
%endif
# Failures are to be expected if tests are done
# - int.jl not being found. see https://github.com/JuliaLang/julia/pull/53682#issuecomment-1992420825
# - Dates printing inconsistent. see https://github.com/JuliaLang/julia/issues/34655
# - hard-coded libs for non-impactful libraries e.g. zlib or mbedtls. see https://github.com/JuliaLang/julia/pull/38347#discussion_r574819534.
# understandable if LLVM and other patched libraries but for unpatched ones, i am not sure if it is a strict requirement but reports
# say mbedtls and similar work just fine.
# I might have to disable the tests for now
export CFLAGS="%{optflags} -Wno-error=implicit-function-declaration"
export CXXFLAGS="%{optflags} -Wno-error=implicit-function-declaration"
export LD_LIBRARY_PATH="%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:/usr/lib64:/usr/lib"
pushd %{_builddir}/%{buildsubdir}/test
# DISABLED FOR NOW
# ../julia --check-bounds=yes --startup-file=no ./runtests.jl || true
# Printing the version just for the sake of printing the version
../julia --version
popd
%install
%if 0%{?force_gcc_version}
export CC="gcc-%{?force_gcc_version}"
export CXX="g++-%{?force_gcc_version}"
%endif
export CFLAGS="%{optflags} -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"
export CXXFLAGS="%{optflags} -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"
export DEPS_GIT=0
export BUILD_LLD=1
export BUILD_LLDB=1
export LD_LIBRARY_PATH="%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:/usr/lib64:/usr/lib"
%if 0%{?suse_version} > 1600
RELEASE_BANNER="openSUSE Tumbleweed - Built on $(date -u)"
%else
SLE_VERSION="$(echo %{sle_version} | sed -E 's|^(15)0([0-9])00|\1.\2|m')"
RELEASE_BANNER="openSUSE Leap ${SLE_VERSION} - Built on $(date -u)"
%endif
make install DESTDIR="%{buildroot}" \
MARCH="%{julia_march}" \
%ifarch x86_64 || x86_64_v3
JULIA_CPU_TARGET="generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1);x86_64-v4,-rdrnd,base(1)" \
%endif
%ifarch i686
JULIA_CPU_TARGET="pentium4" \
%endif
%ifarch armv7l
JULIA_CPU_TARGET="armv7-a;armv7-a,neon;armv7-a,neon,vfp4" \
%endif
%ifarch aarch64
JULIA_CPU_TARGET="generic;cortex-a57;thunderx2t99;carmel,clone_all" \
%endif
%ifarch pp64le
JULIA_CPU_TARGET="pwr8" \
%endif
build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" \
build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" \
prefix="%{_prefix}" \
bindir="%{_bindir}" \
libdir="%{_libdir}" \
libexecdir="%{_libexecdir}" \
datarootdir="%{_datarootdir}" \
includedir="%{_includedir}" \
sysconfdir="%{_sysconfdir}" \
%{__julia_opts} \
%if 0%{?suse_version} > 1600
TAGGED_RELEASE_BANNER="${RELEASE_BANNER}"
%else
TAGGED_RELEASE_BANNER="${RELEASE_BANNER}"
%endif
# Fix dangling symlinks
ln -sf %{_libdir}/libblastrampoline.so %{buildroot}%{_libdir}/julia/libblastrampoline.so
%if 0%{?suse_version} > 1600
ln -sf %{_libdir}/libgcc_s.so.1 %{buildroot}%{_libdir}/julia/libgcc_s.so.1
%else
ln -sf /%{_lib}/libgcc_s.so.1 %{buildroot}%{_libdir}/julia/libgcc_s.so.1
%endif
ln -sf %{_libdir}/libgfortran.so.5 %{buildroot}%{_libdir}/julia/libgfortran.so.5
ln -sf %{_libdir}/libcurl.so %{buildroot}%{_libdir}/julia/libcurl.so.4
# GZip man page.
gzip %{buildroot}/%{_mandir}/man1/julia.1
rm -f %{buildroot}%{_libdir}/julia/libuv.a
rm -f %{buildroot}%{_datadir}/julia/base/build.h
rm -f %{buildroot}%{_datadir}/julia/base/Makefile
# Fix documentation directories.
mkdir -p %{buildroot}%{_docdir}/julia
mv -f %{buildroot}%{_datadir}/doc/julia/* %{buildroot}%{_docdir}/julia/
rm -r %{buildroot}%{_datadir}/doc/julia
ln -sfv /var/lib/ca-certificates/ca-bundle.pem %{buildroot}%{_datadir}/julia/cert.pem # Needed by some julia packages
# Remove execution permission on documentation files.
chmod -x+X -R %{buildroot}%{_docdir}/julia/*
# Prevent find-debuginfo from touching precompiled caches as it
# changes checksums, which invalidates them
chmod -x %{buildroot}%{_datarootdir}/julia/compiled/*/*/*.so
# Install .desktop file and icons
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/
cp -p contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
convert -scale 16x16 -extent 16x16 -gravity center -background transparent \
contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
convert -scale 24x24 -extent 24x24 -gravity center -background transparent \
contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{name}.png
convert -scale 32x32 -extent 32x32 -gravity center -background transparent \
contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
convert -scale 48x48 -extent 48x48 -gravity center -background transparent \
contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
convert -scale 256x256 -extent 256x256 -gravity center -background transparent \
contrib/julia.svg %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
# Remove hidden files and zero-length files and directories from stdlib.
pushd %{buildroot}
find . -name ".codecov.yml" -prune -execdir rm -rf {} \;
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 {} \;
find . -name "*.orig" -prune -execdir rm -rf {} \;
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
%suse_update_desktop_file -r julia Science Math
mv %{buildroot}%{_bindir}/julia %{buildroot}%{_bindir}/julia-base
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
if [ "x%{_lib}" != xlib ] ; then
mkdir -p %{buildroot}%{_prefix}/lib
ln -sf %{_libdir}/julia %{buildroot}%{_prefix}/lib/julia
fi
ln -sf %{_sysconfdir}/alternatives/julia %{buildroot}%{_bindir}/julia
# Julia has a custom compiled LLVM sofile with a good name. We need
# it to be discoverable in LD_LIBRARY_PATHs
# so it can be dlopened for libLLVM_jll
ln -sf %{_libdir}/julia/libLLVM-15jl.so %{buildroot}%{_libdir}/libLLVM-15jl.so
# Attempt to convert all eol encodings to Unix
find %{buildroot} -type f -execdir dos2unix -k {} \;
# make it executable
chmod +x %{buildroot}%{_datadir}/julia/stdlib/v1.10/SparseArrays/gen/generator.jl
# Remove duplicated files.
%fdupes -s %{buildroot}%{_datadir}/julia
# Remove libtool leftovers
find %{buildroot} -type f -name "*.la" -delete -print
# Set RPATHs for libmpfr.so from julia
patchelf --set-rpath "%{_libdir}/julia:%{_libdir}:%{_prefix}/lib" "%{buildroot}%{_libdir}/julia/libmpfr.so"
%post
%{_sbindir}/update-alternatives --install %{_bindir}/julia \
julia %{_bindir}/julia-base 5
%postun
if [ ! -f %{_bindir}/julia-base ] ; then
%{_sbindir}/update-alternatives --remove julia %{_bindir}/julia-base
fi
%ldconfig_scriptlets -n %{libname}
%files
%doc CONTRIBUTING.md NEWS.md README.md
%license LICENSE.md
%ghost %{_bindir}/julia
%ghost %{_sysconfdir}/alternatives/julia
%{_bindir}/julia-base
%dir %{_datadir}/julia
%{_datadir}/julia/base
%{_datadir}/julia/base.cache
%{_datadir}/julia/stdlib
%{_datadir}/julia/compiled*
%{_datadir}/julia/cert.pem
%dir %{_libexecdir}/julia
%{_libexecdir}/julia/*
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
%{_datadir}/icons/hicolor/24x24/apps/%{name}.png
%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
%if !%{?compat_mode}
%dir %{_datadir}/appdata/
%{_datadir}/appdata/julia.appdata.xml
%dir %{_docdir}/julia
%{_docdir}/julia/*
%endif
%{_datadir}/applications/julia.desktop
%{_prefix}/lib/julia
%{_libdir}/julia/
%{_mandir}/man1/julia.1%{?ext_man}
%{_libdir}/libLLVM-15jl.so
%dir %{_sysconfdir}/julia/
%config(noreplace) %{_sysconfdir}/julia/startup.jl
%files devel
%{_datadir}/julia/test/
%{_datadir}/julia/julia-config.jl
%{_includedir}/julia/
%{_libdir}/libjulia.so
%files -n %{libname}
%{_libdir}/libjulia.so.*
%changelog

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,25 @@
diff -ruN julia-1.10.3.orig/deps/mpfr.mk julia-1.10.3/deps/mpfr.mk
--- julia-1.10.3.orig/deps/mpfr.mk 2024-05-10 23:13:57.440776105 +0800
+++ julia-1.10.3/deps/mpfr.mk 2024-05-12 17:15:31.003123811 +0800
@@ -1,19 +1,15 @@
## MPFR ##
include $(SRCDIR)/mpfr.version
-ifeq ($(USE_SYSTEM_GMP), 0)
$(BUILDDIR)/mpfr-$(MPFR_VER)/build-configured: | $(build_prefix)/manifest/gmp
-endif
ifneq ($(USE_BINARYBUILDER_MPFR),1)
MPFR_CONFIGURE_OPTS := $(CONFIGURE_COMMON)
MPFR_CONFIGURE_OPTS += --enable-thread-safe --enable-shared-cache --disable-float128 --disable-decimal-float
MPFR_CONFIGURE_OPTS += --enable-shared --disable-static
-
-ifeq ($(USE_SYSTEM_GMP), 0)
-MPFR_CONFIGURE_OPTS += --with-gmp=$(abspath $(build_prefix))
-endif
+MPFR_CONFIGURE_OPTS += --with-gmp-lib=$(abspath $(build_prefix))/lib64
+MPFR_CONFIGURE_OPTS += --with-gmp-include=$(abspath $(build_prefix))/include
ifeq ($(SANITIZE),1)
# Force generic C build

View File

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

View File

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

View File

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

19
openlibm.patch Normal file
View File

@ -0,0 +1,19 @@
From: Soc Virnyl Estela <contact@uncomfyhalomacro.pl>
Date: Sat, 09 Dec 2023 16:30:31 +0800
Subject: Explicity declaration of openlibm library location
Openlibm is located at /usr/lib.
---
diff -ruN julia-1.9.4.orig/Make.inc julia/Make.inc
--- julia-1.9.4.orig/Make.inc 2023-12-08 06:25:53.640851723 +0800
+++ julia/Make.inc 2023-12-08 12:47:48.403970277 +0800
@@ -1111,7 +1111,7 @@
LIBM := -lm
LIBMNAME := libm
else
-LIBM := -lopenlibm
+LIBM := -L/usr/lib -lopenlibm
LIBMNAME := libopenlibm
endif

View File

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

View File

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

View File

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