From cc9911af6e6598c5b65ed67de3088bb50274f57c Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Tue, 28 Mar 2017 07:22:31 +0000 Subject: [PATCH] * Add override_dh_makeshlibs for the libllvm or liblldb versions Thanks to Julien Cristau for the patch * Bring back the ocaml binding. thanks to Cyril Soldani for the patch (Closes: #858626) --- debian/changelog | 9 +++++++++ debian/control | 24 ++++++++++++++++++++++-- debian/libllvm-X.Y-ocaml-dev.install.in | 4 ++-- debian/rules | 11 +++++++++++ 4 files changed, 44 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index c46c708e..fbed497a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +llvm-toolchain-3.8 (1:3.8.1-19~exp4) experimental; urgency=medium + + * Add override_dh_makeshlibs for the libllvm or liblldb versions + Thanks to Julien Cristau for the patch + * Bring back the ocaml binding. thanks to Cyril Soldani for the patch + (Closes: #858626) + + -- Sylvestre Ledru Tue, 28 Mar 2017 06:32:40 +0200 + llvm-toolchain-3.8 (1:3.8.1-19~exp3) experimental; urgency=medium * change the min version of the libclang1 symbols to 1:3.8.1-19~ diff --git a/debian/control b/debian/control index 71f59456..61e2cf7b 100644 --- a/debian/control +++ b/debian/control @@ -6,9 +6,9 @@ Uploaders: Sylvestre Ledru Build-Depends: debhelper (>= 9.0), flex, bison, dejagnu, tcl, expect, cmake, perl, libtool, chrpath, texinfo, sharutils, libffi-dev (>= 3.0.9), lsb-release, patchutils, diffstat, xz-utils, python-dev, - libedit-dev, swig, python-six, python-sphinx, binutils-dev, + libedit-dev, swig, python-six, python-sphinx, ocaml-nox, binutils-dev, libjsoncpp-dev, - lcov, procps, help2man, zlib1g-dev, + lcov, procps, help2man, dh-ocaml, zlib1g-dev, g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32] Build-Conflicts: oprofile, ocaml, libllvm-3.4-ocaml-dev, libllvm-3.5-ocaml-dev, libllvm-3.8-ocaml-dev @@ -331,6 +331,26 @@ Description: Modular compiler and toolchain technologies, tools . This package provides tools for testing. +Package: libllvm-3.8-ocaml-dev +Section: ocaml +Architecture: any +Suggests: llvm-3.8-doc +Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-3.8-dev (= ${binary:Version}) +Provides: ${ocaml:Provides} +Description: Modular compiler and toolchain technologies, OCaml bindings + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides the OCaml bindings to develop applications using llvm. Package: llvm-3.8-doc Section: doc diff --git a/debian/libllvm-X.Y-ocaml-dev.install.in b/debian/libllvm-X.Y-ocaml-dev.install.in index 8ea48335..b1e302d3 100644 --- a/debian/libllvm-X.Y-ocaml-dev.install.in +++ b/debian/libllvm-X.Y-ocaml-dev.install.in @@ -1,2 +1,2 @@ -#@OCAML_STDLIB_DIR@/llvm-@LLVM_VERSION@ @OCAML_STDLIB_DIR@/ -#usr/lib/llvm-@LLVM_VERSION@/docs/llvm/ocamldoc/html usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/ +@OCAML_STDLIB_DIR@/llvm-@LLVM_VERSION@ @OCAML_STDLIB_DIR@/ +usr/lib/llvm-@LLVM_VERSION@/docs/ocaml/html/html usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/ diff --git a/debian/rules b/debian/rules index 18c2aa77..cbb8732c 100755 --- a/debian/rules +++ b/debian/rules @@ -277,6 +277,7 @@ override_dh_prep: build_doc build_doc: cd $(CURDIR)/docs && make -f Makefile.sphinx && make -f Makefile.sphinx man cd $(CURDIR)/clang/docs && make -f Makefile.sphinx && make -f Makefile.sphinx man + $(PRE_PROCESS) $(MAKE) $(NJOBS) -C "$(TARGET_BUILD)/docs" ocaml_doc # Rename manpages d=$(CURDIR)/docs/_build/man/; \ @@ -434,11 +435,21 @@ endif $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/; \ fi +# Rename OCaml bindings + if test -d "$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ocaml"; then \ + mkdir -p "$(DEB_INST)$(OCAML_STDLIB_DIR)"; \ + mv -f "$(DEB_INST)usr/lib/llvm-$(LLVM_VERSION)/lib/ocaml" \ + "$(DEB_INST)$(OCAML_STDLIB_DIR)/llvm-$(LLVM_VERSION)"; \ + fi + # Delete the target build directory to save some space on the build systems # All the files have been installed in $(CURDIR)/debian/tmp/ already rm -rf $(TARGET_BUILD) +override_dh_makeshlibs: + dh_makeshlibs -V1:3.8.1-19~ + override_dh_shlibdeps: # cd $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ && ln -s libLLVM-$(LLVM_VERSION).so.1 libLLVM-$(LLVM_VERSION).so # Ignore asan libraries. They would trigger dependencies to multiarch libraries