about summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-06-23 12:07:57 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-06-23 12:09:03 +0200
commit6b27ceb006ace21f9157034ac743242a0147eeec (patch)
treede8c80579090028b8a918796fd7a8eda3c4cecf0 /pkgs/development/compilers
parent14c038dd0390a9b24969f0138356b5c7520b9fdf (diff)
parentb3bcb59bd5fddc3c0f74bbe120de561bbea29878 (diff)
downloadnixlib-6b27ceb006ace21f9157034ac743242a0147eeec.tar
nixlib-6b27ceb006ace21f9157034ac743242a0147eeec.tar.gz
nixlib-6b27ceb006ace21f9157034ac743242a0147eeec.tar.bz2
nixlib-6b27ceb006ace21f9157034ac743242a0147eeec.tar.lz
nixlib-6b27ceb006ace21f9157034ac743242a0147eeec.tar.xz
nixlib-6b27ceb006ace21f9157034ac743242a0147eeec.tar.zst
nixlib-6b27ceb006ace21f9157034ac743242a0147eeec.zip
Merge 'master' into staging and re-revert merge
... from staging to master, reverted temporarily in aa9a04883e34.
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/colm/default.nix1
-rw-r--r--pkgs/development/compilers/elm/packages/elm-repl.nix2
-rw-r--r--pkgs/development/compilers/emscripten-fastcomp/default.nix2
-rw-r--r--pkgs/development/compilers/ghc/with-packages.nix70
-rw-r--r--pkgs/development/compilers/llvm/3.8/libc++/darwin.patch29
-rw-r--r--pkgs/development/compilers/llvm/3.8/libc++/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.8/lldb.nix16
-rw-r--r--pkgs/development/compilers/manticore/default.nix2
-rw-r--r--pkgs/development/compilers/microscheme/default.nix4
-rw-r--r--pkgs/development/compilers/terra/default.nix13
10 files changed, 47 insertions, 94 deletions
diff --git a/pkgs/development/compilers/colm/default.nix b/pkgs/development/compilers/colm/default.nix
index 3a3670279c62..f9dc99ee2f8f 100644
--- a/pkgs/development/compilers/colm/default.nix
+++ b/pkgs/development/compilers/colm/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     description = "A programming language for the analysis and transformation of computer languages";
     homepage = http://www.colm.net/open-source/colm;
     license = licenses.gpl2;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/compilers/elm/packages/elm-repl.nix b/pkgs/development/compilers/elm/packages/elm-repl.nix
index 030378e1811b..3b17722b91d8 100644
--- a/pkgs/development/compilers/elm/packages/elm-repl.nix
+++ b/pkgs/development/compilers/elm/packages/elm-repl.nix
@@ -24,6 +24,6 @@ mkDerivation {
   ];
   jailbreak = true;
   homepage = "https://github.com/elm-lang/elm-repl";
-  description = "a REPL for Elm";
+  description = "A REPL for Elm";
   license = stdenv.lib.licenses.bsd3;
 }
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix
index 9c540b0c10eb..5403c29baab4 100644
--- a/pkgs/development/compilers/emscripten-fastcomp/default.nix
+++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = https://github.com/kripken/emscripten-fastcomp;
-    description = "emscripten llvm";
+    description = "Emscripten llvm";
     platforms = platforms.all;
     maintainers = with maintainers; [ qknight matthewbauer ];
     license = stdenv.lib.licenses.ncsa;
