Skip to content

QoL: Add Package Manager Support Across Multiple Platforms #186

@edablez

Description

@edablez

NOTE: This should likely be done after the alpha phase, and definitely in multiple PRs for each package manager.
As a QoL improvement this is a nice to have not a must have

Problem

Users currently need to install the EigenLayer DevKit by downloading precompiled binaries. This creates a suboptimal experience, especially for users who rely on package managers to handle dependency resolution and installation. Adding proper support across major platforms would improve accessibility, reduce onboarding friction, and align with current developer tooling conventions.

Solution

Create official packages for major platform package managers, including:

  • Homebrew (macOS/Linux)
  • Arch Linux AUR
  • Debian/Ubuntu Snapcraft or Apt repository
  • Fedora (DNF)

Motivation

This change would significantly improve the developer experience by:

  1. Providing a standard way to install the EigenLayer DevKit via familiar package managers

Expected Outcome

  1. Installation Experience

    • Users should be able to install the DevKit using their preferred package manager without significant configuration changes
    # macOS/Linux:
    $ brew install eigen-devkit
    
    # Arch Linux:
    $ yay -S eigen-devkit
    

A good reference for how users of other linux distributions are familiar with installing third-party pacakges would be the Brave Browser installation instructions for linux: https://brave.com/linux/

  1. Documentation
    • All package installation methods must be documented in README.md
    • The README should include a "Package Manager Installation" section

Additional Notes

  1. This feature requires maintaining multiple package definitions simultaneously
  2. There should be a contrib/ directory at the root of the repository containing all package definitions

Implementation Approach

  1. Phase 1: Research

    • Investigate official package manager interfaces for each platform
    • Create initial draft packages
  2. Phase 2: Initial Implementation

    • Write and test the package definitions
  3. Phase 3: Integration

    • Add CI workflows to build and test packages
    • Update project documentation

Resources

  1. Homebrew Formula Guide
  2. Arch Linux Packaging
  3. Debian Packaging
  4. Fedora Packaging Tutorial

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions