Source: julia
Version: 0.3.11-1
Tags: patch

Hi Maintainer

Patchelf is buggy on ARM and PPC architectures.

Julia's Makefile contains the following comment at around line 282:

# Update RPATH entries and JL_SYSTEM_IMAGE_PATH if
$(private_libdir_rel) != $(build_private_libdir_rel)

The attached patches prevent patchelf from being downloaded, set
build_private_libdir and build_libdir to use the multiarch lib
directories so that patchelf does not get run, and lastly, remove
patchelf from julia's build-depends.

Regards
Graham
diff -Nru julia-0.3.11/debian/control julia-0.3.11/debian/control
--- julia-0.3.11/debian/control 2015-05-25 14:51:48.000000000 +0200
+++ julia-0.3.11/debian/control 2015-09-15 21:26:00.000000000 +0200
@@ -6,7 +6,7 @@
  libdouble-conversion-dev, libsuitesparse-dev (>= 1:4.2.1), libgmp-dev,
  libunwind8-dev, libfftw3-dev, libpcre3-dev, libarpack2-dev, libmpfr-dev,
  libopenblas-dev (>= 0.2.10-1~), libopenlibm-dev, libopenspecfun-dev (>= 0.4~),
- patchelf, python-sphinx, python-sphinx-rtd-theme, libjs-mathjax
+ python-sphinx, python-sphinx-rtd-theme, libjs-mathjax
 Standards-Version: 3.9.6
 Section: science
 Homepage: http://julialang.org
diff -Nru julia-0.3.11/debian/rules julia-0.3.11/debian/rules
--- julia-0.3.11/debian/rules   2015-05-25 15:47:36.000000000 +0200
+++ julia-0.3.11/debian/rules   2015-09-15 22:07:10.000000000 +0200
@@ -12,7 +12,7 @@
        LLVM_CONFIG=/usr/bin/llvm-config-$(LLVM_VER) VERBOSE=1                  
\
        LIBBLAS=-lopenblas LIBBLASNAME=libopenblas                              
\
        LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas                          
\
-       MULTIARCH_INSTALL=1 sysconfdir=/etc prefix=/usr DESTDIR=debian/tmp/
+       MULTIARCH_INSTALL=1 sysconfdir=/etc prefix=/usr DESTDIR=debian/tmp/ 
USE_SYSTEM_PATCHELF=1
 
 ifeq ($(DEB_HOST_ARCH),amd64)
 COMMON_FLAGS += MARCH=x86-64
Description:  Decide whether to build patchelf based on USE_SYSTEM_PATCHELF
 That way in distributions where the same tree structure is used for build
 and install, where patchelf is not used, we don't need to install it.
Origin: upstream, https://github.com/JuliaLang/julia/commit/ccdc4b69a9a7ca06122dbdaf077d811680ca5e68
Author: Milan Bouchet-Valat <nalimi...@club.fr>
Last-Update: 2015-03-21
--- a/Make.inc
+++ b/Make.inc
@@ -37,6 +37,7 @@
 USE_SYSTEM_RMATH=0
 USE_SYSTEM_LIBUV=0
 USE_SYSTEM_UTF8PROC=0
+USE_SYSTEM_PATCHELF=0
 
 # Link to the LLVM shared library
 USE_LLVM_SHLIB = 0
--- a/deps/Makefile
+++ b/deps/Makefile
@@ -43,7 +43,7 @@
 endif
 
 ifeq ($(OS), Linux)
-ifeq ($(shell which patchelf 2>/dev/null),)
+ifeq ($(USE_SYSTEM_PATCHELF), 0)
 STAGE1_DEPS += patchelf
 PATCHELF=$(build_bindir)/patchelf
 else
Description: Make patchelf redundant
 Build in the multiarch lib directories as well so that
 $(private_libdir_rel) = $(build_private_libdir_rel)
 and patchelf does not get run.
Author: Graham Inggs <gin...@debian.org>
Forwarded: not-needed
Last-Update: 2015-09-15
--- a/Make.inc
+++ b/Make.inc
@@ -122,6 +122,8 @@
 MULTIARCH = $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 private_libdir = $(prefix)/lib/$(MULTIARCH)/julia
 libdir = $(prefix)/lib/$(MULTIARCH)/
+build_private_libdir = $(build_prefix)/lib/$(MULTIARCH)/julia
+build_libdir = $(build_prefix)/lib/$(MULTIARCH)
 endif
 
 

Reply via email to