-
-
Notifications
You must be signed in to change notification settings - Fork 12.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
global: --with-universal-ctags #8309
global: --with-universal-ctags #8309
Conversation
Tests are currently failing because the formula can't find the I'm looking into either auto-tapping or providing an informative error in such cases -- not sure which is the preferred behavior. |
1d6d6ef
to
145d789
Compare
I updated the - depends_on "universal-ctags" => :optional
+ depends_on "universal-ctags/universal-ctags/universal-ctags" => :optional This will automatically tap the |
option "with-pygments", "Enable Pygments as a plug-in parser (should enable exuberent-ctags too)" | ||
option "with-sqlite3", "Use SQLite3 API instead of BSD/DB API for making tag files" | ||
|
||
deprecated_option "with-exuberant-ctags" => "with-ctags" | ||
|
||
depends_on "ctags" => :optional | ||
depends_on "universal-ctags/universal-ctags/universal-ctags" => :optional |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't want homebrew/core formulae depending on non-Homebrew organisation taps as options. Could this be submitted to homebrew/core?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@MikeMcQuaid The universal-ctags tap mentions,
When Universal Ctags has a tagged release, this formula should be moved to the official Homebrew repository. This repo should then be deleted.
Indeed, universal ctags still has no tagged release. I'll check with the maintainers on the status of that. Is a tagged release a prerequisite for submitting to homebrew/core?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is, yep.
@@ -4,6 +4,7 @@ class Global < Formula | |||
url "https://ftpmirror.gnu.org/global/global-6.5.6.tar.gz" | |||
mirror "https://ftp.gnu.org/gnu/global/global-6.5.6.tar.gz" | |||
sha256 "122f9afa69a8daa0f64c12db7f02981fe573f51a163fa3829ed4f832cd281505" | |||
revision 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't need this unless you modify the non-option installation.
@@ -117,6 +124,18 @@ def pyfunc (): | |||
assert_no_match(/test\.py/, shell_output("#{bin}/global -r py2func # correctly fails")) | |||
assert_no_match(/test\.py/, shell_output("#{bin}/global -s pyvar # correctly fails")) | |||
end | |||
if build.with? "universal-ctags" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably not worth adding this; these tests are only for CI and thus will never be run with options so this code will never be run.
@@ -4,6 +4,7 @@ class Global < Formula | |||
url "https://ftpmirror.gnu.org/global/global-6.5.6.tar.gz" | |||
mirror "https://ftp.gnu.org/gnu/global/global-6.5.6.tar.gz" | |||
sha256 "122f9afa69a8daa0f64c12db7f02981fe573f51a163fa3829ed4f832cd281505" | |||
revision 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wasn't sure whether exposing a new option warranted/required adding a revision
. I'm starting to suspect not, but I'll leave this for now to get some outside feedback.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It definitely doesn't so you can remove it, thanks. A revision
will force a reinstall and, in some cases, rebuild for everyone using this.
145d789
to
b72dd6b
Compare
GNU Global supports using Universal Ctags and Exuberant Ctags as plug-in parsers, but the current formula only exposes the Exuberant Ctags option. This is problematic, as Universal Ctags is the actively maintained/developed implementation. The Global documentation describes how to configure Universal Ctags and makes no mention of Exuberant Ctags. Expose --with-universal-ctags option to remedy this. To install: $ brew install global --with-universal-ctags To use: $ export GTAGSCONF=/usr/local/share/gtags/gtags.conf $ export GTAGSLABEL=new-ctags $ gtags # gtags invokes Universal Ctags internally References: https://www.gnu.org/software/global/manual/global.html#Plug_002din https://github.com/universal-ctags/homebrew-universal-ctags
b72dd6b
to
4ddeadd
Compare
Do you have any idea when a stable release is expected? |
@dunn I found multiple universal ctags issues discussing their plans for a release, but it all seems up in the air at the moment. For reference: Apologies for the barrage of links, maybe too much information, but that's what I found. |
Thanks! If there's no definite ETA, you can still leave this PR open, but we're gonna want that stable release before merging. |
Sounds good. Thanks @dunn |
Closing until we've got a stable release. |
GNU Global supports using Universal Ctags and Exuberant Ctags as plug-in parsers, but the current formula only exposes the Exuberant Ctags option.
This is problematic, as Universal Ctags is the actively maintained/developed implementation. The Global documentation describes how to configure Universal Ctags and makes no mention of Exuberant Ctags.
Expose
--with-universal-ctags
option to remedy this.To install:
To use:
References:
https://www.gnu.org/software/global/manual/global.html#Plug_002din
https://github.com/universal-ctags/homebrew-universal-ctags