cabal-version: 2.4 name: h-raylib version: 5.5.2.0 x-revision: 1 synopsis: Raylib bindings for Haskell category: graphics description: This library contains Haskell bindings to the Raylib library. It supports Windows, Mac, Linux, and BSD. bug-reports: https://github.com/Anut-py/h-raylib/issues license: Apache-2.0 license-file: LICENSE author: Anut maintainer: Anut extra-doc-files: CHANGELOG.md CONTRIBUTING.md DOCUMENTATION.md README.md -- Requires >= 9.6.5 on Mac because this bug fix is required: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12079 -- Works with >= 9.2.8 on Windows tested-with: GHC >= 9.6.5 extra-source-files: default.nix flake.nix lib/**/*.c lib/**/*.h lib/**/*.m raygui/src/*.h raygui/styles/**/*.h raylib/**/*.c raylib/**/*.h raylib/**/*.m data-files: examples/**/*.frag examples/**/*.mtl examples/**/*.obj examples/**/*.png examples/**/*.ttf examples/**/*.txt examples/**/*.vert examples/**/*.xm source-repository head type: git location: git://github.com/Anut-py/h-raylib.git flag detect-platform description: Detect platform and automatically add platform-specific configuration default: True manual: True flag platform-windows description: Build for Windows default: False manual: True flag platform-mac description: Build for macOS/OSX default: False manual: True flag platform-linux description: Build for Linux default: False manual: True flag platform-bsd description: Build for FreeBSD, OpenBSD, or NetBSD default: False manual: True flag platform-nixos description: Build for Nix (use external GLFW) default: False manual: True flag platform-web description: Build for web default: False manual: True flag mingw-cross description: Cross-compiling for mingw (used in combination with Windows) default: False manual: True flag examples description: Build the example projects default: False manual: True flag ghci description: Used when running the program in GHCi default: False manual: True common example-options default-language: Haskell2010 if !flag(examples) buildable: False else build-depends: , base , h-raylib other-modules: Paths_h_raylib autogen-modules: Paths_h_raylib other-extensions: BangPatterns TemplateHaskell ghc-options: -Wall if flag(platform-web) ghc-options: -no-hs-main -optl-mexec-model=reactor "-optl-Wl,--export=hs_init,--import-memory,--shared-memory,--max-memory=67108864,--no-check-features" "-optl-Wl,--export=startup,--export=mainLoop,--export=shouldClose,--export=teardown" -- core executable basic-window import: example-options hs-source-dirs: examples/basic-window/src main-is: Main.hs executable basic-callbacks import: example-options hs-source-dirs: examples/basic-callbacks/src main-is: Main.hs executable basic-automation-events import: example-options hs-source-dirs: examples/basic-automation-events/src main-is: Main.hs executable first-person-camera import: example-options hs-source-dirs: examples/first-person-camera/src main-is: Main.hs executable camera-ray-collision import: example-options hs-source-dirs: examples/camera-ray-collision/src main-is: Main.hs -- textures executable basic-images import: example-options hs-source-dirs: examples/basic-images/src main-is: Main.hs executable bunnymark import: example-options hs-source-dirs: examples/bunnymark/src main-is: Main.hs -- text executable custom-font-text import: example-options hs-source-dirs: examples/custom-font-text/src main-is: Main.hs -- models executable basic-models import: example-options hs-source-dirs: examples/basic-models/src main-is: Main.hs -- shaders executable basic-shaders import: example-options hs-source-dirs: examples/basic-shaders/src main-is: Main.hs executable postprocessing-effects import: example-options hs-source-dirs: examples/postprocessing-effects/src main-is: Main.hs -- audio executable basic-audio import: example-options hs-source-dirs: examples/basic-audio/src main-is: Main.hs -- rlgl executable basic-rlgl import: example-options hs-source-dirs: examples/basic-rlgl/src main-is: Main.hs -- raygui executable raygui-suite import: example-options hs-source-dirs: examples/raygui-suite/src main-is: Main.hs library exposed-modules: Raylib.Core Raylib.Core.Audio Raylib.Core.Camera Raylib.Core.Models Raylib.Core.Shapes Raylib.Core.Text Raylib.Core.Textures Raylib.Internal Raylib.Internal.Foreign Raylib.Types Raylib.Types.Core Raylib.Types.Core.Audio Raylib.Types.Core.Camera Raylib.Types.Core.Models Raylib.Types.Core.Text Raylib.Types.Core.Textures Raylib.Types.Util.GUI Raylib.Types.Util.RLGL Raylib.Util Raylib.Util.Camera Raylib.Util.Colors Raylib.Util.GUI Raylib.Util.GUI.Styles Raylib.Util.Lenses Raylib.Util.Math Raylib.Util.RLGL other-modules: Raylib.Internal.TH Raylib.Internal.Web.Native Raylib.Internal.Web.Processable build-depends: , base >=4.0 && <4.21 , bytestring >=0.11.0 && <0.13 , containers >=0.6.0 && <0.7.0 , exceptions >=0.10.4 && <0.10.8 , lens >=4.0 && <5.2.4 , linear >=1.22 && <1.23 , template-haskell >=2.16.0.0 && <2.23.0.0 , text >=2.0 && <2.2 hs-source-dirs: src default-language: Haskell2010 other-extensions: CPP ConstrainedClassMethods DeriveAnyClass FlexibleInstances ForeignFunctionInterface PatternSynonyms ScopedTypeVariables TemplateHaskell TemplateHaskellQuotes ghc-options: -Wall if (flag(platform-windows) || (flag(detect-platform) && os(windows))) if flag(mingw-cross) extra-libraries: opengl32 gdi32 winmm shell32 gcc if impl(ghc <9.4.1) extra-libraries: gcc_eh else extra-libraries: opengl32 gdi32 winmm shell32 if impl(ghc <9.4.1) extra-libraries: gcc_eh elif (flag(platform-linux) || (flag(detect-platform) && os(linux))) extra-libraries: GL c m pthread dl rt X11 Xinerama Xcursor Xrandr Xi Xext cc-options: -Wno-implicit-function-declaration -Wno-unused-result -D_GLFW_X11 elif (flag(platform-mac) || (flag(detect-platform) && os(osx))) frameworks: OpenGL Cocoa IOKit CoreVideo CoreAudio CoreFoundation elif (flag(platform-bsd) || (flag(detect-platform) && ((os(freebsd) || os(netbsd)) || os(openbsd)))) extra-libraries: GL pthread else -- Unsupported OS, do nothing. If you can get it working on an -- OS that isn't listed here, please add it here. if flag(platform-nixos) extra-libraries: raylib include-dirs: lib if flag(platform-web) cpp-options: -DWEB_FFI c-sources: lib/web.c else cc-options: -DPLATFORM_DESKTOP_GLFW -Wno-int-to-void-pointer-cast c-sources: lib/rgui_bindings.c lib/rl_bindings.c lib/rl_internal.c lib/rlgl_bindings.c if !flag(platform-nixos) include-dirs: raylib/src raylib/src/external/glfw/src raylib/src/external/glfw/include raygui/src raygui/styles/amber raygui/styles/ashes raygui/styles/bluish raygui/styles/candy raygui/styles/cherry raygui/styles/cyber raygui/styles/dark raygui/styles/enefete raygui/styles/jungle raygui/styles/lavanda raygui/styles/sunny raygui/styles/terminal c-sources: raylib/src/raudio.c raylib/src/rcore.c raylib/src/rmodels.c raylib/src/rshapes.c raylib/src/rtext.c raylib/src/rtextures.c raylib/src/utils.c if (flag(platform-mac) || (flag(detect-platform) && os(osx))) -- Use rgflw.m instead of .c on Mac to force objective-c c-sources: lib/rglfw.m elif (flag(ghci) && (flag(platform-windows) || (flag(detect-platform) && os(windows)))) c-sources: lib/glfw_patch/rglfw_patch.c else c-sources: raylib/src/rglfw.c if flag(ghci) cpp-options: -DGHCI