# ChangeLog for sys-devel/llvm
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)

*llvm-9999 (09 Aug 2015)
*llvm-3.6.2 (09 Aug 2015)
*llvm-3.6.1 (09 Aug 2015)
*llvm-3.6.0 (09 Aug 2015)
*llvm-3.5.2 (09 Aug 2015)
*llvm-3.5.1 (09 Aug 2015)
*llvm-3.5.0 (09 Aug 2015)
*llvm-3.4.2 (09 Aug 2015)
*llvm-3.3-r3 (09 Aug 2015)
*llvm-3.2 (09 Aug 2015)
*llvm-3.1-r2 (09 Aug 2015)
*llvm-3.0-r2 (09 Aug 2015)
*llvm-2.9-r2 (09 Aug 2015)
*llvm-2.8-r2 (09 Aug 2015)

  09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org>
  +files/cl-patches/0001-r600-Add-some-intrinsic-definitions.patch, +files/cl-
  patches/0002-r600-Add-get_global_size-and-get_local_size-intrinsi.patch,
  +files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch,
  +files/clang-3.3-gcc-header-path.patch,
  +files/clang-3.3-gentoo-install.patch,
  +files/clang-3.4-darwin_build_fix.patch,
  +files/clang-3.4-darwin_prefix-include-paths.patch,
  +files/clang-3.4-gentoo-install.patch,
  +files/clang-3.5-gentoo-install.patch,
  +files/clang-3.5-gentoo-runtime-gcc-detection-v3.patch,
  +files/clang-3.6-fbsd-gcc49.patch, +files/clang-3.6-gentoo-install.patch, +f
  iles/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch, 
  +files/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
  , +files/cmake/0004-cmake-Do-not-install-libgtest.patch, +files/cmake/clang-
  0001-Install-clang-runtime-into-usr-lib-without-suffix.patch,
  +files/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch, +f
  iles/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-s
  uffi.patch, +files/llvm-2.6-commandguide-nops.patch,
  +files/llvm-2.7-nodoctargz.patch, +files/llvm-2.8-alignof.patch,
  +files/llvm-2.8-darwin8.patch, +files/llvm-2.9-Operator.h-c++0x.patch,
  +files/llvm-2.9-gcc4.7.patch, +files/llvm-2.9-nodoctargz.patch,
  +files/llvm-3.0-PPCCompilationCallbackC_static.patch,
  +files/llvm-3.0-PPC_macro.patch, +files/llvm-3.0-gold_LTO_link.patch,
  +files/llvm-3.0-ocaml_install.patch, +files/llvm-3.0-set_soname.patch,
  +files/llvm-3.1-ExecutionEngine_tests_xfail_arm.patch,
  +files/llvm-3.1-docs-pod-markup-fixes.patch,
  +files/llvm-3.1-fix_debug_line_info.patch,
  +files/llvm-3.1-ivybridge_support.patch, +files/llvm-3.2-nodoctargz.patch,
  +files/llvm-3.3-R600_debug.patch, +files/llvm-3.3-cmake-modulepath.patch,
  +files/llvm-3.3-gentoo-install.patch, +files/llvm-3.3-insecure-rpath.patch,
  +files/llvm-3.3-r2-gentoo-install.patch,
  +files/llvm-3.4-cmake-configparser.patch, +files/llvm-3.4-fix_varargs.patch,
  +files/llvm-3.4-gentoo-install.patch, +files/llvm-3.5-gcc-4.9.patch,
  +files/llvm-3.5-gentoo-install.patch,
  +files/llvm-3.5.0-fix_LLVMExports_cmake.patch,
  +files/llvm-3.5.2-gcc-5.1.patch, +files/llvm-3.6-gentoo-install.patch,
  +files/llvm-3.6.0-ocaml-ctypes-0.4.0.patch,
  +files/llvm-3.7-nodoctargz.patch, +llvm-2.8-r2.ebuild, +llvm-2.9-r2.ebuild,
  +llvm-3.0-r2.ebuild, +llvm-3.1-r2.ebuild, +llvm-3.2.ebuild,
  +llvm-3.3-r3.ebuild, +llvm-3.4.2.ebuild, +llvm-3.5.0.ebuild,
  +llvm-3.5.1.ebuild, +llvm-3.5.2.ebuild, +llvm-3.6.0.ebuild,
  +llvm-3.6.1.ebuild, +llvm-3.6.2.ebuild, +llvm-9999.ebuild, +metadata.xml:
  proj/gentoo: Initial commit

  This commit represents a new era for Gentoo:
  Storing the gentoo-x86 tree in Git, as converted from CVS.

  This commit is the start of the NEW history.
  Any historical data is intended to be grafted onto this point.

  Creation process:
  1. Take final CVS checkout snapshot
  2. Remove ALL ChangeLog* files
  3. Transform all Manifests to thin
  4. Remove empty Manifests
  5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
  5.1. Do not touch files with -kb/-ko keyword flags.

  Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
  X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration
  tests
  X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this
  project
  X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo
  developer, wrote Git features for the migration
  X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve
  cvs2svn
  X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
  X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014
  work in migration
  X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
  X-Thanks: All of other Gentoo developers - many ideas and lots of paint on
  the bikeshed

  24 Aug 2015; Justin Lecher <jlec@gentoo.org> llvm-3.2.ebuild,
  llvm-3.3-r3.ebuild, llvm-3.4.2.ebuild, llvm-3.5.0.ebuild, llvm-3.5.1.ebuild,
  llvm-3.5.2.ebuild, llvm-3.6.0.ebuild, llvm-3.6.1.ebuild, llvm-3.6.2.ebuild,
  metadata.xml:
  Use https by default

  Convert all URLs for sites supporting encrypted connections from http to
  https

  Signed-off-by: Justin Lecher <jlec@gentoo.org>

