summaryrefslogtreecommitdiff
path: root/mix.exs
diff options
context:
space:
mode:
authorBen Busby <contact@benbusby.com>2023-03-22 11:56:22 -0600
committerBen Busby <contact@benbusby.com>2023-03-22 11:56:22 -0600
commit9eb11ed2645d30e81d89c8cfd53a4935b3167c10 (patch)
tree2b2bf58e5022a60b006cd87797b441d57cf68541 /mix.exs
parentb75355ed758201a7e2280cb7b3350407ee269d57 (diff)
downloadfarside-9eb11ed2645d30e81d89c8cfd53a4935b3167c10.tar.gz
Allow compiling to standalone binary via bakeware
This introduces a simple way of compiling Farside to a somewhat portable, standalone binary. The resulting binary isn't completely portable since it depends on the C runtime of the host system. As a result, it's advised to use systems with older library versions when compiling for true portability. Closes #50 Co-authored-by: Jason Clark <mithereal@gmail.com>
Diffstat (limited to 'mix.exs')
-rw-r--r--mix.exs50
1 files changed, 45 insertions, 5 deletions
diff --git a/mix.exs b/mix.exs
index 13ddd3b..3bd45ef 100644
--- a/mix.exs
+++ b/mix.exs
@@ -1,16 +1,31 @@
defmodule Farside.MixProject do
use Mix.Project
+ @source_url "https://github.com/benbusby/farside.git"
+ @version "0.1.1"
+ @app :farside
+
def project do
[
- app: :farside,
- version: "0.1.0",
+ app: @app,
+ version: @version,
+ name: "farside",
elixir: "~> 1.8",
- start_permanent: Mix.env() == :prod,
- deps: deps()
+ source_url: @source_url,
+ start_permanent: Mix.env() == :prod || Mix.env() == :cli,
+ deps: deps(),
+ aliases: aliases(),
+ description: description(),
+ package: package(),
+ releases: [{@app, release()}],
+ preferred_cli_env: [release: :cli]
]
end
+ defp aliases do
+ []
+ end
+
# Run "mix help compile.app" to learn about applications.
def application do
[
@@ -27,7 +42,32 @@ defmodule Farside.MixProject do
{:plug_attack, "~> 0.4.2"},
{:plug_cowboy, "~> 2.0"},
{:quantum, "~> 3.0"},
- {:cubdb, "~> 2.0.1"}
+ {:cubdb, "~> 2.0.1"},
+ {:bakeware, "~> 0.2.4"}
+ ]
+ end
+
+ defp description() do
+ "A redirecting service for FOSS alternative frontends."
+ end
+
+ defp package() do
+ [
+ name: "farside",
+ files: ["lib", "mix.exs", "README*"],
+ maintainers: ["Ben Busby"],
+ licenses: ["MIT"],
+ links: %{"GitHub" => "https://github.com/benbusby/farside"}
+ ]
+ end
+
+ defp release() do
+ [
+ overwrite: true,
+ cookie: "#{@app}_cookie",
+ quiet: true,
+ steps: [:assemble, &Bakeware.assemble/1],
+ strip_beams: Mix.env() == :cli
]
end
end