1 votos

Grifo de Homebrew cuando no hay ningún artefacto para el sistema operativo actual

Digamos que tengo una fórmula como ésta:

class Foo < Formula
  desc "Foo desc..."
  homepage "https://foo.com"
  version "1.2.3"
  bottle :unneeded

  if OS.mac?
    url "https://foo.com/1.2.3/foo_macos_x86_64.tar.gz"
    sha256 "fake"
  end
  if OS.linux? && Hardware::CPU.intel?
    url "https://foo.com/1.2.3/foo_linux_x86_64.tar.gz"
    sha256 "fake"
  end

  def install
    bin.install "foo"
  end

  test do
    system "#{bin}/foo --version"
  end
end

Esto funciona bien tanto en MacOS como en Linux amd64, pero si el usuario lo intenta en un brazo de Linux, por ejemplo, obtendrá un error como:

formulae require at least a URL
Error: Cannot tap foo/foo: invalid syntax in tap!

Que es de hecho lo que está sucediendo, no hay ninguna URL para Linux Arm.

¿Hay alguna forma de mejorar este error? ¿Tal vez decir de alguna manera qué arquitecturas y sistemas operativos son compatibles o algo así?

1voto

negacao Puntos 123

No estoy muy familiarizado con Homebrew, pero depende_de parece que permite especificar una arquitectura. Creo que añadir

depends_on arch: :x86_64

a su fórmula resolverá bien el problema.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X