*llvm-3.7.0_rc2 (24 Aug 2015)

  24 Aug 2015; Bernard Cafarelli <voyageur@gentoo.org>
  +files/clang-3.7-strip_doc_refs.patch, +llvm-3.7.0_rc2.ebuild, metadata.xml:
  add rc version for testing

  Package-Manager: portage-2.2.20.1

  24 Aug 2015; Bernard Cafarelli <voyageur@gentoo.org> +files/cmake/clang-0001
  -Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch,
  +files/cmake/llvm-3.8-allow_custom_cmake_build_types.patch,
  llvm-3.7.0_rc2.ebuild, llvm-9999.ebuild:
  fix live ebuild

  Fixes bugs #553416, #557100 and #557154

  24 Aug 2015; Bernard Cafarelli <voyageur@gentoo.org> files/cmake/clang-0001-
  Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch:
  fix typo in updated patch

  Package-Manager: portage-2.2.20.1

  25 Aug 2015; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.7.0_rc2.ebuild:
  fix 3.7.0_rc clang install, bug #558624

  Package-Manager: portage-2.2.20.1

*llvm-3.7.0_rc3 (25 Aug 2015)

  25 Aug 2015; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.7.0_rc2.ebuild,
  +llvm-3.7.0_rc3.ebuild, llvm-9999.ebuild:
  release candidate bump

  Package-Manager: portage-2.2.20.1

  26 Aug 2015; Mike Frysinger <vapier@gentoo.org> llvm-3.4.2.ebuild,
  llvm-3.5.0.ebuild, llvm-3.5.1.ebuild, llvm-3.5.2.ebuild, llvm-3.6.0.ebuild,
  llvm-3.6.1.ebuild, llvm-3.6.2.ebuild, llvm-3.7.0_rc3.ebuild,
  llvm-9999.ebuild:
  sys-libs/ncurses: move to SLOT=0 #557472

  Use SLOT=0 for installing of main development files like other packages
  so we can use other SLOTs for installing SONAME libs for binary packages.

*llvm-3.7.0 (02 Sep 2015)

  02 Sep 2015; Bernard Cafarelli <voyageur@gentoo.org>
  +files/cmake/llvm-3.7.0-ocaml-multilib.patch, -llvm-3.7.0_rc3.ebuild,
  +llvm-3.7.0.ebuild, llvm-9999.ebuild:
  bump to final release

  Also fixes WX sections and multilib-strict install forocaml bindings
  Both fixes from gienah, bugs #421527 and #559134

  Package-Manager: portage-2.2.20.1

*llvm-3.7.0-r1 (07 Sep 2015)

  07 Sep 2015; Bernard Cafarelli <voyageur@gentoo.org> +llvm-3.7.0-r1.ebuild,
  llvm-9999.ebuild:
  fix bugs #559588, #559828, #559850

  Warn about needed library for OpenMP support in clang, thanks Jeremi
  Piotrowski <jeremi.piotrowski@gmail.com> in #559588
  Install utilities like FileCheck, thanks William Throwe <wtt6@cornell.edu>
  in #559828
  Adjust multilib dependency on libxml2, thanks Alexander Stein
  <alexanders83@web.de> in #559850

  Package-Manager: portage-2.2.20.1

  08 Sep 2015; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.7.0-r1.ebuild,
  llvm-9999.ebuild:
  cleaner fix for #553416

  Package-Manager: portage-2.2.20.1

  01 Oct 2015; Michał Górny <mgorny@gentoo.org> llvm-3.7.0-r1.ebuild:
  Add dependency on binutils-libs on latest ~arch

  Try to fix the issue of llvm being unable to find binutils headers
  through adding a dependency on sys-libs/binutils-libs. Those headers
  used to be linked by binutils-config but this behavior changed lately
  requesting developers to install the additional copies of all libraries
  and headers instead.

  Bug: https://bugs.gentoo.org/show_bug.cgi?id=561994

  Package-Manager: portage-2.2.20

*llvm-3.7.0-r2 (11 Oct 2015)

  11 Oct 2015; Bernard Cafarelli <voyageur@gentoo.org>
  +files/llvm-3.7-lldb_python.patch, +llvm-3.7.0-r2.ebuild:
  bump to fix lldb python install

  Bug: 562436
  Bug: 562438

  Package-Manager: portage-2.2.23

  12 Oct 2015; Bernard Cafarelli <voyageur@gentoo.org>
  +files/cmake/llvm-3.7.0-ocaml-build_doc.patch,
  files/cmake/llvm-3.7.0-ocaml-multilib.patch, llvm-3.7.0-r2.ebuild:
  fix some USE=ocaml issues

  Bug: 559624
  Bug: 562008

  Package-Manager: portage-2.2.23

  12 Oct 2015; Bernard Cafarelli <voyageur@gentoo.org>
  +files/cmake/llvm-3.7.0-lldb_tinfo.patch, llvm-3.7.0-r2.ebuild:
  fix lldb build against ncurses[tinfo], bug #560474

  Package-Manager: portage-2.2.23

  19 Oct 2015; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.7.0-r2.ebuild:
  adjust llvm[ocaml] blocker, thanks uzu

  Package-Manager: portage-2.2.23

  27 Oct 2015; Bernard Cafarelli <voyageur@gentoo.org>
  +files/cmake/llvm-3.7.0-compiler_rt_arm_march_flags.patch,
  llvm-3.7.0-r2.ebuild:
  fix compilation on armv5

  Bug #562706 by maekke
  compiler-rt forces some -march flags when detecting arm

  Package-Manager: portage-2.2.23

  04 Nov 2015; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.5.1.ebuild,
  -llvm-3.6.0.ebuild, -llvm-3.6.1.ebuild, -llvm-3.7.0.ebuild,
  -llvm-3.7.0-r1.ebuild:
  clean unused versions

  Package-Manager: portage-2.2.23

  12 Nov 2015; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.7.0-r2.ebuild,
  llvm-9999.ebuild:
  fix libxml2 detection for USE=-xml, bug #564804

  libxml2 search is now correctly disabled for USE=-xml
  lldb requires libxml2
  Port some fixes to live ebuild

  Package-Manager: portage-2.2.24

  22 Nov 2015; Michał Górny <mgorny@gentoo.org>
  +files/clang-3.8-gentoo-install.patch, files/cmake/clang-0001-Install-clang-
  runtime-into-usr-lib-without-suffix-3.8.patch, llvm-9999.ebuild:
  Update the patch and ebuild partially scan-* changes

  Upstream has added installation rules for scan-build and scan-view,
  and make them FHS-aware. This is mostly neat, except that scan-view
  expects Python modules in /usr/share. The patch and ebuild is partially
  updated to accomodate this. It will require at least cleaning up
  /usr/share still.

