Skip to content
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

Package for Windows #660

Open
cweagans opened this issue Nov 6, 2015 · 13 comments
Open

Package for Windows #660

cweagans opened this issue Nov 6, 2015 · 13 comments

Comments

@cweagans
Copy link
Member

cweagans commented Nov 6, 2015

For Universal Ctags to be truly universal, we should distribute Windows builds too. We can use Appveyor to do the automated nightly/tag builds. I think it supports tags as a build trigger. If so, then we can have it build ctags, package it up in an installer, and upload the installer to the Github Release.

Alternatively, if there's something like Homebrew for Windows, it might be better to do that. Cygwin, maybe? There's some docs on that here: https://cygwin.com/faq.html#faq.programming.packages

I cannot do this one, as I don't have a Windows box to work on.

@cweagans cweagans added this to the Initial release milestone Nov 6, 2015
@ffes
Copy link
Member

ffes commented Nov 12, 2015

I don't think an installer is needed. The ctags is a tool for developers so a simple .zip with the exe, some basic readme-like documentation where to find all the proper docs and a license file could be enough.

Maybe appveyor can provide such a file, never tried that. ctags (cross)build just fine from Linux, so travis could work as well.
And obviously I can provide such a zip as well, especially for releases. If we want nightly builds, we do need one of those services to help us with that.

Cygwin is a different story. Cygwin has it's own packaging system. I could ask the current maintainer off the ctags package to switch to universal, or suggest to take over the package myself (I am the maintainer of the Cygwin "shutdown" package). For a new package to get accepted it helps a lot if any of the major Linux distributions provide universal-ctags packages.

@cweagans
Copy link
Member Author

Ah, great, I didn't know we had cross-compilation set up. We should create Windows builds on Travis when there's a new tag - automation is 👍

I'd really love to get Universal Ctags into cygwin, so if you're willing to take that on, that would be awesome. We've already got some momentum behind having packages for Linux distros - they're just waiting on us to make a tag. So far, the ones that I know of are Debian, Gentoo, and Arch. I still need to track down people that will package an RPM and get it into the RHEL/Fedora/OpenSuse repos, but I'll make sure to firm that up before our 1.0.0 release. My goal is to have Universal Ctags packaged and immediately installable by pretty much anyone that wants it on release day, so we need to make sure to have Linux, Mac, and Windows packaging squared away before that date.

I'll continue working on that going forward.

@masatake
Copy link
Member

@ffes and @k-takata, I'm thinking about introducing a code generator(ctagst) written in bash to our build process.
See #614. ctagst converts something.ctags to something.c.

Is it acceptable?
If this introduces a big trouble, I will commit both something.ctags and generated something.c to our git repository when I make a change on something.ctags.

@masatake
Copy link
Member

@cweagans, About Fedora I will work on or I will contact the package Fedora/RHEL maintainer of exuberant ctags. A source tar ball is needed anyway.

@cweagans
Copy link
Member Author

@masatake I can handle that so that your time is freed up to work on issues that require knowledge of C :)

@masatake
Copy link
Member

O.K. Thank you.

@k-takata
Copy link
Member

@ffes and @k-takata, I'm thinking about introducing a code generator(ctagst) written in bash to our build process.

I think using bash on Windows is not so easy especially when using MSVC. (Python or Perl is rather easy.)

@masatake
Copy link
Member

@k-takata, thank you.

@fommil
Copy link

fommil commented Jan 13, 2016

Will there be a 64 bit single binary download eventually? That would be really useful for me.

@k-takata
Copy link
Member

Now our automated Windows builds on AppVeyor provide single binaries with support of iconv, JSON, XML and YAML.
MSYS2 also provides mingw-w64-{i686,x86_64}-universal-ctags-git packages. (It doesn't provide msys/universal-ctags-git package though.)
Cygwin doesn't seem to provide universal ctags yet.

@epage
Copy link

epage commented Nov 27, 2017

Another avenue for distributing packages is chocolatey

@tregusti
Copy link

tregusti commented Aug 6, 2018

Any progress on the cygwin path?

  • pkg-config
  • libiconv
  • libiconv-devel

needed to be installed for me under cygwin before I could install it with autotools. Maybe some info about probable deps that needs to be installed could be added?

@ErichDonGubler
Copy link

@fommil: Looks like daily builds get released here: https://github.com/universal-ctags/ctags-win32/releases

@masatake masatake modified the milestones: 1.0.0: focusing on binary distributions, Mn for 6.0 Nov 10, 2019
@masatake masatake modified the milestones: Mn for 6.0, M1 for 6.0 Dec 2, 2022
@masatake masatake modified the milestones: 6.1, 6.2 Dec 15, 2022
@masatake masatake modified the milestones: 6.2, 6.3 Feb 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants