Package: julia / 0.4.7-6

Package Version Patches format
julia 0.4.7-6 3.0 (quilt)

Patch series

view the series file
Patch File delta Description

Make.inc | 2 1 + 1 - 0 !
deps/Makefile | 2 1 + 1 - 0 !
deps/Rmath/Make.inc | 3 1 + 2 - 0 !
src/Makefile | 2 1 + 1 - 0 !
4 files changed, 4 insertions(+), 5 deletions(-)

 remove hardcoded gcc optimization flags
This is necessary in order to make DEB_BUILD_OPTIONS=noopt work as expected.
.
Note that the hack on llvm-config --cxxflags is not absolutely needed, because
the -O2 that it brings come before the -O0 brought by dpkg-buildflags. But I
leave it for clarity.


src/Makefile | 6 1 + 5 - 0 !
1 file changed, 1 insertion(+), 5 deletions(-)

 do not give a soname to libjulia-release.so
Otherwise the fact that this SONAME is unversioned confuses dpkg-shlibdeps and
dh_makeshlibs. And we don't want a versioned SONAME for now, the API is not
stabilized.


Makefile | 6 2 + 4 - 0 !
1 file changed, 2 insertions(+), 4 deletions(-)

 do not compile and install the debugging version of julia


base/client.jl | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 drop version number from system load path
This is unnecessary since this path is managed by dpkg/apt. Moreover, it would
make transitions to higher versions needlessly complicated.


src/codegen.cpp | 13 13 + 0 - 0 !
1 file changed, 13 insertions(+)

 julia requires sse2 on i386
This patch adds an explicit error message if the CPU does not support SSE2.
The CPU features are queried using the x86 CPUID opcode. The wrapper function
__get_cpuid() is provided by GCC and Clang. See <cpuid.h> for the list of
supported CPU extension flags.


doc/conf.py | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 use packaged mathjax instead of the online version
This patch can probably be dropped when #739300 is fixed.
Note that this patch goes in tandem with several commands in d/rules, and with


doc/Makefile | 15 2 + 13 - 0 !
doc/conf.py | 5 5 + 0 - 0 !
2 files changed, 7 insertions(+), 13 deletions(-)

 do not use virtualenv to compile the sphinx documentation
Instead use the embedded copy of juliadoc that has been incorporated in the
Debian source tarball (see debian/rules, get-orig-source rule).


test/unicode/utf8proc.jl | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 fix test in unicode.jl


1 file changed, 1 insertion(+), 1 deletion(-)

 use libjs-modernizr package inplace of external link.
This resolves a potential privacy breach by fetching data from
an external website at runtime, as indicated in a lintian hint.
The script is included as a static file by sphinx-rtd-theme.


1 file changed, 3 deletions(-)

 strip external link to google fonts api
This resolves a potential privacy breach by fetching data from
an external website at runtime, which has only a minor effect
on the sidebar font of the Julia language documentation.


base/Makefile | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

 preserve git version information
Do not remove base/version_git.jl on make clean, which is generated
from the upstream git commit and included in the repacked orig tarball.


src/dlload.c | 10 0 + 10 - 0 !
1 file changed, 10 deletions(-)

 do not query ldconfig for library sonames
to not query ldconfig for library sonames when ccall() is
invoked for a library name without an extension.
.
By default, when ccall() is invoked for the shared library
libfoo, it tries to load libfoo.so; if that fails, it queries
ldconfig and picks a matching libfoo.so.SOVERSION. Since a
machine can have multiple installed versions of the same
library, this may result in unpredictable behaviour when
ccall() loads a library version with an incompatible ABI.
.
For the libraries used by Base, the Debian package provides
symbolic links lib*.so => lib*.so.SOVERSION in the private
library path for Julia, which ensures that Julia loads exactly
those library versions that were used for building the package.
.
For external packages installed using Pkg.add() that have an
unversioned library dependency, users need to install the
corresponding lib*-dev package that provides lib*.so.


deps/Makefile | 16 5 + 11 - 0 !
1 file changed, 5 insertions(+), 11 deletions(-)

 do not download rmath
Rmath is included in the orig tarball (see get-orig-source in debian/rules)


deps/Makefile | 5 2 + 3 - 0 !
1 file changed, 2 insertions(+), 3 deletions(-)

 do not download libuv
libuv is included in the orig tarball (see get-orig-source in debian/rules)


test/choosetests.jl | 2 1 + 1 - 0 !
test/libgit2.jl | 19 0 + 19 - 0 !
2 files changed, 1 insertion(+), 20 deletions(-)

 disable libgit2 test to avoid dependency on libgit2.


base/docs/helpdb.jl | 4 2 + 2 - 0 !
contrib/julia-mode.el | 4 2 + 2 - 0 !
doc/stdlib/io-network.rst | 4 2 + 2 - 0 !
3 files changed, 6 insertions(+), 6 deletions(-)

 fix lintian warning spelling-error-in-binary


src/cgutils.cpp | 8 8 + 0 - 0 !
src/intrinsics.cpp | 8 8 + 0 - 0 !
2 files changed, 16 insertions(+)

 llvm 3.8 compatibility
These fixes come straight from upstream's git.


src/cgutils.cpp | 39 36 + 3 - 0 !
src/codegen.cpp | 10 5 + 5 - 0 !
2 files changed, 41 insertions(+), 8 deletions(-)

 improve generated debug info to avoid assertion in sroa
Fix FTBFS on i386 with error 'piece covers entire variable', see:
https://github.com/JuliaLang/julia/issues/13754


src/codegen.cpp | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 disable arm neon extensions
This avoids a FTBFS on armhf machines without NEON,
e.g. Debian's buildds.
NEON is optional for Debian's armhf port, see:
https://wiki.debian.org/ArmHardFloatPort#NEON


deps/Makefile | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix inconsistent use of gnu_source in embedded libuv


Make.inc | 10 5 + 5 - 0 !
1 file changed, 5 insertions(+), 5 deletions(-)

 do not override arm options in make.inc

 do not print warning if unable to determine host cpu name