*llvm-3.7.0-r3 (02 Dec 2015)

  02 Dec 2015; Michał Górny <mgorny@gentoo.org>
  +files/llvm-3.7-llvm-config.patch, +llvm-3.7.0-r3.ebuild, llvm-9999.ebuild:
  Fix bogus flags and paths in llvm-config, #565358

  Fix llvm-config to avoid bogus results. In particular:

  1. Limit --cflags and --cxxflags to package-specific flags. Do not
  output the whole flag-string used during the build. This fixes libclc
  build issues when LLVM build flags were not tolerated by clang.

  2. Fix library names and paths to use shared library suffix rather than
  static library suffix, especially that we do not install static
  libraries.

  3. Wipe out --system-libs since they should not be required for dynamic
  linking.

  4. Ban --obj-root and --src-root when running outside source tree, since
  we are not installing any sources and therefore their results would
  always be bogus.

  Based on patch provided by Steven Newbury.

  Fixes: https://bugs.gentoo.org/565358

  05 Dec 2015; Michał Górny <mgorny@gentoo.org>
  -files/clang-3.8-gentoo-install.patch, +files/llvm-3.8-llvm-config.patch,
  llvm-9999.ebuild:
  Update live ebuild, fix Python install

  Update the patches and install procedure for git changes. Switch to
  python-single-r1 as most of the Python components are now installed
  by CMake.

  05 Dec 2015; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Set libomp as default OpenMP provider in -9999, #562990

  Use libomp as default OpenMP provider rather than libgomp because the
  support for the latter is unable to find omp.h without explicit -I, and
  provides syntax checking only.

  Bug: https://bugs.gentoo.org/show_bug.cgi?id=562990

  09 Dec 2015; Michał Górny <mgorny@gentoo.org> llvm-3.7.0-r3.ebuild:
  Force python* for USE=test build

  12 Dec 2015; Marco Leogrande <dark.knight.ita@gmail.com> llvm-9999.ebuild:
  add BPF backend to compiled targets

  As part of 3.7.* releases, LLVM has officially added support for the
  BPF backend. This backend emits instructions in the eBPF language,
  that is used in the homonymous Linux kernel virtual machine. Users of
  LLVM can write a program in C and have it compiled directly into eBPF.

  This commit adds support for compiling this backend unconditionally.

  12 Dec 2015; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Reorder python_setup after epatch_user in -9999

*llvm-3.7.0-r4 (13 Dec 2015)

  13 Dec 2015; Michał Górny <mgorny@gentoo.org> +llvm-3.7.0-r4.ebuild:
  Clean Python, enable libomp and BPF backend in 3.7

  Backport some of the changes from -9999 as 3.7.0-r4. Remove multi-Python
  support which was working only partially because of lldb, also fixing
  byte-compilation of Python modules, #567550. Default to libomp instead
  of semi-broken libgomp support, #562990. Enable BPF backend by default,
  GitHub PR #450.

  Fixes: https://bugs.gentoo.org/show_bug.cgi?id=567550
  Fixes: https://bugs.gentoo.org/show_bug.cgi?id=562990
  Fixes: https://github.com/gentoo/gentoo/pull/450

*llvm-3.7.0-r5 (27 Dec 2015)

  27 Dec 2015; Michał Górny <mgorny@gentoo.org>
  +files/compiler-rt-3.7-msan-fix.patch, +files/llvm-3.7-msan-fix.patch,
  +llvm-3.7.0-r5.ebuild:
  Backport msan fix for 4.1+ kernels, bug #569894

*llvm-3.7.1 (06 Jan 2016)

  06 Jan 2016; Michał Górny <mgorny@gentoo.org> +llvm-3.7.1.ebuild:
  sys-devel/{clang,llvm}: Bump to 3.7.1

  07 Jan 2016; Michał Górny <mgorny@gentoo.org> -files/llvm-2.8-alignof.patch,
  -files/llvm-2.8-darwin8.patch, -llvm-2.8-r2.ebuild:
  Remove ancient 2.8 version

  07 Jan 2016; Michał Górny <mgorny@gentoo.org>
  -files/llvm-2.9-Operator.h-c++0x.patch, -files/llvm-2.9-gcc4.7.patch,
  -llvm-2.9-r2.ebuild:
  Drop ancient 2.9 version

  07 Jan 2016; Michał Górny <mgorny@gentoo.org>
  -files/llvm-3.0-PPCCompilationCallbackC_static.patch,
  -files/llvm-3.0-gold_LTO_link.patch, -files/llvm-3.0-ocaml_install.patch,
  -files/llvm-3.0-set_soname.patch, -llvm-3.0-r2.ebuild:
  Remove ancient 3.0 version

  07 Jan 2016; Michał Górny <mgorny@gentoo.org>
  -files/cl-patches/0001-r600-Add-some-intrinsic-definitions.patch, -files/cl-
  patches/0002-r600-Add-get_global_size-and-get_local_size-intrinsi.patch,
  -files/llvm-2.6-commandguide-nops.patch,
  -files/llvm-3.1-ExecutionEngine_tests_xfail_arm.patch,
  -files/llvm-3.1-docs-pod-markup-fixes.patch,
  -files/llvm-3.1-fix_debug_line_info.patch,
  -files/llvm-3.1-ivybridge_support.patch, -llvm-3.1-r2.ebuild:
  Remove ancient 3.1 version

  07 Jan 2016; Michał Górny <mgorny@gentoo.org>
  -files/llvm-3.0-PPC_macro.patch, -llvm-3.2.ebuild:
  Remove ancient 3.2 version

  09 Jan 2016; Fabian Groffen <grobian@gentoo.org> llvm-3.5.2.ebuild,
  llvm-3.6.2.ebuild, llvm-3.7.1.ebuild, llvm-9999.ebuild:
  disable the use of xcrun on OSX, bug #568758

  Package-Manager: portage-2.2.20-prefix

  17 Jan 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Remove C++11 checks in -9999

  Remove C++11 checks since the relevant gcc versions are stable for long
  enough already.

  24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
  Unify quoting in metadata.xml files for machine processing

  Force unified quoting in all metadata.xml files since lxml does not
  preserve original use of single and double quotes. Ensuring unified
  quoting before the process allows distinguishing the GLEP 67-related
  metadata.xml changes from unrelated quoting changes.

  24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
  Set appropriate maintainer types in metadata.xml (GLEP 67)

  25 Jan 2016; Bernard Cafarelli <voyageur@gentoo.org>
  +files/llvm-3.9-llvm-config.patch, llvm-9999.ebuild:
  fix live ebuild

  Update clang version, bug #572396
  Update llvm-config patch, bug #572564

  Package-Manager: portage-2.2.27

  27 Jan 2016; Fabian Groffen <grobian@gentoo.org> llvm-3.7.1.ebuild:
  add darwin patch to 3.7.1

  Package-Manager: portage-2.2.20-prefix

