Unverified Commit 97ad8350 authored by maralorn's avatar maralorn Committed by GitHub
Browse files

haskellPackages.password: use crypton, disable scrypt on non-x86 (#351305)

parents 9f4b4c44 169b24df
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -830,8 +830,6 @@ supported-platforms:
  midi-alsa:                                    [ platforms.linux ] # alsa-core only supported on linux
  midisurface:                                  [ platforms.linux ] # alsa-core only supported on linux
  OrderedBits:                                  [ platforms.x86 ] # lacks implementations for non-x86: https://github.com/choener/OrderedBits/blob/401cbbe933b1635aa33e8e9b29a4a570b0a8f044/lib/Data/Bits/Ordered.hs#L316
  password:                                     [ platforms.x86 ] # uses scrypt, which requries x86
  password-instances:                           [ platforms.x86 ] # uses scrypt, which requries x86
  reactivity:                                   [ platforms.windows ]
  reflex-libtelnet:                             [ platforms.linux ] # pkgs.libtelnet only supports linux
  scat:                                         [ platforms.x86 ] # uses scrypt, which requries x86
+29 −0
Original line number Diff line number Diff line
@@ -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];
+0 −3
Original line number Diff line number Diff line
@@ -234457,7 +234457,6 @@ self: {
       ];
       description = "Hashing and checking of passwords";
       license = lib.licenses.bsd3;
       platforms = lib.platforms.x86;
       maintainers = [ lib.maintainers.cdepillabout ];
     }) {};
@@ -234483,7 +234482,6 @@ self: {
       ];
       description = "Hashing and checking of passwords";
       license = lib.licenses.bsd3;
       platforms = lib.platforms.x86;
       hydraPlatforms = lib.platforms.none;
       maintainers = [ lib.maintainers.cdepillabout ];
     }) {};
@@ -234509,7 +234507,6 @@ self: {
       ];
       description = "typeclass instances for password package";
       license = lib.licenses.bsd3;
       platforms = lib.platforms.x86;
       maintainers = [ lib.maintainers.cdepillabout ];
     }) {};
+21 −0
Original line number Diff line number Diff line
diff --git a/password/password.cabal b/password/password.cabal
index 506457e..8fa978b 100644
--- a/password.cabal
+++ b/password.cabal
@@ -186,6 +186,8 @@ test-suite password-tasty
     other-modules:
       Scrypt
       Data.Password.Scrypt
+    build-depends:
+      scrypt
   ghc-options:
       -threaded -O2 -rtsopts -with-rtsopts=-N
   build-depends:
@@ -195,7 +197,6 @@ test-suite password-tasty
     , bytestring
     , memory
     , quickcheck-instances
-    , scrypt
     , tasty
     , tasty-hunit
     , tasty-quickcheck