diff options
author | Joe Hermaszewski <git@monoid.al> | 2016-06-04 13:24:11 +0100 |
---|---|---|
committer | Joe Hermaszewski <git@monoid.al> | 2016-08-03 19:00:39 +0100 |
commit | c7281d14f7f247e3638b60c02f2a853d1005852f (patch) | |
tree | f393abd3d4c8134ac9f37fd0ce5b1ab86199a3e4 /pkgs/development/compilers | |
parent | 70bf9314989b7714672f861b010bbfc824584ee7 (diff) | |
download | nixlib-c7281d14f7f247e3638b60c02f2a853d1005852f.tar nixlib-c7281d14f7f247e3638b60c02f2a853d1005852f.tar.gz nixlib-c7281d14f7f247e3638b60c02f2a853d1005852f.tar.bz2 nixlib-c7281d14f7f247e3638b60c02f2a853d1005852f.tar.lz nixlib-c7281d14f7f247e3638b60c02f2a853d1005852f.tar.xz nixlib-c7281d14f7f247e3638b60c02f2a853d1005852f.tar.zst nixlib-c7281d14f7f247e3638b60c02f2a853d1005852f.zip |
clang-3.5: fix build
Make Obj public in llvm's IntrusiveRefCntPtr This fixes NixOs/nixpkgs#15974 It's not a nice fix, as it's really clang's problem. The proper fix should modify clang's usage of IntrusiveRefCntPtr.
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r-- | pkgs/development/compilers/llvm/3.5/clang.nix | 1 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.5/fix-15974.patch | 15 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/3.5/llvm.nix | 3 |
3 files changed, 18 insertions, 1 deletions
diff --git a/pkgs/development/compilers/llvm/3.5/clang.nix b/pkgs/development/compilers/llvm/3.5/clang.nix index d3ce8a4f9ff0..42ca4ba70e4d 100644 --- a/pkgs/development/compilers/llvm/3.5/clang.nix +++ b/pkgs/development/compilers/llvm/3.5/clang.nix @@ -50,6 +50,5 @@ in stdenv.mkDerivation { homepage = http://llvm.org/; license = stdenv.lib.licenses.bsd3; platforms = stdenv.lib.platforms.all; - broken = true; }; } diff --git a/pkgs/development/compilers/llvm/3.5/fix-15974.patch b/pkgs/development/compilers/llvm/3.5/fix-15974.patch new file mode 100644 index 000000000000..446004cd9988 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.5/fix-15974.patch @@ -0,0 +1,15 @@ +diff --git a/include/llvm/ADT/IntrusiveRefCntPtr.h b/include/llvm/ADT/IntrusiveRefCntPtr.h +index f9df378..9d860ec 100644 +--- a/include/llvm/ADT/IntrusiveRefCntPtr.h ++++ b/include/llvm/ADT/IntrusiveRefCntPtr.h +@@ -134,9 +134,9 @@ public: + //===----------------------------------------------------------------------===// + template <typename T> + class IntrusiveRefCntPtr { ++ public: + T* Obj; + +- public: + typedef T element_type; + + explicit IntrusiveRefCntPtr() : Obj(nullptr) {} diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix index 64df30dc23f9..4f54f1438a7c 100644 --- a/pkgs/development/compilers/llvm/3.5/llvm.nix +++ b/pkgs/development/compilers/llvm/3.5/llvm.nix @@ -53,6 +53,8 @@ in stdenv.mkDerivation rec { "-DCAN_TARGET_i386=false" ]; + patches = [ ./fix-15974.patch ]; + postBuild = '' rm -fR $out @@ -75,3 +77,4 @@ in stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.all; }; } + |