*llvm-3.8.0_rc1 (27 Jan 2016)

  27 Jan 2016; Bernard Cafarelli <voyageur@gentoo.org>
  +files/cmake/llvm-3.8.0-compiler_rt_arm_march_flags.patch,
  +llvm-3.8.0_rc1.ebuild, llvm-9999.ebuild:
  add (masked) 3.8 release candidate for testing

  Package-Manager: portage-2.2.27

  28 Jan 2016; Bernard Cafarelli <voyageur@gentoo.org> llvm-3.8.0_rc1.ebuild:
  work on 3.8.0_rc1 install, bug #573202

  Also add man-pages tarball

  clang tests still fail

  Package-Manager: portage-2.2.27

  04 Feb 2016; Fabian Groffen <grobian@gentoo.org> llvm-3.4.2.ebuild:
  add CHOST-clang wrappers to 3.4.2 too for Prefix bootstrap

  Package-Manager: portage-2.2.20-prefix

*llvm-3.7.1-r1 (08 Feb 2016)

  08 Feb 2016; Yuta Satoh <nigoro.dev@gmail.com> +llvm-3.7.1-r1.ebuild,
  llvm-3.8.0_rc1.ebuild, llvm-9999.ebuild:
  Re add the code for Gentoo/FreeBSD.

  Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=417171

  10 Feb 2016; Michał Górny <mgorny@gentoo.org> llvm-3.7.1.ebuild,
  -llvm-3.7.1-r1.ebuild:
  Remove unnecessary revbump due to FreeBSD-related change

  The FreeBSD header change does not justify forcing rebuild of such
  a huge package as LLVM on Linux. Furthermore, the new code relies on
  a new USE flag, so FreeBSD users will get it via --changed-use.

  10 Feb 2016; Michał Górny <mgorny@gentoo.org> llvm-3.7.1.ebuild:
  Fix missing ||die on FreeBSD-added code

  11 Feb 2016; Fabian Groffen <grobian@gentoo.org> llvm-3.5.2.ebuild,
  llvm-3.6.2.ebuild, llvm-3.7.1.ebuild:
  fix dependency on libcxx for Darwin, bug #573176

  llvm dies with an ICE while compiling packages (like itself) when the
  version of libcxx doesn't match.  So pull in a version from the same major
  range.

  Package-Manager: portage-2.2.20-prefix

  11 Feb 2016; Fabian Groffen <grobian@gentoo.org> llvm-3.5.2.ebuild,
  llvm-3.6.2.ebuild, llvm-3.7.1.ebuild, llvm-3.8.0_rc1.ebuild,
  llvm-9999.ebuild:
  revise libcxx dependency for maintenance and to be more realistic

  Package-Manager: portage-2.2.20-prefix

*llvm-3.8.0_rc2 (15 Feb 2016)

  15 Feb 2016; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.8.0_rc1.ebuild,
  +llvm-3.8.0_rc2.ebuild:
  release candidate bump

  Package-Manager: portage-2.2.27

  17 Feb 2016; Michał Górny <mgorny@gentoo.org>
  files/llvm-3.9-llvm-config.patch:
  Update the llvm-config for the live version, #574918

  17 Feb 2016; Michał Górny <mgorny@gentoo.org> llvm-3.7.1.ebuild,
  llvm-3.8.0_rc2.ebuild, llvm-9999.ebuild:
  Clean up stale ref to outer mycmakeargs

  Clean up the stale and confusing reference to outer mycmakeargs that
  used to be declared in src_configure() and passed down to
  multilib_src_configure(). This is no longer the case.

  17 Feb 2016; Michał Górny <mgorny@gentoo.org> llvm-3.8.0_rc2.ebuild,
  llvm-9999.ebuild:
  Extend the FreeBSD fix fix to remaining ebuilds

  17 Feb 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Bump the live ebuild to EAPI 6

*llvm-3.8.0 (09 Mar 2016)

  09 Mar 2016; Bernard Cafarelli <voyageur@gentoo.org> -llvm-3.8.0_rc2.ebuild,
  +llvm-3.8.0.ebuild:
  sys-devel/{clang,llvm}: Bump to final 3.8.0

  To do before unmask:
  * some clang tests still fail (cannot find standard headers)
  * lldb wants to install six.py
  * test reverse dependencies

  Package-Manager: portage-2.2.27

  09 Mar 2016; Bernard Cafarelli <voyageur@gentoo.org>
  +files/llvm-3.8-lldb_six.patch, llvm-3.8.0.ebuild:
  use system six for lldb

  Package-Manager: portage-2.2.27

  28 Mar 2016; William Hubbs <williamh@gentoo.org> metadata.xml:
  add myself as co-maintainer

*llvm-3.7.1-r1 (28 Mar 2016)

  28 Mar 2016; Michał Górny <mgorny@gentoo.org>
  +files/llvm-3.7.1-llvm-config-0.patch,
  +files/llvm-3.7.1-llvm-config-1.patch,
  +files/llvm-3.7.1-llvm-config-2.patch,
  +files/llvm-3.7.1-llvm-config-3.patch, +llvm-3.7.1-r1.ebuild:
  Update llvm-config patches for improved compatibility

  Backport upstream r252532 that improves llvm-config support for shared
  libraries, adding --shared-mode option in particular, along with
  --build-system option needed for it. Also fix --build-mode to report
  "Release" rather than non-standard "Gentoo" type.

  Bug: https://bugs.gentoo.org/show_bug.cgi?id=578304

