[11724] | 1 | %define pkg_name julia |
---|
[12036] | 2 | %define pkg_version 1.1.0 |
---|
[12307] | 3 | %define pkg_release 3%{?_dist_release} |
---|
[11724] | 4 | |
---|
[12055] | 5 | %global unwindversion 1.1-julia2 |
---|
| 6 | %global uvcommit 2348256acf5759a544e5ca7935f638d2bc091d60 |
---|
| 7 | %global patchelfversion 0.9 |
---|
| 8 | %global utf8proccommit 97ef668b312b96382714dbb8eaac4affce0816e6 |
---|
| 9 | %global llvmversion 6.0.1 |
---|
| 10 | %global libwhichcommit 81e9723c0273d78493dc8c8ed570f68d9ce7e89e |
---|
| 11 | %global mpfrversion 4.0.1 |
---|
| 12 | %global cacertversion 2018-10-17 |
---|
| 13 | |
---|
| 14 | %global pkgcommit 853b3f1fd9895db32b402d89e9dee153b66b2316 |
---|
| 15 | |
---|
| 16 | |
---|
[11724] | 17 | Summary: High-level, high-performance dynamic programming language for numerical computing |
---|
| 18 | Name: %{pkg_name} |
---|
| 19 | Version: %{pkg_version} |
---|
| 20 | Release: %{pkg_release} |
---|
| 21 | |
---|
[11769] | 22 | License: MIT, BSD and GPLv3 |
---|
| 23 | # julia, utf8proc, libwhich: MIT |
---|
[12055] | 24 | # libunwind, libuv, llvm: BSD |
---|
[11769] | 25 | # patchelf, mpfr: GPLv3 |
---|
[11724] | 26 | Group: Applications/Edutainment |
---|
| 27 | URL: https://julialang.org/ |
---|
| 28 | |
---|
| 29 | Source0: https://github.com/JuliaLang/julia/releases/download/v%{version}/%{name}-%{version}.tar.gz |
---|
| 30 | |
---|
[12055] | 31 | Source11: libunwind-%{unwindversion}.tar.gz |
---|
| 32 | Source12: libuv-%{uvcommit}.tar.gz |
---|
| 33 | Source13: patchelf-%{patchelfversion}.tar.gz |
---|
| 34 | Source14: utf8proc-%{utf8proccommit}.tar.gz |
---|
| 35 | Source15: llvm-%{llvmversion}.src.tar.xz |
---|
| 36 | Source16: libwhich-%{libwhichcommit}.tar.gz |
---|
| 37 | Source17: mpfr-%{mpfrversion}.tar.bz2 |
---|
| 38 | Source18: cacert-%{cacertversion}.pem |
---|
[11724] | 39 | |
---|
[12055] | 40 | Source31: https://api.github.com/repos/JuliaLang/Pkg.jl/tarball/%{pkgcommit}#/Pkg-%{pkgcommit}.tar.gz |
---|
[11724] | 41 | |
---|
[12055] | 42 | # not make debug |
---|
[11769] | 43 | Patch11: julia-Makefile_release.patch |
---|
[11724] | 44 | |
---|
[11769] | 45 | # ## Patches for make test |
---|
| 46 | # # Avoid test error |
---|
[12055] | 47 | # Patch21: julia-skip-LibGit2-libgit2.patch |
---|
[11724] | 48 | |
---|
[12055] | 49 | # Patch from Fedora |
---|
| 50 | Patch31: llvm-julia-installdirs-64.patch |
---|
[11724] | 51 | |
---|
[12055] | 52 | # march=pentium4 in i686 |
---|
| 53 | Patch32: julia-i686-march.patch |
---|
| 54 | |
---|
| 55 | |
---|
[11724] | 56 | BuildRoot: %{_tmppath}/%{name}-%{version}-root |
---|
| 57 | |
---|
| 58 | BuildRequires: cmake |
---|
| 59 | BuildRequires: gcc-gfortran |
---|
[11769] | 60 | BuildRequires: gmp-devel |
---|
[12036] | 61 | BuildRequires: openblas-devel |
---|
| 62 | %ifarch x86_64 |
---|
| 63 | BuildRequires: openblas64-devel |
---|
| 64 | %endif |
---|
[11724] | 65 | BuildRequires: openspecfun-devel |
---|
| 66 | BuildRequires: openlibm-devel |
---|
[12036] | 67 | BuildRequires: suitesparse-devel |
---|
[11724] | 68 | BuildRequires: dSFMT-devel |
---|
| 69 | BuildRequires: pcre2-devel |
---|
[12055] | 70 | BuildRequires: libssh2-devel |
---|
[11724] | 71 | BuildRequires: curl-devel |
---|
| 72 | BuildRequires: libgit2-devel |
---|
| 73 | BuildRequires: mbedtls-devel |
---|
[11769] | 74 | BuildRequires: libatomic |
---|
[11724] | 75 | BuildRequires: desktop-file-utils |
---|
| 76 | |
---|
[12036] | 77 | Requires: openblas-threads |
---|
| 78 | %ifarch x86_64 |
---|
| 79 | Requires: openblas-threads64_ |
---|
| 80 | %endif |
---|
[11724] | 81 | Requires: openlibm |
---|
[12036] | 82 | Requires: suitesparse |
---|
[11724] | 83 | Requires: dSFMT |
---|
| 84 | Requires: pcre2 |
---|
[12055] | 85 | Requires: libssh2 |
---|
[11769] | 86 | Requires: libgit2 |
---|
[12055] | 87 | Requires: mbedtls |
---|
[11769] | 88 | Requires: libatomic |
---|
[11724] | 89 | |
---|
| 90 | |
---|
| 91 | Vendor: Project Vine |
---|
| 92 | Distribution: Vine Linux |
---|
| 93 | Packager: ara_t |
---|
| 94 | |
---|
| 95 | |
---|
| 96 | %description |
---|
| 97 | Julia is a high-level, high-performance dynamic programming language |
---|
| 98 | for numerical computing. It provides a sophisticated compiler, |
---|
| 99 | distributed parallel execution, numerical accuracy, and an extensive |
---|
| 100 | mathematical function library. Julia’s Base library, largely written |
---|
| 101 | in Julia itself, also integrates mature, best-of-breed open source C |
---|
| 102 | and Fortran libraries for linear algebra, random number generation, |
---|
| 103 | signal processing, and string processing. In addition, the Julia developer |
---|
| 104 | community is contributing a number of external packages through Julia's |
---|
| 105 | built-in package manager at a rapid pace. |
---|
| 106 | IJulia, a collaboration between the Jupyter and Julia communities, |
---|
| 107 | provides a powerful browser-based graphical notebook interface to Julia. |
---|
| 108 | |
---|
| 109 | Julia programs are organized around multiple dispatch; by defining functions |
---|
| 110 | and overloading them for different combinations of argument types, |
---|
| 111 | which can also be user-defined. For a more in-depth discussion of the |
---|
| 112 | rationale and advantages of Julia over other systems, see the following |
---|
| 113 | highlights or read the introduction in the online manual. |
---|
| 114 | #' |
---|
| 115 | |
---|
| 116 | |
---|
| 117 | %prep |
---|
| 118 | %{__rm} -rf ${RPM_BUILD_ROOT} |
---|
| 119 | %setup -q |
---|
| 120 | |
---|
| 121 | %patch11 -b .release |
---|
[12055] | 122 | # %patch21 -b .skip_test |
---|
[11724] | 123 | |
---|
[12055] | 124 | %ifarch x86_64 |
---|
| 125 | %patch31 -p1 -b .installdir64 |
---|
| 126 | %endif |
---|
| 127 | |
---|
| 128 | %ifarch %{ix86} |
---|
| 129 | %patch32 -b .march |
---|
| 130 | %endif |
---|
| 131 | |
---|
| 132 | |
---|
[11724] | 133 | cat > Make.user <<EOF |
---|
| 134 | USE_SYSTEM_LLVM=0 |
---|
| 135 | USE_SYSTEM_LIBUNWIND=0 |
---|
| 136 | USE_SYSTEM_LIBUV=0 |
---|
| 137 | USE_SYSTEM_LIBM=0 |
---|
| 138 | USE_SYSTEM_OPENLIBM=1 |
---|
| 139 | UNTRUSTED_SYSTEM_LIBM=0 |
---|
| 140 | USE_SYSTEM_OPENSPECFUN=1 |
---|
| 141 | |
---|
| 142 | USE_SYSTEM_PCRE=1 |
---|
| 143 | USE_SYSTEM_DSFMT=1 |
---|
| 144 | USE_SYSTEM_GMP=1 |
---|
[11769] | 145 | USE_SYSTEM_MPFR=0 |
---|
[12036] | 146 | USE_SYSTEM_BLAS=1 |
---|
| 147 | USE_SYSTEM_LAPACK=1 |
---|
[11724] | 148 | USE_SYSTEM_SUITESPARSE=1 |
---|
| 149 | |
---|
| 150 | USE_SYSTEM_LIBSSH2=1 |
---|
| 151 | USE_SYSTEM_CURL=1 |
---|
| 152 | USE_SYSTEM_LIBGIT2=1 |
---|
| 153 | USE_SYSTEM_MBEDTLS=1 |
---|
| 154 | EOF |
---|
| 155 | |
---|
[12055] | 156 | %{__mkdir_p} deps/srccache stdlib/srccache |
---|
[11724] | 157 | %{__cp} \ |
---|
| 158 | %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} \ |
---|
[12055] | 159 | %{SOURCE16} %{SOURCE17} %{SOURCE18} \ |
---|
[11724] | 160 | deps/srccache |
---|
| 161 | |
---|
[12055] | 162 | %{__cp} %{SOURCE31} stdlib/srccache |
---|
| 163 | |
---|
[11724] | 164 | # Required so that the image is not optimized for the build CPU |
---|
[12036] | 165 | # (i386 does not work yet: https://github.com/JuliaLang/julia/issues/7185) |
---|
| 166 | # Without specifying MARCH, the Julia system image would only work on native CPU |
---|
[11724] | 167 | %ifarch %{ix86} |
---|
| 168 | %global march pentium4 |
---|
| 169 | %endif |
---|
| 170 | %ifarch x86_64 |
---|
| 171 | %global march x86-64 |
---|
| 172 | %endif |
---|
| 173 | |
---|
[12036] | 174 | # setting for using system openblas |
---|
| 175 | %ifarch %{ix86} |
---|
| 176 | %global blas USE_BLAS64=0 LIBBLAS=-lopenblasp LIBBLASNAME=libopenblasp LIBLAPACK=-lopenblasp LIBLAPACKNAME=libopenblasp |
---|
| 177 | %endif |
---|
| 178 | %ifarch x86_64 |
---|
[12055] | 179 | %global blas USE_BLAS64=1 LIBBLAS=-lopenblasp64_ LIBBLASNAME=libopenblasp64_ LIBLAPACK=-lopenblasp64_ LIBLAPACKNAME=libopenblasp64_ OPENBLAS_SYMBOLSUFFIX=64_ |
---|
[12036] | 180 | %endif |
---|
[11724] | 181 | |
---|
[12036] | 182 | # About build, build_libdir and build_bindir |
---|
| 183 | # see https://github.com/JuliaLang/julia/issues/5063#issuecomment-32628111 |
---|
| 184 | %global julia_builddir %{_builddir}/%{name}-%{version}/build |
---|
[12055] | 185 | %global installopts prefix=%{_prefix} bindir=%{_bindir} libdir=%{_libdir} libexecdir=%{_libexecdir} datarootdir=%{_datarootdir} includedir=%{_includedir} sysconfdir=%{_sysconfdir} build_prefix=%{julia_builddir}%{_prefix} build_bindir=%{julia_builddir}%{_bindir} build_libdir=%{julia_builddir}%{_libdir} build_private_libdir=%{julia_builddir}%{_libdir}/julia build_libexecdir=%{julia_builddir}%{_libexecdir} build_datarootdir=%{julia_builddir}%{_datarootdir} build_includedir=%{julia_builddir}%{_includedir} build_sysconfdir=%{julia_builddir}%{_sysconfdir} |
---|
[12036] | 186 | |
---|
| 187 | %global commonopts MARCH=%{march} %{blas} %{installopts} |
---|
| 188 | |
---|
[11724] | 189 | %build |
---|
[11769] | 190 | %{__make} %{?_smp_mflags} %{commonopts} |
---|
[11724] | 191 | |
---|
| 192 | # to avoid making documents |
---|
| 193 | %{__mkdir_p} doc/_build/html/en |
---|
| 194 | touch doc/_build/html/en/index.html |
---|
| 195 | |
---|
| 196 | %install |
---|
| 197 | %{__make} %{commonopts} install DESTDIR=${RPM_BUILD_ROOT} |
---|
| 198 | |
---|
[12036] | 199 | # remove html files |
---|
[11724] | 200 | pushd ${RPM_BUILD_ROOT}%{_docdir} |
---|
| 201 | %{__mv} julia %{name}-%{version} |
---|
| 202 | %{__rm} -rf %{name}-%{version}/html |
---|
| 203 | popd |
---|
| 204 | |
---|
| 205 | |
---|
| 206 | %{__cp} \ |
---|
| 207 | CONTRIBUTING.md DISTRIBUTING.md HISTORY.md \ |
---|
| 208 | LICENSE.md NEWS.md README.md \ |
---|
| 209 | ${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version} |
---|
| 210 | |
---|
| 211 | %check |
---|
| 212 | %{__make} %{?_smp_mflags} %{commonopts} test |
---|
| 213 | |
---|
| 214 | %clean |
---|
| 215 | %{__rm} -rf ${RPM_BUILD_ROOT} |
---|
| 216 | |
---|
| 217 | %post |
---|
| 218 | %{_syssbindir}/ldconfig |
---|
| 219 | if [ -x %{_bindir}/update-desktop-database ] ; then |
---|
| 220 | %{_bindir}/update-desktop-database %{_datadir}/applications |
---|
| 221 | fi |
---|
| 222 | |
---|
| 223 | %postun |
---|
| 224 | %{_syssbindir}/ldconfig |
---|
| 225 | if [ $1 -eq 0 ] ; then |
---|
| 226 | if [ -x %{_bindir}/update-desktop-database ] ; then |
---|
| 227 | %{_bindir}/update-desktop-database %{_datadir}/applications |
---|
| 228 | fi |
---|
| 229 | fi |
---|
| 230 | |
---|
| 231 | |
---|
| 232 | %files |
---|
| 233 | %defattr(-, root, root) |
---|
[12036] | 234 | %{_bindir}/julia |
---|
[11724] | 235 | %{_sysconfdir}/%{name} |
---|
| 236 | %{_includedir}/%{name} |
---|
| 237 | %{_libdir}/%{name}/ |
---|
[12036] | 238 | %{_libdir}/libjulia.so* |
---|
[11724] | 239 | %{_datadir}/appdata/ |
---|
| 240 | %{_datadir}/applications/ |
---|
| 241 | %{_datadir}/icons/ |
---|
| 242 | %{_datadir}/julia/ |
---|
| 243 | %{_docdir}/%{name}-%{version} |
---|
| 244 | %{_mandir}/man1/ |
---|
| 245 | |
---|
| 246 | |
---|
| 247 | %changelog |
---|
[12307] | 248 | * Sun Nov 03 2019 Toshiaki Ara <ara_t@384.jp> 1.1.0-3 |
---|
| 249 | - Rebuild for suitesparse 5.4.0 |
---|
| 250 | |
---|
[12055] | 251 | * Wed Mar 27 2019 Toshiaki Ara <ara_t@384.jp> 1.1.0-2 |
---|
| 252 | - build llvm shared library |
---|
| 253 | - add Patch31 for x86_64 |
---|
| 254 | - add Patch32 for i686 |
---|
| 255 | - add SOURCE18 (cacert-*.pem) |
---|
| 256 | - add SOURCE31 (Pkg library) |
---|
| 257 | - drop Patch21 |
---|
| 258 | |
---|
[12036] | 259 | * Mon Jan 28 2019 Toshiaki Ara <ara_t@384.jp> 1.1.0-1 |
---|
| 260 | - update to 1.1.0 |
---|
| 261 | - change using system openblas |
---|
| 262 | |
---|
[12031] | 263 | * Sat Jan 26 2019 Toshiaki Ara <ara_t@384.jp> 1.0.3-2 |
---|
| 264 | - remove unnecessary sofiles |
---|
| 265 | - rebuild with gfortran-8.2.0 |
---|
| 266 | |
---|
[12006] | 267 | * Sat Jan 05 2019 Toshiaki Ara <ara_t@384.jp> 1.0.3-1 |
---|
| 268 | - update to 1.0.3 |
---|
| 269 | |
---|
[11903] | 270 | * Fri Nov 16 2018 Toshiaki Ara <ara_t@384.jp> 1.0.2-1 |
---|
| 271 | - update to 1.0.2 |
---|
| 272 | |
---|
[11798] | 273 | * Thu Oct 04 2018 Toshiaki Ara <ara_t@384.jp> 1.0.1-1 |
---|
| 274 | - update to 1.0.1 |
---|
| 275 | |
---|
[11778] | 276 | * Wed Aug 22 2018 Toshiaki Ara <ara_t@384.jp> 1.0.0-2 |
---|
| 277 | - rebuild with suitesparse-4.4.6 |
---|
| 278 | |
---|
[11769] | 279 | * Fri Aug 17 2018 Toshiaki Ara <ara_t@384.jp> 1.0.0-1 |
---|
| 280 | - update to 1.0.0 |
---|
| 281 | - add/update sources |
---|
| 282 | - drop some Patches |
---|
| 283 | - add BuildRequires: and Requires: libatomic |
---|
| 284 | |
---|
[11739] | 285 | * Sat Jul 14 2018 Toshiaki Ara <ara_t@384.jp> 0.6.4-1 |
---|
| 286 | - new upstream release |
---|
| 287 | - update SOURCE17 (openblas) |
---|
| 288 | |
---|
[11724] | 289 | * Sun Jun 17 2018 Toshiaki Ara <ara_t@384.jp> 0.6.3-1 |
---|
| 290 | - new package |
---|
| 291 | |
---|