Comments (16)
For Windows, you still need an installer. There's a distutils plugin on PyPI for Inno Setup.
from bfg9000.
https://pypi.python.org/pypi/innosetup
It even works with py2exe.
There's also InnoPython, which I wrote, although I don't know if it works under Python 3.
from bfg9000.
Thanks, I added that to the summary. I'll have to decide if I want to support Python 3 eventually. Currently, it's Python 2.7 only, but there's a bfg9000_required_version
that also lets you specify the required Python version, so I could see people eventually requiring Python 3 for their build.bfg files.
from bfg9000.
Moving this to 0.2, since it's not really essential for a first version, and otherwise I'll never actually finish 0.1.
from bfg9000.
@jimporter, if I could add a voice here, I'm a supporter of py3 over py2, for various reasons. I haven't seen many reasons why we couldn't support both, especially with the help of six.
from bfg9000.
My only concern with supporting Py3 is that users who have bfg-with-py3 installed and try to build someone else's project made with bfg-with-py2 might run into issues. However, I'm probably going to support Py3 anyway. I think the only part I need to fix is eliminating basestring
everywhere.
from bfg9000.
That's a fair point, though I would also say that if anyone is doing something in their bfg files that's incompatible between py2 and py3 (at least w/o six), it's probably already brittle.. We could just make a large public recommendation that .bfg-authors be mindful of compatibility.
from bfg9000.
On OS X you should probably package for homebrew; I don't see how a build file generator would work as a .app unless you added a GUI for it.
Homebrew have some pretty straightforward guidelines for packaging Python applications (including those that have dependencies) here: https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Python-for-Formula-Authors.md
And here's a relatively small example formula that follows those guidelines, if you're curious: https://github.com/Oblong/homebrew-tools/blob/master/obi.rb
from bfg9000.
You might also be able to build an installer package (.pkg), but I know nothing about that.
from bfg9000.
That sounds like a good idea, thanks! I don't know much about OS X, aside from that I use Homebrew for installing crap for the CI builds for bfg. It seems like the de facto solution for this stuff. If there are other super-popular alternatives to Homebrew, I'll look into them too if someone points them out.
from bfg9000.
I'm happy to volunteer time to work on packaging bfg9000 for Homebrew. I'll be in touch.
from bfg9000.
Something you may not be aware of: https://github.com/jordansissel/fpm
(pretty funny that fpm doesn't dogfood and you have to gem install fpm
to use itβ¦)
from bfg9000.
Hm, interesting. Python already handles .rpm
s and .deb
s pretty well, so I might not need that, but perhaps it would help for OS X...
from bfg9000.
Ok, I now have working .debs and a PPA for Ubuntu: https://launchpad.net/~jimporter/+archive/ubuntu/testing
When I produce an actual release, I'll put all the necessary packages into a "stable" PPA.
from bfg9000.
Oh also, if anyone has an opinion on how they'd like to see me distribute a Python 3-backed version of bfg, let me know. Right now, the bfg9000
package on my PPA is Python 2-backed, but I could add a bfg9000-python3
package. Or I could have bfg9000-python2
and bfg9000-python3
and then make a virtual bfg9000
package?
from bfg9000.
Moving this out to 0.4 since I want to handle #48 before I get too far on this...
from bfg9000.
Related Issues (20)
- Generated include directories should be deps when used by compile steps
- Use the right compiler to look up packages HOT 1
- Figure out "installation" on cross builds
- `.d` dependency file not included in Makefile HOT 4
- Pass the configure-time environment vars to build steps? HOT 1
- copy_file doesn't work with directories (make backend) HOT 1
- Add option presets
- Simplify `find_files` API HOT 1
- Add default libs to MSVC builder?
- How to filter entire subdirectory in `find_files()`? HOT 3
- Error reporting hides exception type HOT 2
- "stamp" files not removed by `make clean` HOT 1
- build_step: buldstep.output not always consumed by tools: how to create explicitly the dependency HOT 4
- Is there some way to import the builtin functions to appease an IDE? HOT 1
- Provide compatibility shim for `find_files()`? HOT 1
- Fix error logging on Windows
- Linter errors HOT 7
- Add Language Server Protocol support
- Enabling C++20 modules in GCC breaks precompiled_header HOT 5
- Warn about LD_LIBRARY_PATH being set when configuring
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bfg9000.