diff --git a/pkgs/development/compilers/ghc/with-packages.nix b/pkgs/development/compilers/ghc/with-packages.nix
deleted file mode 100644
index 9909c49e1435..000000000000
--- a/pkgs/development/compilers/ghc/with-packages.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ stdenv, ghc, packages, buildEnv, makeWrapper, ignoreCollisions ? false }:
-
-# This wrapper works only with GHC 6.12 or later.
-assert stdenv.lib.versionOlder "6.12" ghc.version;
-
-# It's probably a good idea to include the library "ghc-paths" in the
-# compiler environment, because we have a specially patched version of
-# that package in Nix that honors these environment variables
-#
-#   NIX_GHC
-#   NIX_GHCPKG
-#   NIX_GHC_DOCDIR
-#   NIX_GHC_LIBDIR
-#
-# instead of hard-coding the paths. The wrapper sets these variables
-# appropriately to configure ghc-paths to point back to the wrapper
-# instead of to the pristine GHC package, which doesn't know any of the
-# additional libraries.
-#
-# A good way to import the environment set by the wrapper below into
-# your shell is to add the following snippet to your ~/.bashrc:
-#
-#   if [ -e ~/.nix-profile/bin/ghc ]; then
-#     eval $(grep export ~/.nix-profile/bin/ghc)
-#   fi
-
-let
-  ghc761OrLater = stdenv.lib.versionOlder "7.6.1" ghc.version;
-  packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf";
-  libDir        = "$out/lib/ghc-${ghc.version}";
-  docDir        = "$out/share/doc/ghc/html";
-  packageCfgDir = "${libDir}/package.conf.d";
-  isHaskellPkg  = x: (x ? pname) && (x ? version);
-in
-if packages == [] then ghc else
-buildEnv {
-  name = "haskell-env-${ghc.name}";
-  paths = stdenv.lib.filter isHaskellPkg (stdenv.lib.closePropagation packages) ++ [ghc];
-  inherit ignoreCollisions;
-  postBuild = ''
-    . ${makeWrapper}/nix-support/setup-hook
-
-    for prg in ghc ghci ghc-${ghc.version} ghci-${ghc.version}; do
-      rm -f $out/bin/$prg
-      makeWrapper ${ghc}/bin/$prg $out/bin/$prg         \
-        --add-flags '"-B$NIX_GHC_LIBDIR"'               \
-        --set "NIX_GHC"        "$out/bin/ghc"           \
-        --set "NIX_GHCPKG"     "$out/bin/ghc-pkg"       \
-        --set "NIX_GHC_DOCDIR" "${docDir}"              \
-        --set "NIX_GHC_LIBDIR" "${libDir}"
-    done
-
-    for prg in runghc runhaskell; do
-      rm -f $out/bin/$prg
-      makeWrapper ${ghc}/bin/$prg $out/bin/$prg         \
-        --add-flags "-f $out/bin/ghc"                   \
-        --set "NIX_GHC"        "$out/bin/ghc"           \
-        --set "NIX_GHCPKG"     "$out/bin/ghc-pkg"       \
-        --set "NIX_GHC_DOCDIR" "${docDir}"              \
-        --set "NIX_GHC_LIBDIR" "${libDir}"
-    done
-
-    for prg in ghc-pkg ghc-pkg-${ghc.version}; do
-      rm -f $out/bin/$prg
-      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag}=${packageCfgDir}"
-    done
-
-    $out/bin/ghc-pkg recache
-  '';
-}
diff --git a/pkgs/development/compilers/llvm/3.8/libc++/darwin.patch b/pkgs/development/compilers/llvm/3.8/libc++/darwin.patch
index bf83f169cfc3..6dd756f01cc2 100644
--- a/pkgs/development/compilers/llvm/3.8/libc++/darwin.patch
+++ b/pkgs/development/compilers/llvm/3.8/libc++/darwin.patch
@@ -1,16 +1,18 @@
-diff -ru -x '*~' libcxx-3.4.2.src-orig/lib/CMakeLists.txt libcxx-3.4.2.src/lib/CMakeLists.txt
---- libcxx-3.4.2.src-orig/lib/CMakeLists.txt	2013-11-15 18:18:57.000000000 +0100
-+++ libcxx-3.4.2.src/lib/CMakeLists.txt	2014-09-24 14:04:01.000000000 +0200
-@@ -56,7 +56,7 @@
+--- libcxx-3.8.0.src.org/lib/CMakeLists.txt	2015-12-16 15:41:05.000000000 -0800
++++ libcxx-3.8.0.src/lib/CMakeLists.txt	2016-06-17 19:40:00.293394500 -0700
+@@ -94,30 +94,30 @@
+     add_definitions(-D__STRICT_ANSI__)
+     add_link_flags(
        "-compatibility_version 1"
-       "-current_version ${LIBCXX_VERSION}"
-       "-install_name /usr/lib/libc++.1.dylib"
+       "-current_version 1"
+-      "-install_name /usr/lib/libc++.1.dylib"
 -      "-Wl,-reexport_library,/usr/lib/libc++abi.dylib"
++      "-install_name ${LIBCXX_LIBCXXABI_LIB_PATH}/libc++.1.dylib"
 +      "-Wl,-reexport_library,${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib"
        "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp"
        "/usr/lib/libSystem.B.dylib")
    else()
-@@ -64,14 +64,14 @@
+     if ( ${CMAKE_OSX_SYSROOT} )
        list(FIND ${CMAKE_OSX_ARCHITECTURES} "armv7" OSX_HAS_ARMV7)
        if (OSX_HAS_ARMV7)
          set(OSX_RE_EXPORT_LINE
@@ -23,8 +25,15 @@ diff -ru -x '*~' libcxx-3.4.2.src-orig/lib/CMakeLists.txt libcxx-3.4.2.src/lib/C
 +          "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib")
        endif()
      else()
