packages feed

vulkan-3.24.4: package.yaml

name: vulkan
version: "3.24.4"
synopsis: Bindings to the Vulkan graphics API.
description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
category: Graphics
maintainer: Ellie Hermaszewska <live.long.and.prosper@monoid.al>
github: expipiplus1/vulkan
extra-source-files:
- readme.md
- changelog.md
- package.yaml
license: BSD-3-Clause

library:
  source-dirs:
  - src
  - src-manual
  verbatim:
    other-modules:
  dependencies:
  - base <5
  - bytestring
  - transformers
  - vector
  when:
  - condition: os(windows)
    extra-libraries: vulkan-1
  - condition: os(darwin)
    extra-libraries: vulkan
  - condition: '!os(windows) && !os(darwin)'
    pkg-config-dependencies: vulkan
  - condition: flag(safe-foreign-calls)
    cpp-options: -DSAFE_FOREIGN_CALLS
  - condition: flag(generic-instances)
    cpp-options: -DGENERIC_INSTANCES
  - condition: flag(trace-calls)
    cpp-options: -DTRACE_CALLS
  - condition: false
    other-modules: Paths_vulkan
  ghc-options:
  - -Wall
  - -Wno-unticked-promoted-constructors
  - -Wno-missing-pattern-synonym-signatures
  - -Wno-unused-imports
  - -Wno-missing-signatures
  - -Wno-partial-type-signatures

flags:
  safe-foreign-calls:
    description: Do not mark foreign imports as 'unsafe'. This means that callbacks
      from Vulkan to Haskell will work. If you are using these then make sure this
      flag is enabled.
    default: no
    manual: yes

  generic-instances:
    description: Derive Generic instances for all structs. Disabled by default because
      of code size and compile time impact.
    default: no
    manual: yes

  trace-calls:
    description: Inserts calls to Debug.Trace.traceEventIO around every Vulkan call.
    default: no
    manual: yes

tests:
  test:
    main: Driver.hs
    source-dirs:
    - test
    dependencies:
    - base
    - containers
    - inline-c
    - tasty
    - tasty-hunit
    - template-haskell
    - vulkan
    build-tools:
    - tasty-discover:tasty-discover
    when:
    - condition: false
      other-modules: Paths_vulkan

default-extensions:
- AllowAmbiguousTypes
- CPP
- DataKinds
- DefaultSignatures
- DeriveAnyClass
- DeriveGeneric
- DerivingStrategies
- DuplicateRecordFields
- FlexibleContexts
- FlexibleInstances
- GADTs
- GeneralizedNewtypeDeriving
- InstanceSigs
- LambdaCase
- MagicHash
- NamedFieldPuns
- NoMonomorphismRestriction
- OverloadedStrings
- PartialTypeSignatures
- PatternSynonyms
- PolyKinds
- QuantifiedConstraints
- RankNTypes
- RecordWildCards
- RoleAnnotations
- ScopedTypeVariables
- StandaloneDeriving
- Strict
- TypeApplications
- TypeFamilyDependencies
- TypeOperators
- TypeSynonymInstances
- UndecidableInstances
- ViewPatterns