*llvm-3.8.0-r1 (28 Mar 2016)

  28 Mar 2016; Michał Górny <mgorny@gentoo.org>
  files/llvm-3.8-llvm-config.patch, +files/llvm-3.8-soversion.patch,
  -llvm-3.8.0.ebuild, +llvm-3.8.0-r1.ebuild:
  Update llvm-config & restore shared libs in 3.8, #578392

  28 Mar 2016; Michał Górny <mgorny@gentoo.org>
  files/llvm-3.9-llvm-config.patch, llvm-9999.ebuild:
  Update patches for the live ebuild

  28 Mar 2016; Michał Górny <mgorny@gentoo.org>
  files/clang-3.4-darwin_prefix-include-paths.patch,
  files/cmake/llvm-3.7.0-lldb_tinfo.patch, llvm-3.7.1-r1.ebuild,
  llvm-3.8.0-r1.ebuild:
  Backport EAPI=6 changes to 3.7.1-r1 and 3.8.0-r1

  29 Mar 2016; Bernard Cafarelli <voyageur@gentoo.org> metadata.xml:
  remove myself from maintainers

  Package-Manager: portage-2.2.28

  07 May 2016; Nick Sarnie <commendsarnex@gmail.com> llvm-9999.ebuild:
  remove CppBackend from 9999

  Removed from LLVM SVN in r268631

  Signed-off-by: Nick Sarnie <commendsarnex@gmail.com>

  12 May 2016; Michał Górny <mgorny@gentoo.org> -llvm-3.7.0-r2.ebuild,
  -llvm-3.7.0-r3.ebuild, -llvm-3.7.0-r4.ebuild, -llvm-3.7.0-r5.ebuild,
  -llvm-3.7.1.ebuild:
  Clean up old 3.7 versions

*llvm-3.8.0-r2 (12 May 2016)
*llvm-3.7.1-r2 (12 May 2016)

  12 May 2016; Michał Górny <mgorny@gentoo.org>
  +files/clang-3.8-gcc4.9-search-path.patch, -llvm-3.7.1-r1.ebuild,
  +llvm-3.7.1-r2.ebuild, -llvm-3.8.0-r1.ebuild, +llvm-3.8.0-r2.ebuild:
  Backport upstream patch for gcc4.9 Gentoo header paths

  12 May 2016; Michał Górny <mgorny@gentoo.org> +files/cmake/compiler-rt-3.9-c
  make-Install-compiler-rt-into-usr-lib-without-suffi.patch, llvm-9999.ebuild:
  Update compiler-rt build patch for current git

  31 May 2016; Markus Meier <maekke@gentoo.org> llvm-3.7.1-r2.ebuild:
  arm stable, bug #564402

  Package-Manager: portage-2.3.0_rc1
  RepoMan-Options: --include-arches="arm"

  03 Jun 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Bump cmake requirement for live to 3.4.3, #584914

  05 Jun 2016; Michał Górny <mgorny@gentoo.org>
  -files/clang-3.3-gcc-header-path.patch,
  -files/clang-3.3-gentoo-install.patch, -files/llvm-3.3-R600_debug.patch,
  -files/llvm-3.3-r2-gentoo-install.patch, -llvm-3.3-r3.ebuild:
  Drop 3.3

  16 Jun 2016; Michael Palimaka <kensington@gentoo.org> llvm-3.7.1-r2.ebuild:
  amd64/x86 stable

  Gentoo-bug: 564402

  Package-Manager: portage-2.3.0_rc1

  23 Jun 2016; Patrice Clement <monsieurp@gentoo.org>
  +files/clang-3.8-compiler-rt-fbsd.patch, llvm-3.8.0-r2.ebuild:
  Fix build fails on Gentoo/FreeBSD.

  Gentoo-Bug: https://bugs.gentoo.org/578064
  Closes: https://github.com/gentoo/gentoo/pull/1693

  Signed-off-by: Patrice Clement <monsieurp@gentoo.org>

  27 Jun 2016; Austin English <wizardedit@gentoo.org> metadata.xml:
  sys-devel/{clang,llvm}: add myself as maintainer

*llvm-3.8.0-r3 (03 Jul 2016)
*llvm-3.7.1-r3 (03 Jul 2016)

  03 Jul 2016; Michał Górny <mgorny@gentoo.org> -llvm-3.7.1-r2.ebuild,
  +llvm-3.7.1-r3.ebuild, -llvm-3.8.0-r2.ebuild, +llvm-3.8.0-r3.ebuild,
  llvm-9999.ebuild:
  fix git-format-clang shebang, #562688

  Bug: https://bugs.gentoo.org/562688
  Package-Manager: portage-2.2.28
  Pull-Request: https://github.com/gentoo/gentoo/pull/1766

  03 Jul 2016; Michał Górny <mgorny@gentoo.org> llvm-3.7.1-r3.ebuild,
  llvm-3.8.0-r3.ebuild, llvm-9999.ebuild:
  Sync and clean up WX section code

  03 Jul 2016; Michał Górny <mgorny@gentoo.org>
  +files/clang-3.7.1-ccc-analyzer-isystem.patch, llvm-3.7.1-r3.ebuild:
  Fix static analyzer -isystem support, #586168

  03 Jul 2016; Michał Górny <mgorny@gentoo.org> llvm-3.8.0-r3.ebuild:
  Use tc-is-gcc from toolchain-funcs

  03 Jul 2016; Michał Górny <mgorny@gentoo.org> llvm-3.8.0-r3.ebuild,
  llvm-9999.ebuild:
  Improve cross-compiler support, #442958

  05 Jul 2016; Michał Górny <mgorny@gentoo.org>
  -files/clang-3.7-strip_doc_refs.patch, -files/llvm-2.7-nodoctargz.patch,
  -files/llvm-2.9-nodoctargz.patch, -files/llvm-3.3-gentoo-install.patch,
  -files/llvm-3.3-insecure-rpath.patch, -files/llvm-3.4-fix_varargs.patch,
  -files/llvm-3.7-nodoctargz.patch:
  Clean up obsolete patches

  05 Jul 2016; Michał Górny <mgorny@gentoo.org>
  -files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch,
  -files/clang-3.4-darwin_build_fix.patch,
  -files/clang-3.4-gentoo-install.patch,
  -files/llvm-3.3-cmake-modulepath.patch,
  -files/llvm-3.4-cmake-configparser.patch,
  -files/llvm-3.4-gentoo-install.patch, -llvm-3.4.2.ebuild, metadata.xml:
  Drop 3.4.2

