packages feed

mischief-assets-0.1.0.0: mischief-assets.cabal

cabal-version: 3.0
-- The cabal-version field refers to the version of the .cabal specification,
-- and can be different from the cabal-install (the tool) version and the
-- Cabal (the library) version you are using. As such, the Cabal (the library)
-- version used must be equal or greater than the version stated in this field.
-- Starting from the specification version 2.2, the cabal-version field must be
-- the first thing in the cabal file.
-- Initial package description 'mischief' generated by
-- 'cabal init'. For further documentation, see:
--   http://haskell.org/cabal/users-guide/
--
-- The name of the package.
name: mischief-assets
-- The package version.
-- See the Haskell package versioning policy (PVP) for standards
-- guiding when and how versions should be incremented.
-- https://pvp.haskell.org
-- PVP summary:     +-+------- breaking API changes
--                  | | +----- non-breaking API additions
--                  | | | +--- code changes with no API change
version: 0.1.0.0
-- A short (one-line) description of the package.
-- synopsis:
-- A longer description of the package.
-- description:
-- The license under which the package is released.
license: BSD-3-Clause
-- The file containing the license text.
license-file: LICENSE
-- The package author(s).
author: Damon
-- An email address to which users can send suggestions, bug reports, and patches.
maintainer: pvdoriginal2019@gmail.com
homepage: https://codeberg.org/mischief/mischief,
synopsis: Asset and Data-Driven Functionality for the Mischief game engine.
-- A copyright notice.
-- copyright:
build-type: Simple
-- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
extra-doc-files:
  CHANGELOG.md
  README.md

description: Assets for the Mischief Game Engine

-- Extra source files to be distributed with the package, such as examples, or a tutorial module.
-- extra-source-files:
common warnings
  ghc-options:
    "-Wall,"
    -Wno-name-shadowing

library
  -- Import common warning flags.
  import: warnings
  -- Modules exported by the library.
  exposed-modules:
    Mischief.Assets
    Mischief.Assets.Asset
    Mischief.Assets.AssetRef
    Mischief.Assets.Image
    Mischief.Assets.Kdl
    Mischief.Assets.Orphans
    Mischief.Assets.Tutorial.Control
    Mischief.Assets.Tutorial.Introduction
    Mischief.Assets.Tutorial.Kdl
    Mischief.Assets.Tutorial.Refs

  other-modules:
    Mischief.Assets.Internal.Asset
    Mischief.Assets.Internal.Kdl
    Mischief.Assets.Internal.Kdl.Collection
    Mischief.Assets.Internal.Path
    Mischief.Assets.Internal.Plugin
    Mischief.Assets.Internal.Watcher

  -- Modules included in this library but not exported.
  -- other-modules:
  other-modules:
  -- LANGUAGE extensions used by modules in this package.z
  default-extensions:
    DefaultSignatures
    DeriveAnyClass
    DuplicateRecordFields
    FunctionalDependencies
    ImportQualifiedPost
    MagicHash
    NoFieldSelectors
    OverloadedRecordDot
    OverloadedStrings
    QuasiQuotes
    RequiredTypeArguments
    TemplateHaskell
    TypeFamilyDependencies
    UndecidableInstances

  -- other-extensions:
  -- Other library packages from which modules are imported.
  build-depends:
    base >=4.21.0 && <4.22,
    bytestring >=0.12.2 && <0.13,
    containers >=0.7 && <0.8,
    directory >=1.3.9 && <1.4,
    exceptions >=0.10.9 && <0.11,
    fsnotify >=0.4.4 && <0.5,
    hashtables >=1.4.2 && <1.5,
    JuicyPixels >=3.3.9 && <3.4,
    kdl-hs >=1.2.1 && <1.3,
    linear >=1.23.3 && <1.24,
    mischief-ecs >=0.2.0 && <0.3,
    mtl >=2.3.1 && <2.4,
    path >=0.9.6 && <0.10,
    sdl3-bindgen-sys >=0.0.1 && <0.1,
    stm >=2.5.3 && <2.6,
    text >=2.1.2 && <2.2,
    transformers >=0.6.1 && <0.7,

  -- Directories containing source files.
  hs-source-dirs:
    src

  -- Base language which the package is written in.
  default-language:
    GHC2024

  ghc-options: -fno-omit-yields

test-suite mischief-test
  -- Import common warning flags.
  import: warnings
  ghc-options: -fno-omit-yields
  -- Base language which the package is written in.
  default-language: GHC2024
  -- Modules included in this executable, other than Main.
  -- other-modules:
  -- LANGUAGE extensions used by modules in this package.
  default-extensions:
    DeriveAnyClass
    DuplicateRecordFields
    MagicHash
    NoFieldSelectors
    NoGeneralizedNewtypeDeriving
    OverloadedRecordDot
    QuasiQuotes
    RequiredTypeArguments
    TypeFamilyDependencies

  -- other-extensions:
  -- The interface type and version of the test suite.
  type: exitcode-stdio-1.0
  -- Directories containing source files.
  hs-source-dirs: test
  -- The entrypoint to the test suite.
  main-is: Main.hs
  -- Test dependencies.
  build-depends:
    async,
    base >=4.21.0.0 && <4.22,
    bytestring,
    containers,
    data-default,
    directory,
    filepath,
    kdl-hs,
    linear,
    mischief-assets,
    mischief-ecs,
    primitive,
    store,
    text,
    transformers,

executable example-first-asset
  main-is: FirstAsset.hs
  hs-source-dirs: examples/
  build-depends:
    async,
    base,
    bytestring,
    containers,
    data-default,
    mischief-assets,
    mischief-ecs,
    primitive,
    store,
    text,
    transformers,

  default-language: GHC2024
  default-extensions:
    DeriveAnyClass
    DuplicateRecordFields
    NoFieldSelectors
    NoGeneralizedNewtypeDeriving
    OverloadedRecordDot
    OverloadedStrings
    QuasiQuotes
    RequiredTypeArguments
    TemplateHaskell
    TypeFamilyDependencies