{"id":28551824,"url":"https://github.com/ncrashed/tcod-haskell","last_synced_at":"2025-07-03T17:30:50.327Z","repository":{"id":56879990,"uuid":"99514706","full_name":"NCrashed/tcod-haskell","owner":"NCrashed","description":"Haskell bindings to libtcod","archived":false,"fork":false,"pushed_at":"2019-12-19T22:40:54.000Z","size":2141,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-10T04:07:07.341Z","etag":null,"topics":["haskell","haskell-bindings","libtcod"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NCrashed.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-06T21:38:16.000Z","updated_at":"2020-05-08T17:23:05.000Z","dependencies_parsed_at":"2022-08-20T23:40:13.796Z","dependency_job_id":null,"html_url":"https://github.com/NCrashed/tcod-haskell","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NCrashed/tcod-haskell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NCrashed%2Ftcod-haskell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NCrashed%2Ftcod-haskell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NCrashed%2Ftcod-haskell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NCrashed%2Ftcod-haskell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NCrashed","download_url":"https://codeload.github.com/NCrashed/tcod-haskell/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NCrashed%2Ftcod-haskell/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263369443,"owners_count":23456301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["haskell","haskell-bindings","libtcod"],"created_at":"2025-06-10T04:07:07.604Z","updated_at":"2025-07-03T17:30:50.321Z","avatar_url":"https://github.com/NCrashed.png","language":"Haskell","readme":"# tcod-haskell\n\nThese are midlevel bindings for [libtcod](https://bitbucket.org/libtcod/libtcod).\n\n# Compile\n\nNeeded system libraries:\n- `autoconf`\n- `make`\n- `gcc`\n- `gcc-c++`\n- `alsa-lib-devel`\n- `audiofile-devel`\n- `mesa-libGL-devel`\n- `mesa-libGLU-devel`\n- `mesa-libEGL-devel`\n- `mesa-libGLES-devel`\n- `libXext-devel`\n- `libX11-devel`\n- `libXi-devel`\n- `libXrandr-devel`\n- `libXrender-devel`\n- `dbus-devel`\n- `libXScrnSaver-devel`\n- `libusb-devel`\n- `pulseaudio-libs-devel`\n- `libXinerama-devel`\n- `libXcursor-devel`\n- `systemd-devel`\n- `SDL2-devel`\n\nSteps:\n1. Install `stack` or `cabal`+`GHC` from https://www.haskell.org/downloads\n2. Install `libtcod` in your system (version `\u003e= 1.8.2`).\n3. Run `stack install --flags tcod-haskell:examples` or `cabal sandbox new \u0026\u0026 cabal install --flags=examples`\n4. Run example `tcod-haskell-sample01` in root folder of repo (or copy `terminal.png` to execution directory).\n\n# Nix pipeline\n\nSteps:\n1. Install [Nix](https://nixos.org/nix/)\n2. Run `nix-build`\n3. For interactive shell `nis-shell`\n4. Run example in shell `cabal new-run --flag examples tcod-haskell-sample01`\n\n# Roadmap\n\nBinded headers:\n\n- [x] bresenham.h\n- [x] bsp.h\n- [x] color_types.h\n- [x] color.h\n- [x] console_types.h\n- [x] console.h\n- [x] fov_types.h\n- [x] fov.h\n- [x] heightmap.h\n- [x] image.h\n- [ ] lex.h - *not binding* as useless.\n- [ ] libtcod_int.h - *not binding* as useless.\n- [ ] libtcod_portability.h - *not binding* as useless.\n- [ ] libtcod_utility.h - *not binding* as useless.\n- [x] libtcod_version.h\n- [ ] libtcod.h - *not binding* as useless.\n- [x] list.h\n- [x] mersenne_types.h\n- [x] mersenne.h\n- [x] mouse_types.h\n- [x] mouse.h\n- [x] namegen.h\n- [x] noise_defaults.h\n- [x] noise.h\n- [x] path.h\n- [ ] parser.h - *not binding* as useless.\n- [x] sys.h\n- [x] tree.h\n- [ ] textfield.h - TODO\n- [ ] wrappers.h - *not binding* as useless.\n- [ ] zip.h - TODO\n- [ ] gui/*.h - TODO\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncrashed%2Ftcod-haskell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fncrashed%2Ftcod-haskell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncrashed%2Ftcod-haskell/lists"}