{"id":13408219,"url":"https://github.com/alire-project/alire","last_synced_at":"2025-03-14T12:32:21.230Z","repository":{"id":37413201,"uuid":"124904219","full_name":"alire-project/alire","owner":"alire-project","description":"Command-line tool from the Alire project and supporting library","archived":false,"fork":false,"pushed_at":"2024-05-25T00:11:15.000Z","size":5959,"stargazers_count":267,"open_issues_count":283,"forks_count":44,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-05-28T20:35:45.165Z","etag":null,"topics":["ada","ada-2012","package-management","package-manager","package-manager-tool","reproducible-builds"],"latest_commit_sha":null,"homepage":"","language":"Ada","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/alire-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2018-03-12T14:45:18.000Z","updated_at":"2024-05-30T03:15:10.906Z","dependencies_parsed_at":"2023-09-29T02:26:57.429Z","dependency_job_id":"50385430-bd85-44b7-9320-4bcc339e06e8","html_url":"https://github.com/alire-project/alire","commit_stats":{"total_commits":1737,"total_committers":41,"mean_commits":42.36585365853659,"dds":0.5895221646516984,"last_synced_commit":"a52f87021f78520370845a62063caa6d9b2cf3b2"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alire-project%2Falire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alire-project%2Falire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alire-project%2Falire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alire-project%2Falire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alire-project","download_url":"https://codeload.github.com/alire-project/alire/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243578622,"owners_count":20313874,"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":["ada","ada-2012","package-management","package-manager","package-manager-tool","reproducible-builds"],"created_at":"2024-07-30T20:00:51.492Z","updated_at":"2025-03-14T12:32:16.213Z","avatar_url":"https://github.com/alire-project.png","language":"Ada","funding_links":["https://polar.sh/alire-project"],"categories":["Deployment","package-manager"],"sub_categories":["Build and Package"],"readme":"[![Linux CI](https://github.com/alire-project/alire/workflows/CI%20linux/badge.svg)](https://github.com/alire-project/alire/actions)\n[![Windows CI](https://github.com/alire-project/alire/workflows/CI%20Windows/badge.svg)](https://github.com/alire-project/alire/actions)\n[![MacOS CI](https://github.com/alire-project/alire/workflows/CI%20macOS/badge.svg)](https://github.com/alire-project/alire/actions)\n[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/ada-lang/Alire)\n[![Gitpod ready](https://img.shields.io/badge/Gitpod-ready-908a85?logo=gitpod)](https://gitpod.io/#https://github.com/alire-project/alire)\n[![Funding](https://polar.sh/embed/seeks-funding-shield.svg?org=alire-project)](https://polar.sh/alire-project)\n\n# ALR #\n\nALIRE: Ada LIbrary REpository.\n\nA catalog of ready-to-use Ada libraries plus a command-line tool (`alr`) to\nobtain, build, and incorporate them into your own projects. It aims to fulfill\na similar role to Rust's `cargo` or OCaml's `opam`.\n\n### Caveat emptor ###\n\nDocumentation at this time is a work in progress. Expect further efforts in\nthis direction until this warning is removed. Check the latest information at\nhttps://alire.ada.dev/\n\n## TL;DR ##\n\nAvailable for Linux/macOS/Windows/FreeBSD/OpenBSD.\n\nDownload the latest stable version from the [Releases](https://github.com/alire-project/alire/releases) page. See the [Getting Started](doc/getting-started.md) guide for binary downloads.\n\nIf, instead, you want to test the latest development version, see [Building from sources](#building-from-sources) or, if you already have a recent `alr` in your system, [Building with `alr`](#building-with-alr).\n\n## Installation and First Steps ##\n\nSee the [Getting Started](doc/getting-started.md) guide.\n\n## Building from sources ##\n\nThe build process of `alr` is straighforward and depends only on a recent GNAT Ada 2012 compiler. All dependencies are included as submodules. A project file (`alr_env.gpr`) is provided to drive the build with all necessary configuration (which is also valid for editing with GNAT Studio).\n\nThe ALIRE_OS environment variable must be set to the OS for which `alr` is being build, taking one of the values in `freebsd`, `openbsd`, `linux`, `macos`, `windows`.\n\nFollow these steps:\n\n1. Clone the repository: `git clone --recurse-submodules https://github.com/alire-project/alire.git`\n1. Enter the cloned repository folder.\n1. Build the executable:\n   * if you have Bash on your system: `dev/build.sh`\n   * if you don't have Bash on your system: `ALIRE_OS=\u003cone of: freebsd, openbsd, linux, macos, windows\u003e gprbuild -j0 -p -P alr_env`\n\nThe binary will be found at `bin/alr`. You can run `alr version` to see version and diagnostics information.\n\nSourcing the `scripts/alr-completion.bash` file will provide Bash tab autocompletion.\n\n## Building with `alr`\n\nIf you already have a recent enough `alr` binary, you can alternatively build\n`alr` by simply running `alr build` at the root of the repository. This command\nwill retrieve all necessary dependencies prior to launching the build and \nconfigure the environment.\n\nThe master branch should normally be able to build itself in this fashion, as\nthis is one of our integration tests.\n\n## Design principles ##\n\nalr is tailored to userspace, in a similar way to Python's virtualenv. A\nproject or workspace will contain all its dependencies.\n\nSome crates benefit from using platform packages. In this case the user\nwill be asked to authorize a `sudo` installation through the platform package\nmanager.\n\nProperties and dependencies of projects are managed through a TOML file\n(`alire.toml`, found at the root of Alire workspaces). This file exists locally\nfor working copies of projects, and the Alire community index stores the files\ncorresponding to its projects.\n\nThe complete build environment is automatically set up by setting the\nGPR_PROJECT_PATH environment variable before running `gprbuild`, thus freeing\nthe user from concerns about installation paths. The user simply adds the used\nprojects to its own project GPR file with their simple name. You can check the\nenvironment `alr` is using with `alr printenv`.\n\n## Supported platforms ##\n\nAlire can be built on Linux, macOS, Windows, FreeBSD, and OpenBSD.\n\nAlire requires a recent Ada 2012 compiler. In practice, this currently means\nthe latest [GNAT Community](https://www.adacore.com/download) or a somewhat\nrecent GNAT FSF. Continuous integration is run against the Windows and macOS\nGithub Actions images, and a suite of Linux [docker\nimages](https://github.com/alire-project/alire/blob/538a3549a1dbbc6c09728cb987c71187578381b2/.github/workflows/ci-docker.yml#L20)\nthat includes at least Debian stable, Ubuntu LTS, CentOS, Arch and Fedora. The\npackaged GNAT is used when available from the distribution.\n\nNote that platform-provided Ada libraries (such as Debian's GtkAda) require the\nuse of the platform Ada compiler. Otherwise these libraries will be\nunavailable, potentially making dependent crates unavailable too.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falire-project%2Falire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falire-project%2Falire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falire-project%2Falire/lists"}