{"id":13439639,"url":"https://github.com/atheme/atheme","last_synced_at":"2025-12-29T22:44:42.615Z","repository":{"id":40315884,"uuid":"2111095","full_name":"atheme/atheme","owner":"atheme","description":"Atheme IRC Services","archived":false,"fork":false,"pushed_at":"2025-03-02T20:31:52.000Z","size":23444,"stargazers_count":398,"open_issues_count":148,"forks_count":175,"subscribers_count":54,"default_branch":"master","last_synced_at":"2025-03-02T21:27:53.001Z","etag":null,"topics":["atheme","c","development","irc","irc-networks","irc-services"],"latest_commit_sha":null,"homepage":"https://atheme.github.io/atheme.html","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atheme.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-07-27T05:05:08.000Z","updated_at":"2025-03-02T20:31:56.000Z","dependencies_parsed_at":"2023-02-16T02:00:44.172Z","dependency_job_id":"c0c6e561-49a2-49a2-90a1-d1326ef9f099","html_url":"https://github.com/atheme/atheme","commit_stats":null,"previous_names":[],"tags_count":70,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atheme%2Fatheme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atheme%2Fatheme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atheme%2Fatheme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atheme%2Fatheme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atheme","download_url":"https://codeload.github.com/atheme/atheme/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244577896,"owners_count":20475380,"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":["atheme","c","development","irc","irc-networks","irc-services"],"created_at":"2024-07-31T03:01:15.839Z","updated_at":"2025-12-29T22:44:42.610Z","avatar_url":"https://github.com/atheme.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"## Atheme IRC Services\n\nAtheme is a set of IRC services designed for large IRC networks with high\nscalability requirements. It is relatively mature software, with some code\nand design derived from another package called Shrike.\n\nAtheme's behavior is tunable using modules and a highly detailed\nconfiguration file. Almost all behavior can be changed at deployment time\njust by editing the configuration.\n\n\n\n## Obtaining Atheme\n\nIf you have a modern version of Git (1.6.5 or newer), you can recursively\nclone the repository:\n\n    $ git clone --recursive 'https://github.com/atheme/atheme/' atheme-devel\n    $ cd atheme-devel\n\nIf you have an older version of Git, you must clone the repository, and then\nfetch its submodules:\n\n    $ git clone 'https://github.com/atheme/atheme/' atheme-devel\n    $ cd atheme-devel\n    $ git submodule init\n    $ git submodule update\n\nIf you don't have Git, you can download a package archive from our website at\n\u003chttps://atheme.github.io/\u003e.\n\nIf you are browsing our GitHub repository, please do NOT click the \"Download\nZIP\" button or the \"Source code\" links there, as they will give you an archive\nthat lacks the required submodules. There are proper `.tar.bz2` or `.tar.xz`\narchives attached to each release under \"Assets\", which is what the \"Download\"\nbutton on our website will take you to.\n\n\n\n## Basic build instructions for the impatient\n\nObtain the source code repository and change into its directory (using the\ncommands given above).\n\nIf you are building Atheme on a GNU/Linux system, or something which can\nsufficiently emulate that (like WSL 2 on Windows 10), execute the following\ncommands:\n\n    $ ./configure\n    $ make\n    $ make install\n\nIf you are building Atheme on an OpenBSD (or similar) system, execute the\nfollowing commands instead:\n\n    # pkg_add gmake\n    $ ./configure --disable-linker-defs\n    $ gmake\n    $ gmake install\n\n\n\n## Library Detection\n\nIf your user-installed libraries that you want Atheme to use are installed by\nyour package manager to a directory such as `/usr/local/`, you may need to\nsupplement the default compiler and linker search paths so that Atheme can\ndetect those libraries (e.g. cracklib from FreeBSD Ports):\n\n    $ ./configure CPPFLAGS=\"-I/usr/local/include\" LDFLAGS=\"-L/usr/local/lib\"\n\nThe following libraries generally require pkg-config to be installed:\n\n- PHC Argon2 Reference Implementation (`libargon2.pc`)\n- OpenSSL (`libcrypto.pc`)\n- GNU libidn (`libidn.pc`)\n- GNU Nettle (`nettle.pc`)\n- PCRE (`libpcre2-8.pc`)\n- libqrencode (`libqrencode.pc`)\n- Sodium (`libsodium.pc`)\n\nIf you do not have pkg-config installed and want to use one or more of these\nlibraries, please see `./configure --help` for the options to set to override\npkg-config discovery for those libraries. For example, if you wish to use GNU\nlibidn, and it is installed into a default search path for your compiler and\nlinker, and you do not have pkg-config installed, execute:\n\n    $ ./configure LIBIDN_CFLAGS=\"\" LIBIDN_LIBS=\"-lidn\"\n\nIf a library relies on populating `LIBFOO_CFLAGS` with some preprocessor\ndefinitions, or populating `LIBFOO_LIBS` with some library linking flags,\nthis will generally fail. Install pkg-config for the best results.\n\n\n\n## Choice of compiler and its features\n\nIf you wish to compile Atheme with the LLVM project's C compiler (`clang`),\nyou may also wish to use LLVM's linker (`lld`). You can accomplish this as\nfollows:\n\n    $ ./configure CC=\"clang\" LDFLAGS=\"-fuse-ld=lld\"\n\nIf you want to use compiler sanitizers, and you want to build with Clang, you\nMUST also use LLD, as most of the sanitizers in Clang require LTO to function\nproperly, and Clang in LTO mode emits LLVM bitcode, not machine code. The\nlinker is ultimately responsible for performing most of the LTO heavy lifting,\nand translating the result into machine code, and most other linkers do not\nknow how to do this.\n\nTo use compiler sanitizers with GCC (supported):\n\n    $ ./configure --disable-heap-allocator --disable-linker-defs \\\n        --enable-compiler-sanitizers CC=\"gcc\"\n\nTo use compiler sanitizers with Clang (recommended):\n\n    $ ./configure --disable-heap-allocator --disable-linker-defs \\\n        --enable-compiler-sanitizers CC=\"clang\" LDFLAGS=\"-fuse-ld=lld\"\n\nIf you do enable the sanitizers, it is recommended to enable the configuration\noption `general::db_save_blocking`; see the example configuration file for\nmore details.\n\nThe sanitizers are not recommended for production usage, but they are\nrecommended for developers, including third parties writing new features\nand/or modifying the source code.\n\n\n\n## Getting More Help\n\nIf you're still lost, read the [INSTALL](INSTALL) file or check out our wiki\nfor more hints.\n\n- [Our Website](https://atheme.github.io/)\n- [Our GitHub Repository](https://github.com/atheme/atheme/)\n- [The Atheme Wiki](https://github.com/atheme/atheme/wiki/)\n- [The #atheme channel on Libera Chat](ircs://irc.libera.chat:6697/#atheme)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatheme%2Fatheme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatheme%2Fatheme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatheme%2Fatheme/lists"}