summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/sayonara/default.nix45
-rw-r--r--pkgs/applications/misc/jekyll/default.nix18
-rw-r--r--pkgs/applications/networking/remote/xrdp/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/4/clang/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/4/dynamiclibrary-musl.patch33
-rw-r--r--pkgs/development/compilers/llvm/4/libc++/default.nix12
-rw-r--r--pkgs/development/compilers/llvm/4/libc++/max_align_t.patch54
-rw-r--r--pkgs/development/compilers/llvm/4/libc++abi.nix3
-rw-r--r--pkgs/development/compilers/llvm/4/llvm.nix11
-rw-r--r--pkgs/development/compilers/llvm/5/clang/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/5/libc++/default.nix15
-rw-r--r--pkgs/development/compilers/llvm/5/libc++abi.nix2
-rw-r--r--pkgs/development/compilers/llvm/5/llvm.nix13
-rw-r--r--pkgs/development/compilers/llvm/TLI-musl.patch35
-rw-r--r--pkgs/development/compilers/llvm/libcxx-0001-musl-hacks.patch39
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix363
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix7
-rw-r--r--pkgs/tools/text/replace/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix4
19 files changed, 371 insertions, 297 deletions
diff --git a/pkgs/applications/audio/sayonara/default.nix b/pkgs/applications/audio/sayonara/default.nix
new file mode 100644
index 000000000000..1bf1a8b2c49e
--- /dev/null
+++ b/pkgs/applications/audio/sayonara/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, cmake, qt5, zlib, taglib, pkgconfig, pcre, gst_all_1 }:
+
+let
+  version = "1.0.0-git5-20180115";
+in
+stdenv.mkDerivation {
+  name = "sayonara-player-${version}";
+
+  src = fetchurl {
+    url = "https://sayonara-player.com/sw/sayonara-player-${version}.tar.gz";
+    sha256 = "1fl7zplnrrvbv1xm4g348bpd46jj39jvbm808hyjjq92i64wqg37";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = with qt5; with gst_all_1;
+      [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly
+        pcre qtbase qttools taglib zlib
+      ];
+
+  # CMake Error at src/GUI/Resources/Icons/cmake_install.cmake:49 (file):
+  #   file cannot create directory: /usr/share/icons.  Maybe need administrative
+  #   privileges.
+  # Call Stack (most recent call first):
+  #   src/GUI/Resources/cmake_install.cmake:50 (include)
+  #   src/GUI/cmake_install.cmake:50 (include)
+  #   src/cmake_install.cmake:59 (include)
+  #   cmake_install.cmake:42 (include)
+  postPatch = ''
+    substituteInPlace src/GUI/Resources/Icons/CMakeLists.txt \
+      --replace "/usr/share" "$out/share"
+  '';
+
+  # [ 65%] Building CXX object src/Components/Engine/CMakeFiles/say_comp_engine.dir/AbstractPipeline.cpp.o
+  # /tmp/nix-build-sayonara-player-1.0.0-git5-20180115.drv-0/sayonara-player/src/Components/Engine/AbstractPipeline.cpp:28:32: fatal error: gst/app/gstappsink.h: No such file or directory
+  #  #include <gst/app/gstappsink.h>
+  NIX_CFLAGS_COMPILE = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0";
+
+  meta = with stdenv.lib;
+    { description = "Sayonara music player";
+      homepage = https://sayonara-player.com/;
+      license = licenses.gpl3;
+      platforms = qt5.qtbase.meta.platforms;
+      maintainers = [ maintainers.deepfire ];
+    };
+}
diff --git a/pkgs/applications/misc/jekyll/default.nix b/pkgs/applications/misc/jekyll/default.nix
index 765346a8b322..418b4ea466ea 100644
--- a/pkgs/applications/misc/jekyll/default.nix
+++ b/pkgs/applications/misc/jekyll/default.nix
@@ -1,11 +1,15 @@
-{ stdenv, lib, bundlerEnv, ruby
+{ lib, bundlerEnv, ruby
 , withOptionalDependencies ? false
 }:
 
 bundlerEnv rec {
   name = pname + "-" + version;
   pname = "jekyll";
-  version = (import "${gemdir}/gemset.nix").jekyll.version;
+  version = (import
+    (if withOptionalDependencies
+      then ./full/gemset.nix
+      else ./basic/gemset.nix))
+    .jekyll.version;
 
   inherit ruby;
   gemdir = if withOptionalDependencies
@@ -13,7 +17,15 @@ bundlerEnv rec {
     else ./basic;
 
   meta = with lib; {
-    description = "Simple, blog aware, static site generator";
+    description = "A blog-aware, static site generator, written in Ruby";
+    longDescription = ''
+      Jekyll is a simple, blog-aware, static site generator, written in Ruby.
+      Think of it like a file-based CMS, without all the complexity. Jekyll
+      takes your content, renders Markdown and Liquid templates, and spits out a
+      complete, static website ready to be served by Apache, Nginx or another
+      web server. Jekyll is the engine behind GitHub Pages, which you can use to
+      host sites right from your GitHub repositories.
+    '';
     homepage    = https://jekyllrb.com/;
     license     = licenses.mit;
     maintainers = with maintainers; [ primeos pesterhazy ];
diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix
index b6b1f6542af3..ed1abfcba99d 100644
--- a/pkgs/applications/networking/remote/xrdp/default.nix
+++ b/pkgs/applications/networking/remote/xrdp/default.nix
@@ -3,13 +3,13 @@
 let
   xorgxrdp = stdenv.mkDerivation rec {
     name = "xorgxrdp-${version}";
-    version = "0.2.3";
+    version = "0.2.5";
 
     src = fetchFromGitHub {
       owner = "neutrinolabs";
       repo = "xorgxrdp";
       rev = "v${version}";
-      sha256 = "0l1b38j3q9mxyb8ffpdplbqs6rnabj92i8wngrwlkhfh2c88szn1";
+      sha256 = "05ix0bvbgpg0l0f6pyxp64a4785yv16dxf522y7k84b0rag4bxr7";
     };
 
     nativeBuildInputs = [ pkgconfig autoconf automake which libtool nasm ];
@@ -34,7 +34,7 @@ let
   };
 
   xrdp = stdenv.mkDerivation rec {
-    version = "0.9.3";
+    version = "0.9.5";
     name = "xrdp-${version}";
 
     src = fetchFromGitHub {
@@ -42,7 +42,7 @@ let
       repo = "xrdp";
       rev = "refs/heads/runtime-cfg-path-${version}";  # Fixes https://github.com/neutrinolabs/xrdp/issues/609; not a patch on top of the official repo because "xorgxrdp.configureFlags" above includes "xrdp.src" which must be patched already
       fetchSubmodules = true;
-      sha256 = "0xqyg3m688fj442zgg9fqmbz7nnzvqpd7a9ki2cwh1hyibacpmz7";
+      sha256 = "1sm994dic72zvxgwxw9z6an6050976nlnnn2my42pnzj9l5842d8";
     };
 
     nativeBuildInputs = [ pkgconfig autoconf automake which libtool nasm ];
diff --git a/pkgs/development/compilers/llvm/4/clang/default.nix b/pkgs/development/compilers/llvm/4/clang/default.nix
index 77863ab4f1ea..5531fd2ab77e 100644
--- a/pkgs/development/compilers/llvm/4/clang/default.nix
+++ b/pkgs/development/compilers/llvm/4/clang/default.nix
@@ -43,6 +43,8 @@ let
 
       # Patch for standalone doc building
       sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
+    '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+      sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/Tools.cpp
     '';
 
     outputs = [ "out" "lib" "python" ];
diff --git a/pkgs/development/compilers/llvm/4/dynamiclibrary-musl.patch b/pkgs/development/compilers/llvm/4/dynamiclibrary-musl.patch
new file mode 100644
index 000000000000..d5d7f07b5e11
--- /dev/null
+++ b/pkgs/development/compilers/llvm/4/dynamiclibrary-musl.patch
@@ -0,0 +1,33 @@
+From d12ecb83d01dcb580dd94f4d57828f33d3eb4c35 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 18 Feb 2016 15:33:21 +0100
+Subject: [PATCH 3/3] Fix DynamicLibrary to build with musl libc
+
+stdin/out/err is part of the libc and not the kernel so we check for the
+specific libc that does the unexpected instead of linux.
+
+This is needed for making it build with musl libc.
+---
+ lib/Support/DynamicLibrary.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/Support/DynamicLibrary.cpp b/lib/Support/DynamicLibrary.cpp
+index 9a7aeb5..0c1c8f8 100644
+--- a/lib/Support/DynamicLibrary.cpp
++++ b/lib/Support/DynamicLibrary.cpp
+@@ -140,10 +140,10 @@ void* DynamicLibrary::SearchForAddressOfSymbol(const char *symbolName) {
+ #define EXPLICIT_SYMBOL(SYM) \
+    if (!strcmp(symbolName, #SYM)) return &SYM
+ 
+-// On linux we have a weird situation. The stderr/out/in symbols are both
++// On GNU libc we have a weird situation. The stderr/out/in symbols are both
+ // macros and global variables because of standards requirements. So, we
+ // boldly use the EXPLICIT_SYMBOL macro without checking for a #define first.
+-#if defined(__linux__) and !defined(__ANDROID__)
++#if defined(__GLIBC__)
+   {
+     EXPLICIT_SYMBOL(stderr);
+     EXPLICIT_SYMBOL(stdout);
+-- 
+2.7.3
+
diff --git a/pkgs/development/compilers/llvm/4/libc++/default.nix b/pkgs/development/compilers/llvm/4/libc++/default.nix
index db751bcffd42..f28957c35185 100644
--- a/pkgs/development/compilers/llvm/4/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/4/libc++/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetch, cmake, llvm, libcxxabi, fixDarwinDylibNames, version }:
+{ lib, stdenv, fetch, cmake, python, llvm, libcxxabi, fixDarwinDylibNames, version }:
 
 stdenv.mkDerivation rec {
   name = "libc++-${version}";
@@ -15,6 +15,9 @@ stdenv.mkDerivation rec {
     ./pthread_mach_thread_np.patch
     # glibc 2.26 fix
     ./xlocale-glibc-2.26.patch
+  ] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+    ../../libcxx-0001-musl-hacks.patch
+    ./max_align_t.patch
   ];
 
   prePatch = ''
@@ -24,9 +27,10 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
     cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
+  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
+    patchShebangs utils/cat_files.py
   '';
-
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl python;
 
   buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
@@ -34,7 +38,7 @@ stdenv.mkDerivation rec {
     "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
     "-DLIBCXX_LIBCPPABI_VERSION=2"
     "-DLIBCXX_CXX_ABI=libcxxabi"
-  ];
+  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/compilers/llvm/4/libc++/max_align_t.patch b/pkgs/development/compilers/llvm/4/libc++/max_align_t.patch
new file mode 100644
index 000000000000..060be5b23de8
--- /dev/null
+++ b/pkgs/development/compilers/llvm/4/libc++/max_align_t.patch
@@ -0,0 +1,54 @@
+From 917331c88bd2afce0cf0fdbcab55a64541b5bcf0 Mon Sep 17 00:00:00 2001
+From: "David L. Jones" <dlj@google.com>
+Date: Fri, 10 Feb 2017 01:27:42 +0000
+Subject: [PATCH] Check for musl-libc's max_align_t in addition to other
+ variants.
+
+Summary:
+Libcxx will define its own max_align_t when it is not available. However, the
+availability checks today only check for Clang's definition and GCC's
+definition. In particular, it does not check for musl's definition, which is the
+same as GCC's but guarded with a different macro.
+
+Reviewers: mclow.lists, EricWF
+
+Reviewed By: EricWF
+
+Subscribers: chandlerc, cfe-commits
+
+Differential Revision: https://reviews.llvm.org/D28478
+
+git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294683 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ include/cstddef  | 3 ++-
+ include/stddef.h | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/include/cstddef b/include/cstddef
+index edd106c00..103898b7d 100644
+--- a/include/cstddef
++++ b/include/cstddef
+@@ -48,7 +48,8 @@ _LIBCPP_BEGIN_NAMESPACE_STD
+ using ::ptrdiff_t;
+ using ::size_t;
+ 
+-#if defined(__CLANG_MAX_ALIGN_T_DEFINED) || defined(_GCC_MAX_ALIGN_T)
++#if defined(__CLANG_MAX_ALIGN_T_DEFINED) || defined(_GCC_MAX_ALIGN_T) || \
++    defined(__DEFINED_max_align_t)
+ // Re-use the compiler's <stddef.h> max_align_t where possible.
+ using ::max_align_t;
+ #else
+diff --git a/include/stddef.h b/include/stddef.h
+index 8841bbea2..faf8552d8 100644
+--- a/include/stddef.h
++++ b/include/stddef.h
+@@ -53,7 +53,8 @@ using std::nullptr_t;
+ }
+ 
+ // Re-use the compiler's <stddef.h> max_align_t where possible.
+-#if !defined(__CLANG_MAX_ALIGN_T_DEFINED) && !defined(_GCC_MAX_ALIGN_T)
++#if !defined(__CLANG_MAX_ALIGN_T_DEFINED) && !defined(_GCC_MAX_ALIGN_T) && \
++    !defined(__DEFINED_max_align_t)
+ typedef long double max_align_t;
+ #endif
+ 
diff --git a/pkgs/development/compilers/llvm/4/libc++abi.nix b/pkgs/development/compilers/llvm/4/libc++abi.nix
index 6a3d91101360..41eb40e124eb 100644
--- a/pkgs/development/compilers/llvm/4/libc++abi.nix
+++ b/pkgs/development/compilers/llvm/4/libc++abi.nix
@@ -14,6 +14,9 @@ stdenv.mkDerivation {
     export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     export TRIPLE=x86_64-apple-darwin
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
+    patch -p1 -d $(ls -d libcxx-*) -i ${./libc++/max_align_t.patch}
   '';
 
   installPhase = if stdenv.isDarwin
diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix
index ceaa45fe8d73..7fd94316d738 100644
--- a/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/pkgs/development/compilers/llvm/4/llvm.nix
@@ -80,6 +80,9 @@ in stdenv.mkDerivation (rec {
     )
   '' + stdenv.lib.optionalString stdenv.isAarch64 ''
     patch -p0 < ${../aarch64.patch}
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    patch -p1 -i ${../TLI-musl.patch}
+    patch -p1 -i ${./dynamiclibrary-musl.patch}
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -110,6 +113,14 @@ in stdenv.mkDerivation (rec {
   ++ stdenv.lib.optionals (isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
+  ]
+  ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+    "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
+    "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
+    "-DTARGET_TRIPLE=${stdenv.targetPlatform.config}"
+
+    "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
+    "-DCOMPILER_RT_BUILD_XRAY=OFF"
   ];
 
   postBuild = ''
diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix
index c8eafce4e396..b5aea54b5771 100644
--- a/pkgs/development/compilers/llvm/5/clang/default.nix
+++ b/pkgs/development/compilers/llvm/5/clang/default.nix
@@ -44,6 +44,8 @@ let
 
       # Patch for standalone doc building
       sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
+    '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+      sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
     '';
 
     outputs = [ "out" "lib" "python" ];
diff --git a/pkgs/development/compilers/llvm/5/libc++/default.nix b/pkgs/development/compilers/llvm/5/libc++/default.nix
index 6f03e225ad65..9ddeea7ef79a 100644
--- a/pkgs/development/compilers/llvm/5/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/5/libc++/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetch, cmake, llvm, libcxxabi, fixDarwinDylibNames, version }:
+{ lib, stdenv, fetch, cmake, python, llvm, libcxxabi, fixDarwinDylibNames, version }:
 
 stdenv.mkDerivation rec {
   name = "libc++-${version}";
@@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
     export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
   '';
 
+  # on next rebuild, this can be replaced with optionals; for now set to null to avoid
+  # patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+  patches = if stdenv.hostPlatform.isMusl then [
+    ../../libcxx-0001-musl-hacks.patch
+  ] else null;
+
   prePatch = ''
     substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
   '';
@@ -17,9 +23,10 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
     cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
+  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
+    patchShebangs utils/cat_files.py
   '';
-
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl python;
 
   buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
@@ -27,7 +34,7 @@ stdenv.mkDerivation rec {
     "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
     "-DLIBCXX_LIBCPPABI_VERSION=2"
     "-DLIBCXX_CXX_ABI=libcxxabi"
-  ];
+  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/compilers/llvm/5/libc++abi.nix b/pkgs/development/compilers/llvm/5/libc++abi.nix
index 166f4260291f..6d27dcd47b0b 100644
--- a/pkgs/development/compilers/llvm/5/libc++abi.nix
+++ b/pkgs/development/compilers/llvm/5/libc++abi.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation {
     export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     export TRIPLE=x86_64-apple-darwin
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
   '';
 
   installPhase = if stdenv.isDarwin
diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix
index 1067fa886bcb..f574eb05f92b 100644
--- a/pkgs/development/compilers/llvm/5/llvm.nix
+++ b/pkgs/development/compilers/llvm/5/llvm.nix
@@ -74,6 +74,11 @@ in stdenv.mkDerivation (rec {
     patch -p1 -i ${./compiler-rt-codesign.patch} -d projects/compiler-rt
   '' + stdenv.lib.optionalString stdenv.isAarch64 ''
     patch -p0 < ${../aarch64.patch}
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    patch -p1 -i ${../TLI-musl.patch}
+    substituteInPlace unittests/Support/CMakeLists.txt \
+      --replace "add_subdirectory(DynamicLibrary)" ""
+    rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
   '';
 
   # hacky fix: created binaries need to be run before installation
@@ -104,6 +109,14 @@ in stdenv.mkDerivation (rec {
   ++ stdenv.lib.optionals (isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
+  ]
+  ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+    "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
+    "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}"
+    "-DTARGET_TRIPLE=${stdenv.targetPlatform.config}"
+
+    "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
+    "-DCOMPILER_RT_BUILD_XRAY=OFF"
   ];
 
   postBuild = ''
diff --git a/pkgs/development/compilers/llvm/TLI-musl.patch b/pkgs/development/compilers/llvm/TLI-musl.patch
new file mode 100644
index 000000000000..1a6908086637
--- /dev/null
+++ b/pkgs/development/compilers/llvm/TLI-musl.patch
@@ -0,0 +1,35 @@
+From 5c571082fdaf61f6df19d9b7137dc26d71334058 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Thu, 18 Feb 2016 10:33:04 +0100
+Subject: [PATCH 2/3] Fix build with musl libc
+
+On musl libc the fopen64 and fopen are the same thing, but for
+compatibility they have a `#define fopen64 fopen`. Same applies for
+fseek64, fstat64, fstatvfs64, ftello64, lstat64, stat64 and tmpfile64.
+---
+ include/llvm/Analysis/TargetLibraryInfo.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/include/llvm/Analysis/TargetLibraryInfo.h b/include/llvm/Analysis/TargetLibraryInfo.h
+index 7becdf0..7f14427 100644
+--- a/include/llvm/Analysis/TargetLibraryInfo.h
++++ b/include/llvm/Analysis/TargetLibraryInfo.h
+@@ -18,6 +18,15 @@
+ #include "llvm/IR/Module.h"
+ #include "llvm/Pass.h"
+ 
++#undef fopen64
++#undef fseeko64
++#undef fstat64
++#undef fstatvfs64
++#undef ftello64
++#undef lstat64
++#undef stat64
++#undef tmpfile64
++
+ namespace llvm {
+ /// VecDesc - Describes a possible vectorization of a function.
+ /// Function 'VectorFnName' is equivalent to 'ScalarFnName' vectorized
+-- 
+2.7.3
+
diff --git a/pkgs/development/compilers/llvm/libcxx-0001-musl-hacks.patch b/pkgs/development/compilers/llvm/libcxx-0001-musl-hacks.patch
new file mode 100644
index 000000000000..bcb5ad8cfb87
--- /dev/null
+++ b/pkgs/development/compilers/llvm/libcxx-0001-musl-hacks.patch
@@ -0,0 +1,39 @@
+From 1c936d7fda3275265e37f93697232a1ed652390f Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Sat, 9 Jul 2016 19:22:54 -0500
+Subject: [PATCH] musl fixes/hacks
+
+Conflicts:
+
+	include/__config
+	include/locale
+	src/locale.cpp
+---
+ include/locale |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/locale b/include/locale
+index 3d804e8..9b01f5b 100644
+--- a/include/locale
++++ b/include/locale
+@@ -695,7 +695,7 @@ __num_get_signed_integral(const char* __a, const char* __a_end,
+         typename remove_reference<decltype(errno)>::type __save_errno = errno;
+         errno = 0;
+         char *__p2;
+-        long long __ll = strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
++        long long __ll = strtoll(__a, &__p2, __base);
+         typename remove_reference<decltype(errno)>::type __current_errno = errno;
+         if (__current_errno == 0)
+             errno = __save_errno;
+@@ -735,7 +735,7 @@ __num_get_unsigned_integral(const char* __a, const char* __a_end,
+         typename remove_reference<decltype(errno)>::type __save_errno = errno;
+         errno = 0;
+         char *__p2;
+-        unsigned long long __ll = strtoull_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
++        unsigned long long __ll = strtoull(__a, &__p2, __base);
+         typename remove_reference<decltype(errno)>::type __current_errno = errno;
+         if (__current_errno == 0)
+             errno = __save_errno;
+-- 
+1.7.1
+
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
index b3990fab7615..f276613db0b6 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -88,12 +88,34 @@ self: super: {
   ##       from the context: a
   constraints = super.constraints_0_10;
 
+  ## Needs bump to a versioned attribute
+  ## 
+  ##     • Could not deduce (Semigroup (IterT m a))
+  ##         arising from the superclasses of an instance declaration
+  ##       from the context: (Monad m, Monoid a)
+  free = super.free_5;
+
+  funcmp = overrideCabal super.funcmp_1_9 (drv: {
+    ## Needs bump to a versioned attribute
+    ## 
+    ## Needed for (<>) in prelude
+    ## Setup: Encountered missing dependencies:
+    ## base >=3 && <4.11
+    jailbreak       = true;
+  });
+
   hspec-core = overrideCabal super.hspec-core_2_4_8 (drv: {
     ## Needs bump to a versioned attribute
     ## 
     ##     • No instance for (Semigroup Summary)
     ##         arising from the superclasses of an instance declaration
     ##     • In the instance declaration for ‘Monoid Summary’
+    ## error: while evaluating the attribute ‘buildInputs’ of the derivation ‘hspec-core-2.4.8’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## while evaluating the attribute ‘buildInputs’ of the derivation ‘silently-1.2.5’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## while evaluating the attribute ‘buildInputs’ of the derivation ‘temporary-1.2.1.1’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## while evaluating the attribute ‘buildInputs’ of the derivation ‘base-compat-0.9.3’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## while evaluating the attribute ‘propagatedBuildInputs’ of the derivation ‘hspec-2.4.8’ at /home/deepfire/src/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:148:11:
+    ## infinite recursion encountered, at undefined position
     doCheck         = false;
   });
 
@@ -104,105 +126,87 @@ self: super: {
   ## hspec-discover ==2.4.7
   hspec-discover = super.hspec-discover_2_4_8;
 
-  ## Needs bump to a versioned attribute
-  ## 
-  ##     • Could not deduce (Semigroup (a :->: b))
-  ##         arising from the superclasses of an instance declaration
-  ##       from the context: (HasTrie a, Monoid b)
-  MemoTrie = super.MemoTrie_0_6_9;
+  lens = overrideCabal super.lens_4_16 (drv: {
+    ## Needs bump to a versioned attribute
+    ## 
+    ##     • Could not deduce (Apply f)
+    ##         arising from the superclasses of an instance declaration
+    ##       from the context: (Contravariant f, Applicative f)
+    ## Setup: Encountered missing dependencies:
+    ## ghc >=7.0 && <8.4
+    ## /run/current-system/sw/bin/nix-shell: failed to build all dependencies
+    doCheck         = false;
+  });
 
   semigroupoids = overrideCabal super.semigroupoids_5_2_2 (drv: {
     ## Needs bump to a versioned attribute
     ## 
     ##     • Variable not in scope: mappend :: Seq a -> Seq a -> Seq a
-    ## CABAL-MISSING-DEPS
     ## Setup: Encountered missing dependencies:
     ## ghc >=7.0 && <8.4
-    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    ## /run/current-system/sw/bin/nix-shell: failed to build all dependencies
     doCheck         = false;
   });
 
   ## Needs bump to a versioned attribute
   ## 
-  ##     • Could not deduce (Semigroup (Traversal f))
+  ##     • No instance for (Semigroup Builder)
   ##         arising from the superclasses of an instance declaration
-  ##       from the context: Applicative f
-  tasty = super.tasty_1_0_1;
+  ##     • In the instance declaration for ‘Monoid Builder’
+  stringbuilder = super.stringbuilder_0_5_1;
+
+  ## Needs bump to a versioned attribute
+  ## 
+  ##     Module ‘Data.Semigroup’ does not export ‘Monoid(..)’
+  ##    |
+  ## 80 | import Data.Semigroup (Semigroup(..), Monoid(..))
+  unordered-containers = super.unordered-containers_0_2_9_0;
+
 
   ## On Hackage:
 
-  happy = overrideCabal super.happy (drv: {
+  tasty = overrideCabal super.tasty (drv: {
     ## On Hackage, awaiting for import
     ## 
-    ##     Ambiguous occurrence ‘<>’
-    ##     It could refer to either ‘Prelude.<>’,
-    ##                              imported from ‘Prelude’ at src/PrettyGrammar.hs:1:8-20
-    version         = "1.19.9";
-    sha256          = "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y";
+    ##     • No instance for (Semigroup OptionSet)
+    ##         arising from the superclasses of an instance declaration
+    ##     • In the instance declaration for ‘Monoid OptionSet’
+    version         = "1.0.0.1";
+    sha256          = "0ggqffw9kbb6nlq1pplk131qzxndqqzqyf4s2p7576nljx11a7qf";
   });
 
 
   ## Upstreamed
 
-  free = overrideCabal super.free (drv: {
-    ## Upstreamed, awaiting a Hackage release
-    ## 
-    ##     • Could not deduce (Semigroup (IterT m a))
-    ##         arising from the superclasses of an instance declaration
-    ##       from the context: (Monad m, Monoid a)
-    src = pkgs.fetchFromGitHub {
-      owner  = "ekmett";
-      repo   = "free";
-      rev    = "fcefc71ed302f2eaf60f020046bad392338b3109";
-      sha256 = "0mfrd7y97pgqmb2i66jn5xwjpcrgnfcqq8dzkxqgx1b5wjdydq70";
-    };
-    ## Setup: Encountered missing dependencies:
-    ## transformers-base <0.5
-    ## builder for ‘/nix/store/3yvaqx5qcg1fb3nnyc273fkhgfh73pgv-free-4.12.4.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/3yvaqx5qcg1fb3nnyc273fkhgfh73pgv-free-4.12.4.drv’ failed
-    libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.transformers-base ];
-  });
-
   haskell-gi = overrideCabal super.haskell-gi (drv: {
     ## Upstreamed, awaiting a Hackage release
     ## 
     ## Setup: Encountered missing dependencies:
     ## haskell-gi-base ==0.20.*
-    ## builder for ‘/nix/store/q0qkq2gzmdnkvdz6xl7svv5305chbr4b-haskell-gi-0.20.3.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/q0qkq2gzmdnkvdz6xl7svv5305chbr4b-haskell-gi-0.20.3.drv’ failed
     src = pkgs.fetchFromGitHub {
       owner  = "haskell-gi";
       repo   = "haskell-gi";
       rev    = "30d2e6415c5b57760f8754cd3003eb07483d60e6";
       sha256 = "1l3qm97gcjih695hhj80rbpnd72prnc81lg5y373yj8jk9f6ypbr";
     };
-    ## CABAL-MISSING-DEPS
     ## Setup: Encountered missing dependencies:
     ## ghc >=7.0 && <8.4
-    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    ## /run/current-system/sw/bin/nix-shell: failed to build all dependencies
     doCheck         = false;
   });
 
   haskell-gi-base = overrideCabal super.haskell-gi-base (drv: {
     ## Upstreamed, awaiting a Hackage release
     ## 
-    ## breaks haskell-gi:
     ## Setup: Encountered missing dependencies:
     ## haskell-gi-base ==0.21.*
+    ## cannot build derivation ‘/nix/store/b3d6yr1rzk4hpzg87yk4n5i4321i824f-gi-cairo-1.0.14.drv’: 1 dependencies couldn't be built
     src = pkgs.fetchFromGitHub {
       owner  = "haskell-gi";
       repo   = "haskell-gi";
       rev    = "30d2e6415c5b57760f8754cd3003eb07483d60e6";
       sha256 = "1l3qm97gcjih695hhj80rbpnd72prnc81lg5y373yj8jk9f6ypbr";
     };
-    ## Setup: Encountered missing dependencies:
-    ## attoparsec ==0.13.*,
-    ## doctest >=0.8,
-    ## haskell-gi-base ==0.21.*,
-    ## pretty-show -any,
-    ## regex-tdfa >=1.2,
     prePatch        = "cd base; ";
   });
 
@@ -220,20 +224,6 @@ self: super: {
     };
   });
 
-  hedgehog = overrideCabal super.hedgehog (drv: {
-    ## Upstreamed, awaiting a Hackage release
-    ## 
-    ## /nix/store/78sxg2kvl2klplqfx22s6b42lds7qq23-stdenv/setup: line 99: cd: hedgehog: No such file or directory
-    src = pkgs.fetchFromGitHub {
-      owner  = "hedgehogqa";
-      repo   = "haskell-hedgehog";
-      rev    = "7a4fab73670bc33838f2b5f25eb824ee550079ce";
-      sha256 = "1l8maassmklf6wgairk7llxvlbwxngv0dzx0fwnqx6hsb32sms05";
-    };
-    ## jailbreak-cabal: dieVerbatim: user error (jailbreak-cabal: Error Parsing: file "hedgehog.cabal" doesn't exist. Cannot
-    prePatch        = "cd hedgehog; ";
-  });
-
   lambdacube-compiler = overrideCabal super.lambdacube-compiler (drv: {
     ## Upstreamed, awaiting a Hackage release
     ## 
@@ -254,42 +244,17 @@ self: super: {
   lambdacube-ir = overrideCabal super.lambdacube-ir (drv: {
     ## Upstreamed, awaiting a Hackage release
     ## 
-    ## /nix/store/78sxg2kvl2klplqfx22s6b42lds7qq23-stdenv/setup: line 99: cd: lambdacube-ir.haskell: No such file or directory
+    ## Setup: Encountered missing dependencies:
+    ## aeson >=0.9 && <0.12, base >=4.8 && <4.10, vector ==0.11.*
     src = pkgs.fetchFromGitHub {
       owner  = "lambdacube3d";
       repo   = "lambdacube-ir";
       rev    = "b86318b510ef59606c5b7c882cad33af52ce257c";
       sha256 = "0j4r6b32lcm6jg653xzg9ijxkfjahlb4x026mv5dhs18kvgqhr8x";
     };
-    ## Setup: No cabal file found.
     prePatch        = "cd lambdacube-ir.haskell; ";
   });
 
-  lens = overrideCabal super.lens (drv: {
-    ## Upstreamed, awaiting a Hackage release
-    ## 
-    ##     • Could not deduce (Apply f)
-    ##         arising from the superclasses of an instance declaration
-    ##       from the context: (Contravariant f, Applicative f)
-    src = pkgs.fetchFromGitHub {
-      owner  = "ekmett";
-      repo   = "lens";
-      rev    = "4ad49eaf2448d856f0433fe5a4232f1e8fa87eb0";
-      sha256 = "0sd08v6syadplhk5d21yi7qffbjncn8z1bqlwz9nyyb0xja8s8wa";
-    };
-    ## CABAL-MISSING-DEPS
-    ## Setup: Encountered missing dependencies:
-    ## ghc >=7.0 && <8.4
-    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
-    doCheck         = false;
-    ## Setup: Encountered missing dependencies:
-    ## template-haskell >=2.4 && <2.13
-    ## builder for ‘/nix/store/fvrc4s96ym33i74y794nap7xai9p69fa-lens-4.15.4.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/fvrc4s96ym33i74y794nap7xai9p69fa-lens-4.15.4.drv’ failed
-    jailbreak       = true;
-  });
-
   simple-reflect = overrideCabal super.simple-reflect (drv: {
     ## Upstreamed, awaiting a Hackage release
     ## 
@@ -309,8 +274,6 @@ self: super: {
     ## 
     ## Setup: Encountered missing dependencies:
     ## th-desugar ==1.7.*
-    ## builder for ‘/nix/store/g5jl22kpq8fnrg8ldphxndri759nxwzf-singletons-2.3.1.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/g5jl22kpq8fnrg8ldphxndri759nxwzf-singletons-2.3.1.drv’ failed
     src = pkgs.fetchFromGitHub {
       owner  = "goldfirere";
       repo   = "singletons";
@@ -319,20 +282,6 @@ self: super: {
     };
   });
 
-  stringbuilder = overrideCabal super.stringbuilder (drv: {
-    ## Upstreamed, awaiting a Hackage release
-    ## 
-    ##     • No instance for (Semigroup Builder)
-    ##         arising from the superclasses of an instance declaration
-    ##     • In the instance declaration for ‘Monoid Builder’
-    src = pkgs.fetchFromGitHub {
-      owner  = "sol";
-      repo   = "stringbuilder";
-      rev    = "4a1b689d3c8a462b28e0d21224b96165f622e6f7";
-      sha256 = "0h3nva4mwxkdg7hh7b7a3v561wi1bvmj0pshhd3sl7dy3lpvnrah";
-    };
-  });
-
   th-desugar = overrideCabal super.th-desugar (drv: {
     ## Upstreamed, awaiting a Hackage release
     ## 
@@ -347,20 +296,6 @@ self: super: {
     };
   });
 
-  unordered-containers = overrideCabal super.unordered-containers (drv: {
-    ## Upstreamed, awaiting a Hackage release
-    ## 
-    ##     Module ‘Data.Semigroup’ does not export ‘Monoid(..)’
-    ##    |
-    ## 80 | import Data.Semigroup (Semigroup(..), Monoid(..))
-    src = pkgs.fetchFromGitHub {
-      owner  = "tibbe";
-      repo   = "unordered-containers";
-      rev    = "0a6b84ec103e28b73458f385ef846a7e2d3ea42f";
-      sha256 = "128q8k4py2wr1v0gmyvqvzikk6sksl9aqj0lxzf46763lis8x9my";
-    };
-  });
-
   websockets = overrideCabal super.websockets (drv: {
     ## Upstreamed, awaiting a Hackage release
     ## 
@@ -412,22 +347,20 @@ self: super: {
     doCheck         = false;
     ## Setup: Encountered missing dependencies:
     ## data-or ==1.0.*
-    ## builder for ‘/nix/store/iw3xsljnygsv9q2jglcv54mqd94fig7n-bytestring-trie-0.2.4.1.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/iw3xsljnygsv9q2jglcv54mqd94fig7n-bytestring-trie-0.2.4.1.drv’ failed
     libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.data-or ];
   });
 
   gtk2hs-buildtools = overrideCabal super.gtk2hs-buildtools (drv: {
     ## Unmerged.  PR: https://github.com/gtk2hs/gtk2hs/pull/233
     ## 
-    ## /nix/store/78sxg2kvl2klplqfx22s6b42lds7qq23-stdenv/setup: line 99: cd: tools: No such file or directory
+    ## Setup: Encountered missing dependencies:
+    ## Cabal >=1.24.0.0 && <2.1
     src = pkgs.fetchFromGitHub {
       owner  = "deepfire";
       repo   = "gtk2hs";
       rev    = "08c68d5afc22dd5761ec2c92ebf49c6d252e545b";
       sha256 = "06prn5wqq8x225n9wlbyk60f50jyjj8fm2hf181dyqjpf8wq75xa";
     };
-    ## Setup: No cabal file found.
     prePatch        = "cd tools; ";
   });
 
@@ -503,41 +436,12 @@ self: super: {
       rev    = "4fb50139db45a37493b91973eeaad9885b4c63ca";
       sha256 = "0i7pp6cw394m2vbwcqv9z5ngdarp01sabqr1jkkgchxdkkii94nx";
     };
-    ##       mergeIncrementalWithMove ::
-    ##         GCompare k =>
-    ##         Incremental t (PatchDMapWithMove k (Event t))
-    ##         -> Event t (DMap k Identity)
-    ##       currentIncremental ::
-    ##         Patch p => Incremental t p -> Behavior t (PatchTarget p)
-    ##       updatedIncremental :: Patch p => Incremental t p -> Event t p
-    ##       incrementalToDynamic ::
-    ##         Patch p => Incremental t p -> Dynamic t (PatchTarget p)
-    ##       behaviorCoercion ::
-    ##         Coercion a b -> Coercion (Behavior t a) (Behavior t b)
-    ##       eventCoercion :: Coercion a b -> Coercion (Event t a) (Event t b)
-    ##       dynamicCoercion ::
-    ##         Coercion a b -> Coercion (Dynamic t a) (Dynamic t b)
-    ##       mergeIntIncremental ::
-    ##         Incremental t (PatchIntMap (Event t a)) -> Event t (IntMap a)
-    ##       fanInt :: Event t (IntMap a) -> EventSelectorInt t a
-    ##       {-# MINIMAL never, constant, push, pushCheap, pull, merge, fan,
-    ##                   switch, coincidence, current, updated, unsafeBuildDynamic,
-    ##                   unsafeBuildIncremental, mergeIncremental, mergeIncrementalWithMove,
-    ##                   currentIncremental, updatedIncremental, incrementalToDynamic,
-    ##                   behaviorCoercion, eventCoercion, dynamicCoercion,
-    ##                   mergeIntIncremental, fanInt #-}
-    ## Matches:
-    ##     []
-    ## Call stack:
-    ##     CallStack (from HasCallStack):
-    ##       callStackDoc, called at compiler/utils/Outputable.hs:1150:37 in ghc:Outputable
-    ##       pprPanic, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1013:16 in main:Haddock.Interface.Create
-    ## Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
+    ## haddock: internal error: internal: extractDecl (ClsInstD)
+    ## CallStack (from HasCallStack):
+    ##   error, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1058:16 in main:Haddock.Interface.Create
     doHaddock       = false;
     ## Setup: Encountered missing dependencies:
     ## base >=4.7 && <4.11, bifunctors >=5.2 && <5.5
-    ## builder for ‘/nix/store/93ka24600m4mipsgn2cq8fwk124q97ca-reflex-0.4.0.1.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/93ka24600m4mipsgn2cq8fwk124q97ca-reflex-0.4.0.1.drv’ failed
     jailbreak       = true;
     ## Setup: Encountered missing dependencies:
     ## data-default -any,
@@ -562,6 +466,20 @@ self: super: {
     };
   });
 
+  securemem = overrideCabal super.securemem (drv: {
+    ## Unmerged.  PR: https://github.com/vincenthz/hs-securemem/pull/12
+    ## 
+    ##     • No instance for (Semigroup SecureMem)
+    ##         arising from the superclasses of an instance declaration
+    ##     • In the instance declaration for ‘Monoid SecureMem’
+    src = pkgs.fetchFromGitHub {
+      owner  = "shlevy";
+      repo   = "hs-securemem";
+      rev    = "6168d90b00bfc6a559d3b9160732343644ef60fb";
+      sha256 = "06dhx1z44j5gshpdlsb4aryr3g4was3x4c2sgv1px8j57zrvlypx";
+    };
+  });
+
   text-format = overrideCabal super.text-format (drv: {
     ## Unmerged.  PR: https://github.com/bos/text-format/pull/21
     ## 
@@ -596,237 +514,153 @@ self: super: {
   adjunctions = overrideCabal super.adjunctions (drv: {
     ## Setup: Encountered missing dependencies:
     ## free ==4.*
-    ## builder for ‘/nix/store/64pvqslahgby4jlg9rpz29n8w4njb670-adjunctions-4.3.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/64pvqslahgby4jlg9rpz29n8w4njb670-adjunctions-4.3.drv’ failed
     jailbreak       = true;
   });
 
   async = overrideCabal super.async (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.3 && <4.11
-    ## builder for ‘/nix/store/2xf491hgsmckz2akrn765kvvy2k8crbd-async-2.1.1.1.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/2xf491hgsmckz2akrn765kvvy2k8crbd-async-2.1.1.1.drv’ failed
     jailbreak       = true;
   });
 
   bifunctors = overrideCabal super.bifunctors (drv: {
     ## Setup: Encountered missing dependencies:
     ## template-haskell >=2.4 && <2.13
-    ## builder for ‘/nix/store/dy1hzdy14pz96cvx37yggbv6a88sgxq4-bifunctors-5.5.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/dy1hzdy14pz96cvx37yggbv6a88sgxq4-bifunctors-5.5.drv’ failed
     jailbreak       = true;
   });
 
   bindings-GLFW = overrideCabal super.bindings-GLFW (drv: {
     ## Setup: Encountered missing dependencies:
     ## template-haskell >=2.10 && <2.13
-    ## builder for ‘/nix/store/ykc786r2bby5kkbpqjg0y10wb9jhmsa9-bindings-GLFW-3.1.2.3.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/ykc786r2bby5kkbpqjg0y10wb9jhmsa9-bindings-GLFW-3.1.2.3.drv’ failed
     jailbreak       = true;
   });
 
   bytes = overrideCabal super.bytes (drv: {
-    ## CABAL-MISSING-DEPS
     ## Setup: Encountered missing dependencies:
     ## ghc >=7.0 && <8.4
-    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    ## /run/current-system/sw/bin/nix-shell: failed to build all dependencies
     doCheck         = false;
   });
 
   cabal-doctest = overrideCabal super.cabal-doctest (drv: {
     ## Setup: Encountered missing dependencies:
     ## Cabal >=1.10 && <2.1, base >=4.3 && <4.11
-    ## builder for ‘/nix/store/zy3l0ll0r9dq29lgxajv12rz1jzjdkrn-cabal-doctest-1.0.5.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/zy3l0ll0r9dq29lgxajv12rz1jzjdkrn-cabal-doctest-1.0.5.drv’ failed
     jailbreak       = true;
   });
 
   ChasingBottoms = overrideCabal super.ChasingBottoms (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.2 && <4.11
-    ## builder for ‘/nix/store/wsyjjf4x6pmx84kxnjaka7zwakyrca03-ChasingBottoms-1.3.1.3.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/wsyjjf4x6pmx84kxnjaka7zwakyrca03-ChasingBottoms-1.3.1.3.drv’ failed
     jailbreak       = true;
   });
 
   comonad = overrideCabal super.comonad (drv: {
-    ## CABAL-MISSING-DEPS
     ## Setup: Encountered missing dependencies:
     ## ghc >=7.0 && <8.4
-    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    ## /run/current-system/sw/bin/nix-shell: failed to build all dependencies
     doCheck         = false;
   });
 
+  deepseq-generics = overrideCabal super.deepseq-generics (drv: {
+    ## https://github.com/haskell-hvr/deepseq-generics/pull/4
+    jailbreak       = true;
+  });
+
   distributive = overrideCabal super.distributive (drv: {
-    ## CABAL-MISSING-DEPS
     ## Setup: Encountered missing dependencies:
     ## ghc >=7.0 && <8.4
-    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    ## /run/current-system/sw/bin/nix-shell: failed to build all dependencies
     doCheck         = false;
   });
 
   exception-transformers = overrideCabal super.exception-transformers (drv: {
     ## Setup: Encountered missing dependencies:
     ## HUnit >=1.2 && <1.6
-    ## builder for ‘/nix/store/qs4g7lzq1ixcgg5rw4xb5545g7r34md8-exception-transformers-0.4.0.5.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/qs4g7lzq1ixcgg5rw4xb5545g7r34md8-exception-transformers-0.4.0.5.drv’ failed
     jailbreak       = true;
   });
 
   hashable = overrideCabal super.hashable (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.4 && <4.11
-    ## builder for ‘/nix/store/4qlxxypfhbwcv227cmsja1asgqnq37gf-hashable-1.2.6.1.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/4qlxxypfhbwcv227cmsja1asgqnq37gf-hashable-1.2.6.1.drv’ failed
     jailbreak       = true;
   });
 
   hashable-time = overrideCabal super.hashable-time (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.7 && <4.11
-    ## builder for ‘/nix/store/38dllcgxpmkd2fgvs6wd7ji86py0wbnh-hashable-time-0.2.0.1.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/38dllcgxpmkd2fgvs6wd7ji86py0wbnh-hashable-time-0.2.0.1.drv’ failed
     jailbreak       = true;
   });
 
   haskell-src-meta = overrideCabal super.haskell-src-meta (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.6 && <4.11, template-haskell >=2.8 && <2.13
-    ## builder for ‘/nix/store/g5wkb14sydvyv484agvaa7hxl84a0wr9-haskell-src-meta-0.8.0.2.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/g5wkb14sydvyv484agvaa7hxl84a0wr9-haskell-src-meta-0.8.0.2.drv’ failed
     jailbreak       = true;
   });
 
-  hspec-meta = overrideCabal super.hspec-meta (drv: {
-    ## Linking dist/build/hspec-meta-discover/hspec-meta-discover ...
-    ## running tests
-    ## Package has no test suites.
-    ## haddockPhase
-    ## Running hscolour for hspec-meta-2.4.6...
-    ## Preprocessing library for hspec-meta-2.4.6..
-    ## Preprocessing executable 'hspec-meta-discover' for hspec-meta-2.4.6..
-    ## Preprocessing library for hspec-meta-2.4.6..
-    ## Running Haddock on library for hspec-meta-2.4.6..
-    ## Haddock coverage:
-    ## haddock: panic! (the 'impossible' happened)
-    ##   (GHC version 8.4.20180122 for x86_64-unknown-linux):
-    ## 	extractDecl
-    ## Ambiguous decl for Arg in class:
-    ##     class Example e where
-    ##       type Arg e
-    ##       type Arg e = ()
-    ##       evaluateExample ::
-    ##         e
-    ##         -> Params
-    ##            -> (ActionWith (Arg e) -> IO ()) -> ProgressCallback -> IO Result
-    ##       {-# MINIMAL evaluateExample #-}
-    ## Matches:
-    ##     []
-    ## Call stack:
-    ##     CallStack (from HasCallStack):
-    ##       callStackDoc, called at compiler/utils/Outputable.hs:1150:37 in ghc:Outputable
-    ##       pprPanic, called at utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:1013:16 in main:Haddock.Interface.Create
-    ## Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
-    doHaddock       = false;
-  });
-
   integer-logarithms = overrideCabal super.integer-logarithms (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.3 && <4.11
-    ## builder for ‘/nix/store/zdiicv0jmjsw6bprs8wxxaq5m0z0a75f-integer-logarithms-1.0.2.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/zdiicv0jmjsw6bprs8wxxaq5m0z0a75f-integer-logarithms-1.0.2.drv’ failed
     jailbreak       = true;
   });
 
   kan-extensions = overrideCabal super.kan-extensions (drv: {
     ## Setup: Encountered missing dependencies:
     ## free ==4.*
-    ## builder for ‘/nix/store/kvnlcj6zdqi2d2yq988l784hswjwkk4c-kan-extensions-5.0.2.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/kvnlcj6zdqi2d2yq988l784hswjwkk4c-kan-extensions-5.0.2.drv’ failed
     jailbreak       = true;
   });
 
   keys = overrideCabal super.keys (drv: {
     ## Setup: Encountered missing dependencies:
     ## free ==4.*
-    ## builder for ‘/nix/store/khkbn7wmjr10nyq0wwkmn888bj1l4fmh-keys-3.11.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/khkbn7wmjr10nyq0wwkmn888bj1l4fmh-keys-3.11.drv’ failed
     jailbreak       = true;
   });
 
   lambdacube-gl = overrideCabal super.lambdacube-gl (drv: {
     ## Setup: Encountered missing dependencies:
     ## vector ==0.11.*
-    ## builder for ‘/nix/store/a98830jm4yywfg1d6264p4yngbiyvssp-lambdacube-gl-0.5.2.4.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/a98830jm4yywfg1d6264p4yngbiyvssp-lambdacube-gl-0.5.2.4.drv’ failed
     jailbreak       = true;
   });
 
   lifted-async = overrideCabal super.lifted-async (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.5 && <4.11
-    ## builder for ‘/nix/store/l3000vil24jyq66a5kfqvxfdmy7agwic-lifted-async-0.9.3.3.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/l3000vil24jyq66a5kfqvxfdmy7agwic-lifted-async-0.9.3.3.drv’ failed
     jailbreak       = true;
   });
 
   linear = overrideCabal super.linear (drv: {
-    ## CABAL-MISSING-DEPS
     ## Setup: Encountered missing dependencies:
     ## ghc >=7.0 && <8.4
-    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    ## /run/current-system/sw/bin/nix-shell: failed to build all dependencies
     doCheck         = false;
   });
 
   newtype-generics = overrideCabal super.newtype-generics (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.6 && <4.11
-    ## builder for ‘/nix/store/l3rzsjbwys4rjrpv1703iv5zwbd4bwy6-newtype-generics-0.5.1.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/l3rzsjbwys4rjrpv1703iv5zwbd4bwy6-newtype-generics-0.5.1.drv’ failed
-    jailbreak       = true;
-  });
-
-  parallel = overrideCabal super.parallel (drv: {
-    ## Setup: Encountered missing dependencies:
-    ## base >=4.3 && <4.11
-    ## builder for ‘/nix/store/c16gcgn7d7gql8bbjqngx7wbw907hnwb-parallel-3.2.1.1.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/c16gcgn7d7gql8bbjqngx7wbw907hnwb-parallel-3.2.1.1.drv’ failed
     jailbreak       = true;
   });
 
   quickcheck-instances = overrideCabal super.quickcheck-instances (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.5 && <4.11
-    ## builder for ‘/nix/store/r3fx9f7ksp41wfn6cp4id3mzgv04pwij-quickcheck-instances-0.3.16.1.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/r3fx9f7ksp41wfn6cp4id3mzgv04pwij-quickcheck-instances-0.3.16.1.drv’ failed
     jailbreak       = true;
   });
 
-  tasty-ant-xml = overrideCabal super.tasty-ant-xml (drv: {
+  rapid = overrideCabal super.rapid (drv: {
     ## Setup: Encountered missing dependencies:
-    ## tasty >=0.10 && <1.0
-    ## builder for ‘/nix/store/86dlb96cdw9jpq95xbndf4axj1z542d6-tasty-ant-xml-1.1.2.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/86dlb96cdw9jpq95xbndf4axj1z542d6-tasty-ant-xml-1.1.2.drv’ failed
+    ## base >=4.8 && <4.11
     jailbreak       = true;
   });
 
   tasty-expected-failure = overrideCabal super.tasty-expected-failure (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.5 && <4.11
-    ## builder for ‘/nix/store/gdm01qb8ppxgrl6dgzhlj8fzmk4x8dj3-tasty-expected-failure-0.11.0.4.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/gdm01qb8ppxgrl6dgzhlj8fzmk4x8dj3-tasty-expected-failure-0.11.0.4.drv’ failed
     jailbreak       = true;
   });
 
   tasty-hedgehog = overrideCabal super.tasty-hedgehog (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.8 && <4.11, tasty ==0.11.*
-    ## builder for ‘/nix/store/bpxyzzbmb03n88l4xz4k2rllj4227fwv-tasty-hedgehog-0.1.0.1.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/bpxyzzbmb03n88l4xz4k2rllj4227fwv-tasty-hedgehog-0.1.0.1.drv’ failed
     jailbreak       = true;
   });
 
@@ -842,33 +676,25 @@ self: super: {
   th-abstraction = overrideCabal super.th-abstraction (drv: {
     ## Setup: Encountered missing dependencies:
     ## template-haskell >=2.5 && <2.13
-    ## builder for ‘/nix/store/la3zdphp3nqzl590n25zyrgj62ga8cl6-th-abstraction-0.2.6.0.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/la3zdphp3nqzl590n25zyrgj62ga8cl6-th-abstraction-0.2.6.0.drv’ failed
     jailbreak       = true;
   });
 
   these = overrideCabal super.these (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.5 && <4.11
-    ## builder for ‘/nix/store/1wwqq67pinjj95fgqg13bchh0kbyrb83-these-0.7.4.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/1wwqq67pinjj95fgqg13bchh0kbyrb83-these-0.7.4.drv’ failed
     jailbreak       = true;
   });
 
   trifecta = overrideCabal super.trifecta (drv: {
-    ## CABAL-MISSING-DEPS
     ## Setup: Encountered missing dependencies:
     ## ghc >=7.0 && <8.4
-    ## builder for ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/yklyv4lw4d02316p31x7a2pni1z6gjgk-doctest-0.13.0.drv’ failed
+    ## /run/current-system/sw/bin/nix-shell: failed to build all dependencies
     doCheck         = false;
   });
 
   unliftio-core = overrideCabal super.unliftio-core (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.5 && <4.11
-    ## builder for ‘/nix/store/bn8w06wlq7zzli0858hfwlai7wbj6dmq-unliftio-core-0.1.1.0.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/bn8w06wlq7zzli0858hfwlai7wbj6dmq-unliftio-core-0.1.1.0.drv’ failed
     jailbreak       = true;
   });
 
@@ -880,23 +706,6 @@ self: super: {
   wavefront = overrideCabal super.wavefront (drv: {
     ## Setup: Encountered missing dependencies:
     ## base >=4.8 && <4.11
-    ## builder for ‘/nix/store/iy6ccxh4dvp6plalx4ww81qrnhxm7jgr-wavefront-0.7.1.1.drv’ failed with exit code 1
-    ## error: build of ‘/nix/store/iy6ccxh4dvp6plalx4ww81qrnhxm7jgr-wavefront-0.7.1.1.drv’ failed
     jailbreak       = true;
   });
-
-  # Needed for (<>) in prelude
-  funcmp = super.funcmp_1_9;
-
-  # https://github.com/haskell-hvr/deepseq-generics/pull/4
-  deepseq-generics = doJailbreak super.deepseq-generics;
-
-  # SMP compat
-  # https://github.com/vincenthz/hs-securemem/pull/12
-  securemem =
-    let patch = pkgs.fetchpatch
-          { url = https://github.com/vincenthz/hs-securemem/commit/6168d90b00bfc6a559d3b9160732343644ef60fb.patch;
-            sha256 = "0pfjmq57kcvxq7mhljd40whg2g77vdlvjyycdqmxxzz1crb6pipf";
-          };
-    in appendPatch super.securemem patch;
 }
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index bd9334b8f9b7..ebbc69dec593 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -155,14 +155,13 @@ let
                           if platform.kernelTarget == "zImage" || platform.kernelTarget == "Image.gz" then "zinstall" else
                           "install") ];
 
-      postInstall = ''
-        mkdir -p $dev
-        cp vmlinux $dev/
-      '' + (optionalString installsFirmware ''
+      postInstall = (optionalString installsFirmware ''
         mkdir -p $out/lib/firmware
       '') + (if (platform ? kernelDTB && platform.kernelDTB) then ''
         make $makeFlags "''${makeFlagsArray[@]}" dtbs dtbs_install INSTALL_DTBS_PATH=$out/dtbs
       '' else "") + (if isModular then ''
+        mkdir -p $dev
+        cp vmlinux $dev/
         if [ -z "$dontStrip" ]; then
           installFlagsArray+=("INSTALL_MOD_STRIP=1")
         fi
diff --git a/pkgs/tools/text/replace/default.nix b/pkgs/tools/text/replace/default.nix
index 2719a4c81915..9242014cdca5 100644
--- a/pkgs/tools/text/replace/default.nix
+++ b/pkgs/tools/text/replace/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
     sha256 = "1c2nkxx83vmlh1v3ib6r2xqh121gdb1rharwsimcb2h0xwc558dm";
   };
 
+  outputs = [ "out" "man" ];
+
   makeFlags = "TREE=\$(out) MANTREE=\$(TREE)/share/man";
 
   preBuild = ''
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3b6f28a66b33..78444eb34d1e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -13331,7 +13331,7 @@ with pkgs;
   linux_samus_latest = linuxPackages_samus_latest.kernel;
 
   # A function to build a manually-configured kernel
-  linuxManualConfig = pkgs.buildLinux;
+  linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {});
   buildLinux = makeOverridable (callPackage ../os-specific/linux/kernel/generic.nix {});
 
   keyutils = callPackage ../os-specific/linux/keyutils { };
@@ -17178,6 +17178,8 @@ with pkgs;
     vte = gnome3.vte;
   };
 
+  sayonara = callPackage ../applications/audio/sayonara { };
+
   sbagen = callPackage ../applications/misc/sbagen { };
 
   scantailor = callPackage ../applications/graphics/scantailor { };