*llvm-3.8.1 (15 Jul 2016)

  15 Jul 2016; Michał Górny <mgorny@gentoo.org> +llvm-3.8.1.ebuild:
  Bump to 3.8.1

  16 Jul 2016; Michał Górny <mgorny@gentoo.org> llvm-3.8.1.ebuild:
  Change subslot of 3.8.1 to match 3.8.0

  23 Jul 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Strip third version component for subslot, in -9999

  Strip the third version component (if there is any) for subslot value,
  therefore ensuring that e.g. 3.9.* will have subslot 3.9. This is not
  relevant to the -9999 ebuild but hopefully it will prevent me from
  forgetting to finally do this on next release.

  23 Jul 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Bump clang version in -9999 to 4.0, #589368

*llvm-3.8.1-r1 (01 Aug 2016)

  01 Aug 2016; Michał Górny <mgorny@gentoo.org>
  +files/clang-3.8-default-libs.patch, +files/clang-3.8-musl-support.patch,
  +files/llvm-3.8-musl-fixes.patch, +files/llvm-3.8-musl-support.patch,
  +llvm-3.8.1-r1.ebuild, metadata.xml:
  musl & default runtime lib switches, #589352

  - add support for building llvm against musl
  - enable clang to build binaries against musl
  - introduce USE flag "sanitize" to control the building of compiler-rt's
    sanitizers (they cause problem on musl)
  - be able to override default values of -stdlib and -rtlib for clang
    * USE="default-libcxx" implies -stdlib=libc++ (originally libstdc++)
    * USE="default-compiler-rt" implies -rtlib=compiler-rt (originally libgcc)

  02 Aug 2016; Matthias Maier <tamiko@gentoo.org>
  +files/clang-3.8-abi-tag-support-mangler.patch,
  +files/clang-3.8-abi-tag-support-sema.patch, llvm-3.8.1-r1.ebuild:
  Backport abi-tag support, bug #571600

  This applies the abi-tag support patches to 3.8.1-r1.

  Unfortunately, gcc-5* and gcc-6* have slightly ABI incompatible
  implementations of the abi-tag feature (basically a bugfix in gcc-6*) [1].
  The patchset for clang implements the gcc-6* version and is thus not fully
  compatible with gcc-5*.

  [1] https://llvm.org/bugs/show_bug.cgi?id=28511

  Package-Manager: portage-2.2.28

  14 Aug 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  update the live ebuild

  Closes: https://github.com/gentoo/gentoo/pull/2066
  Package-Manager: portage-2.2.28

  16 Aug 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
  Transfer maintenance to LLVM project

  21 Aug 2016; Michał Górny <mgorny@gentoo.org>
  +files/llvm-3.8-llvm-config-r1.patch, files/llvm-3.9-llvm-config.patch,
  llvm-3.8.1-r1.ebuild:
  Improve llvm-config upstream compatibility, #591690

  Improve the llvm-config installed by 3.8.1-r1 (masked) and the live
  ebuild to match upstream behavior better, and be more compatible with
  packages. Restore --obj-root to return prefix on installed package, and
  make --src-root return invalid /dev/null path instead of failing.

  Bug: https://bugs.gentoo.org/591690

  21 Aug 2016; Michał Górny <mgorny@gentoo.org> llvm-3.8.1-r1.ebuild:
  Reduce keywords on 3.8.1-r1 to match sys-libs/libcxx

