From 9e371a98c26b9f6745fa97a32ea079c4522daa56 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 27 Feb 2012 20:27:41 +0000 Subject: [PATCH] haskell-base64-bytestring: downgraded default version to 0.1.0.3 Michael Snoyman reports that version 0.1.1.0 has serious performance issues: > import Data.ByteString.Base64 > import Data.ByteString.Char8 (pack) > import Criterion.Main > > main :: IO () > main = defaultMain > [ bench "encode" $ whnf encode $ pack "qwerty" > ] On version 0.1.0.3, this takes 229.4312 ns. On 0.1.1.0, it takes 3.556598 ms. It looks like the problem is coming from the recent addition of URL encoding (https://github.com/bos/base64-bytestring/commit/f1916d8a86b496cfacd23939b5e3fa10d92abb7b). svn path=/nixpkgs/trunk/; revision=32632 --- .../haskell/base64-bytestring/0.1.0.3.nix | 17 +++++++++++++++++ .../{default.nix => 0.1.1.0.nix} | 0 pkgs/top-level/haskell-packages.nix | 4 +++- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/haskell/base64-bytestring/0.1.0.3.nix rename pkgs/development/libraries/haskell/base64-bytestring/{default.nix => 0.1.1.0.nix} (100%) diff --git a/pkgs/development/libraries/haskell/base64-bytestring/0.1.0.3.nix b/pkgs/development/libraries/haskell/base64-bytestring/0.1.0.3.nix new file mode 100644 index 00000000000..f974a72347f --- /dev/null +++ b/pkgs/development/libraries/haskell/base64-bytestring/0.1.0.3.nix @@ -0,0 +1,17 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "base64-bytestring"; + version = "0.1.0.3"; + sha256 = "0d4j8b1d8z9qr1y446bfkj764xgilk8gw2frj0wn0717y8knvmx3"; + meta = { + homepage = "https://github.com/bos/base64-bytestring"; + description = "Fast base64 encoding and deconding for ByteStrings"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ + self.stdenv.lib.maintainers.andres + self.stdenv.lib.maintainers.simons + ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/base64-bytestring/default.nix b/pkgs/development/libraries/haskell/base64-bytestring/0.1.1.0.nix similarity index 100% rename from pkgs/development/libraries/haskell/base64-bytestring/default.nix rename to pkgs/development/libraries/haskell/base64-bytestring/0.1.1.0.nix diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 90fd84573b1..534cc3aa2f7 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -456,7 +456,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); base64String = callPackage ../development/libraries/haskell/base64-string {}; - base64Bytestring = callPackage ../development/libraries/haskell/base64-bytestring {}; + base64Bytestring_0_1_0_3 = callPackage ../development/libraries/haskell/base64-bytestring/0.1.0.3.nix {}; + base64Bytestring_0_1_1_0 = callPackage ../development/libraries/haskell/base64-bytestring/0.1.1.0.nix {}; + base64Bytestring = self.base64Bytestring_0_1_0_3; # Version 0.1.1.0 has serious performance issues. baseUnicodeSymbols = callPackage ../development/libraries/haskell/base-unicode-symbols {};