diff options
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-nix.nix')
-rw-r--r-- | pkgs/development/haskell-modules/configuration-nix.nix | 105 |
1 files changed, 82 insertions, 23 deletions
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 8477d68dfaf5..cee1e089cf60 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -113,6 +113,35 @@ self: super: builtins.intersectAttrs super { '' + drv.preCheck or ""; }) super.agda2lagda; + # - Disable scrypt support since the library used only works on x86 due to SSE2: + # https://github.com/informatikr/scrypt/issues/8 + # - Use crypton as the encryption backend. That override becomes obsolete with + # 3.1.* since cabal2nix picks crypton by default then. + password = + let + scryptSupported = pkgs.stdenv.hostPlatform.isx86; + in + + lib.pipe + (super.password.override ({ + cryptonite = self.crypton; + } // lib.optionalAttrs (!scryptSupported) { + scrypt = null; + })) + ([ + (enableCabalFlag "crypton") + (disableCabalFlag "cryptonite") + # https://github.com/cdepillabout/password/pull/84 + (appendPatch ./patches/password-3.0.4.0-scrypt-conditional.patch) + (overrideCabal (drv: { + # patch doesn't apply otherwise because of revisions + prePatch = drv.prePatch or "" + '' + ${pkgs.buildPackages.dos2unix}/bin/dos2unix *.cabal + ''; + })) + ] ++ lib.optionals (!scryptSupported) [ + (disableCabalFlag "scrypt") + ]); audacity = enableCabalFlag "buildExamples" (overrideCabal (drv: { executableHaskellDepends = [self.optparse-applicative self.soxlib]; @@ -156,6 +185,11 @@ self: super: builtins.intersectAttrs super { ''; }) super.nvvm; + # Doesn't declare LLVM dependency, needs llvm-config + llvm-codegen = addBuildTools [ + pkgs.llvmPackages_17.llvm.dev # for native llvm-config + ] super.llvm-codegen; + # hledger* overrides inherit ( let @@ -188,27 +222,27 @@ self: super: builtins.intersectAttrs super { hledger-web = installHledgerExtraFiles "" (hledgerWebTestFix super.hledger-web); hledger-ui = installHledgerExtraFiles "" super.hledger-ui; - hledger_1_34 = installHledgerExtraFiles "embeddedfiles" - (doDistribute (super.hledger_1_34.override { - hledger-lib = self.hledger-lib_1_34; + hledger_1_40 = installHledgerExtraFiles "embeddedfiles" + (doDistribute (super.hledger_1_40.override { + hledger-lib = self.hledger-lib_1_40; })); - hledger-ui_1_34 = installHledgerExtraFiles "" - (doDistribute (super.hledger-ui_1_34.override { - hledger = self.hledger_1_34; - hledger-lib = self.hledger-lib_1_34; + hledger-ui_1_40 = installHledgerExtraFiles "" + (doDistribute (super.hledger-ui_1_40.override { + hledger = self.hledger_1_40; + hledger-lib = self.hledger-lib_1_40; })); - hledger-web_1_34 = installHledgerExtraFiles "" (hledgerWebTestFix - (doDistribute (super.hledger-web_1_34.override { - hledger = self.hledger_1_34; - hledger-lib = self.hledger-lib_1_34; + hledger-web_1_40 = installHledgerExtraFiles "" (hledgerWebTestFix + (doDistribute (super.hledger-web_1_40.override { + hledger = self.hledger_1_40; + hledger-lib = self.hledger-lib_1_40; }))); } ) hledger hledger-web hledger-ui - hledger_1_34 - hledger-ui_1_34 - hledger-web_1_34 + hledger_1_40 + hledger-ui_1_40 + hledger-web_1_40 ; cufft = overrideCabal (drv: { @@ -300,7 +334,7 @@ self: super: builtins.intersectAttrs super { [ (disableHardening ["fortify"]) (addBuildTool self.buildHaskellPackages.gtk2hs-buildtools) ] ++ - ( if pkgs.stdenv.isDarwin then [(appendConfigureFlag "-fhave-quartz-gtk")] else [] ) + ( if pkgs.stdenv.hostPlatform.isDarwin then [(appendConfigureFlag "-fhave-quartz-gtk")] else [] ) ); gtksourceview2 = addPkgconfigDepend pkgs.gtk2 super.gtksourceview2; gtk-traymanager = addPkgconfigDepend pkgs.gtk3 super.gtk-traymanager; @@ -376,9 +410,11 @@ self: super: builtins.intersectAttrs super { mustache = dontCheck super.mustache; arch-web = dontCheck super.arch-web; + # Tries accessing the GitHub API + github-app-token = dontCheck super.github-app-token; + # The curl executable is required for withApplication tests. warp = addTestToolDepend pkgs.curl super.warp; - warp_3_3_30 = addTestToolDepend pkgs.curl super.warp_3_3_30; safe-exceptions = overrideCabal (drv: { # Fix strictDeps build error "could not execute: hspec-discover" @@ -429,6 +465,7 @@ self: super: builtins.intersectAttrs super { shellify = enableSeparateBinOutput super.shellify; specup = enableSeparateBinOutput super.specup; + aws-spend-summary = enableSeparateBinOutput super.aws-spend-summary; # Test suite wants to connect to $DISPLAY. bindings-GLFW = dontCheck super.bindings-GLFW; @@ -520,7 +557,7 @@ self: super: builtins.intersectAttrs super { "--extra-include-dirs=${pkgs.cwiid}/include" "--extra-include-dirs=${pkgs.bluez.dev}/include" ]; - prePatch = '' sed -i -e "/Extra-Lib-Dirs/d" -e "/Include-Dirs/d" "hcwiid.cabal" ''; + prePatch = ''sed -i -e "/Extra-Lib-Dirs/d" -e "/Include-Dirs/d" "hcwiid.cabal"''; }) super.hcwiid; # cabal2nix doesn't pick up some of the dependencies. @@ -585,7 +622,7 @@ self: super: builtins.intersectAttrs super { # # Additional note: nixpkgs' freeglut and macOS's OpenGL implementation do not cooperate, # so disable this on Darwin only - ${if pkgs.stdenv.isDarwin then null else "GLUT"} = overrideCabal (drv: { + ${if pkgs.stdenv.hostPlatform.isDarwin then null else "GLUT"} = overrideCabal (drv: { pkg-configDepends = drv.pkg-configDepends or [] ++ [ pkgs.freeglut ]; @@ -823,9 +860,9 @@ self: super: builtins.intersectAttrs super { # https://git-annex.branchable.com/git-annex-shell/ passthru.shellPath = "/bin/git-annex-shell"; }) (super.git-annex.override { - dbus = if pkgs.stdenv.isLinux then self.dbus else null; - fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null; - hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.fsnotify; + dbus = if pkgs.stdenv.hostPlatform.isLinux then self.dbus else null; + fdo-notify = if pkgs.stdenv.hostPlatform.isLinux then self.fdo-notify else null; + hinotify = if pkgs.stdenv.hostPlatform.isLinux then self.hinotify else self.fsnotify; }); # The test suite has undeclared dependencies on git. @@ -1117,6 +1154,22 @@ self: super: builtins.intersectAttrs super { (dontCheckIf (!pkgs.postgresql.doCheck)) ]; + cloudy = + pkgs.lib.pipe + super.cloudy + [ + # The code-path that generates the optparse-applicative completions uses + # the HOME directory, so that must be set in order to generate completions. + # https://github.com/cdepillabout/cloudy/issues/10 + ( overrideCabal (oldAttrs: { + postInstall = '' + export HOME=$TMPDIR + '' + (oldAttrs.postInstall or ""); + }) + ) + (self.generateOptparseApplicativeCompletions ["cloudy"]) + ]; + # Wants running postgresql database accessible over ip, so postgresqlTestHook # won't work (or would need to patch test suite). domaindriven-core = dontCheck super.domaindriven-core; @@ -1368,11 +1421,12 @@ self: super: builtins.intersectAttrs super { gi-javascriptcore gi-webkit2webextension gi-gtk_4_0_9 - gi-gdk_4_0_8 + gi-gdk_4_0_9 gi-gsk gi-adwaita sdl2-ttf sdl2 + dear-imgui ; webkit2gtk3-javascriptcore = lib.pipe super.webkit2gtk3-javascriptcore [ @@ -1394,7 +1448,7 @@ self: super: builtins.intersectAttrs super { mpiImpl = pkgs.mpi.pname; disableUnused = with builtins; map disableCabalFlag (filter (n: n != mpiImpl) validMpi); in lib.pipe - (super.mpi-hs_0_7_3_0.override { ompi = pkgs.mpi; }) + (super.mpi-hs_0_7_3_1.override { ompi = pkgs.mpi; }) ( [ (addTestToolDepends [ pkgs.openssh pkgs.mpiCheckPhaseHook ]) ] ++ disableUnused ++ lib.optional (builtins.elem mpiImpl validMpi) (enableCabalFlag mpiImpl) @@ -1431,4 +1485,9 @@ self: super: builtins.intersectAttrs super { "--skip=/Cabal.Paths/paths" ]; }) super.doctest; + + # tracked upstream: https://github.com/snapframework/openssl-streams/pull/11 + # certificate used only 1024 Bit RSA key and SHA-1, which is not allowed in OpenSSL 3.1+ + # security level 2 + openssl-streams = appendPatch ./patches/openssl-streams-cert.patch super.openssl-streams; } |