1 |
commit: f9eec87f0441f022f4851e4d78813d835f25528f |
2 |
Author: Jeffrey Lin <jeffrey <AT> icurse <DOT> nl> |
3 |
AuthorDate: Sun Mar 28 06:15:34 2021 +0000 |
4 |
Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Apr 8 02:05:37 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f9eec87f |
7 |
|
8 |
dev-lang/julia: add 1.6.0 |
9 |
|
10 |
- dSFMT patches have been upstreamed, so split that into a package used |
11 |
by ::science. Also use system version of dev-libs/libutf8proc. |
12 |
|
13 |
- LLVM 11 is now supported. |
14 |
|
15 |
- Add curl as a direct dependency. The ssh USE flag is not strictly |
16 |
required unless cloning packages over ssh, but it will suppress errors |
17 |
and should be relatively small. Also, p7zip is needed for Pkg. |
18 |
|
19 |
- Remove some old baggage: |
20 |
- dev-libs/double-conversion: compiles fine without. |
21 |
- dev-libs/openspecfun: compiles fine without. |
22 |
- net-libs/libssh2: indirect dependency; add curl[ssh] instead. |
23 |
- sci-mathematics/glpk: hasn't been a dependency in years. |
24 |
- sci-mathematics/z3: doesn't seem to be an explicit dependency. |
25 |
- sys-libs/readline: hasn't been a dependency in years. |
26 |
|
27 |
- No need for separate stdlibs as upstream packs them into tarball. |
28 |
|
29 |
- Delete some sed commands where the lines to be changed no longer |
30 |
exist. Replace a patch+sed with a single sed. |
31 |
|
32 |
- Remove QA warning suppression now that upstream allows using |
33 |
system compiler support libraries (proper support for this was |
34 |
added after the 1.6.0 release, so patch is backported). |
35 |
|
36 |
- Sync Make.user with Make.inc and move make variables there. |
37 |
|
38 |
Closes: https://bugs.gentoo.org/728726 |
39 |
Closes: https://bugs.gentoo.org/735764 |
40 |
Closes: https://bugs.gentoo.org/778503 |
41 |
Closes: https://bugs.gentoo.org/780444 |
42 |
Closes: https://bugs.gentoo.org/780642 |
43 |
Signed-off-by: Jeffrey Lin <jeffrey <AT> icurse.nl> |
44 |
Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org> |
45 |
|
46 |
dev-lang/julia/Manifest | 3 - |
47 |
.../julia/files/julia-1.6.0-fix-system-csl.patch | 271 +++++++++++++++++++++ |
48 |
dev-lang/julia/julia-1.6.0.ebuild | 103 +++----- |
49 |
3 files changed, 303 insertions(+), 74 deletions(-) |
50 |
|
51 |
diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest |
52 |
index 2fafe21372a..50b10817aa4 100644 |
53 |
--- a/dev-lang/julia/Manifest |
54 |
+++ b/dev-lang/julia/Manifest |
55 |
@@ -1,16 +1,13 @@ |
56 |
DIST julia-1.5.2.tar.gz 6945862 BLAKE2B 9dd9f83fb9ae251f66ae65e14a252b662c3c7d6f92638d91ef6e286032020052e1812f2891270854e0ddeda474afff55c8f87d300550503c1093f4c5e0a51959 SHA512 aa177d03bbde4f368dd2fb14f64d21130531616bcd544af7babbb7fb7c9ee5ea7528c756e10f78468aaffebbcbc6f48e92397c1c13dc3f130b64a82e478f43dc |
57 |
DIST julia-1.5.3.tar.gz 6949901 BLAKE2B 08f8496980a9bbb9effc0c72cb6b7a5ce1dbd1774735caa366ddc1bb5404117111c624a639f6eb48360061f9fc597a7b37dff24f8555f03ebc4a22524cbeb3b8 SHA512 9e644a64fd6e2caf0390a2bc470084406c078244e65b70a2e3b031d5806c1dff780273ccccfe4bccfd8c03778b7d3a44de7a84bd13f3512afe6864efa5a730fc |
58 |
DIST julia-1.6.0.tar.gz 7711314 BLAKE2B 135862347a7f3a954acb8d8e17350fbdda84b4813d8498b862e107836a0d29d6e70a26c39c0c29655e6348a5a3afd5b4d7e9824cb88c9e8d31c4515468f46d5b SHA512 41dea60c08882a8f8f9024eb2285c30dbbc68e2256ed6afd5bf956a1828239128b2f39b4ce733a438eafe3b2324ff06dec5c1eb7c9b0f838b2daa972f587d909 |
59 |
-DIST julia-Pkg-05fa7f93f73afdabd251247d03144de9f7b36b50.tar.gz 388550 BLAKE2B ec248dbd06a25014905b55cbd6ca55ef245d09b15d4a9b78ec98fd6fe59b318047914698ece8ef85b6a161f115a227ee5346c5f1698bcb74174bca77dbde9968 SHA512 8f1660e55bd8730ab816109fe802edd14c2ab46aed0db7f04e520b371a9f7296c3ab85d42af64174b0989fa55bb089b1450dcee28e67dbb996471235dbba35c1 |
60 |
DIST julia-Pkg-49908bffe83790bc7cf3c5d46faf3667f8902ad4.tar.gz 389738 BLAKE2B 1ed9201badf0a1db5142e0566bfe085b364e4681670937ac5fa53c15312ff8eb29d5e783b75fe3f4f379b041ba38c66ce94962fa7d98fcfd0b7b49acd1749d69 SHA512 a85aa80b3080794a8e3ae5ce54856e63457c461659c12fde5dde1b5ec33176ea06af49ee516d01ccd7b78d8358de2fe0ffcd5c6a6d5a5088cdcd76a0133780eb |
61 |
DIST julia-UnicodeData-13.0.0.txt 1851767 BLAKE2B 72bbcf352f2f6a004abb3f351fe5da160e83644feea8de0ca154b5a1aa78f36cb04b252d0c7b64a5eeca388e600b2875bb76bc2746ee799a1a6eff97c1fe8b06 SHA512 1a4a662e2ab33469976bf5f91aa6933ed9b73f6d4179a2daffb349e1869d7d6cfa885b164e82d15dcdad7458cd451c81add58d875eb0c70de854589dc97b2055 |
62 |
DIST julia-dsfmt-2.2.3.tar.gz 291773 BLAKE2B 6ffae90494d72527920c80fc0fb005da1c7b84f8a03a7ecb0789434c0fff97359e5098e85431896dffccc7d5148c414e847aaba5feef648b8788421a466ff65e SHA512 6d8ddcd01aab3f9039f4f0288a8af53e290cc2f293ed8c4a8c9f3b3f12398e7eedfce8016117b425766ba89c61c86c13b3e420035b5f9bf91315b8b814c03662 |
63 |
-DIST julia-dsfmt-2.2.4.tar.gz 4984255 BLAKE2B 6119445d93cb45faab28dfb52a18c07cd5703b243b3cddde35fff7a5e948fa8788dfe8428ae8e0a52604f91ac07fe7b3bb0f6c438ef93b5257b42baee9dfdec5 SHA512 fe84e986cbf198172340adfac0436b08f087643eca3f1ceccacde146cbfd8c41e3eb0dfbb062f7ca5f462db13c386abd7c269bc0cbefc9a0ecf97a8a8870a2e4 |
64 |
DIST julia-libuv-1fcc6d66f9df74189c74d3d390f02202bb7db953.tar.gz 1590342 BLAKE2B eca658f74421587aec78cb38f5a712033afb072e6425a6ce28fd5d4bac61e41cacbd5a850c1f2b29c386b944d1d9c4f16b7d090f7d2dd6b963b5dbc94ae18981 SHA512 70b0c738a60b4e476750b7de8d120e735359e2c36fcb3a8a38628a0ae326210ed3b15d793dfd5443d7aa5603e83e7d99f567aa4c1696846d950df9f83648669c |
65 |
DIST julia-libuv-35b1504507a7a4168caae3d78db54d1121b121e1.tar.gz 1577394 BLAKE2B 8ab36f781619f710a64ddc6cf257a4c2f6d27ac22e33ed6f184902d0c6cc3a3941254e0a825071fcd57f869e3ccc5eaf71856539cf6b484358d5aafe383000a9 SHA512 5932e9105346e952fd0f51f79898e5b9c993261ec1558408437647ab3b3ce282562f1e0a16db5704cb66e7aa7a4c6a75dd7f0da498a98b1b6af48da88b4869f0 |
66 |
DIST julia-libuv-fb3e3364c33ae48c827f6b103e05c3f0e78b79a9.tar.gz 1643008 BLAKE2B b2a121e0b94cd1f5d40e292fc2356e8940bf8dfe1e6a200b50caf60def1982b705d1d42dd234e9e8b0aa70439bf34a5bce71761424623cbfcd20c9131ce09c25 SHA512 29947c236aef8931be4767df1cd8404ee9b036ee107b31cbce6fad9a97743df57d068b15bc4bd00320b9b81cd879258a9ec9dc675853e424ccdb8d6bdd226240 |
67 |
DIST julia-libwhich-81e9723c0273d78493dc8c8ed570f68d9ce7e89e.tar.gz 4183 BLAKE2B c932e23b1b476d3fd16cf6f451efd5fc6d9c1ec2c53e8ac086340a100817d9b30dae3eff50b284a42c09b2bbae30b9e2fd38b2881f8cbf4974a89f3bd0c87599 SHA512 6fb77b715d70d9bc95a8546c3bf97bd3677c7ea344b88bb5bc3bbfac9dceabe8a8cde7a0f64dec884cde802e4a3000e30837d3f824b5a9242348c4fe061526a3 |
68 |
DIST julia-utf8proc-0890a538bf8238cded9be0c81171f57e43f2c755.tar.gz 155521 BLAKE2B 32dc1a8fb641e89057d317e579f1802b7f7dfbdbea7f91c01b282b9a88c2fc6143743d5e45f46d6d465857cfe1b28bd39e9a0da19e80516536c57cb62b139d27 SHA512 95d6dba2bbdfc5003f6d21fd02c926c7db9661895010041aacee55fa11dc2524bcffaa90965e2a9a8f2a9e49e93ec7572d6a4de6d5d9f9e075b787537864ea20 |
69 |
-DIST julia-utf8proc-3203baa7374d67132384e2830b2183c92351bffc.tar.gz 182914 BLAKE2B 73ebddea183a5993528b1671d365520bea5087e169c79dde33d225cd19af6daa43624acf1afa52da1fd22cd155819e0497830740d70387d10a94de0397c1f5c0 SHA512 912d51e5c2daf80865e862daba2971e3a77b224d40179225d5908385d2f7f543a92cd2d9b6cecacfab185d8bd8f2732cad7a9d217f25f1e10a77083fda74f0b5 |
70 |
DIST llvm-11.0.1.src.tar.xz 38914796 BLAKE2B ccdec0632c9cf5fae8e6947c266136e04dc8c609e2ca9c1efb1205767d9181301e0de14601d11e2f27ec0ebc0749858a5f1089d8a40a9ae3f22582cbf6abef6e SHA512 b42c67ef88e09dd94171f85cdf49a421a15cfc82ff715c7ce6de22f98cefbe6c7cdf6bf4af7ca017d56ecf6aa3e36df3d823a78cf2dd5312de4301b54b43dbe8 |
71 |
DIST llvm-9.0.1.src.tar.xz 33035112 BLAKE2B 5ae7ac42507cb14983eec0785dfc9b9c788cae75d5493ddf6734da55d3733cc90e35634aa39aa536654d4b68c3ccb7c2f989746f21c634c8989a57d9d32a15b2 SHA512 bfb6960a4dd1e18f4005f324f478a781c69e8ec7c20569d9b243fcb9372dc7733b254f26c683373537990cc9c109c78eaf0f65449629ee17caca1bce9b9ccccd |
72 |
|
73 |
diff --git a/dev-lang/julia/files/julia-1.6.0-fix-system-csl.patch b/dev-lang/julia/files/julia-1.6.0-fix-system-csl.patch |
74 |
new file mode 100644 |
75 |
index 00000000000..90a097197bf |
76 |
--- /dev/null |
77 |
+++ b/dev-lang/julia/files/julia-1.6.0-fix-system-csl.patch |
78 |
@@ -0,0 +1,271 @@ |
79 |
+From 71d7a8a8c12b72bfa362ae955d2ce4dfbdf5b8ba Mon Sep 17 00:00:00 2001 |
80 |
+From: Elliot Saba <staticfloat@×××××.com> |
81 |
+Date: Fri, 26 Mar 2021 18:40:07 +0000 |
82 |
+Subject: [PATCH 1/2] [build] Add `symlink_system_library` calls for CSL |
83 |
+ |
84 |
+We differentiate between a `USE_BINARYBUILDER_CSL=0` configuration |
85 |
+(where we copy the CSL libraries into the Julia build tree) versus a |
86 |
+`USE_SYSTEM_CSL=1` configuration (where we symlink them in a manner |
87 |
+similar to other system libararies) |
88 |
+--- |
89 |
+ Make.inc | 23 +++++++++++++- |
90 |
+ base/Makefile | 88 ++++++++++++++++++++++++++++++--------------------- |
91 |
+ deps/csl.mk | 40 ++++++++--------------- |
92 |
+ 3 files changed, 87 insertions(+), 64 deletions(-) |
93 |
+ |
94 |
+diff --git a/Make.inc b/Make.inc |
95 |
+index 519720a861ed7..7cba05806e684 100644 |
96 |
+--- a/Make.inc |
97 |
++++ b/Make.inc |
98 |
+@@ -596,6 +596,21 @@ else |
99 |
+ SHLIB_EXT := so |
100 |
+ endif |
101 |
+ |
102 |
++ifeq ($(OS),WINNT) |
103 |
++define versioned_libname |
104 |
++$$(if $(2),$(1)-$(2).$(SHLIB_EXT),$(1).$(SHLIB_EXT)) |
105 |
++endef |
106 |
++else ifeq ($(OS),Darwin) |
107 |
++define versioned_libname |
108 |
++$$(if $(2),$(1).$(2).$(SHLIB_EXT),$(1).$(SHLIB_EXT)) |
109 |
++endef |
110 |
++else |
111 |
++define versioned_libname |
112 |
++$$(if $(2),$(1).$(SHLIB_EXT).$(2),$(1).$(SHLIB_EXT)) |
113 |
++endef |
114 |
++endif |
115 |
++ |
116 |
++ |
117 |
+ ifeq ($(SHLIB_EXT), so) |
118 |
+ define SONAME_FLAGS |
119 |
+ -Wl,-soname=$1 |
120 |
+@@ -1147,6 +1162,8 @@ BB_TRIPLET_LIBGFORTRAN := $(subst $(SPACE),-,$(filter-out cxx%,$(subst -,$(SPACE |
121 |
+ BB_TRIPLET_CXXABI := $(subst $(SPACE),-,$(filter-out libgfortran%,$(subst -,$(SPACE),$(BB_TRIPLET_LIBGFORTRAN_CXXABI)))) |
122 |
+ BB_TRIPLET := $(subst $(SPACE),-,$(filter-out cxx%,$(filter-out libgfortran%,$(subst -,$(SPACE),$(BB_TRIPLET_LIBGFORTRAN_CXXABI))))) |
123 |
+ |
124 |
++LIBGFORTRAN_VERSION := $(subst libgfortran,,$(filter libgfortran%,$(subst -,$(SPACE),$(BB_TRIPLET_LIBGFORTRAN)))) |
125 |
++ |
126 |
+ # This is the set of projects that BinaryBuilder dependencies are hooked up for. |
127 |
+ BB_PROJECTS := BLASTRAMPOLINE OPENBLAS LLVM SUITESPARSE OPENLIBM GMP MBEDTLS LIBSSH2 NGHTTP2 MPFR CURL LIBGIT2 PCRE LIBUV LIBUNWIND DSFMT OBJCONV ZLIB P7ZIP CSL |
128 |
+ define SET_BB_DEFAULT |
129 |
+@@ -1479,8 +1496,12 @@ ifneq ($(findstring $(OS),Linux FreeBSD),) |
130 |
+ LIBGCC_NAME := libgcc_s.$(SHLIB_EXT).1 |
131 |
+ endif |
132 |
+ |
133 |
+- |
134 |
++# USE_SYSTEM_CSL causes it to get symlinked into build_private_shlibdir |
135 |
++ifeq ($(USE_SYSTEM_CSL),1) |
136 |
++LIBGCC_BUILD_DEPLIB := $(call dep_lib_path,$(build_libdir),$(build_private_shlibdir)/$(LIBGCC_NAME)) |
137 |
++else |
138 |
+ LIBGCC_BUILD_DEPLIB := $(call dep_lib_path,$(build_libdir),$(build_shlibdir)/$(LIBGCC_NAME)) |
139 |
++endif |
140 |
+ LIBGCC_INSTALL_DEPLIB := $(call dep_lib_path,$(libdir),$(private_shlibdir)/$(LIBGCC_NAME)) |
141 |
+ |
142 |
+ # USE_SYSTEM_LIBM and USE_SYSTEM_OPENLIBM causes it to get symlinked into build_private_shlibdir |
143 |
+diff --git a/base/Makefile b/base/Makefile |
144 |
+index e024e546f94d3..2bef6aab7f1f4 100644 |
145 |
+--- a/base/Makefile |
146 |
++++ b/base/Makefile |
147 |
+@@ -169,53 +169,69 @@ endif |
148 |
+ # echo "$$P" |
149 |
+ |
150 |
+ define symlink_system_library |
151 |
+-symlink_$1: $$(build_private_libdir)/$1.$$(SHLIB_EXT) |
152 |
+-$$(build_private_libdir)/$1.$$(SHLIB_EXT): |
153 |
+- REALPATH=`$$(call spawn,$$(build_depsbindir)/libwhich) -p $$(notdir $$@)` && \ |
154 |
+- $$(call resolve_path,REALPATH) && \ |
155 |
+- [ -e "$$$$REALPATH" ] && \ |
156 |
+- ([ ! -e "$$@" ] || rm "$$@") && \ |
157 |
+- echo ln -sf "$$$$REALPATH" "$$@" && \ |
158 |
+- ln -sf "$$$$REALPATH" "$$@" |
159 |
+-ifneq ($2,) |
160 |
+-ifneq ($$(USE_SYSTEM_$2),0) |
161 |
+-SYMLINK_SYSTEM_LIBRARIES += symlink_$1 |
162 |
+-endif |
163 |
++libname_$2 := $$(notdir $(call versioned_libname,$2,$3)) |
164 |
++libpath_$2 := $$(shell $$(call spawn,$$(build_depsbindir)/libwhich) -p $$(libname_$2) 2>/dev/null) |
165 |
++symlink_$2: $$(build_private_libdir)/$$(libname_$2) |
166 |
++$$(build_private_libdir)/$$(libname_$2): |
167 |
++ @if [ -e "$$(libpath_$2)" ]; then \ |
168 |
++ REALPATH=$$(libpath_$2); \ |
169 |
++ $$(call resolve_path,REALPATH) && \ |
170 |
++ [ -e "$$$$REALPATH" ] && \ |
171 |
++ ([ ! -e "$$@" ] || rm "$$@") && \ |
172 |
++ echo ln -sf "$$$$REALPATH" "$$@" && \ |
173 |
++ ln -sf "$$$$REALPATH" "$$@"; \ |
174 |
++ else \ |
175 |
++ if [ "$4" != "ALLOW_FAILURE" ]; then \ |
176 |
++ echo "System library symlink failure: Unable to locate $$(libname_$2) on your system!" >&2; \ |
177 |
++ false; \ |
178 |
++ fi; \ |
179 |
++ fi |
180 |
++ifneq ($$(USE_SYSTEM_$1),0) |
181 |
++SYMLINK_SYSTEM_LIBRARIES += symlink_$2 |
182 |
+ endif |
183 |
+ endef |
184 |
+ |
185 |
+ # the following excludes: libuv.a, libutf8proc.a |
186 |
+ |
187 |
+-$(eval $(call symlink_system_library,$(LIBMNAME))) |
188 |
+ ifneq ($(USE_SYSTEM_LIBM),0) |
189 |
+-SYMLINK_SYSTEM_LIBRARIES += symlink_$(LIBMNAME) |
190 |
++$(eval $(call symlink_system_library,LIBM,$(LIBMNAME))) |
191 |
+ else ifneq ($(USE_SYSTEM_OPENLIBM),0) |
192 |
+-SYMLINK_SYSTEM_LIBRARIES += symlink_$(LIBMNAME) |
193 |
++$(eval $(call symlink_system_library,OPENLIBM,$(LIBMNAME))) |
194 |
+ endif |
195 |
+ |
196 |
+-$(eval $(call symlink_system_library,libpcre2-8,PCRE)) |
197 |
+-$(eval $(call symlink_system_library,libdSFMT,DSFMT)) |
198 |
+-$(eval $(call symlink_system_library,$(LIBBLASNAME),BLAS)) |
199 |
++$(eval $(call symlink_system_library,CSL,libgcc_s,1)) |
200 |
++ifneq (,$(LIBGFORTRAN_VERSION)) |
201 |
++$(eval $(call symlink_system_library,CSL,libgfortran,$(LIBGFORTRAN_VERSION))) |
202 |
++endif |
203 |
++$(eval $(call symlink_system_library,CSL,libquadmath,0)) |
204 |
++$(eval $(call symlink_system_library,CSL,libstdc++,6)) |
205 |
++# We allow libssp, libatomic and libgomp to fail as they are not available on all systems |
206 |
++$(eval $(call symlink_system_library,CSL,libssp,0,ALLOW_FAILURE)) |
207 |
++$(eval $(call symlink_system_library,CSL,libatomic,1,ALLOW_FAILURE)) |
208 |
++$(eval $(call symlink_system_library,CSL,libgomp,1,ALLOW_FAILURE)) |
209 |
++$(eval $(call symlink_system_library,PCRE,libpcre2-8)) |
210 |
++$(eval $(call symlink_system_library,DSFMT,libdSFMT)) |
211 |
++$(eval $(call symlink_system_library,BLAS,$(LIBBLASNAME))) |
212 |
+ ifneq ($(LIBLAPACKNAME),$(LIBBLASNAME)) |
213 |
+-$(eval $(call symlink_system_library,$(LIBLAPACKNAME),LAPACK)) |
214 |
++$(eval $(call symlink_system_library,LAPACK,$(LIBLAPACKNAME))) |
215 |
+ endif |
216 |
+-$(eval $(call symlink_system_library,libgmp,GMP)) |
217 |
+-$(eval $(call symlink_system_library,libmpfr,MPFR)) |
218 |
+-$(eval $(call symlink_system_library,libmbedtls,MBEDTLS)) |
219 |
+-$(eval $(call symlink_system_library,libmbedcrypto,MBEDTLS)) |
220 |
+-$(eval $(call symlink_system_library,libmbedx509,MBEDTLS)) |
221 |
+-$(eval $(call symlink_system_library,libssh2,LIBSSH2)) |
222 |
+-$(eval $(call symlink_system_library,libnghttp2,NGHTTP2)) |
223 |
+-$(eval $(call symlink_system_library,libcurl,CURL)) |
224 |
+-$(eval $(call symlink_system_library,libgit2,LIBGIT2)) |
225 |
+-$(eval $(call symlink_system_library,libamd,SUITESPARSE)) |
226 |
+-$(eval $(call symlink_system_library,libcamd,SUITESPARSE)) |
227 |
+-$(eval $(call symlink_system_library,libccolamd,SUITESPARSE)) |
228 |
+-$(eval $(call symlink_system_library,libcholmod,SUITESPARSE)) |
229 |
+-$(eval $(call symlink_system_library,libcolamd,SUITESPARSE)) |
230 |
+-$(eval $(call symlink_system_library,libumfpack,SUITESPARSE)) |
231 |
+-$(eval $(call symlink_system_library,libspqr,SUITESPARSE)) |
232 |
+-$(eval $(call symlink_system_library,libsuitesparseconfig,SUITESPARSE)) |
233 |
++$(eval $(call symlink_system_library,GMP,libgmp)) |
234 |
++$(eval $(call symlink_system_library,MPFR,libmpfr)) |
235 |
++$(eval $(call symlink_system_library,MBEDTLS,libmbedtls)) |
236 |
++$(eval $(call symlink_system_library,MBEDTLS,libmbedcrypto)) |
237 |
++$(eval $(call symlink_system_library,MBEDTLS,libmbedx509)) |
238 |
++$(eval $(call symlink_system_library,LIBSSH2,libssh2)) |
239 |
++$(eval $(call symlink_system_library,NGHTTP2,libnghttp2)) |
240 |
++$(eval $(call symlink_system_library,CURL,libcurl)) |
241 |
++$(eval $(call symlink_system_library,LIBGIT2,libgit2)) |
242 |
++$(eval $(call symlink_system_library,SUITESPARSE,libamd)) |
243 |
++$(eval $(call symlink_system_library,SUITESPARSE,libcamd)) |
244 |
++$(eval $(call symlink_system_library,SUITESPARSE,libccolamd)) |
245 |
++$(eval $(call symlink_system_library,SUITESPARSE,libcholmod)) |
246 |
++$(eval $(call symlink_system_library,SUITESPARSE,libcolamd)) |
247 |
++$(eval $(call symlink_system_library,SUITESPARSE,libumfpack)) |
248 |
++$(eval $(call symlink_system_library,SUITESPARSE,libspqr)) |
249 |
++$(eval $(call symlink_system_library,SUITESPARSE,libsuitesparseconfig)) |
250 |
+ # EXCLUDED LIBRARIES (installed/used, but not vendored for use with dlopen): |
251 |
+ # libunwind |
252 |
+ endif # WINNT |
253 |
+diff --git a/deps/csl.mk b/deps/csl.mk |
254 |
+index 095d4ceec4a1e..423201cbb5a0c 100644 |
255 |
+--- a/deps/csl.mk |
256 |
++++ b/deps/csl.mk |
257 |
+@@ -19,48 +19,34 @@ $$(build_shlibdir)/$(1): | $$(build_shlibdir) |
258 |
+ [ -n "$$$${SRC_LIB}" ] && cp $$$${SRC_LIB} $$(build_shlibdir) |
259 |
+ endef |
260 |
+ |
261 |
+-ifeq ($(OS),WINNT) |
262 |
+-define gen_libname |
263 |
+-$$(if $(2),lib$(1)-$(2).$(SHLIB_EXT),lib$(1).$(SHLIB_EXT)) |
264 |
+-endef |
265 |
+-else ifeq ($(OS),Darwin) |
266 |
+-define gen_libname |
267 |
+-$$(if $(2),lib$(1).$(2).$(SHLIB_EXT),lib$(1).$(SHLIB_EXT)) |
268 |
+-endef |
269 |
+-else |
270 |
+-define gen_libname |
271 |
+-$$(if $(2),lib$(1).$(SHLIB_EXT).$(2),lib$(1).$(SHLIB_EXT)) |
272 |
+-endef |
273 |
+-endif |
274 |
+- |
275 |
+ # libgfortran has multiple names; we're just going to copy any version we can find |
276 |
+ # Since we're only looking in the location given by `$(FC)` this should only succeed for one. |
277 |
+-$(eval $(call copy_csl,$(call gen_libname,gfortran,3))) |
278 |
+-$(eval $(call copy_csl,$(call gen_libname,gfortran,4))) |
279 |
+-$(eval $(call copy_csl,$(call gen_libname,gfortran,5))) |
280 |
++$(eval $(call copy_csl,$(call versioned_libname,libgfortran,3))) |
281 |
++$(eval $(call copy_csl,$(call versioned_libname,libgfortran,4))) |
282 |
++$(eval $(call copy_csl,$(call versioned_libname,libgfortran,5))) |
283 |
+ |
284 |
+ # These are all libraries that we should always have |
285 |
+-$(eval $(call copy_csl,$(call gen_libname,quadmath,0))) |
286 |
+-$(eval $(call copy_csl,$(call gen_libname,stdc++,6))) |
287 |
+-$(eval $(call copy_csl,$(call gen_libname,ssp,0))) |
288 |
+-$(eval $(call copy_csl,$(call gen_libname,atomic,1))) |
289 |
+-$(eval $(call copy_csl,$(call gen_libname,gomp,1))) |
290 |
++$(eval $(call copy_csl,$(call versioned_libname,libquadmath,0))) |
291 |
++$(eval $(call copy_csl,$(call versioned_libname,libstdc++,6))) |
292 |
++$(eval $(call copy_csl,$(call versioned_libname,libssp,0))) |
293 |
++$(eval $(call copy_csl,$(call versioned_libname,libatomic,1))) |
294 |
++$(eval $(call copy_csl,$(call versioned_libname,libgomp,1))) |
295 |
+ |
296 |
+ ifeq ($(OS),WINNT) |
297 |
+ # Windwos has special gcc_s names |
298 |
+ ifeq ($(ARCH),i686) |
299 |
+-$(eval $(call copy_csl,$(call gen_libname,gcc_s_sjlj,1))) |
300 |
++$(eval $(call copy_csl,$(call versioned_libname,libgcc_s_sjlj,1))) |
301 |
+ else |
302 |
+-$(eval $(call copy_csl,$(call gen_libname,gcc_s_seh,1))) |
303 |
++$(eval $(call copy_csl,$(call versioned_libname,libgcc_s_seh,1))) |
304 |
+ endif |
305 |
+ else |
306 |
+-$(eval $(call copy_csl,$(call gen_libname,gcc_s,1))) |
307 |
++$(eval $(call copy_csl,$(call versioned_libname,libgcc_s,1))) |
308 |
+ endif |
309 |
+ # winpthread is only Windows, pthread is only others |
310 |
+ ifeq ($(OS),WINNT) |
311 |
+-$(eval $(call copy_csl,$(call gen_libname,winpthread,1))) |
312 |
++$(eval $(call copy_csl,$(call versioned_libname,libwinpthread,1))) |
313 |
+ else |
314 |
+-$(eval $(call copy_csl,$(call gen_libname,pthread,0))) |
315 |
++$(eval $(call copy_csl,$(call versioned_libname,libpthread,0))) |
316 |
+ endif |
317 |
+ |
318 |
+ get-csl: |
319 |
+ |
320 |
+From 6536b8519b25db844f2a1866d056879cb87d1c66 Mon Sep 17 00:00:00 2001 |
321 |
+From: Elliot Saba <staticfloat@×××××.com> |
322 |
+Date: Fri, 26 Mar 2021 22:32:04 +0000 |
323 |
+Subject: [PATCH 2/2] Expand `JL_PRIVATE_LIBS-1` for versioned library names as |
324 |
+ well |
325 |
+ |
326 |
+Without this, we fail to install things like `libgcc_s.so.1` when |
327 |
+installed into the private libdir by `symlink_system_libraries`. |
328 |
+--- |
329 |
+ Makefile | 7 +++++-- |
330 |
+ 1 file changed, 5 insertions(+), 2 deletions(-) |
331 |
+ |
332 |
+diff --git a/Makefile b/Makefile |
333 |
+index 823ff3b86339d..e08f0e959e1b3 100644 |
334 |
+--- a/Makefile |
335 |
++++ b/Makefile |
336 |
+@@ -290,8 +290,11 @@ endif |
337 |
+ done \ |
338 |
+ done |
339 |
+ for suffix in $(JL_PRIVATE_LIBS-1) ; do \ |
340 |
+- lib=$(build_private_libdir)/$${suffix}.$(SHLIB_EXT); \ |
341 |
+- $(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) ; \ |
342 |
++ for lib in $(build_private_libdir)/$${suffix}.$(SHLIB_EXT)*; do \ |
343 |
++ if [ "$${lib##*.}" != "dSYM" ]; then \ |
344 |
++ $(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) ; \ |
345 |
++ fi \ |
346 |
++ done \ |
347 |
+ done |
348 |
+ endif |
349 |
+ # Install `7z` into libexec/ |
350 |
|
351 |
diff --git a/dev-lang/julia/julia-1.6.0.ebuild b/dev-lang/julia/julia-1.6.0.ebuild |
352 |
index b6b3aa64075..5296e35163d 100644 |
353 |
--- a/dev-lang/julia/julia-1.6.0.ebuild |
354 |
+++ b/dev-lang/julia/julia-1.6.0.ebuild |
355 |
@@ -8,25 +8,17 @@ inherit llvm pax-utils toolchain-funcs |
356 |
# correct versions for stdlibs are in deps/checksums |
357 |
# for everything else, run with network-sandbox and wait for the crash |
358 |
|
359 |
-MY_PV="${PV//_rc/-rc}" |
360 |
-MY_DSFMT_V="2.2.4" |
361 |
MY_LIBUV_V="fb3e3364c33ae48c827f6b103e05c3f0e78b79a9" |
362 |
MY_LIBWHICH_V="81e9723c0273d78493dc8c8ed570f68d9ce7e89e" |
363 |
MY_LLVM_V="11.0.1" |
364 |
-MY_PKG_V="05fa7f93f73afdabd251247d03144de9f7b36b50" |
365 |
-MY_UNICODE_V="13.0.0" |
366 |
-MY_UTF8PROC_V="3203baa7374d67132384e2830b2183c92351bffc" |
367 |
|
368 |
DESCRIPTION="High-performance programming language for technical computing" |
369 |
HOMEPAGE="https://julialang.org/" |
370 |
+ |
371 |
SRC_URI=" |
372 |
- https://github.com/JuliaLang/${PN}/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz |
373 |
+ https://github.com/JuliaLang/julia/releases/download/v${PV}/${P}.tar.gz |
374 |
https://api.github.com/repos/JuliaLang/libuv/tarball/${MY_LIBUV_V} -> ${PN}-libuv-${MY_LIBUV_V}.tar.gz |
375 |
- https://api.github.com/repos/JuliaLang/utf8proc/tarball/${MY_UTF8PROC_V} -> ${PN}-utf8proc-${MY_UTF8PROC_V}.tar.gz |
376 |
https://api.github.com/repos/vtjnash/libwhich/tarball/${MY_LIBWHICH_V} -> ${PN}-libwhich-${MY_LIBWHICH_V}.tar.gz |
377 |
- https://github.com/MersenneTwister-Lab/dSFMT/archive/v${MY_DSFMT_V}.tar.gz -> ${PN}-dsfmt-${MY_DSFMT_V}.tar.gz |
378 |
- http://www.unicode.org/Public/${MY_UNICODE_V}/ucd/UnicodeData.txt -> ${PN}-UnicodeData-${MY_UNICODE_V}.txt |
379 |
- https://dev.gentoo.org/~patrick/Pkg-${MY_PKG_V}.tar.gz -> ${PN}-Pkg-${MY_PKG_V}.tar.gz |
380 |
!system-llvm? ( https://github.com/llvm/llvm-project/releases/download/llvmorg-${MY_LLVM_V}/llvm-${MY_LLVM_V}.src.tar.xz ) |
381 |
" |
382 |
|
383 |
@@ -41,19 +33,16 @@ RDEPEND=" |
384 |
" |
385 |
LLVM_MAX_SLOT=11 |
386 |
|
387 |
-# Silence some QA warnings. The julia build system does not use user |
388 |
-# defined CFLAGS for some of the generated binary modules. |
389 |
-QA_FLAGS_IGNORED='.*' |
390 |
- |
391 |
RDEPEND+=" |
392 |
- dev-libs/double-conversion:0= |
393 |
+ app-arch/p7zip |
394 |
dev-libs/gmp:0= |
395 |
dev-libs/libgit2:0 |
396 |
>=dev-libs/libpcre2-10.23:0=[jit,unicode] |
397 |
dev-libs/mpfr:0= |
398 |
- dev-libs/openspecfun |
399 |
- net-libs/libssh2 |
400 |
+ dev-libs/libutf8proc:0= |
401 |
+ dev-util/patchelf |
402 |
>=net-libs/mbedtls-2.2 |
403 |
+ net-misc/curl[http2,ssh] |
404 |
sci-libs/amd:0= |
405 |
sci-libs/arpack:0= |
406 |
sci-libs/camd:0= |
407 |
@@ -64,10 +53,8 @@ RDEPEND+=" |
408 |
sci-libs/openlibm:0= |
409 |
sci-libs/spqr:0= |
410 |
sci-libs/umfpack:0= |
411 |
- sci-mathematics/glpk:0= |
412 |
- sci-mathematics/z3 |
413 |
+ >=sci-mathematics/dsfmt-2.2.4 |
414 |
>=sys-libs/libunwind-1.1:0= |
415 |
- sys-libs/readline:0= |
416 |
sys-libs/zlib:0= |
417 |
>=virtual/blas-3.6 |
418 |
virtual/lapack" |
419 |
@@ -77,37 +64,23 @@ DEPEND="${RDEPEND} |
420 |
virtual/pkgconfig" |
421 |
|
422 |
PATCHES=( |
423 |
- "${FILESDIR}"/${PN}-1.6.0-fix_build_system.patch |
424 |
- "${FILESDIR}"/${PN}-1.1.0-fix_llvm_install.patch |
425 |
- "${FILESDIR}"/${PN}-1.4.0-no_symlink_llvm.patch |
426 |
+ "${FILESDIR}/${PN}"-1.1.0-fix_llvm_install.patch |
427 |
+ "${FILESDIR}/${PN}"-1.4.0-no_symlink_llvm.patch |
428 |
+ "${FILESDIR}/${PN}"-1.6.0-fix-system-csl.patch |
429 |
) |
430 |
|
431 |
-S="${WORKDIR}/${PN}-${MY_PV}" |
432 |
- |
433 |
pkg_setup() { |
434 |
use system-llvm && llvm_pkg_setup |
435 |
} |
436 |
|
437 |
src_unpack() { |
438 |
- tounpack=(${A}) |
439 |
+ local tounpack=(${A}) |
440 |
# the main source tree, followed by deps |
441 |
- unpack "${A/%\ */}" |
442 |
+ unpack "${tounpack[0]}" |
443 |
|
444 |
mkdir -p "${S}/deps/srccache/" |
445 |
for i in "${tounpack[@]:1}"; do |
446 |
- if [[ $i == *Pkg* ]] || [[ $i = *Statistics* ]]; then |
447 |
- # Bundled Pkg and Statistics packages go into ./stdlib |
448 |
- local tarball="${i#julia-}" |
449 |
- cp "${DISTDIR}/${i}" "${S}/stdlib/srccache/${tarball}" || die |
450 |
- # and we have to fix up the sha1sum |
451 |
- local name="${tarball%-*}" |
452 |
- local sha1="${tarball#*-}" |
453 |
- sha1="${sha1%.tar*}" |
454 |
- einfo "using patched stdlib package \"${name}\"" |
455 |
- sed -i -e "s/PKG_SHA1 = .*/PKG_SHA1 = ${sha1}/" "${S}/stdlib/Pkg.version" || die |
456 |
- else |
457 |
- cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die |
458 |
- fi |
459 |
+ cp "${DISTDIR}/${i}" "${S}/deps/srccache/${i#julia-}" || die |
460 |
done |
461 |
} |
462 |
|
463 |
@@ -120,84 +93,72 @@ src_prepare() { |
464 |
# - respect EPREFIX and Gentoo specific paths |
465 |
|
466 |
sed -i \ |
467 |
- -e "s|GENTOOCFLAGS|${CFLAGS}|g" \ |
468 |
- -e "s|/usr/include|${EPREFIX}/usr/include|g" \ |
469 |
- deps/Makefile || die |
470 |
- |
471 |
- sed -i \ |
472 |
- -e "s|GENTOOCFLAGS|${CFLAGS}|g" \ |
473 |
- -e "s|GENTOOLIBDIR|$(get_libdir)|" \ |
474 |
+ -e "\|SHIPFLAGS :=|c\\SHIPFLAGS := ${CFLAGS}" \ |
475 |
Make.inc || die |
476 |
|
477 |
- sed -i \ |
478 |
- -e "s|,lib)|,$(get_libdir))|g" \ |
479 |
- -e "s|\$(BUILD)/lib|\$(BUILD)/$(get_libdir)|g" \ |
480 |
- Makefile || die |
481 |
- |
482 |
sed -i \ |
483 |
-e "s|ar -rcs|$(tc-getAR) -rcs|g" \ |
484 |
src/Makefile || die |
485 |
|
486 |
# disable doc install starting git fetching |
487 |
sed -i -e 's~install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html~install: $(build_depsbindir)/stringreplace~' Makefile || die |
488 |
- |
489 |
- # now using sha512 additionally, so need to recreate checksum - |
490 |
- sha512sum "${S}/stdlib/srccache/Pkg-${MY_PKG_V}.tar.gz" | awk '{ print $1; }' > "${S}/deps/checksums/Pkg-${MY_PKG_V}.tar.gz/sha512" || die |
491 |
} |
492 |
|
493 |
src_configure() { |
494 |
- # julia does not play well with the system versions of dsfmt, libuv, |
495 |
- # and utf8proc |
496 |
- |
497 |
use system-llvm && ewarn "You have enabled system-llvm. This is unsupported by upstream and may not work." |
498 |
|
499 |
+ # julia does not play well with the system versions of libuv |
500 |
# USE_SYSTEM_LIBM=0 implies using external openlibm |
501 |
cat <<-EOF > Make.user |
502 |
+ LOCALBASE:="${EPREFIX}/usr" |
503 |
+ override prefix:="${EPREFIX}/usr" |
504 |
+ override libdir:="\$(prefix)/$(get_libdir)" |
505 |
+ override CC:=$(tc-getCC) |
506 |
+ override CXX:=$(tc-getCXX) |
507 |
+ override AR:=$(tc-getAR) |
508 |
+ |
509 |
+ BUNDLE_DEBUG_LIBS:=0 |
510 |
USE_BINARYBUILDER:=0 |
511 |
+ USE_SYSTEM_CSL:=1 |
512 |
USE_SYSTEM_LLVM:=$(usex system-llvm 1 0) |
513 |
USE_SYSTEM_LIBUNWIND:=1 |
514 |
USE_SYSTEM_PCRE:=1 |
515 |
USE_SYSTEM_LIBM:=0 |
516 |
USE_SYSTEM_OPENLIBM:=1 |
517 |
- USE_SYSTEM_DSFMT:=0 |
518 |
+ USE_SYSTEM_DSFMT:=1 |
519 |
USE_SYSTEM_BLAS:=1 |
520 |
USE_SYSTEM_LAPACK:=1 |
521 |
USE_SYSTEM_GMP:=1 |
522 |
USE_SYSTEM_MPFR:=1 |
523 |
USE_SYSTEM_SUITESPARSE:=1 |
524 |
USE_SYSTEM_LIBUV:=0 |
525 |
- USE_SYSTEM_UTF8PROC:=0 |
526 |
+ USE_SYSTEM_UTF8PROC:=1 |
527 |
USE_SYSTEM_MBEDTLS:=1 |
528 |
USE_SYSTEM_LIBSSH2:=1 |
529 |
+ USE_SYSTEM_NGHTTP2:=1 |
530 |
USE_SYSTEM_CURL:=1 |
531 |
USE_SYSTEM_LIBGIT2:=1 |
532 |
USE_SYSTEM_PATCHELF:=1 |
533 |
USE_SYSTEM_ZLIB:=1 |
534 |
USE_SYSTEM_P7ZIP:=1 |
535 |
- VERBOSE=1 |
536 |
- libdir="${EROOT}/usr/$(get_libdir)" |
537 |
+ VERBOSE:=1 |
538 |
EOF |
539 |
} |
540 |
|
541 |
src_compile() { |
542 |
- |
543 |
# Julia accesses /proc/self/mem on Linux |
544 |
addpredict /proc/self/mem |
545 |
|
546 |
- emake \ |
547 |
- prefix="${EPREFIX}/usr" DESTDIR="${D}" \ |
548 |
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" |
549 |
+ default |
550 |
pax-mark m "$(file usr/bin/julia-* | awk -F : '/ELF/ {print $1}')" |
551 |
} |
552 |
|
553 |
src_install() { |
554 |
- emake install \ |
555 |
- prefix="${EPREFIX}/usr" DESTDIR="${D}" \ |
556 |
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" \ |
557 |
- BUNDLE_DEBUG_LIBS=0 |
558 |
+ emake install DESTDIR="${D}" |
559 |
|
560 |
if ! use system-llvm ; then |
561 |
- cp "${S}/usr/lib/libLLVM"-?jl.so "${ED}/usr/$(get_libdir)/julia/" || die |
562 |
+ local llvmslot=$(ver_cut 1 ${MY_LLVM_V}) |
563 |
+ cp "${S}/usr/lib/libLLVM-${llvmslot}jl.so" "${ED}/usr/$(get_libdir)/julia/" || die |
564 |
fi |
565 |
|
566 |
dodoc README.md |