create: add --python option

This commit is contained in:
Dawid Dziurla 2019-09-24 19:34:34 +02:00
parent 28fc268060
commit 7b1288f658
No known key found for this signature in database
GPG Key ID: 7B6D8368172E9B0B
4 changed files with 20 additions and 2 deletions

View File

@ -27,6 +27,8 @@ module Homebrew
description: "Create a basic template for a Go build." description: "Create a basic template for a Go build."
switch "--meson", switch "--meson",
description: "Create a basic template for a Meson-style build." description: "Create a basic template for a Meson-style build."
switch "--python",
description: "Create a basic template for a Python build."
switch "--no-fetch", switch "--no-fetch",
description: "Homebrew will not download <URL> to the cache and will thus not add its SHA-256 "\ description: "Homebrew will not download <URL> to the cache and will thus not add its SHA-256 "\
"to the formula for you, nor will it check the GitHub API for GitHub projects "\ "to the formula for you, nor will it check the GitHub API for GitHub projects "\
@ -42,7 +44,7 @@ module Homebrew
switch :force switch :force
switch :verbose switch :verbose
switch :debug switch :debug
conflicts "--autotools", "--cmake", "--go", "--meson" conflicts "--autotools", "--cmake", "--go", "--meson", "--python"
end end
end end
@ -77,6 +79,8 @@ module Homebrew
:meson :meson
elsif args.go? elsif args.go?
:go :go
elsif args.python?
:python
end end
if fc.name.nil? || fc.name.strip.empty? if fc.name.nil? || fc.name.strip.empty?

View File

@ -85,6 +85,10 @@ module Homebrew
# https://rubydoc.brew.sh/Formula # https://rubydoc.brew.sh/Formula
# PLEASE REMOVE ALL GENERATED COMMENTS BEFORE SUBMITTING YOUR PULL REQUEST! # PLEASE REMOVE ALL GENERATED COMMENTS BEFORE SUBMITTING YOUR PULL REQUEST!
class #{Formulary.class_s(name)} < Formula class #{Formulary.class_s(name)} < Formula
<% if mode == :python %>
include Language::Python::Virtualenv
<% end %>
desc "#{desc}" desc "#{desc}"
homepage "#{homepage}" homepage "#{homepage}"
<% if head? %> <% if head? %>
@ -104,6 +108,8 @@ module Homebrew
<% elsif mode == :meson %> <% elsif mode == :meson %>
depends_on "meson" => :build depends_on "meson" => :build
depends_on "ninja" => :build depends_on "ninja" => :build
<% elsif mode == :python %>
depends_on "python"
<% elsif mode.nil? %> <% elsif mode.nil? %>
# depends_on "cmake" => :build # depends_on "cmake" => :build
<% end %> <% end %>
@ -126,6 +132,8 @@ module Homebrew
system "ninja", "-v" system "ninja", "-v"
system "ninja", "install", "-v" system "ninja", "install", "-v"
end end
<% elsif mode == :python %>
virtualenv_install_with_resources
<% else %> <% else %>
# Remove unrecognized options if warned by configure # Remove unrecognized options if warned by configure
system "./configure", "--disable-debug", system "./configure", "--disable-debug",
@ -134,7 +142,7 @@ module Homebrew
"--prefix=\#{prefix}" "--prefix=\#{prefix}"
# system "cmake", ".", *std_cmake_args # system "cmake", ".", *std_cmake_args
<% end %> <% end %>
<% if mode != :meson and mode != :go %> <% if mode != :meson and mode != :go and mode != :python %>
system "make", "install" # if this fails, try separate make/make install steps system "make", "install" # if this fails, try separate make/make install steps
<% end %> <% end %>
end end

View File

@ -805,6 +805,8 @@ a simple example. For the complete API, see:
Create a basic template for a Go build. Create a basic template for a Go build.
* `--meson`: * `--meson`:
Create a basic template for a Meson-style build. Create a basic template for a Meson-style build.
* `--python`:
Create a basic template for a Python build.
* `--no-fetch`: * `--no-fetch`:
Homebrew will not download *`URL`* to the cache and will thus not add its SHA-256 to the formula for you, nor will it check the GitHub API for GitHub projects (to fill out its description and homepage). Homebrew will not download *`URL`* to the cache and will thus not add its SHA-256 to the formula for you, nor will it check the GitHub API for GitHub projects (to fill out its description and homepage).
* `--HEAD`: * `--HEAD`:

View File

@ -1028,6 +1028,10 @@ Create a basic template for a Go build\.
Create a basic template for a Meson\-style build\. Create a basic template for a Meson\-style build\.
. .
.TP .TP
\fB\-\-python\fR
Create a basic template for a Python build\.
.
.TP
\fB\-\-no\-fetch\fR \fB\-\-no\-fetch\fR
Homebrew will not download \fIURL\fR to the cache and will thus not add its SHA\-256 to the formula for you, nor will it check the GitHub API for GitHub projects (to fill out its description and homepage)\. Homebrew will not download \fIURL\fR to the cache and will thus not add its SHA\-256 to the formula for you, nor will it check the GitHub API for GitHub projects (to fill out its description and homepage)\.
. .