packages feed

minisat-solver-0.1: minisat-solver.cabal

-- The name of the package.
name:                minisat-solver

-- 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.1

-- A short (one-line) description of the package.
synopsis:            High-level Haskell bindings for the MiniSat SAT solver.

-- A longer description of the package.
description:         

 This package provides high-level Haskell bindings for the well-known
 MiniSat satisfiability solver. It solves the boolean satisfiability
 problem, i.e., the input is a boolean formula, and the output is a
 list of all satisfying assignments.

 MiniSat is a fully automated, well-optimized general-purpose SAT
 solver written by Niklas Een and Niklas Sorensson, and further
 modified by Takahisa Toda.

 Unlike other similar Haskell packages, we provide a convenient
 high-level interface to the SAT solver, hiding the complexity of the
 underlying C implementation. It can be easily integrated into other
 programs as an efficient turn-key solution to many search problems.

 To illustrate the use of the library, two example programs are
 included in the "examples" directory; one program solves Sudoku
 puzzles, and the other solves a 3-dimensional block packing
 problem. These programs can be built manually, or by invoking Cabal
 with the '--enable-benchmarks' option.
      
-- URL for the project homepage or repository.
homepage:            http://www.mathstat.dal.ca/~selinger/minisat-solver/

-- The license under which the package is released.
license:             MIT

-- The file containing the license text.
license-file:        LICENSE

-- The package author(s).
author:              Peter Selinger

-- An email address to which users can send suggestions, bug reports, and 
-- patches.
maintainer:          selinger@mathstat.dal.ca

-- A copyright notice.
copyright:           Copyright (c) 2016 Peter Selinger,
                     Copyright (c) 2015 Takahisa Toda,
                     Copyright (c) 2005 Niklas Sorensson

-- A classification category for future use by the package catalogue
-- Hackage. These categories have not yet been specified, but the
-- upper levels of the module hierarchy make a good start.
category:            Logic

-- The type of build used by this package.
build-type:          Simple

-- Constraint on the version of Cabal needed to build this package.
cabal-version:       >=1.8

-- A list of additional files to be included in source distributions
-- built with setup sdist.
extra-source-files:
                   ChangeLog
                   c-sources/ChangeLog
                   c-sources/LICENSE.MiniSat
                   c-sources/LICENSE.bc_minisat_all
                   c-sources/main.c
                   c-sources/Makefile
                   c-sources/README.html
                   c-sources/README.pdf
                   c-sources/solver.h
                   c-sources/vec.h

-- ----------------------------------------------------------------------
library
  extensions:        ForeignFunctionInterface
        
  -- Modules exported by the library.
  exposed-modules:   SAT.MiniSat
                     
  -- Modules included in this library but not exported.
  other-modules:     SAT.MiniSat.LowLevel
                     SAT.MiniSat.Literals
                     SAT.MiniSat.Monadic
                     SAT.MiniSat.Functional
                     SAT.MiniSat.Variable
                     SAT.MiniSat.Formula

  -- A list of directories to search for header files.
  include-dirs:      c-sources

  c-sources:         c-sources/solver.c

  includes:          solver.h
                     vec.h
  
  -- Other library packages from which modules are imported.
  build-depends:     base >= 4.6 && < 5,
                     transformers,
                     containers

-- ----------------------------------------------------------------------
benchmark Sudoku
  type: exitcode-stdio-1.0

  -- .hs or .lhs file containing the Main module.
  main-is:           Sudoku.hs

  -- Root directories for the module hierarchy.
  hs-source-dirs:    examples

  -- Modules included in this executable, other than Main.
  -- other-modules:

  -- Other library packages from which modules are imported.
  build-depends:     base >= 4.6 && < 5,
                     containers,
                     minisat-solver

-- ----------------------------------------------------------------------
benchmark Woodblocks
  type: exitcode-stdio-1.0

  -- .hs or .lhs file containing the Main module.
  main-is:           Woodblocks.hs

  -- Root directories for the module hierarchy.
  hs-source-dirs:    examples

  -- Modules included in this executable, other than Main.
  -- other-modules:

  -- Other library packages from which modules are imported.
  build-depends:     base >= 4.6 && < 5,
                     easyrender,
                     containers,
                     minisat-solver