*llvm-3.8.1-r2 (21 Aug 2016)

  21 Aug 2016; Michał Górny <mgorny@gentoo.org> -llvm-3.8.1-r1.ebuild,
  +llvm-3.8.1-r2.ebuild:
  Revbump and unleash 3.8.1-r1

  22 Aug 2016; Michał Górny <mgorny@gentoo.org>
  +files/9999/0009-cmake-Use-system-llvm-lit-when-lit.py-does-not-exist.patch,
  +files/9999/0010-lit-setup.py-Install-as-llvm-lit-as-cmake-expects-it.patch,
  -files/cmake/compiler-rt-3.9-cmake-Install-compiler-rt-into-usr-lib-without-
  suffi.patch, llvm-9999.ebuild:
  Strip external projects off the live ebuild

  22 Aug 2016; Michał Górny <mgorny@gentoo.org>
  +files/3.5.0/fix_LLVMExports_cmake.patch,
  +files/3.5.2/clang/gentoo-install.patch, +files/3.5.2/gcc-5.1.patch,
  +files/3.5.2/gentoo-install.patch, +files/3.6.2/clang/fbsd-gcc49.patch,
  +files/3.6.2/gcc-4.9.patch, +files/3.6.2/gentoo-install.patch,
  +files/3.6.2/nodoctargz.patch, +files/3.6.2/ocaml-ctypes-0.4.0.patch, +files
  /3.7.1/clang/0001-Install-clang-runtime-into-usr-lib-without-suffix.patch,
  +files/3.7.1/clang/ccc-analyzer-isystem.patch,
  +files/3.7.1/clang/gentoo-install.patch,
  +files/3.7.1/compiler-rt/arm_march_flags.patch,
  +files/3.7.1/compiler-rt/msan-fix.patch, +files/3.7.1/lldb/python.patch,
  +files/3.7.1/lldb/tinfo.patch, +files/3.7.1/llvm-config-0.patch,
  +files/3.7.1/llvm-config-1.patch, +files/3.7.1/llvm-config-2.patch,
  +files/3.7.1/llvm-config-3.patch, +files/3.7.1/msan-fix.patch, +files/3.8.1/
  clang/0001-Install-clang-runtime-into-usr-lib-without-suffix.patch,
  +files/3.8.1/clang/0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch,
  +files/3.8.1/clang/abi-tag-support-mangler.patch,
  +files/3.8.1/clang/abi-tag-support-sema.patch,
  +files/3.8.1/clang/darwin_prefix-include-paths.patch,
  +files/3.8.1/clang/default-libs.patch,
  +files/3.8.1/clang/gcc4.9-search-path.patch,
  +files/3.8.1/clang/gentoo-runtime-gcc-detection-v3.patch,
  +files/3.8.1/clang/musl-support.patch, +files/3.8.1/compiler-rt/0001-cmake-I
  nstall-compiler-rt-into-usr-lib-without-suffi.patch,
  +files/3.8.1/compiler-rt/arm_march_flags.patch,
  +files/3.8.1/compiler-rt/fbsd.patch, +files/3.8.1/lldb/six.patch,
  +files/3.8.1/llvm-config-r1.patch, +files/3.8.1/llvm-config.patch,
  +files/3.8.1/musl-env-support.patch,
  +files/9999/0001-cmake-Install-OCaml-modules-into-correct-package-loc.patch,
  +files/9999/0002-cmake-Make-OCaml-docs-dependent-on-LLVM_BUILD_DOCS.patch,
  +files/9999/0003-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch,
  +files/9999/0004-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch,
  +files/9999/0005-cmake-Do-not-install-libgtest.patch,
  +files/9999/0006-cmake-Remove-the-CMAKE_BUILD_TYPE-assertion.patch,
  +files/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch,
  +files/9999/0008-cmake-Restore-SOVERSIONs-on-shared-libraries.patch,
  +files/9999/musl-fixes.patch,
  -files/clang-3.4-darwin_prefix-include-paths.patch,
  -files/clang-3.5-gentoo-install.patch,
  -files/clang-3.5-gentoo-runtime-gcc-detection-v3.patch,
  -files/clang-3.6-fbsd-gcc49.patch, -files/clang-3.6-gentoo-install.patch,
  -files/clang-3.7.1-ccc-analyzer-isystem.patch,
  -files/clang-3.8-abi-tag-support-mangler.patch,
  -files/clang-3.8-abi-tag-support-sema.patch,
  -files/clang-3.8-compiler-rt-fbsd.patch,
  -files/clang-3.8-default-libs.patch,
  -files/clang-3.8-gcc4.9-search-path.patch,
  -files/clang-3.8-musl-support.patch, -files/cmake/0002-cmake-Support-overrid
  ing-Sphinx-HTML-doc-install-dir.patch, -files/cmake/0003-cmake-Add-an-orderi
  ng-dep-between-HTML-man-Sphinx-ta.patch,
  -files/cmake/0004-cmake-Do-not-install-libgtest.patch, -files/cmake/clang-00
  01-Install-clang-runtime-into-usr-lib-without-suffix-3.8.patch, -files/cmake
  /clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch,
  -files/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch, -f
  iles/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-s
  uffi.patch, -files/cmake/llvm-3.7.0-compiler_rt_arm_march_flags.patch,
  -files/cmake/llvm-3.7.0-lldb_tinfo.patch,
  -files/cmake/llvm-3.7.0-ocaml-build_doc.patch,
  -files/cmake/llvm-3.7.0-ocaml-multilib.patch,
  -files/cmake/llvm-3.8-allow_custom_cmake_build_types.patch,
  -files/cmake/llvm-3.8.0-compiler_rt_arm_march_flags.patch,
  -files/compiler-rt-3.7-msan-fix.patch, -files/llvm-3.2-nodoctargz.patch,
  -files/llvm-3.5-gcc-4.9.patch, -files/llvm-3.5-gentoo-install.patch,
  -files/llvm-3.5.0-fix_LLVMExports_cmake.patch,
  -files/llvm-3.5.2-gcc-5.1.patch, -files/llvm-3.6-gentoo-install.patch,
  -files/llvm-3.6.0-ocaml-ctypes-0.4.0.patch,
  -files/llvm-3.7-lldb_python.patch, -files/llvm-3.7-msan-fix.patch,
  -files/llvm-3.7.1-llvm-config-0.patch,
  -files/llvm-3.7.1-llvm-config-1.patch,
  -files/llvm-3.7.1-llvm-config-2.patch,
  -files/llvm-3.7.1-llvm-config-3.patch, -files/llvm-3.8-lldb_six.patch,
  -files/llvm-3.8-llvm-config-r1.patch, -files/llvm-3.8-llvm-config.patch,
  -files/llvm-3.8-musl-fixes.patch, -files/llvm-3.8-musl-support.patch,
  -files/llvm-3.8-soversion.patch, -files/llvm-3.9-llvm-config.patch,
  llvm-3.5.0.ebuild, llvm-3.5.2.ebuild, llvm-3.6.2.ebuild,
  llvm-3.7.1-r3.ebuild, llvm-3.8.0-r3.ebuild, llvm-3.8.1.ebuild,
  llvm-3.8.1-r2.ebuild, llvm-9999.ebuild:
  Group all patches by newest version applicable

  22 Aug 2016; Michał Górny <mgorny@gentoo.org>
  -files/llvm-3.7-llvm-config.patch:
  Remove unused patch

  23 Aug 2016; Michał Górny <mgorny@gentoo.org>
  +files/3.8.1/0002-cmake-Make-OCaml-docs-dependent-on-LLVM_BUILD_DOCS.patch,
  -files/9999/0002-cmake-Make-OCaml-docs-dependent-on-LLVM_BUILD_DOCS.patch,
  llvm-3.7.1-r3.ebuild, llvm-3.8.0-r3.ebuild, llvm-3.8.1.ebuild,
  llvm-3.8.1-r2.ebuild, llvm-9999.ebuild:
  OCaml doc patch has been applied upstream

  24 Aug 2016; Michał Górny <mgorny@gentoo.org>
  -files/9999/0005-cmake-Do-not-install-libgtest.patch, llvm-9999.ebuild:
  Remove unnecessary gtest patch

  25 Aug 2016; Michał Górny <mgorny@gentoo.org>
  +files/3.8.1/0005-cmake-Do-not-install-libgtest.patch, llvm-3.7.1-r3.ebuild,
  llvm-3.8.0-r3.ebuild, llvm-3.8.1.ebuild, llvm-3.8.1-r2.ebuild:
  Restore gtest patch for <9999, #592046

