diff --git a/ghc-vector-algorithms.spec b/ghc-vector-algorithms.spec index 0ee3fe5..2bdf2e7 100644 --- a/ghc-vector-algorithms.spec +++ b/ghc-vector-algorithms.spec @@ -26,6 +26,7 @@ License: BSD-3-Clause Group: Development/Libraries/Haskell URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-bytestring-devel BuildRequires: ghc-primitive-devel @@ -54,6 +55,7 @@ files. %prep %setup -q -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build diff --git a/vector-algorithms.cabal b/vector-algorithms.cabal new file mode 100644 index 0000000..e2637ac --- /dev/null +++ b/vector-algorithms.cabal @@ -0,0 +1,148 @@ +name: vector-algorithms +version: 0.8.0.1 +x-revision: 1 +license: BSD3 +license-file: LICENSE +author: Dan Doel +maintainer: Dan Doel + Erik de Castro Lopo +copyright: (c) 2008,2009,2010,2011,2012,2013,2014,2015 Dan Doel + (c) 2015 Tim Baumann +homepage: https://github.com/erikd/vector-algorithms/ +category: Data +synopsis: Efficient algorithms for vector arrays +description: Efficient algorithms for sorting vector arrays. At some stage + other vector algorithms may be added. +build-type: Simple +cabal-version: >= 1.9.2 + +flag BoundsChecks + description: Enable bounds checking + default: True + +flag UnsafeChecks + description: Enable bounds checking in unsafe operations at the cost of a + significant performance penalty. + default: False + +flag InternalChecks + description: Enable internal consistency checks at the cost of a + significant performance penalty. + default: False + +flag bench + description: Build a benchmarking program to test vector-algorithms + performance + default: True + +flag properties + description: Enable the quickcheck tests + default: True + +-- flag dump-simpl +-- description: Dumps the simplified core during compilation +-- default: False + +flag llvm + description: Build using llvm + default: False + +source-repository head + type: git + location: https://github.com/erikd/vector-algorithms/ + +library + hs-source-dirs: src + + build-depends: base >= 4.5 && < 5, + vector >= 0.6 && < 0.13, + primitive >=0.3 && <0.7, + bytestring >= 0.9 && < 1.0 + + if ! impl (ghc >= 7.8) + build-depends: tagged >= 0.4 && < 0.9 + + exposed-modules: + Data.Vector.Algorithms.Optimal + Data.Vector.Algorithms.Insertion + Data.Vector.Algorithms.Intro + Data.Vector.Algorithms.Merge + Data.Vector.Algorithms.Radix + Data.Vector.Algorithms.Search + Data.Vector.Algorithms.Heap + Data.Vector.Algorithms.AmericanFlag + Data.Vector.Algorithms.Tim + + other-modules: + Data.Vector.Algorithms.Common + + ghc-options: + -funbox-strict-fields + + -- Cabal/Hackage complains about these + -- if flag(dump-simpl) + -- ghc-options: -ddump-simpl -ddump-to-file + + if flag(llvm) + ghc-options: -fllvm + + include-dirs: + include + + install-includes: + vector.h + + if flag(BoundsChecks) + cpp-options: -DVECTOR_BOUNDS_CHECKS + + if flag(UnsafeChecks) + cpp-options: -DVECTOR_UNSAFE_CHECKS + + if flag(InternalChecks) + cpp-options: -DVECTOR_INTERNAL_CHECKS + +benchmark simple-bench + hs-source-dirs: bench/simple + type: exitcode-stdio-1.0 + + if !flag(bench) + buildable: False + + main-is: Main.hs + + other-modules: + Blocks + + build-depends: base, mwc-random, vector, vector-algorithms + ghc-options: -Wall + + -- Cabal/Hackage complains about these + -- if flag(dump-simpl) + -- ghc-options: -ddump-simpl -ddump-to-file + + if flag(llvm) + ghc-options: -fllvm + +test-suite properties + hs-source-dirs: tests/properties + type: exitcode-stdio-1.0 + main-is: Tests.hs + + other-modules: + Optimal + Properties + Util + + if !flag(properties) + buildable: False + else + build-depends: + base, + bytestring, + containers, + QuickCheck > 2.9 && < 2.14, + vector, + vector-algorithms + + if flag(llvm) + ghc-options: -fllvm