···5454 # skip interactive browser check
5555 buildFlags = [ "nobrowsers" ];
56565757+ # Workaround build failure on -fno-common toolchains:
5858+ # ld: cexp.o:(.bss+0x40): multiple definition of `obstck'; cccp.o:(.bss+0x0): first defined here
5959+ NIX_CFLAGS_COMPILE = "-fcommon";
57605861 preConfigure=''
5962 configureFlagsArray=(
+1-1
pkgs/development/compilers/ghc/8.10.7.nix
···234234 # GHC is a bit confused on its cross terminology, as these would normally be
235235 # the *host* tools.
236236 export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
237237- export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
237237+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
238238 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
239239 export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
240240 export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+1-1
pkgs/development/compilers/ghc/8.8.4.nix
···215215 # GHC is a bit confused on its cross terminology, as these would normally be
216216 # the *host* tools.
217217 export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
218218- export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
218218+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
219219 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
220220 export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
221221 export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+1-1
pkgs/development/compilers/ghc/9.0.2.nix
···217217 # GHC is a bit confused on its cross terminology, as these would normally be
218218 # the *host* tools.
219219 export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
220220- export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
220220+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
221221 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
222222 export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
223223 export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
···66, xattr, autoSignDarwinBinariesHook
77, bash
8899+, autoreconfHook # GHC 9.2.3 tarballs don't have autoconf run on them
1010+911, libiconv ? null, ncurses
1012, glibcLocales ? null
1113···171173assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
172174173175stdenv.mkDerivation (rec {
174174- version = "9.2.2";
176176+ version = "9.2.3";
175177 pname = "${targetPrefix}ghc${variantSuffix}";
176178177179 src = fetchurl {
178180 url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
179179- sha256 = "902463a4cc6ee479af9358b9f8b2ee3237b03e934a1ea65b6d1fcf3e0d749ea6";
181181+ sha256 = "50ecdc2bef013e518f9a62a15245d7db0e4409d737c43b1cea7306fd82e1669e";
180182 };
181183182184 enableParallelBuilding = true;
···197199 # GHC is a bit confused on its cross terminology, as these would normally be
198200 # the *host* tools.
199201 export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
200200- export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
202202+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
201203 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
202204 export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
203205 export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
···218220 '' + ''
219221220222 echo -n "${buildMK}" > mk/build.mk
223223+ # GHC 9.2.3 tarball is not properly prepared
224224+ ./boot
225225+221226 sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
222227 '' + lib.optionalString (stdenv.isLinux && hostPlatform.libc == "glibc") ''
223228 export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
···283288 dontAddExtraLibs = true;
284289285290 nativeBuildInputs = [
291291+ autoreconfHook # GHC 9.2.3 tarball hasn't autoconf run on it
286292 perl autoconf automake m4 python3
287293 ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
288294 ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+1-1
pkgs/development/compilers/ghc/head.nix
···205205 # GHC is a bit confused on its cross terminology, as these would normally be
206206 # the *host* tools.
207207 export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
208208- export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
208208+ export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
209209 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
210210 # and more generally have a faster linker.
211211 export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
···11{ lib
22, stdenv
33-, supportedGhcVersions ? [ "884" "8107" "902" "922" ]
33+, supportedGhcVersions ? [ "884" "8107" "902" "923" ]
44, dynamic ? false
55, haskellPackages
66, haskell
···88#
99# The recommended way to override this package is
1010#
1111-# pkgs.haskell-language-server.override { supportedGhcVersions = [ "901" ]; }
1111+# pkgs.haskell-language-server.override { supportedGhcVersions = [ "902" ]; }
1212#
1313# for example. Read more about this in the haskell-language-server section of the nixpkgs manual.
1414#
+21-4
pkgs/misc/arm-trusted-firmware/default.nix
···11{ lib, stdenv, fetchFromGitHub, openssl, pkgsCross, buildPackages
2233-# Warning: this blob runs on the main CPU (not the GPU) at privilege
44-# level EL3, which is above both the kernel and the hypervisor.
33+# Warning: this blob (hdcp.bin) runs on the main CPU (not the GPU) at
44+# privilege level EL3, which is above both the kernel and the
55+# hypervisor.
66+#
77+# This parameter applies only to platforms which are believed to use
88+# hdcp.bin. On all other platforms, or if unfreeIncludeHDCPBlob=false,
99+# hdcp.bin will be deleted before building.
510, unfreeIncludeHDCPBlob ? true
611}:
712···914 buildArmTrustedFirmware = { filesToInstall
1015 , installDir ? "$out"
1116 , platform ? null
1717+ , platformCanUseHDCPBlob ? false # set this to true if the platform is able to use hdcp.bin
1218 , extraMakeFlags ? []
1319 , extraMeta ? {}
1420 , version ? "2.6"
1521 , ... } @ args:
2222+2323+ # delete hdcp.bin if either: the platform is thought to
2424+ # not need it or unfreeIncludeHDCPBlob is false
2525+ let deleteHDCPBlobBeforeBuild = !platformCanUseHDCPBlob || !unfreeIncludeHDCPBlob; in
2626+1627 stdenv.mkDerivation ({
17281829 pname = "arm-trusted-firmware${lib.optionalString (platform != null) "-${platform}"}";
···2536 sha256 = "sha256-qT9DdTvMcUrvRzgmVf2qmKB+Rb1WOB4p1rM+fsewGcg=";
2637 };
27382828- patches = lib.optionals (!unfreeIncludeHDCPBlob) [
3939+ patches = lib.optionals deleteHDCPBlobBeforeBuild [
2940 # this is a rebased version of https://gitlab.com/vicencb/kevinboot/-/blob/master/atf.patch
3041 ./remove-hdcp-blob.patch
3142 ];
32434444+ postPatch = lib.optionalString deleteHDCPBlobBeforeBuild ''
4545+ rm plat/rockchip/rk3399/drivers/dp/hdcp.bin
4646+ '';
4747+3348 depsBuildBuild = [ buildPackages.stdenv.cc ];
34493550 # For Cortex-M0 firmware in RK3399
···6075 meta = with lib; {
6176 homepage = "https://github.com/ARM-software/arm-trusted-firmware";
6277 description = "A reference implementation of secure world software for ARMv8-A";
6363- license = (if unfreeIncludeHDCPBlob then [ licenses.unfreeRedistributable ] else []) ++ [ licenses.bsd3 ];
7878+ license = [ licenses.bsd3 ] ++ lib.optionals (!deleteHDCPBlobBeforeBuild) [ licenses.unfreeRedistributable ];
6479 maintainers = with maintainers; [ lopsided98 ];
6580 } // extraMeta;
6681 } // builtins.removeAttrs args [ "extraMeta" ]);
···111126 platform = "rk3328";
112127 extraMeta.platforms = ["aarch64-linux"];
113128 filesToInstall = [ "build/${platform}/release/bl31/bl31.elf"];
129129+ platformCanUseHDCPBlob = true;
114130 };
115131116132 armTrustedFirmwareRK3399 = buildArmTrustedFirmware rec {
···118134 platform = "rk3399";
119135 extraMeta.platforms = ["aarch64-linux"];
120136 filesToInstall = [ "build/${platform}/release/bl31/bl31.elf"];
137137+ platformCanUseHDCPBlob = true;
121138 };
122139123140 armTrustedFirmwareS905 = buildArmTrustedFirmware rec {