110 lines
4.9 KiB
Ruby
110 lines
4.9 KiB
Ruby
class Dotdrop < Formula
|
|
include Language::Python::Virtualenv
|
|
|
|
desc "Save your dotfiles once, deploy them everywhere"
|
|
homepage "https://deadc0de.re/dotdrop"
|
|
url "https://files.pythonhosted.org/packages/0f/39/57c55c4df74792e059160e2df5b74031faa5d7b8e5aecaca6eb3355915b9/dotdrop-1.12.1.tar.gz"
|
|
sha256 "6efaf53aac34dd0abe3cdfadb3986e06759bed2513e57cbec3f014088db4d500"
|
|
license "GPL-3.0-or-later"
|
|
|
|
bottle do
|
|
sha256 cellar: :any_skip_relocation, arm64_ventura: "6d2731b6c304d31fbca504256ede29c146f2e0a86414e0733a71bf592bcba9db"
|
|
sha256 cellar: :any_skip_relocation, arm64_monterey: "5a13385c160107ed528101f87703a03a0e7c4efdc8eafe9805bf5d3c1a326b74"
|
|
sha256 cellar: :any_skip_relocation, arm64_big_sur: "899689f443f480c45370d1cd449df0105564d71dd3f76baf29d5181898f76aa1"
|
|
sha256 cellar: :any_skip_relocation, ventura: "2ecd266f9429ef673c54dffd4257bbc0e7c3c26756f69df9d2712c876b248c59"
|
|
sha256 cellar: :any_skip_relocation, monterey: "300a3646b3f89b181b2b6f470bc8331c999e0bdf0fbacc034d4943692202c10b"
|
|
sha256 cellar: :any_skip_relocation, big_sur: "7a127ea09cea2e56da9164a697b6294d274e5a040d26b8f16c18822c9d7053e6"
|
|
sha256 cellar: :any_skip_relocation, x86_64_linux: "0f997ba8957d82e4e3b8b38130f374ff4bfd42e44e6a3733a39155f2b18bf71c"
|
|
end
|
|
|
|
depends_on "libmagic"
|
|
depends_on "python@3.11"
|
|
|
|
resource "certifi" do
|
|
url "https://files.pythonhosted.org/packages/37/f7/2b1b0ec44fdc30a3d31dfebe52226be9ddc40cd6c0f34ffc8923ba423b69/certifi-2022.12.7.tar.gz"
|
|
sha256 "35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"
|
|
end
|
|
|
|
resource "charset-normalizer" do
|
|
url "https://files.pythonhosted.org/packages/a1/34/44964211e5410b051e4b8d2869c470ae8a68ae274953b1c7de6d98bbcf94/charset-normalizer-2.1.1.tar.gz"
|
|
sha256 "5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"
|
|
end
|
|
|
|
resource "distro" do
|
|
url "https://files.pythonhosted.org/packages/4b/89/eaa3a3587ebf8bed93e45aa79be8c2af77d50790d15b53f6dfc85b57f398/distro-1.8.0.tar.gz"
|
|
sha256 "02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8"
|
|
end
|
|
|
|
resource "docopt" do
|
|
url "https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz"
|
|
sha256 "49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491"
|
|
end
|
|
|
|
resource "idna" do
|
|
url "https://files.pythonhosted.org/packages/8b/e1/43beb3d38dba6cb420cefa297822eac205a277ab43e5ba5d5c46faf96438/idna-3.4.tar.gz"
|
|
sha256 "814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"
|
|
end
|
|
|
|
resource "Jinja2" do
|
|
url "https://files.pythonhosted.org/packages/7a/ff/75c28576a1d900e87eb6335b063fab47a8ef3c8b4d88524c4bf78f670cce/Jinja2-3.1.2.tar.gz"
|
|
sha256 "31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"
|
|
end
|
|
|
|
resource "MarkupSafe" do
|
|
url "https://files.pythonhosted.org/packages/1d/97/2288fe498044284f39ab8950703e88abbac2abbdf65524d576157af70556/MarkupSafe-2.1.1.tar.gz"
|
|
sha256 "7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"
|
|
end
|
|
|
|
resource "packaging" do
|
|
url "https://files.pythonhosted.org/packages/6b/f7/c240d7654ddd2d2f3f328d8468d4f1f876865f6b9038b146bec0a6737c65/packaging-22.0.tar.gz"
|
|
sha256 "2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3"
|
|
end
|
|
|
|
resource "python-magic" do
|
|
url "https://files.pythonhosted.org/packages/da/db/0b3e28ac047452d079d375ec6798bf76a036a08182dbb39ed38116a49130/python-magic-0.4.27.tar.gz"
|
|
sha256 "c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b"
|
|
end
|
|
|
|
resource "requests" do
|
|
url "https://files.pythonhosted.org/packages/a5/61/a867851fd5ab77277495a8709ddda0861b28163c4613b011bc00228cc724/requests-2.28.1.tar.gz"
|
|
sha256 "7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"
|
|
end
|
|
|
|
resource "ruamel.yaml" do
|
|
url "https://files.pythonhosted.org/packages/46/a9/6ed24832095b692a8cecc323230ce2ec3480015fbfa4b79941bd41b23a3c/ruamel.yaml-0.17.21.tar.gz"
|
|
sha256 "8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"
|
|
end
|
|
|
|
resource "toml" do
|
|
url "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz"
|
|
sha256 "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"
|
|
end
|
|
|
|
resource "urllib3" do
|
|
url "https://files.pythonhosted.org/packages/c2/51/32da03cf19d17d46cce5c731967bf58de9bd71db3a379932f53b094deda4/urllib3-1.26.13.tar.gz"
|
|
sha256 "c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8"
|
|
end
|
|
|
|
def install
|
|
virtualenv_install_with_resources
|
|
end
|
|
|
|
test do
|
|
(testpath/"xxx.conf").write("12345678")
|
|
(testpath/"config.yaml").write <<~EOS
|
|
config:
|
|
dotpath: .
|
|
dotfiles:
|
|
f_xxx:
|
|
dst: yyy.conf
|
|
src: xxx.conf
|
|
profiles:
|
|
home:
|
|
dotfiles:
|
|
- f_xxx
|
|
EOS
|
|
system bin/"dotdrop", "install", "--profile=home"
|
|
assert_match "12345678", File.read("yyy.conf")
|
|
end
|
|
end
|