Fórmula Homebrew para VM de emacs (Ver correo)

1

¿Alguien puede ayudar con una fórmula casera para instalar la máquina virtual de emacs ("Ver correo"), ubicada:

http://www.nongnu.org/viewmail/
https://code.launchpad.net/vm

Puedo llegar tan lejos como un script, que debería tener este aspecto:

bzr get lp:vm
cd vm
./configure --with-emacs=~/.homebrew/bin/emacs --prefix=~/.homebrew 
make
make install

Esto depende claramente de emacs & bzr También debe actualizarse siempre que emacs sea y cada vez que "bzr get" devuelva una nueva versión. He visto algunas fórmulas de ejemplo que incluyen una url para wget y una suma del archivo descargado, pero como esta secuencia de comandos no incluye estas, tengo problemas para saber por dónde empezar.

Esto es lo que he visto en las fórmulas de ejemplo, pero como digo, no sé qué hacer con los métodos "url" y "sha1":

require "formula"

class ViewMail < Formula
  homepage "http://www.nongnu.org/viewmail/"
  url "what do I do with this when download uses bzr get ...?"
  sha1 "ditto"

 depends_on :emacs
 depends_on :bzr

  def install
    system "bzr", "get", "lp:vm"
    system "cd", "vm"
    system "./configure", "--with-emacs=#{prefix}/bin/emacs", "--prefix=#{prefix}" 
    system "make"
    system "make", "install"
  end

end
    
pregunta Diagon 12.05.2015 - 15:34

1 respuesta

1

Esto funciona:

class Vm < Formula
  desc "VM is a mail reader that runs under XEmacs and GNU Emacs."
  homepage "https://launchpad.net/vm"
  url "https://launchpad.net/vm/8.2.x/8.1.93a/+download/vm-8.1.93a.tgz"
  version "8.1.93a"
  sha256 "9eab4cca6d8e4f3c5b2ab0293caecda3207b8f7e5d1e620d067898c35204235e"

  depends_on :emacs => ["23", :build]

  def install
    system "./configure", "--with-emacs=#{HOMEBREW_PREFIX}/bin/emacs",
            "--prefix=#{prefix}"
    system "make"
    system "make install"
 end

def caveats; <<-EOS.undent
  To use add to .emacs:
  (add-to-list 'load-path "/usr/local/Cellar/vm/8.1.93a/share/emacs/site-lisp/vm")
  (require 'vm-autoloads)
  EOS
end

Aunque no estoy seguro de cómo listar dinámicamente el prefijo necesario para la ruta de carga en las advertencias.

    
respondido por el empedocle 11.07.2015 - 02:12

Lea otras preguntas en las etiquetas