Hello community, here is the log from the commit of package julia for openSUSE:Factory checked in at 2015-10-17 16:38:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/julia (Old) and /work/SRC/openSUSE:Factory/.julia.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "julia" Changes: -------- New Changes file: --- /dev/null 2015-10-14 00:04:03.524025256 +0200 +++ /work/SRC/openSUSE:Factory/.julia.new/julia-compat.changes 2015-10-17 16:38:57.000000000 +0200 @@ -0,0 +1,230 @@ +------------------------------------------------------------------- +Mon Oct 12 10:27:17 UTC 2015 - lorddarthfe...@gmail.com + +- Add missing runtime dependency on libpcre2-8-0 + +------------------------------------------------------------------- +Fri Oct 9 21:19:00 UTC 2015 - roni...@gmail.com + +- Version bump to 0.4.0, see NEWS.md for details. + +------------------------------------------------------------------- +Wed Oct 7 23:04:24 UTC 2015 - roni...@gmail.com + +- Remove unneeded build dependencies. +- Version bump to 0.4.0~rc4. + * Bugfix and backports towards 0.4 release. No changelog + available. + +------------------------------------------------------------------- +Sat Oct 3 20:18:43 UTC 2015 - dmitr...@opensuse.org + +- Add julia-compat package without CPU optimizations + +------------------------------------------------------------------- +Thu Oct 1 01:29:34 UTC 2015 - roni...@gmail.com + +- Version bump to 0.4.0~rc3. + * Bugfix and backports towards 0.4 release. No changelog + available. + +------------------------------------------------------------------- +Tue Sep 22 21:25:05 UTC 2015 - roni...@gmail.com + +- Version bump to 0.4.0~rc2. + * Bugfix and backports towards 0.4 release. No changelog + available. + +------------------------------------------------------------------- +Fri Sep 18 18:10:24 UTC 2015 - roni...@gmail.com + +- LLVM 3.3 will be bundle for 0.4 branch. + * LLVM 3.3 will be bundle until upstream change the supported + version. As it can be seen in upstream issues #9336 and + #13209, there are still many problems related with LLVM 3.5, + regarding both the build process and the JIT compiler used + by Julia. Thus, it is better for now stick with LLVM 3.3. + For more information, see: + https://github.com/JuliaLang/julia/issues/13208 + https://github.com/JuliaLang/julia/issues/9336 + +------------------------------------------------------------------- +Fri Sep 18 04:38:14 UTC 2015 - roni...@gmail.com + +- Version bump to 0.4 branch (0.4.0~rc1). + * This version needs utf8proc > 1.3. Since it is not available + in openSUSE yet, it was decided to bundle the selected + upstream version. + * This version seems to build correctly with both LLVM 3.5 and + 3.7, which are the versions available in 13.2 and + Tumbleweed. Thus, it was decided to build julia against + system LLVM. + * The build process now requires libgit2 and pcre2. + * The changes in .spec were obtained from Fedora's + julia-nightlies.spec. + +- Changelog of verion 0.4.0~rc1. + * The complete list of changes related to this release + candidate can be seen in: + https://github.com/JuliaLang/julia/issues?q=milestone%3A0.4.0+is%3Aclosed + + * Note: a changelog with the notable changes between 0.3 and + 0.4 versions are expected in the Julia 0.4 release + announcement. + +------------------------------------------------------------------- +Thu Aug 20 14:17:31 UTC 2015 - roni...@gmail.com + +- Revert: "Build julia using llvm-3_3 package" (Revision 15) + * The llvm-3_3 package is conflicting with other packages that + depends on llvm and it turns out that it will need a huge + amount of work to modify every package spec that depends on + llvm to circumvent this problem. Thus, by now, the safest + approach is just bundle the supported llvm version in julia + package. + +------------------------------------------------------------------- +Wed Jul 29 20:47:04 UTC 2015 - roni...@gmail.com + +- Update to version 0.3.11 + * Bugfix release, no changelog available + +------------------------------------------------------------------- +Sun Jul 26 19:10:15 UTC 2015 - roni...@gmail.com + +- Drop obsolete julia-disable-llvm-timestamps.patch +- Fix compiler names (clang++ -> clang++-3.3 in llvm-3_3-clang) + +------------------------------------------------------------------- +Sun Jul 26 18:50:18 UTC 2015 - roni...@gmail.com + +- Build julia using llvm-3_3 package. + +------------------------------------------------------------------- +Wed Jul 15 06:40:15 UTC 2015 - roni...@gmail.com + +- Use build-in LLVM 3.3 +- Disable LLVM timestamps + * julia-disable-llvm-timestamps.patch +- Drop obsolete julia_Fix-building-with-MCJIT-LLVM.patch +- Set required memory to 4 Gb + +------------------------------------------------------------------- +Mon Jul 6 13:53:29 UTC 2015 - roni...@gmail.com + +- Update to version 0.3.10 + * Bugfix release, no changelog available + +------------------------------------------------------------------- +Tue Jun 2 15:33:00 UTC 2015 - roni...@gmail.com + +- Update to version 0.3.9 + * Bugfix release, no changelog available + +------------------------------------------------------------------- +Sat May 2 18:11:07 UTC 2015 - roni...@gmail.com + +- Update to version 0.3.8 + * Bugfix release, no changelog available + +------------------------------------------------------------------- +Wed Mar 25 16:20:44 UTC 2015 - roni...@gmail.com + +- Update to version 0.3.7 + * Bugfix release, no changelog available + +------------------------------------------------------------------- +Fri Feb 20 14:22:10 UTC 2015 - roni...@gmail.com + +- Update to version 0.3.6 + * Bugfix release, no changelog available + +------------------------------------------------------------------- +Sat Jan 10 02:37:17 UTC 2015 - roni...@gmail.com + +- Update to version 0.3.5 + * Bugfix release, no changelog available + +------------------------------------------------------------------- +Mon Dec 29 02:29:15 UTC 2014 - roni...@gmail.com + +- Update to version 0.3.4 + * Bugfix release, no changelog available + +- Set USE_SYSTEM_LIBM=0 + * If USE_SYSTEM_LIBM is set to 1, then julia will not use + openlibm. + +- Set MARCH=pentium4 (32 bits) / MARCH=core2 (64 bits) + +- Add libarpack2 to the dependency list + +- Remove upstreamed julia-upstream-9221.patch + +------------------------------------------------------------------- +Sat Dec 20 19:42:31 UTC 2014 - roni...@gmail.com + +- Add julia-upstream-9221.patch to temporarily fix the upstream issue: + https://github.com/JuliaLang/julia/issues/8690 + +------------------------------------------------------------------- +Sat Dec 20 19:35:16 UTC 2014 - roni...@gmail.com + +- Fix bug related with build architecture (JULIA_CPU_TARGET) that + was added by revision 15 of science repo. + +------------------------------------------------------------------- +Fri Dec 19 13:07:48 UTC 2014 - matwey.korni...@gmail.com + +- Deduce JULIA_TARGET_ARCH from RPM build flags, specifying just + JULIA_CPU_TARGET=core2 is not portable + +------------------------------------------------------------------- +Wed Nov 26 13:41:38 UTC 2014 - dmitr...@opensuse.org + +- Update to version 0.3.3 + * Bugfix release, no changelog available + +------------------------------------------------------------------- +Tue Oct 21 21:05:20 UTC 2014 - dmitr...@opensuse.org + +- Update to version 0.3.2 + * Bugfix release, no changelog available + +------------------------------------------------------------------- +Fri Oct 17 13:21:48 UTC 2014 - dmitr...@opensuse.org + +- Update to version 0.3.1 ++++ 33 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:Factory/.julia.new/julia-compat.changes --- /work/SRC/openSUSE:Factory/julia/julia.changes 2015-08-23 17:41:10.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.julia.new/julia.changes 2015-10-17 16:38:57.000000000 +0200 @@ -1,0 +2,74 @@ +Mon Oct 12 10:27:17 UTC 2015 - lorddarthfe...@gmail.com + +- Add missing runtime dependency on libpcre2-8-0 + +------------------------------------------------------------------- +Fri Oct 9 21:19:00 UTC 2015 - roni...@gmail.com + +- Version bump to 0.4.0, see NEWS.md for details. + +------------------------------------------------------------------- +Wed Oct 7 23:04:24 UTC 2015 - roni...@gmail.com + +- Remove unneeded build dependencies. +- Version bump to 0.4.0~rc4. + * Bugfix and backports towards 0.4 release. No changelog + available. + +------------------------------------------------------------------- +Sat Oct 3 20:18:43 UTC 2015 - dmitr...@opensuse.org + +- Add julia-compat package without CPU optimizations + +------------------------------------------------------------------- +Thu Oct 1 01:29:34 UTC 2015 - roni...@gmail.com + +- Version bump to 0.4.0~rc3. + * Bugfix and backports towards 0.4 release. No changelog + available. + +------------------------------------------------------------------- +Tue Sep 22 21:25:05 UTC 2015 - roni...@gmail.com + +- Version bump to 0.4.0~rc2. + * Bugfix and backports towards 0.4 release. No changelog + available. + +------------------------------------------------------------------- +Fri Sep 18 18:10:24 UTC 2015 - roni...@gmail.com + +- LLVM 3.3 will be bundle for 0.4 branch. + * LLVM 3.3 will be bundle until upstream change the supported + version. As it can be seen in upstream issues #9336 and + #13209, there are still many problems related with LLVM 3.5, + regarding both the build process and the JIT compiler used + by Julia. Thus, it is better for now stick with LLVM 3.3. + For more information, see: + https://github.com/JuliaLang/julia/issues/13208 + https://github.com/JuliaLang/julia/issues/9336 + +------------------------------------------------------------------- +Fri Sep 18 04:38:14 UTC 2015 - roni...@gmail.com + +- Version bump to 0.4 branch (0.4.0~rc1). + * This version needs utf8proc > 1.3. Since it is not available + in openSUSE yet, it was decided to bundle the selected + upstream version. + * This version seems to build correctly with both LLVM 3.5 and + 3.7, which are the versions available in 13.2 and + Tumbleweed. Thus, it was decided to build julia against + system LLVM. + * The build process now requires libgit2 and pcre2. + * The changes in .spec were obtained from Fedora's + julia-nightlies.spec. + +- Changelog of verion 0.4.0~rc1. + * The complete list of changes related to this release + candidate can be seen in: + https://github.com/JuliaLang/julia/issues?q=milestone%3A0.4.0+is%3Aclosed + + * Note: a changelog with the notable changes between 0.3 and + 0.4 versions are expected in the Julia 0.4 release + announcement. + +------------------------------------------------------------------- Old: ---- Rmath-226598f.tar.gz _service julia-0.3.11.tar.gz libuv-abcbb0c.tar.gz New: ---- Rmath-julia-0.1.tar.gz julia-0.4.0.tar.gz julia-compat.changes julia-compat.spec libuv-28f5f06b5ff6f010d666ec26552e0badaca5cdcd.tar.gz pre_checkin.sh utf8proc-85789180158ac7fff85b9f008828d6ac44f072ea.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ julia-compat.spec ++++++ # # spec file for package julia # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define rmath_ver 0.1 %define libuv_ver 28f5f06b5ff6f010d666ec26552e0badaca5cdcd %define utf8proc_ver 85789180158ac7fff85b9f008828d6ac44f072ea %define llvm_ver 3.3 %define compat_mode 1 %define src_name julia-tarball %if 0%{?compat_mode} == 0 Name: julia %else Name: julia-compat %endif Version: 0.4.0 Release: 0 %if 0%{?compat_mode} == 0 Summary: High-level, high-performance dynamic programming language License: MIT and GPL-2.0+ Group: Development/Languages/Other %else Summary: High-level, high-performance dynamic programming language (without CPU optimizations) License: MIT and GPL-2.0+ Group: Development/Languages/Other %endif Url: http://julialang.org/ Source0: https://github.com/JuliaLang/julia/releases/download/v%{version}/julia-%{version}.tar.gz # external sources Source10: https://api.github.com/repos/JuliaLang/libuv/tarball/%{libuv_ver}#/libuv-%{libuv_ver}.tar.gz Source11: https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v%{rmath_ver}#/Rmath-julia-%{rmath_ver}.tar.gz Source12: https://api.github.com/repos/JuliaLang/utf8proc/tarball/%{utf8proc_ver}#/utf8proc-%{utf8proc_ver}.tar.gz # LLVM 3.3 will be bundle until upstream change the supported LLVM version. As # it can be seen in upstream issues #9336 and #13209, there are still many # problems related with LLVM 3.5, regarding both the build process and the JIT # compiler used by Julia. Thus, it is better for now stick with LLVM 3.3. For # more information, see: # https://github.com/JuliaLang/julia/issues/13208 # https://github.com/JuliaLang/julia/issues/9336 Source13: http://llvm.org/releases/%{llvm_ver}/llvm-%{llvm_ver}.src.tar.gz Source99: juliabuildopts # PATCH-FIX-OPENSUSE julia-disable-llvm-timestamps.patch -- Disable LLVM timestamps Patch1: julia-disable-llvm-timestamps.patch BuildRequires: arpack-ng-devel BuildRequires: blas-devel BuildRequires: dSFMT-devel BuildRequires: double-conversion-devel BuildRequires: fdupes BuildRequires: fftw3-threads-devel BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: gmp-devel # fix directory owner BuildRequires: hicolor-icon-theme BuildRequires: lapack-devel BuildRequires: libgit2-devel BuildRequires: libunwind-devel BuildRequires: m4 BuildRequires: mpfr-devel BuildRequires: ncurses-devel BuildRequires: openlibm-devel BuildRequires: openspecfun-devel BuildRequires: patchelf BuildRequires: pcre2-devel BuildRequires: perl BuildRequires: python >= 2.5 BuildRequires: readline-devel BuildRequires: suitesparse-devel BuildRequires: update-desktop-files BuildRequires: zlib-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?compat_mode} Conflicts: otherproviders(julia) Provides: julia = %{version} %endif Requires: ncurses Requires: readline # Julia uses dlopen Requires: libarpack2 Requires: libblas3 Requires: libfftw3_threads3 Requires: liblapack3 Requires: libpcre2-8-0 Recommends: git # Julia uses unversioned .so files # https://github.com/JuliaLang/julia/issues/6742 Recommends: arpack-ng-devel Recommends: gmp-devel Recommends: mpfr-devel Recommends: openlibm-devel Recommends: openspecfun-devel Recommends: pcre2-devel Recommends: suitesparse-devel # Since the 32-bit julia package is already being built using MARCH=pentium4, # which is the most generic flag supported, then the julia-compat mode only # makes sense for 64-bit architectures. %if 0%{?compat_mode} ExclusiveArch: x86_64 %endif %description Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. The library, largely written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing. %package devel Summary: Julia development, debugging and testing files Group: Development/Languages/Other Requires: %{name} = %{version} %if 0%{?compat_mode} Conflicts: otherproviders(julia-devel) %endif %description devel Contains library symbolic links and header files for developing applications linking to the Julia library, in particular embedding it, as well as tests and a 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 debugging Julia itself. %if 0%{?compat_mode} == 0 %package doc Summary: Julia documentation and code examples Group: Documentation/Other BuildArch: noarch %description doc Contains the Julia manual, the reference documentation of the standard library. %package examples Summary: Julia code examples Group: Documentation/Other BuildArch: noarch %description examples Contains the Julia code examples. %endif %{expand:%global juliabuildopts %(cat %{SOURCE99})} %prep %setup -qn julia-%{version} %patch1 -p1 # remove .gitignore find . -name ".git*" -exec rm {} \; pushd deps/ cp %{SOURCE10} ./ cp %{SOURCE11} ./ cp %{SOURCE12} ./ cp %{SOURCE13} ./ popd %build %if 0%{?compat_mode} == 0 %ifarch x86_64 %define julia_march core2 %endif %ifarch %ix86 %define julia_march pentium4 %endif %else # compat_mode is only defined for 64-bit architecture. %define julia_march x86-64 %endif %define julia_builddir %{_builddir}/%{name}/ make %{?_smp_mflags} MARCH=%{julia_march} \ prefix=%{_prefix} \ bindir=%{_bindir} \ libdir=%{_libdir} \ libexecdir=%{_libexecdir} \ datarootdir=%{_datarootdir} \ includedir=%{_includedir} \ sysconfdir=%{_sysconfdir} \ %{juliabuildopts} \ release make %{?_smp_mflags} MARCH=%{julia_march} \ prefix=%{_prefix} \ bindir=%{_bindir} \ libdir=%{_libdir} \ libexecdir=%{_libexecdir} \ datarootdir=%{_datarootdir} \ includedir=%{_includedir} \ sysconfdir=%{_sysconfdir} \ %{juliabuildopts} \ debug %check # The tests will only pass if openblas is being used. # make test %install make install DESTDIR=%{buildroot} \ MARCH=%{julia_march} \ prefix=%{_prefix} \ bindir=%{_bindir} \ libdir=%{_libdir} \ libexecdir=%{_libexecdir} \ datarootdir=%{_datarootdir} \ includedir=%{_includedir} \ sysconfdir=%{_sysconfdir} \ %{juliabuildopts} # GZip man page. gzip %{buildroot}/%{_mandir}/man1/julia.1 # Copy the man page for every executable. cd %{buildroot}/%{_mandir}/man1/ ln -sf julia.1.gz julia-debug.1.gz # Symbolic link of the library libjulia.so for the julia-devel package. cd %{buildroot}/%{_libdir} ln -s julia/libjulia.so libjulia.so rm -f %{buildroot}%{_libdir}/julia/libuv.a rm -f %{buildroot}%{_datadir}/julia/base/build.h rm -f %{buildroot}%{_datadir}/julia/base/Makefile # Fix documentation directories. mkdir -p %{buildroot}%{_datadir}/doc/packages/julia mv -f %{buildroot}%{_datadir}/doc/julia/* %{buildroot}%{_datadir}/doc/packages/julia/ rm -r %{buildroot}%{_datadir}/doc/julia %if 0%{?compat_mode} rm -rf %{buildroot}%{_datadir}/doc/packages/julia/ %endif %suse_update_desktop_file -r julia "Science;Math" %post devel -p /sbin/ldconfig %postun devel -p /sbin/ldconfig %files %defattr(-,root,root) %doc CONTRIBUTING.md LICENSE.md NEWS.md README.md %{_bindir}/julia %dir %{_datadir}/julia %{_datadir}/julia/base %{_datadir}/julia/site %dir %{_datadir}/appdata/ %{_datadir}/appdata/julia.appdata.xml %{_datadir}/applications/julia.desktop %{_datadir}/icons/hicolor/scalable/apps/julia.svg %{_libdir}/julia/ %{_mandir}/man1/julia.1.* %dir %{_sysconfdir}/julia/ %config(noreplace) %{_sysconfdir}/julia/juliarc.jl # Exclude development files. %exclude %{_libdir}/julia/libccalltest.so %exclude %{_libdir}/julia/libjulia-debug.so %exclude %{_libdir}/julia/sys-debug.so # Exclude examples and documentation. %exclude %{_docdir}/julia/html %exclude %{_docdir}/julia/examples %files devel %defattr(-,root,root) %{_bindir}/julia-debug %{_datadir}/julia/test/ %{_datadir}/julia/build_sysimg.jl %{_datadir}/julia/build_executable.jl %{_datadir}/julia/julia-config.jl %{_includedir}/julia/ %{_libdir}/libjulia.so %{_libdir}/julia/libccalltest.so %{_libdir}/julia/libjulia-debug.so %{_libdir}/julia/sys-debug.so %{_mandir}/man1/julia-debug.1.* %if 0%{?compat_mode} == 0 %files doc %defattr(-,root,root) %{_docdir}/julia %exclude %{_docdir}/julia/examples %exclude %{_docdir}/julia/CONTRIBUTING.md %exclude %{_docdir}/julia/LICENSE.md %exclude %{_docdir}/julia/NEWS.md %exclude %{_docdir}/julia/README.md %files examples %defattr(-,root,root) %{_docdir}/julia/examples %endif %changelog ++++++ julia.spec ++++++ --- /var/tmp/diff_new_pack.vhTElO/_old 2015-10-17 16:38:58.000000000 +0200 +++ /var/tmp/diff_new_pack.vhTElO/_new 2015-10-17 16:38:58.000000000 +0200 @@ -16,23 +16,47 @@ # +%define rmath_ver 0.1 +%define libuv_ver 28f5f06b5ff6f010d666ec26552e0badaca5cdcd +%define utf8proc_ver 85789180158ac7fff85b9f008828d6ac44f072ea +%define llvm_ver 3.3 + +%define compat_mode 0 +%define src_name julia-tarball + +%if 0%{?compat_mode} == 0 Name: julia -Version: 0.3.11 +%else +Name: julia-compat +%endif +Version: 0.4.0 Release: 0 -%define rmath_ver 226598f -%define libuv_ver abcbb0c -%define llvm_ver 3.3 +%if 0%{?compat_mode} == 0 Summary: High-level, high-performance dynamic programming language License: MIT and GPL-2.0+ Group: Development/Languages/Other +%else +Summary: High-level, high-performance dynamic programming language (without CPU optimizations) +License: MIT and GPL-2.0+ +Group: Development/Languages/Other +%endif Url: http://julialang.org/ -Source0: https://github.com/JuliaLang/julia/archive/v%{version}.tar.gz#/julia-%{version}.tar.gz -Source1: juliabuildopts +Source0: https://github.com/JuliaLang/julia/releases/download/v%{version}/julia-%{version}.tar.gz # external sources -Source10: libuv-%{libuv_ver}.tar.gz -Source11: Rmath-%{rmath_ver}.tar.gz -Source12: http://llvm.org/releases/%{llvm_ver}/llvm-%{llvm_ver}.src.tar.gz +Source10: https://api.github.com/repos/JuliaLang/libuv/tarball/%{libuv_ver}#/libuv-%{libuv_ver}.tar.gz +Source11: https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v%{rmath_ver}#/Rmath-julia-%{rmath_ver}.tar.gz +Source12: https://api.github.com/repos/JuliaLang/utf8proc/tarball/%{utf8proc_ver}#/utf8proc-%{utf8proc_ver}.tar.gz +# LLVM 3.3 will be bundle until upstream change the supported LLVM version. As +# it can be seen in upstream issues #9336 and #13209, there are still many +# problems related with LLVM 3.5, regarding both the build process and the JIT +# compiler used by Julia. Thus, it is better for now stick with LLVM 3.3. For +# more information, see: +# https://github.com/JuliaLang/julia/issues/13208 +# https://github.com/JuliaLang/julia/issues/9336 +Source13: http://llvm.org/releases/%{llvm_ver}/llvm-%{llvm_ver}.src.tar.gz +Source99: juliabuildopts + # PATCH-FIX-OPENSUSE julia-disable-llvm-timestamps.patch -- Disable LLVM timestamps Patch1: julia-disable-llvm-timestamps.patch @@ -48,23 +72,26 @@ # fix directory owner BuildRequires: hicolor-icon-theme BuildRequires: lapack-devel +BuildRequires: libgit2-devel BuildRequires: libunwind-devel -BuildRequires: llvm-clang >= 3.3 -BuildRequires: llvm-devel BuildRequires: m4 BuildRequires: mpfr-devel BuildRequires: ncurses-devel BuildRequires: openlibm-devel BuildRequires: openspecfun-devel BuildRequires: patchelf -BuildRequires: pcre-devel >= 8.31 +BuildRequires: pcre2-devel BuildRequires: perl +BuildRequires: python >= 2.5 BuildRequires: readline-devel BuildRequires: suitesparse-devel BuildRequires: update-desktop-files -BuildRequires: utf8proc-devel BuildRequires: zlib-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if 0%{?compat_mode} +Conflicts: otherproviders(julia) +Provides: julia = %{version} +%endif Requires: ncurses Requires: readline # Julia uses dlopen @@ -72,16 +99,23 @@ Requires: libblas3 Requires: libfftw3_threads3 Requires: liblapack3 +Requires: libpcre2-8-0 Recommends: git # Julia uses unversioned .so files # https://github.com/JuliaLang/julia/issues/6742 +Recommends: arpack-ng-devel Recommends: gmp-devel Recommends: mpfr-devel Recommends: openlibm-devel Recommends: openspecfun-devel -Recommends: pcre-devel +Recommends: pcre2-devel Recommends: suitesparse-devel -Recommends: arpack-ng-devel +# Since the 32-bit julia package is already being built using MARCH=pentium4, +# which is the most generic flag supported, then the julia-compat mode only +# makes sense for 64-bit architectures. +%if 0%{?compat_mode} +ExclusiveArch: x86_64 +%endif %description Julia is a high-level, high-performance dynamic programming language for @@ -96,6 +130,9 @@ Summary: Julia development, debugging and testing files Group: Development/Languages/Other Requires: %{name} = %{version} +%if 0%{?compat_mode} +Conflicts: otherproviders(julia-devel) +%endif %description devel Contains library symbolic links and header files for developing applications @@ -104,6 +141,7 @@ in the Julia language, but rather for embedding Julia into external programs or debugging Julia itself. +%if 0%{?compat_mode} == 0 %package doc Summary: Julia documentation and code examples Group: Documentation/Other @@ -119,44 +157,75 @@ %description examples Contains the Julia code examples. +%endif -%{expand:%global juliabuildopts %(cat %{SOURCE1})} +%{expand:%global juliabuildopts %(cat %{SOURCE99})} %prep -%setup -q -n julia-%{version} +%setup -qn julia-%{version} %patch1 -p1 # remove .gitignore find . -name ".git*" -exec rm {} \; -cd deps -tar xzf %{SOURCE10} -tar xzf %{SOURCE11} - -mv -T Rmath-%{rmath_ver} Rmath -mv -T libuv-%{libuv_ver} libuv - +pushd deps/ +cp %{SOURCE10} ./ +cp %{SOURCE11} ./ cp %{SOURCE12} ./ +cp %{SOURCE13} ./ +popd %build -%ifarch x86_64 -%define julia_march core2 +%if 0%{?compat_mode} == 0 + %ifarch x86_64 + %define julia_march core2 + %endif + %ifarch %ix86 + %define julia_march pentium4 + %endif %else -%define julia_march pentium4 + # compat_mode is only defined for 64-bit architecture. + %define julia_march x86-64 %endif +%define julia_builddir %{_builddir}/%{name}/ + make %{?_smp_mflags} MARCH=%{julia_march} \ prefix=%{_prefix} \ + bindir=%{_bindir} \ libdir=%{_libdir} \ + libexecdir=%{_libexecdir} \ + datarootdir=%{_datarootdir} \ + includedir=%{_includedir} \ sysconfdir=%{_sysconfdir} \ - %{juliabuildopts} + %{juliabuildopts} \ + release + +make %{?_smp_mflags} MARCH=%{julia_march} \ + prefix=%{_prefix} \ + bindir=%{_bindir} \ + libdir=%{_libdir} \ + libexecdir=%{_libexecdir} \ + datarootdir=%{_datarootdir} \ + includedir=%{_includedir} \ + sysconfdir=%{_sysconfdir} \ + %{juliabuildopts} \ + debug + +%check +# The tests will only pass if openblas is being used. +# make test %install make install DESTDIR=%{buildroot} \ MARCH=%{julia_march} \ prefix=%{_prefix} \ + bindir=%{_bindir} \ libdir=%{_libdir} \ + libexecdir=%{_libexecdir} \ + datarootdir=%{_datarootdir} \ + includedir=%{_includedir} \ sysconfdir=%{_sysconfdir} \ %{juliabuildopts} @@ -175,10 +244,16 @@ rm -f %{buildroot}%{_datadir}/julia/base/build.h rm -f %{buildroot}%{_datadir}/julia/base/Makefile -%suse_update_desktop_file -r julia "Science;Math" +# Fix documentation directories. +mkdir -p %{buildroot}%{_datadir}/doc/packages/julia +mv -f %{buildroot}%{_datadir}/doc/julia/* %{buildroot}%{_datadir}/doc/packages/julia/ +rm -r %{buildroot}%{_datadir}/doc/julia -%check -# cd test && make all +%if 0%{?compat_mode} +rm -rf %{buildroot}%{_datadir}/doc/packages/julia/ +%endif + +%suse_update_desktop_file -r julia "Science;Math" %post devel -p /sbin/ldconfig @@ -188,39 +263,52 @@ %defattr(-,root,root) %doc CONTRIBUTING.md LICENSE.md NEWS.md README.md %{_bindir}/julia -%{_libdir}/julia/ %dir %{_datadir}/julia %{_datadir}/julia/base -%{_datadir}/julia/helpdb.jl +%{_datadir}/julia/site +%dir %{_datadir}/appdata/ +%{_datadir}/appdata/julia.appdata.xml +%{_datadir}/applications/julia.desktop +%{_datadir}/icons/hicolor/scalable/apps/julia.svg +%{_libdir}/julia/ %{_mandir}/man1/julia.1.* %dir %{_sysconfdir}/julia/ %config(noreplace) %{_sysconfdir}/julia/juliarc.jl # Exclude development files. +%exclude %{_libdir}/julia/libccalltest.so %exclude %{_libdir}/julia/libjulia-debug.so -%{_datadir}/appdata/julia.appdata.xml -%dir %{_datadir}/appdata/ -%{_datadir}/applications/julia.desktop -%{_datadir}/icons/hicolor/scalable/apps/julia.svg +%exclude %{_libdir}/julia/sys-debug.so +# Exclude examples and documentation. +%exclude %{_docdir}/julia/html +%exclude %{_docdir}/julia/examples %files devel %defattr(-,root,root) %{_bindir}/julia-debug %{_datadir}/julia/test/ %{_datadir}/julia/build_sysimg.jl +%{_datadir}/julia/build_executable.jl +%{_datadir}/julia/julia-config.jl %{_includedir}/julia/ %{_libdir}/libjulia.so +%{_libdir}/julia/libccalltest.so %{_libdir}/julia/libjulia-debug.so +%{_libdir}/julia/sys-debug.so %{_mandir}/man1/julia-debug.1.* +%if 0%{?compat_mode} == 0 %files doc %defattr(-,root,root) -%docdir %{_datadir}/julia/doc -%{_datadir}/julia/doc -%exclude %{_datadir}/julia/doc/Makefile -%exclude %{_datadir}/julia/doc/README.md +%{_docdir}/julia +%exclude %{_docdir}/julia/examples +%exclude %{_docdir}/julia/CONTRIBUTING.md +%exclude %{_docdir}/julia/LICENSE.md +%exclude %{_docdir}/julia/NEWS.md +%exclude %{_docdir}/julia/README.md %files examples %defattr(-,root,root) -%{_datadir}/julia/examples +%{_docdir}/julia/examples +%endif %changelog ++++++ julia-0.3.11.tar.gz -> julia-0.4.0.tar.gz ++++++ ++++ 439905 lines of diff (skipped) ++++++ julia-disable-llvm-timestamps.patch ++++++ --- /var/tmp/diff_new_pack.vhTElO/_old 2015-10-17 16:38:59.000000000 +0200 +++ /var/tmp/diff_new_pack.vhTElO/_new 2015-10-17 16:38:59.000000000 +0200 @@ -1,13 +1,13 @@ -Index: julia-0.3.10/deps/Makefile +Index: julia/deps/Makefile =================================================================== ---- julia-0.3.10.orig/deps/Makefile -+++ julia-0.3.10/deps/Makefile -@@ -217,7 +217,7 @@ endif - - LLVM_CXXFLAGS = - LLVM_TARGET_FLAGS= --enable-targets=host +--- julia.orig/deps/Makefile ++++ julia/deps/Makefile +@@ -360,7 +360,7 @@ LLVM_LDFLAGS = $(LDFLAGS) + LLVM_TARGETS = host + LLVM_TARGET_FLAGS = --enable-targets=$(LLVM_TARGETS) + LLVM_CMAKE += -DLLVM_TARGETS_TO_BUILD:STRING="$(LLVM_TARGETS)" -DCMAKE_BUILD_TYPE="$(LLVM_BUILDTYPE)" -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON -DLLVM_DYLIB_EXPORT_ALL:BOOL=ON -LLVM_FLAGS += --disable-profiling --enable-shared --enable-static $(LLVM_TARGET_FLAGS) --disable-bindings --disable-docs +LLVM_FLAGS += --disable-profiling --enable-shared --enable-static $(LLVM_TARGET_FLAGS) --disable-bindings --disable-docs --enable-timestamps=no - LLVM_MFLAGS = - ifeq ($(LLVM_ASSERTIONS), 1) - LLVM_FLAGS += --enable-assertions + # LLVM has weird install prefixes (see llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/Makefile.config for the full list) + # We map them here to the "normal" ones, which means just prefixing "PROJ_" to the variable name. + LLVM_MFLAGS = PROJ_libdir=$(build_libdir) PROJ_bindir=$(build_bindir) PROJ_includedir=$(build_includedir) ++++++ juliabuildopts ++++++ --- /var/tmp/diff_new_pack.vhTElO/_old 2015-10-17 16:38:59.000000000 +0200 +++ /var/tmp/diff_new_pack.vhTElO/_new 2015-10-17 16:38:59.000000000 +0200 @@ -21,7 +21,9 @@ USE_SYSTEM_GRISU=1 \ USE_SYSTEM_RMATH=0 \ USE_SYSTEM_LIBUV=0 \ -USE_SYSTEM_UTF8PROC=1 \ +USE_SYSTEM_UTF8PROC=0 \ +USE_SYSTEM_PATCHELF=1 \ +USE_SYSTEM_LIBGIT2=1 \ USE_MKL=0 \ USE_BLAS64=0 \ USE_LLVM_SHLIB=0 \ ++++++ libuv-abcbb0c.tar.gz -> libuv-28f5f06b5ff6f010d666ec26552e0badaca5cdcd.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libuv-abcbb0c/.gitignore new/JuliaLang-libuv-28f5f06/.gitignore --- old/libuv-abcbb0c/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/JuliaLang-libuv-28f5f06/.gitignore 2015-07-18 04:22:06.000000000 +0200 @@ -0,0 +1,52 @@ +*.swp +*.[oa] +*.l[oa] +*.opensdf +*.orig +*.pyc +*.sdf +*.suo +*.lib +core +vgcore.* +.buildstamp +.dirstamp +.deps/ +/.libs/ +/autom4te.cache/ +/config.log +/config.status +/libtool +/libuv.a +/libuv.dylib +/libuv.pc +/libuv.so +Makefile + +# Generated by dtrace(1) when doing an in-tree build. +/include/uv-dtrace.h + +# Generated by gyp for android +*.target.mk + +/out/ +/build/gyp + +/test/.libs/ +/test/run-tests +/test/run-tests.exe +/test/run-tests.dSYM +/test/run-benchmarks +/test/run-benchmarks.exe +/test/run-benchmarks.dSYM + +*.sln +*.vcproj +*.vcxproj +*.vcxproj.filters +*.vcxproj.user +_UpgradeReport_Files/ +UpgradeLog*.XML +Debug +Release +ipch diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libuv-abcbb0c/samples/.gitignore new/JuliaLang-libuv-28f5f06/samples/.gitignore --- old/libuv-abcbb0c/samples/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/JuliaLang-libuv-28f5f06/samples/.gitignore 2015-07-18 04:22:06.000000000 +0200 @@ -0,0 +1,22 @@ +# Copyright StrongLoop, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + +*.mk +*.Makefile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libuv-abcbb0c/samples/socks5-proxy/.gitignore new/JuliaLang-libuv-28f5f06/samples/socks5-proxy/.gitignore --- old/libuv-abcbb0c/samples/socks5-proxy/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/JuliaLang-libuv-28f5f06/samples/socks5-proxy/.gitignore 2015-07-18 04:22:06.000000000 +0200 @@ -0,0 +1,21 @@ +# Copyright StrongLoop, Inc. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + +/build/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libuv-abcbb0c/src/.gitignore new/JuliaLang-libuv-28f5f06/src/.gitignore --- old/libuv-abcbb0c/src/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/JuliaLang-libuv-28f5f06/src/.gitignore 2015-07-18 04:22:06.000000000 +0200 @@ -0,0 +1,2 @@ +*.obj + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libuv-abcbb0c/src/win/.gitignore new/JuliaLang-libuv-28f5f06/src/win/.gitignore --- old/libuv-abcbb0c/src/win/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/JuliaLang-libuv-28f5f06/src/win/.gitignore 2015-07-18 04:22:06.000000000 +0200 @@ -0,0 +1,2 @@ +*.obj + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libuv-abcbb0c/src/win/pipe.c new/JuliaLang-libuv-28f5f06/src/win/pipe.c --- old/libuv-abcbb0c/src/win/pipe.c 2014-12-26 14:23:51.000000000 +0100 +++ new/JuliaLang-libuv-28f5f06/src/win/pipe.c 2015-07-18 04:22:06.000000000 +0200 @@ -1089,26 +1089,30 @@ uv_mutex_unlock(m); } restart_readfile: - result = ReadFile(handle->handle, - &uv_zero_, - 0, - &bytes, - NULL); - if (!result) { - err = GetLastError(); - if (err == ERROR_OPERATION_ABORTED && m) { - if (handle->flags & UV_HANDLE_READING) { - /* just a brief break to do something else */ - handle->readfile_thread = NULL; - /* resume after it is finished */ - uv_mutex_lock(m); - handle->readfile_thread = hThread; - uv_mutex_unlock(m); - goto restart_readfile; - } else { - result = 1; /* successfully stopped reading */ - } + if (handle->flags & UV_HANDLE_READING) { + result = ReadFile(handle->handle, + &uv_zero_, + 0, + &bytes, + NULL); + if (!result) { + err = GetLastError(); + if (err == ERROR_OPERATION_ABORTED && m) { + if (handle->flags & UV_HANDLE_READING) { + /* just a brief break to do something else */ + handle->readfile_thread = NULL; + /* resume after it is finished */ + uv_mutex_lock(m); + handle->readfile_thread = hThread; + uv_mutex_unlock(m); + goto restart_readfile; + } else { + result = 1; /* successfully stopped reading */ + } + } } + } else { + result = 1; /* successfully aborted read before it even started */ } if (hThread) { assert(hThread == handle->readfile_thread); @@ -2057,14 +2061,13 @@ } } - if (os_handle == INVALID_HANDLE_VALUE || + if (os_handle2 == INVALID_HANDLE_VALUE || uv_set_pipe_handle(pipe->loop, pipe, os_handle2, 0) == -1) { return UV_EINVAL; } uv_pipe_connection_init(pipe); - pipe->handle = os_handle; if (access.AccessFlags&FILE_WRITE_DATA) pipe->flags |= UV_HANDLE_WRITABLE; if (access.AccessFlags&FILE_READ_DATA) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libuv-abcbb0c/src/win/stream-inl.h new/JuliaLang-libuv-28f5f06/src/win/stream-inl.h --- old/libuv-abcbb0c/src/win/stream-inl.h 2014-12-26 14:23:51.000000000 +0100 +++ new/JuliaLang-libuv-28f5f06/src/win/stream-inl.h 2015-07-18 04:22:06.000000000 +0200 @@ -36,6 +36,8 @@ uv__handle_init(loop, (uv_handle_t*) handle, type); handle->write_queue_size = 0; handle->activecnt = 0; + + handle->shutdown_req = NULL; } @@ -48,8 +50,6 @@ handle->read_req.wait_handle = INVALID_HANDLE_VALUE; handle->read_req.type = UV_READ; handle->read_req.data = handle; - - handle->shutdown_req = NULL; } ++++++ pre_checkin.sh ++++++ #!/bin/sh cp -f julia.changes julia-compat.changes cp -f julia.spec julia-compat.spec sed -i 's/%define compat_mode 0/%define compat_mode 1/' julia-compat.spec