Merge remote-tracking branch 'upstream/master' into staging
This commit is contained in:
@@ -91,7 +91,8 @@ stdenv.mkDerivation rec {
|
||||
extraPrefix = "libraries/Cabal/";
|
||||
})
|
||||
] ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch
|
||||
++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch;
|
||||
++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch
|
||||
++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch;
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
|
||||
@@ -99,7 +99,8 @@ stdenv.mkDerivation rec {
|
||||
(fetchpatch { # Backport of https://phabricator.haskell.org/D4388 for more determinism
|
||||
url = "https://github.com/shlevy/ghc/commit/fec1b8d3555c447c0d8da0e96b659be67c8bb4bc.patch";
|
||||
sha256 = "1lyysz6hfd1njcigpm8xppbnkadqfs0kvrp7s8vqgb38pjswj5hg";
|
||||
});
|
||||
})
|
||||
++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch;
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
|
||||
@@ -94,7 +94,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0plzsbfaq6vb1023lsarrjglwgr9chld4q3m99rcfzx0yx5mibp3";
|
||||
extraPrefix = "utils/hsc2hs/";
|
||||
stripLen = 1;
|
||||
})];
|
||||
})]
|
||||
++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch;
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
|
||||
index acd0d61..3e83c15 100644
|
||||
--- a/compiler/main/DriverPipeline.hs
|
||||
+++ b/compiler/main/DriverPipeline.hs
|
||||
@@ -1916,6 +1916,7 @@ linkBinary' staticLink dflags o_files dep_packages = do
|
||||
++ pkg_framework_opts
|
||||
++ debug_opts
|
||||
++ thread_opts
|
||||
+ ++ (if (platformOS platform `elem` [OSDarwin]) then [ "-Wl,-dead_strip_dylibs" ] else [])
|
||||
))
|
||||
|
||||
exeFileName :: Bool -> DynFlags -> FilePath
|
||||
diff --git a/compiler/main/SysTools.hs b/compiler/main/SysTools.hs
|
||||
index 1ab5b13..2ebbf51 100644
|
||||
--- a/compiler/main/SysTools.hs
|
||||
+++ b/compiler/main/SysTools.hs
|
||||
@@ -1737,6 +1737,7 @@ linkDynLib dflags0 o_files dep_packages
|
||||
++ map Option pkg_lib_path_opts
|
||||
++ map Option pkg_link_opts
|
||||
++ map Option pkg_framework_opts
|
||||
+ ++ [ Option "-Wl,-dead_strip_dylibs" ]
|
||||
)
|
||||
OSiOS -> throwGhcExceptionIO (ProgramError "dynamic libraries are not supported on iOS target")
|
||||
_ -> do
|
||||
@@ -1,10 +1,12 @@
|
||||
{ stdenv, fetchurl, pkgconfig, flex, bison, libxslt, autoconf, graphviz
|
||||
{ stdenv, lib, fetchurl, pkgconfig, flex, bison, libxslt, autoconf, graphviz
|
||||
, glib, libiconv, libintl, libtool, expat
|
||||
}:
|
||||
|
||||
let
|
||||
generic = { major, minor, sha256, extraNativeBuildInputs ? [], extraBuildInputs ? [] }:
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
atLeast = lib.versionAtLeast "${major}.${minor}";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "vala-${major}.${minor}";
|
||||
|
||||
src = fetchurl {
|
||||
@@ -14,9 +16,15 @@ let
|
||||
|
||||
outputs = [ "out" "devdoc" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig flex bison libxslt ] ++ extraNativeBuildInputs;
|
||||
nativeBuildInputs = [
|
||||
pkgconfig flex bison libxslt
|
||||
] ++ lib.optional (stdenv.isDarwin && (atLeast "0.38")) expat
|
||||
++ extraNativeBuildInputs;
|
||||
|
||||
buildInputs = [ glib libiconv libintl ] ++ extraBuildInputs;
|
||||
buildInputs = [
|
||||
glib libiconv libintl
|
||||
] ++ lib.optional (atLeast "0.38") graphviz
|
||||
++ extraBuildInputs;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Compiler for GObject type system";
|
||||
@@ -29,12 +37,6 @@ let
|
||||
|
||||
in rec {
|
||||
|
||||
vala_0_23 = generic {
|
||||
major = "0.23";
|
||||
minor = "3";
|
||||
sha256 = "101xjbc818g4849n9a80c2aai13zakj7mpnd7470xnkvz5jwqq96";
|
||||
};
|
||||
|
||||
vala_0_26 = generic {
|
||||
major = "0.26";
|
||||
minor = "2";
|
||||
@@ -61,24 +63,21 @@ in rec {
|
||||
|
||||
vala_0_36 = generic {
|
||||
major = "0.36";
|
||||
minor = "12";
|
||||
sha256 = "1nvw721piwdh15bipg0sdll9kvgpz0y9i5fpszlc7y9w64yis25l";
|
||||
minor = "13";
|
||||
sha256 = "0gxz7yisd9vh5d2889p60knaifz5zndgj98zkdfkkaykdfdq4m9k";
|
||||
};
|
||||
|
||||
vala_0_38 = generic {
|
||||
major = "0.38";
|
||||
minor = "4";
|
||||
sha256 = "1sg5gaq3jhgr9vzh2ypiw475167k150wmyglymr7wwqppmikmcrc";
|
||||
extraNativeBuildInputs = [ autoconf ] ++ stdenv.lib.optionals stdenv.isDarwin [ libtool expat ];
|
||||
extraBuildInputs = [ graphviz ];
|
||||
minor = "9";
|
||||
sha256 = "1dh1qacfsc1nr6hxwhn9lqmhnq39rv8gxbapdmj1v65zs96j3fn3";
|
||||
extraNativeBuildInputs = [ autoconf ] ++ lib.optional stdenv.isDarwin libtool;
|
||||
};
|
||||
|
||||
vala_0_40 = generic {
|
||||
major = "0.40";
|
||||
minor = "0";
|
||||
sha256 = "0wcfljl55a9qvslfcc4sf76wdpwgn83n96b7fgb7r49ib35qz20m";
|
||||
extraNativeBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ expat ];
|
||||
extraBuildInputs = [ graphviz ];
|
||||
minor = "6";
|
||||
sha256 = "1qjbwhifwwqbdg5zilvnwm4n76g8p7jwqs3fa0biw3rylzqm193d";
|
||||
};
|
||||
|
||||
vala = vala_0_38;
|
||||
|
||||
Reference in New Issue
Block a user