*llvm-3.9.0_rc3 (28 Aug 2016)

  28 Aug 2016; Michał Górny <mgorny@gentoo.org>
  -files/3.8.1/0002-cmake-Make-OCaml-docs-dependent-on-LLVM_BUILD_DOCS.patch, 
  -files/3.8.1/clang/0001-Install-clang-runtime-into-usr-lib-without-suffix.pa
  tch,
  -files/3.8.1/clang/0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch,
  -files/3.8.1/clang/darwin_prefix-include-paths.patch,
  -files/3.8.1/clang/gentoo-runtime-gcc-detection-v3.patch,
  -files/3.8.1/lldb/six.patch, -files/3.8.1/llvm-config-r1.patch,
  +files/3.9.0/0002-cmake-Make-OCaml-docs-dependent-on-LLVM_BUILD_DOCS.patch, 
  +files/3.9.0/clang/0001-Install-clang-runtime-into-usr-lib-without-suffix.pa
  tch,
  +files/3.9.0/clang/0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch,
  +files/3.9.0/clang/darwin_prefix-include-paths.patch,
  +files/3.9.0/clang/default-libs.patch,
  +files/3.9.0/clang/gentoo-runtime-gcc-detection-v3.patch, +files/3.9.0/compi
  ler-rt/0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch,
  +files/3.9.0/lldb/six.patch, +files/3.9.0/llvm-config-r1.patch,
  llvm-3.5.0.ebuild, llvm-3.5.2.ebuild, llvm-3.6.2.ebuild,
  llvm-3.7.1-r3.ebuild, llvm-3.8.0-r3.ebuild, llvm-3.8.1.ebuild,
  llvm-3.8.1-r2.ebuild, +llvm-3.9.0_rc3.ebuild, llvm-9999.ebuild:
  Bump to 3.9.0rc3

  29 Aug 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Fix cmake unused arg warnings with USE=-doc

  31 Aug 2016; Michał Górny <mgorny@gentoo.org>
  files/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch:
  Fix llvm-config --obj-root on the live ebuild

  02 Sep 2016; Michał Górny <mgorny@gentoo.org>
  -files/9999/0009-cmake-Use-system-llvm-lit-when-lit.py-does-not-exist.patch,
  -files/9999/0010-lit-setup.py-Install-as-llvm-lit-as-cmake-expects-it.patch,
  llvm-9999.ebuild:
  Stop installing llvm-lit

  Stop installing lit as llvm-lit since the correct install layout is
  still unclear (wrt https://reviews.llvm.org/D23743), installed version
  search is inconsistent and broken, and all reverse dependencies require
  LLVM source checkout anyway and therefore use the internal lit package
  included in it. The install will eventually be addressed later, most
  likely as a split package.

*llvm-3.9.0 (03 Sep 2016)

  03 Sep 2016; Michał Górny <mgorny@gentoo.org> -llvm-3.9.0_rc3.ebuild,
  +llvm-3.9.0.ebuild:
  Bump to 3.9.0 release (no changes since rc3)

  03 Sep 2016; Michał Górny <mgorny@gentoo.org> llvm-3.9.0.ebuild:
  Readd WX stack fix to 3.9.0

  04 Sep 2016; Fabian Groffen <grobian@gentoo.org>
  +files/3.8.1/compiler-rt/darwin-default-sysroot.patch, llvm-3.8.1.ebuild,
  llvm-3.9.0.ebuild:
  add patch for compiler-rt on Darwin/Prefix

  Package-Manager: portage-2.2.28

  04 Sep 2016; Fabian Groffen <grobian@gentoo.org> llvm-3.8.1.ebuild,
  llvm-3.9.0.ebuild:
  remove trailing whitespace

  Package-Manager: portage-2.2.28

  06 Sep 2016; Michał Górny <mgorny@gentoo.org> llvm-3.8.1-r2.ebuild,
  llvm-3.9.0.ebuild:
  Move libcxx to PDEP, to avoid circular deps

  08 Sep 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Fix disabling OCaml docs in -9999

  09 Sep 2016; Michał Górny <mgorny@gentoo.org> llvm-3.8.1-r2.ebuild,
  llvm-3.9.0.ebuild, llvm-9999.ebuild:
  Improve OCaml deps as suggested by aballier

  10 Sep 2016; Fabian Groffen <grobian@gentoo.org> llvm-3.5.2.ebuild,
  llvm-3.7.1-r3.ebuild, llvm-3.8.1.ebuild, llvm-3.8.1-r2.ebuild,
  llvm-3.9.0.ebuild:
  move libcxx into PDEPEND for Darwin

  llvm needs libcxx-headers at most, but not the library, however, llvm
  does segfault if the matching libcxx isn't available at runtime, so make
  sure we install a matching version after installing llvm on Darwin.

  Package-Manager: portage-2.2.28

*llvm-3.4.2-r100 (10 Sep 2016)

  10 Sep 2016; Fabian Groffen <grobian@gentoo.org>
  +files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch,
  +files/clang-3.4-darwin_build_fix.patch,
  +files/clang-3.4-gentoo-install.patch, +files/llvm-3.4-gentoo-install.patch,
  +llvm-3.4.2-r100.ebuild:
  restore llvm-3.4.2 for Prefix bootstraps, bug #588132

  Package-Manager: portage-2.2.28

  10 Sep 2016; Fabian Groffen <grobian@gentoo.org>
  +files/3.4.2/clang/darwin_build_fix.patch,
  +files/3.4.2/clang/gentoo-install.patch,
  +files/3.4.2/clang/gentoo-runtime-gcc-detection-v3.patch,
  +files/3.4.2/gentoo-install.patch,
  -files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch,
  -files/clang-3.4-darwin_build_fix.patch,
  -files/clang-3.4-gentoo-install.patch, -files/llvm-3.4-gentoo-install.patch,
  llvm-3.4.2-r100.ebuild:
  fix patches for 3.4.2

  Package-Manager: portage-2.2.28

  10 Sep 2016; Fabian Groffen <grobian@gentoo.org> llvm-3.4.2-r100.ebuild:
  make 3.4.2 work post-Prefix bootstrap too

  Package-Manager: portage-2.2.28

  20 Sep 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Disable ocamldoc due to wrong install path

  21 Sep 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Remove the remnants of OCaml documentation

  23 Sep 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Update for the Sphinx install dir patch applied upstream

  23 Sep 2016; Michał Górny <mgorny@gentoo.org> +files/3.9.0/0003-cmake-Suppor
  t-overriding-Sphinx-HTML-doc-install-dir.patch,
  -files/9999/0003-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch,
  llvm-3.7.1-r3.ebuild, llvm-3.8.0-r3.ebuild, llvm-3.8.1.ebuild,
  llvm-3.8.1-r2.ebuild, llvm-3.9.0.ebuild:
  Move the old Sphinx install patch to <=3.9.0

  29 Sep 2016; Michał Górny <mgorny@gentoo.org> llvm-9999.ebuild:
  Use LLVM_TARGETS flags

  29 Sep 2016; Michał Górny <mgorny@gentoo.org> llvm-3.9.0.ebuild:
  Backport LLVM_TARGETS to 3.9.0

