From 5e4965d9ea2ea7aa418959c4189ddff3b6200270 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Tue, 30 Oct 2018 06:25:20 +0100 Subject: Add a skeleton Homebrew formula The start of a Homebrew formula for the program. Needs a bunch of fields filled out. For now, we're mostly getting it to work as an input template for an accompanying generator script. The script will fill in some values automatically, including the plist file, so that the launchd plist can be activated using Homebrew's services. --- pkg/dome-key.in.rb | 21 +++++++++++++++++++++ pkg/generate_homebrew_formula.py | 26 ++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 pkg/dome-key.in.rb create mode 100755 pkg/generate_homebrew_formula.py diff --git a/pkg/dome-key.in.rb b/pkg/dome-key.in.rb new file mode 100644 index 0000000..b2bfa7c --- /dev/null +++ b/pkg/dome-key.in.rb @@ -0,0 +1,21 @@ +class DomeKey < Formula + desc "" + homepage "" + version "${VERSION}" + url "" + sha256 "${SHA256}" + + def install + bin.install "dome-key" + man1.install "dome-key.1" + end + + def plist_name + "com.teddywing.dome-key" + end + + def plist; <<~EOS +${PLIST} + EOS + end +end diff --git a/pkg/generate_homebrew_formula.py b/pkg/generate_homebrew_formula.py new file mode 100755 index 0000000..587ad52 --- /dev/null +++ b/pkg/generate_homebrew_formula.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python3 + +from string import Template +import os + + +script_dir = os.path.dirname(__file__) + +homebrew_template = '' +plist = '' + +with open(os.path.join(script_dir, 'dome-key.in.rb'), 'r') as template: + homebrew_template = template.read() + +with open(os.path.join(script_dir, 'com.teddywing.dome-key.plist'), 'r') as f: + for line in f: + plist += ' {}'.format(line) + +template = Template(homebrew_template) +formula = template.substitute( + VERSION='test', + SHA256='unknown', + PLIST=plist.rstrip(), +) + +print(formula, end='') -- cgit v1.2.3