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

Reply via email to