forked from pool/julia
Compare commits
94 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 3f2f7d97d3 | |||
|
|
55e0d9c4fb | ||
|
|
f91a5450b8 | ||
|
|
1ed72d2c95 | ||
|
|
63795eca15 | ||
|
|
8d1d991e5c | ||
|
|
9230b594ec | ||
|
|
8a41e54caa | ||
|
|
1cd3515f7c | ||
|
|
0c47d532ec | ||
|
|
8e6774daf7 | ||
|
|
4c54c84096 | ||
|
|
b6b2c3cd97 | ||
| c34a3be50b | |||
|
|
dfe1566d9e | ||
|
|
ab0813dc4d | ||
| 1b7ea5a109 | |||
|
|
0cfc538664 | ||
|
|
814989a3ce | ||
|
|
9405ea9450 | ||
| 603218e538 | |||
|
|
60842d7b09 | ||
| 78bf5f278a | |||
|
|
622039eb91 | ||
| 35071ccf6f | |||
|
|
7f1a6f7f11 | ||
|
|
b65c5d0614 | ||
|
|
e17fe2bfae | ||
|
|
b161f2174b | ||
|
|
e3c10a5a0f | ||
|
|
6a45a5f82b | ||
|
|
4ceed53cc6 | ||
|
|
e54d41ac2d | ||
|
|
8255831912 | ||
|
|
dc828ba32d | ||
|
|
144a3cff1f | ||
|
|
6cdbfa5905 | ||
|
|
5b042b1a07 | ||
|
|
3a380edcee | ||
|
|
f8215eb82a | ||
|
|
1c0c715125 | ||
|
|
d94f310055 | ||
|
|
733984b498 | ||
|
|
1844eac72b | ||
|
|
a59694c308 | ||
|
|
a84591d305 | ||
|
|
f24e77d885 | ||
|
|
db4bcf792e | ||
|
|
18bf470483 | ||
|
|
e76bee6dab | ||
|
|
991a5713c3 | ||
|
|
5f3ac1eeb9 | ||
|
|
1d068d93d4 | ||
|
|
6071230c6f | ||
|
|
c61f5d5ce1 | ||
|
|
a862517ae0 | ||
|
|
c156e29ea0 | ||
|
|
118a3c30c3 | ||
|
|
659ee38811 | ||
|
|
ba1b5a1f10 | ||
|
|
6b9d690f48 | ||
|
|
05472e8435 | ||
|
|
a736511f33 | ||
|
|
0461c42d82 | ||
|
|
3705e039ae | ||
|
|
84be6e2e10 | ||
|
|
6e302b0a42 | ||
|
|
01f829a0cd | ||
|
|
9a313787b1 | ||
|
|
456696edc2 | ||
|
|
604f11ab4e | ||
|
|
f7c9eecdd9 | ||
|
|
83f04e8ac4 | ||
| 9129eba6d9 | |||
|
|
1c685c49b5 | ||
|
|
f11d114e34 | ||
|
|
046f62d9d2 | ||
|
|
4b0124e32c | ||
|
|
3d0bc4144f | ||
|
|
0df6fe2797 | ||
|
|
b9ab29a5ec | ||
|
|
80166d06a0 | ||
|
|
0b4430c4d7 | ||
|
|
5b5486e045 | ||
|
|
c2ff07ed39 | ||
|
|
b42ea1f83f | ||
|
|
89b7b38d8c | ||
|
|
6babdb9cd7 | ||
|
|
40226658e8 | ||
|
|
c7a05ef11f | ||
|
|
2c9fb3e602 | ||
|
|
509204afcb | ||
|
|
0eec3b1d56 | ||
| a460fccb88 |
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d7afaf2ef1b60e4131f0f6afd16561fbe09cc3276a4805ba45bf06f08d63ae0f
|
||||||
|
size 20763581
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7936acdfae16b6e944bbf87375c23b6dd0deceb90d625917fa7024b094968a11
|
||||||
|
size 21275184
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8e72a9e5bf0b849011f3707671dc19bcbc40f6fa7b21cfb290d26b4bd2aed877
|
||||||
|
size 22932730
|
||||||
3
GMP.v6.2.1+6.aarch64-linux-gnu-cxx11.tar.gz
Normal file
3
GMP.v6.2.1+6.aarch64-linux-gnu-cxx11.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a6a159f3f4f6e1e79c6af19ab446257f798efd066c5b2ab3ea2c8db68a0f18bc
|
||||||
|
size 445144
|
||||||
3
GMP.v6.2.1+6.powerpc64le-linux-gnu-cxx11.tar.gz
Normal file
3
GMP.v6.2.1+6.powerpc64le-linux-gnu-cxx11.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c47825e55c671de055c0e61d289d463230834edfc3920a67ef62eb4b8527e058
|
||||||
|
size 476586
|
||||||
3
GMP.v6.2.1+6.x86_64-linux-gnu-cxx11.tar.gz
Normal file
3
GMP.v6.2.1+6.x86_64-linux-gnu-cxx11.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:cb20b68a814c37fa091f38a83f160c5025ecf3234401758c9ca820b10adc58b0
|
||||||
|
size 528807
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6c54e2c5500731f3c3703b592a97d9bf3e63ef0d30aab9106d8531f2a8cc1204
|
||||||
|
size 4914229
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:628e331c5e9515f678419047c61bb5cbfe31d7f4d5c5fc988b035110e8dce9b1
|
||||||
|
size 5326792
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:be83e539493fe532f65bcd3220a7704ceae8fd9ef5dca64ff169b50ee083aee2
|
||||||
|
size 5231424
|
||||||
3
LibCURL.v8.4.0+0.aarch64-linux-gnu.tar.gz
Normal file
3
LibCURL.v8.4.0+0.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:47063bdbf7a700422211a56eac5ceecad1134c37162c43aac248c779aeb74563
|
||||||
|
size 707448
|
||||||
3
LibCURL.v8.4.0+0.powerpc64le-linux-gnu.tar.gz
Normal file
3
LibCURL.v8.4.0+0.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f76cc3f148e278170cbccf4d2f23842f61c06b0ccfad16209b2faa284a582a45
|
||||||
|
size 747133
|
||||||
3
LibCURL.v8.4.0+0.x86_64-linux-gnu.tar.gz
Normal file
3
LibCURL.v8.4.0+0.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e09a6e894971a7d390d578ce61e73297865321afae4e2d7d751ea1cc205d5517
|
||||||
|
size 749418
|
||||||
3
LibGit2.v1.6.4+0.aarch64-linux-gnu.tar.gz
Normal file
3
LibGit2.v1.6.4+0.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d729cee7318431c7ec3d641bbaecfb2285395a985c55df905d14b92879bd3eac
|
||||||
|
size 856789
|
||||||
3
LibGit2.v1.6.4+0.powerpc64le-linux-gnu.tar.gz
Normal file
3
LibGit2.v1.6.4+0.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e81dfd183d2af8cb4c19fd12f17e03b2d5580c7a460addc0c1aaf6315548feb5
|
||||||
|
size 955285
|
||||||
3
LibGit2.v1.6.4+0.x86_64-linux-gnu.tar.gz
Normal file
3
LibGit2.v1.6.4+0.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:927ae04d2bbd6cabf064d161beb02af8e04a5077a5028539f75500b2af3a7642
|
||||||
|
size 952168
|
||||||
3
LibSSH2.v1.11.0+1.aarch64-linux-gnu.tar.gz
Normal file
3
LibSSH2.v1.11.0+1.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4677fdc4c3b673456d3a4d129821383d69d736d95dcaeaabe8f3a760efcb9a33
|
||||||
|
size 410826
|
||||||
3
LibSSH2.v1.11.0+1.powerpc64le-linux-gnu.tar.gz
Normal file
3
LibSSH2.v1.11.0+1.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8565ee46336ba53e930730a66e35523dcd27a3c52d4024ad04ed680545584d5b
|
||||||
|
size 441415
|
||||||
3
LibSSH2.v1.11.0+1.x86_64-linux-gnu.tar.gz
Normal file
3
LibSSH2.v1.11.0+1.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:51ea9f9fb5a5f736db6ec645c782540685e3740dbe99ad8cde3d96029dc3c7f9
|
||||||
|
size 431463
|
||||||
3
LibUV.v2.0.1+14.aarch64-linux-gnu.tar.gz
Normal file
3
LibUV.v2.0.1+14.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6cdf3c08e18925d632601796d8ab3022519c7f1a5e68b4b1a6eea644348cef56
|
||||||
|
size 693211
|
||||||
3
LibUV.v2.0.1+14.powerpc64le-linux-gnu.tar.gz
Normal file
3
LibUV.v2.0.1+14.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:86e5d2ffa8c07c7101bb291b211486dbfc15deb24aec68af3a3727ee60a6e589
|
||||||
|
size 649465
|
||||||
3
LibUV.v2.0.1+14.x86_64-linux-gnu.tar.gz
Normal file
3
LibUV.v2.0.1+14.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d346e1bb7e711ecd57268977963e9d6ad5756de4da76eb47513f949bb8fde751
|
||||||
|
size 622742
|
||||||
3
LibUnwind.v1.5.0+5.aarch64-linux-gnu.tar.gz
Normal file
3
LibUnwind.v1.5.0+5.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:16cf1d96c775a6195451a8402f96ac61e19125ac4841bd9b4d6c6c7f589482bf
|
||||||
|
size 1283293
|
||||||
3
LibUnwind.v1.5.0+5.powerpc64le-linux-gnu.tar.gz
Normal file
3
LibUnwind.v1.5.0+5.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a2f95e19da0bc2162619eb9e714e8f2e55d13bd6a2db7859943386853692f2d5
|
||||||
|
size 1086558
|
||||||
3
LibUnwind.v1.5.0+5.x86_64-linux-gnu.tar.gz
Normal file
3
LibUnwind.v1.5.0+5.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9aa77c84e6cd934512cd713e53592f7deef6776da544af858e95a55e277bdf20
|
||||||
|
size 1208108
|
||||||
3
MPFR.v4.2.0+1.aarch64-linux-gnu.tar.gz
Normal file
3
MPFR.v4.2.0+1.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:87118c29a52fc11fffd56829a2de0298da514bbd125aaaf6a08937e666687006
|
||||||
|
size 884650
|
||||||
3
MPFR.v4.2.0+1.powerpc64le-linux-gnu.tar.gz
Normal file
3
MPFR.v4.2.0+1.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:be1b3270c1b2e3c417dbfe23b0dd70acb7c5eca493ec4122cb441514dd27c960
|
||||||
|
size 921950
|
||||||
3
MPFR.v4.2.0+1.x86_64-linux-gnu.tar.gz
Normal file
3
MPFR.v4.2.0+1.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:612de389397df50248bf882d1ca4419e20417e058986263de6cf4f4c84fdb4d1
|
||||||
|
size 891545
|
||||||
3
MbedTLS.v2.28.2+1.aarch64-linux-gnu.tar.gz
Normal file
3
MbedTLS.v2.28.2+1.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a08415399b0c1be7b0c4e4ecc8edfc4d11e31c98b9a152a80d639e3efff7c120
|
||||||
|
size 2097771
|
||||||
3
MbedTLS.v2.28.2+1.powerpc64le-linux-gnu.tar.gz
Normal file
3
MbedTLS.v2.28.2+1.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6e46314ab56c694e4da7d3c7df018c27d0554f5370fea2258c000a23e90382fe
|
||||||
|
size 2253652
|
||||||
3
MbedTLS.v2.28.2+1.x86_64-linux-gnu.tar.gz
Normal file
3
MbedTLS.v2.28.2+1.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a31ed4ff6032ad2c3ec1afae9c6a668618973b2380d3a7bf65e92e83a210415e
|
||||||
|
size 2178218
|
||||||
3
OpenBLAS.v0.3.23+4.aarch64-linux-gnu-libgfortran5.tar.gz
Normal file
3
OpenBLAS.v0.3.23+4.aarch64-linux-gnu-libgfortran5.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:30a374c4f157c49af80b51f2733a94f2a6a1c3444ed68194fa53c6204e9b35bd
|
||||||
|
size 7439063
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ca302adb7ff19ea8defe2c84ceffd0db735394212ba9afdd714c967de1f9d5fe
|
||||||
|
size 6638089
|
||||||
3
OpenBLAS.v0.3.23+4.x86_64-linux-gnu-libgfortran5.tar.gz
Normal file
3
OpenBLAS.v0.3.23+4.x86_64-linux-gnu-libgfortran5.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1961f07a0708e837467b47ce844249a1d58cb1d319cc09b6f4ca112e797968a5
|
||||||
|
size 9531958
|
||||||
3
OpenLibm.v0.8.1+2.aarch64-linux-gnu.tar.gz
Normal file
3
OpenLibm.v0.8.1+2.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4ae803cabe094675aafccb590e47e0c5e682be787b9aa70d8dc97186d300016b
|
||||||
|
size 329479
|
||||||
3
OpenLibm.v0.8.1+2.powerpc64le-linux-gnu.tar.gz
Normal file
3
OpenLibm.v0.8.1+2.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:884461cb9037cb383fbee6e92f0e1f8c5a7f0b8420fcf5c10d3c3c060a7d2b70
|
||||||
|
size 201113
|
||||||
3
OpenLibm.v0.8.1+2.x86_64-linux-gnu.tar.gz
Normal file
3
OpenLibm.v0.8.1+2.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:164a5349b6cdcce409e5277afb752b8f4a270b98229d0ab5d626848e7dbdb86e
|
||||||
|
size 268364
|
||||||
3
PCRE2.v10.42.0+1.aarch64-linux-gnu.tar.gz
Normal file
3
PCRE2.v10.42.0+1.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:cda05df078a687378d2e957767bfcd977fbb154381b495d25f96f8611ad2f4cd
|
||||||
|
size 2166988
|
||||||
3
PCRE2.v10.42.0+1.powerpc64le-linux-gnu.tar.gz
Normal file
3
PCRE2.v10.42.0+1.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5ab4757a03fb81e6db6b2dff255350fe65857361a647cca59dda0e792d65ff0c
|
||||||
|
size 2339780
|
||||||
3
PCRE2.v10.42.0+1.x86_64-linux-gnu.tar.gz
Normal file
3
PCRE2.v10.42.0+1.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:0d18594db4906bdc81af7ebea8f1b6357394189b2e586bf9ef2225ce858636a2
|
||||||
|
size 2332880
|
||||||
3
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
Normal file
3
SuiteSparse.v7.2.1+1.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fb163789fd69ee871e570add5d98f7cddcd5706cb7af704e4aaec3f14688bb42
|
||||||
|
size 1369667
|
||||||
3
SuiteSparse.v7.2.1+1.powerpc64le-linux-gnu.tar.gz
Normal file
3
SuiteSparse.v7.2.1+1.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a175a680cbccb574b5ad17b2c98b833918249e1e5a1f024ba4f53aecb90b288a
|
||||||
|
size 1571419
|
||||||
3
SuiteSparse.v7.2.1+1.x86_64-linux-gnu.tar.gz
Normal file
3
SuiteSparse.v7.2.1+1.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fc5a6683cd8d9d6712d34c6bc7d02beac38c9da3aec5ccf392baf58dbb862893
|
||||||
|
size 1476769
|
||||||
33797
UnicodeData.txt
Normal file
33797
UnicodeData.txt
Normal file
File diff suppressed because it is too large
Load Diff
3
Zlib.v1.2.13+1.aarch64-linux-gnu.tar.gz
Normal file
3
Zlib.v1.2.13+1.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:bf861aa618865fb20ca228c42370ca6bd6aefeb5291954f7c4cbd28b0c9a5a27
|
||||||
|
size 146800
|
||||||
3
Zlib.v1.2.13+1.powerpc64le-linux-gnu.tar.gz
Normal file
3
Zlib.v1.2.13+1.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e73e8d611ac5c850b796dfb637ac31e5b9ef2e9b9c7e2c93f504c74987f50ad9
|
||||||
|
size 152417
|
||||||
3
Zlib.v1.2.13+1.x86_64-linux-gnu.tar.gz
Normal file
3
Zlib.v1.2.13+1.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:46678eabc97358858872a85192903f427288f9ea814bddc6b3e81a8681b63da4
|
||||||
|
size 156413
|
||||||
15
apply-gmp-arm64-invert_limb.patch
Normal file
15
apply-gmp-arm64-invert_limb.patch
Normal 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 > $@
|
||||||
|
|
||||||
3
dSFMT.v2.2.4+4.aarch64-linux-gnu.tar.gz
Normal file
3
dSFMT.v2.2.4+4.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fd2147de47079f541abf1e740c89fd5428a83b23b42137b7d1ffa19d3e1c0076
|
||||||
|
size 7210
|
||||||
3
dSFMT.v2.2.4+4.powerpc64le-linux-gnu.tar.gz
Normal file
3
dSFMT.v2.2.4+4.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d5308c8331dbff504ad695fc9ca97724f407ade82af24ecda7471c95c554e354
|
||||||
|
size 9039
|
||||||
3
dSFMT.v2.2.4+4.x86_64-linux-gnu.tar.gz
Normal file
3
dSFMT.v2.2.4+4.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:438e961781bfa19a281c610a92755d53182f8da0c093aa529451e58e7379b382
|
||||||
|
size 6617
|
||||||
20
disable-doc-gen-in-makefile.patch
Normal file
20
disable-doc-gen-in-makefile.patch
Normal 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."
|
||||||
11
disable-download-of-unicode-for-doc-gen.patch
Normal file
11
disable-download-of-unicode-for-doc-gen.patch
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
diff -ruN julia-1.10.0.orig/doc/Makefile julia-1.10.0/doc/Makefile
|
||||||
|
--- julia-1.10.0.orig/doc/Makefile 2023-12-27 12:31:21.472814814 +0800
|
||||||
|
+++ julia-1.10.0/doc/Makefile 2023-12-28 12:02:09.068566373 +0800
|
||||||
|
@@ -28,7 +28,6 @@
|
||||||
|
UNICODE_DATA_VERSION=13.0.0
|
||||||
|
$(SRCCACHE)/UnicodeData-$(UNICODE_DATA_VERSION).txt:
|
||||||
|
@mkdir -p "$(SRCCACHE)"
|
||||||
|
- $(JLDOWNLOAD) "$@" https://www.unicode.org/Public/$(UNICODE_DATA_VERSION)/ucd/UnicodeData.txt
|
||||||
|
|
||||||
|
deps: $(SRCCACHE)/UnicodeData-$(UNICODE_DATA_VERSION).txt
|
||||||
|
$(JLCHECKSUM) "$<"
|
||||||
14
gmp-6.2.1-arm64-invert_limb.patch
Normal file
14
gmp-6.2.1-arm64-invert_limb.patch
Normal 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.5-full.tar.gz
Normal file
3
julia-1.10.5-full.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5fc94159b87f34d18bf44a1a940e59f40cbeab931bfdc0c4763203bbb6995260
|
||||||
|
size 318683963
|
||||||
17
julia-1.10.5-full.tar.gz.asc
Normal file
17
julia-1.10.5-full.tar.gz.asc
Normal 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-----
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:61843b9647fd06d3b2994f3277a64de1cb5a5a5297d930b8c8e3bc0e93740024
|
|
||||||
size 294983229
|
|
||||||
@@ -1,28 +1,3 @@
|
|||||||
diff --git a/stdlib/nghttp2_jll/src/nghttp2_jll.jl b/stdlib/nghttp2_jll/src/nghttp2_jll.jl
|
|
||||||
index 8b98c76ac5..77ad9e3800 100644
|
|
||||||
--- a/stdlib/nghttp2_jll/src/nghttp2_jll.jl
|
|
||||||
+++ b/stdlib/nghttp2_jll/src/nghttp2_jll.jl
|
|
||||||
@@ -22,7 +22,7 @@ if Sys.iswindows()
|
|
||||||
elseif Sys.isapple()
|
|
||||||
const libnghttp2 = "@rpath/libnghttp2.14.dylib"
|
|
||||||
else
|
|
||||||
- const libnghttp2 = "libnghttp2.so.14"
|
|
||||||
+ const libnghttp2 = "libnghttp2.so"
|
|
||||||
end
|
|
||||||
|
|
||||||
function __init__()
|
|
||||||
diff --git a/stdlib/LibGit2_jll/src/LibGit2_jll.jl b/stdlib/LibGit2_jll/src/LibGit2_jll.jl
|
|
||||||
index f0d4b5dda6..2ed3017b51 100644
|
|
||||||
--- a/stdlib/LibGit2_jll/src/LibGit2_jll.jl
|
|
||||||
+++ b/stdlib/LibGit2_jll/src/LibGit2_jll.jl
|
|
||||||
@@ -23,7 +23,7 @@ if Sys.iswindows()
|
|
||||||
elseif Sys.isapple()
|
|
||||||
const libgit2 = "@rpath/libgit2.1.5.dylib"
|
|
||||||
else
|
|
||||||
- const libgit2 = "libgit2.so.1.5"
|
|
||||||
+ const libgit2 = "libgit2.so"
|
|
||||||
end
|
|
||||||
|
|
||||||
function __init__()
|
function __init__()
|
||||||
diff --git a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
|
diff --git a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl
|
||||||
index 215de8aed6..918d1ffdc2 100644
|
index 215de8aed6..918d1ffdc2 100644
|
||||||
@@ -37,38 +12,21 @@ index 215de8aed6..918d1ffdc2 100644
|
|||||||
end
|
end
|
||||||
|
|
||||||
function __init__()
|
function __init__()
|
||||||
diff --git a/stdlib/SuiteSparse_jll/src/SuiteSparse_jll.jl b/stdlib/SuiteSparse_jll/src/SuiteSparse_jll.jl
|
From: Soc Virnyl Estela <contact@uncomfyhalomacro.pl>
|
||||||
index 2940970cef..359dbd9065 100644
|
Date: Sat, 09 Dec 2023 16:30:31 +0800
|
||||||
--- a/stdlib/SuiteSparse_jll/src/SuiteSparse_jll.jl
|
Subject: Change hardcoded libs for libblastrampoline
|
||||||
+++ b/stdlib/SuiteSparse_jll/src/SuiteSparse_jll.jl
|
|
||||||
@@ -67,18 +67,18 @@ elseif Sys.isapple()
|
---
|
||||||
const libsuitesparseconfig = "@rpath/libsuitesparseconfig.5.dylib"
|
|
||||||
const libumfpack = "@rpath/libumfpack.5.dylib"
|
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
|
else
|
||||||
- const libamd = "libamd.so.2"
|
- "libblastrampoline.so.5"
|
||||||
- const libbtf = "libbtf.so.1"
|
+ "libblastrampoline.so"
|
||||||
- const libcamd = "libcamd.so.2"
|
|
||||||
- const libccolamd = "libccolamd.so.2"
|
|
||||||
- const libcholmod = "libcholmod.so.3"
|
|
||||||
- const libcolamd = "libcolamd.so.2"
|
|
||||||
- const libklu = "libklu.so.1"
|
|
||||||
- const libldl = "libldl.so.2"
|
|
||||||
- const librbio = "librbio.so.2"
|
|
||||||
- const libspqr = "libspqr.so.2"
|
|
||||||
- const libsuitesparseconfig = "libsuitesparseconfig.so.5"
|
|
||||||
- const libumfpack = "libumfpack.so.5"
|
|
||||||
+ const libamd = "libamd.so"
|
|
||||||
+ const libbtf = "libbtf.so"
|
|
||||||
+ const libcamd = "libcamd.so"
|
|
||||||
+ const libccolamd = "libccolamd.so"
|
|
||||||
+ const libcholmod = "libcholmod.so"
|
|
||||||
+ const libcolamd = "libcolamd.so"
|
|
||||||
+ const libklu = "libklu.so"
|
|
||||||
+ const libldl = "libldl.so"
|
|
||||||
+ const librbio = "librbio.so"
|
|
||||||
+ const libspqr = "libspqr.so"
|
|
||||||
+ const libsuitesparseconfig = "libsuitesparseconfig.so"
|
|
||||||
+ const libumfpack = "libumfpack.so"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function __init__()
|
function __init__()
|
||||||
|
|||||||
@@ -1,77 +0,0 @@
|
|||||||
From 764484f58b5daead9fd58de08ce35382758d3985 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Yichao Yu <yyc1992@gmail.com>
|
|
||||||
Date: Sun, 10 Sep 2023 14:07:57 -0400
|
|
||||||
Subject: [PATCH] libgit2 1.7.0 support
|
|
||||||
|
|
||||||
---
|
|
||||||
stdlib/LibGit2/src/consts.jl | 5 +++++
|
|
||||||
stdlib/LibGit2/src/types.jl | 5 ++++-
|
|
||||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/stdlib/LibGit2/src/consts.jl b/stdlib/LibGit2/src/consts.jl
|
|
||||||
index f3a460108db6b..8f0e6eeb2ec87 100644
|
|
||||||
--- a/stdlib/LibGit2/src/consts.jl
|
|
||||||
+++ b/stdlib/LibGit2/src/consts.jl
|
|
||||||
@@ -468,4 +468,9 @@ Option flags for `GitProxy`.
|
|
||||||
TRACE_TRACE
|
|
||||||
end
|
|
||||||
|
|
||||||
+# The type of object id
|
|
||||||
+@enum(GIT_OID_TYPE,
|
|
||||||
+ _OID_DEFAULT = 0,
|
|
||||||
+ OID_SHA1 = 1)
|
|
||||||
+
|
|
||||||
end
|
|
||||||
diff --git a/stdlib/LibGit2/src/types.jl b/stdlib/LibGit2/src/types.jl
|
|
||||||
index 0b653f9b6ad21..c796ff0f98b20 100644
|
|
||||||
--- a/stdlib/LibGit2/src/types.jl
|
|
||||||
+++ b/stdlib/LibGit2/src/types.jl
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
|
|
||||||
using Base: something
|
|
||||||
import Base.@kwdef
|
|
||||||
-import .Consts: GIT_SUBMODULE_IGNORE, GIT_MERGE_FILE_FAVOR, GIT_MERGE_FILE, GIT_CONFIG
|
|
||||||
+import .Consts: GIT_SUBMODULE_IGNORE, GIT_MERGE_FILE_FAVOR, GIT_MERGE_FILE, GIT_CONFIG, GIT_OID_TYPE
|
|
||||||
|
|
||||||
const OID_RAWSZ = 20
|
|
||||||
const OID_HEXSZ = OID_RAWSZ * 2
|
|
||||||
@@ -439,6 +439,9 @@ The fields represent:
|
|
||||||
# options controlling how the diff text is generated
|
|
||||||
context_lines::UInt32 = UInt32(3)
|
|
||||||
interhunk_lines::UInt32 = UInt32(0)
|
|
||||||
+ @static if LibGit2.VERSION >= v"1.7.0"
|
|
||||||
+ oid_type::GIT_OID_TYPE = Consts._OID_DEFAULT
|
|
||||||
+ end
|
|
||||||
id_abbrev::UInt16 = UInt16(7)
|
|
||||||
max_size::Int64 = Int64(512*1024*1024) #512Mb
|
|
||||||
old_prefix::Cstring = Cstring(C_NULL)
|
|
||||||
diff --git a/stdlib/LibGit2/test/libgit2-tests.jl b/stdlib/LibGit2/test/libgit2-tests.jl
|
|
||||||
index 4ace98a0b1..f230ff4e14 100644
|
|
||||||
--- a/stdlib/LibGit2/test/libgit2-tests.jl
|
|
||||||
+++ b/stdlib/LibGit2/test/libgit2-tests.jl
|
|
||||||
@@ -1181,19 +1177,19 @@ mktempdir() do dir
|
|
||||||
@testset "diff" begin
|
|
||||||
LibGit2.with(LibGit2.GitRepo(cache_repo)) do repo
|
|
||||||
@test !LibGit2.isdirty(repo)
|
|
||||||
- @test !LibGit2.isdirty(repo, test_file)
|
|
||||||
- @test !LibGit2.isdirty(repo, "nonexistent")
|
|
||||||
+# @test !LibGit2.isdirty(repo, test_file)
|
|
||||||
+# @test !LibGit2.isdirty(repo, "nonexistent")
|
|
||||||
@test !LibGit2.isdiff(repo, "HEAD")
|
|
||||||
@test !LibGit2.isdirty(repo, cached=true)
|
|
||||||
- @test !LibGit2.isdirty(repo, test_file, cached=true)
|
|
||||||
- @test !LibGit2.isdirty(repo, "nonexistent", cached=true)
|
|
||||||
+# @test !LibGit2.isdirty(repo, test_file, cached=true)
|
|
||||||
+# @test !LibGit2.isdirty(repo, "nonexistent", cached=true)
|
|
||||||
@test !LibGit2.isdiff(repo, "HEAD", cached=true)
|
|
||||||
open(joinpath(cache_repo,test_file), "a") do f
|
|
||||||
println(f, "zzzz")
|
|
||||||
end
|
|
||||||
@test LibGit2.isdirty(repo)
|
|
||||||
- @test LibGit2.isdirty(repo, test_file)
|
|
||||||
- @test !LibGit2.isdirty(repo, "nonexistent")
|
|
||||||
+# @test LibGit2.isdirty(repo, test_file)
|
|
||||||
+# @test !LibGit2.isdirty(repo, "nonexistent")
|
|
||||||
@test LibGit2.isdiff(repo, "HEAD")
|
|
||||||
@test !LibGit2.isdirty(repo, cached=true)
|
|
||||||
@test !LibGit2.isdiff(repo, "HEAD", cached=true)
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
diff --git a/src/debuginfo.cpp b/src/debuginfo.cpp
|
|
||||||
index 95b562311b..69fceb0cfe 100644
|
|
||||||
--- a/src/debuginfo.cpp
|
|
||||||
+++ b/src/debuginfo.cpp
|
|
||||||
@@ -265,6 +265,7 @@ public:
|
|
||||||
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;
|
|
||||||
@@ -1577,6 +1578,7 @@ void register_eh_frames(uint8_t *Addr, size_t Size)
|
|
||||||
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([&]() {
|
|
||||||
_U_dyn_register(di);
|
|
||||||
29
julia-remove-libcholmod_cuda.patch
Normal file
29
julia-remove-libcholmod_cuda.patch
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 1565014a0f..5e9b4ccf54 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -196,7 +196,7 @@ else ifeq ($(JULIA_BUILD_MODE),debug)
|
||||||
|
JL_PRIVATE_LIBS-0 += libjulia-internal-debug libjulia-codegen-debug
|
||||||
|
endif
|
||||||
|
ifeq ($(USE_GPL_LIBS), 1)
|
||||||
|
-JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBSUITESPARSE) += libamd libbtf libcamd libccolamd libcholmod libcholmod_cuda libcolamd libklu libldl librbio libspqr libspqr_cuda libsuitesparseconfig libumfpack
|
||||||
|
+JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBSUITESPARSE) += libamd libbtf libcamd libccolamd libcholmod libcolamd libklu libldl librbio libspqr libsuitesparseconfig libumfpack
|
||||||
|
endif
|
||||||
|
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBBLASTRAMPOLINE) += libblastrampoline
|
||||||
|
JL_PRIVATE_LIBS-$(USE_SYSTEM_PCRE) += libpcre2-8
|
||||||
|
diff --git a/base/Makefile b/base/Makefile
|
||||||
|
index ad2bb6a63c..493302af78 100644
|
||||||
|
--- a/base/Makefile
|
||||||
|
+++ b/base/Makefile
|
||||||
|
@@ -269,11 +269,9 @@ $(eval $(call symlink_system_library,LIBSUITESPARSE,libamd))
|
||||||
|
$(eval $(call symlink_system_library,LIBSUITESPARSE,libcamd))
|
||||||
|
$(eval $(call symlink_system_library,LIBSUITESPARSE,libccolamd))
|
||||||
|
$(eval $(call symlink_system_library,LIBSUITESPARSE,libcholmod))
|
||||||
|
-$(eval $(call symlink_system_library,LIBSUITESPARSE,libcholmod_cuda))
|
||||||
|
$(eval $(call symlink_system_library,LIBSUITESPARSE,libcolamd))
|
||||||
|
$(eval $(call symlink_system_library,LIBSUITESPARSE,libumfpack))
|
||||||
|
$(eval $(call symlink_system_library,LIBSUITESPARSE,libspqr))
|
||||||
|
-$(eval $(call symlink_system_library,LIBSUITESPARSE,libspqr_cuda))
|
||||||
|
$(eval $(call symlink_system_library,LIBSUITESPARSE,libsuitesparseconfig))
|
||||||
|
# EXCLUDED LIBRARIES (installed/used, but not vendored for use with dlopen):
|
||||||
|
# libunwind
|
||||||
@@ -5,5 +5,17 @@ addFilter("E: arch-dependent-file-in-usr-share*")
|
|||||||
# We should not unstrip sofiles or binaries generated from this package
|
# We should not unstrip sofiles or binaries generated from this package
|
||||||
# https://github.com/JuliaLang/julia/issues/17941
|
# https://github.com/JuliaLang/julia/issues/17941
|
||||||
addFilter("unstripped-binary-or-object")
|
addFilter("unstripped-binary-or-object")
|
||||||
# Julia should be an exception. Otherwise, it fails to execute :)
|
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")
|
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*")
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
--- a/src/solvers/cholmod.jl.orig 2022-11-11 07:24:15.860939080 +0000
|
|
||||||
+++ b/src/solvers/cholmod.jl 2022-11-11 07:24:39.462357069 +0000
|
|
||||||
@@ -194,21 +194,6 @@
|
|
||||||
from www.julialang.org, which ship with the correct
|
|
||||||
versions of all dependencies.
|
|
||||||
"""
|
|
||||||
- elseif BUILD_VERSION.major != current_version.major
|
|
||||||
- @warn """
|
|
||||||
- CHOLMOD version incompatibility
|
|
||||||
-
|
|
||||||
- Julia was compiled with CHOLMOD version $BUILD_VERSION. It is
|
|
||||||
- currently linked with version $current_version.
|
|
||||||
- This might cause Julia to terminate when working with
|
|
||||||
- sparse matrix factorizations, e.g. solving systems of
|
|
||||||
- equations with \\.
|
|
||||||
-
|
|
||||||
- It is recommended that you use Julia with the same major
|
|
||||||
- version of CHOLMOD as the one used during the build, or
|
|
||||||
- download the generic binaries from www.julialang.org,
|
|
||||||
- which ship with the correct versions of all dependencies.
|
|
||||||
- """
|
|
||||||
end
|
|
||||||
|
|
||||||
intsize = sizeof(SuiteSparse_long)
|
|
||||||
@@ -232,15 +232,6 @@ function __init__()
|
|
||||||
"""
|
|
||||||
end
|
|
||||||
|
|
||||||
- # Register gc tracked allocator if CHOLMOD is new enough
|
|
||||||
- if current_version >= v"3.0.0"
|
|
||||||
- cnfg = cglobal((:SuiteSparse_config, :libsuitesparseconfig), Ptr{Cvoid})
|
|
||||||
- unsafe_store!(cnfg, cglobal(:jl_malloc, Ptr{Cvoid}), 1)
|
|
||||||
- unsafe_store!(cnfg, cglobal(:jl_calloc, Ptr{Cvoid}), 2)
|
|
||||||
- unsafe_store!(cnfg, cglobal(:jl_realloc, Ptr{Cvoid}), 3)
|
|
||||||
- unsafe_store!(cnfg, cglobal(:jl_free, Ptr{Cvoid}), 4)
|
|
||||||
- end
|
|
||||||
-
|
|
||||||
catch ex
|
|
||||||
@error "Error during initialization of module CHOLMOD" exception=ex,catch_backtrace()
|
|
||||||
end
|
|
||||||
673
julia.changes
673
julia.changes
@@ -1,3 +1,676 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 17 01:25:00 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Drop unneeeded BuildRequires on python3-recommonmark.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 4 12:41:44 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Remove deps-makefile.patch
|
||||||
|
- Do not force gcc versions
|
||||||
|
- Revert to use system libcurl-devel
|
||||||
|
- Use clang over gcc
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 2 01:45:30 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Attempt to let Julia's build logic handle which are missing
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 1 06:52:43 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Use bundled libcurl. The recent version breaks Julia.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 30 01:40:31 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Disable INTEL_JITEVENTS. Accidentally enabled during testing.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 27 13:21:20 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Remove julia-libunwind-1.9.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 26 00:09:24 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Use bundled libunwind
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 25 01:27:20 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Add the following gmp patches
|
||||||
|
* ./gmp-6.2.1-arm64-invert_limb.patch
|
||||||
|
* ./apply-gmp-arm64-invert_limb.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 24 01:20:22 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 23 10:11:57 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Sep 21 06:20:30 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Add ./libblastrampoline.v5.11.0+0.x86_64-linux-gnu.tar.gz
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Sep 21 00:55:28 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Add ./deps-makefile.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 18 14:07:20 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 16 12:18:23 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jun 7 17:17:22 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Fix build. typo caused a misconfigure:
|
||||||
|
JULIA_CPU_TARGETS -> JULIA_CPU_TARGET
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 6 14:06:50 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Update ./disable-doc-gen-in-makefile.patch. Upstream has patched to allow offline
|
||||||
|
builds but added commands in the `doc/Makefile` that needs network.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 6 00:14:25 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 4 06:42:27 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 29 13:42:29 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Update JULIA_CPU_TARGETS
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 29 03:29:01 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Reenable aarch64 builds with patch
|
||||||
|
./allow_libssp_libatomic_and_libgomp_to_fail_as_they_are_not_available_on_all_systems.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 22 00:19:35 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Cleanup
|
||||||
|
* remove libmbedcrypto as mbedtls is bundled
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 20 12:12:39 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- libjulia-compat1_10 provides libjulia1_10. added rpmlint filter
|
||||||
|
to workaround rpmlint error on ldconfig_scriptlet
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 20 05:21:58 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Update rpmlint.
|
||||||
|
* bad-cert.pem is a test file in LibGit2_jll.
|
||||||
|
- Update specfile.
|
||||||
|
* cleanup symlinks. these files should just point starting from buildroot
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun May 19 10:18:13 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat May 18 11:34:00 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Update rpmlintrc to ignore some warnings
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat May 18 11:26:17 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Fix dangling symlinks errors
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat May 18 00:32:29 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Inconsistencies on where sbinaries are located in openSUSE Leap and Tumbleweed
|
||||||
|
has caused leap rpm generation to fail after all the builds done successfully.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 17 07:31:28 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Julia on leap has trouble looking for libgfortran5 so symlinking it to fix it
|
||||||
|
- Format specfile
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 17 00:17:42 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Fix specfile
|
||||||
|
* p7zip for tumbleweed
|
||||||
|
* p7zip-full for leap
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 16 15:18:08 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- More cleanup
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 15 12:33:37 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Also include OPENBLAS_TARGET_ARCH=NEHALEM in %{__julia_opts} for system not tumbleweed
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 15 12:09:21 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 15 11:35:28 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Fix ./julia-libunwind-1.9.patch.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 15 10:24:04 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun May 12 14:19:36 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 26 00:46:22 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 24 10:16:59 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Feb 11 05:19:11 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Use python3 instead of python. Python 2.x is EOL-ed. Addresses bsc#1219740
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Dec 30 04:16:58 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Set suitesparse requirement to 7.2.1 and libcholmod to 5.x.x
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 28 12:58:24 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Add Obsoletes to obsolete older versions for julia and its subpackages.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 28 06:43:48 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Enable only tier 1 architectures
|
||||||
|
- Add disable-doc-gen-in-makefile.patch
|
||||||
|
- Add disable-download-of-unicode-for-doc-gen.patch
|
||||||
|
- Add UnicodeData.txt
|
||||||
|
- Add julia-remove-libcholmod_cuda.patch
|
||||||
|
- Add julia.keyring
|
||||||
|
- Add julia-1.10.0-full.tar.gz.asc
|
||||||
|
- Update julia-hardcoded-libs.patch
|
||||||
|
- Update specfile and enable v3 CPU optimizations on x86_64 architecture
|
||||||
|
- Update to version 1.10.0:
|
||||||
|
|
||||||
|
* New language features
|
||||||
|
- JuliaSyntax.jl is now used as the default parser, providing better diagnostics and faster
|
||||||
|
parsing. Set environment variable `JULIA_USE_FLISP_PARSER` to `1` to switch back to the old
|
||||||
|
parser if necessary (and if you find this necessary, please file an issue).
|
||||||
|
- `⥺` (U+297A, `\leftarrowsubset`) and `⥷` (U+2977, `\leftarrowless`) may now be used as
|
||||||
|
binary operators with arrow precedence.
|
||||||
|
|
||||||
|
* Language changes
|
||||||
|
- When a task forks a child, the parent task's task-local RNG (random number generator) is no longer affected. The
|
||||||
|
seeding of child based on the parent task also takes a more disciplined approach to collision resistance, using a
|
||||||
|
design based on the SplitMix and DotMix splittable RNG schemes.
|
||||||
|
- A new more-specific rule for methods resolves ambiguities containing Union{} in favor of
|
||||||
|
the method defined explicitly to handle the Union{} argument. This makes it possible to
|
||||||
|
define methods to explicitly handle Union{} without the ambiguities that commonly would
|
||||||
|
result previously. This also lets the runtime optimize certain method lookups in a way
|
||||||
|
that significantly improves load and inference times for heavily overloaded methods that
|
||||||
|
dispatch on Types (such as traits and constructors).
|
||||||
|
- The "h bar" `ℏ` (`\hslash` U+210F) character is now treated as equivalent to `ħ` (`\hbar` U+0127).
|
||||||
|
- The `@simd` macro now has more limited and clearer semantics: it only enables reordering and contraction
|
||||||
|
of floating-point operations, instead of turning on all "fastmath" optimizations.
|
||||||
|
If you observe performance regressions due to this change, you can recover previous behavior
|
||||||
|
with `@fastmath @simd`,
|
||||||
|
if you are OK with all the optimizations enabled by the `@fastmath` macro.
|
||||||
|
- When a method with keyword arguments is displayed in the stack trace view, the textual
|
||||||
|
representation of the keyword arguments' type is simplified using the new
|
||||||
|
`@Kwargs{key1::Type1, ...}` macro syntax.
|
||||||
|
|
||||||
|
* Compiler/Runtime improvements
|
||||||
|
- The mark phase of the garbage collector is now multi-threaded.
|
||||||
|
- [JITLink](https://llvm.org/docs/JITLink.html) is enabled by default on Linux aarch64 when Julia
|
||||||
|
is linked to LLVM 15 or later versions.
|
||||||
|
This should resolve many segmentation faults previously observed on this platform.
|
||||||
|
- The precompilation process now uses pidfile locks and orchestrates multiple julia processes to only have one proces
|
||||||
|
spend effort precompiling while the others wait. Previously all would do the work and race to overwrite the cache
|
||||||
|
files.
|
||||||
|
|
||||||
|
* Command-line option changes
|
||||||
|
- New option `--gcthreads` to set how many threads will be used by the garbage collector.
|
||||||
|
The default is `N/2` where `N` is the number of worker threads (`--threads`) used by Julia.
|
||||||
|
|
||||||
|
* Build system changes
|
||||||
|
- SparseArrays and SuiteSparse are no longer included in the default system image, so the core
|
||||||
|
language no longer contains GPL libraries. However, these libraries are still included
|
||||||
|
alongside the language in the standard binary distribution
|
||||||
|
|
||||||
|
* New library functions
|
||||||
|
- `tanpi` is now defined. It computes tan(π*x) more accurately than `tan(pi*x)`.
|
||||||
|
- `fourthroot(x)` is now defined in `Base.Math` and can be used to compute the fourth root of `x`.
|
||||||
|
It can also be accessed using the unicode character `∜`, which can be typed by `\fourthroot<tab>`.
|
||||||
|
- `Libc.memmove`, `Libc.memset`, and `Libc.memcpy` are now defined, whose functionality matches that of their respective C calls.
|
||||||
|
- `Base.isprecompiled(pkg::PkgId)` has been added, to identify whether a package has already been precompiled.
|
||||||
|
|
||||||
|
* New library features
|
||||||
|
- `binomial(x, k)` now supports non-integer `x`.
|
||||||
|
- A `CartesianIndex` is now treated as a "scalar" for broadcasting.
|
||||||
|
- `printstyled` now supports italic output.
|
||||||
|
- `parent` and `parentindices` support `SubString`s.
|
||||||
|
- `replace(string, pattern...)` now supports an optional `IO` argument to
|
||||||
|
write the output to a stream rather than returning a string.
|
||||||
|
- `startswith` now supports seekable `IO` streams.
|
||||||
|
|
||||||
|
* Standard library changes
|
||||||
|
- The `initialized=true` keyword assignment for `sortperm!` and `partialsortperm!`
|
||||||
|
is now a no-op. It previously exposed unsafe behavior.
|
||||||
|
- Printing integral `Rational`s will skip the denominator in `Rational`-typed IO context (e.g. in arrays).
|
||||||
|
|
||||||
|
* Package Manager
|
||||||
|
- `Pkg.precompile` now accepts `timing` as a keyword argument which displays per package timing
|
||||||
|
information for precompilation (e.g. `Pkg.precompile(timing=true)`).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 25 13:32:14 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 25 09:25:09 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Dec 19 02:34:10 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Remove unsatisfactory architectures that does not guaranteed to build.
|
||||||
|
It seems x86_64 is the guaranteed to work anyway.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Dec 19 02:28:16 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Specfile cleanup:
|
||||||
|
* specify more dependencies
|
||||||
|
- openlibm-devel
|
||||||
|
- julia-devel or julia-compat-devel which provides libjulia.so
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 18 22:35:16 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Some dependencies require to be explicit since Julia uses dlopen
|
||||||
|
on it's stdlib and other julia scripts
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 18 14:24:24 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Specfile cleanup:
|
||||||
|
* Exclude now only bundled libs
|
||||||
|
- LLVM, uv, ccalltest, llvmcalltest, openblas with INTERFACE64 enabled,
|
||||||
|
libjulia-internal and libjulia-codegen
|
||||||
|
* Fdupe only /usr/share/julia.
|
||||||
|
* Define some dependencies that are dlopened
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 18 06:20:48 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- There should be a package libjulia1.
|
||||||
|
- CFLAGS and CXXFLAGS use provided %optflags.
|
||||||
|
- libjulia-compat1 should provide libjulia1 to fulfill soname shlib naming policies.
|
||||||
|
- Remove unused rpmlints:
|
||||||
|
* devel-dependency
|
||||||
|
- Turn all eol encondings to unix to all files
|
||||||
|
- Add rpmlint for "W: hidden-file-or-dir /usr/share/julia/stdlib/v1.9/Pkg/test/test_packages/AugmentedPlatform/.pkg"
|
||||||
|
That contains julia scripts. Leave it alone.
|
||||||
|
- fdupes at the end of the install section.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Dec 13 00:36:26 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
Wed Dec 13 00:36:26 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
|||||||
51
julia.keyring
Normal file
51
julia.keyring
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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-----
|
||||||
763
julia.spec
763
julia.spec
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package julia
|
# spec file for package julia
|
||||||
#
|
#
|
||||||
# Copyright (c) 2023 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -16,111 +16,284 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# 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
|
%undefine _build_create_debug
|
||||||
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
|
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
|
||||||
|
|
||||||
%global __provides_exclude_from ^%{_libdir}/%{name}/.*\\.so$
|
%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=0 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=0 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.
|
# List all bundled libraries.
|
||||||
%global _privatelibs lib(LLVM-.*|ccalltest|dSFMT|git2|llvmcalltest|openlibm|suitesparse_wrapper|mbedcrypto|mbedtls|mbedx509|uv)\\.so.*
|
%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 __provides_exclude ^(%{_privatelibs})$
|
||||||
%global __requires_exclude ^(%{_privatelibs})$
|
%global __requires_exclude ^(%{_privatelibs})$
|
||||||
|
|
||||||
%define libjulia_sover_major 1
|
%define libjulia_sover_major 1
|
||||||
%define libjulia_sover_minor 9
|
%define libjulia_sover_minor 10
|
||||||
|
%define _julia_llvm_version 15.0.7-10
|
||||||
|
|
||||||
%if "@BUILD_FLAVOR@%{nil}" == "compat"
|
%if "@BUILD_FLAVOR@%{nil}" == "compat"
|
||||||
%define compat_mode 1
|
%define compat_mode 1
|
||||||
%else
|
%else
|
||||||
%define compat_mode 0
|
%define compat_mode 0
|
||||||
%endif
|
%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
|
# LTO currently makes building blastrampoline and Julia itself fail
|
||||||
# It is not enabled upstream anyway
|
# It is not enabled upstream anyway
|
||||||
%global _lto_cflags %nil
|
%global _lto_cflags %nil
|
||||||
Version: 1.9.4
|
Version: 1.10.5
|
||||||
Release: 0
|
Release: 0
|
||||||
URL: http://julialang.org/
|
URL: http://julialang.org/
|
||||||
Source0: https://github.com/JuliaLang/julia/releases/download/v%{version}/julia-%{version}-full.tar.gz
|
Source0: https://github.com/JuliaLang/julia/releases/download/v%{version}/julia-%{version}-full.tar.gz
|
||||||
Source1: julia-rpmlintrc
|
Source1: https://github.com/JuliaLang/julia/releases/download/v%{version}/julia-%{version}-full.tar.gz.asc
|
||||||
|
Source2: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/keys/pgp/3673DF529D9049477F76B37566E3C7DC03D6E495.asc?ref_type=heads#/julia.keyring
|
||||||
|
Source3: https://www.unicode.org/Public/13.0.0/ucd/UnicodeData.txt
|
||||||
|
Source4: julia-rpmlintrc
|
||||||
|
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.
|
# 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
|
Patch1: julia-env-script-interpreter.patch
|
||||||
Patch2: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/e08e1444.patch?ref_type=heads#/new-pass-manager.patch
|
# PATCH-FIX-OPENSUSE disable-doc-gen-in-makefile.patch -- this patch ACTUALLY DISABLES the offline builds 😉
|
||||||
Patch3: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/959902f1.patch?ref_type=heads#/support-float16-depending-on-llvm-and-platform.patch
|
Patch2: disable-doc-gen-in-makefile.patch
|
||||||
Patch4: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/f11bfc6c.patch?ref_type=heads#/use-newpm-asan.patch
|
# PATCH-FIX-OPENSUSE -- Despite having no network, build looks for UnicodeData.txt (now Source3). Disabled with this patch.
|
||||||
Patch5: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/21d4c2f1.patch?ref_type=heads#/llvm-set-of-custom-patches.patch
|
Patch3: disable-download-of-unicode-for-doc-gen.patch
|
||||||
Patch6: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libunwind-1.6.patch?ref_type=heads#/julia-libunwind-1.9.patch
|
# Based on https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libunwind-1.6.patch?ref_type=heads -- System libunwind compatibility
|
||||||
Patch8: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libgit2-1.7.patch?ref_type=heads#/julia-libgit2-1.7.patch
|
# Patch4: julia-libunwind-1.9.patch
|
||||||
Patch9: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-suitesparse-7.patch?ref_type=heads#/julia-suitesparse-7.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
|
||||||
Patch10: use-system-libuv-correctly.patch
|
Patch5: julia-remove-libcholmod_cuda.patch
|
||||||
Patch11: openlibm.patch
|
# PATCH-FIX-OPENSUSE -- julia hardcodes looking for the libraries
|
||||||
Patch12: llvm-link-shared.patch
|
Patch6: openlibm.patch
|
||||||
# Adapted from https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-hardcoded-libs.patch?ref_type=heads
|
# PATCH-FIX-OPENSUSE -- Julia packages e.g. LibCURL_jll.jl uses dlopen for libraries
|
||||||
# We just remove the julia specific llvm sofile change
|
Patch7: julia-hardcoded-libs.patch
|
||||||
Patch13: 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.
|
||||||
Patch14: mbedtls-hardcoded-libs.patch
|
Patch8: mpfr-looking-for-gmp-fix.patch
|
||||||
Patch15: libblastrampoline-hardcoded-libs.patch
|
Patch10: apply-gmp-arm64-invert_limb.patch
|
||||||
BuildRequires: arpack-ng-devel >= 3.3.0
|
|
||||||
BuildRequires: blas-devel
|
BuildRequires: ImageMagick
|
||||||
|
BuildRequires: autoconf
|
||||||
BuildRequires: ca-certificates
|
BuildRequires: ca-certificates
|
||||||
BuildRequires: cmake
|
BuildRequires: clang
|
||||||
BuildRequires: dSFMT-devel
|
BuildRequires: cmake >= 3.22
|
||||||
|
BuildRequires: dos2unix
|
||||||
BuildRequires: double-conversion-devel
|
BuildRequires: double-conversion-devel
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: fftw3-threads-devel >= 3.3.4
|
BuildRequires: fftw3-threads-devel >= 3.3.4
|
||||||
BuildRequires: gcc
|
|
||||||
BuildRequires: gcc-c++
|
|
||||||
BuildRequires: gcc-fortran
|
BuildRequires: gcc-fortran
|
||||||
BuildRequires: git
|
BuildRequires: git
|
||||||
BuildRequires: gmp-devel >= 6.1.2
|
BuildRequires: libboost_system-devel
|
||||||
BuildRequires: hicolor-icon-theme
|
BuildRequires: libboost_thread-devel
|
||||||
BuildRequires: lapack-devel >= 3.5.0
|
BuildRequires: pkgconfig(cunit)
|
||||||
BuildRequires: libblastrampoline-devel
|
BuildRequires: pkgconfig(jansson)
|
||||||
BuildRequires: libcurl-devel
|
BuildRequires: pkgconfig(libcares)
|
||||||
BuildRequires: libgit2-devel
|
BuildRequires: pkgconfig(libcurl)
|
||||||
|
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: 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: libnghttp2-devel
|
||||||
BuildRequires: libopenblas_openmp-devel >= 0.3.5
|
# BuildRequires: mbedtls-devel
|
||||||
BuildRequires: libssh2-devel >= 1.9.0
|
# BuildRequires: pcre2-devel >= 10.31
|
||||||
BuildRequires: libunwind-devel >= 1.3.1
|
|
||||||
BuildRequires: libuv-devel
|
BuildRequires: fipscheck
|
||||||
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: hicolor-icon-theme
|
||||||
|
BuildRequires: libblastrampoline-devel
|
||||||
|
# BuildRequires: libunwind-devel >= 1.3.1
|
||||||
BuildRequires: libwhich
|
BuildRequires: libwhich
|
||||||
BuildRequires: lld14
|
|
||||||
BuildRequires: llvm14-devel
|
|
||||||
BuildRequires: m4
|
BuildRequires: m4
|
||||||
BuildRequires: mbedtls-devel
|
BuildRequires: make
|
||||||
BuildRequires: mpfr-devel >= 4.0.2
|
BuildRequires: memory-constraints
|
||||||
|
BuildRequires: metis-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: openblas-common-devel
|
|
||||||
BuildRequires: openlibm-devel
|
BuildRequires: openlibm-devel
|
||||||
BuildRequires: openspecfun-devel
|
BuildRequires: openspecfun-devel
|
||||||
BuildRequires: openssl
|
# I am not sure how or why they're different in Leap and Tumbleweed
|
||||||
BuildRequires: p7zip >= 16
|
%if 0%{?suse_version} > 1600
|
||||||
|
BuildRequires: p7zip
|
||||||
|
%else
|
||||||
|
BuildRequires: p7zip-full
|
||||||
|
%endif
|
||||||
BuildRequires: patchelf >= 0.9
|
BuildRequires: patchelf >= 0.9
|
||||||
BuildRequires: pcre2-devel >= 10.31
|
|
||||||
BuildRequires: perl
|
BuildRequires: perl
|
||||||
BuildRequires: python >= 2.5
|
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
BuildRequires: suitesparse-devel >= 5.4.0
|
BuildRequires: tbb-devel
|
||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
BuildRequires: utf8proc-devel
|
BuildRequires: utf8proc-devel
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: valgrind
|
||||||
|
BuildRequires: valgrind-devel
|
||||||
|
|
||||||
|
# Additional Build Requirements needed by LLVM15
|
||||||
|
BuildRequires: binutils-devel >= 2.21.90
|
||||||
|
BuildRequires: ccache
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: libstdc++-devel
|
||||||
|
BuildRequires: libvmmalloc-devel
|
||||||
|
BuildRequires: ninja
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: python-rpm-macros
|
||||||
|
BuildRequires: python3-Sphinx
|
||||||
|
BuildRequires: python3-psutil
|
||||||
|
BuildRequires: python3-setuptools
|
||||||
|
BuildRequires: pkgconfig(libedit)
|
||||||
|
BuildRequires: pkgconfig(libzstd)
|
||||||
|
BuildRequires: pkgconfig(zlib)
|
||||||
|
|
||||||
Requires: ca-certificates
|
Requires: ca-certificates
|
||||||
Requires: p7zip >= 16
|
Requires: p7zip >= 16
|
||||||
Requires: readline
|
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): %{_sbindir}/update-alternatives
|
||||||
Requires(post): %{_sbindir}/ldconfig
|
Requires(post): /sbin/ldconfig
|
||||||
Requires(postun):%{_sbindir}/update-alternatives
|
Requires(postun): %{_sbindir}/update-alternatives
|
||||||
Requires(postun):%{_sbindir}/ldconfig
|
Requires(postun): /sbin/ldconfig
|
||||||
Recommends: arpack-ng-devel
|
|
||||||
|
Recommends: curl
|
||||||
Recommends: git
|
Recommends: git
|
||||||
Recommends: gmp-devel
|
Recommends: openssh-clients
|
||||||
Recommends: mpfr-devel
|
# Recommends: gmp-devel
|
||||||
Recommends: openspecfun-devel
|
# Recommends: libcurl-devel
|
||||||
Recommends: pcre2-devel
|
# Recommends: mpfr-devel
|
||||||
Recommends: suitesparse-devel
|
# Recommends: openspecfun-devel
|
||||||
|
# Recommends: pcre2-devel
|
||||||
|
# Recommends: suitesparse-devel
|
||||||
|
|
||||||
%if 0%{?compat_mode} == 0
|
%if 0%{?compat_mode} == 0
|
||||||
Name: julia
|
Name: julia
|
||||||
%else
|
%else
|
||||||
@@ -139,14 +312,20 @@ Group: Development/Languages/Other
|
|||||||
Conflicts: julia
|
Conflicts: julia
|
||||||
Provides: julia = %{version}
|
Provides: julia = %{version}
|
||||||
%endif
|
%endif
|
||||||
# Since the 32-bit julia package is already being built using MARCH=pentium4,
|
Obsoletes: %{name} < %{version}
|
||||||
# which is the most generic flag supported, then the julia-compat mode only
|
|
||||||
# makes sense for 64-bit architectures.
|
# NOTICE: Enabled for now
|
||||||
%if 0%{?compat_mode}
|
# Let's not be optimistic towards 32 bit support and other architectures
|
||||||
ExclusiveArch: x86_64
|
# openSUSE or Julia cannot guarantee to support, shall we? Only choose
|
||||||
%else
|
# Tier1 architectures
|
||||||
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
|
# libquadmath is disabled in the aarch64 build of gcc. so we cannot
|
||||||
%endif
|
# 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
|
%description
|
||||||
Julia is a high-level, high-performance dynamic programming language for
|
Julia is a high-level, high-performance dynamic programming language for
|
||||||
@@ -157,17 +336,18 @@ library. The library, largely written in Julia itself, also integrates mature,
|
|||||||
best-of-breed C and Fortran libraries for linear algebra, random number
|
best-of-breed C and Fortran libraries for linear algebra, random number
|
||||||
generation, signal processing, and string processing.
|
generation, signal processing, and string processing.
|
||||||
|
|
||||||
This package is experimental and by no means supported by upstream. If you want
|
This package is experimental and by no means supported by upstream. To use
|
||||||
to use julia, please install juliaup instead.
|
upstream sources, you can use the alternative called juliaup.
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Julia development, debugging and testing files
|
Summary: Julia development, debugging and testing files
|
||||||
Group: Development/Languages/Other
|
Group: Development/Languages/Other
|
||||||
Requires: %{name} = %{version}
|
Requires: %{libname} = %{version}
|
||||||
%if 0%{?compat_mode}
|
%if 0%{?compat_mode}
|
||||||
Conflicts: julia-devel
|
Conflicts: julia-devel
|
||||||
Provides: julia-devel = %{version}
|
Provides: julia-devel = %{version}
|
||||||
%endif
|
%endif
|
||||||
|
Obsoletes: %{name}-devel < %{version}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Contains library symbolic links and header files for developing applications
|
Contains library symbolic links and header files for developing applications
|
||||||
@@ -176,218 +356,234 @@ 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
|
in the Julia language, but rather for embedding Julia into external programs or
|
||||||
debugging Julia itself.
|
debugging Julia itself.
|
||||||
|
|
||||||
%prep
|
%package -n %{libname}
|
||||||
%setup -q -n julia-%{version}
|
Summary: Julia shared object libraries
|
||||||
patch -p1 -i %{PATCH1}
|
Group: System/Libraries
|
||||||
# patch -p1 -i %%{PATCH2}
|
%if 0%{?compat_mode}
|
||||||
# patch -p1 -i %%{PATCH3}
|
Conflicts: libjulia%{libjulia_sover_major}_%{libjulia_sover_minor}
|
||||||
# patch -p1 -i %%{PATCH4}
|
Provides: libjulia%{libjulia_sover_major}_%{libjulia_sover_minor} = %{version}
|
||||||
# patch -p1 -i %%{PATCH5}
|
|
||||||
# libunwind 1.6 compatibility
|
|
||||||
patch -p1 -i %{PATCH6}
|
|
||||||
# Fix tests with libgit2 1.7
|
|
||||||
patch -p1 -i %{PATCH8}
|
|
||||||
# Make.inc puts it in the wrong libpath
|
|
||||||
# patch -p1 -i %%{PATCH10}
|
|
||||||
patch -p1 -i %{PATCH11}
|
|
||||||
patch -p1 -i %{PATCH12}
|
|
||||||
patch -p1 -i %{PATCH13}
|
|
||||||
patch -p1 -i %{PATCH14}
|
|
||||||
patch -p1 -i %{PATCH15}
|
|
||||||
|
|
||||||
%ifarch aarch64 %{arm}
|
|
||||||
# https://github.com/JuliaLang/julia/issues/41613#issuecomment-976535193
|
|
||||||
sed -i 's#$(eval $(call symlink_system_library,CSL,libquadmath,0))##' base/Makefile
|
|
||||||
%endif
|
%endif
|
||||||
|
Obsoletes: %{libname} < %{version}
|
||||||
|
|
||||||
pushd stdlib/srccache
|
%description -n %{libname}
|
||||||
tar -xzf SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz
|
Contains library files for interacting with Julia through C interfaces.
|
||||||
patch -d JuliaSparse-SparseArrays.jl-37e6e58 -p1 -i %{PATCH9}
|
|
||||||
rm SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz
|
|
||||||
tar -czf SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz JuliaSparse-SparseArrays.jl-37e6e58
|
|
||||||
md5sum SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz | cut -d ' ' -f 1 > ../../deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/md5
|
|
||||||
sha512sum SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz | cut -d ' ' -f 1 > ../../deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/sha512
|
|
||||||
|
|
||||||
popd
|
%prep
|
||||||
|
%autosetup -p1 -n julia-%{version}
|
||||||
|
|
||||||
# Work around bug that prompts zlib to be downloaded even when not used
|
# Copy https://www.unicode.org/Public/13.0.0/ucd/UnicodeData.txt to deps/srccache
|
||||||
# https://github.com/JuliaLang/julia/pull/42524/files#r734972945
|
cp -v %{SOURCE3} deps/srccache/UnicodeData-13.0.0.txt
|
||||||
sed "s/ \$(build_prefix)\\/manifest\\/zlib//" -i deps/llvm.mk
|
|
||||||
|
# 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
|
%build
|
||||||
|
export CC=clang
|
||||||
|
export CXX=clang++
|
||||||
|
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%{?compat_mode} == 0
|
# Needed when USE_SYSTEM_CSL=1
|
||||||
%ifarch x86_64
|
# https://github.com/JuliaLang/julia/issues/39637
|
||||||
%define julia_march core2
|
unlink %{_builddir}/%{buildsubdir}/build/usr/lib || true
|
||||||
%endif
|
mkdir -p %{_builddir}/%{buildsubdir}/build/%{_libdir}/
|
||||||
|
%if 0%{?suse_version} > 1600
|
||||||
%ifarch %{ix86}
|
ln -sf %{_libdir}/libgcc_s.so.1 %{_builddir}/%{buildsubdir}/build/%{_libdir}/libgcc_s.so.1
|
||||||
%define julia_march pentium4
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch aarch64
|
|
||||||
%define julia_march armv8-a
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch armv7l armv7hl
|
|
||||||
%define julia_march armv7-a
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch armv6l armv6hl
|
|
||||||
%define julia_march armv6
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch ppc64le
|
|
||||||
%define julia_march ppc64le
|
|
||||||
%endif
|
|
||||||
%else
|
%else
|
||||||
# compat_mode is only defined for 64-bit architecture.
|
ln -sf /%{_lib}/libgcc_s.so.1 %{_builddir}/%{buildsubdir}/build/%{_libdir}/libgcc_s.so.1
|
||||||
|
|
||||||
%define julia_march x86-64
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch armv6l armv6hl aarch64
|
# I am not sure why Julia cannot find also libgfortran5.so on Leap...
|
||||||
export LDFLAGS="$LDFLAGS -latomic"
|
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"
|
||||||
|
|
||||||
|
# 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
|
%endif
|
||||||
|
|
||||||
# We need these compilation flags to avoid error when building MBEDTLS with
|
|
||||||
# GCC-11.
|
|
||||||
# Ref.: https://build.opensuse.org/package/show/security:tls/mbedtls
|
|
||||||
export CFLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
|
|
||||||
export CXXFLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
|
|
||||||
export LD_LIBRARY_PATH=%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:%{_builddir}/%{buildsubdir}/usr/lib
|
|
||||||
|
|
||||||
pushd deps
|
|
||||||
export BUILDDIR="%{_builddir}/%{buildsubdir}/build"
|
|
||||||
export USE_BLAS64=1
|
|
||||||
export USE_BINARYBUILDER_OPENBLAS=0
|
|
||||||
export OPENBLAS_LIBNAMESUFFIX="%{?__isa_bits}_"
|
|
||||||
export OPENBLAS_SYMBOLSUFFIX="%{?__isa_bits}_"
|
|
||||||
export OPENBLAS_CFLAGS="%{optflags}"
|
|
||||||
make prefix=%{prefix} libdir=%{_libdir} bindir=%{_bindir} install-openblas
|
|
||||||
popd
|
|
||||||
|
|
||||||
make %{?_smp_mflags} \
|
make %{?_smp_mflags} \
|
||||||
MARCH=%{julia_march} \
|
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
|
%ifarch aarch64
|
||||||
JULIA_CPU_TARGET="generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm" \
|
JULIA_CPU_TARGET="generic;cortex-a57;thunderx2t99;carmel,clone_all" \
|
||||||
%endif
|
%endif
|
||||||
%ifarch x86_64
|
%ifarch pp64le
|
||||||
JULIA_CPU_TARGET="generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)" \
|
JULIA_CPU_TARGET="pwr8" \
|
||||||
%endif
|
%endif
|
||||||
build_prefix=%{_builddir}/%{buildsubdir}/build%{_prefix} \
|
build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" \
|
||||||
build_libdir=%{_builddir}/%{buildsubdir}/build%{_libdir} \
|
build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" \
|
||||||
prefix=%{_prefix} \
|
prefix="%{_prefix}" \
|
||||||
bindir=%{_bindir} \
|
bindir="%{_bindir}" \
|
||||||
libdir=%{_libdir} \
|
libdir="%{_libdir}" \
|
||||||
libexecdir=%{_libexecdir} \
|
libexecdir="%{_libexecdir}" \
|
||||||
datarootdir=%{_datarootdir} \
|
datarootdir="%{_datarootdir}" \
|
||||||
includedir=%{_includedir} \
|
includedir="%{_includedir}" \
|
||||||
sysconfdir=%{_sysconfdir} \
|
sysconfdir="%{_sysconfdir}" \
|
||||||
USE_BINARYBUILDER=0 \
|
%{__julia_opts} \
|
||||||
USE_SYSTEM_CSL=1 \
|
%if 0%{?suse_version} > 1600
|
||||||
USE_SYSTEM_LLVM=0 \
|
TAGGED_RELEASE_BANNER="${RELEASE_BANNER}" \
|
||||||
USE_SYSTEM_LLD=1 \
|
%else
|
||||||
USE_SYSTEM_LIBUNWIND=1 \
|
TAGGED_RELEASE_BANNER="${RELEASE_BANNER}" \
|
||||||
USE_SYSTEM_PCRE=1 \
|
%endif
|
||||||
USE_SYSTEM_BLAS=0 \
|
release
|
||||||
USE_SYSTEM_LAPACK=0 \
|
|
||||||
USE_SYSTEM_LIBBLASTRAMPOLINE=1 \
|
|
||||||
USE_SYSTEM_GMP=1 \
|
|
||||||
USE_SYSTEM_MPFR=1 \
|
|
||||||
USE_SYSTEM_LIBSUITESPARSE=1 \
|
|
||||||
USE_SYSTEM_SUITESPARSE=1 \
|
|
||||||
USE_INTEL_JITEVENTS=0 \
|
|
||||||
USE_SYSTEM_LIBWHICH=1 \
|
|
||||||
USE_SYSTEM_DSFMT=1 \
|
|
||||||
USE_SYSTEM_LIBUV=0 \
|
|
||||||
USE_SYSTEM_UTF8PROC=1 \
|
|
||||||
USE_SYSTEM_LIBGIT2=1 \
|
|
||||||
USE_SYSTEM_LIBSSH2=1 \
|
|
||||||
USE_SYSTEM_MBEDTLS=1 \
|
|
||||||
USE_SYSTEM_CURL=1 \
|
|
||||||
USE_SYSTEM_PATCHELF=1 \
|
|
||||||
USE_SYSTEM_ZLIB=1 \
|
|
||||||
USE_SYSTEM_P7ZIP=1 \
|
|
||||||
USE_SYSTEM_OPENLIBM=1 \
|
|
||||||
USE_BLAS64=1 \
|
|
||||||
JLDFLAGS="$LDFLAGS" \
|
|
||||||
VERBOSE=1 \
|
|
||||||
TAGGED_RELEASE_BANNER="openSUSE %{suse_version} experimental build (unofficial)" \
|
|
||||||
release debug
|
|
||||||
|
|
||||||
# This may fix other issues where libLLVM-14jl.so is not properly copied?
|
# This may fix other issues where libLLVM-15jl.so is not properly copied?
|
||||||
if [ "x%{_lib}" != xlib ] ; then
|
if [ "x%{_lib}" != xlib ] ; then
|
||||||
cp -a %{_builddir}/%{buildsubdir}/build/usr/lib/* %{_builddir}/%{buildsubdir}/build/%{_libdir}
|
cp -a %{_builddir}/%{buildsubdir}/build/usr/lib/* %{_builddir}/%{buildsubdir}/build/%{_libdir}
|
||||||
rm -rf %{_builddir}/%{buildsubdir}/build/usr/lib/
|
rm -rf %{_builddir}/%{buildsubdir}/build/usr/lib/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# The tests will only pass if openblas is being used.
|
export CC=clang
|
||||||
# make %{?_smp_mflags} test
|
export CXX=clang++
|
||||||
|
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"
|
||||||
|
# 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
|
%install
|
||||||
# We need these compilation flags to avoid error when building MBEDTLS with
|
export CC=clang
|
||||||
# GCC-11.
|
export CXX=clang++
|
||||||
# Ref.: https://build.opensuse.org/package/show/security:tls/mbedtls
|
export CFLAGS="%{optflags} -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"
|
||||||
export CFLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
|
export CXXFLAGS="%{optflags} -Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration"
|
||||||
export CXXFLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
|
export DEPS_GIT=0
|
||||||
export LD_LIBRARY_PATH=%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:%{_builddir}/%{buildsubdir}/usr/lib
|
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} \
|
make install DESTDIR="%{buildroot}" \
|
||||||
MARCH=%{julia_march} \
|
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
|
%ifarch aarch64
|
||||||
JULIA_CPU_TARGET="generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm" \
|
JULIA_CPU_TARGET="generic;cortex-a57;thunderx2t99;carmel,clone_all" \
|
||||||
%endif
|
%endif
|
||||||
%ifarch x86_64
|
%ifarch pp64le
|
||||||
JULIA_CPU_TARGET="generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)" \
|
JULIA_CPU_TARGET="pwr8" \
|
||||||
%endif
|
%endif
|
||||||
build_prefix=%{_builddir}/%{buildsubdir}/build%{_prefix} \
|
build_prefix="%{_builddir}/%{buildsubdir}/build%{_prefix}" \
|
||||||
build_libdir=%{_builddir}/%{buildsubdir}/build%{_libdir} \
|
build_libdir="%{_builddir}/%{buildsubdir}/build%{_libdir}" \
|
||||||
prefix=%{_prefix} \
|
prefix="%{_prefix}" \
|
||||||
bindir=%{_bindir} \
|
bindir="%{_bindir}" \
|
||||||
libdir=%{_libdir} \
|
libdir="%{_libdir}" \
|
||||||
libexecdir=%{_libexecdir} \
|
libexecdir="%{_libexecdir}" \
|
||||||
datarootdir=%{_datarootdir} \
|
datarootdir="%{_datarootdir}" \
|
||||||
includedir=%{_includedir} \
|
includedir="%{_includedir}" \
|
||||||
sysconfdir=%{_sysconfdir} \
|
sysconfdir="%{_sysconfdir}" \
|
||||||
USE_BINARYBUILDER=0 \
|
%{__julia_opts} \
|
||||||
USE_SYSTEM_CSL=1 \
|
%if 0%{?suse_version} > 1600
|
||||||
USE_SYSTEM_LLVM=0 \
|
TAGGED_RELEASE_BANNER="${RELEASE_BANNER}"
|
||||||
USE_SYSTEM_LLD=1 \
|
%else
|
||||||
USE_SYSTEM_LIBUNWIND=1 \
|
TAGGED_RELEASE_BANNER="${RELEASE_BANNER}"
|
||||||
USE_SYSTEM_PCRE=1 \
|
%endif
|
||||||
USE_SYSTEM_BLAS=0 \
|
|
||||||
USE_SYSTEM_LAPACK=0 \
|
# Fix dangling symlinks
|
||||||
USE_SYSTEM_LIBBLASTRAMPOLINE=1 \
|
ln -sf %{_libdir}/libblastrampoline.so %{buildroot}%{_libdir}/julia/libblastrampoline.so
|
||||||
USE_SYSTEM_GMP=1 \
|
%if 0%{?suse_version} > 1600
|
||||||
USE_SYSTEM_MPFR=1 \
|
ln -sf %{_libdir}/libgcc_s.so.1 %{buildroot}%{_libdir}/julia/libgcc_s.so.1
|
||||||
USE_SYSTEM_LIBSUITESPARSE=1 \
|
%else
|
||||||
USE_SYSTEM_SUITESPARSE=1 \
|
ln -sf /%{_lib}/libgcc_s.so.1 %{buildroot}%{_libdir}/julia/libgcc_s.so.1
|
||||||
USE_INTEL_JITEVENTS=0 \
|
%endif
|
||||||
USE_SYSTEM_LIBWHICH=1 \
|
ln -sf %{_libdir}/libgfortran.so.5 %{buildroot}%{_libdir}/julia/libgfortran.so.5
|
||||||
USE_SYSTEM_DSFMT=1 \
|
ln -sf %{_libdir}/libcurl.so %{buildroot}%{_libdir}/julia/libcurl.so.4
|
||||||
USE_SYSTEM_LIBUV=0 \
|
|
||||||
USE_SYSTEM_UTF8PROC=1 \
|
|
||||||
USE_SYSTEM_LIBGIT2=1 \
|
|
||||||
USE_SYSTEM_LIBSSH2=1 \
|
|
||||||
USE_SYSTEM_MBEDTLS=1 \
|
|
||||||
USE_SYSTEM_CURL=1 \
|
|
||||||
USE_SYSTEM_PATCHELF=1 \
|
|
||||||
USE_SYSTEM_ZLIB=1 \
|
|
||||||
USE_SYSTEM_P7ZIP=1 \
|
|
||||||
USE_SYSTEM_OPENLIBM=1 \
|
|
||||||
USE_BLAS64=1 \
|
|
||||||
JLDFLAGS="$LDFLAGS" \
|
|
||||||
VERBOSE=1 \
|
|
||||||
TAGGED_RELEASE_BANNER="openSUSE %{suse_version} experimental build (unofficial)"
|
|
||||||
|
|
||||||
# GZip man page.
|
# GZip man page.
|
||||||
gzip %{buildroot}/%{_mandir}/man1/julia.1
|
gzip %{buildroot}/%{_mandir}/man1/julia.1
|
||||||
|
|
||||||
# Copy the man page for every executable.
|
|
||||||
cd %{buildroot}/%{_mandir}/man1/
|
|
||||||
|
|
||||||
rm -f %{buildroot}%{_libdir}/julia/libuv.a
|
rm -f %{buildroot}%{_libdir}/julia/libuv.a
|
||||||
rm -f %{buildroot}%{_datadir}/julia/base/build.h
|
rm -f %{buildroot}%{_datadir}/julia/base/build.h
|
||||||
rm -f %{buildroot}%{_datadir}/julia/base/Makefile
|
rm -f %{buildroot}%{_datadir}/julia/base/Makefile
|
||||||
@@ -402,6 +598,29 @@ ln -sfv /var/lib/ca-certificates/ca-bundle.pem %{buildroot}%{_datadir}/julia/cer
|
|||||||
# Remove execution permission on documentation files.
|
# Remove execution permission on documentation files.
|
||||||
chmod -x+X -R %{buildroot}%{_docdir}/julia/*
|
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.
|
# Remove hidden files and zero-length files and directories from stdlib.
|
||||||
pushd %{buildroot}
|
pushd %{buildroot}
|
||||||
find . -name ".codecov.yml" -prune -execdir rm -rf {} \;
|
find . -name ".codecov.yml" -prune -execdir rm -rf {} \;
|
||||||
@@ -424,9 +643,6 @@ rm -rf %{buildroot}%{_docdir}/julia/
|
|||||||
rm %{buildroot}%{_datadir}/appdata/julia.appdata.xml
|
rm %{buildroot}%{_datadir}/appdata/julia.appdata.xml
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Remove duplicated files.
|
|
||||||
%fdupes %{buildroot}
|
|
||||||
|
|
||||||
%suse_update_desktop_file -r julia Science Math
|
%suse_update_desktop_file -r julia Science Math
|
||||||
|
|
||||||
mv %{buildroot}%{_bindir}/julia %{buildroot}%{_bindir}/julia-base
|
mv %{buildroot}%{_bindir}/julia %{buildroot}%{_bindir}/julia-base
|
||||||
@@ -434,24 +650,41 @@ mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
|||||||
|
|
||||||
if [ "x%{_lib}" != xlib ] ; then
|
if [ "x%{_lib}" != xlib ] ; then
|
||||||
mkdir -p %{buildroot}%{_prefix}/lib
|
mkdir -p %{buildroot}%{_prefix}/lib
|
||||||
ln -sf %{_libdir}/julia %{buildroot}%{_prefix}/lib/julia
|
ln -sf %{_libdir}/julia %{buildroot}%{_prefix}/lib/julia
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ln -sf %{_sysconfdir}/alternatives/julia %{buildroot}%{_bindir}/julia
|
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
|
%post
|
||||||
%{_sbindir}/update-alternatives --install %{_bindir}/julia \
|
%{_sbindir}/update-alternatives --install %{_bindir}/julia \
|
||||||
julia %{_bindir}/julia-base 5
|
julia %{_bindir}/julia-base 5
|
||||||
%{_sbindir}/ldconfig
|
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
if [ ! -f %{_bindir}/julia-base ] ; then
|
if [ ! -f %{_bindir}/julia-base ] ; then
|
||||||
%{_sbindir}/update-alternatives --remove julia %{_bindir}/julia-base
|
%{_sbindir}/update-alternatives --remove julia %{_bindir}/julia-base
|
||||||
fi
|
fi
|
||||||
%{_sbindir}/ldconfig
|
|
||||||
|
|
||||||
%post devel -p /sbin/ldconfig
|
%ldconfig_scriptlets -n %{libname}
|
||||||
%postun devel -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%doc CONTRIBUTING.md NEWS.md README.md
|
%doc CONTRIBUTING.md NEWS.md README.md
|
||||||
@@ -467,6 +700,12 @@ fi
|
|||||||
%{_datadir}/julia/cert.pem
|
%{_datadir}/julia/cert.pem
|
||||||
%dir %{_libexecdir}/julia
|
%dir %{_libexecdir}/julia
|
||||||
%{_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}
|
%if !%{?compat_mode}
|
||||||
%dir %{_datadir}/appdata/
|
%dir %{_datadir}/appdata/
|
||||||
@@ -477,8 +716,8 @@ fi
|
|||||||
%{_datadir}/applications/julia.desktop
|
%{_datadir}/applications/julia.desktop
|
||||||
%{_prefix}/lib/julia
|
%{_prefix}/lib/julia
|
||||||
%{_libdir}/julia/
|
%{_libdir}/julia/
|
||||||
%{_libdir}/libjulia.so.%{libjulia_sover_major}.%{libjulia_sover_minor}
|
|
||||||
%{_mandir}/man1/julia.1%{?ext_man}
|
%{_mandir}/man1/julia.1%{?ext_man}
|
||||||
|
%{_libdir}/libLLVM-15jl.so
|
||||||
%dir %{_sysconfdir}/julia/
|
%dir %{_sysconfdir}/julia/
|
||||||
%config(noreplace) %{_sysconfdir}/julia/startup.jl
|
%config(noreplace) %{_sysconfdir}/julia/startup.jl
|
||||||
|
|
||||||
@@ -486,7 +725,9 @@ fi
|
|||||||
%{_datadir}/julia/test/
|
%{_datadir}/julia/test/
|
||||||
%{_datadir}/julia/julia-config.jl
|
%{_datadir}/julia/julia-config.jl
|
||||||
%{_includedir}/julia/
|
%{_includedir}/julia/
|
||||||
%{_libdir}/libjulia.so.%{libjulia_sover_major}
|
|
||||||
%{_libdir}/libjulia.so
|
%{_libdir}/libjulia.so
|
||||||
|
|
||||||
|
%files -n %{libname}
|
||||||
|
%{_libdir}/libjulia.so.*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b77adbc404ff08702add49c010ca1560d3d8cbb706f82efb3b3e71a71912b8d1
|
||||||
|
size 78372324
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7b10f2cade3358fb97e3657f1b71442a481045b395742e6196b99dfe5012b73d
|
||||||
|
size 82317366
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fcf860092982bc4855117bb16d9efa7b98f62adfcd574a0e6969526407fd2f17
|
||||||
|
size 85634590
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
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__()
|
|
||||||
3
libblastrampoline.v5.11.0+0.aarch64-linux-gnu.tar.gz
Normal file
3
libblastrampoline.v5.11.0+0.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ba0894300292bff7c740736f3b54f9323ef09a6f62c0c9434e1a9350da484fed
|
||||||
|
size 812862
|
||||||
3
libblastrampoline.v5.11.0+0.powerpc64le-linux-gnu.tar.gz
Normal file
3
libblastrampoline.v5.11.0+0.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c349bf6bc5e6d4ac78aa545411c76744bc571b83ca9bfd1d69059f000b15a592
|
||||||
|
size 880007
|
||||||
3
libblastrampoline.v5.11.0+0.x86_64-linux-gnu.tar.gz
Normal file
3
libblastrampoline.v5.11.0+0.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c29d2d46aaa67a5a6b69e990f6af5c857a2375c454c5102dd8175701b77c240c
|
||||||
|
size 869004
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
From: Soc Virnyl Estela <contact@uncomfyhalomacro.pl>
|
|
||||||
Date: Sat, 09 Dec 2023 16:30:31 +0800
|
|
||||||
Subject: Change --link-static to --link-shared
|
|
||||||
|
|
||||||
If we don't change it to shared, it will fail to link it
|
|
||||||
since openSUSE's llvm does not have static libraries.
|
|
||||||
---
|
|
||||||
|
|
||||||
diff -ruN julia-1.9.4.orig/src/Makefile julia/src/Makefile
|
|
||||||
--- julia-1.9.4.orig/src/Makefile 2023-12-08 06:25:53.604185583 +0800
|
|
||||||
+++ julia/src/Makefile 2023-12-08 13:19:45.202318921 +0800
|
|
||||||
@@ -125,7 +125,7 @@
|
|
||||||
# USE_SYSTEM_LLVM == 0
|
|
||||||
ifneq ($(USE_LLVM_SHLIB),1)
|
|
||||||
# USE_LLVM_SHLIB != 1
|
|
||||||
-CG_LLVMLINK += $(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --libs $(CG_LLVM_LIBS) --link-static) $($(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --system-libs 2> /dev/null)
|
|
||||||
+CG_LLVMLINK += $(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --libs $(CG_LLVM_LIBS) --link-shared) $($(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --system-libs 2> /dev/null)
|
|
||||||
else
|
|
||||||
# USE_LLVM_SHLIB == 1
|
|
||||||
ifeq ($(OS), Darwin)
|
|
||||||
@@ -141,7 +141,7 @@
|
|
||||||
endif # USE_LLVM_SHLIB == 1
|
|
||||||
endif # JULIACODEGEN == LLVM
|
|
||||||
|
|
||||||
-RT_LLVM_LINK_ARGS := $(shell $(LLVM_CONFIG_HOST) --libs $(RT_LLVM_LIBS) --system-libs --link-static)
|
|
||||||
+RT_LLVM_LINK_ARGS := $(shell $(LLVM_CONFIG_HOST) --libs $(RT_LLVM_LIBS) --system-libs --link-shared)
|
|
||||||
RT_LLVMLINK += $(LLVM_LDFLAGS) $(RT_LLVM_LINK_ARGS)
|
|
||||||
ifeq ($(OS), WINNT)
|
|
||||||
RT_LLVMLINK += -luuid -lole32
|
|
||||||
@@ -1,411 +0,0 @@
|
|||||||
From 921f1b9d5e9389756826898d6907c0a2829efa51 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Prem Chintalapudi <prem.chintalapudi@gmail.com>
|
|
||||||
Date: Wed, 10 May 2023 09:58:04 -0400
|
|
||||||
Subject: [PATCH 1/7] Fix remarks emissions from simdloop pass
|
|
||||||
|
|
||||||
Co-authored-by: Valentin Churavy <v.churavy@gmail.com>
|
|
||||||
---
|
|
||||||
src/llvm-simdloop.cpp | 18 +++++++++++-------
|
|
||||||
1 file changed, 11 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/llvm-simdloop.cpp b/src/llvm-simdloop.cpp
|
|
||||||
index 3c94b226ad7b8..233f61c9fea6b 100644
|
|
||||||
--- a/src/llvm-simdloop.cpp
|
|
||||||
+++ b/src/llvm-simdloop.cpp
|
|
||||||
@@ -165,11 +165,13 @@ static bool markLoopInfo(Module &M, Function *marker, function_ref<LoopInfo &(Fu
|
|
||||||
Instruction *I = cast<Instruction>(U);
|
|
||||||
ToDelete.push_back(I);
|
|
||||||
|
|
||||||
- LoopInfo &LI = GetLI(*I->getParent()->getParent());
|
|
||||||
- Loop *L = LI.getLoopFor(I->getParent());
|
|
||||||
- I->removeFromParent();
|
|
||||||
- if (!L)
|
|
||||||
+ BasicBlock *B = I->getParent();
|
|
||||||
+ LoopInfo &LI = GetLI(*B->getParent());
|
|
||||||
+ Loop *L = LI.getLoopFor(B);
|
|
||||||
+ if (!L) {
|
|
||||||
+ I->removeFromParent();
|
|
||||||
continue;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
LLVM_DEBUG(dbgs() << "LSL: loopinfo marker found\n");
|
|
||||||
bool simd = false;
|
|
||||||
@@ -258,6 +260,8 @@ static bool markLoopInfo(Module &M, Function *marker, function_ref<LoopInfo &(Fu
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ I->removeFromParent();
|
|
||||||
+
|
|
||||||
Changed = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
From b2273d39542fe803f7d9da03ef57af7e815db68c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Valentin Churavy <v.churavy@gmail.com>
|
|
||||||
Date: Sun, 30 Apr 2023 20:19:08 -0400
|
|
||||||
Subject: [PATCH 3/7] Do not yet mandate opaque pointers for LLVM 15
|
|
||||||
|
|
||||||
---
|
|
||||||
src/codegen.cpp | 11 +++++++++++
|
|
||||||
src/jitlayers.cpp | 3 ---
|
|
||||||
src/llvm-version.h | 2 +-
|
|
||||||
3 files changed, 12 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/codegen.cpp b/src/codegen.cpp
|
|
||||||
index a9d2cb0c60333..2e3f7eb2bf7bb 100644
|
|
||||||
--- a/src/codegen.cpp
|
|
||||||
+++ b/src/codegen.cpp
|
|
||||||
@@ -9083,6 +9083,17 @@ extern "C" void jl_init_llvm(void)
|
|
||||||
if (clopt && clopt->getNumOccurrences() == 0)
|
|
||||||
cl::ProvidePositionalOption(clopt, "4", 1);
|
|
||||||
|
|
||||||
+#if JL_LLVM_VERSION >= 150000
|
|
||||||
+ clopt = llvmopts.lookup("opaque-pointers");
|
|
||||||
+ if (clopt && clopt->getNumOccurrences() == 0) {
|
|
||||||
+#ifdef JL_LLVM_OPAQUE_POINTERS
|
|
||||||
+ cl::ProvidePositionalOption(clopt, "true", 1);
|
|
||||||
+#else
|
|
||||||
+ cl::ProvidePositionalOption(clopt, "false", 1);
|
|
||||||
+#endif
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
jl_ExecutionEngine = new JuliaOJIT();
|
|
||||||
|
|
||||||
bool jl_using_gdb_jitevents = false;
|
|
||||||
diff --git a/src/jitlayers.cpp b/src/jitlayers.cpp
|
|
||||||
index 643f0468457ae..ef7e98bb7852a 100644
|
|
||||||
--- a/src/jitlayers.cpp
|
|
||||||
+++ b/src/jitlayers.cpp
|
|
||||||
@@ -1306,9 +1306,6 @@ JuliaOJIT::JuliaOJIT()
|
|
||||||
JD(ES.createBareJITDylib("JuliaOJIT")),
|
|
||||||
ContextPool([](){
|
|
||||||
auto ctx = std::make_unique<LLVMContext>();
|
|
||||||
-#ifdef JL_LLVM_OPAQUE_POINTERS
|
|
||||||
- ctx->setOpaquePointers(true);
|
|
||||||
-#endif
|
|
||||||
return orc::ThreadSafeContext(std::move(ctx));
|
|
||||||
}),
|
|
||||||
#ifdef JL_USE_JITLINK
|
|
||||||
diff --git a/src/llvm-version.h b/src/llvm-version.h
|
|
||||||
index a3f3774b6dc15..819ec1c88976b 100644
|
|
||||||
--- a/src/llvm-version.h
|
|
||||||
+++ b/src/llvm-version.h
|
|
||||||
@@ -14,7 +14,7 @@
|
|
||||||
#error Only LLVM versions >= 12.0.0 are supported by Julia
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if JL_LLVM_VERSION >= 150000
|
|
||||||
+#if JL_LLVM_VERSION >= 160000
|
|
||||||
#define JL_LLVM_OPAQUE_POINTERS 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
From 190f84180883eb498cb7b7ed27e10af9a6c62863 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Valentin Churavy <v.churavy@gmail.com>
|
|
||||||
Date: Wed, 26 Apr 2023 20:48:45 -0400
|
|
||||||
Subject: [PATCH 4/7] Upgrade Julia to LLVM 15.0.7+5
|
|
||||||
|
|
||||||
Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>
|
|
||||||
---
|
|
||||||
Make.inc | 2 +-
|
|
||||||
deps/checksums/clang | 224 ++++++++--------
|
|
||||||
deps/checksums/lld | 224 ++++++++--------
|
|
||||||
deps/checksums/llvm | 452 +++++++++++++++-----------------
|
|
||||||
deps/clang.version | 2 +-
|
|
||||||
deps/lld.version | 2 +-
|
|
||||||
deps/llvm-tools.version | 4 +-
|
|
||||||
deps/llvm.version | 9 +-
|
|
||||||
stdlib/LLD_jll/Project.toml | 4 +-
|
|
||||||
stdlib/libLLVM_jll/Project.toml | 2 +-
|
|
||||||
10 files changed, 446 insertions(+), 479 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Make.inc b/Make.inc
|
|
||||||
index 4d564f057a3da..35b0657de5aa2 100644
|
|
||||||
--- a/Make.inc
|
|
||||||
+++ b/Make.inc
|
|
||||||
@@ -480,7 +480,7 @@ FC := $(CROSS_COMPILE)gfortran
|
|
||||||
ifeq ($(OS), Darwin)
|
|
||||||
APPLE_ARCH := $(shell uname -m)
|
|
||||||
ifneq ($(APPLE_ARCH),arm64)
|
|
||||||
-MACOSX_VERSION_MIN := 10.10
|
|
||||||
+MACOSX_VERSION_MIN := 10.14
|
|
||||||
else
|
|
||||||
MACOSX_VERSION_MIN := 11.0
|
|
||||||
endif
|
|
||||||
diff --git a/src/codegen.cpp b/src/codegen.cpp
|
|
||||||
index 2e3f7eb2bf7bb..07e7b15afc165 100644
|
|
||||||
--- a/src/codegen.cpp
|
|
||||||
+++ b/src/codegen.cpp
|
|
||||||
@@ -9169,7 +9169,9 @@ extern "C" JL_DLLEXPORT void jl_init_codegen_impl(void)
|
|
||||||
extern "C" JL_DLLEXPORT void jl_teardown_codegen_impl() JL_NOTSAFEPOINT
|
|
||||||
{
|
|
||||||
// output LLVM timings and statistics
|
|
||||||
- jl_ExecutionEngine->printTimers();
|
|
||||||
+ // Guard against exits before we have initialized the ExecutionEngine
|
|
||||||
+ if (jl_ExecutionEngine)
|
|
||||||
+ jl_ExecutionEngine->printTimers();
|
|
||||||
PrintStatistics();
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/jitlayers.h b/src/jitlayers.h
|
|
||||||
index bbbcbe73f1e54..4c6921cd42dab 100644
|
|
||||||
--- a/src/jitlayers.h
|
|
||||||
+++ b/src/jitlayers.h
|
|
||||||
@@ -97,10 +97,8 @@ struct OptimizationOptions {
|
|
||||||
};
|
|
||||||
|
|
||||||
// LLVM's new pass manager is scheduled to replace the legacy pass manager
|
|
||||||
-// for middle-end IR optimizations. However, we have not qualified the new
|
|
||||||
-// pass manager on our optimization pipeline yet, so this remains an optional
|
|
||||||
-// define
|
|
||||||
-#if defined(HAS_SANITIZER) && JL_LLVM_VERSION >= 150000
|
|
||||||
+// for middle-end IR optimizations.
|
|
||||||
+#if JL_LLVM_VERSION >= 150000
|
|
||||||
#define JL_USE_NEW_PM
|
|
||||||
#endif
|
|
||||||
|
|
||||||
diff --git a/src/pipeline.cpp b/src/pipeline.cpp
|
|
||||||
index 4403653a9d8e4..7e61171d288e6 100644
|
|
||||||
--- a/src/pipeline.cpp
|
|
||||||
+++ b/src/pipeline.cpp
|
|
||||||
@@ -361,7 +361,8 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat
|
|
||||||
{
|
|
||||||
FunctionPassManager FPM;
|
|
||||||
FPM.addPass(SROAPass());
|
|
||||||
- FPM.addPass(InstSimplifyPass());
|
|
||||||
+ // SROA can duplicate PHI nodes which can block LowerSIMD
|
|
||||||
+ FPM.addPass(InstCombinePass());
|
|
||||||
FPM.addPass(JumpThreadingPass());
|
|
||||||
FPM.addPass(CorrelatedValuePropagationPass());
|
|
||||||
FPM.addPass(ReassociatePass());
|
|
||||||
@@ -384,7 +385,7 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat
|
|
||||||
#endif
|
|
||||||
LPM2.addPass(LICMPass(LICMOptions()));
|
|
||||||
JULIA_PASS(LPM2.addPass(JuliaLICMPass()));
|
|
||||||
- LPM2.addPass(SimpleLoopUnswitchPass(true, true));
|
|
||||||
+ LPM2.addPass(SimpleLoopUnswitchPass(false, true));
|
|
||||||
LPM2.addPass(LICMPass(LICMOptions()));
|
|
||||||
JULIA_PASS(LPM2.addPass(JuliaLICMPass()));
|
|
||||||
//LICM needs MemorySSA now, so we must use it
|
|
||||||
@@ -397,11 +398,11 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat
|
|
||||||
LPM.addPass(LoopIdiomRecognizePass());
|
|
||||||
LPM.addPass(IndVarSimplifyPass());
|
|
||||||
LPM.addPass(LoopDeletionPass());
|
|
||||||
+ LPM.addPass(LoopFullUnrollPass());
|
|
||||||
invokeLoopOptimizerEndCallbacks(LPM, PB, O);
|
|
||||||
//We don't know if the loop end callbacks support MSSA
|
|
||||||
FPM.addPass(createFunctionToLoopPassAdaptor(std::move(LPM), /*UseMemorySSA = */false));
|
|
||||||
}
|
|
||||||
- FPM.addPass(LoopUnrollPass(LoopUnrollOptions().setRuntime(false)));
|
|
||||||
JULIA_PASS(FPM.addPass(AllocOptPass()));
|
|
||||||
FPM.addPass(SROAPass());
|
|
||||||
FPM.addPass(InstSimplifyPass());
|
|
||||||
|
|
||||||
From 2ddbb5abb93045eeb4513e223c86e9c25fa774a4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Valentin Churavy <v.churavy@gmail.com>
|
|
||||||
Date: Wed, 26 Apr 2023 20:49:16 -0400
|
|
||||||
Subject: [PATCH 6/7] Fix tests and static analyzer for LLVM 15
|
|
||||||
|
|
||||||
Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>
|
|
||||||
Co-authored-by: Prem Chintalapudi <prem.chintalapudi@gmail.com>
|
|
||||||
---
|
|
||||||
src/llvm-alloc-opt.cpp | 3 ++
|
|
||||||
src/llvm-late-gc-lowering.cpp | 1 +
|
|
||||||
src/llvm-lower-handlers.cpp | 1 +
|
|
||||||
src/llvm-multiversioning.cpp | 3 ++
|
|
||||||
src/llvm-ptls.cpp | 2 +
|
|
||||||
test/clangsa/MissingRoots.c | 3 ++
|
|
||||||
test/cmdlineargs.jl | 10 ++--
|
|
||||||
test/llvmpasses/pipeline-o2-broadcast.jl | 68 ++++++++++++++----------
|
|
||||||
test/llvmpasses/pipeline-o2.jl | 6 +--
|
|
||||||
9 files changed, 62 insertions(+), 35 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/llvm-alloc-opt.cpp b/src/llvm-alloc-opt.cpp
|
|
||||||
index 1a524cbe8d419..bb6de67f347ff 100644
|
|
||||||
--- a/src/llvm-alloc-opt.cpp
|
|
||||||
+++ b/src/llvm-alloc-opt.cpp
|
|
||||||
@@ -1138,9 +1138,12 @@ void Optimizer::splitOnStack(CallInst *orig_inst)
|
|
||||||
ref->setOrdering(AtomicOrdering::NotAtomic);
|
|
||||||
operands.push_back(ref);
|
|
||||||
}
|
|
||||||
+#ifndef __clang_analyzer__
|
|
||||||
+ // FIXME: SA finds "Called C++ object pointer is null" inside the LLVM code.
|
|
||||||
auto new_call = builder.CreateCall(pass.gc_preserve_begin_func, operands);
|
|
||||||
new_call->takeName(call);
|
|
||||||
call->replaceAllUsesWith(new_call);
|
|
||||||
+#endif
|
|
||||||
call->eraseFromParent();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
diff --git a/src/llvm-late-gc-lowering.cpp b/src/llvm-late-gc-lowering.cpp
|
|
||||||
index a836ff1361768..ac70685e7431b 100644
|
|
||||||
--- a/src/llvm-late-gc-lowering.cpp
|
|
||||||
+++ b/src/llvm-late-gc-lowering.cpp
|
|
||||||
@@ -1262,6 +1262,7 @@ static bool isLoadFromConstGV(LoadInst *LI, bool &task_local, PhiSet *seen)
|
|
||||||
// We only emit single slot GV in codegen
|
|
||||||
// but LLVM global merging can change the pointer operands to GEPs/bitcasts
|
|
||||||
auto load_base = LI->getPointerOperand()->stripInBoundsOffsets();
|
|
||||||
+ assert(load_base); // Static analyzer
|
|
||||||
auto gv = dyn_cast<GlobalVariable>(load_base);
|
|
||||||
if (isTBAA(LI->getMetadata(LLVMContext::MD_tbaa),
|
|
||||||
{"jtbaa_immut", "jtbaa_const", "jtbaa_datatype"})) {
|
|
||||||
diff --git a/src/llvm-lower-handlers.cpp b/src/llvm-lower-handlers.cpp
|
|
||||||
index 919128769019b..39a36bfc3ba76 100644
|
|
||||||
--- a/src/llvm-lower-handlers.cpp
|
|
||||||
+++ b/src/llvm-lower-handlers.cpp
|
|
||||||
@@ -8,6 +8,7 @@
|
|
||||||
|
|
||||||
#include <llvm/ADT/DepthFirstIterator.h>
|
|
||||||
#include <llvm/ADT/Statistic.h>
|
|
||||||
+#include <llvm/ADT/Triple.h>
|
|
||||||
#include <llvm/Analysis/CFG.h>
|
|
||||||
#include <llvm/IR/BasicBlock.h>
|
|
||||||
#include <llvm/IR/Constants.h>
|
|
||||||
diff --git a/src/llvm-multiversioning.cpp b/src/llvm-multiversioning.cpp
|
|
||||||
index 21a090724802a..cdba03047a4b7 100644
|
|
||||||
--- a/src/llvm-multiversioning.cpp
|
|
||||||
+++ b/src/llvm-multiversioning.cpp
|
|
||||||
@@ -14,11 +14,13 @@
|
|
||||||
#include <llvm/Pass.h>
|
|
||||||
#include <llvm/ADT/BitVector.h>
|
|
||||||
#include <llvm/ADT/Statistic.h>
|
|
||||||
+#include <llvm/ADT/Triple.h>
|
|
||||||
#include <llvm/IR/Module.h>
|
|
||||||
#include <llvm/IR/LegacyPassManager.h>
|
|
||||||
#include <llvm/IR/Function.h>
|
|
||||||
#include <llvm/IR/Instructions.h>
|
|
||||||
#include <llvm/IR/Constants.h>
|
|
||||||
+#include <llvm/IR/Dominators.h>
|
|
||||||
#include <llvm/IR/LLVMContext.h>
|
|
||||||
#include <llvm/Analysis/LoopInfo.h>
|
|
||||||
#include <llvm/Analysis/CallGraph.h>
|
|
||||||
@@ -779,6 +781,7 @@ static Value *rewrite_inst_use(const Stack& stack, Type *T_size, Value *replace,
|
|
||||||
replace = inst;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
+ assert(val);
|
|
||||||
unsigned nargs = val->getNumOperands();
|
|
||||||
args.resize(nargs);
|
|
||||||
for (unsigned j = 0; j < nargs; j++) {
|
|
||||||
diff --git a/src/llvm-ptls.cpp b/src/llvm-ptls.cpp
|
|
||||||
index 8174832b3cebf..a628710916327 100644
|
|
||||||
--- a/src/llvm-ptls.cpp
|
|
||||||
+++ b/src/llvm-ptls.cpp
|
|
||||||
@@ -9,6 +9,7 @@
|
|
||||||
#include <llvm-c/Types.h>
|
|
||||||
|
|
||||||
#include <llvm/Pass.h>
|
|
||||||
+#include <llvm/ADT/Triple.h>
|
|
||||||
#include <llvm/IR/Module.h>
|
|
||||||
#include <llvm/IR/LegacyPassManager.h>
|
|
||||||
#include <llvm/IR/Function.h>
|
|
||||||
@@ -161,6 +162,7 @@ void LowerPTLS::fix_pgcstack_use(CallInst *pgcstack, Function *pgcstack_getter,
|
|
||||||
SmallVector<uint32_t, 2> Weights{9, 1};
|
|
||||||
TerminatorInst *fastTerm;
|
|
||||||
TerminatorInst *slowTerm;
|
|
||||||
+ assert(pgcstack->getType()); // Static analyzer
|
|
||||||
auto cmp = new ICmpInst(phi, CmpInst::ICMP_NE, pgcstack, Constant::getNullValue(pgcstack->getType()));
|
|
||||||
SplitBlockAndInsertIfThenElse(cmp, phi, &fastTerm, &slowTerm,
|
|
||||||
MDB.createBranchWeights(Weights));
|
|
||||||
diff --git a/test/clangsa/MissingRoots.c b/test/clangsa/MissingRoots.c
|
|
||||||
index f0b32c54bc7b8..0ff5e633622ce 100644
|
|
||||||
--- a/test/clangsa/MissingRoots.c
|
|
||||||
+++ b/test/clangsa/MissingRoots.c
|
|
||||||
@@ -352,6 +352,9 @@ void assoc_exact_broken(jl_value_t **args, size_t n, int8_t offs, size_t world)
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
+// declare
|
|
||||||
+jl_typemap_level_t *jl_new_typemap_level(void);
|
|
||||||
+
|
|
||||||
void assoc_exact_ok(jl_value_t *args1, jl_value_t **args, size_t n, int8_t offs, size_t world) {
|
|
||||||
jl_typemap_level_t *cache = jl_new_typemap_level();
|
|
||||||
JL_GC_PUSH1(&cache);
|
|
||||||
diff --git a/test/cmdlineargs.jl b/test/cmdlineargs.jl
|
|
||||||
index 389b195d97935..1d04926ef23af 100644
|
|
||||||
--- a/test/cmdlineargs.jl
|
|
||||||
+++ b/test/cmdlineargs.jl
|
|
||||||
@@ -188,10 +188,12 @@ let exename = `$(Base.julia_cmd()) --startup-file=no --color=no`
|
|
||||||
@test contains(v[2], r"enable-tail-merge + = 1")
|
|
||||||
@test isempty(v[3])
|
|
||||||
end
|
|
||||||
- @testset let v = readchomperrors(setenv(`$exename -e 0`, "JULIA_LLVM_ARGS" => "-print-options -enable-tail-merge=1 -enable-tail-merge=1", "HOME" => homedir()))
|
|
||||||
- @test !v[1]
|
|
||||||
- @test isempty(v[2])
|
|
||||||
- @test v[3] == "julia: for the --enable-tail-merge option: may only occur zero or one times!"
|
|
||||||
+ if Base.libllvm_version < v"15" #LLVM over 15 doesn't care for multiple options
|
|
||||||
+ @testset let v = readchomperrors(setenv(`$exename -e 0`, "JULIA_LLVM_ARGS" => "-print-options -enable-tail-merge=1 -enable-tail-merge=1", "HOME" => homedir()))
|
|
||||||
+ @test !v[1]
|
|
||||||
+ @test isempty(v[2])
|
|
||||||
+ @test v[3] == "julia: for the --enable-tail-merge option: may only occur zero or one times!"
|
|
||||||
+ end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
diff --git a/test/llvmpasses/pipeline-o2.jl b/test/llvmpasses/pipeline-o2.jl
|
|
||||||
index 2996a44de62b3..fcb2161de7614 100644
|
|
||||||
--- a/test/llvmpasses/pipeline-o2.jl
|
|
||||||
+++ b/test/llvmpasses/pipeline-o2.jl
|
|
||||||
@@ -78,21 +78,21 @@ end
|
|
||||||
# COM: memset checks
|
|
||||||
|
|
||||||
# COM: INT64
|
|
||||||
-# ALL-LABEL: define nonnull {} addrspace(10)* @julia_zeros
|
|
||||||
+# ALL: define {{.*}} @julia_zeros
|
|
||||||
# ALL-NOT: bounds_error
|
|
||||||
# COM: memset is not used with bounds checks on (too late in the pipeline)
|
|
||||||
# BC_OFF: llvm.memset
|
|
||||||
# BC_AUTO: llvm.memset
|
|
||||||
|
|
||||||
# COM: INT32
|
|
||||||
-# ALL-LABEL: define nonnull {} addrspace(10)* @julia_zeros
|
|
||||||
+# ALL: define {{.*}} @julia_zeros
|
|
||||||
# ALL-NOT: bounds_error
|
|
||||||
# COM: memset is not used with bounds checks on (too late in the pipeline)
|
|
||||||
# BC_OFF: llvm.memset
|
|
||||||
# BC_AUTO: llvm.memset
|
|
||||||
|
|
||||||
# COM: INT16
|
|
||||||
-# ALL-LABEL: define nonnull {} addrspace(10)* @julia_zeros
|
|
||||||
+# ALL: define {{.*}} @julia_zeros
|
|
||||||
# ALL-NOT: bounds_error
|
|
||||||
# COM: memset is not used with bounds checks on (too late in the pipeline)
|
|
||||||
# BC_OFF: llvm.memset
|
|
||||||
|
|
||||||
From 77c13ad59364189386114b546a7482dbe2edf233 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Valentin Churavy <v.churavy@gmail.com>
|
|
||||||
Date: Wed, 10 May 2023 10:51:16 -0400
|
|
||||||
Subject: [PATCH 7/7] Reenable NonTrivial Loop Unswitch
|
|
||||||
|
|
||||||
---
|
|
||||||
src/codegen.cpp | 3 ---
|
|
||||||
src/pipeline.cpp | 2 +-
|
|
||||||
2 files changed, 1 insertion(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/codegen.cpp b/src/codegen.cpp
|
|
||||||
index 07e7b15afc165..ae306d3d1cdb5 100644
|
|
||||||
--- a/src/codegen.cpp
|
|
||||||
+++ b/src/codegen.cpp
|
|
||||||
@@ -9073,9 +9073,6 @@ extern "C" void jl_init_llvm(void)
|
|
||||||
clopt = llvmopts.lookup("unswitch-threshold");
|
|
||||||
if (clopt->getNumOccurrences() == 0)
|
|
||||||
cl::ProvidePositionalOption(clopt, "100", 1);
|
|
||||||
- clopt = llvmopts.lookup("enable-unswitch-cost-multiplier");
|
|
||||||
- if (clopt->getNumOccurrences() == 0)
|
|
||||||
- cl::ProvidePositionalOption(clopt, "false", 1);
|
|
||||||
#endif
|
|
||||||
// if the patch adding this option has been applied, lower its limit to provide
|
|
||||||
// better DAGCombiner performance.
|
|
||||||
diff --git a/src/pipeline.cpp b/src/pipeline.cpp
|
|
||||||
index 7e61171d288e6..6e6a9a3c37d02 100644
|
|
||||||
--- a/src/pipeline.cpp
|
|
||||||
+++ b/src/pipeline.cpp
|
|
||||||
@@ -385,7 +385,7 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat
|
|
||||||
#endif
|
|
||||||
LPM2.addPass(LICMPass(LICMOptions()));
|
|
||||||
JULIA_PASS(LPM2.addPass(JuliaLICMPass()));
|
|
||||||
- LPM2.addPass(SimpleLoopUnswitchPass(false, true));
|
|
||||||
+ LPM2.addPass(SimpleLoopUnswitchPass(/*NonTrivial*/true, true));
|
|
||||||
LPM2.addPass(LICMPass(LICMOptions()));
|
|
||||||
JULIA_PASS(LPM2.addPass(JuliaLICMPass()));
|
|
||||||
//LICM needs MemorySSA now, so we must use it
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
From: Soc Virnyl Estela <contact@uncomfyhalomacro.pl>
|
|
||||||
Date: Sat, 09 Dec 2023 16:30:31 +0800
|
|
||||||
Subject: Modify hardcoded libs for mbedtls
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
diff -ruN julia-1.9.4.orig/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl julia/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl
|
|
||||||
--- julia-1.9.4.orig/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl 2023-12-08 17:54:46.804532060 +0800
|
|
||||||
+++ julia/stdlib/MbedTLS_jll/src/MbedTLS_jll.jl 2023-12-09 07:41:38.758431369 +0800
|
|
||||||
@@ -31,9 +31,9 @@
|
|
||||||
const libmbedtls = "@rpath/libmbedtls.14.dylib"
|
|
||||||
const libmbedx509 = "@rpath/libmbedx509.1.dylib"
|
|
||||||
else
|
|
||||||
- const libmbedcrypto = "libmbedcrypto.so.7"
|
|
||||||
- const libmbedtls = "libmbedtls.so.14"
|
|
||||||
- const libmbedx509 = "libmbedx509.so.1"
|
|
||||||
+ const libmbedcrypto = "libmbedcrypto.so"
|
|
||||||
+ const libmbedtls = "libmbedtls.so"
|
|
||||||
+ const libmbedx509 = "libmbedx509.so"
|
|
||||||
end
|
|
||||||
|
|
||||||
function __init__()
|
|
||||||
25
mpfr-looking-for-gmp-fix.patch
Normal file
25
mpfr-looking-for-gmp-fix.patch
Normal 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
|
||||||
@@ -1,304 +0,0 @@
|
|||||||
From e08e14449fdec30d83ae2b9f0d6d1f4a9acf0b75 Mon Sep 17 00:00:00 2001
|
|
||||||
From: pchintalapudi <34727397+pchintalapudi@users.noreply.github.com>
|
|
||||||
Date: Mon, 17 Apr 2023 19:37:59 +0000
|
|
||||||
Subject: [PATCH] Bring in newpm (new pass manager) updates to master (#47038)
|
|
||||||
|
|
||||||
* Workaround missing ASAN global
|
|
||||||
* Add alias analysis at O2 instead of O3
|
|
||||||
* Disable runtime unrolling
|
|
||||||
* Make SimpleLoopUnswitch act like LoopUnswitch
|
|
||||||
* Add --time-passes support
|
|
||||||
* Only add verification passes in debug mode
|
|
||||||
* Hide assertion function
|
|
||||||
---
|
|
||||||
src/codegen.cpp | 11 ++++++++++-
|
|
||||||
src/jitlayers.cpp | 49 ++++++++++++++++++++++++++++++++++++-----------
|
|
||||||
src/jitlayers.h | 17 ++++++++++++----
|
|
||||||
src/pipeline.cpp | 27 ++++++++++++++------------
|
|
||||||
4 files changed, 76 insertions(+), 28 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/codegen.cpp b/src/codegen.cpp
|
|
||||||
index b6b86ba4442e1..fb8cefe5eb44f 100644
|
|
||||||
--- a/src/codegen.cpp
|
|
||||||
+++ b/src/codegen.cpp
|
|
||||||
@@ -8838,6 +8838,15 @@ extern "C" void jl_init_llvm(void)
|
|
||||||
clopt = llvmopts.lookup("enable-tail-merge"); // NOO TOUCHIE; NO TOUCH! See #922
|
|
||||||
if (clopt->getNumOccurrences() == 0)
|
|
||||||
cl::ProvidePositionalOption(clopt, "0", 1);
|
|
||||||
+#ifdef JL_USE_NEW_PM
|
|
||||||
+ // For parity with LoopUnswitch
|
|
||||||
+ clopt = llvmopts.lookup("unswitch-threshold");
|
|
||||||
+ if (clopt->getNumOccurrences() == 0)
|
|
||||||
+ cl::ProvidePositionalOption(clopt, "100", 1);
|
|
||||||
+ clopt = llvmopts.lookup("enable-unswitch-cost-multiplier");
|
|
||||||
+ if (clopt->getNumOccurrences() == 0)
|
|
||||||
+ cl::ProvidePositionalOption(clopt, "false", 1);
|
|
||||||
+#endif
|
|
||||||
// if the patch adding this option has been applied, lower its limit to provide
|
|
||||||
// better DAGCombiner performance.
|
|
||||||
clopt = llvmopts.lookup("combiner-store-merge-dependence-limit");
|
|
||||||
@@ -8916,7 +8925,7 @@ extern "C" JL_DLLEXPORT void jl_init_codegen_impl(void)
|
|
||||||
extern "C" JL_DLLEXPORT void jl_teardown_codegen_impl() JL_NOTSAFEPOINT
|
|
||||||
{
|
|
||||||
// output LLVM timings and statistics
|
|
||||||
- reportAndResetTimings();
|
|
||||||
+ jl_ExecutionEngine->printTimers();
|
|
||||||
PrintStatistics();
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/jitlayers.cpp b/src/jitlayers.cpp
|
|
||||||
index c7e202b98efab..29665d4e420b9 100644
|
|
||||||
--- a/src/jitlayers.cpp
|
|
||||||
+++ b/src/jitlayers.cpp
|
|
||||||
@@ -1103,6 +1103,8 @@ namespace {
|
|
||||||
std::unique_ptr<TargetMachine> TM;
|
|
||||||
int optlevel;
|
|
||||||
PMCreator(TargetMachine &TM, int optlevel) : TM(cantFail(createJTMBFromTM(TM, optlevel).createTargetMachine())), optlevel(optlevel) {}
|
|
||||||
+ // overload for newpm compatibility
|
|
||||||
+ PMCreator(TargetMachine &TM, int optlevel, std::vector<std::function<void()>> &) : PMCreator(TM, optlevel) {}
|
|
||||||
PMCreator(const PMCreator &other) : PMCreator(*other.TM, other.optlevel) {}
|
|
||||||
PMCreator(PMCreator &&other) : TM(std::move(other.TM)), optlevel(other.optlevel) {}
|
|
||||||
friend void swap(PMCreator &self, PMCreator &other) {
|
|
||||||
@@ -1128,16 +1131,21 @@ namespace {
|
|
||||||
struct PMCreator {
|
|
||||||
orc::JITTargetMachineBuilder JTMB;
|
|
||||||
OptimizationLevel O;
|
|
||||||
- PMCreator(TargetMachine &TM, int optlevel) : JTMB(createJTMBFromTM(TM, optlevel)), O(getOptLevel(optlevel)) {}
|
|
||||||
+ std::vector<std::function<void()>> &printers;
|
|
||||||
+ PMCreator(TargetMachine &TM, int optlevel, std::vector<std::function<void()>> &printers) JL_NOTSAFEPOINT : JTMB(createJTMBFromTM(TM, optlevel)), O(getOptLevel(optlevel)), printers(printers) {}
|
|
||||||
|
|
||||||
auto operator()() {
|
|
||||||
- return std::make_unique<NewPM>(cantFail(JTMB.createTargetMachine()), O);
|
|
||||||
+ auto NPM = std::make_unique<NewPM>(cantFail(JTMB.createTargetMachine()), O);
|
|
||||||
+ printers.push_back([NPM = NPM.get()]() JL_NOTSAFEPOINT {
|
|
||||||
+ NPM->printTimers();
|
|
||||||
+ });
|
|
||||||
+ return NPM;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct OptimizerT {
|
|
||||||
- OptimizerT(TargetMachine &TM, int optlevel) : optlevel(optlevel), PMs(PMCreator(TM, optlevel)) {}
|
|
||||||
+ OptimizerT(TargetMachine &TM, int optlevel, std::vector<std::function<void()>> &printers) : optlevel(optlevel), PMs(PMCreator(TM, optlevel, printers)) {}
|
|
||||||
|
|
||||||
OptimizerResultT operator()(orc::ThreadSafeModule TSM, orc::MaterializationResponsibility &R) {
|
|
||||||
TSM.withModuleDo([&](Module &M) {
|
|
||||||
@@ -1247,10 +1255,14 @@ llvm::DataLayout jl_create_datalayout(TargetMachine &TM) {
|
|
||||||
return jl_data_layout;
|
|
||||||
}
|
|
||||||
|
|
||||||
-JuliaOJIT::PipelineT::PipelineT(orc::ObjectLayer &BaseLayer, TargetMachine &TM, int optlevel)
|
|
||||||
+JuliaOJIT::PipelineT::PipelineT(orc::ObjectLayer &BaseLayer, TargetMachine &TM, int optlevel, std::vector<std::function<void()>> &PrintLLVMTimers)
|
|
||||||
: CompileLayer(BaseLayer.getExecutionSession(), BaseLayer,
|
|
||||||
std::make_unique<CompilerT>(orc::irManglingOptionsFromTargetOptions(TM.Options), TM, optlevel)),
|
|
||||||
- OptimizeLayer(CompileLayer.getExecutionSession(), CompileLayer, OptimizerT(TM, optlevel)) {}
|
|
||||||
+ OptimizeLayer(CompileLayer.getExecutionSession(), CompileLayer, OptimizerT(TM, optlevel, PrintLLVMTimers)) {}
|
|
||||||
+
|
|
||||||
+#ifdef _COMPILER_ASAN_ENABLED_
|
|
||||||
+int64_t ___asan_globals_registered;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
JuliaOJIT::JuliaOJIT()
|
|
||||||
: TM(createTargetMachine()),
|
|
||||||
@@ -1285,10 +1297,10 @@ JuliaOJIT::JuliaOJIT()
|
|
||||||
),
|
|
||||||
#endif
|
|
||||||
Pipelines{
|
|
||||||
- std::make_unique<PipelineT>(ObjectLayer, *TM, 0),
|
|
||||||
- std::make_unique<PipelineT>(ObjectLayer, *TM, 1),
|
|
||||||
- std::make_unique<PipelineT>(ObjectLayer, *TM, 2),
|
|
||||||
- std::make_unique<PipelineT>(ObjectLayer, *TM, 3),
|
|
||||||
+ std::make_unique<PipelineT>(ObjectLayer, *TM, 0, PrintLLVMTimers),
|
|
||||||
+ std::make_unique<PipelineT>(ObjectLayer, *TM, 1, PrintLLVMTimers),
|
|
||||||
+ std::make_unique<PipelineT>(ObjectLayer, *TM, 2, PrintLLVMTimers),
|
|
||||||
+ std::make_unique<PipelineT>(ObjectLayer, *TM, 3, PrintLLVMTimers),
|
|
||||||
},
|
|
||||||
OptSelLayer(Pipelines)
|
|
||||||
{
|
|
||||||
@@ -1393,6 +1405,11 @@ JuliaOJIT::JuliaOJIT()
|
|
||||||
reinterpret_cast<void *>(static_cast<uintptr_t>(msan_workaround::MSanTLS::origin)), JITSymbolFlags::Exported);
|
|
||||||
cantFail(GlobalJD.define(orc::absoluteSymbols(msan_crt)));
|
|
||||||
#endif
|
|
||||||
+#ifdef _COMPILER_ASAN_ENABLED_
|
|
||||||
+ orc::SymbolMap asan_crt;
|
|
||||||
+ asan_crt[mangle("___asan_globals_registered")] = JITEvaluatedSymbol::fromPointer(&___asan_globals_registered, JITSymbolFlags::Exported);
|
|
||||||
+ cantFail(JD.define(orc::absoluteSymbols(asan_crt)));
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
JuliaOJIT::~JuliaOJIT() = default;
|
|
||||||
@@ -1583,6 +1600,16 @@ size_t JuliaOJIT::getTotalBytes() const
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+void JuliaOJIT::printTimers()
|
|
||||||
+{
|
|
||||||
+#ifdef JL_USE_NEW_PM
|
|
||||||
+ for (auto &printer : PrintLLVMTimers) {
|
|
||||||
+ printer();
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+ reportAndResetTimings();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
JuliaOJIT *jl_ExecutionEngine;
|
|
||||||
|
|
||||||
// destructively move the contents of src into dest
|
|
||||||
diff --git a/src/jitlayers.h b/src/jitlayers.h
|
|
||||||
index d8c06df44176f..7f07034586c80 100644
|
|
||||||
--- a/src/jitlayers.h
|
|
||||||
+++ b/src/jitlayers.h
|
|
||||||
@@ -42,9 +42,7 @@
|
|
||||||
// and feature support (e.g. Windows, JITEventListeners for various profilers,
|
|
||||||
// etc.). Thus, we currently only use JITLink where absolutely required, that is,
|
|
||||||
// for Mac/aarch64.
|
|
||||||
-// #define JL_FORCE_JITLINK
|
|
||||||
-
|
|
||||||
-#if defined(_OS_DARWIN_) && defined(_CPU_AARCH64_) || defined(JL_FORCE_JITLINK)
|
|
||||||
+#if defined(_OS_DARWIN_) && defined(_CPU_AARCH64_) || defined(_COMPILER_ASAN_ENABLED_) || defined(JL_FORCE_JITLINK)
|
|
||||||
# if JL_LLVM_VERSION < 130000
|
|
||||||
# pragma message("On aarch64-darwin, LLVM version >= 13 is required for JITLink; fallback suffers from occasional segfaults")
|
|
||||||
# endif
|
|
||||||
@@ -91,6 +89,12 @@ struct OptimizationOptions {
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
+// LLVM's new pass manager is scheduled to replace the legacy pass manager
|
|
||||||
+// for middle-end IR optimizations. However, we have not qualified the new
|
|
||||||
+// pass manager on our optimization pipeline yet, so this remains an optional
|
|
||||||
+// define
|
|
||||||
+// #define JL_USE_NEW_PM
|
|
||||||
+
|
|
||||||
struct NewPM {
|
|
||||||
std::unique_ptr<TargetMachine> TM;
|
|
||||||
StandardInstrumentations SI;
|
|
||||||
@@ -103,6 +107,8 @@ struct NewPM {
|
|
||||||
NewPM(std::unique_ptr<TargetMachine> TM, OptimizationLevel O, OptimizationOptions options = OptimizationOptions::defaults());
|
|
||||||
|
|
||||||
void run(Module &M);
|
|
||||||
+
|
|
||||||
+ void printTimers();
|
|
||||||
};
|
|
||||||
|
|
||||||
struct AnalysisManagers {
|
|
||||||
@@ -420,7 +426,7 @@ class JuliaOJIT {
|
|
||||||
std::unique_ptr<WNMutex> mutex;
|
|
||||||
};
|
|
||||||
struct PipelineT {
|
|
||||||
- PipelineT(orc::ObjectLayer &BaseLayer, TargetMachine &TM, int optlevel);
|
|
||||||
+ PipelineT(orc::ObjectLayer &BaseLayer, TargetMachine &TM, int optlevel, std::vector<std::function<void()>> &PrintLLVMTimers);
|
|
||||||
CompileLayerT CompileLayer;
|
|
||||||
OptimizeLayerT OptimizeLayer;
|
|
||||||
};
|
|
||||||
@@ -490,6 +496,7 @@ class JuliaOJIT {
|
|
||||||
TargetIRAnalysis getTargetIRAnalysis() const;
|
|
||||||
|
|
||||||
size_t getTotalBytes() const;
|
|
||||||
+ void printTimers();
|
|
||||||
|
|
||||||
JITDebugInfoRegistry &getDebugInfoRegistry() JL_NOTSAFEPOINT {
|
|
||||||
return DebugRegistry;
|
|
||||||
@@ -522,6 +529,8 @@ class JuliaOJIT {
|
|
||||||
jl_locked_stream dump_compiles_stream;
|
|
||||||
jl_locked_stream dump_llvm_opt_stream;
|
|
||||||
|
|
||||||
+ std::vector<std::function<void()>> PrintLLVMTimers;
|
|
||||||
+
|
|
||||||
ResourcePool<orc::ThreadSafeContext, 0, std::queue<orc::ThreadSafeContext>> ContextPool;
|
|
||||||
|
|
||||||
#ifndef JL_USE_JITLINK
|
|
||||||
diff --git a/src/pipeline.cpp b/src/pipeline.cpp
|
|
||||||
index ae2b1c3202f04..4403653a9d8e4 100644
|
|
||||||
--- a/src/pipeline.cpp
|
|
||||||
+++ b/src/pipeline.cpp
|
|
||||||
@@ -146,7 +146,7 @@ namespace {
|
|
||||||
// Opts.Recover = CodeGenOpts.SanitizeRecover.has(Mask);
|
|
||||||
// Opts.UseAfterScope = CodeGenOpts.SanitizeAddressUseAfterScope;
|
|
||||||
// Opts.UseAfterReturn = CodeGenOpts.getSanitizeAddressUseAfterReturn();
|
|
||||||
- MPM.addPass(RequireAnalysisPass<ASanGlobalsMetadataAnalysis, Module>());
|
|
||||||
+ // MPM.addPass(RequireAnalysisPass<ASanGlobalsMetadataAnalysis, Module>());
|
|
||||||
// MPM.addPass(ModuleAddressSanitizerPass(
|
|
||||||
// Opts, UseGlobalGC, UseOdrIndicator, DestructorKind));
|
|
||||||
//Let's assume the defaults are actually fine for our purposes
|
|
||||||
@@ -173,11 +173,13 @@ namespace {
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
- void addVerificationPasses(ModulePassManager &MPM, bool llvm_only) {
|
|
||||||
+#ifdef JL_DEBUG_BUILD
|
|
||||||
+ static inline void addVerificationPasses(ModulePassManager &MPM, bool llvm_only) {
|
|
||||||
if (!llvm_only)
|
|
||||||
MPM.addPass(llvm::createModuleToFunctionPassAdaptor(GCInvariantVerifierPass()));
|
|
||||||
MPM.addPass(VerifierPass());
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
auto basicSimplifyCFGOptions() {
|
|
||||||
return SimplifyCFGOptions()
|
|
||||||
@@ -244,9 +246,9 @@ namespace {
|
|
||||||
|
|
||||||
//Use for O1 and below
|
|
||||||
void buildBasicPipeline(ModulePassManager &MPM, PassBuilder *PB, OptimizationLevel O, OptimizationOptions options) {
|
|
||||||
-// #ifdef JL_DEBUG_BUILD
|
|
||||||
+#ifdef JL_DEBUG_BUILD
|
|
||||||
addVerificationPasses(MPM, options.llvm_only);
|
|
||||||
-// #endif
|
|
||||||
+#endif
|
|
||||||
invokePipelineStartCallbacks(MPM, PB, O);
|
|
||||||
MPM.addPass(ConstantMergePass());
|
|
||||||
if (!options.dump_native) {
|
|
||||||
@@ -320,9 +322,9 @@ static void buildBasicPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimiza
|
|
||||||
|
|
||||||
//Use for O2 and above
|
|
||||||
void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, OptimizationLevel O, OptimizationOptions options) {
|
|
||||||
-// #ifdef JL_DEBUG_BUILD
|
|
||||||
+#ifdef JL_DEBUG_BUILD
|
|
||||||
addVerificationPasses(MPM, options.llvm_only);
|
|
||||||
-// #endif
|
|
||||||
+#endif
|
|
||||||
invokePipelineStartCallbacks(MPM, PB, O);
|
|
||||||
MPM.addPass(ConstantMergePass());
|
|
||||||
{
|
|
||||||
@@ -382,7 +384,7 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat
|
|
||||||
#endif
|
|
||||||
LPM2.addPass(LICMPass(LICMOptions()));
|
|
||||||
JULIA_PASS(LPM2.addPass(JuliaLICMPass()));
|
|
||||||
- LPM2.addPass(SimpleLoopUnswitchPass());
|
|
||||||
+ LPM2.addPass(SimpleLoopUnswitchPass(true, true));
|
|
||||||
LPM2.addPass(LICMPass(LICMOptions()));
|
|
||||||
JULIA_PASS(LPM2.addPass(JuliaLICMPass()));
|
|
||||||
//LICM needs MemorySSA now, so we must use it
|
|
||||||
@@ -399,7 +401,7 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat
|
|
||||||
//We don't know if the loop end callbacks support MSSA
|
|
||||||
FPM.addPass(createFunctionToLoopPassAdaptor(std::move(LPM), /*UseMemorySSA = */false));
|
|
||||||
}
|
|
||||||
- FPM.addPass(LoopUnrollPass());
|
|
||||||
+ FPM.addPass(LoopUnrollPass(LoopUnrollOptions().setRuntime(false)));
|
|
||||||
JULIA_PASS(FPM.addPass(AllocOptPass()));
|
|
||||||
FPM.addPass(SROAPass());
|
|
||||||
FPM.addPass(InstSimplifyPass());
|
|
||||||
@@ -541,11 +543,8 @@ PIC->addClassToPassName(decltype(CREATE_PASS)::name(), NAME);
|
|
||||||
// Register the AA manager first so that our version is the one used.
|
|
||||||
FAM.registerPass([&] JL_NOTSAFEPOINT {
|
|
||||||
AAManager AA;
|
|
||||||
- // TODO: Why are we only doing this for -O3?
|
|
||||||
- if (O.getSpeedupLevel() >= 3) {
|
|
||||||
- AA.registerFunctionAnalysis<BasicAA>();
|
|
||||||
- }
|
|
||||||
if (O.getSpeedupLevel() >= 2) {
|
|
||||||
+ AA.registerFunctionAnalysis<BasicAA>();
|
|
||||||
AA.registerFunctionAnalysis<ScopedNoAliasAA>();
|
|
||||||
AA.registerFunctionAnalysis<TypeBasedAA>();
|
|
||||||
}
|
|
||||||
@@ -603,6 +602,10 @@ void NewPM::run(Module &M) {
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
+void NewPM::printTimers() {
|
|
||||||
+ SI.getTimePasses().print();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
OptimizationLevel getOptLevel(int optlevel) {
|
|
||||||
switch (std::min(std::max(optlevel, 0), 3)) {
|
|
||||||
case 0:
|
|
||||||
3
nghttp2.v1.52.0+1.aarch64-linux-gnu.tar.gz
Normal file
3
nghttp2.v1.52.0+1.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d6ac81e1be76ba535e50f2674d6b8cef1ef21c09936978caef69c0d37f6e2485
|
||||||
|
size 756822
|
||||||
3
nghttp2.v1.52.0+1.powerpc64le-linux-gnu.tar.gz
Normal file
3
nghttp2.v1.52.0+1.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1f666ff9ec159de9f015a314116b1ca4e275529d86df12064df247fe89e216e6
|
||||||
|
size 723880
|
||||||
3
nghttp2.v1.52.0+1.x86_64-linux-gnu.tar.gz
Normal file
3
nghttp2.v1.52.0+1.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:58777344b69ab50a019d07e2368df315c94167f759897286ff338a1c3d3e9efb
|
||||||
|
size 700352
|
||||||
3
p7zip.v17.4.0+2.aarch64-linux-gnu.tar.gz
Normal file
3
p7zip.v17.4.0+2.aarch64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6df6ebed568d4234146512bc0f0d80ce85d76ed45a649a230562a1d2d57a87a7
|
||||||
|
size 1271747
|
||||||
3
p7zip.v17.4.0+2.powerpc64le-linux-gnu.tar.gz
Normal file
3
p7zip.v17.4.0+2.powerpc64le-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:78f110129efd20e13e72aee990ec27a3b39771a65b3fd570f3d5b8e43333478c
|
||||||
|
size 1318384
|
||||||
3
p7zip.v17.4.0+2.x86_64-linux-gnu.tar.gz
Normal file
3
p7zip.v17.4.0+2.x86_64-linux-gnu.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2616e3b35b6862a218a8fcf651ea00a9860140091e94705967a2fe0404f8ac98
|
||||||
|
size 1257704
|
||||||
@@ -1,188 +0,0 @@
|
|||||||
From 959902f1c6099c1b513e29103b998545c16731fc Mon Sep 17 00:00:00 2001
|
|
||||||
From: Valentin Churavy <vchuravy@users.noreply.github.com>
|
|
||||||
Date: Thu, 27 Apr 2023 16:27:09 -0400
|
|
||||||
Subject: [PATCH] Support both Float16 ABIs depending on LLVM and platform
|
|
||||||
(#49527)
|
|
||||||
|
|
||||||
There are two Float16 ABIs in the wild, one for platforms that have a
|
|
||||||
defing register and the original one where we used i16.
|
|
||||||
|
|
||||||
LLVM 15 follows GCC and uses the new ABI on x86/ARM but not PPC.
|
|
||||||
|
|
||||||
Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>
|
|
||||||
---
|
|
||||||
src/aotcompile.cpp | 11 +++++++--
|
|
||||||
src/codegen.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
src/jitlayers.cpp | 2 ++
|
|
||||||
src/llvm-version.h | 10 +++++++++
|
|
||||||
4 files changed, 77 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/aotcompile.cpp b/src/aotcompile.cpp
|
|
||||||
index 391c5d3df46fb..2a14e2a4fa0ab 100644
|
|
||||||
--- a/src/aotcompile.cpp
|
|
||||||
+++ b/src/aotcompile.cpp
|
|
||||||
@@ -494,6 +494,7 @@ static void reportWriterError(const ErrorInfoBase &E)
|
|
||||||
jl_safe_printf("ERROR: failed to emit output file %s\n", err.c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if JULIA_FLOAT16_ABI == 1
|
|
||||||
static void injectCRTAlias(Module &M, StringRef name, StringRef alias, FunctionType *FT)
|
|
||||||
{
|
|
||||||
Function *target = M.getFunction(alias);
|
|
||||||
@@ -510,7 +511,8 @@ static void injectCRTAlias(Module &M, StringRef name, StringRef alias, FunctionT
|
|
||||||
auto val = builder.CreateCall(target, CallArgs);
|
|
||||||
builder.CreateRet(val);
|
|
||||||
}
|
|
||||||
-
|
|
||||||
+#endif
|
|
||||||
+void emitFloat16Wrappers(Module &M, bool external);
|
|
||||||
|
|
||||||
// takes the running content that has collected in the shadow module and dump it to disk
|
|
||||||
// this builds the object file portion of the sysimage files for fast startup
|
|
||||||
@@ -1003,6 +1006,7 @@ static void add_output_impl(Module &M, TargetMachine &SourceTM, std::string *out
|
|
||||||
}
|
|
||||||
|
|
||||||
if (inject_crt) {
|
|
||||||
+#if JULIA_FLOAT16_ABI == 1
|
|
||||||
// We would like to emit an alias or an weakref alias to redirect these symbols
|
|
||||||
// but LLVM doesn't let us emit a GlobalAlias to a declaration...
|
|
||||||
// So for now we inject a definition of these functions that calls our runtime
|
|
||||||
@@ -1018,6 +1023,9 @@ static void add_output_impl(Module &M, TargetMachine &SourceTM, std::string *out
|
|
||||||
FunctionType::get(Type::getHalfTy(Context), { Type::getFloatTy(Context) }, false));
|
|
||||||
injectCRTAlias(M, "__truncdfhf2", "julia__truncdfhf2",
|
|
||||||
FunctionType::get(Type::getHalfTy(Context), { Type::getDoubleTy(Context) }, false));
|
|
||||||
+#else
|
|
||||||
+ emitFloat16Wrappers(M, false);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#if defined(_OS_WINDOWS_)
|
|
||||||
// Windows expect that the function `_DllMainStartup` is present in an dll.
|
|
||||||
diff --git a/src/codegen.cpp b/src/codegen.cpp
|
|
||||||
index 329c4b452a9dc..f4b0fd518cd39 100644
|
|
||||||
--- a/src/codegen.cpp
|
|
||||||
+++ b/src/codegen.cpp
|
|
||||||
@@ -5818,6 +5818,7 @@ static void emit_cfunc_invalidate(
|
|
||||||
prepare_call_in(gf_thunk->getParent(), jlapplygeneric_func));
|
|
||||||
}
|
|
||||||
|
|
||||||
+#include <iostream>
|
|
||||||
static Function* gen_cfun_wrapper(
|
|
||||||
Module *into, jl_codegen_params_t ¶ms,
|
|
||||||
const function_sig_t &sig, jl_value_t *ff, const char *aliasname,
|
|
||||||
@@ -8704,6 +8705,58 @@ static JuliaVariable *julia_const_gv(jl_value_t *val)
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
+// Handle FLOAT16 ABI v2
|
|
||||||
+#if JULIA_FLOAT16_ABI == 2
|
|
||||||
+static void makeCastCall(Module &M, StringRef wrapperName, StringRef calledName, FunctionType *FTwrapper, FunctionType *FTcalled, bool external)
|
|
||||||
+{
|
|
||||||
+ Function *calledFun = M.getFunction(calledName);
|
|
||||||
+ if (!calledFun) {
|
|
||||||
+ calledFun = Function::Create(FTcalled, Function::ExternalLinkage, calledName, M);
|
|
||||||
+ }
|
|
||||||
+ auto linkage = external ? Function::ExternalLinkage : Function::InternalLinkage;
|
|
||||||
+ auto wrapperFun = Function::Create(FTwrapper, linkage, wrapperName, M);
|
|
||||||
+ wrapperFun->addFnAttr(Attribute::AlwaysInline);
|
|
||||||
+ llvm::IRBuilder<> builder(BasicBlock::Create(M.getContext(), "top", wrapperFun));
|
|
||||||
+ SmallVector<Value *, 4> CallArgs;
|
|
||||||
+ if (wrapperFun->arg_size() != calledFun->arg_size()){
|
|
||||||
+ llvm::errs() << "FATAL ERROR: Can't match wrapper to called function";
|
|
||||||
+ abort();
|
|
||||||
+ }
|
|
||||||
+ for (auto wrapperArg = wrapperFun->arg_begin(), calledArg = calledFun->arg_begin();
|
|
||||||
+ wrapperArg != wrapperFun->arg_end() && calledArg != calledFun->arg_end(); ++wrapperArg, ++calledArg)
|
|
||||||
+ {
|
|
||||||
+ CallArgs.push_back(builder.CreateBitCast(wrapperArg, calledArg->getType()));
|
|
||||||
+ }
|
|
||||||
+ auto val = builder.CreateCall(calledFun, CallArgs);
|
|
||||||
+ auto retval = builder.CreateBitCast(val,wrapperFun->getReturnType());
|
|
||||||
+ builder.CreateRet(retval);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void emitFloat16Wrappers(Module &M, bool external)
|
|
||||||
+{
|
|
||||||
+ auto &ctx = M.getContext();
|
|
||||||
+ makeCastCall(M, "__gnu_h2f_ieee", "julia__gnu_h2f_ieee", FunctionType::get(Type::getFloatTy(ctx), { Type::getHalfTy(ctx) }, false),
|
|
||||||
+ FunctionType::get(Type::getFloatTy(ctx), { Type::getInt16Ty(ctx) }, false), external);
|
|
||||||
+ makeCastCall(M, "__extendhfsf2", "julia__gnu_h2f_ieee", FunctionType::get(Type::getFloatTy(ctx), { Type::getHalfTy(ctx) }, false),
|
|
||||||
+ FunctionType::get(Type::getFloatTy(ctx), { Type::getInt16Ty(ctx) }, false), external);
|
|
||||||
+ makeCastCall(M, "__gnu_f2h_ieee", "julia__gnu_f2h_ieee", FunctionType::get(Type::getHalfTy(ctx), { Type::getFloatTy(ctx) }, false),
|
|
||||||
+ FunctionType::get(Type::getInt16Ty(ctx), { Type::getFloatTy(ctx) }, false), external);
|
|
||||||
+ makeCastCall(M, "__truncsfhf2", "julia__gnu_f2h_ieee", FunctionType::get(Type::getHalfTy(ctx), { Type::getFloatTy(ctx) }, false),
|
|
||||||
+ FunctionType::get(Type::getInt16Ty(ctx), { Type::getFloatTy(ctx) }, false), external);
|
|
||||||
+ makeCastCall(M, "__truncdfhf2", "julia__truncdfhf2", FunctionType::get(Type::getHalfTy(ctx), { Type::getDoubleTy(ctx) }, false),
|
|
||||||
+ FunctionType::get(Type::getInt16Ty(ctx), { Type::getDoubleTy(ctx) }, false), external);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void init_f16_funcs(void)
|
|
||||||
+{
|
|
||||||
+ auto ctx = jl_ExecutionEngine->acquireContext();
|
|
||||||
+ auto TSM = jl_create_ts_module("F16Wrappers", ctx, imaging_default());
|
|
||||||
+ auto aliasM = TSM.getModuleUnlocked();
|
|
||||||
+ emitFloat16Wrappers(*aliasM, true);
|
|
||||||
+ jl_ExecutionEngine->addModule(std::move(TSM));
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
static void init_jit_functions(void)
|
|
||||||
{
|
|
||||||
add_named_global(jlstack_chk_guard_var, &__stack_chk_guard);
|
|
||||||
@@ -8942,6 +8995,9 @@ extern "C" JL_DLLEXPORT void jl_init_codegen_impl(void)
|
|
||||||
jl_init_llvm();
|
|
||||||
// Now that the execution engine exists, initialize all modules
|
|
||||||
init_jit_functions();
|
|
||||||
+#if JULIA_FLOAT16_ABI == 2
|
|
||||||
+ init_f16_funcs();
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
extern "C" JL_DLLEXPORT void jl_teardown_codegen_impl() JL_NOTSAFEPOINT
|
|
||||||
diff --git a/src/jitlayers.cpp b/src/jitlayers.cpp
|
|
||||||
index 37302e8ca2ace..b3ec102821858 100644
|
|
||||||
--- a/src/jitlayers.cpp
|
|
||||||
+++ b/src/jitlayers.cpp
|
|
||||||
@@ -1383,6 +1383,7 @@ JuliaOJIT::JuliaOJIT()
|
|
||||||
|
|
||||||
JD.addToLinkOrder(GlobalJD, orc::JITDylibLookupFlags::MatchExportedSymbolsOnly);
|
|
||||||
|
|
||||||
+#if JULIA_FLOAT16_ABI == 1
|
|
||||||
orc::SymbolAliasMap jl_crt = {
|
|
||||||
{ mangle("__gnu_h2f_ieee"), { mangle("julia__gnu_h2f_ieee"), JITSymbolFlags::Exported } },
|
|
||||||
{ mangle("__extendhfsf2"), { mangle("julia__gnu_h2f_ieee"), JITSymbolFlags::Exported } },
|
|
||||||
@@ -1391,6 +1392,7 @@ JuliaOJIT::JuliaOJIT()
|
|
||||||
{ mangle("__truncdfhf2"), { mangle("julia__truncdfhf2"), JITSymbolFlags::Exported } }
|
|
||||||
};
|
|
||||||
cantFail(GlobalJD.define(orc::symbolAliases(jl_crt)));
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#ifdef MSAN_EMUTLS_WORKAROUND
|
|
||||||
orc::SymbolMap msan_crt;
|
|
||||||
diff --git a/src/llvm-version.h b/src/llvm-version.h
|
|
||||||
index 4e15e787b7de8..a3f3774b6dc15 100644
|
|
||||||
--- a/src/llvm-version.h
|
|
||||||
+++ b/src/llvm-version.h
|
|
||||||
@@ -2,6 +2,7 @@
|
|
||||||
|
|
||||||
#include <llvm/Config/llvm-config.h>
|
|
||||||
#include "julia_assert.h"
|
|
||||||
+#include "platform.h"
|
|
||||||
|
|
||||||
// The LLVM version used, JL_LLVM_VERSION, is represented as a 5-digit integer
|
|
||||||
// of the form ABBCC, where A is the major version, B is minor, and C is patch.
|
|
||||||
@@ -17,6 +18,15 @@
|
|
||||||
#define JL_LLVM_OPAQUE_POINTERS 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+// Pre GCC 12 libgcc defined the ABI for Float16->Float32
|
|
||||||
+// to take an i16. GCC 12 silently changed the ABI to now pass
|
|
||||||
+// Float16 in Float32 registers.
|
|
||||||
+#if JL_LLVM_VERSION < 150000 || defined(_CPU_PPC64_) || defined(_CPU_PPC_)
|
|
||||||
+#define JULIA_FLOAT16_ABI 1
|
|
||||||
+#else
|
|
||||||
+#define JULIA_FLOAT16_ABI 2
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#if defined(__GNUC__) && (__GNUC__ >= 9)
|
|
||||||
// Added in GCC 9, this warning is annoying
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
From f11bfc6ccad3e07fde4e40493635bd832d108477 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Valentin Churavy <vchuravy@users.noreply.github.com>
|
|
||||||
Date: Thu, 27 Apr 2023 16:29:25 -0400
|
|
||||||
Subject: [PATCH] Use NewPM for ASAN/MSAN (#49530)
|
|
||||||
|
|
||||||
Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com>
|
|
||||||
Co-authored-by: Prem Chintalapudi <prem.chintalapudi@gmail.com>
|
|
||||||
---
|
|
||||||
src/aotcompile.cpp | 4 ++++
|
|
||||||
src/cgmemmgr.cpp | 4 ++--
|
|
||||||
src/jitlayers.h | 13 +++++++++++--
|
|
||||||
3 files changed, 17 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/aotcompile.cpp b/src/aotcompile.cpp
|
|
||||||
index 2a14e2a4fa0ab..b89cdf550171f 100644
|
|
||||||
--- a/src/aotcompile.cpp
|
|
||||||
+++ b/src/aotcompile.cpp
|
|
||||||
@@ -1775,6 +1775,7 @@ void addOptimizationPasses(legacy::PassManagerBase *PM, int opt_level,
|
|
||||||
PM->add(createCFGSimplificationPass(basicSimplifyCFGOptions));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+#if JL_LLVM_VERSION < 150000
|
|
||||||
#if defined(_COMPILER_ASAN_ENABLED_)
|
|
||||||
PM->add(createAddressSanitizerFunctionPass());
|
|
||||||
#endif
|
|
||||||
@@ -1783,6 +1784,7 @@ void addOptimizationPasses(legacy::PassManagerBase *PM, int opt_level,
|
|
||||||
#endif
|
|
||||||
#if defined(_COMPILER_TSAN_ENABLED_)
|
|
||||||
PM->add(createThreadSanitizerLegacyPassPass());
|
|
||||||
+#endif
|
|
||||||
#endif
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
@@ -1934,6 +1936,7 @@ void addOptimizationPasses(legacy::PassManagerBase *PM, int opt_level,
|
|
||||||
}
|
|
||||||
PM->add(createCombineMulAddPass());
|
|
||||||
PM->add(createDivRemPairsPass());
|
|
||||||
+#if JL_LLVM_VERSION < 150000
|
|
||||||
#if defined(_COMPILER_ASAN_ENABLED_)
|
|
||||||
PM->add(createAddressSanitizerFunctionPass());
|
|
||||||
#endif
|
|
||||||
@@ -1943,6 +1946,7 @@ void addOptimizationPasses(legacy::PassManagerBase *PM, int opt_level,
|
|
||||||
#if defined(_COMPILER_TSAN_ENABLED_)
|
|
||||||
PM->add(createThreadSanitizerLegacyPassPass());
|
|
||||||
#endif
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// An LLVM module pass that just runs all julia passes in order. Useful for
|
|
||||||
diff --git a/src/cgmemmgr.cpp b/src/cgmemmgr.cpp
|
|
||||||
index 9f4d69137c0fd..15d28ff270c55 100644
|
|
||||||
--- a/src/cgmemmgr.cpp
|
|
||||||
+++ b/src/cgmemmgr.cpp
|
|
||||||
@@ -860,8 +860,8 @@ uint8_t *RTDyldMemoryManagerJL::allocateCodeSection(uintptr_t Size,
|
|
||||||
StringRef SectionName)
|
|
||||||
{
|
|
||||||
// allocating more than one code section can confuse libunwind.
|
|
||||||
-#if !defined(_COMPILER_MSAN_ENABLED_)
|
|
||||||
- // TODO: Figure out why msan needs this.
|
|
||||||
+#if !defined(_COMPILER_MSAN_ENABLED_) && !defined(_COMPILER_ASAN_ENABLED_)
|
|
||||||
+ // TODO: Figure out why msan and now asan too need this.
|
|
||||||
assert(!code_allocated);
|
|
||||||
code_allocated = true;
|
|
||||||
#endif
|
|
||||||
diff --git a/src/jitlayers.h b/src/jitlayers.h
|
|
||||||
index 7f07034586c80..f63f3a42842f1 100644
|
|
||||||
--- a/src/jitlayers.h
|
|
||||||
+++ b/src/jitlayers.h
|
|
||||||
@@ -42,7 +42,14 @@
|
|
||||||
// and feature support (e.g. Windows, JITEventListeners for various profilers,
|
|
||||||
// etc.). Thus, we currently only use JITLink where absolutely required, that is,
|
|
||||||
// for Mac/aarch64.
|
|
||||||
-#if defined(_OS_DARWIN_) && defined(_CPU_AARCH64_) || defined(_COMPILER_ASAN_ENABLED_) || defined(JL_FORCE_JITLINK)
|
|
||||||
+// #define JL_FORCE_JITLINK
|
|
||||||
+
|
|
||||||
+#if defined(_COMPILER_ASAN_ENABLED_) || defined(_COMPILER_MSAN_ENABLED_) || defined(_COMPILER_TSAN_ENABLED_)
|
|
||||||
+# define HAS_SANITIZER
|
|
||||||
+#endif
|
|
||||||
+// The sanitizers don't play well with our memory manager
|
|
||||||
+
|
|
||||||
+#if defined(_OS_DARWIN_) && defined(_CPU_AARCH64_) || defined(JL_FORCE_JITLINK) || JL_LLVM_VERSION >= 150000 && defined(HAS_SANITIZER)
|
|
||||||
# if JL_LLVM_VERSION < 130000
|
|
||||||
# pragma message("On aarch64-darwin, LLVM version >= 13 is required for JITLink; fallback suffers from occasional segfaults")
|
|
||||||
# endif
|
|
||||||
@@ -93,7 +100,9 @@ struct OptimizationOptions {
|
|
||||||
// for middle-end IR optimizations. However, we have not qualified the new
|
|
||||||
// pass manager on our optimization pipeline yet, so this remains an optional
|
|
||||||
// define
|
|
||||||
-// #define JL_USE_NEW_PM
|
|
||||||
+#if defined(HAS_SANITIZER) && JL_LLVM_VERSION >= 150000
|
|
||||||
+#define JL_USE_NEW_PM
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
struct NewPM {
|
|
||||||
std::unique_ptr<TargetMachine> TM;
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
From: Soc Virnyl Estela <contact@uncomfyhalomacro.pl>
|
|
||||||
Date: Sat, 09 Dec 2023 16:30:31 +0800
|
|
||||||
Subject: Julia uses a static variant of its libuv
|
|
||||||
|
|
||||||
Although this patch exists as a sample. This won't be used.
|
|
||||||
---
|
|
||||||
|
|
||||||
diff -ruN julia-1.9.4.orig/Make.inc julia-1.9.4/Make.inc
|
|
||||||
--- julia-1.9.4.orig/Make.inc 2023-12-08 06:25:53.640851723 +0800
|
|
||||||
+++ julia-1.9.4/Make.inc 2023-12-08 10:44:21.177558348 +0800
|
|
||||||
@@ -1116,7 +1116,7 @@
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_SYSTEM_LIBUV), 1)
|
|
||||||
- LIBUV := $(LOCALBASE)/lib/libuv-julia.a
|
|
||||||
+ LIBUV := -luv
|
|
||||||
LIBUV_INC := $(LOCALBASE)/include
|
|
||||||
else
|
|
||||||
LIBUV := $(build_libdir)/libuv.a
|
|
||||||
Reference in New Issue
Block a user