{"id":30029075,"url":"https://github.com/pharo-cig/pharo-cig","last_synced_at":"2025-08-06T17:02:40.860Z","repository":{"id":247748816,"uuid":"774276864","full_name":"pharo-cig/pharo-cig","owner":"pharo-cig","description":"A tool to import C/C++ libraries into Pharo","archived":false,"fork":false,"pushed_at":"2025-08-05T09:46:17.000Z","size":13916,"stargazers_count":17,"open_issues_count":5,"forks_count":5,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-08-05T11:22:01.157Z","etag":null,"topics":["ffi","libclang","pharo"],"latest_commit_sha":null,"homepage":"","language":"Smalltalk","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pharo-cig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-03-19T09:07:13.000Z","updated_at":"2025-08-05T09:58:31.000Z","dependencies_parsed_at":"2024-09-24T18:04:52.674Z","dependency_job_id":"ee52f6fb-dae5-46d5-820d-aaa730f3314f","html_url":"https://github.com/pharo-cig/pharo-cig","commit_stats":{"total_commits":195,"total_committers":1,"mean_commits":195.0,"dds":0.0,"last_synced_commit":"ed90cde6e6b2232b01deccf875d1e12a96f4932c"},"previous_names":["estebanlm/pharo-cig","pharo-cig/pharo-cig"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pharo-cig/pharo-cig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharo-cig%2Fpharo-cig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharo-cig%2Fpharo-cig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharo-cig%2Fpharo-cig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharo-cig%2Fpharo-cig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pharo-cig","download_url":"https://codeload.github.com/pharo-cig/pharo-cig/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharo-cig%2Fpharo-cig/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269118244,"owners_count":24362988,"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","status":"online","status_checked_at":"2025-08-06T02:00:09.910Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ffi","libclang","pharo"],"created_at":"2025-08-06T17:01:03.938Z","updated_at":"2025-08-06T17:02:40.798Z","avatar_url":"https://github.com/pharo-cig.png","language":"Smalltalk","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CIG Tests](https://github.com/pharo-cig/pharo-cig/actions/workflows/test.yml/badge.svg)](https://github.com/pharo-cig/pharo-cig/actions/workflows/test.yml)\n\n## Installation\n\n```st\nMetacello new\n\trepository: 'github://estebanlm/pharo-cig:main/src';\n\tbaseline: 'CIG';\n\tload\n```\n\n## Requirements\n\nCIG needs to be able to find the clang library.\nIf it cannot find it automatically, set the location \nin LibClang\u003e\u003eunix64LibraryName, e.g.\n\n```st\nLibClang\u003e\u003eunix64LibraryName\n\n\t^ FFIUnix64LibraryFinder new \n\t\tuserPaths: #('/usr/lib/llvm-18/lib');\n\t\tfindAnyLibrary: #('libclang.so' 'libclang.so.1')\n```\n\n## Example\n\n```st\n(lib := CigCLibraryGenerator new)\n  \"Prefix to be added to the generated classes (structures, enums, etc.)\"\n  prefix: 'Ray';\n  \"name of the generated package (by default, is the same as the libraryName, capitalized)\"\n  packageName: 'Raylib';\n  \"Library name. If not unixLibraryName, macLibraryName and winLibraryName\n   are specified, it will be taken as base name for the existing libraries\n   (e.g. in this case raylib.so, raylib.dylib and raylib.dll)\" \n  libraryName: 'raylib';\n  \"headers to import (there can be as many of them as is needed).\"\n  import: '/home/esteban/dev/vm/raylib/src/raylib.h';\n  import: '/home/esteban/dev/vm/raylib/src/rcamera.h';\n  \"include path (-I of c compiler), to allow libclang to find other\n   included headers.\"\n  cIncludePath: '/home/esteban/dev/vm/raylib/src';\n  \"Since this is a graphical library, instruct the library to run in mainthread\n   (otherwise, default is 'same thread' which is the same thread the pharo is\n   running)\"  \n  useMainThread.\n\n\"generate the library\"\nlib generate.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpharo-cig%2Fpharo-cig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpharo-cig%2Fpharo-cig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpharo-cig%2Fpharo-cig/lists"}