packages feed

Cabal revisions of lol-0.5.0.2

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-name:                lol--- The package version.  See the Haskell package versioning policy (PVP)--- for standards guiding when and how versions should be incremented.--- http://www.haskell.org/haskellwiki/Package_versioning_policy--- PVP summary:      +-+------- breaking API changes---                   | | +----- non-breaking API additions---                   | | | +--- code changes with no API change-version:             0.5.0.2-synopsis:            A library for lattice cryptography.-homepage:            https://github.com/cpeikert/Lol-Bug-Reports:         https://github.com/cpeikert/Lol/issues-license:             GPL-2-license-file:        LICENSE-author:              Eric Crockett <ecrockett0@gmail.com>, Chris Peikert <cpeikert@alum.mit.edu>-maintainer:          Eric Crockett <ecrockett0@gmail.com>-copyright:           Eric Crockett, Chris Peikert-category:            Crypto-stability:           experimental-build-type:          Simple-extra-source-files:  README, CHANGES.md,-                     benchmarks/CycBenches.hs,-                     benchmarks/TensorBenches.hs,-                     benchmarks/UCycBenches.hs,-                     benchmarks/ZqBenches.hs,-                     tests/CycTests.hs,-                     tests/TensorTests.hs,-                     tests/ZqTests.hs,-                     utils/Apply.hs,-                     utils/Apply/Cyc.hs,-                     utils/Apply/Zq.hs,-                     utils/Benchmarks.hs,-                     utils/GenArgs.hs,-                     utils/GenArgs/Zq.hs,-                     utils/Tests.hs,-                     utils/TestTypes.hs,-                     utils/Utils.hs,-                     Crypto/Lol/Cyclotomic/Tensor/CTensor/*.h,-                     Crypto/Lol/Cyclotomic/Tensor/CTensor/*.cpp-cabal-version:       >= 1.10-description:-    Λ ∘ λ (Lol) is a general-purpose library for ring-based lattice cryptography.-    For a detailed description of interfaces and functionality, see-    <https://eprint.iacr.org/2015/1134 Λ ∘ λ: A Functional Library for Lattice Cryptography>.-    For example cryptographic applications, see <https://hackage.haskell.org/package/lol-apps lol-apps>.-source-repository head-  type: git-  location: https://github.com/cpeikert/Lol---- For information on compiling C with cabal: http://blog.ezyang.com/2010/06/setting-up-cabal-the-ffi-and-c2hs/--Flag llvm-  Description:  Compile via LLVM. This produces much better object code,-                but you need to have the LLVM compiler installed.-  -- If you enable this and get errors like "Error: can't resolve `.rodata' {.rodata section}"-  -- then GHC doesn't like your version of LLVM!-  Default:      False--Flag opt-  Description: Turn on library optimizations-  Default:     True--library-  default-language:   Haskell2010-  ghc-options: -fwarn-dodgy-imports-  cc-options: -std=c++11-  Include-dirs: Crypto/Lol/Cyclotomic/Tensor/CTensor-  -- Due to #12152, the file containing the definition of `Zq::q` must be linked first,-  -- otherwise dynamic linking (`cabal repl` or `stack ghci`) results in the error:-  -- "Loading temp shared object failed: /tmp/ghc54651_0/libghc_1.so: undefined symbol _ZN2Zq1qE"-  -- For `cabal repl`, we can simply reorder the list so that the file that should be linked-  -- first comes first in the list. However `stack ghci` always links alphabetically,-  -- so we really just have to define `Zq::q` in the first file alphabetically.-  C-sources: Crypto/Lol/Cyclotomic/Tensor/CTensor/common.cpp,-             Crypto/Lol/Cyclotomic/Tensor/CTensor/crt.cpp,-             Crypto/Lol/Cyclotomic/Tensor/CTensor/g.cpp,-             Crypto/Lol/Cyclotomic/Tensor/CTensor/l.cpp,-             Crypto/Lol/Cyclotomic/Tensor/CTensor/mul.cpp,-             Crypto/Lol/Cyclotomic/Tensor/CTensor/norm.cpp,-             Crypto/Lol/Cyclotomic/Tensor/CTensor/random.cpp,-             Crypto/Lol/Cyclotomic/Tensor/CTensor/zq.cpp--  if flag(llvm)-    ghc-options: -fllvm -optlo-O3--  -- ghc optimizations-  if flag(opt)-    -- makes lift much faster!-    ghc-options: -funfolding-use-threshold1000-  exposed-modules:-    Crypto.Lol-    Crypto.Lol.Types-    Crypto.Lol.Factored-    Crypto.Lol.Reflects-    Crypto.Lol.CRTrans-    Crypto.Lol.Gadget-    Crypto.Lol.Prelude--    Crypto.Lol.Cyclotomic.Cyc-    Crypto.Lol.Cyclotomic.UCyc-    Crypto.Lol.Cyclotomic.RescaleCyc-    Crypto.Lol.Cyclotomic.Linear--    Crypto.Lol.RLWE.Continuous-    Crypto.Lol.RLWE.Discrete-    Crypto.Lol.RLWE.RLWR--    Crypto.Lol.Cyclotomic.Tensor-    Crypto.Lol.Cyclotomic.Tensor.CTensor-    Crypto.Lol.Cyclotomic.Tensor.RepaTensor--    Crypto.Lol.Types.Random-    Crypto.Lol.Types.FiniteField-    Crypto.Lol.Types.IrreducibleChar2-    Crypto.Lol.Types.Proto-    Crypto.Lol.Types.RRq-    Crypto.Lol.Types.ZPP-    Crypto.Lol.Types.ZqBasic--    Crypto.Proto.RLWE-    Crypto.Proto.RLWE.Rq-    Crypto.Proto.RLWE.Kq-    Crypto.Proto.RLWE.SampleCont-    Crypto.Proto.RLWE.SampleDisc-    Crypto.Proto.RLWE.SampleRLWR--  other-modules:--    Crypto.Lol.PosBin-    Crypto.Lol.FactoredDefs-    Crypto.Lol.PosBinDefs-    Crypto.Lol.GaussRandom-    Crypto.Lol.Types.ZmStar-    Crypto.Lol.Types.Complex-    Crypto.Lol.Types.Numeric-    Crypto.Lol.Types.IZipVector-    Crypto.Lol.Cyclotomic.CRTSentinel-    Crypto.Lol.Cyclotomic.Tensor.RepaTensor.CRT-    Crypto.Lol.Cyclotomic.Tensor.RepaTensor.Extension-    Crypto.Lol.Cyclotomic.Tensor.RepaTensor.Dec-    Crypto.Lol.Cyclotomic.Tensor.RepaTensor.GL-    Crypto.Lol.Cyclotomic.Tensor.RepaTensor.RTCommon-    Crypto.Lol.Cyclotomic.Tensor.CTensor.Extension-    Crypto.Lol.Cyclotomic.Tensor.CTensor.Backend--  build-depends:-    arithmoi >= 0.4.1.3 && <0.5,-    base>=4.8 && <5,-    binary,-    bytestring,-    constraints,-    containers >= 0.5.6.2 && < 0.6,-    crypto-api,-    data-default >= 0.3.0 && < 0.8,-    deepseq >= 1.4.1.1 && <1.5,-    monadcryptorandom,-    MonadRandom >= 0.2 && < 0.5,-    mtl >= 2.2.1 && < 2.3,-    numeric-prelude >= 0.4.2 && < 0.5,-    QuickCheck >= 2.8 && < 2.9,-    protocol-buffers,-    protocol-buffers-descriptor,-    random >= 1.1 && < 1.2,-    reflection >= 1.5.1 && < 2.2,-    repa==3.4.*,-    singletons >= 1.1.2.1 && < 2.2,-    th-desugar >= 1.5.4 && < 1.7,-    tagged-transformer >= 0.7 && < 0.9,-    template-haskell  >=  2.2.0.0,-    transformers >= 0.4.2.0 && < 0.6,-    vector==0.11.*,-    vector-th-unbox >= 0.2.1.0 && < 0.3--  other-extensions: TemplateHaskell--test-suite test-lol-  type:               exitcode-stdio-1.0-  hs-source-dirs:     tests,utils-  default-language:   Haskell2010-  main-is:            Main.hs--  ghc-options: -threaded -rtsopts--  build-depends:-    arithmoi,-    base,-    constraints,-    deepseq,-    DRBG,-    lol,-    MonadRandom,-    mtl,-    QuickCheck >= 2.8 && < 2.9,-    random,-    repa,-    singletons,-    test-framework >= 0.8 && < 0.9,-    test-framework-quickcheck2 >= 0.3 && < 0.4,-    vector--Benchmark bench-lol-  type:               exitcode-stdio-1.0-  hs-source-dirs:     benchmarks,utils-  default-language:   Haskell2010-  main-is:            Main.hs--  if flag(llvm)-    ghc-options: -fllvm -optlo-O3-  ghc-options: -O2-  -- ghc-options: -ddump-to-file -ddump-simpl-  -- ghc-options: -dsuppress-coercions -dsuppress-type-applications -dsuppress-uniques -dsuppress-module-prefixes--  build-depends:-    ansi-terminal,-    arithmoi,-    base,-    containers,-    criterion,-    deepseq,-    DRBG,-    lol,-    MonadRandom,-    mtl,-    singletons,-    statistics,-    transformers,-    vector,-    repa+name:                lol
+-- The package version.  See the Haskell package versioning policy (PVP)
+-- for standards guiding when and how versions should be incremented.
+-- http://www.haskell.org/haskellwiki/Package_versioning_policy
+-- PVP summary:      +-+------- breaking API changes
+--                   | | +----- non-breaking API additions
+--                   | | | +--- code changes with no API change
+version:             0.5.0.2
+x-revision: 1
+synopsis:            A library for lattice cryptography.
+homepage:            https://github.com/cpeikert/Lol
+Bug-Reports:         https://github.com/cpeikert/Lol/issues
+license:             GPL-2
+license-file:        LICENSE
+author:              Eric Crockett <ecrockett0@gmail.com>, Chris Peikert <cpeikert@alum.mit.edu>
+maintainer:          Eric Crockett <ecrockett0@gmail.com>
+copyright:           Eric Crockett, Chris Peikert
+category:            Crypto
+stability:           experimental
+build-type:          Simple
+extra-source-files:  README, CHANGES.md,
+                     benchmarks/CycBenches.hs,
+                     benchmarks/TensorBenches.hs,
+                     benchmarks/UCycBenches.hs,
+                     benchmarks/ZqBenches.hs,
+                     tests/CycTests.hs,
+                     tests/TensorTests.hs,
+                     tests/ZqTests.hs,
+                     utils/Apply.hs,
+                     utils/Apply/Cyc.hs,
+                     utils/Apply/Zq.hs,
+                     utils/Benchmarks.hs,
+                     utils/GenArgs.hs,
+                     utils/GenArgs/Zq.hs,
+                     utils/Tests.hs,
+                     utils/TestTypes.hs,
+                     utils/Utils.hs,
+                     Crypto/Lol/Cyclotomic/Tensor/CTensor/*.h,
+                     Crypto/Lol/Cyclotomic/Tensor/CTensor/*.cpp
+cabal-version:       >= 1.10
+description:
+    Λ ∘ λ (Lol) is a general-purpose library for ring-based lattice cryptography.
+    For a detailed description of interfaces and functionality, see
+    <https://eprint.iacr.org/2015/1134 Λ ∘ λ: Functional Lattice Cryptography>.
+    For example cryptographic applications, see <https://hackage.haskell.org/package/lol-apps lol-apps>.
+source-repository head
+  type: git
+  location: https://github.com/cpeikert/Lol
+
+-- For information on compiling C with cabal: http://blog.ezyang.com/2010/06/setting-up-cabal-the-ffi-and-c2hs/
+
+Flag llvm
+  Description:  Compile via LLVM. This produces much better object code,
+                but you need to have the LLVM compiler installed.
+  -- If you enable this and get errors like "Error: can't resolve `.rodata' {.rodata section}"
+  -- then GHC doesn't like your version of LLVM!
+  Default:      False
+
+Flag opt
+  Description: Turn on library optimizations
+  Default:     True
+
+library
+  default-language:   Haskell2010
+  ghc-options: -fwarn-dodgy-imports
+  cc-options: -std=c++11
+  Include-dirs: Crypto/Lol/Cyclotomic/Tensor/CTensor
+  -- Due to #12152, the file containing the definition of `Zq::q` must be linked first,
+  -- otherwise dynamic linking (`cabal repl` or `stack ghci`) results in the error:
+  -- "Loading temp shared object failed: /tmp/ghc54651_0/libghc_1.so: undefined symbol _ZN2Zq1qE"
+  -- For `cabal repl`, we can simply reorder the list so that the file that should be linked
+  -- first comes first in the list. However `stack ghci` always links alphabetically,
+  -- so we really just have to define `Zq::q` in the first file alphabetically.
+  C-sources: Crypto/Lol/Cyclotomic/Tensor/CTensor/common.cpp,
+             Crypto/Lol/Cyclotomic/Tensor/CTensor/crt.cpp,
+             Crypto/Lol/Cyclotomic/Tensor/CTensor/g.cpp,
+             Crypto/Lol/Cyclotomic/Tensor/CTensor/l.cpp,
+             Crypto/Lol/Cyclotomic/Tensor/CTensor/mul.cpp,
+             Crypto/Lol/Cyclotomic/Tensor/CTensor/norm.cpp,
+             Crypto/Lol/Cyclotomic/Tensor/CTensor/random.cpp,
+             Crypto/Lol/Cyclotomic/Tensor/CTensor/zq.cpp
+
+  if flag(llvm)
+    ghc-options: -fllvm -optlo-O3
+
+  -- ghc optimizations
+  if flag(opt)
+    -- makes lift much faster!
+    ghc-options: -funfolding-use-threshold1000
+  exposed-modules:
+    Crypto.Lol
+    Crypto.Lol.Types
+    Crypto.Lol.Factored
+    Crypto.Lol.Reflects
+    Crypto.Lol.CRTrans
+    Crypto.Lol.Gadget
+    Crypto.Lol.Prelude
+
+    Crypto.Lol.Cyclotomic.Cyc
+    Crypto.Lol.Cyclotomic.UCyc
+    Crypto.Lol.Cyclotomic.RescaleCyc
+    Crypto.Lol.Cyclotomic.Linear
+
+    Crypto.Lol.RLWE.Continuous
+    Crypto.Lol.RLWE.Discrete
+    Crypto.Lol.RLWE.RLWR
+
+    Crypto.Lol.Cyclotomic.Tensor
+    Crypto.Lol.Cyclotomic.Tensor.CTensor
+    Crypto.Lol.Cyclotomic.Tensor.RepaTensor
+
+    Crypto.Lol.Types.Random
+    Crypto.Lol.Types.FiniteField
+    Crypto.Lol.Types.IrreducibleChar2
+    Crypto.Lol.Types.Proto
+    Crypto.Lol.Types.RRq
+    Crypto.Lol.Types.ZPP
+    Crypto.Lol.Types.ZqBasic
+
+    Crypto.Proto.RLWE
+    Crypto.Proto.RLWE.Rq
+    Crypto.Proto.RLWE.Kq
+    Crypto.Proto.RLWE.SampleCont
+    Crypto.Proto.RLWE.SampleDisc
+    Crypto.Proto.RLWE.SampleRLWR
+
+  other-modules:
+
+    Crypto.Lol.PosBin
+    Crypto.Lol.FactoredDefs
+    Crypto.Lol.PosBinDefs
+    Crypto.Lol.GaussRandom
+    Crypto.Lol.Types.ZmStar
+    Crypto.Lol.Types.Complex
+    Crypto.Lol.Types.Numeric
+    Crypto.Lol.Types.IZipVector
+    Crypto.Lol.Cyclotomic.CRTSentinel
+    Crypto.Lol.Cyclotomic.Tensor.RepaTensor.CRT
+    Crypto.Lol.Cyclotomic.Tensor.RepaTensor.Extension
+    Crypto.Lol.Cyclotomic.Tensor.RepaTensor.Dec
+    Crypto.Lol.Cyclotomic.Tensor.RepaTensor.GL
+    Crypto.Lol.Cyclotomic.Tensor.RepaTensor.RTCommon
+    Crypto.Lol.Cyclotomic.Tensor.CTensor.Extension
+    Crypto.Lol.Cyclotomic.Tensor.CTensor.Backend
+
+  build-depends:
+    arithmoi >= 0.4.1.3 && <0.5,
+    base>=4.8 && <5,
+    binary,
+    bytestring,
+    constraints,
+    containers >= 0.5.6.2 && < 0.6,
+    crypto-api,
+    data-default >= 0.3.0 && < 0.8,
+    deepseq >= 1.4.1.1 && <1.5,
+    monadcryptorandom,
+    MonadRandom >= 0.2 && < 0.5,
+    mtl >= 2.2.1 && < 2.3,
+    numeric-prelude >= 0.4.2 && < 0.5,
+    QuickCheck >= 2.8 && < 2.9,
+    protocol-buffers,
+    protocol-buffers-descriptor,
+    random >= 1.1 && < 1.2,
+    reflection >= 1.5.1 && < 2.2,
+    repa==3.4.*,
+    singletons >= 1.1.2.1 && < 2.2,
+    th-desugar >= 1.5.4 && < 1.7,
+    tagged-transformer >= 0.7 && < 0.9,
+    template-haskell  >=  2.2.0.0,
+    transformers >= 0.4.2.0 && < 0.6,
+    vector==0.11.*,
+    vector-th-unbox >= 0.2.1.0 && < 0.3
+
+  other-extensions: TemplateHaskell
+
+test-suite test-lol
+  type:               exitcode-stdio-1.0
+  hs-source-dirs:     tests,utils
+  default-language:   Haskell2010
+  main-is:            Main.hs
+
+  ghc-options: -threaded -rtsopts
+
+  build-depends:
+    arithmoi,
+    base,
+    constraints,
+    deepseq,
+    DRBG,
+    lol,
+    MonadRandom,
+    mtl,
+    QuickCheck >= 2.8 && < 2.9,
+    random,
+    repa,
+    singletons,
+    test-framework >= 0.8 && < 0.9,
+    test-framework-quickcheck2 >= 0.3 && < 0.4,
+    vector
+
+Benchmark bench-lol
+  type:               exitcode-stdio-1.0
+  hs-source-dirs:     benchmarks,utils
+  default-language:   Haskell2010
+  main-is:            Main.hs
+
+  if flag(llvm)
+    ghc-options: -fllvm -optlo-O3
+  ghc-options: -O2
+  -- ghc-options: -ddump-to-file -ddump-simpl
+  -- ghc-options: -dsuppress-coercions -dsuppress-type-applications -dsuppress-uniques -dsuppress-module-prefixes
+
+  build-depends:
+    ansi-terminal,
+    arithmoi,
+    base,
+    containers,
+    criterion,
+    deepseq,
+    DRBG,
+    lol,
+    MonadRandom,
+    mtl,
+    singletons,
+    statistics,
+    transformers,
+    vector,
+    repa