Comments (19)
I've been looking into it and Travis does support Windows now so I'll put some work into at the very least getting it to build and generate wheels.
from python-gssapi.
I just have to say---and I know that this isn't necessarily appropriate for an issue thread---that I really appreciate the work each of you is doing to help achieve this. I wish there were more I could do to help move things along.
from python-gssapi.
What needs to be done to get there?
from python-gssapi.
- Compilation needs to be tested in Windows with MIT Kerberos for Windows on MinGW.
- The conditional compilation logic needs to be adjusted to work for Windows
- We need a way to build wheel files for Windows (optional, but useful for anyone who actually wants to use this on Windows).
from python-gssapi.
Other "nice to have" - some way to run our test suite, since I don't think k5test will work there.
from python-gssapi.
So using the MIT KfW. I see the source is available as well as precompiled sources could we just wrap these to make it work?
from python-gssapi.
yeah, it really comes down to finding time and a Windows box to test on (plus setting up CI to make sure we don't break anything), plus tweaking setup.py
to work properly on Windows.
from python-gssapi.
I'm working on trying to hack this in myself let you know how i do.
from python-gssapi.
cool. Feel free to ping us on #python-gssapi on freenode if you have any questions best answered in a real-time manner (I'm usually on from 10:00-17:00EST)
from python-gssapi.
2a2b47b adds support for conditional compilation. Still missing are building wheels and running buildjob CI. Much like with Heimdal, a stretch goal is to port k5test so we can run the test suite there.
from python-gssapi.
I've been working on Windows support the past couple of days to get my company to move off of requests-kerberos (I had previously patched ccs-kerberos to work on Windows) and got everything to compile properly under VS Build Tools, MinGW, and MSYS. Unfortunately I won't be able to test until I'm back at work on Monday since k5test isn't ported yet. My current progress can be found here.
Changes:
- I created a predefined macro (
__MSYS__
) to allow the header files to detect MinGW under MSYS so that when it isn't under it, they can target MIT Kerberos for Windows instead (which also seems to have better extension support). - To get it compile under VS:
- I had to cast all slicing of
gss_buffer_desc.values
tochar*
because many platforms seem to declare it as avoid*
instead and cl.exe doesn't likevoid*
pointer arithmetic. This can be found a separate commit. libraries
is now passed separately to Extension likelibrary_dirs
so that Extension itself can determine how to pass them to the linker.
- I had to cast all slicing of
link_args
andcompile_args
are now always lists. This is to support arguments which may have spaces in them, like include paths on Windows.
from python-gssapi.
Everything seems to be working as expected. I was able to connect to our internal Apache Livy and Phoenix servers on Windows and use them as normal through requests-gssapi.
from python-gssapi.
That's awesome, well done! Do you have any idea how this could be tested in CI? (Presumably just checking that the build works, as we do with Heimdal, since the krb5 server parts don't run on Windows, but don't let me stop you if you're feeling ambitious.)
from python-gssapi.
I've opened a pull request to start playing with the Travis build. Hopefully this goes more smoothly than I'm expecting.
from python-gssapi.
@frozencemetery I have it building on 2.7, 3.6, and 3.7 on Windows and I think I configured the deployment right, though I'm not sure. This is my first time using Travis (only experience with Jenkins, though I'm liking Travis a lot) so I might have missed something. Is there any way to do a mock deployment to test it?
from python-gssapi.
Either you figured it out, or I'm not understanding the question :) Please post a comment in that PR when it's ready for review.
from python-gssapi.
My question was purely about deploying the wheels. Not sure if I set it up right since you can't test deployment from a PR. I guess we can test once it's merged.
from python-gssapi.
@aiudirog So I ran into some problems trying to cut a release for this. I made some fixes - a6e3f08 and 5c80107 - but then I ran into failure trying to use pypi - first second and third subjobs.
It seems to me - and please let me know if this isn't right - that we can't build wheels from Travis right now. That being the case, how would you feel about using Appveyor for this instead? (I think that works...)
from python-gssapi.
This seems to be the issue to keep an eye on.
For now, we can probably just manually upload using a script deployment and twine. I'm going to give that a try before redoing the whole thing in Appveyor.
from python-gssapi.
Related Issues (20)
- Error when installing gssapi on Google colab env HOT 3
- 1.7.3 sphinx warnings `reference target not found` HOT 2
- OSError: Could not find KfW installation HOT 10
- problem with pip install HOT 1
- GSSAPI won't install on Python 3.11 beta HOT 4
- Installing v1.8.0 from sdist fails with old pip versions HOT 3
- gssapi.raw.add_cred_with_password() is missing on Windows HOT 1
- gssapi.raw.acquire_cred_with_password() fails on Windows HOT 1
- Broken links to documentation in the README HOT 1
- I'm having trouble making this snippet to work HOT 2
- lifetime argument not respected when initiating credentials
- Mypy error with creds type HOT 2
- 1.8.2: issues with testing `gssapi` using pytest HOT 1
- Error building wheel HOT 3
- Cython 3 compatibility HOT 2
- gssapi fails to import: ./Include/cpython/tupleobject.h:23: PyTuple_GET_SIZE: Assertion `PyTuple_Check(op)' failed. HOT 6
- Minor (2529639053): Matching credential not found HOT 5
- KRB5_TRACE is set but not creating logs HOT 4
- segfault on s390x HOT 10
- AWS EC2 Kerberos incorrect real_name for krbtgt HOT 2
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 python-gssapi.