Gentoo Archives: gentoo-commits

From: Sebastien Fabbro <bicatali@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/sundials/files/, sci-libs/sundials/
Date: Mon, 02 Jan 2017 16:14:00
Message-Id: 1483373624.ac85f06620366c1e817dfcf8d7a90055f08eef47.bicatali@gentoo
1 commit: ac85f06620366c1e817dfcf8d7a90055f08eef47
2 Author: Sébastien Fabbro <bicatali <AT> gentoo <DOT> org>
3 AuthorDate: Fri Dec 30 23:58:20 2016 +0000
4 Commit: Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 2 16:13:44 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac85f066
7
8 sci-libs/sundials: initial import
9
10 Package-Manager: Portage-2.3.3, Repoman-2.3.1
11
12 sci-libs/sundials/Manifest | 1 +
13 .../files/sundials-2.7.0-underlinking-libdir.patch | 395 +++++++++++++++++++++
14 sci-libs/sundials/metadata.xml | 22 ++
15 sci-libs/sundials/sundials-2.7.0.ebuild | 74 ++++
16 4 files changed, 492 insertions(+)
17
18 diff --git a/sci-libs/sundials/Manifest b/sci-libs/sundials/Manifest
19 new file mode 100644
20 index 00000000..53a6a98
21 --- /dev/null
22 +++ b/sci-libs/sundials/Manifest
23 @@ -0,0 +1 @@
24 +DIST sundials-2.7.0.tar.gz 12258093 SHA256 d39fcac7175d701398e4eb209f7e92a5b30a78358d4a0c0fcc23db23c11ba104 SHA512 c86c167538065a4109b36ae7c8f60f3d92184133cfa661b5acfccee052c38f40be865412a1746bb57907b61602c212c0f15e1e30ef29e8a49db6d46a75a28e69 WHIRLPOOL 3aabd2912e6be7d159d69853ecc76d9549cc6020344083c71cdcf43867e86d95d14862463c201270f9ff5a16536f4341d6e0eb466402870cf7ee6e7a45669667
25
26 diff --git a/sci-libs/sundials/files/sundials-2.7.0-underlinking-libdir.patch b/sci-libs/sundials/files/sundials-2.7.0-underlinking-libdir.patch
27 new file mode 100644
28 index 00000000..db47ac3
29 --- /dev/null
30 +++ b/sci-libs/sundials/files/sundials-2.7.0-underlinking-libdir.patch
31 @@ -0,0 +1,395 @@
32 +diff -Nur sundials-2.7.0.orig/src/arkode/CMakeLists.txt sundials-2.7.0/src/arkode/CMakeLists.txt
33 +--- sundials-2.7.0.orig/src/arkode/CMakeLists.txt 2016-09-26 22:16:52.000000000 +0000
34 ++++ sundials-2.7.0/src/arkode/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
35 +@@ -127,7 +127,7 @@
36 + PROPERTIES OUTPUT_NAME sundials_arkode CLEAN_DIRECT_OUTPUT 1)
37 +
38 + # Install the ARKODE library
39 +- INSTALL(TARGETS sundials_arkode_static DESTINATION lib)
40 ++ INSTALL(TARGETS sundials_arkode_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
41 +
42 + ENDIF(BUILD_STATIC_LIBS)
43 +
44 +@@ -146,8 +146,10 @@
45 + SET_TARGET_PROPERTIES(sundials_arkode_shared
46 + PROPERTIES VERSION ${arkodelib_VERSION} SOVERSION ${arkodelib_SOVERSION})
47 +
48 ++ TARGET_LINK_LIBRARIES(sundials_arkode_shared -lm ${KLU_LIBRARIES} ${SUPERLUMT_LIBRARIES} ${LAPACK_LIBRARIES})
49 ++
50 + # Install the ARKODE library
51 +- INSTALL(TARGETS sundials_arkode_shared DESTINATION lib)
52 ++ INSTALL(TARGETS sundials_arkode_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
53 +
54 + ENDIF(BUILD_SHARED_LIBS)
55 +
56 +diff -Nur sundials-2.7.0.orig/src/arkode/fcmix/CMakeLists.txt sundials-2.7.0/src/arkode/fcmix/CMakeLists.txt
57 +--- sundials-2.7.0.orig/src/arkode/fcmix/CMakeLists.txt 2016-09-26 22:16:52.000000000 +0000
58 ++++ sundials-2.7.0/src/arkode/fcmix/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
59 +@@ -70,7 +70,7 @@
60 + PROPERTIES OUTPUT_NAME sundials_farkode CLEAN_DIRECT_OUTPUT 1)
61 +
62 + # Install the FARKODE library
63 +-INSTALL(TARGETS sundials_farkode_static DESTINATION lib)
64 ++INSTALL(TARGETS sundials_farkode_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
65 +
66 + #
67 + MESSAGE(STATUS "Added ARKODE FCMIX module")
68 +diff -Nur sundials-2.7.0.orig/src/cvode/CMakeLists.txt sundials-2.7.0/src/cvode/CMakeLists.txt
69 +--- sundials-2.7.0.orig/src/cvode/CMakeLists.txt 2016-09-26 22:17:07.000000000 +0000
70 ++++ sundials-2.7.0/src/cvode/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
71 +@@ -134,7 +134,7 @@
72 + PROPERTIES OUTPUT_NAME sundials_cvode CLEAN_DIRECT_OUTPUT 1)
73 +
74 + # Install the CVODE library
75 +- INSTALL(TARGETS sundials_cvode_static DESTINATION lib)
76 ++ INSTALL(TARGETS sundials_cvode_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
77 +
78 + ENDIF(BUILD_STATIC_LIBS)
79 +
80 +@@ -153,8 +153,10 @@
81 + SET_TARGET_PROPERTIES(sundials_cvode_shared
82 + PROPERTIES VERSION ${cvodelib_VERSION} SOVERSION ${cvodelib_SOVERSION})
83 +
84 ++ TARGET_LINK_LIBRARIES(sundials_cvode_shared -lm ${KLU_LIBRARIES} ${SUPERLUMT_LIBRARIES} ${LAPACK_LIBRARIES})
85 ++
86 + # Install the CVODE library
87 +- INSTALL(TARGETS sundials_cvode_shared DESTINATION lib)
88 ++ INSTALL(TARGETS sundials_cvode_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
89 +
90 + ENDIF(BUILD_SHARED_LIBS)
91 +
92 +diff -Nur sundials-2.7.0.orig/src/cvode/fcmix/CMakeLists.txt sundials-2.7.0/src/cvode/fcmix/CMakeLists.txt
93 +--- sundials-2.7.0.orig/src/cvode/fcmix/CMakeLists.txt 2016-09-26 22:17:07.000000000 +0000
94 ++++ sundials-2.7.0/src/cvode/fcmix/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
95 +@@ -57,7 +57,7 @@
96 + PROPERTIES OUTPUT_NAME sundials_fcvode CLEAN_DIRECT_OUTPUT 1)
97 +
98 + # Install the FCVODE library
99 +-INSTALL(TARGETS sundials_fcvode_static DESTINATION lib)
100 ++INSTALL(TARGETS sundials_fcvode_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
101 +
102 + #
103 + MESSAGE(STATUS "Added CVODE FCMIX module")
104 +diff -Nur sundials-2.7.0.orig/src/cvodes/CMakeLists.txt sundials-2.7.0/src/cvodes/CMakeLists.txt
105 +--- sundials-2.7.0.orig/src/cvodes/CMakeLists.txt 2016-09-26 22:17:15.000000000 +0000
106 ++++ sundials-2.7.0/src/cvodes/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
107 +@@ -121,7 +121,7 @@
108 + PROPERTIES OUTPUT_NAME sundials_cvodes CLEAN_DIRECT_OUTPUT 1)
109 +
110 + # Install the CVODES library
111 +- INSTALL(TARGETS sundials_cvodes_static DESTINATION lib)
112 ++ INSTALL(TARGETS sundials_cvodes_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
113 +
114 + ENDIF(BUILD_STATIC_LIBS)
115 +
116 +@@ -140,8 +140,9 @@
117 + SET_TARGET_PROPERTIES(sundials_cvodes_shared
118 + PROPERTIES VERSION ${cvodeslib_VERSION} SOVERSION ${cvodeslib_SOVERSION})
119 +
120 ++ TARGET_LINK_LIBRARIES(sundials_cvodes_shared -lm ${KLU_LIBRARIES} ${SUPERLUMT_LIBRARIES} ${LAPACK_LIBRARIES})
121 + # Install the CVODES library
122 +- INSTALL(TARGETS sundials_cvodes_shared DESTINATION lib)
123 ++ INSTALL(TARGETS sundials_cvodes_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
124 +
125 + ENDIF(BUILD_SHARED_LIBS)
126 +
127 +diff -Nur sundials-2.7.0.orig/src/ida/CMakeLists.txt sundials-2.7.0/src/ida/CMakeLists.txt
128 +--- sundials-2.7.0.orig/src/ida/CMakeLists.txt 2016-09-26 22:17:26.000000000 +0000
129 ++++ sundials-2.7.0/src/ida/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
130 +@@ -124,7 +124,7 @@
131 + PROPERTIES OUTPUT_NAME sundials_ida CLEAN_DIRECT_OUTPUT 1)
132 +
133 + # Install the IDA library
134 +- INSTALL(TARGETS sundials_ida_static DESTINATION lib)
135 ++ INSTALL(TARGETS sundials_ida_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
136 +
137 + ENDIF(BUILD_STATIC_LIBS)
138 +
139 +@@ -143,8 +143,10 @@
140 + SET_TARGET_PROPERTIES(sundials_ida_shared
141 + PROPERTIES VERSION ${idalib_VERSION} SOVERSION ${idalib_SOVERSION})
142 +
143 ++ TARGET_LINK_LIBRARIES(sundials_ida_shared -lm ${KLU_LIBRARIES} ${SUPERLUMT_LIBRARIES} ${LAPACK_LIBRARIES})
144 ++
145 + # Install the IDA library
146 +- INSTALL(TARGETS sundials_ida_shared DESTINATION lib)
147 ++ INSTALL(TARGETS sundials_ida_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
148 +
149 + ENDIF(BUILD_SHARED_LIBS)
150 +
151 +diff -Nur sundials-2.7.0.orig/src/ida/fcmix/CMakeLists.txt sundials-2.7.0/src/ida/fcmix/CMakeLists.txt
152 +--- sundials-2.7.0.orig/src/ida/fcmix/CMakeLists.txt 2016-09-26 22:17:26.000000000 +0000
153 ++++ sundials-2.7.0/src/ida/fcmix/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
154 +@@ -56,6 +56,6 @@
155 + PROPERTIES OUTPUT_NAME sundials_fida CLEAN_DIRECT_OUTPUT 1)
156 +
157 + # Install the FIDA library
158 +-INSTALL(TARGETS sundials_fida_static DESTINATION lib)
159 ++INSTALL(TARGETS sundials_fida_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
160 + #
161 + MESSAGE(STATUS "Added IDA FCMIX module")
162 +diff -Nur sundials-2.7.0.orig/src/idas/CMakeLists.txt sundials-2.7.0/src/idas/CMakeLists.txt
163 +--- sundials-2.7.0.orig/src/idas/CMakeLists.txt 2016-09-26 22:17:32.000000000 +0000
164 ++++ sundials-2.7.0/src/idas/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
165 +@@ -126,7 +126,7 @@
166 + PROPERTIES OUTPUT_NAME sundials_idas CLEAN_DIRECT_OUTPUT 1)
167 +
168 + # Install the IDA library
169 +- INSTALL(TARGETS sundials_idas_static DESTINATION lib)
170 ++ INSTALL(TARGETS sundials_idas_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
171 +
172 + ENDIF(BUILD_STATIC_LIBS)
173 +
174 +@@ -145,8 +145,10 @@
175 + SET_TARGET_PROPERTIES(sundials_idas_shared
176 + PROPERTIES VERSION ${idaslib_VERSION} SOVERSION ${idaslib_SOVERSION})
177 +
178 ++ TARGET_LINK_LIBRARIES(sundials_idas_shared -lm ${KLU_LIBRARIES} ${SUPERLUMT_LIBRARIES} ${LAPACK_LIBRARIES})
179 ++
180 + # Install the IDAS library
181 +- INSTALL(TARGETS sundials_idas_shared DESTINATION lib)
182 ++ INSTALL(TARGETS sundials_idas_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
183 +
184 + ENDIF(BUILD_SHARED_LIBS)
185 +
186 +diff -Nur sundials-2.7.0.orig/src/kinsol/CMakeLists.txt sundials-2.7.0/src/kinsol/CMakeLists.txt
187 +--- sundials-2.7.0.orig/src/kinsol/CMakeLists.txt 2016-09-26 22:17:39.000000000 +0000
188 ++++ sundials-2.7.0/src/kinsol/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
189 +@@ -134,7 +134,7 @@
190 + PROPERTIES OUTPUT_NAME sundials_kinsol CLEAN_DIRECT_OUTPUT 1)
191 +
192 + # Install the KINSOL library
193 +- INSTALL(TARGETS sundials_kinsol_static DESTINATION lib)
194 ++ INSTALL(TARGETS sundials_kinsol_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
195 +
196 + ENDIF(BUILD_STATIC_LIBS)
197 +
198 +@@ -153,8 +153,10 @@
199 + SET_TARGET_PROPERTIES(sundials_kinsol_shared
200 + PROPERTIES VERSION ${kinsollib_VERSION} SOVERSION ${kinsollib_SOVERSION})
201 +
202 ++ TARGET_LINK_LIBRARIES(sundials_kinsol_shared -lm ${KLU_LIBRARIES} ${SUPERLUMT_LIBRARIES} ${LAPACK_LIBRARIES})
203 ++
204 + # Install the KINSOL library
205 +- INSTALL(TARGETS sundials_kinsol_shared DESTINATION lib)
206 ++ INSTALL(TARGETS sundials_kinsol_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
207 +
208 + ENDIF(BUILD_SHARED_LIBS)
209 +
210 +diff -Nur sundials-2.7.0.orig/src/kinsol/fcmix/CMakeLists.txt sundials-2.7.0/src/kinsol/fcmix/CMakeLists.txt
211 +--- sundials-2.7.0.orig/src/kinsol/fcmix/CMakeLists.txt 2016-09-26 22:17:39.000000000 +0000
212 ++++ sundials-2.7.0/src/kinsol/fcmix/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
213 +@@ -54,7 +54,7 @@
214 + PROPERTIES OUTPUT_NAME sundials_fkinsol CLEAN_DIRECT_OUTPUT 1)
215 +
216 + # Install the FKINSOL library
217 +-INSTALL(TARGETS sundials_fkinsol_static DESTINATION lib)
218 ++INSTALL(TARGETS sundials_fkinsol_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
219 +
220 + #
221 + MESSAGE(STATUS "Added KINSOL FCMIX module")
222 +diff -Nur sundials-2.7.0.orig/src/nvec_openmp/CMakeLists.txt sundials-2.7.0/src/nvec_openmp/CMakeLists.txt
223 +--- sundials-2.7.0.orig/src/nvec_openmp/CMakeLists.txt 2016-09-26 22:16:50.000000000 +0000
224 ++++ sundials-2.7.0/src/nvec_openmp/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
225 +@@ -51,7 +51,7 @@
226 + ADD_LIBRARY(sundials_nvecopenmp_static STATIC ${nvecopenmp_SOURCES} ${shared_SOURCES})
227 + SET_TARGET_PROPERTIES(sundials_nvecopenmp_static
228 + PROPERTIES OUTPUT_NAME sundials_nvecopenmp CLEAN_DIRECT_OUTPUT 1)
229 +- INSTALL(TARGETS sundials_nvecopenmp_static DESTINATION lib)
230 ++ INSTALL(TARGETS sundials_nvecopenmp_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
231 + ENDIF(BUILD_STATIC_LIBS)
232 +
233 + # Rules for building and installing the shared library:
234 +@@ -65,7 +65,8 @@
235 + PROPERTIES OUTPUT_NAME sundials_nvecopenmp CLEAN_DIRECT_OUTPUT 1)
236 + SET_TARGET_PROPERTIES(sundials_nvecopenmp_shared
237 + PROPERTIES VERSION ${nveclib_VERSION} SOVERSION ${nveclib_SOVERSION})
238 +- INSTALL(TARGETS sundials_nvecopenmp_shared DESTINATION lib)
239 ++ TARGET_LINK_LIBRARIES(sundials_nvecopenmp_shared -lm)
240 ++ INSTALL(TARGETS sundials_nvecopenmp_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
241 + ENDIF(BUILD_SHARED_LIBS)
242 +
243 + # Install the NVECOPENMP header files
244 +@@ -78,7 +79,7 @@
245 + ADD_LIBRARY(sundials_fnvecopenmp_static STATIC ${fnvecopenmp_SOURCES})
246 + SET_TARGET_PROPERTIES(sundials_fnvecopenmp_static
247 + PROPERTIES OUTPUT_NAME sundials_fnvecopenmp CLEAN_DIRECT_OUTPUT 1)
248 +- INSTALL(TARGETS sundials_fnvecopenmp_static DESTINATION lib)
249 ++ INSTALL(TARGETS sundials_fnvecopenmp_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
250 + ENDIF(BUILD_STATIC_LIBS)
251 + IF(BUILD_SHARED_LIBS)
252 + ADD_LIBRARY(sundials_fnvecopenmp_shared ${fnvecopenmp_SOURCES})
253 +@@ -86,7 +87,8 @@
254 + PROPERTIES OUTPUT_NAME sundials_fnvecopenmp CLEAN_DIRECT_OUTPUT 1)
255 + SET_TARGET_PROPERTIES(sundials_fnvecopenmp_shared
256 + PROPERTIES VERSION ${nveclib_VERSION} SOVERSION ${nveclib_SOVERSION})
257 +- INSTALL(TARGETS sundials_fnvecopenmp_shared DESTINATION lib)
258 ++ TARGET_LINK_LIBRARIES(sundials_fnvecopenmp_shared -lm)
259 ++ INSTALL(TARGETS sundials_fnvecopenmp_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
260 + ENDIF(BUILD_SHARED_LIBS)
261 + ENDIF(FCMIX_ENABLE AND F77_FOUND)
262 +
263 +diff -Nur sundials-2.7.0.orig/src/nvec_par/CMakeLists.txt sundials-2.7.0/src/nvec_par/CMakeLists.txt
264 +--- sundials-2.7.0.orig/src/nvec_par/CMakeLists.txt 2016-09-26 22:16:50.000000000 +0000
265 ++++ sundials-2.7.0/src/nvec_par/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
266 +@@ -52,7 +52,7 @@
267 + ADD_LIBRARY(sundials_nvecparallel_static STATIC ${nvecparallel_SOURCES} ${shared_SOURCES})
268 + SET_TARGET_PROPERTIES(sundials_nvecparallel_static
269 + PROPERTIES OUTPUT_NAME sundials_nvecparallel CLEAN_DIRECT_OUTPUT 1)
270 +- INSTALL(TARGETS sundials_nvecparallel_static DESTINATION lib)
271 ++ INSTALL(TARGETS sundials_nvecparallel_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
272 + ENDIF(BUILD_STATIC_LIBS)
273 +
274 + # Rules for building and installing the shared library:
275 +@@ -66,7 +66,8 @@
276 + PROPERTIES OUTPUT_NAME sundials_nvecparallel CLEAN_DIRECT_OUTPUT 1)
277 + SET_TARGET_PROPERTIES(sundials_nvecparallel_shared
278 + PROPERTIES VERSION ${nveclib_VERSION} SOVERSION ${nveclib_SOVERSION})
279 +- INSTALL(TARGETS sundials_nvecparallel_shared DESTINATION lib)
280 ++ TARGET_LINK_LIBRARIES(sundials_nvecparallel_shared -lm)
281 ++ INSTALL(TARGETS sundials_nvecparallel_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
282 + ENDIF(BUILD_SHARED_LIBS)
283 +
284 + # Install the NVECPARALLEL header files
285 +@@ -79,7 +80,7 @@
286 + ADD_LIBRARY(sundials_fnvecparallel_static STATIC ${fnvecparallel_SOURCES})
287 + SET_TARGET_PROPERTIES(sundials_fnvecparallel_static
288 + PROPERTIES OUTPUT_NAME sundials_fnvecparallel CLEAN_DIRECT_OUTPUT 1)
289 +- INSTALL(TARGETS sundials_fnvecparallel_static DESTINATION lib)
290 ++ INSTALL(TARGETS sundials_fnvecparallel_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
291 + ENDIF(BUILD_STATIC_LIBS)
292 + IF(BUILD_SHARED_LIBS)
293 + ADD_LIBRARY(sundials_fnvecparallel_shared SHARED ${fnvecparallel_SOURCES})
294 +@@ -87,7 +88,7 @@
295 + PROPERTIES OUTPUT_NAME sundials_fnvecparallel CLEAN_DIRECT_OUTPUT 1)
296 + SET_TARGET_PROPERTIES(sundials_fnvecparallel_shared
297 + PROPERTIES VERSION ${nveclib_VERSION} SOVERSION ${nveclib_SOVERSION})
298 +- INSTALL(TARGETS sundials_fnvecparallel_shared DESTINATION lib)
299 ++ INSTALL(TARGETS sundials_fnvecparallel_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
300 + ENDIF(BUILD_SHARED_LIBS)
301 + ENDIF(FCMIX_ENABLE AND MPIF_FOUND)
302 + #
303 +diff -Nur sundials-2.7.0.orig/src/nvec_parhyp/CMakeLists.txt sundials-2.7.0/src/nvec_parhyp/CMakeLists.txt
304 +--- sundials-2.7.0.orig/src/nvec_parhyp/CMakeLists.txt 2016-09-26 22:16:50.000000000 +0000
305 ++++ sundials-2.7.0/src/nvec_parhyp/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
306 +@@ -53,7 +53,7 @@
307 + ADD_LIBRARY(sundials_nvecparhyp_static STATIC ${nvecparhyp_SOURCES} ${shared_SOURCES})
308 + SET_TARGET_PROPERTIES(sundials_nvecparhyp_static
309 + PROPERTIES OUTPUT_NAME sundials_nvecparhyp CLEAN_DIRECT_OUTPUT 1)
310 +- INSTALL(TARGETS sundials_nvecparhyp_static DESTINATION lib)
311 ++ INSTALL(TARGETS sundials_nvecparhyp_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
312 + ENDIF(BUILD_STATIC_LIBS)
313 +
314 + # Rules for building and installing the shared library:
315 +@@ -67,7 +67,7 @@
316 + PROPERTIES OUTPUT_NAME sundials_nvecparhyp CLEAN_DIRECT_OUTPUT 1)
317 + SET_TARGET_PROPERTIES(sundials_nvecparhyp_shared
318 + PROPERTIES VERSION ${nveclib_VERSION} SOVERSION ${nveclib_SOVERSION})
319 +- INSTALL(TARGETS sundials_nvecparhyp_shared DESTINATION lib)
320 ++ INSTALL(TARGETS sundials_nvecparhyp_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
321 + ENDIF(BUILD_SHARED_LIBS)
322 +
323 + # Install the NVECPARHYP header files
324 +diff -Nur sundials-2.7.0.orig/src/nvec_petsc/CMakeLists.txt sundials-2.7.0/src/nvec_petsc/CMakeLists.txt
325 +--- sundials-2.7.0.orig/src/nvec_petsc/CMakeLists.txt 2016-09-26 22:16:50.000000000 +0000
326 ++++ sundials-2.7.0/src/nvec_petsc/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
327 +@@ -53,7 +53,7 @@
328 + ADD_LIBRARY(sundials_nvecpetsc_static STATIC ${nvecpetsc_SOURCES} ${shared_SOURCES})
329 + SET_TARGET_PROPERTIES(sundials_nvecpetsc_static
330 + PROPERTIES OUTPUT_NAME sundials_nvecpetsc CLEAN_DIRECT_OUTPUT 1)
331 +- INSTALL(TARGETS sundials_nvecpetsc_static DESTINATION lib)
332 ++ INSTALL(TARGETS sundials_nvecpetsc_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
333 + ENDIF(BUILD_STATIC_LIBS)
334 +
335 + # Rules for building and installing the shared library:
336 +@@ -67,7 +67,7 @@
337 + PROPERTIES OUTPUT_NAME sundials_nvecpetsc CLEAN_DIRECT_OUTPUT 1)
338 + SET_TARGET_PROPERTIES(sundials_nvecpetsc_shared
339 + PROPERTIES VERSION ${nveclib_VERSION} SOVERSION ${nveclib_SOVERSION})
340 +- INSTALL(TARGETS sundials_nvecpetsc_shared DESTINATION lib)
341 ++ INSTALL(TARGETS sundials_nvecpetsc_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
342 + ENDIF(BUILD_SHARED_LIBS)
343 +
344 + # Install the NVECPARHYP header files
345 +diff -Nur sundials-2.7.0.orig/src/nvec_pthreads/CMakeLists.txt sundials-2.7.0/src/nvec_pthreads/CMakeLists.txt
346 +--- sundials-2.7.0.orig/src/nvec_pthreads/CMakeLists.txt 2016-09-26 22:16:50.000000000 +0000
347 ++++ sundials-2.7.0/src/nvec_pthreads/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
348 +@@ -44,7 +44,7 @@
349 + ADD_LIBRARY(sundials_nvecpthreads_static STATIC ${nvecpthreads_SOURCES} ${shared_SOURCES})
350 + SET_TARGET_PROPERTIES(sundials_nvecpthreads_static
351 + PROPERTIES OUTPUT_NAME sundials_nvecpthreads CLEAN_DIRECT_OUTPUT 1)
352 +- INSTALL(TARGETS sundials_nvecpthreads_static DESTINATION lib)
353 ++ INSTALL(TARGETS sundials_nvecpthreads_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
354 + ENDIF(BUILD_STATIC_LIBS)
355 +
356 + # Rules for building and installing the shared library:
357 +@@ -58,7 +58,8 @@
358 + PROPERTIES OUTPUT_NAME sundials_nvecpthreads CLEAN_DIRECT_OUTPUT 1)
359 + SET_TARGET_PROPERTIES(sundials_nvecpthreads_shared
360 + PROPERTIES VERSION ${nveclib_VERSION} SOVERSION ${nveclib_SOVERSION})
361 +- INSTALL(TARGETS sundials_nvecpthreads_shared DESTINATION lib)
362 ++ TARGET_LINK_LIBRARIES(sundials_nvecpthreads_shared -lm -lpthread)
363 ++ INSTALL(TARGETS sundials_nvecpthreads_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
364 + ENDIF(BUILD_SHARED_LIBS)
365 +
366 + # Install the NVECPTHREADS header files
367 +@@ -71,7 +72,7 @@
368 + ADD_LIBRARY(sundials_fnvecpthreads_static STATIC ${fnvecpthreads_SOURCES})
369 + SET_TARGET_PROPERTIES(sundials_fnvecpthreads_static
370 + PROPERTIES OUTPUT_NAME sundials_fnvecpthreads CLEAN_DIRECT_OUTPUT 1)
371 +- INSTALL(TARGETS sundials_fnvecpthreads_static DESTINATION lib)
372 ++ INSTALL(TARGETS sundials_fnvecpthreads_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
373 + ENDIF(BUILD_STATIC_LIBS)
374 + IF(BUILD_SHARED_LIBS)
375 + ADD_LIBRARY(sundials_fnvecpthreads_shared ${fnvecpthreads_SOURCES})
376 +@@ -79,7 +80,8 @@
377 + PROPERTIES OUTPUT_NAME sundials_fnvecpthreads CLEAN_DIRECT_OUTPUT 1)
378 + SET_TARGET_PROPERTIES(sundials_fnvecpthreads_shared
379 + PROPERTIES VERSION ${nveclib_VERSION} SOVERSION ${nveclib_SOVERSION})
380 +- INSTALL(TARGETS sundials_fnvecpthreads_shared DESTINATION lib)
381 ++ TARGET_LINK_LIBRARIES(sundials_fnvecpthreads_shared -lm -lpthread)
382 ++ INSTALL(TARGETS sundials_fnvecpthreads_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
383 + ENDIF(BUILD_SHARED_LIBS)
384 + ENDIF(FCMIX_ENABLE AND F77_FOUND)
385 +
386 +diff -Nur sundials-2.7.0.orig/src/nvec_ser/CMakeLists.txt sundials-2.7.0/src/nvec_ser/CMakeLists.txt
387 +--- sundials-2.7.0.orig/src/nvec_ser/CMakeLists.txt 2016-09-26 22:16:49.000000000 +0000
388 ++++ sundials-2.7.0/src/nvec_ser/CMakeLists.txt 2016-12-30 23:41:54.355840949 +0000
389 +@@ -44,7 +44,7 @@
390 + ADD_LIBRARY(sundials_nvecserial_static STATIC ${nvecserial_SOURCES} ${shared_SOURCES})
391 + SET_TARGET_PROPERTIES(sundials_nvecserial_static
392 + PROPERTIES OUTPUT_NAME sundials_nvecserial CLEAN_DIRECT_OUTPUT 1)
393 +- INSTALL(TARGETS sundials_nvecserial_static DESTINATION lib)
394 ++ INSTALL(TARGETS sundials_nvecserial_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
395 + ENDIF(BUILD_STATIC_LIBS)
396 +
397 + # Rules for building and installing the shared library:
398 +@@ -58,7 +58,8 @@
399 + PROPERTIES OUTPUT_NAME sundials_nvecserial CLEAN_DIRECT_OUTPUT 1)
400 + SET_TARGET_PROPERTIES(sundials_nvecserial_shared
401 + PROPERTIES VERSION ${nveclib_VERSION} SOVERSION ${nveclib_SOVERSION})
402 +- INSTALL(TARGETS sundials_nvecserial_shared DESTINATION lib)
403 ++ TARGET_LINK_LIBRARIES(sundials_nvecserial_shared -lm)
404 ++ INSTALL(TARGETS sundials_nvecserial_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
405 + ENDIF(BUILD_SHARED_LIBS)
406 +
407 + # Install the NVECSERIAL header files
408 +@@ -71,7 +72,7 @@
409 + ADD_LIBRARY(sundials_fnvecserial_static STATIC ${fnvecserial_SOURCES})
410 + SET_TARGET_PROPERTIES(sundials_fnvecserial_static
411 + PROPERTIES OUTPUT_NAME sundials_fnvecserial CLEAN_DIRECT_OUTPUT 1)
412 +- INSTALL(TARGETS sundials_fnvecserial_static DESTINATION lib)
413 ++ INSTALL(TARGETS sundials_fnvecserial_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
414 + ENDIF(BUILD_STATIC_LIBS)
415 + IF(BUILD_SHARED_LIBS)
416 + ADD_LIBRARY(sundials_fnvecserial_shared ${fnvecserial_SOURCES})
417 +@@ -79,7 +80,8 @@
418 + PROPERTIES OUTPUT_NAME sundials_fnvecserial CLEAN_DIRECT_OUTPUT 1)
419 + SET_TARGET_PROPERTIES(sundials_fnvecserial_shared
420 + PROPERTIES VERSION ${nveclib_VERSION} SOVERSION ${nveclib_SOVERSION})
421 +- INSTALL(TARGETS sundials_fnvecserial_shared DESTINATION lib)
422 ++ TARGET_LINK_LIBRARIES(sundials_fnvecserial_shared -lm)
423 ++ INSTALL(TARGETS sundials_fnvecserial_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
424 + ENDIF(BUILD_SHARED_LIBS)
425 + ENDIF(FCMIX_ENABLE AND F77_FOUND)
426 +
427
428 diff --git a/sci-libs/sundials/metadata.xml b/sci-libs/sundials/metadata.xml
429 new file mode 100644
430 index 00000000..b4735cc
431 --- /dev/null
432 +++ b/sci-libs/sundials/metadata.xml
433 @@ -0,0 +1,22 @@
434 +<?xml version="1.0" encoding="UTF-8"?>
435 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
436 +<pkgmetadata>
437 + <maintainer type="project">
438 + <email>sci@g.o</email>
439 + <name>Gentoo Scientific Project</name>
440 + </maintainer>
441 + <longdescription lang="en">
442 + SUite of Nonlinear and DIfferential/ALgebraic equation Solvers was
443 + implemented with the goal of providing robust time integrators and
444 + nonlinear solvers that can easily be incorporated into existing
445 + simulation codes. The primary design goals were to require minimal
446 + information from the user, allow users to easily supply their own
447 + data structures underneath the solvers, and allow for easy
448 + incorporation of user-supplied linear solvers and preconditioners.
449 + </longdescription>
450 + <use>
451 + <flag name="hypre">Build with <pkg>sci-libs/hypre</pkg> conditioners</flag>
452 + <flag name="sparse">Enable support for <pkg>sci-libs/klu</pkg> sparse solver</flag>
453 + <flag name="superlumt">Build with <pkg>sci-libs/superlu_mt</pkg></flag>
454 + </use>
455 +</pkgmetadata>
456
457 diff --git a/sci-libs/sundials/sundials-2.7.0.ebuild b/sci-libs/sundials/sundials-2.7.0.ebuild
458 new file mode 100644
459 index 00000000..d42c789
460 --- /dev/null
461 +++ b/sci-libs/sundials/sundials-2.7.0.ebuild
462 @@ -0,0 +1,74 @@
463 +# Copyright 1999-2016 Gentoo Foundation
464 +# Distributed under the terms of the GNU General Public License v2
465 +# $Id$
466 +
467 +EAPI=6
468 +
469 +FORTRAN_NEEDED=fortran
470 +FORTRAN_STANDARD=90
471 +
472 +inherit cmake-utils toolchain-funcs fortran-2 versionator
473 +
474 +DESCRIPTION="Suite of nonlinear solvers"
475 +HOMEPAGE="http://computation.llnl.gov/projects/sundials"
476 +SRC_URI="http://computation.llnl.gov/projects/sundials/download/${P}.tar.gz"
477 +
478 +LICENSE="BSD"
479 +SLOT="0/$(get_major_version)"
480 +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
481 +IUSE="cxx doc examples fortran hypre lapack mpi openmp sparse static-libs superlumt threads"
482 +REQUIRED_USE="hypre? ( mpi )"
483 +
484 +RDEPEND="
485 + lapack? ( virtual/lapack )
486 + mpi? ( virtual/mpi sci-libs/hypre:= )
487 + sparse? ( sci-libs/klu:= )
488 + superlumt? ( sci-libs/superlu_mt:= )
489 +"
490 +DEPEND="${RDEPEND}
491 + virtual/pkgconfig"
492 +
493 +PATCHES=( "${FILESDIR}"/${P}-underlinking-libdir.patch )
494 +
495 +pkg_setup() {
496 + if [[ ${MERGE_TYPE} != binary ]] && use openmp && [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then
497 + ewarn "OpenMP is not available in your current selected gcc"
498 + die "need openmp capable gcc"
499 + fi
500 +}
501 +
502 +src_configure() {
503 + mycmakeargs+=(
504 + -DBUILD_SHARED_LIBS=ON
505 + -DBUILD_STATIC_LIBS="$(usex static-libs)"
506 + -DCXX_ENABLE="$(usex cxx)"
507 + -DFCMIX_ENABLE="$(usex fortran)"
508 + -DF90_ENABLE="$(usex fortran)"
509 + -DHYPRE_ENABLE="$(usex hypre)"
510 + -DHYPRE_INCLUDE_DIR="${EPREFIX}/usr/include/hypre"
511 + -DHYPRE_LIBRARY="HYPRE"
512 + -DKLU_ENABLE="$(usex sparse)"
513 + -DKLU_LIBRARY="${EPREFIX}/usr/$(get_libdir)/libklu.so"
514 + -DLAPACK_ENABLE="$(usex lapack)"
515 + -DMPI_ENABLE="$(usex mpi)"
516 + -DOPENMP_ENABLE="$(usex openmp)"
517 + -DPTHREAD_ENABLE="$(usex threads)"
518 + -DSUPERLUMT_ENABLE="$(usex superlumt)"
519 + -DSUPERLUMT_INCLUDE_DIR="${EPREFIX}/usr/include/superlu_mt"
520 + -DSUPERLUMT_LIBRARY="superlu_mt"
521 + -DEXAMPLES_ENABLE="$(usex examples)"
522 + -DEXAMPLES_INSTALL=ON
523 + -DEXAMPLES_INSTALL_PATH="/usr/share/doc/${PF}/examples"
524 + -DUSE_GENERIC_MATH=ON
525 + )
526 + cmake-utils_src_configure
527 +}
528 +
529 +src_install() {
530 + cmake-utils_src_install
531 + use doc && dodoc doc/*/*.pdf
532 + cd src
533 + for r in */README; do
534 + newdoc ${r} README-${r%/*}
535 + done
536 +}