diff --git a/julia.spec b/julia.spec index b035297..56908c2 100644 --- a/julia.spec +++ b/julia.spec @@ -1,7 +1,7 @@ - +# # spec file for package julia # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -62,43 +62,42 @@ Patch12: llvm-link-shared.patch # We just remove the julia specific llvm sofile change Patch13: julia-hardcoded-libs.patch Patch14: mbedtls-hardcoded-libs.patch -Patch15: libblastrampoline-hardcoded-libs.patch +Patch15: libblastrampoline-hardcoded-libs.patch BuildRequires: arpack-ng-devel >= 3.3.0 -BuildRequires: git -BuildRequires: llvm14-devel -BuildRequires: libblastrampoline-devel -BuildRequires: lld14 -BuildRequires: libwhich -BuildRequires: libgit2-devel -BuildRequires: zlib-devel -BuildRequires: p7zip >= 16 -BuildRequires: dSFMT-devel -BuildRequires: libuv-devel -BuildRequires: mbedtls-devel -BuildRequires: openlibm-devel -BuildRequires: utf8proc-devel BuildRequires: blas-devel +BuildRequires: ca-certificates BuildRequires: cmake +BuildRequires: dSFMT-devel BuildRequires: double-conversion-devel BuildRequires: fdupes BuildRequires: fftw3-threads-devel >= 3.3.4 -BuildRequires: gcc-c++ BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: gcc-fortran +BuildRequires: git BuildRequires: gmp-devel >= 6.1.2 BuildRequires: hicolor-icon-theme BuildRequires: lapack-devel >= 3.5.0 +BuildRequires: libblastrampoline-devel BuildRequires: libcurl-devel +BuildRequires: libgit2-devel BuildRequires: libnghttp2-devel -BuildRequires: openblas-common-devel BuildRequires: libopenblas_openmp-devel >= 0.3.5 BuildRequires: libssh2-devel >= 1.9.0 BuildRequires: libunwind-devel >= 1.3.1 +BuildRequires: libuv-devel +BuildRequires: libwhich +BuildRequires: lld14 +BuildRequires: llvm14-devel BuildRequires: m4 +BuildRequires: mbedtls-devel BuildRequires: mpfr-devel >= 4.0.2 BuildRequires: ncurses-devel +BuildRequires: openblas-common-devel +BuildRequires: openlibm-devel BuildRequires: openspecfun-devel BuildRequires: openssl +BuildRequires: p7zip >= 16 BuildRequires: patchelf >= 0.9 BuildRequires: pcre2-devel >= 10.31 BuildRequires: perl @@ -106,14 +105,15 @@ BuildRequires: python >= 2.5 BuildRequires: readline-devel BuildRequires: suitesparse-devel >= 5.4.0 BuildRequires: update-desktop-files -BuildRequires: ca-certificates +BuildRequires: utf8proc-devel +BuildRequires: zlib-devel Conflicts: juliaup -Requires: p7zip >= 16 -Requires: readline Requires: ca-certificates Requires: julia-devel = %{version} +Requires: p7zip >= 16 +Requires: readline Requires(post): %{_sbindir}/update-alternatives -Requires(postun): %{_sbindir}/update-alternatives +Requires(postun):%{_sbindir}/update-alternatives Recommends: arpack-ng-devel Recommends: git Recommends: gmp-devel @@ -208,7 +208,7 @@ pushd stdlib/srccache sha512sum SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz | cut -d ' ' -f 1 > ../../deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/sha512 popd - + # 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 @@ -249,8 +249,6 @@ sed "s/ \$(build_prefix)\\/manifest\\/zlib//" -i deps/llvm.mk export LDFLAGS="$LDFLAGS -latomic" %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 @@ -318,18 +316,21 @@ make %{?_smp_mflags} \ # This may fix other issues where libLLVM-14jl.so is not properly copied? if [ "x%{_lib}" != xlib ] ; then + # The one that contains buildsubdir/build is from the build_prefix and build_libdir vars + cp -a %{_builddir}/%{buildsubdir}/usr/lib/* %{_builddir}/%{buildsubdir}/build/%{_libdir} + cp -a %{_builddir}/%{buildsubdir}/%{_libdir}/* %{_builddir}/%{buildsubdir}/build/%{_libdir} cp -a %{_builddir}/%{buildsubdir}/build/usr/lib/* %{_builddir}/%{buildsubdir}/build/%{_libdir} rm -rf %{_builddir}/%{buildsubdir}/build/usr/lib/ ln -sf %{_lib} %{_builddir}/%{buildsubdir}/build/usr/lib # make -C deps install-somepackage goes to top-level folder - cp -a %{_builddir}/%{buildsubdir/usr/lib/* %{_builddir/%{buildsubdir/build/%{_libdir} - rm -rf %{_builddir/%{buildsubdir}/usr/ else # Since it's not there so we also just copy it anyway - cp -a %{_builddir}/%{buildsubdir/usr/lib/* %{_builddir/%{buildsubdir/build/%{_libdir} - rm -rf %{_builddir/%{buildsubdir}/usr/ + cp -a %{_builddir}/%{buildsubdir}/usr/lib/* %{_builddir}/%{buildsubdir}/build/%{_libdir} fi +# Just delete it after +rm -rf %{_builddir}/%{buildsubdir}/usr/ + %check # The tests will only pass if openblas is being used. # make %{?_smp_mflags} test @@ -390,7 +391,7 @@ make install DESTDIR=%{buildroot} \ OPENBLAS_SYMBOLSUFFIX="%{?__isa_bits}_" \ JLDFLAGS="$LDFLAGS" \ VERBOSE=1 \ - TAGGED_RELEASE_BANNER="openSUSE %{suse_version} experimental build (unofficial)" + TAGGED_RELEASE_BANNER="openSUSE %{suse_version} experimental build (unofficial)" # GZip man page. gzip %{buildroot}/%{_mandir}/man1/julia.1 @@ -421,7 +422,7 @@ find . -name ".devcontainer" -prune -execdir rm -rf {} \; find . -name ".travis.yml" -prune -execdir rm -rf {} \; find . -empty -type d -prune -execdir rm -rf {} \; find . -empty -type f -prune -execdir rm -rf {} \; -find . -name "*.orig" -prune -execdir rm -rf {} \; +find . -name "*.orig" -prune -execdir rm -rf {} \; popd %if 0%{?compat_mode}