--      set (OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp")
-+      set (OSX_RE_EXPORT_LINE "${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp")
+-      set(OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp")
++      set(OSX_RE_EXPORT_LINE "${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp")
      endif()
  
-     list(APPEND link_flags
+     add_link_flags(
+       "-compatibility_version 1"
+-      "-install_name /usr/lib/libc++.1.dylib"
++      "-install_name ${LIBCXX_LIBCXXABI_LIB_PATH}/libc++.1.dylib"
+       "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp"
+       "${OSX_RE_EXPORT_LINE}"
+       "-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/notweak.exp"
+       "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/weak.exp")
diff --git a/pkgs/development/compilers/llvm/3.8/libc++/default.nix b/pkgs/development/compilers/llvm/3.8/libc++/default.nix
index e4da582857a1..f10dcb6784ca 100644
--- a/pkgs/development/compilers/llvm/3.8/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.8/libc++/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$NIX_BUILD_TOP/libcxxabi-${version}.src/include")
   '';
 
-  patches = [ ./darwin.patch ];
+  patches = lib.optional stdenv.isDarwin ./darwin.patch;
 
   buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
diff --git a/pkgs/development/compilers/llvm/3.8/lldb.nix b/pkgs/development/compilers/llvm/3.8/lldb.nix
index fe69130e71a7..ca8a74c28bb6 100644
--- a/pkgs/development/compilers/llvm/3.8/lldb.nix
+++ b/pkgs/development/compilers/llvm/3.8/lldb.nix
@@ -15,12 +15,14 @@
 stdenv.mkDerivation {
   name = "lldb-${version}";
 
-  src = fetch "lldb" "008fdbyza13ym3v0xpans4z4azw4y16hcbgrrnc4rx2mxwaw62ws";
-
-  patchPhase = ''
-    sed -i 's|/usr/bin/env||' \
-      scripts/Python/finish-swig-Python-LLDB.sh \
-      scripts/Python/build-swig-Python.sh
+  src = fetch "lldb" "0dasg12gf5crrd9pbi5rd1y8vwlgqp8nxgw9g4z47w3x2i28zxp3";
+
+  postUnpack = ''
+    # Hack around broken standalone builf as of 3.8
+    unpackFile ${llvm.src}
+    srcDir="$(ls -d lldb-*.src)"
+    mkdir -p "$srcDir/tools/lib/Support"
+    cp "$(ls -d llvm-*.src)/lib/Support/regex_impl.h" "$srcDir/tools/lib/Support/"
   '';
 
   buildInputs = [ cmake python which swig ncurses zlib libedit ];
@@ -33,7 +35,9 @@ stdenv.mkDerivation {
   cmakeFlags = [
     "-DCMAKE_BUILD_TYPE=Release"
     "-DLLDB_PATH_TO_LLVM_BUILD=${llvm}"
+    "-DLLVM_MAIN_INCLUDE_DIR=${llvm}/include"
     "-DLLDB_PATH_TO_CLANG_BUILD=${clang-unwrapped}"
+    "-DCLANG_MAIN_INCLUDE_DIR=${clang-unwrapped}/include"
     "-DPYTHON_VERSION_MAJOR=2"
     "-DPYTHON_VERSION_MINOR=7"
   ];
diff --git a/pkgs/development/compilers/manticore/default.nix b/pkgs/development/compilers/manticore/default.nix
index 983f86531dc9..7e8312549da9 100644
--- a/pkgs/development/compilers/manticore/default.nix
+++ b/pkgs/development/compilers/manticore/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   inherit stdenv coreutils autoconf automake smlnj;
 
   meta = {
-    description = "a parallel, pure variant of Standard ML";
+    description = "A parallel, pure variant of Standard ML";
 
     longDescription = '' 
       Manticore is a high-level parallel programming language aimed at
diff --git a/pkgs/development/compilers/microscheme/default.nix b/pkgs/development/compilers/microscheme/default.nix
index 9ed5b8950e95..64d86aaac0d5 100644
--- a/pkgs/development/compilers/microscheme/default.nix
+++ b/pkgs/development/compilers/microscheme/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "microscheme-${version}";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchzip {
     name = "${name}-src";
     url = "https://github.com/ryansuchocki/microscheme/archive/v${version}.tar.gz";
-    sha256 = "0ly1cphvnsip70kng9q0blb07pkyp9allav42sr6ybswqfqg60j9";
+    sha256 = "1r3ng4pw1s9yy1h5rafra1rq19d3vmb5pzbpcz1913wz22qdd976";
   };
 
   buildInputs = [ makeWrapper vim ];
diff --git a/pkgs/development/compilers/terra/default.nix b/pkgs/development/compilers/terra/default.nix
index 4bee8ee4f357..7cb3dddd5eb1 100644
--- a/pkgs/development/compilers/terra/default.nix
+++ b/pkgs/development/compilers/terra/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchurl, which, llvmPackages, ncurses, lua }:
+{ stdenv, fetchFromGitHub, fetchurl, llvmPackages, ncurses, lua }:
 
 let
   luajitArchive = "LuaJIT-2.0.4.tar.gz";
@@ -27,6 +27,11 @@ stdenv.mkDerivation rec {
   '';
 
   preBuild = ''
+    cat >Makefile.inc<<EOF
+    CLANG = ${stdenv.lib.getBin llvmPackages.clang-unwrapped}/bin/clang
+    LLVM_CONFIG = ${stdenv.lib.getBin llvmPackages.llvm}/bin/llvm-config
+    EOF
+
     mkdir -p build
     cp ${luajitSrc} build/${luajitArchive}
   '';
@@ -46,7 +51,11 @@ stdenv.mkDerivation rec {
   ''
   ;
 
-  buildInputs = with llvmPackages; [ which lua llvm clang-unwrapped ncurses ];
+  postFixup = ''
+    paxmark m $bin/bin/terra
+  '';
+
+  buildInputs = with llvmPackages; [ lua llvm clang-unwrapped ncurses ];
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;