packages feed

happlets-lib-gtk-0.1.0.0: happlets-lib-gtk.cabal

-- "happlets-lib-gtk.cabal" build configuration for this project.
--
-- Copyright (C) 2017-2018  Ramin Honary.
--
-- "happlets-gtk" is free software: you can redistribute it and/or modify
-- it under the terms of the GNU Affero General Public License (AGPL) as
-- published by the Free Software Foundation.
--
-- "happlets-lib-gtk" is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-- See the GNU Affero General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program (see the file called "LICENSE"). If not, see
-- <http://www.gnu.org/licenses/agpl.html>.

NAME:           happlets-lib-gtk
VERSION:        0.1.0.0
AUTHOR:         Ramin Honary
COPYRIGHT:      (C) 2017-2018 Ramin Honary, all rights reserved.
MAINTAINER:     RaminHAL9001@gmail.com
HOMEPAGE:       https://github.com/RaminHAL9001/happlets-lib-gtk
LICENSE:        AGPL
LICENSE-FILE:   LICENSE
BUILD-TYPE:     Simple
CABAL-VERSION:  >= 1.18

CATEGORY:       GUI, Game
SYNOPSIS:       The "Haskell Applets" Gtk+ ver. 2 back-end for "happlets".

DESCRIPTION:   
    .
    *WARNING:* There are still some known bugs in this package, it is being
    uploaded to Hackage for evaluation purposes only. Although it is being
    actively developed, there is no release schedule for a production-ready
    version of this package. Contributions to the repository on GitHub are
    welcome.
    .
    This packages provides the Gtk+ v2 back-end to the "happlets" GUI
    framework. To create a Gtk+ applet, import the "Happlets.Lib.Gtk"
    module. "Happlets.Lib.Gtk" re-exports the "Happlets" module, so you can
    use all of the primitives provided by the "Happlets" module to construct
    your applet. In your "main" function, launch the main event loop by
    passing the 'Happlets.Lib.Gtk.gtkHapplet' function as the "Provider"
    either to the 'Happlets.Initialize.happlet' function or to the
    'Happlets.Initialize.simpleHapplet' function.
    .
    For an example of how to program your own Happlet, run the "cabal
    configure" command with the "--enable-tests" flag set. This will build
    the "Happlets.Lib.Gtk.TestSuite" executable program. Refer to the source
    code for "TestSuite" to see how the application is structured.
    .
    The goal of the Happlets project is to allow you to create very simple,
    thread-safe applications that contain nothing more than a single window
    with a drawing canvas that can respond to user input events, like mouse
    clicks, key-presses, or frame animation events. The intention is to
    create a minimal programming platform for small, single-purpose
    graphical applications which simply displays some interactive graphic,
    for example a plot of some data, or a simple game. Naturally, the
    Happlet program can be arbitrarily complex, but it may be better to
    consider other, FRP-based solutions if managing events becomes too
    difficult.
    .

Library {

  HS-SOURCE-DIRS:    src
  DEFAULT-LANGUAGE:  Haskell2010

  GHC-OPTIONS:  -Wall
    -fno-warn-name-shadowing
    -fno-warn-unused-do-bind

  EXPOSED-MODULES:
    Happlets.Lib.Gtk

  BUILD-DEPENDS:
    cairo                >=0.13.3.0 && <0.14.0.0,
    diagrams-cairo       >=1.4      && <2.0,
    diagrams-core        >=1.4      && <2.0,
    diagrams-lib         >=1.4.0.0  && <2.0.0.0,
    glib                 >=0.12.0.0 && <0.14.0.0,
    gtk                  >=0.13.0   && <0.15.0,
    happlets             >=0.1.0.0  && <1.0.0.0,
    lens                 >=4.0.0.0  && <5.0.0.0,
    linear               >=1.20.0   && <2.0.0.0,
    mtl                  >=2.2.0    && <=2.2.1,
    pango                >=0.13.4.0 && <0.14.0.0,
    semigroups           >=0.16.0   && <0.19.0,
    text                 >=1.1.1.4  && <=2.0.0.0,
    time                 >=1.4.0.0  && <=1.6.0.0,
    base                 >=4.7      && <4.9

  DEFAULT-EXTENSIONS:
    DeriveDataTypeable
    DeriveFunctor
    ExistentialQuantification
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GeneralizedNewtypeDeriving
    ImplicitParams
    LambdaCase
    MultiParamTypeClasses
    OverloadedStrings
    RankNTypes
    ScopedTypeVariables
    StandaloneDeriving
}

Test-suite happlets-lib-gtk-test {

  TYPE:              exitcode-stdio-1.0
  MAIN-IS:           Happlets/Lib/Gtk/TestSuite.hs
  HS-SOURCE-DIRS:    src
  DEFAULT-LANGUAGE:  Haskell2010

  GHC-OPTIONS:  -threaded  -Wall
    -fno-warn-name-shadowing
    -fno-warn-unused-do-bind
    -main-is Happlets.Lib.Gtk.TestSuite

  OTHER-MODULES:
    Happlets.Lib.Gtk

  BUILD-DEPENDS:
--    bytestring           >=0.10.0.0 && <1.0.0.0,
    cairo                >=0.13.3.0 && <0.14.0.0,
--    colour               >=2.0.0    && <3.0.0,
--    containers           >=0.5.5.0  && <=0.5.7.0,
    diagrams-cairo       >=1.4      && <2.0,
    diagrams-core        >=1.4      && <2.0,
    diagrams-lib         >=1.4.0.0  && <2.0.0.0,
    glib                 >=0.12.0.0 && <0.14.0.0,
    gtk                  >=0.13.0   && <0.15.0,
    happlets             >=0.1.0.0  && <1.0.0.0,
    lens                 >=4.0.0.0  && <5.0.0.0,
    linear               >=1.20.0   && <2.0.0.0,
    mtl                  >=2.2.0    && <=2.2.1,
    semigroups           >=0.16.0   && <0.19.0,
    text                 >=1.1.1.4  && <=2.0.0.0,
    time                 >=1.4.0.0  && <=1.6.0.0,
--    transformers         >=0.3.0.0  && <=0.4.3.0,
--    unix                 >=2.7.0.0  && <=2.8.0.0,
    base                 >=4.7      && <4.9

  DEFAULT-EXTENSIONS:
    DeriveDataTypeable
    DeriveFunctor
    ExistentialQuantification
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GeneralizedNewtypeDeriving
    ImplicitParams
    LambdaCase
    MultiParamTypeClasses
    OverloadedStrings
    RankNTypes
    ScopedTypeVariables
    StandaloneDeriving
}