Sapphire: gerenciador de pacotes para macOS baseado em Rust (alternativa ao Homebrew)
(github.com/alexykn)- Sapphire é um gerenciador de pacotes de próxima geração desenvolvido em Rust
- Inspirado no Homebrew, instala e gerencia Formulae e Casks
- Atualmente oferece suporte apenas à arquitetura ARM; o suporte a x86 poderá ser adicionado futuramente
- O projeto é composto por sapphire-core e sapphire-cli
- Sapphire segue a licença BSD-3-Clause
Aviso
- Sapphire é um software experimental e em desenvolvimento ativo, podendo ser instável
- Se você reinstalar com o Sapphire um cask instalado com brew, ele será instalado em um caminho ligeiramente diferente, e as configurações do usuário não serão migradas automaticamente
⚙️ Estrutura do projeto
- sapphire-core: biblioteca principal, responsável por buscar pacotes, resolver dependências, extrair arquivos e processar artefatos
- sapphire-cli: interface de linha de comando, na qual o executável
sapphireencapsula a biblioteca principal
🚀 Roteiro
- Comando upgrade para atualizar pacotes instalados
- Limpeza de downloads, versões e cache antigos
- Comando Reinstall para reinstalação rápida
- Prefix isolation com suporte a
/opt/sapphirecomo layout independente - Assistente
sapphire initpara inicializar o ambiente - Correções contínuas de bugs e melhorias de estabilidade
📦 Uso
- Exibir ajuda:
sapphire --help - Atualizar metadados:
sapphire update - Buscar pacote:
sapphire search - Obter informações do pacote:
sapphire info - Instalar Bottle ou Cask:
sapphire install - Compilar e instalar Formula a partir do código-fonte:
sapphire install --build-from-source - Remover:
sapphire uninstall - (em breve)
sapphire upgrade [--all],sapphire cleanup,sapphire init
🏗️ Compilar a partir do código-fonte
Pré-requisito: toolchain estável do Rust
git clonecd sapphirecargo build --release- O binário
sapphirefica emtarget/release/sapphire; adicione-o aoPATH
1 comentários
Comentários do Hacker News
O autor afirma que o projeto que criou não é muito melhor que o Homebrew, mas está resolvendo alguns problemas, como a configuração de caminhos relativos
.rbpara um formato de leitura por máquina mais genérico.dmgpara.appe instaladores.pkgfunciona bem nos testesExplica duas partes centrais do Homebrew
Avalia o projeto como divertido e bem-feito
Questiona o objetivo de alcançar paridade com o Homebrew
Diz que era usuário do MacPorts, mas explica por que migrou para o Homebrew
Sugere adicionar objetivos, motivação e razões ao README
Reconhece que o Homebrew pode melhorar e vê com bons olhos uma nova tentativa
Sugere mudar o nome do projeto para algo mais curto
Argumenta que reescrever o software do zero não é eficaz