about summary refs log tree commit diff
path: root/pkgs/development/compilers/ghc
diff options
context:
space:
mode:
authorMartin Weinelt <hexa@darmstadt.ccc.de>2023-03-13 17:14:19 +0000
committerMartin Weinelt <hexa@darmstadt.ccc.de>2023-03-13 17:14:19 +0000
commitbb14c4255bea2a0e7d2066c3cde26b51cd78ff7a (patch)
tree39f6f70b0c20d59a32ba731eb552aadbbc2e27fc /pkgs/development/compilers/ghc
parent766852c57c95239a18397797a64edbe1ab5d630a (diff)
parentc79b98dd409766c342cb4917ed23f2c56b80f38d (diff)
downloadnixlib-bb14c4255bea2a0e7d2066c3cde26b51cd78ff7a.tar
nixlib-bb14c4255bea2a0e7d2066c3cde26b51cd78ff7a.tar.gz
nixlib-bb14c4255bea2a0e7d2066c3cde26b51cd78ff7a.tar.bz2
nixlib-bb14c4255bea2a0e7d2066c3cde26b51cd78ff7a.tar.lz
nixlib-bb14c4255bea2a0e7d2066c3cde26b51cd78ff7a.tar.xz
nixlib-bb14c4255bea2a0e7d2066c3cde26b51cd78ff7a.tar.zst
nixlib-bb14c4255bea2a0e7d2066c3cde26b51cd78ff7a.zip
Merge remote-tracking branch 'origin/master' into staging-next
Diffstat (limited to 'pkgs/development/compilers/ghc')
-rw-r--r--pkgs/development/compilers/ghc/9.6.1.nix4
-rw-r--r--pkgs/development/compilers/ghc/common-hadrian.nix19
-rw-r--r--pkgs/development/compilers/ghc/head.nix6
3 files changed, 15 insertions, 14 deletions
diff --git a/pkgs/development/compilers/ghc/9.6.1.nix b/pkgs/development/compilers/ghc/9.6.1.nix
new file mode 100644
index 000000000000..7e8622f218cb
--- /dev/null
+++ b/pkgs/development/compilers/ghc/9.6.1.nix
@@ -0,0 +1,4 @@
+import ./common-hadrian.nix rec {
+  version = "9.6.1";
+  sha256 = "fe5ac909cb8bb087e235de97fa63aff47a8ae650efaa37a2140f4780e21f34cb";
+}
diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix
index 5f0953b1bca3..77e99ddf0da3 100644
--- a/pkgs/development/compilers/ghc/common-hadrian.nix
+++ b/pkgs/development/compilers/ghc/common-hadrian.nix
@@ -62,7 +62,7 @@
 
 , # Whether to build dynamic libs for the standard library (on the target
   # platform). Static libs are always built.
-  enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
+  enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic && !isGhcjs
 
 , # Whether to build terminfo.
   enableTerminfo ? !(stdenv.targetPlatform.isWindows
@@ -91,7 +91,7 @@
       transformers =
         lib.optionals useLLVM [ "llvm" ]
         ++ lib.optionals (!enableShared) [
-          "fully_static"
+          "no_dynamic_libs"
           "no_dynamic_ghc"
         ]
         ++ lib.optionals (!enableProfiledLibs) [ "no_profiled_libs" ]
@@ -182,7 +182,6 @@ let
     # be needed for TemplateHaskell. This solution was described in
     # https://www.tweag.io/blog/2020-09-30-bazel-static-haskell
     lib.optionals enableRelocatedStaticLibs [
-      "*.*.rts.*.opts += -fPIC -fexternal-dynamic-refs"
       "*.*.ghc.*.opts += -fPIC -fexternal-dynamic-refs"
     ]
     ++ lib.optionals targetPlatform.useAndroidPrebuilt [
@@ -396,16 +395,14 @@ stdenv.mkDerivation ({
 
   nativeBuildInputs = [
     perl ghc hadrian bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
-  ] ++ lib.optionals (rev != null) [
-    # We need to execute the boot script
-    autoconf automake m4 python3
+    # autoconf and friends are necessary for hadrian to create the bindist
+    autoconf automake m4
+    # Python is used in a few scripts invoked by hadrian to generate e.g. rts headers.
+    python3
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
     autoSignDarwinBinariesHook
   ] ++ lib.optionals enableDocs [
     sphinx
-  ] ++ lib.optionals targetPlatform.isGhcjs [
-    # emscripten itself is added via depBuildTarget / targetCC
-    python3
   ];
 
   # For building runtime libs
@@ -426,10 +423,10 @@ stdenv.mkDerivation ({
     runHook preBuild
 
     # hadrianFlagsArray is created in preConfigure
-    echo "hadrianFlags: $hadrianFlags ''${hadrianFlagsArray}"
+    echo "hadrianFlags: $hadrianFlags ''${hadrianFlagsArray[@]}"
 
     # We need to go via the bindist for installing
-    hadrian $hadrianFlags "''${hadrianFlagsArray}" binary-dist-dir
+    hadrian $hadrianFlags "''${hadrianFlagsArray[@]}" binary-dist-dir
 
     runHook postBuild
   '';
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 19739ecbd14f..35d285ca2b2e 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,5 +1,5 @@
 import ./common-hadrian.nix {
-  version = "9.7.20221224";
-  rev = "a5bd0eb8dd1d03c54e1b0b476ebbc4cc886d6f19";
-  sha256 = "1rrds9alzpy4vyh2isan32h1zmf44nsr8552wbsn1y3fg6bnpbxi";
+  version = "9.7.20230217";
+  rev = "a203ad854ffee802e6bf0aca26e6c9a99bec3865";
+  sha256 = "06q6l7svdynvdv90yz6dxbsk3j5c8gh5ghwfl02rdwamcrzw7zic";
 }